48466 lines
2.0 MiB
48466 lines
2.0 MiB
# Copyright 2020 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
require 'date'
|
|
require 'google/apis/core/base_service'
|
|
require 'google/apis/core/json_representation'
|
|
require 'google/apis/core/hashable'
|
|
require 'google/apis/errors'
|
|
|
|
module Google
|
|
module Apis
|
|
module ComputeAlpha
|
|
|
|
# A specification of the type and number of accelerator cards attached to the
|
|
# instance.
|
|
class AcceleratorConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The number of the guest accelerator cards exposed to this instance.
|
|
# Corresponds to the JSON property `acceleratorCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :accelerator_count
|
|
|
|
# Full or partial URL of the accelerator type resource to attach to this
|
|
# instance. For example: projects/my-project/zones/us-central1-c/
|
|
# acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template,
|
|
# specify only the accelerator name. See GPUs on Compute Engine for a full list
|
|
# of accelerator types.
|
|
# Corresponds to the JSON property `acceleratorType`
|
|
# @return [String]
|
|
attr_accessor :accelerator_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count)
|
|
@accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type)
|
|
end
|
|
end
|
|
|
|
# Represents an Accelerator Type resource. Google Cloud Platform provides
|
|
# graphics processing units (accelerators) that you can add to VM instances to
|
|
# improve or accelerate performance when working with intensive workloads. For
|
|
# more information, read GPUs on Compute Engine.
|
|
class AcceleratorType
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Deprecation status for a public resource.
|
|
# Corresponds to the JSON property `deprecated`
|
|
# @return [Google::Apis::ComputeAlpha::DeprecationStatus]
|
|
attr_accessor :deprecated
|
|
|
|
# [Output Only] An optional textual description of the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The type of the resource. Always compute#acceleratorType for
|
|
# accelerator types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Maximum number of accelerator cards allowed per instance.
|
|
# Corresponds to the JSON property `maximumCardsPerInstance`
|
|
# @return [Fixnum]
|
|
attr_accessor :maximum_cards_per_instance
|
|
|
|
# [Output Only] Name of the resource.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Server-defined, fully qualified URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource's resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The name of the zone where the accelerator type resides, such as
|
|
# us-central1-a. You must specify this field as part of the HTTP request URL. It
|
|
# is not settable as a field in the request body.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@maximum_cards_per_instance = args[:maximum_cards_per_instance] if args.key?(:maximum_cards_per_instance)
|
|
@name = args[:name] if args.key?(:name)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AcceleratorTypeAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of AcceleratorTypesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::AcceleratorTypesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#acceleratorTypeAggregatedList
|
|
# for aggregated lists of accelerator types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::AcceleratorTypeAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorTypeAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of accelerator types.
|
|
class AcceleratorTypeList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of AcceleratorType resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorType>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#acceleratorTypeList for lists
|
|
# of accelerator types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::AcceleratorTypeList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorTypeList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class AcceleratorTypesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of accelerator types contained in this scope.
|
|
# Corresponds to the JSON property `acceleratorTypes`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorType>]
|
|
attr_accessor :accelerator_types
|
|
|
|
# [Output Only] An informational warning that appears when the accelerator types
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::AcceleratorTypesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@accelerator_types = args[:accelerator_types] if args.key?(:accelerator_types)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] An informational warning that appears when the accelerator types
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorTypesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# An access configuration attached to an instance's network interface. Only one
|
|
# access config per instance is supported.
|
|
class AccessConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The first IPv6 address of the external IPv6 range associated with this
|
|
# instance, prefix length is stored in externalIpv6PrefixLength in
|
|
# ipv6AccessConfig. The field is output only, an IPv6 address from a subnetwork
|
|
# associated with the instance will be allocated dynamically.
|
|
# Corresponds to the JSON property `externalIpv6`
|
|
# @return [String]
|
|
attr_accessor :external_ipv6
|
|
|
|
# The prefix length of the external IPv6 range.
|
|
# Corresponds to the JSON property `externalIpv6PrefixLength`
|
|
# @return [Fixnum]
|
|
attr_accessor :external_ipv6_prefix_length
|
|
|
|
# [Output Only] Type of the resource. Always compute#accessConfig for access
|
|
# configs.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The name of this access configuration. The default and recommended name is
|
|
# External NAT, but you can use any arbitrary string, such as My external IP or
|
|
# Network Access.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# An external IP address associated with this instance. Specify an unused static
|
|
# external IP address available to the project or leave this field undefined to
|
|
# use an IP from a shared ephemeral IP address pool. If you specify a static
|
|
# external IP address, it must live in the same region as the zone of the
|
|
# instance.
|
|
# Corresponds to the JSON property `natIP`
|
|
# @return [String]
|
|
attr_accessor :nat_ip
|
|
|
|
# This signifies the networking tier used for configuring this access
|
|
# configuration and can only take the following values: PREMIUM, STANDARD. If an
|
|
# AccessConfig is specified without a valid external IP address, an ephemeral IP
|
|
# will be created with this networkTier. If an AccessConfig with a valid
|
|
# external IP address is specified, it must match that of the networkTier
|
|
# associated with the Address resource owning that IP.
|
|
# Corresponds to the JSON property `networkTier`
|
|
# @return [String]
|
|
attr_accessor :network_tier
|
|
|
|
# [Output Only] The public DNS domain name for the instance.
|
|
# Corresponds to the JSON property `publicDnsName`
|
|
# @return [String]
|
|
attr_accessor :public_dns_name
|
|
|
|
# The DNS domain name for the public PTR record. You can set this field only if
|
|
# the `setPublicPtr` field is enabled in accessConfig. If this field is
|
|
# unspecified in ipv6AccessConfig, a default PTR record will be createc for
|
|
# first IP in associated external IPv6 range.
|
|
# Corresponds to the JSON property `publicPtrDomainName`
|
|
# @return [String]
|
|
attr_accessor :public_ptr_domain_name
|
|
|
|
# Specifies whether a public DNS 'A' record should be created for the external
|
|
# IP address of this access configuration.
|
|
# Corresponds to the JSON property `setPublicDns`
|
|
# @return [Boolean]
|
|
attr_accessor :set_public_dns
|
|
alias_method :set_public_dns?, :set_public_dns
|
|
|
|
# Specifies whether a public DNS 'PTR' record should be created to map the
|
|
# external IP address of the instance to a DNS domain name. This field is not
|
|
# used in ipv6AccessConfig. A default PTR record will be created if the VM has
|
|
# external IPv6 range associated.
|
|
# Corresponds to the JSON property `setPublicPtr`
|
|
# @return [Boolean]
|
|
attr_accessor :set_public_ptr
|
|
alias_method :set_public_ptr?, :set_public_ptr
|
|
|
|
# The type of configuration. The default and only option is ONE_TO_ONE_NAT.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@external_ipv6 = args[:external_ipv6] if args.key?(:external_ipv6)
|
|
@external_ipv6_prefix_length = args[:external_ipv6_prefix_length] if args.key?(:external_ipv6_prefix_length)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@nat_ip = args[:nat_ip] if args.key?(:nat_ip)
|
|
@network_tier = args[:network_tier] if args.key?(:network_tier)
|
|
@public_dns_name = args[:public_dns_name] if args.key?(:public_dns_name)
|
|
@public_ptr_domain_name = args[:public_ptr_domain_name] if args.key?(:public_ptr_domain_name)
|
|
@set_public_dns = args[:set_public_dns] if args.key?(:set_public_dns)
|
|
@set_public_ptr = args[:set_public_ptr] if args.key?(:set_public_ptr)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Represents an IP Address resource. Google Compute Engine has two IP Address
|
|
# resources: * [Global (external and internal)](https://cloud.google.com/compute/
|
|
# docs/reference/rest/alpha/globalAddresses) * [Regional (external and internal)]
|
|
# (https://cloud.google.com/compute/docs/reference/rest/alpha/addresses) For
|
|
# more information, see Reserving a static external IP address.
|
|
class Address
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The static IP address represented by this resource.
|
|
# Corresponds to the JSON property `address`
|
|
# @return [String]
|
|
attr_accessor :address
|
|
|
|
# The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified,
|
|
# defaults to EXTERNAL.
|
|
# Corresponds to the JSON property `addressType`
|
|
# @return [String]
|
|
attr_accessor :address_type
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this field when you create
|
|
# the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# The IP version that will be used by this address. Valid options are IPV4 or
|
|
# IPV6. This can only be specified for a global address.
|
|
# Corresponds to the JSON property `ipVersion`
|
|
# @return [String]
|
|
attr_accessor :ip_version
|
|
|
|
# The endpoint type of this address, which should be VM. This is used for
|
|
# deciding which endpoint this address will be assigned to during the IPv6
|
|
# external IP address reservation.
|
|
# Corresponds to the JSON property `ipv6EndpointType`
|
|
# @return [String]
|
|
attr_accessor :ipv6_endpoint_type
|
|
|
|
# [Output Only] Type of the resource. Always compute#address for addresses.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this Address, which is
|
|
# essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve an Address.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels for this resource. These can only be added or modified by the setLabels
|
|
# method. Each label key/value pair must comply with RFC1035. Label values may
|
|
# be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
|
|
# following characters (except for the last character) must be a dash, lowercase
|
|
# letter, or digit. The last character must be a lowercase letter or digit.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The URL of the network in which to reserve the address. This field can only be
|
|
# used with INTERNAL type with the VPC_PEERING purpose.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# This signifies the networking tier used for configuring this address and can
|
|
# only take the following values: PREMIUM or STANDARD. Internal IP addresses are
|
|
# always Premium Tier; global external IP addresses are always Premium Tier;
|
|
# regional external IP addresses can be either Standard or Premium Tier. If this
|
|
# field is not specified, it is assumed to be PREMIUM.
|
|
# Corresponds to the JSON property `networkTier`
|
|
# @return [String]
|
|
attr_accessor :network_tier
|
|
|
|
# The prefix length if the resource represents an IP range.
|
|
# Corresponds to the JSON property `prefixLength`
|
|
# @return [Fixnum]
|
|
attr_accessor :prefix_length
|
|
|
|
# The purpose of this resource, which can be one of the following values: -
|
|
# GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges,
|
|
# load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver
|
|
# address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (
|
|
# regional internal IP address in a subnet of a VPC network) - VPC_PEERING for
|
|
# global internal IP addresses used for private services access allocated ranges.
|
|
# - NAT_AUTO for the regional external IP addresses used by Cloud NAT when
|
|
# allocating addresses using automatic NAT IP address allocation. -
|
|
# IPSEC_INTERCONNECT for addresses created from a private IP range that are
|
|
# reserved for a VLAN attachment in an *IPsec-encrypted Cloud Interconnect*
|
|
# configuration. These addresses are regional resources. Not currently available
|
|
# publicly. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is
|
|
# assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT`
|
|
# for a private network address that is used to configure Private Service
|
|
# Connect. Only global internal addresses can use this purpose.
|
|
# Corresponds to the JSON property `purpose`
|
|
# @return [String]
|
|
attr_accessor :purpose
|
|
|
|
# [Output Only] The URL of the region where a regional address resides. For
|
|
# regional addresses, you must specify the region as a path parameter in the
|
|
# HTTP request URL. *This field is not applicable to global addresses.*
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The status of the address, which can be one of RESERVING,
|
|
# RESERVED, or IN_USE. An address that is RESERVING is currently in the process
|
|
# of being reserved. A RESERVED address is currently reserved and available to
|
|
# use. An IN_USE address is currently being used by another resource and is not
|
|
# available.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# The URL of the subnetwork in which to reserve the address. If an IP address is
|
|
# specified, it must be within the subnetwork's IP range. This field can only be
|
|
# used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose.
|
|
# Corresponds to the JSON property `subnetwork`
|
|
# @return [String]
|
|
attr_accessor :subnetwork
|
|
|
|
# [Output Only] The URLs of the resources that are using this address.
|
|
# Corresponds to the JSON property `users`
|
|
# @return [Array<String>]
|
|
attr_accessor :users
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@address = args[:address] if args.key?(:address)
|
|
@address_type = args[:address_type] if args.key?(:address_type)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@ip_version = args[:ip_version] if args.key?(:ip_version)
|
|
@ipv6_endpoint_type = args[:ipv6_endpoint_type] if args.key?(:ipv6_endpoint_type)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@network_tier = args[:network_tier] if args.key?(:network_tier)
|
|
@prefix_length = args[:prefix_length] if args.key?(:prefix_length)
|
|
@purpose = args[:purpose] if args.key?(:purpose)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@status = args[:status] if args.key?(:status)
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
@users = args[:users] if args.key?(:users)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AddressAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of AddressesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::AddressesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#addressAggregatedList for
|
|
# aggregated lists of addresses.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::AddressAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AddressAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of addresses.
|
|
class AddressList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Address resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Address>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#addressList for lists of
|
|
# addresses.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::AddressList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AddressList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class AddressesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of addresses contained in this scope.
|
|
# Corresponds to the JSON property `addresses`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Address>]
|
|
attr_accessor :addresses
|
|
|
|
# [Output Only] Informational warning which replaces the list of addresses when
|
|
# the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::AddressesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@addresses = args[:addresses] if args.key?(:addresses)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of addresses when
|
|
# the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AddressesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Specifies options for controlling advanced machine features. Options that
|
|
# would traditionally be configured in a BIOS belong here. Features that require
|
|
# operating system support may have corresponding entries in the GuestOsFeatures
|
|
# of an Image (e.g., whether or not the OS in the Image supports nested
|
|
# virtualization being enabled or disabled).
|
|
class AdvancedMachineFeatures
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether to enable nested virtualization or not (default is false).
|
|
# Corresponds to the JSON property `enableNestedVirtualization`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_nested_virtualization
|
|
alias_method :enable_nested_virtualization?, :enable_nested_virtualization
|
|
|
|
# Whether to enable UEFI networking for instance creation.
|
|
# Corresponds to the JSON property `enableUefiNetworking`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_uefi_networking
|
|
alias_method :enable_uefi_networking?, :enable_uefi_networking
|
|
|
|
# The number of vNUMA nodes.
|
|
# Corresponds to the JSON property `numaNodeCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :numa_node_count
|
|
|
|
# The number of threads per physical core. To disable simultaneous
|
|
# multithreading (SMT) set this to 1. If unset, the maximum number of threads
|
|
# supported per core by the underlying processor is assumed.
|
|
# Corresponds to the JSON property `threadsPerCore`
|
|
# @return [Fixnum]
|
|
attr_accessor :threads_per_core
|
|
|
|
# The number of physical cores to expose to an instance. Multiply by the number
|
|
# of threads per core to compute the total number of virtual CPUs to expose to
|
|
# the instance. If unset, the number of cores is inferred from the instance's
|
|
# nominal CPU count and the underlying platform's SMT width.
|
|
# Corresponds to the JSON property `visibleCoreCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :visible_core_count
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
|
|
@enable_uefi_networking = args[:enable_uefi_networking] if args.key?(:enable_uefi_networking)
|
|
@numa_node_count = args[:numa_node_count] if args.key?(:numa_node_count)
|
|
@threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
|
|
@visible_core_count = args[:visible_core_count] if args.key?(:visible_core_count)
|
|
end
|
|
end
|
|
|
|
# An alias IP range attached to an instance's network interface.
|
|
class AliasIpRange
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IP alias ranges to allocate for this interface. This IP CIDR range must
|
|
# belong to the specified subnetwork and cannot contain IP addresses reserved by
|
|
# system or used by other network interfaces. This range may be a single IP
|
|
# address (such as 10.2.3.4), a netmask (such as /24) or a CIDR-formatted string
|
|
# (such as 10.1.2.0/24).
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
# The name of a subnetwork secondary IP range from which to allocate an IP alias
|
|
# range. If not specified, the primary range of the subnetwork is used.
|
|
# Corresponds to the JSON property `subnetworkRangeName`
|
|
# @return [String]
|
|
attr_accessor :subnetwork_range_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
@subnetwork_range_name = args[:subnetwork_range_name] if args.key?(:subnetwork_range_name)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies the size of the disk in base-2 GB.
|
|
# Corresponds to the JSON property `diskSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :disk_size_gb
|
|
|
|
# Specifies the disk interface to use for attaching this disk, which is either
|
|
# SCSI or NVME. The default is SCSI. For performance characteristics of SCSI
|
|
# over NVMe, see Local SSD performance.
|
|
# Corresponds to the JSON property `interface`
|
|
# @return [String]
|
|
attr_accessor :interface
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
@interface = args[:interface] if args.key?(:interface)
|
|
end
|
|
end
|
|
|
|
# Properties of the SKU instances being reserved. Next ID: 9
|
|
class AllocationSpecificSkuAllocationReservedInstanceProperties
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies accelerator type and count.
|
|
# Corresponds to the JSON property `guestAccelerators`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
|
|
attr_accessor :guest_accelerators
|
|
|
|
# Specifies amount of local ssd to reserve with each instance. The type of disk
|
|
# is local-ssd.
|
|
# Corresponds to the JSON property `localSsds`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocationAllocatedInstancePropertiesReservedDisk>]
|
|
attr_accessor :local_ssds
|
|
|
|
# An opaque location hint used to place the allocation close to other resources.
|
|
# This field is for use by internal tools that use the public API.
|
|
# Corresponds to the JSON property `locationHint`
|
|
# @return [String]
|
|
attr_accessor :location_hint
|
|
|
|
# Specifies type of machine (name only) which has fixed number of vCPUs and
|
|
# fixed amount of memory. This also includes specifying custom machine type
|
|
# following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.
|
|
# Corresponds to the JSON property `machineType`
|
|
# @return [String]
|
|
attr_accessor :machine_type
|
|
|
|
# Specifies the number of hours after reservation creation where instances using
|
|
# the reservation won't be scheduled for maintenance.
|
|
# Corresponds to the JSON property `maintenanceFreezeDurationHours`
|
|
# @return [Fixnum]
|
|
attr_accessor :maintenance_freeze_duration_hours
|
|
|
|
# For more information about maintenance intervals, see Setting maintenance
|
|
# intervals.
|
|
# Corresponds to the JSON property `maintenanceInterval`
|
|
# @return [String]
|
|
attr_accessor :maintenance_interval
|
|
|
|
# Minimum cpu platform the reservation.
|
|
# Corresponds to the JSON property `minCpuPlatform`
|
|
# @return [String]
|
|
attr_accessor :min_cpu_platform
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
|
|
@local_ssds = args[:local_ssds] if args.key?(:local_ssds)
|
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
|
@maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
|
|
@maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
|
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
|
end
|
|
end
|
|
|
|
# This reservation type allows to pre allocate specific instance configuration.
|
|
# Next ID: 5
|
|
class AllocationSpecificSkuReservation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Indicates how many instances are actually usable currently.
|
|
# Corresponds to the JSON property `assuredCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :assured_count
|
|
|
|
# Specifies the number of resources that are allocated.
|
|
# Corresponds to the JSON property `count`
|
|
# @return [Fixnum]
|
|
attr_accessor :count
|
|
|
|
# [Output Only] Indicates how many instances are in use.
|
|
# Corresponds to the JSON property `inUseCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :in_use_count
|
|
|
|
# Properties of the SKU instances being reserved. Next ID: 9
|
|
# Corresponds to the JSON property `instanceProperties`
|
|
# @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocationReservedInstanceProperties]
|
|
attr_accessor :instance_properties
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@assured_count = args[:assured_count] if args.key?(:assured_count)
|
|
@count = args[:count] if args.key?(:count)
|
|
@in_use_count = args[:in_use_count] if args.key?(:in_use_count)
|
|
@instance_properties = args[:instance_properties] if args.key?(:instance_properties)
|
|
end
|
|
end
|
|
|
|
# An instance-attached disk resource.
|
|
class AttachedDisk
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The architecture of the attached disk. Valid values are ARM64 or
|
|
# X86_64.
|
|
# Corresponds to the JSON property `architecture`
|
|
# @return [String]
|
|
attr_accessor :architecture
|
|
|
|
# Specifies whether the disk will be auto-deleted when the instance is deleted (
|
|
# but not when the disk is detached from the instance).
|
|
# Corresponds to the JSON property `autoDelete`
|
|
# @return [Boolean]
|
|
attr_accessor :auto_delete
|
|
alias_method :auto_delete?, :auto_delete
|
|
|
|
# Indicates that this is a boot disk. The virtual machine will use the first
|
|
# partition of the disk for its root filesystem.
|
|
# Corresponds to the JSON property `boot`
|
|
# @return [Boolean]
|
|
attr_accessor :boot
|
|
alias_method :boot?, :boot
|
|
|
|
# Specifies a unique device name of your choice that is reflected into the /dev/
|
|
# disk/by-id/google-* tree of a Linux operating system running within the
|
|
# instance. This name can be used to reference the device for mounting, resizing,
|
|
# and so on, from within the instance. If not specified, the server chooses a
|
|
# default device name to apply to this disk, in the form persistent-disk-x,
|
|
# where x is a number assigned by Google Compute Engine. This field is only
|
|
# applicable for persistent disks.
|
|
# Corresponds to the JSON property `deviceName`
|
|
# @return [String]
|
|
attr_accessor :device_name
|
|
|
|
# Encrypts or decrypts a disk using a customer-supplied encryption key. If you
|
|
# are creating a new disk, this field encrypts the new disk using an encryption
|
|
# key that you provide. If you are attaching an existing disk that is already
|
|
# encrypted, this field decrypts the disk using the customer-supplied encryption
|
|
# key. If you encrypt a disk using a customer-supplied key, you must provide the
|
|
# same key again when you attempt to use this resource at a later time. For
|
|
# example, you must provide the key when you create a snapshot or an image from
|
|
# the disk or when you attach the disk to a virtual machine instance. If you do
|
|
# not provide an encryption key, then the disk will be encrypted using an
|
|
# automatically generated key and you do not need to provide a key to use the
|
|
# disk later. Instance templates do not store customer-supplied encryption keys,
|
|
# so you cannot use your own keys to encrypt disks in a managed instance group.
|
|
# Corresponds to the JSON property `diskEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :disk_encryption_key
|
|
|
|
# The size of the disk in GB.
|
|
# Corresponds to the JSON property `diskSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :disk_size_gb
|
|
|
|
# [Input Only] Whether to force attach the regional disk even if it's currently
|
|
# attached to another instance. If you try to force attach a zonal disk to an
|
|
# instance, you will receive an error.
|
|
# Corresponds to the JSON property `forceAttach`
|
|
# @return [Boolean]
|
|
attr_accessor :force_attach
|
|
alias_method :force_attach?, :force_attach
|
|
|
|
# A list of features to enable on the guest operating system. Applicable only
|
|
# for bootable images. Read Enabling guest operating system features to see a
|
|
# list of available options.
|
|
# Corresponds to the JSON property `guestOsFeatures`
|
|
# @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
|
|
attr_accessor :guest_os_features
|
|
|
|
# [Output Only] A zero-based index to this disk, where 0 is reserved for the
|
|
# boot disk. If you have many disks attached to an instance, each disk would
|
|
# have a unique index number.
|
|
# Corresponds to the JSON property `index`
|
|
# @return [Fixnum]
|
|
attr_accessor :index
|
|
|
|
# [Input Only] Specifies the parameters for a new disk that will be created
|
|
# alongside the new instance. Use initialization parameters to create boot disks
|
|
# or local SSDs attached to the new instance. This property is mutually
|
|
# exclusive with the source property; you can only define one or the other, but
|
|
# not both.
|
|
# Corresponds to the JSON property `initializeParams`
|
|
# @return [Google::Apis::ComputeAlpha::AttachedDiskInitializeParams]
|
|
attr_accessor :initialize_params
|
|
|
|
# Specifies the disk interface to use for attaching this disk, which is either
|
|
# SCSI or NVME. The default is SCSI. Persistent disks must always use SCSI and
|
|
# the request will fail if you attempt to attach a persistent disk in any other
|
|
# format than SCSI. Local SSDs can use either NVME or SCSI. For performance
|
|
# characteristics of SCSI over NVMe, see Local SSD performance.
|
|
# Corresponds to the JSON property `interface`
|
|
# @return [String]
|
|
attr_accessor :interface
|
|
|
|
# [Output Only] Type of the resource. Always compute#attachedDisk for attached
|
|
# disks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Any valid publicly visible licenses.
|
|
# Corresponds to the JSON property `licenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :licenses
|
|
|
|
# [Output Only] Whether to indicate the attached disk is locked. The locked disk
|
|
# is not allowed to be detached from the instance, or to be used as the source
|
|
# of the snapshot creation, and the image creation. The instance with at least
|
|
# one locked attached disk is not allow to be used as source of machine image
|
|
# creation, instant snapshot creation, and not allowed to be deleted with --keep-
|
|
# disk parameter set to true for locked disks.
|
|
# Corresponds to the JSON property `locked`
|
|
# @return [Boolean]
|
|
attr_accessor :locked
|
|
alias_method :locked?, :locked
|
|
|
|
# The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
|
|
# specified, the default is to attach the disk in READ_WRITE mode.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
# For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field
|
|
# is set to PRESERVED if the LocalSSD data has been saved to a persistent
|
|
# location by customer request. (see the discard_local_ssd option on Stop/
|
|
# Suspend). Read-only in the api.
|
|
# Corresponds to the JSON property `savedState`
|
|
# @return [String]
|
|
attr_accessor :saved_state
|
|
|
|
# Initial State for shielded instance, these are public keys which are safe to
|
|
# store in public
|
|
# Corresponds to the JSON property `shieldedInstanceInitialState`
|
|
# @return [Google::Apis::ComputeAlpha::InitialStateConfig]
|
|
attr_accessor :shielded_instance_initial_state
|
|
|
|
# Specifies a valid partial or full URL to an existing Persistent Disk resource.
|
|
# When creating a new instance, one of initializeParams.sourceImage or
|
|
# initializeParams.sourceSnapshot or disks.source is required except for local
|
|
# SSD. If desired, you can also attach existing non-root persistent disks using
|
|
# this property. This field is only applicable for persistent disks. Note that
|
|
# for InstanceTemplate, specify the disk name for zonal disk, and the URL for
|
|
# regional disk.
|
|
# Corresponds to the JSON property `source`
|
|
# @return [String]
|
|
attr_accessor :source
|
|
|
|
# Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified,
|
|
# the default is PERSISTENT.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# [Output Only] A list of user provided licenses. It represents a list of URLs
|
|
# to the license resource. Unlike regular licenses, user provided licenses can
|
|
# be modified after the disk is created.
|
|
# Corresponds to the JSON property `userLicenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :user_licenses
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@architecture = args[:architecture] if args.key?(:architecture)
|
|
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
|
@boot = args[:boot] if args.key?(:boot)
|
|
@device_name = args[:device_name] if args.key?(:device_name)
|
|
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
@force_attach = args[:force_attach] if args.key?(:force_attach)
|
|
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
|
@index = args[:index] if args.key?(:index)
|
|
@initialize_params = args[:initialize_params] if args.key?(:initialize_params)
|
|
@interface = args[:interface] if args.key?(:interface)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@licenses = args[:licenses] if args.key?(:licenses)
|
|
@locked = args[:locked] if args.key?(:locked)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
@saved_state = args[:saved_state] if args.key?(:saved_state)
|
|
@shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
|
|
@source = args[:source] if args.key?(:source)
|
|
@type = args[:type] if args.key?(:type)
|
|
@user_licenses = args[:user_licenses] if args.key?(:user_licenses)
|
|
end
|
|
end
|
|
|
|
# [Input Only] Specifies the parameters for a new disk that will be created
|
|
# alongside the new instance. Use initialization parameters to create boot disks
|
|
# or local SSDs attached to the new instance. This property is mutually
|
|
# exclusive with the source property; you can only define one or the other, but
|
|
# not both.
|
|
class AttachedDiskInitializeParams
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The architecture of the attached disk. Valid values are arm64 or x86_64.
|
|
# Corresponds to the JSON property `architecture`
|
|
# @return [String]
|
|
attr_accessor :architecture
|
|
|
|
# An optional description. Provide this property when creating the disk.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Specifies the disk name. If not specified, the default is to use the name of
|
|
# the instance. If a disk with the same name already exists in the given region,
|
|
# the existing disk is attached to the new instance and the new disk is not
|
|
# created.
|
|
# Corresponds to the JSON property `diskName`
|
|
# @return [String]
|
|
attr_accessor :disk_name
|
|
|
|
# Specifies the size of the disk in base-2 GB. The size must be at least 10 GB.
|
|
# If you specify a sourceImage, which is required for boot disks, the default
|
|
# size is the size of the sourceImage. If you do not specify a sourceImage, the
|
|
# default disk size is 500 GB.
|
|
# Corresponds to the JSON property `diskSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :disk_size_gb
|
|
|
|
# Specifies the disk type to use to create the instance. If not specified, the
|
|
# default is pd-standard, specified using the full URL. For example: https://www.
|
|
# googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/pd-standard
|
|
# For a full list of acceptable values, see Persistent disk types. If you define
|
|
# this field, you can provide either the full or partial URL. For example, the
|
|
# following are valid values: - https://www.googleapis.com/compute/v1/projects/
|
|
# project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/
|
|
# diskType - zones/zone/diskTypes/diskType Note that for InstanceTemplate, this
|
|
# is the name of the disk type, not URL.
|
|
# Corresponds to the JSON property `diskType`
|
|
# @return [String]
|
|
attr_accessor :disk_type
|
|
|
|
# A list of features to enable on the guest operating system. Applicable only
|
|
# for bootable images. Read Enabling guest operating system features to see a
|
|
# list of available options. Guest OS features are applied by merging
|
|
# initializeParams.guestOsFeatures and disks.guestOsFeatures
|
|
# Corresponds to the JSON property `guestOsFeatures`
|
|
# @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
|
|
attr_accessor :guest_os_features
|
|
|
|
# [Deprecated] Specifies the disk interface to use for attaching this disk,
|
|
# which is either SCSI or NVME. The default is SCSI.
|
|
# Corresponds to the JSON property `interface`
|
|
# @return [String]
|
|
attr_accessor :interface
|
|
|
|
# Labels to apply to this disk. These can be later modified by the disks.
|
|
# setLabels method. This field is only applicable for persistent disks.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Integer license codes indicating which licenses are attached to this disk.
|
|
# Corresponds to the JSON property `licenseCodes`
|
|
# @return [Array<Fixnum>]
|
|
attr_accessor :license_codes
|
|
|
|
# A list of publicly visible licenses. Reserved for Google's use.
|
|
# Corresponds to the JSON property `licenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :licenses
|
|
|
|
# Indicates whether or not the disk can be read/write attached to more than one
|
|
# instance.
|
|
# Corresponds to the JSON property `multiWriter`
|
|
# @return [Boolean]
|
|
attr_accessor :multi_writer
|
|
alias_method :multi_writer?, :multi_writer
|
|
|
|
# Specifies which action to take on instance update with this disk. Default is
|
|
# to use the existing disk.
|
|
# Corresponds to the JSON property `onUpdateAction`
|
|
# @return [String]
|
|
attr_accessor :on_update_action
|
|
|
|
# Indicates how many IOPS to provision for the disk. This sets the number of I/O
|
|
# operations per second that the disk can handle. Values must be between 10,000
|
|
# and 120,000. For more details, see the Extreme persistent disk documentation.
|
|
# Corresponds to the JSON property `provisionedIops`
|
|
# @return [Fixnum]
|
|
attr_accessor :provisioned_iops
|
|
|
|
# URLs of the zones where the disk should be replicated to. Only applicable for
|
|
# regional resources.
|
|
# Corresponds to the JSON property `replicaZones`
|
|
# @return [Array<String>]
|
|
attr_accessor :replica_zones
|
|
|
|
# Resource policies applied to this disk for automatic snapshot creations.
|
|
# Specified using the full or partial URL. For instance template, specify only
|
|
# the resource policy name.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
# The source image to create this disk. When creating a new instance, one of
|
|
# initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.
|
|
# source is required except for local SSD. To create a disk with one of the
|
|
# public operating system images, specify the image by its family name. For
|
|
# example, specify family/debian-9 to use the latest Debian 9 image: projects/
|
|
# debian-cloud/global/images/family/debian-9 Alternatively, use a specific
|
|
# version of a public operating system image: projects/debian-cloud/global/
|
|
# images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that
|
|
# you created, specify the image name in the following format: global/images/my-
|
|
# custom-image You can also specify a custom image by its image family, which
|
|
# returns the latest version of the image in that family. Replace the image name
|
|
# with family/family-name: global/images/family/my-image-family If the source
|
|
# image is deleted later, this field will not be set.
|
|
# Corresponds to the JSON property `sourceImage`
|
|
# @return [String]
|
|
attr_accessor :source_image
|
|
|
|
# The customer-supplied encryption key of the source image. Required if the
|
|
# source image is protected by a customer-supplied encryption key. Instance
|
|
# templates do not store customer-supplied encryption keys, so you cannot create
|
|
# disks for instances in a managed instance group if the source images are
|
|
# encrypted with your own keys.
|
|
# Corresponds to the JSON property `sourceImageEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :source_image_encryption_key
|
|
|
|
# The source instant-snapshot to create this disk. When creating a new instance,
|
|
# one of initializeParams.sourceSnapshot or initializeParams.
|
|
# sourceInstantSnapshot initializeParams.sourceImage or disks.source is required
|
|
# except for local SSD. To create a disk with a snapshot that you created,
|
|
# specify the snapshot name in the following format: us-central1-a/
|
|
# instantSnapshots/my-backup If the source instant-snapshot is deleted later,
|
|
# this field will not be set.
|
|
# Corresponds to the JSON property `sourceInstantSnapshot`
|
|
# @return [String]
|
|
attr_accessor :source_instant_snapshot
|
|
|
|
# The source snapshot to create this disk. When creating a new instance, one of
|
|
# initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.
|
|
# source is required except for local SSD. To create a disk with a snapshot that
|
|
# you created, specify the snapshot name in the following format: global/
|
|
# snapshots/my-backup If the source snapshot is deleted later, this field will
|
|
# not be set.
|
|
# Corresponds to the JSON property `sourceSnapshot`
|
|
# @return [String]
|
|
attr_accessor :source_snapshot
|
|
|
|
# The customer-supplied encryption key of the source snapshot.
|
|
# Corresponds to the JSON property `sourceSnapshotEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :source_snapshot_encryption_key
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@architecture = args[:architecture] if args.key?(:architecture)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disk_name = args[:disk_name] if args.key?(:disk_name)
|
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
|
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
|
@interface = args[:interface] if args.key?(:interface)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@license_codes = args[:license_codes] if args.key?(:license_codes)
|
|
@licenses = args[:licenses] if args.key?(:licenses)
|
|
@multi_writer = args[:multi_writer] if args.key?(:multi_writer)
|
|
@on_update_action = args[:on_update_action] if args.key?(:on_update_action)
|
|
@provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
|
|
@replica_zones = args[:replica_zones] if args.key?(:replica_zones)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
@source_image = args[:source_image] if args.key?(:source_image)
|
|
@source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
|
|
@source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
|
|
@source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
|
|
@source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
|
|
end
|
|
end
|
|
|
|
# Specifies the audit configuration for a service. The configuration determines
|
|
# which permission types are logged, and what identities, if any, are exempted
|
|
# from logging. An AuditConfig must have one or more AuditLogConfigs. If there
|
|
# are AuditConfigs for both `allServices` and a specific service, the union of
|
|
# the two AuditConfigs is used for that service: the log_types specified in each
|
|
# AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
|
|
# exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
|
|
# service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
|
|
# exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
|
|
# ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
|
|
# "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
|
|
# , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
|
|
# this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
|
|
# exempts jose@example.com from DATA_READ logging, and aliya@example.com from
|
|
# DATA_WRITE logging.
|
|
class AuditConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The configuration for logging of each type of permission.
|
|
# Corresponds to the JSON property `auditLogConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AuditLogConfig>]
|
|
attr_accessor :audit_log_configs
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `exemptedMembers`
|
|
# @return [Array<String>]
|
|
attr_accessor :exempted_members
|
|
|
|
# Specifies a service that will be enabled for audit logging. For example, `
|
|
# storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
|
|
# value that covers all services.
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
|
|
@exempted_members = args[:exempted_members] if args.key?(:exempted_members)
|
|
@service = args[:service] if args.key?(:service)
|
|
end
|
|
end
|
|
|
|
# Provides the configuration for logging a type of permissions. Example: ` "
|
|
# audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
|
|
# jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
|
|
# DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
|
|
# DATA_READ logging.
|
|
class AuditLogConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies the identities that do not cause logging for this type of permission.
|
|
# Follows the same format of Binding.members.
|
|
# Corresponds to the JSON property `exemptedMembers`
|
|
# @return [Array<String>]
|
|
attr_accessor :exempted_members
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `ignoreChildExemptions`
|
|
# @return [Boolean]
|
|
attr_accessor :ignore_child_exemptions
|
|
alias_method :ignore_child_exemptions?, :ignore_child_exemptions
|
|
|
|
# The log type that this config enables.
|
|
# Corresponds to the JSON property `logType`
|
|
# @return [String]
|
|
attr_accessor :log_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@exempted_members = args[:exempted_members] if args.key?(:exempted_members)
|
|
@ignore_child_exemptions = args[:ignore_child_exemptions] if args.key?(:ignore_child_exemptions)
|
|
@log_type = args[:log_type] if args.key?(:log_type)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] The authentication settings for the backend service. The
|
|
# authentication settings for the backend service.
|
|
class AuthenticationPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of authentication methods that can be used for origin authentication.
|
|
# Similar to peers, these will be evaluated in order the first valid one will be
|
|
# used to set origin identity. If none of these methods pass, the request will
|
|
# be rejected with authentication failed error (401). Leave the list empty if
|
|
# origin authentication is not required.
|
|
# Corresponds to the JSON property `origins`
|
|
# @return [Array<Google::Apis::ComputeAlpha::OriginAuthenticationMethod>]
|
|
attr_accessor :origins
|
|
|
|
# List of authentication methods that can be used for peer authentication. They
|
|
# will be evaluated in order the first valid one will be used to set peer
|
|
# identity. If none of these methods pass, the request will be rejected with
|
|
# authentication failed error (401). Leave the list empty if peer authentication
|
|
# is not required.
|
|
# Corresponds to the JSON property `peers`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PeerAuthenticationMethod>]
|
|
attr_accessor :peers
|
|
|
|
# Define whether peer or origin identity should be used for principal. Default
|
|
# value is USE_PEER. If peer (or origin) identity is not available, either
|
|
# because peer/origin authentication is not defined, or failed, principal will
|
|
# be left unset. In other words, binding rule does not affect the decision to
|
|
# accept or reject request. This field can be set to one of the following:
|
|
# USE_PEER: Principal will be set to the identity from peer authentication.
|
|
# USE_ORIGIN: Principal will be set to the identity from origin authentication.
|
|
# Corresponds to the JSON property `principalBinding`
|
|
# @return [String]
|
|
attr_accessor :principal_binding
|
|
|
|
# [Deprecated] The TLS settings for the client or server. The TLS settings for
|
|
# the client or server.
|
|
# Corresponds to the JSON property `serverTlsContext`
|
|
# @return [Google::Apis::ComputeAlpha::TlsContext]
|
|
attr_accessor :server_tls_context
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@origins = args[:origins] if args.key?(:origins)
|
|
@peers = args[:peers] if args.key?(:peers)
|
|
@principal_binding = args[:principal_binding] if args.key?(:principal_binding)
|
|
@server_tls_context = args[:server_tls_context] if args.key?(:server_tls_context)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] Authorization configuration provides service-level and method-
|
|
# level access control for a service. control for a service.
|
|
class AuthorizationConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of RbacPolicies.
|
|
# Corresponds to the JSON property `policies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RbacPolicy>]
|
|
attr_accessor :policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@policies = args[:policies] if args.key?(:policies)
|
|
end
|
|
end
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
class AuthorizationLoggingOptions
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `permissionType`
|
|
# @return [String]
|
|
attr_accessor :permission_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@permission_type = args[:permission_type] if args.key?(:permission_type)
|
|
end
|
|
end
|
|
|
|
# Represents an Autoscaler resource. Google Compute Engine has two Autoscaler
|
|
# resources: * [Zonal](/compute/docs/reference/rest/alpha/autoscalers) * [
|
|
# Regional](/compute/docs/reference/rest/alpha/regionAutoscalers) Use
|
|
# autoscalers to automatically add or delete instances from a managed instance
|
|
# group according to your defined autoscaling policy. For more information, read
|
|
# Autoscaling Groups of Instances. For zonal managed instance groups resource,
|
|
# use the autoscaler resource. For regional managed instance groups, use the
|
|
# regionAutoscalers resource.
|
|
class Autoscaler
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Cloud Autoscaler policy.
|
|
# Corresponds to the JSON property `autoscalingPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::AutoscalingPolicy]
|
|
attr_accessor :autoscaling_policy
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#autoscaler for autoscalers.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Target recommended MIG size (number of instances) computed by
|
|
# autoscaler. Autoscaler calculates the recommended MIG size even when the
|
|
# autoscaling policy mode is different from ON. This field is empty when
|
|
# autoscaler is not connected to an existing managed instance group or
|
|
# autoscaler did not generate its prediction.
|
|
# Corresponds to the JSON property `recommendedSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :recommended_size
|
|
|
|
# [Output Only] URL of the region where the instance group resides (for
|
|
# autoscalers living in regional scope).
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Status information of existing scaling schedules.
|
|
# Corresponds to the JSON property `scalingScheduleStatus`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::ScalingScheduleStatus>]
|
|
attr_accessor :scaling_schedule_status
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The status of the autoscaler configuration. Current set of
|
|
# possible values: - PENDING: Autoscaler backend hasn't read new/updated
|
|
# configuration. - DELETING: Configuration is being deleted. - ACTIVE:
|
|
# Configuration is acknowledged to be effective. Some warnings might be present
|
|
# in the statusDetails field. - ERROR: Configuration has errors. Actionable for
|
|
# users. Details are present in the statusDetails field. New values might be
|
|
# added in the future.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] Human-readable details about the current state of the autoscaler.
|
|
# Read the documentation for Commonly returned status messages for examples of
|
|
# status messages you might encounter.
|
|
# Corresponds to the JSON property `statusDetails`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AutoscalerStatusDetails>]
|
|
attr_accessor :status_details
|
|
|
|
# URL of the managed instance group that this autoscaler will scale. This field
|
|
# is required when creating an autoscaler.
|
|
# Corresponds to the JSON property `target`
|
|
# @return [String]
|
|
attr_accessor :target
|
|
|
|
# [Output Only] URL of the zone where the instance group resides (for
|
|
# autoscalers living in zonal scope).
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@recommended_size = args[:recommended_size] if args.key?(:recommended_size)
|
|
@region = args[:region] if args.key?(:region)
|
|
@scaling_schedule_status = args[:scaling_schedule_status] if args.key?(:scaling_schedule_status)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@status = args[:status] if args.key?(:status)
|
|
@status_details = args[:status_details] if args.key?(:status_details)
|
|
@target = args[:target] if args.key?(:target)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AutoscalerAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of AutoscalersScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::AutoscalersScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#autoscalerAggregatedList for
|
|
# aggregated lists of autoscalers.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources. end_interface:
|
|
# MixerListResponseWithEtagBuilder
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::AutoscalerAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AutoscalerAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of Autoscaler resources.
|
|
class AutoscalerList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Autoscaler resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Autoscaler>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#autoscalerList for lists of
|
|
# autoscalers.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::AutoscalerList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AutoscalerList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class AutoscalerStatusDetails
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The status message.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
# The type of error, warning, or notice returned. Current set of possible values:
|
|
# - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are
|
|
# unhealthy (not in RUNNING state). - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR):
|
|
# There is no backend service attached to the instance group. -
|
|
# CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater
|
|
# than maxNumReplicas. - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The
|
|
# custom metric samples are not exported often enough to be a credible base for
|
|
# autoscaling. - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was
|
|
# specified does not exist or does not have the necessary labels. -
|
|
# MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This
|
|
# means the autoscaler cannot add or remove instances from the instance group. -
|
|
# MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive
|
|
# any data from the custom metric configured for autoscaling. -
|
|
# MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to
|
|
# scale based on a load balancing signal but the instance group has not received
|
|
# any requests from the load balancer. - MODE_OFF (WARNING): Autoscaling is
|
|
# turned off. The number of instances in the group won't change automatically.
|
|
# The autoscaling configuration is preserved. - MODE_ONLY_UP (WARNING):
|
|
# Autoscaling is in the "Autoscale only out" mode. The autoscaler can add
|
|
# instances but not remove any. - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The
|
|
# instance group cannot be autoscaled because it has more than one backend
|
|
# service attached to it. - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is
|
|
# insufficient quota for the necessary resources, such as CPU or number of
|
|
# instances. - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional
|
|
# autoscalers: there is a resource stockout in the chosen region. -
|
|
# SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist.
|
|
# - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does
|
|
# not work with an HTTP/S load balancer that has been configured for maxRate. -
|
|
# ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource
|
|
# stockout in the chosen zone. For regional autoscalers: in at least one of the
|
|
# zones you're using there is a resource stockout. New values might be added in
|
|
# the future. Some of the values might not be available in all API versions.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@message = args[:message] if args.key?(:message)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class AutoscalersScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of autoscalers contained in this scope.
|
|
# Corresponds to the JSON property `autoscalers`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Autoscaler>]
|
|
attr_accessor :autoscalers
|
|
|
|
# [Output Only] Informational warning which replaces the list of autoscalers
|
|
# when the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::AutoscalersScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@autoscalers = args[:autoscalers] if args.key?(:autoscalers)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of autoscalers
|
|
# when the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AutoscalersScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Cloud Autoscaler policy.
|
|
class AutoscalingPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The number of seconds that the autoscaler waits before it starts collecting
|
|
# information from a new instance. This prevents the autoscaler from collecting
|
|
# information when the instance is initializing, during which the collected
|
|
# usage would not be reliable. The default time autoscaler waits is 60 seconds.
|
|
# Virtual machine initialization times might vary because of numerous factors.
|
|
# We recommend that you test how long an instance may take to initialize. To do
|
|
# this, create an instance and time the startup process.
|
|
# Corresponds to the JSON property `coolDownPeriodSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :cool_down_period_sec
|
|
|
|
# CPU utilization policy.
|
|
# Corresponds to the JSON property `cpuUtilization`
|
|
# @return [Google::Apis::ComputeAlpha::AutoscalingPolicyCpuUtilization]
|
|
attr_accessor :cpu_utilization
|
|
|
|
# Configuration parameters of autoscaling based on a custom metric.
|
|
# Corresponds to the JSON property `customMetricUtilizations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AutoscalingPolicyCustomMetricUtilization>]
|
|
attr_accessor :custom_metric_utilizations
|
|
|
|
# Configuration parameters of autoscaling based on load balancing.
|
|
# Corresponds to the JSON property `loadBalancingUtilization`
|
|
# @return [Google::Apis::ComputeAlpha::AutoscalingPolicyLoadBalancingUtilization]
|
|
attr_accessor :load_balancing_utilization
|
|
|
|
# The maximum number of instances that the autoscaler can scale out to. This is
|
|
# required when creating or updating an autoscaler. The maximum number of
|
|
# replicas must not be lower than minimal number of replicas.
|
|
# Corresponds to the JSON property `maxNumReplicas`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_num_replicas
|
|
|
|
# The minimum number of replicas that the autoscaler can scale in to. This
|
|
# cannot be less than 0. If not provided, autoscaler chooses a default value
|
|
# depending on maximum number of instances allowed.
|
|
# Corresponds to the JSON property `minNumReplicas`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_num_replicas
|
|
|
|
# Defines operating mode for this policy.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
# Configuration that allows for slower scale in so that even if Autoscaler
|
|
# recommends an abrupt scale in of a MIG, it will be throttled as specified by
|
|
# the parameters below.
|
|
# Corresponds to the JSON property `scaleDownControl`
|
|
# @return [Google::Apis::ComputeAlpha::AutoscalingPolicyScaleDownControl]
|
|
attr_accessor :scale_down_control
|
|
|
|
# Configuration that allows for slower scale in so that even if Autoscaler
|
|
# recommends an abrupt scale in of a MIG, it will be throttled as specified by
|
|
# the parameters below.
|
|
# Corresponds to the JSON property `scaleInControl`
|
|
# @return [Google::Apis::ComputeAlpha::AutoscalingPolicyScaleInControl]
|
|
attr_accessor :scale_in_control
|
|
|
|
# Scaling schedules defined for an autoscaler. Multiple schedules can be set on
|
|
# an autoscaler, and they can overlap. During overlapping periods the greatest
|
|
# min_required_replicas of all scaling schedules is applied. Up to 128 scaling
|
|
# schedules are allowed.
|
|
# Corresponds to the JSON property `scalingSchedules`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::AutoscalingPolicyScalingSchedule>]
|
|
attr_accessor :scaling_schedules
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@cool_down_period_sec = args[:cool_down_period_sec] if args.key?(:cool_down_period_sec)
|
|
@cpu_utilization = args[:cpu_utilization] if args.key?(:cpu_utilization)
|
|
@custom_metric_utilizations = args[:custom_metric_utilizations] if args.key?(:custom_metric_utilizations)
|
|
@load_balancing_utilization = args[:load_balancing_utilization] if args.key?(:load_balancing_utilization)
|
|
@max_num_replicas = args[:max_num_replicas] if args.key?(:max_num_replicas)
|
|
@min_num_replicas = args[:min_num_replicas] if args.key?(:min_num_replicas)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
@scale_down_control = args[:scale_down_control] if args.key?(:scale_down_control)
|
|
@scale_in_control = args[:scale_in_control] if args.key?(:scale_in_control)
|
|
@scaling_schedules = args[:scaling_schedules] if args.key?(:scaling_schedules)
|
|
end
|
|
end
|
|
|
|
# CPU utilization policy.
|
|
class AutoscalingPolicyCpuUtilization
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Indicates whether predictive autoscaling based on CPU metric is enabled. Valid
|
|
# values are: * NONE (default). No predictive method is used. The autoscaler
|
|
# scales the group to meet current demand based on real-time metrics. *
|
|
# OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by
|
|
# monitoring daily and weekly load patterns and scaling out ahead of anticipated
|
|
# demand.
|
|
# Corresponds to the JSON property `predictiveMethod`
|
|
# @return [String]
|
|
attr_accessor :predictive_method
|
|
|
|
# The target CPU utilization that the autoscaler maintains. Must be a float
|
|
# value in the range (0, 1]. If not specified, the default is 0.6. If the CPU
|
|
# level is below the target utilization, the autoscaler scales in the number of
|
|
# instances until it reaches the minimum number of instances you specified or
|
|
# until the average CPU of your instances reaches the target utilization. If the
|
|
# average CPU is above the target utilization, the autoscaler scales out until
|
|
# it reaches the maximum number of instances you specified or until the average
|
|
# utilization reaches the target utilization.
|
|
# Corresponds to the JSON property `utilizationTarget`
|
|
# @return [Float]
|
|
attr_accessor :utilization_target
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@predictive_method = args[:predictive_method] if args.key?(:predictive_method)
|
|
@utilization_target = args[:utilization_target] if args.key?(:utilization_target)
|
|
end
|
|
end
|
|
|
|
# Custom utilization metric policy.
|
|
class AutoscalingPolicyCustomMetricUtilization
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A filter string, compatible with a Stackdriver Monitoring filter string for
|
|
# TimeSeries.list API call. This filter is used to select a specific TimeSeries
|
|
# for the purpose of autoscaling and to determine whether the metric is
|
|
# exporting per-instance or per-group data. For the filter to be valid for
|
|
# autoscaling purposes, the following rules apply: - You can only use the AND
|
|
# operator for joining selectors. - You can only use direct equality comparison
|
|
# operator (=) without any functions for each selector. - You can specify the
|
|
# metric in both the filter string and in the metric field. However, if
|
|
# specified in both places, the metric must be identical. - The monitored
|
|
# resource type determines what kind of values are expected for the metric. If
|
|
# it is a gce_instance, the autoscaler expects the metric to include a separate
|
|
# TimeSeries for each instance in a group. In such a case, you cannot filter on
|
|
# resource labels. If the resource type is any other value, the autoscaler
|
|
# expects this metric to contain values that apply to the entire autoscaled
|
|
# instance group and resource label filtering can be performed to point
|
|
# autoscaler at the correct TimeSeries to scale upon. This is called a *per-
|
|
# group metric* for the purpose of autoscaling. If not specified, the type
|
|
# defaults to gce_instance. Try to provide a filter that is selective enough to
|
|
# pick just one TimeSeries for the autoscaled group or for each of the instances
|
|
# (if you are using gce_instance resource type). If multiple TimeSeries are
|
|
# returned upon the query execution, the autoscaler will sum their respective
|
|
# values to obtain its scaling value.
|
|
# Corresponds to the JSON property `filter`
|
|
# @return [String]
|
|
attr_accessor :filter
|
|
|
|
# The identifier (type) of the Stackdriver Monitoring metric. The metric cannot
|
|
# have negative values. The metric must have a value type of INT64 or DOUBLE.
|
|
# Corresponds to the JSON property `metric`
|
|
# @return [String]
|
|
attr_accessor :metric
|
|
|
|
# If scaling is based on a per-group metric value that represents the total
|
|
# amount of work to be done or resource usage, set this value to an amount
|
|
# assigned for a single instance of the scaled group. Autoscaler keeps the
|
|
# number of instances proportional to the value of this metric. The metric
|
|
# itself does not change value due to group resizing. A good metric to use with
|
|
# the target is for example pubsub.googleapis.com/subscription/
|
|
# num_undelivered_messages or a custom metric exporting the total number of
|
|
# requests coming to your instances. A bad example would be a metric exporting
|
|
# an average or median latency, since this value can't include a chunk
|
|
# assignable to a single instance, it could be better used with
|
|
# utilization_target instead.
|
|
# Corresponds to the JSON property `singleInstanceAssignment`
|
|
# @return [Float]
|
|
attr_accessor :single_instance_assignment
|
|
|
|
# The target value of the metric that autoscaler maintains. This must be a
|
|
# positive value. A utilization metric scales number of virtual machines
|
|
# handling requests to increase or decrease proportionally to the metric. For
|
|
# example, a good metric to use as a utilization_target is https://www.
|
|
# googleapis.com/compute/v1/instance/network/received_bytes_count. The
|
|
# autoscaler works to keep this value constant for each of the instances.
|
|
# Corresponds to the JSON property `utilizationTarget`
|
|
# @return [Float]
|
|
attr_accessor :utilization_target
|
|
|
|
# Defines how target utilization value is expressed for a Stackdriver Monitoring
|
|
# metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE.
|
|
# Corresponds to the JSON property `utilizationTargetType`
|
|
# @return [String]
|
|
attr_accessor :utilization_target_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@filter = args[:filter] if args.key?(:filter)
|
|
@metric = args[:metric] if args.key?(:metric)
|
|
@single_instance_assignment = args[:single_instance_assignment] if args.key?(:single_instance_assignment)
|
|
@utilization_target = args[:utilization_target] if args.key?(:utilization_target)
|
|
@utilization_target_type = args[:utilization_target_type] if args.key?(:utilization_target_type)
|
|
end
|
|
end
|
|
|
|
# Configuration parameters of autoscaling based on load balancing.
|
|
class AutoscalingPolicyLoadBalancingUtilization
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Fraction of backend capacity utilization (set in HTTP(S) load balancing
|
|
# configuration) that the autoscaler maintains. Must be a positive float value.
|
|
# If not defined, the default is 0.8.
|
|
# Corresponds to the JSON property `utilizationTarget`
|
|
# @return [Float]
|
|
attr_accessor :utilization_target
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@utilization_target = args[:utilization_target] if args.key?(:utilization_target)
|
|
end
|
|
end
|
|
|
|
# Configuration that allows for slower scale in so that even if Autoscaler
|
|
# recommends an abrupt scale in of a MIG, it will be throttled as specified by
|
|
# the parameters below.
|
|
class AutoscalingPolicyScaleDownControl
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Encapsulates numeric value that can be either absolute or relative.
|
|
# Corresponds to the JSON property `maxScaledDownReplicas`
|
|
# @return [Google::Apis::ComputeAlpha::FixedOrPercent]
|
|
attr_accessor :max_scaled_down_replicas
|
|
|
|
# How far back autoscaling looks when computing recommendations to include
|
|
# directives regarding slower scale in, as described above.
|
|
# Corresponds to the JSON property `timeWindowSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :time_window_sec
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@max_scaled_down_replicas = args[:max_scaled_down_replicas] if args.key?(:max_scaled_down_replicas)
|
|
@time_window_sec = args[:time_window_sec] if args.key?(:time_window_sec)
|
|
end
|
|
end
|
|
|
|
# Configuration that allows for slower scale in so that even if Autoscaler
|
|
# recommends an abrupt scale in of a MIG, it will be throttled as specified by
|
|
# the parameters below.
|
|
class AutoscalingPolicyScaleInControl
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Encapsulates numeric value that can be either absolute or relative.
|
|
# Corresponds to the JSON property `maxScaledInReplicas`
|
|
# @return [Google::Apis::ComputeAlpha::FixedOrPercent]
|
|
attr_accessor :max_scaled_in_replicas
|
|
|
|
# How far back autoscaling looks when computing recommendations to include
|
|
# directives regarding slower scale in, as described above.
|
|
# Corresponds to the JSON property `timeWindowSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :time_window_sec
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@max_scaled_in_replicas = args[:max_scaled_in_replicas] if args.key?(:max_scaled_in_replicas)
|
|
@time_window_sec = args[:time_window_sec] if args.key?(:time_window_sec)
|
|
end
|
|
end
|
|
|
|
# Scaling based on user-defined schedule. The message describes a single scaling
|
|
# schedule. A scaling schedule changes the minimum number of VM instances an
|
|
# autoscaler can recommend, which can trigger scaling out.
|
|
class AutoscalingPolicyScalingSchedule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A description of a scaling schedule.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# A boolean value that specifies whether a scaling schedule can influence
|
|
# autoscaler recommendations. If set to true, then a scaling schedule has no
|
|
# effect. This field is optional, and its value is false by default.
|
|
# Corresponds to the JSON property `disabled`
|
|
# @return [Boolean]
|
|
attr_accessor :disabled
|
|
alias_method :disabled?, :disabled
|
|
|
|
# The duration of time intervals, in seconds, for which this scaling schedule is
|
|
# to run. The minimum allowed value is 300. This field is required.
|
|
# Corresponds to the JSON property `durationSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :duration_sec
|
|
|
|
# The minimum number of VM instances that the autoscaler will recommend in time
|
|
# intervals starting according to schedule. This field is required.
|
|
# Corresponds to the JSON property `minRequiredReplicas`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_required_replicas
|
|
|
|
# The start timestamps of time intervals when this scaling schedule is to
|
|
# provide a scaling signal. This field uses the extended cron format (with an
|
|
# optional year field). The expression can describe a single timestamp if the
|
|
# optional year is set, in which case the scaling schedule runs once. The
|
|
# schedule is interpreted with respect to time_zone. This field is required.
|
|
# Note: These timestamps only describe when autoscaler starts providing the
|
|
# scaling signal. The VMs need additional time to become serving.
|
|
# Corresponds to the JSON property `schedule`
|
|
# @return [String]
|
|
attr_accessor :schedule
|
|
|
|
# The time zone to use when interpreting the schedule. The value of this field
|
|
# must be a time zone name from the tz database: http://en.wikipedia.org/wiki/
|
|
# Tz_database. This field is assigned a default value of “UTC” if left empty.
|
|
# Corresponds to the JSON property `timeZone`
|
|
# @return [String]
|
|
attr_accessor :time_zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disabled = args[:disabled] if args.key?(:disabled)
|
|
@duration_sec = args[:duration_sec] if args.key?(:duration_sec)
|
|
@min_required_replicas = args[:min_required_replicas] if args.key?(:min_required_replicas)
|
|
@schedule = args[:schedule] if args.key?(:schedule)
|
|
@time_zone = args[:time_zone] if args.key?(:time_zone)
|
|
end
|
|
end
|
|
|
|
# Message containing information of one individual backend.
|
|
class Backend
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies how to determine whether the backend of a load balancer can handle
|
|
# additional traffic or is fully loaded. For usage guidelines, see Connection
|
|
# balancing mode. Backends must use compatible balancing modes. For more
|
|
# information, see Supported balancing modes and target capacity settings and
|
|
# Restrictions and guidance for instance groups. Note: Currently, if you use the
|
|
# API to configure incompatible balancing modes, the configuration might be
|
|
# accepted even though it has no impact and is ignored. Specifically, Backend.
|
|
# maxUtilization is ignored when Backend.balancingMode is RATE. In the future,
|
|
# this incompatible combination will be rejected.
|
|
# Corresponds to the JSON property `balancingMode`
|
|
# @return [String]
|
|
attr_accessor :balancing_mode
|
|
|
|
# A multiplier applied to the backend's target capacity of its balancing mode.
|
|
# The default value is 1, which means the group serves up to 100% of its
|
|
# configured capacity (depending on balancingMode). A setting of 0 means the
|
|
# group is completely drained, offering 0% of its available capacity. The valid
|
|
# ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and
|
|
# smaller than 0.1. You cannot configure a setting of 0 when there is only one
|
|
# backend attached to the backend service.
|
|
# Corresponds to the JSON property `capacityScaler`
|
|
# @return [Float]
|
|
attr_accessor :capacity_scaler
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# This field designates whether this is a failover backend. More than one
|
|
# failover backend can be configured for a given BackendService.
|
|
# Corresponds to the JSON property `failover`
|
|
# @return [Boolean]
|
|
attr_accessor :failover
|
|
alias_method :failover?, :failover
|
|
|
|
# The fully-qualified URL of an instance group or network endpoint group (NEG)
|
|
# resource. To determine what types of backends a load balancer supports, see
|
|
# the [Backend services overview](https://cloud.google.com/load-balancing/docs/
|
|
# backend-service#backends). You must use the *fully-qualified* URL (starting
|
|
# with https://www.googleapis.com/) to specify the instance group or NEG.
|
|
# Partial URLs are not supported.
|
|
# Corresponds to the JSON property `group`
|
|
# @return [String]
|
|
attr_accessor :group
|
|
|
|
# Defines a target maximum number of simultaneous connections. For usage
|
|
# guidelines, see Connection balancing mode and Utilization balancing mode. Not
|
|
# available if the backend's balancingMode is RATE.
|
|
# Corresponds to the JSON property `maxConnections`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_connections
|
|
|
|
# Defines a target maximum number of simultaneous connections. For usage
|
|
# guidelines, see Connection balancing mode and Utilization balancing mode. Not
|
|
# available if the backend's balancingMode is RATE.
|
|
# Corresponds to the JSON property `maxConnectionsPerEndpoint`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_connections_per_endpoint
|
|
|
|
# Defines a target maximum number of simultaneous connections. For usage
|
|
# guidelines, see Connection balancing mode and Utilization balancing mode. Not
|
|
# available if the backend's balancingMode is RATE.
|
|
# Corresponds to the JSON property `maxConnectionsPerInstance`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_connections_per_instance
|
|
|
|
# Defines a maximum number of HTTP requests per second (RPS). For usage
|
|
# guidelines, see Rate balancing mode and Utilization balancing mode. Not
|
|
# available if the backend's balancingMode is CONNECTION.
|
|
# Corresponds to the JSON property `maxRate`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_rate
|
|
|
|
# Defines a maximum target for requests per second (RPS). For usage guidelines,
|
|
# see Rate balancing mode and Utilization balancing mode. Not available if the
|
|
# backend's balancingMode is CONNECTION.
|
|
# Corresponds to the JSON property `maxRatePerEndpoint`
|
|
# @return [Float]
|
|
attr_accessor :max_rate_per_endpoint
|
|
|
|
# Defines a maximum target for requests per second (RPS). For usage guidelines,
|
|
# see Rate balancing mode and Utilization balancing mode. Not available if the
|
|
# backend's balancingMode is CONNECTION.
|
|
# Corresponds to the JSON property `maxRatePerInstance`
|
|
# @return [Float]
|
|
attr_accessor :max_rate_per_instance
|
|
|
|
# Optional parameter to define a target capacity for the UTILIZATIONbalancing
|
|
# mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization
|
|
# balancing mode.
|
|
# Corresponds to the JSON property `maxUtilization`
|
|
# @return [Float]
|
|
attr_accessor :max_utilization
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@balancing_mode = args[:balancing_mode] if args.key?(:balancing_mode)
|
|
@capacity_scaler = args[:capacity_scaler] if args.key?(:capacity_scaler)
|
|
@description = args[:description] if args.key?(:description)
|
|
@failover = args[:failover] if args.key?(:failover)
|
|
@group = args[:group] if args.key?(:group)
|
|
@max_connections = args[:max_connections] if args.key?(:max_connections)
|
|
@max_connections_per_endpoint = args[:max_connections_per_endpoint] if args.key?(:max_connections_per_endpoint)
|
|
@max_connections_per_instance = args[:max_connections_per_instance] if args.key?(:max_connections_per_instance)
|
|
@max_rate = args[:max_rate] if args.key?(:max_rate)
|
|
@max_rate_per_endpoint = args[:max_rate_per_endpoint] if args.key?(:max_rate_per_endpoint)
|
|
@max_rate_per_instance = args[:max_rate_per_instance] if args.key?(:max_rate_per_instance)
|
|
@max_utilization = args[:max_utilization] if args.key?(:max_utilization)
|
|
end
|
|
end
|
|
|
|
# Represents a Cloud Storage Bucket resource. This Cloud Storage bucket resource
|
|
# is referenced by a URL map of a load balancer. For more information, read
|
|
# Backend Buckets.
|
|
class BackendBucket
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Cloud Storage bucket name.
|
|
# Corresponds to the JSON property `bucketName`
|
|
# @return [String]
|
|
attr_accessor :bucket_name
|
|
|
|
# Message containing Cloud CDN configuration for a backend bucket.
|
|
# Corresponds to the JSON property `cdnPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::BackendBucketCdnPolicy]
|
|
attr_accessor :cdn_policy
|
|
|
|
# Compress text responses using Brotli or gzip compression, based on the client'
|
|
# s Accept-Encoding header.
|
|
# Corresponds to the JSON property `compressionMode`
|
|
# @return [String]
|
|
attr_accessor :compression_mode
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Headers that the HTTP/S load balancer should add to proxied responses.
|
|
# Corresponds to the JSON property `customResponseHeaders`
|
|
# @return [Array<String>]
|
|
attr_accessor :custom_response_headers
|
|
|
|
# An optional textual description of the resource; provided by the client when
|
|
# the resource is created.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The resource URL for the edge security policy associated with
|
|
# this backend bucket.
|
|
# Corresponds to the JSON property `edgeSecurityPolicy`
|
|
# @return [String]
|
|
attr_accessor :edge_security_policy
|
|
|
|
# If true, enable Cloud CDN for this BackendBucket.
|
|
# Corresponds to the JSON property `enableCdn`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_cdn
|
|
alias_method :enable_cdn?, :enable_cdn
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# Type of the resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bucket_name = args[:bucket_name] if args.key?(:bucket_name)
|
|
@cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
|
|
@compression_mode = args[:compression_mode] if args.key?(:compression_mode)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
|
|
@description = args[:description] if args.key?(:description)
|
|
@edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
|
|
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
end
|
|
end
|
|
|
|
# Message containing Cloud CDN configuration for a backend bucket.
|
|
class BackendBucketCdnPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Bypass the cache when the specified request headers are matched - e.g. Pragma
|
|
# or Authorization headers. Up to 5 headers can be specified. The cache is
|
|
# bypassed for all cdnPolicy.cacheMode settings.
|
|
# Corresponds to the JSON property `bypassCacheOnRequestHeaders`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyBypassCacheOnRequestHeader>]
|
|
attr_accessor :bypass_cache_on_request_headers
|
|
|
|
# Message containing what to include in the cache key for a request for Cloud
|
|
# CDN.
|
|
# Corresponds to the JSON property `cacheKeyPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::BackendBucketCdnPolicyCacheKeyPolicy]
|
|
attr_accessor :cache_key_policy
|
|
|
|
# Specifies the cache setting for all responses from this backend. The possible
|
|
# values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching
|
|
# headers to cache content. Responses without these headers will not be cached
|
|
# at Google's edge, and will require a full trip to the origin on every request,
|
|
# potentially impacting performance and increasing load on the origin server.
|
|
# FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-
|
|
# cache" directives in Cache-Control response headers. Warning: this may result
|
|
# in Cloud CDN caching private, per-user (user identifiable) content.
|
|
# CACHE_ALL_STATIC Automatically cache static content, including common image
|
|
# formats, media (video and audio), and web assets (JavaScript and CSS).
|
|
# Requests and responses that are marked as uncacheable, as well as dynamic
|
|
# content (including HTML), will not be cached.
|
|
# Corresponds to the JSON property `cacheMode`
|
|
# @return [String]
|
|
attr_accessor :cache_mode
|
|
|
|
# Specifies a separate client (e.g. browser client) maximum TTL. This is used to
|
|
# clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
|
|
# the lesser of client_ttl and default_ttl is used for the response max-age
|
|
# directive, along with a "public" directive. For cacheable content in
|
|
# CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
|
|
# specified), or else sets the response max-age directive to the lesser of the
|
|
# client_ttl and default_ttl, and also ensures a "public" cache-control
|
|
# directive is present. If a client TTL is not specified, a default value (1
|
|
# hour) will be used. The maximum allowed value is 31,622,400s (1 year).
|
|
# Corresponds to the JSON property `clientTtl`
|
|
# @return [Fixnum]
|
|
attr_accessor :client_ttl
|
|
|
|
# Specifies the default TTL for cached content served by this origin for
|
|
# responses that do not have an existing valid TTL (max-age or s-max-age).
|
|
# Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
|
|
# be set to a value greater than that of maxTTL, but can be equal. When the
|
|
# cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
|
|
# in all responses. The maximum allowed value is 31,622,400s (1 year), noting
|
|
# that infrequently accessed objects may be evicted from the cache before the
|
|
# defined TTL.
|
|
# Corresponds to the JSON property `defaultTtl`
|
|
# @return [Fixnum]
|
|
attr_accessor :default_ttl
|
|
|
|
# Specifies the maximum allowed TTL for cached content served by this origin.
|
|
# Cache directives that attempt to set a max-age or s-maxage higher than this,
|
|
# or an Expires header more than maxTTL seconds in the future will be capped at
|
|
# the value of maxTTL, as if it were the value of an s-maxage Cache-Control
|
|
# directive. Headers sent to the client will not be modified. Setting a TTL of "
|
|
# 0" means "always revalidate". The maximum allowed value is 31,622,400s (1 year)
|
|
# , noting that infrequently accessed objects may be evicted from the cache
|
|
# before the defined TTL.
|
|
# Corresponds to the JSON property `maxTtl`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_ttl
|
|
|
|
# Negative caching allows per-status code TTLs to be set, in order to apply fine-
|
|
# grained caching for common errors or redirects. This can reduce the load on
|
|
# your origin and improve end-user experience by reducing response latency. When
|
|
# the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
|
|
# caching applies to responses with the specified response code that lack any
|
|
# Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
|
|
# set to FORCE_CACHE_ALL, negative caching applies to all responses with the
|
|
# specified response code, and override any caching headers. By default, Cloud
|
|
# CDN will apply the following default TTLs to these status codes: HTTP 300 (
|
|
# Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
|
|
# 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
|
|
# Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
|
|
# can be overridden in negative_caching_policy.
|
|
# Corresponds to the JSON property `negativeCaching`
|
|
# @return [Boolean]
|
|
attr_accessor :negative_caching
|
|
alias_method :negative_caching?, :negative_caching
|
|
|
|
# Sets a cache TTL for the specified HTTP status code. negative_caching must be
|
|
# enabled to configure negative_caching_policy. Omitting the policy and leaving
|
|
# negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
|
|
# when specifying an explicit negative_caching_policy, you should take care to
|
|
# specify a cache TTL for all response codes that you wish to cache. Cloud CDN
|
|
# will not apply any default negative caching when a policy exists.
|
|
# Corresponds to the JSON property `negativeCachingPolicy`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendBucketCdnPolicyNegativeCachingPolicy>]
|
|
attr_accessor :negative_caching_policy
|
|
|
|
# If true then Cloud CDN will combine multiple concurrent cache fill requests
|
|
# into a small number of requests to the origin.
|
|
# Corresponds to the JSON property `requestCoalescing`
|
|
# @return [Boolean]
|
|
attr_accessor :request_coalescing
|
|
alias_method :request_coalescing?, :request_coalescing
|
|
|
|
# Serve existing content from the cache (if available) when revalidating content
|
|
# with the origin, or when an error is encountered when refreshing the cache.
|
|
# This setting defines the default "max-stale" duration for any cached responses
|
|
# that do not specify a max-stale directive. Stale responses that exceed the TTL
|
|
# configured here will not be served. The default limit (max-stale) is 86400s (1
|
|
# day), which will allow stale content to be served up to this limit beyond the
|
|
# max-age (or s-max-age) of a cached response. The maximum allowed value is
|
|
# 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
|
|
# Corresponds to the JSON property `serveWhileStale`
|
|
# @return [Fixnum]
|
|
attr_accessor :serve_while_stale
|
|
|
|
# Maximum number of seconds the response to a signed URL request will be
|
|
# considered fresh. After this time period, the response will be revalidated
|
|
# before being served. Defaults to 1hr (3600s). When serving responses to signed
|
|
# URL requests, Cloud CDN will internally behave as though all responses from
|
|
# this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless
|
|
# of any existing Cache-Control header. The actual headers served in responses
|
|
# will not be altered.
|
|
# Corresponds to the JSON property `signedUrlCacheMaxAgeSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :signed_url_cache_max_age_sec
|
|
|
|
# [Output Only] Names of the keys for signing request URLs.
|
|
# Corresponds to the JSON property `signedUrlKeyNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :signed_url_key_names
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
|
|
@cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
|
|
@cache_mode = args[:cache_mode] if args.key?(:cache_mode)
|
|
@client_ttl = args[:client_ttl] if args.key?(:client_ttl)
|
|
@default_ttl = args[:default_ttl] if args.key?(:default_ttl)
|
|
@max_ttl = args[:max_ttl] if args.key?(:max_ttl)
|
|
@negative_caching = args[:negative_caching] if args.key?(:negative_caching)
|
|
@negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
|
|
@request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
|
|
@serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
|
|
@signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
|
|
@signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
|
|
end
|
|
end
|
|
|
|
# Bypass the cache when the specified request headers are present, e.g. Pragma
|
|
# or Authorization headers. Values are case insensitive. The presence of such a
|
|
# header overrides the cache_mode setting.
|
|
class BackendBucketCdnPolicyBypassCacheOnRequestHeader
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The header field name to match on when bypassing cache. Values are case-
|
|
# insensitive.
|
|
# Corresponds to the JSON property `headerName`
|
|
# @return [String]
|
|
attr_accessor :header_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@header_name = args[:header_name] if args.key?(:header_name)
|
|
end
|
|
end
|
|
|
|
# Message containing what to include in the cache key for a request for Cloud
|
|
# CDN.
|
|
class BackendBucketCdnPolicyCacheKeyPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Allows HTTP request headers (by name) to be used in the cache key.
|
|
# Corresponds to the JSON property `includeHttpHeaders`
|
|
# @return [Array<String>]
|
|
attr_accessor :include_http_headers
|
|
|
|
# Names of query string parameters to include in cache keys. All other
|
|
# parameters will be excluded. '&' and '=' will be percent encoded and not
|
|
# treated as delimiters.
|
|
# Corresponds to the JSON property `queryStringWhitelist`
|
|
# @return [Array<String>]
|
|
attr_accessor :query_string_whitelist
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
|
|
@query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
|
|
end
|
|
end
|
|
|
|
# Specify CDN TTLs for response error codes.
|
|
class BackendBucketCdnPolicyNegativeCachingPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
|
|
# 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
|
|
# and you cannot specify a status code more than once.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [Fixnum]
|
|
attr_accessor :code
|
|
|
|
# The TTL (in seconds) for which to cache responses with the corresponding
|
|
# status code. The maximum allowed value is 1800s (30 minutes), noting that
|
|
# infrequently accessed objects may be evicted from the cache before the defined
|
|
# TTL.
|
|
# Corresponds to the JSON property `ttl`
|
|
# @return [Fixnum]
|
|
attr_accessor :ttl
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@ttl = args[:ttl] if args.key?(:ttl)
|
|
end
|
|
end
|
|
|
|
# Contains a list of BackendBucket resources.
|
|
class BackendBucketList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of BackendBucket resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendBucket>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::BackendBucketList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendBucketList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Backend Service resource. A backend service defines how Google
|
|
# Cloud load balancers distribute traffic. The backend service configuration
|
|
# contains a set of values, such as the protocol used to connect to backends,
|
|
# various distribution and session settings, health checks, and timeouts. These
|
|
# settings provide fine-grained control over how your load balancer behaves.
|
|
# Most of the settings have default values that allow for easy configuration if
|
|
# you need to get started quickly. Backend services in Google Compute Engine can
|
|
# be either regionally or globally scoped. * [Global](https://cloud.google.com/
|
|
# compute/docs/reference/rest/alpha/backendServices) * [Regional](https://cloud.
|
|
# google.com/compute/docs/reference/rest/alpha/regionBackendServices) For more
|
|
# information, see Backend Services.
|
|
class BackendService
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Lifetime of cookies in seconds. This setting is applicable to external and
|
|
# internal HTTP(S) load balancers and Traffic Director and requires
|
|
# GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is
|
|
# non-persistent and lasts only until the end of the browser session (or
|
|
# equivalent). The maximum allowed value is one day (86,400). Not supported when
|
|
# the backend service is referenced by a URL map that is bound to target gRPC
|
|
# proxy that has validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `affinityCookieTtlSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :affinity_cookie_ttl_sec
|
|
|
|
# The list of backends that serve this BackendService.
|
|
# Corresponds to the JSON property `backends`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Backend>]
|
|
attr_accessor :backends
|
|
|
|
# Message containing Cloud CDN configuration for a backend service.
|
|
# Corresponds to the JSON property `cdnPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceCdnPolicy]
|
|
attr_accessor :cdn_policy
|
|
|
|
# Settings controlling the volume of requests, connections and retries to this
|
|
# backend service.
|
|
# Corresponds to the JSON property `circuitBreakers`
|
|
# @return [Google::Apis::ComputeAlpha::CircuitBreakers]
|
|
attr_accessor :circuit_breakers
|
|
|
|
# Compress text responses using Brotli or gzip compression, based on the client'
|
|
# s Accept-Encoding header.
|
|
# Corresponds to the JSON property `compressionMode`
|
|
# @return [String]
|
|
attr_accessor :compression_mode
|
|
|
|
# Message containing connection draining configuration.
|
|
# Corresponds to the JSON property `connectionDraining`
|
|
# @return [Google::Apis::ComputeAlpha::ConnectionDraining]
|
|
attr_accessor :connection_draining
|
|
|
|
# Connection Tracking configuration for this BackendService.
|
|
# Corresponds to the JSON property `connectionTrackingPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceConnectionTrackingPolicy]
|
|
attr_accessor :connection_tracking_policy
|
|
|
|
# This message defines settings for a consistent hash style load balancer.
|
|
# Corresponds to the JSON property `consistentHash`
|
|
# @return [Google::Apis::ComputeAlpha::ConsistentHashLoadBalancerSettings]
|
|
attr_accessor :consistent_hash
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Headers that the load balancer adds to proxied requests. See [Creating custom
|
|
# headers](https://cloud.google.com/load-balancing/docs/custom-headers).
|
|
# Corresponds to the JSON property `customRequestHeaders`
|
|
# @return [Array<String>]
|
|
attr_accessor :custom_request_headers
|
|
|
|
# Headers that the load balancer adds to proxied responses. See [Creating custom
|
|
# headers](https://cloud.google.com/load-balancing/docs/custom-headers).
|
|
# Corresponds to the JSON property `customResponseHeaders`
|
|
# @return [Array<String>]
|
|
attr_accessor :custom_response_headers
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The resource URL for the edge security policy associated with
|
|
# this backend service.
|
|
# Corresponds to the JSON property `edgeSecurityPolicy`
|
|
# @return [String]
|
|
attr_accessor :edge_security_policy
|
|
|
|
# If true, enables Cloud CDN for the backend service of an external HTTP(S) load
|
|
# balancer.
|
|
# Corresponds to the JSON property `enableCDN`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_cdn
|
|
alias_method :enable_cdn?, :enable_cdn
|
|
|
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
|
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
|
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
|
# this field indicates whether connection draining will be honored. Google Cloud
|
|
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
|
# terminates existing TCP connections to the active pool during failover and
|
|
# failback, immediately draining traffic. A setting of false allows existing TCP
|
|
# connections to persist, even on VMs no longer in the active pool, for up to
|
|
# the duration of the connection draining timeout (10 minutes).
|
|
# Corresponds to the JSON property `failoverPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceFailoverPolicy]
|
|
attr_accessor :failover_policy
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a BackendService. An up-to-date fingerprint must be provided in
|
|
# order to update the BackendService, otherwise the request will fail with error
|
|
# 412 conditionNotMet. To see the latest fingerprint, make a get() request to
|
|
# retrieve a BackendService.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# The list of URLs to the healthChecks, httpHealthChecks (legacy), or
|
|
# httpsHealthChecks (legacy) resource for health checking this backend service.
|
|
# Not all backend services support legacy health checks. See Load balancer guide.
|
|
# Currently, at most one health check can be specified for each backend service.
|
|
# Backend services with instance group or zonal NEG backends must have a health
|
|
# check. Backend services with internet or serverless NEG backends must not have
|
|
# a health check.
|
|
# Corresponds to the JSON property `healthChecks`
|
|
# @return [Array<String>]
|
|
attr_accessor :health_checks
|
|
|
|
# Identity-Aware Proxy
|
|
# Corresponds to the JSON property `iap`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceIap]
|
|
attr_accessor :iap
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of resource. Always compute#backendService for backend
|
|
# services.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Specifies the load balancer type. A backend service created for one type of
|
|
# load balancer cannot be used with another. For more information, refer to
|
|
# Choosing a load balancer.
|
|
# Corresponds to the JSON property `loadBalancingScheme`
|
|
# @return [String]
|
|
attr_accessor :load_balancing_scheme
|
|
|
|
# A list of locality load balancing policies to be used in order of preference.
|
|
# Either the policy or the customPolicy field should be set. Overrides any value
|
|
# set in the localityLbPolicy field. localityLbPolicies is only supported when
|
|
# the BackendService is referenced by a URL Map that is referenced by a target
|
|
# gRPC proxy that has the validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `localityLbPolicies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendServiceLocalityLoadBalancingPolicyConfig>]
|
|
attr_accessor :locality_lb_policies
|
|
|
|
# The load balancing algorithm used within the scope of the locality. The
|
|
# possible values are: - ROUND_ROBIN: This is a simple policy in which each
|
|
# healthy backend is selected in round robin order. This is the default. -
|
|
# LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and
|
|
# picks the host which has fewer active requests. - RING_HASH: The ring/modulo
|
|
# hash load balancer implements consistent hashing to backends. The algorithm
|
|
# has the property that the addition/removal of a host from a set of N hosts
|
|
# only affects 1/N of the requests. - RANDOM: The load balancer selects a random
|
|
# healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the
|
|
# client connection metadata, i.e., connections are opened to the same address
|
|
# as the destination address of the incoming connection before the connection
|
|
# was redirected to the load balancer. - MAGLEV: used as a drop in replacement
|
|
# for the ring hash load balancer. Maglev is not as stable as ring hash but has
|
|
# faster table lookup build times and host selection times. For more information
|
|
# about Maglev, see https://ai.google/research/pubs/pub44824 This field is
|
|
# applicable to either: - A regional backend service with the service_protocol
|
|
# set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to
|
|
# INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme
|
|
# set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field
|
|
# is not set to MAGLEV or RING_HASH, session affinity settings will not take
|
|
# effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service
|
|
# is referenced by a URL map that is bound to target gRPC proxy that has
|
|
# validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `localityLbPolicy`
|
|
# @return [String]
|
|
attr_accessor :locality_lb_policy
|
|
|
|
# The available logging options for the load balancer traffic served by this
|
|
# backend service.
|
|
# Corresponds to the JSON property `logConfig`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceLogConfig]
|
|
attr_accessor :log_config
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `maxStreamDuration`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :max_stream_duration
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The URL of the network to which this backend service belongs. This field can
|
|
# only be specified when the load balancing scheme is set to INTERNAL.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# Settings controlling the eviction of unhealthy hosts from the load balancing
|
|
# pool for the backend service.
|
|
# Corresponds to the JSON property `outlierDetection`
|
|
# @return [Google::Apis::ComputeAlpha::OutlierDetection]
|
|
attr_accessor :outlier_detection
|
|
|
|
# Deprecated in favor of portName. The TCP port to connect on the backend. The
|
|
# default value is 80. For Internal TCP/UDP Load Balancing and Network Load
|
|
# Balancing, omit port.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# A named port on a backend instance group representing the port for
|
|
# communication to the backend VMs in that group. The named port must be [
|
|
# defined on each backend instance group](https://cloud.google.com/load-
|
|
# balancing/docs/backend-service#named_ports). This parameter has no meaning if
|
|
# the backends are NEGs. For Internal TCP/UDP Load Balancing and Network Load
|
|
# Balancing, omit port_name.
|
|
# Corresponds to the JSON property `portName`
|
|
# @return [String]
|
|
attr_accessor :port_name
|
|
|
|
# The protocol this BackendService uses to communicate with backends. Possible
|
|
# values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen
|
|
# load balancer or Traffic Director configuration. Refer to the documentation
|
|
# for the load balancers or for Traffic Director for more information. Must be
|
|
# set to GRPC when the backend service is referenced by a URL map that is bound
|
|
# to target gRPC proxy.
|
|
# Corresponds to the JSON property `protocol`
|
|
# @return [String]
|
|
attr_accessor :protocol
|
|
|
|
# [Output Only] URL of the region where the regional backend service resides.
|
|
# This field is not applicable to global backend services. You must specify this
|
|
# field as part of the HTTP request URL. It is not settable as a field in the
|
|
# request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] The resource URL for the security policy associated with this
|
|
# backend service.
|
|
# Corresponds to the JSON property `securityPolicy`
|
|
# @return [String]
|
|
attr_accessor :security_policy
|
|
|
|
# The authentication and authorization settings for a BackendService.
|
|
# Corresponds to the JSON property `securitySettings`
|
|
# @return [Google::Apis::ComputeAlpha::SecuritySettings]
|
|
attr_accessor :security_settings
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# URLs of networkservices.ServiceBinding resources. Can only be set if load
|
|
# balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and
|
|
# health checks must be both empty.
|
|
# Corresponds to the JSON property `serviceBindings`
|
|
# @return [Array<String>]
|
|
attr_accessor :service_bindings
|
|
|
|
# URL to networkservices.ServiceLbPolicy resource. Can only be set if load
|
|
# balancing scheme is EXTERNAL, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED. If
|
|
# used with a backend service, must reference a global policy. If used with a
|
|
# regional backend service, must reference a regional policy.
|
|
# Corresponds to the JSON property `serviceLbPolicy`
|
|
# @return [String]
|
|
attr_accessor :service_lb_policy
|
|
|
|
# Type of session affinity to use. The default is NONE. Only NONE and
|
|
# HEADER_FIELD are supported when the backend service is referenced by a URL map
|
|
# that is bound to target gRPC proxy that has validateForProxyless field set to
|
|
# true. For more details, see: [Session Affinity](https://cloud.google.com/load-
|
|
# balancing/docs/backend-service#session_affinity).
|
|
# Corresponds to the JSON property `sessionAffinity`
|
|
# @return [String]
|
|
attr_accessor :session_affinity
|
|
|
|
# Subsetting configuration for this BackendService. Currently this is applicable
|
|
# only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
|
|
# Traffic Director.
|
|
# Corresponds to the JSON property `subsetting`
|
|
# @return [Google::Apis::ComputeAlpha::Subsetting]
|
|
attr_accessor :subsetting
|
|
|
|
# The backend service timeout has a different meaning depending on the type of
|
|
# load balancer. For more information see, Backend service settings. The default
|
|
# is 30 seconds. The full range of timeout values allowed goes from 1 through 2,
|
|
# 147,483,647 seconds. This value can be overridden in the PathMatcher
|
|
# configuration of the UrlMap that references this backend service. Not
|
|
# supported when the backend service is referenced by a URL map that is bound to
|
|
# target gRPC proxy that has validateForProxyless field set to true. Instead,
|
|
# use maxStreamDuration.
|
|
# Corresponds to the JSON property `timeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :timeout_sec
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@affinity_cookie_ttl_sec = args[:affinity_cookie_ttl_sec] if args.key?(:affinity_cookie_ttl_sec)
|
|
@backends = args[:backends] if args.key?(:backends)
|
|
@cdn_policy = args[:cdn_policy] if args.key?(:cdn_policy)
|
|
@circuit_breakers = args[:circuit_breakers] if args.key?(:circuit_breakers)
|
|
@compression_mode = args[:compression_mode] if args.key?(:compression_mode)
|
|
@connection_draining = args[:connection_draining] if args.key?(:connection_draining)
|
|
@connection_tracking_policy = args[:connection_tracking_policy] if args.key?(:connection_tracking_policy)
|
|
@consistent_hash = args[:consistent_hash] if args.key?(:consistent_hash)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@custom_request_headers = args[:custom_request_headers] if args.key?(:custom_request_headers)
|
|
@custom_response_headers = args[:custom_response_headers] if args.key?(:custom_response_headers)
|
|
@description = args[:description] if args.key?(:description)
|
|
@edge_security_policy = args[:edge_security_policy] if args.key?(:edge_security_policy)
|
|
@enable_cdn = args[:enable_cdn] if args.key?(:enable_cdn)
|
|
@failover_policy = args[:failover_policy] if args.key?(:failover_policy)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@health_checks = args[:health_checks] if args.key?(:health_checks)
|
|
@iap = args[:iap] if args.key?(:iap)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
|
|
@locality_lb_policies = args[:locality_lb_policies] if args.key?(:locality_lb_policies)
|
|
@locality_lb_policy = args[:locality_lb_policy] if args.key?(:locality_lb_policy)
|
|
@log_config = args[:log_config] if args.key?(:log_config)
|
|
@max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@outlier_detection = args[:outlier_detection] if args.key?(:outlier_detection)
|
|
@port = args[:port] if args.key?(:port)
|
|
@port_name = args[:port_name] if args.key?(:port_name)
|
|
@protocol = args[:protocol] if args.key?(:protocol)
|
|
@region = args[:region] if args.key?(:region)
|
|
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
|
@security_settings = args[:security_settings] if args.key?(:security_settings)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@service_bindings = args[:service_bindings] if args.key?(:service_bindings)
|
|
@service_lb_policy = args[:service_lb_policy] if args.key?(:service_lb_policy)
|
|
@session_affinity = args[:session_affinity] if args.key?(:session_affinity)
|
|
@subsetting = args[:subsetting] if args.key?(:subsetting)
|
|
@timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
|
|
end
|
|
end
|
|
|
|
# Contains a list of BackendServicesScopedList.
|
|
class BackendServiceAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of BackendServicesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::BackendServicesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendServiceAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Message containing Cloud CDN configuration for a backend service.
|
|
class BackendServiceCdnPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Bypass the cache when the specified request headers are matched - e.g. Pragma
|
|
# or Authorization headers. Up to 5 headers can be specified. The cache is
|
|
# bypassed for all cdnPolicy.cacheMode settings.
|
|
# Corresponds to the JSON property `bypassCacheOnRequestHeaders`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendServiceCdnPolicyBypassCacheOnRequestHeader>]
|
|
attr_accessor :bypass_cache_on_request_headers
|
|
|
|
# Message containing what to include in the cache key for a request for Cloud
|
|
# CDN.
|
|
# Corresponds to the JSON property `cacheKeyPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::CacheKeyPolicy]
|
|
attr_accessor :cache_key_policy
|
|
|
|
# Specifies the cache setting for all responses from this backend. The possible
|
|
# values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching
|
|
# headers to cache content. Responses without these headers will not be cached
|
|
# at Google's edge, and will require a full trip to the origin on every request,
|
|
# potentially impacting performance and increasing load on the origin server.
|
|
# FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-
|
|
# cache" directives in Cache-Control response headers. Warning: this may result
|
|
# in Cloud CDN caching private, per-user (user identifiable) content.
|
|
# CACHE_ALL_STATIC Automatically cache static content, including common image
|
|
# formats, media (video and audio), and web assets (JavaScript and CSS).
|
|
# Requests and responses that are marked as uncacheable, as well as dynamic
|
|
# content (including HTML), will not be cached.
|
|
# Corresponds to the JSON property `cacheMode`
|
|
# @return [String]
|
|
attr_accessor :cache_mode
|
|
|
|
# Specifies a separate client (e.g. browser client) maximum TTL. This is used to
|
|
# clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL,
|
|
# the lesser of client_ttl and default_ttl is used for the response max-age
|
|
# directive, along with a "public" directive. For cacheable content in
|
|
# CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if
|
|
# specified), or else sets the response max-age directive to the lesser of the
|
|
# client_ttl and default_ttl, and also ensures a "public" cache-control
|
|
# directive is present. If a client TTL is not specified, a default value (1
|
|
# hour) will be used. The maximum allowed value is 31,622,400s (1 year).
|
|
# Corresponds to the JSON property `clientTtl`
|
|
# @return [Fixnum]
|
|
attr_accessor :client_ttl
|
|
|
|
# Specifies the default TTL for cached content served by this origin for
|
|
# responses that do not have an existing valid TTL (max-age or s-max-age).
|
|
# Setting a TTL of "0" means "always revalidate". The value of defaultTTL cannot
|
|
# be set to a value greater than that of maxTTL, but can be equal. When the
|
|
# cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set
|
|
# in all responses. The maximum allowed value is 31,622,400s (1 year), noting
|
|
# that infrequently accessed objects may be evicted from the cache before the
|
|
# defined TTL.
|
|
# Corresponds to the JSON property `defaultTtl`
|
|
# @return [Fixnum]
|
|
attr_accessor :default_ttl
|
|
|
|
# Specifies the maximum allowed TTL for cached content served by this origin.
|
|
# Cache directives that attempt to set a max-age or s-maxage higher than this,
|
|
# or an Expires header more than maxTTL seconds in the future will be capped at
|
|
# the value of maxTTL, as if it were the value of an s-maxage Cache-Control
|
|
# directive. Headers sent to the client will not be modified. Setting a TTL of "
|
|
# 0" means "always revalidate". The maximum allowed value is 31,622,400s (1 year)
|
|
# , noting that infrequently accessed objects may be evicted from the cache
|
|
# before the defined TTL.
|
|
# Corresponds to the JSON property `maxTtl`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_ttl
|
|
|
|
# Negative caching allows per-status code TTLs to be set, in order to apply fine-
|
|
# grained caching for common errors or redirects. This can reduce the load on
|
|
# your origin and improve end-user experience by reducing response latency. When
|
|
# the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative
|
|
# caching applies to responses with the specified response code that lack any
|
|
# Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is
|
|
# set to FORCE_CACHE_ALL, negative caching applies to all responses with the
|
|
# specified response code, and override any caching headers. By default, Cloud
|
|
# CDN will apply the following default TTLs to these status codes: HTTP 300 (
|
|
# Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found),
|
|
# 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not
|
|
# Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults
|
|
# can be overridden in negative_caching_policy.
|
|
# Corresponds to the JSON property `negativeCaching`
|
|
# @return [Boolean]
|
|
attr_accessor :negative_caching
|
|
alias_method :negative_caching?, :negative_caching
|
|
|
|
# Sets a cache TTL for the specified HTTP status code. negative_caching must be
|
|
# enabled to configure negative_caching_policy. Omitting the policy and leaving
|
|
# negative_caching enabled will use Cloud CDN's default cache TTLs. Note that
|
|
# when specifying an explicit negative_caching_policy, you should take care to
|
|
# specify a cache TTL for all response codes that you wish to cache. Cloud CDN
|
|
# will not apply any default negative caching when a policy exists.
|
|
# Corresponds to the JSON property `negativeCachingPolicy`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendServiceCdnPolicyNegativeCachingPolicy>]
|
|
attr_accessor :negative_caching_policy
|
|
|
|
# If true then Cloud CDN will combine multiple concurrent cache fill requests
|
|
# into a small number of requests to the origin.
|
|
# Corresponds to the JSON property `requestCoalescing`
|
|
# @return [Boolean]
|
|
attr_accessor :request_coalescing
|
|
alias_method :request_coalescing?, :request_coalescing
|
|
|
|
# Serve existing content from the cache (if available) when revalidating content
|
|
# with the origin, or when an error is encountered when refreshing the cache.
|
|
# This setting defines the default "max-stale" duration for any cached responses
|
|
# that do not specify a max-stale directive. Stale responses that exceed the TTL
|
|
# configured here will not be served. The default limit (max-stale) is 86400s (1
|
|
# day), which will allow stale content to be served up to this limit beyond the
|
|
# max-age (or s-max-age) of a cached response. The maximum allowed value is
|
|
# 604800 (1 week). Set this to zero (0) to disable serve-while-stale.
|
|
# Corresponds to the JSON property `serveWhileStale`
|
|
# @return [Fixnum]
|
|
attr_accessor :serve_while_stale
|
|
|
|
# Maximum number of seconds the response to a signed URL request will be
|
|
# considered fresh. After this time period, the response will be revalidated
|
|
# before being served. Defaults to 1hr (3600s). When serving responses to signed
|
|
# URL requests, Cloud CDN will internally behave as though all responses from
|
|
# this backend had a "Cache-Control: public, max-age=[TTL]" header, regardless
|
|
# of any existing Cache-Control header. The actual headers served in responses
|
|
# will not be altered.
|
|
# Corresponds to the JSON property `signedUrlCacheMaxAgeSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :signed_url_cache_max_age_sec
|
|
|
|
# [Output Only] Names of the keys for signing request URLs.
|
|
# Corresponds to the JSON property `signedUrlKeyNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :signed_url_key_names
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bypass_cache_on_request_headers = args[:bypass_cache_on_request_headers] if args.key?(:bypass_cache_on_request_headers)
|
|
@cache_key_policy = args[:cache_key_policy] if args.key?(:cache_key_policy)
|
|
@cache_mode = args[:cache_mode] if args.key?(:cache_mode)
|
|
@client_ttl = args[:client_ttl] if args.key?(:client_ttl)
|
|
@default_ttl = args[:default_ttl] if args.key?(:default_ttl)
|
|
@max_ttl = args[:max_ttl] if args.key?(:max_ttl)
|
|
@negative_caching = args[:negative_caching] if args.key?(:negative_caching)
|
|
@negative_caching_policy = args[:negative_caching_policy] if args.key?(:negative_caching_policy)
|
|
@request_coalescing = args[:request_coalescing] if args.key?(:request_coalescing)
|
|
@serve_while_stale = args[:serve_while_stale] if args.key?(:serve_while_stale)
|
|
@signed_url_cache_max_age_sec = args[:signed_url_cache_max_age_sec] if args.key?(:signed_url_cache_max_age_sec)
|
|
@signed_url_key_names = args[:signed_url_key_names] if args.key?(:signed_url_key_names)
|
|
end
|
|
end
|
|
|
|
# Bypass the cache when the specified request headers are present, e.g. Pragma
|
|
# or Authorization headers. Values are case insensitive. The presence of such a
|
|
# header overrides the cache_mode setting.
|
|
class BackendServiceCdnPolicyBypassCacheOnRequestHeader
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The header field name to match on when bypassing cache. Values are case-
|
|
# insensitive.
|
|
# Corresponds to the JSON property `headerName`
|
|
# @return [String]
|
|
attr_accessor :header_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@header_name = args[:header_name] if args.key?(:header_name)
|
|
end
|
|
end
|
|
|
|
# Specify CDN TTLs for response error codes.
|
|
class BackendServiceCdnPolicyNegativeCachingPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The HTTP status code to define a TTL against. Only HTTP status codes 300, 301,
|
|
# 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values,
|
|
# and you cannot specify a status code more than once.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [Fixnum]
|
|
attr_accessor :code
|
|
|
|
# The TTL (in seconds) for which to cache responses with the corresponding
|
|
# status code. The maximum allowed value is 1800s (30 minutes), noting that
|
|
# infrequently accessed objects may be evicted from the cache before the defined
|
|
# TTL.
|
|
# Corresponds to the JSON property `ttl`
|
|
# @return [Fixnum]
|
|
attr_accessor :ttl
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@ttl = args[:ttl] if args.key?(:ttl)
|
|
end
|
|
end
|
|
|
|
# Connection Tracking configuration for this BackendService.
|
|
class BackendServiceConnectionTrackingPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies connection persistence when backends are unhealthy. The default
|
|
# value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing
|
|
# connections persist on unhealthy backends only for connection-oriented
|
|
# protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (
|
|
# default tracking mode) or the Session Affinity is configured for 5-tuple. They
|
|
# do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes
|
|
# unhealthy, the existing connections on the unhealthy backend are never
|
|
# persisted on the unhealthy backend. They are always diverted to newly selected
|
|
# healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST,
|
|
# existing connections always persist on unhealthy backends regardless of
|
|
# protocol and session affinity. It is generally not recommended to use this
|
|
# mode overriding the default. For more details, see [Connection Persistence for
|
|
# Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/
|
|
# networklb-backend-service#connection-persistence) and [Connection Persistence
|
|
# for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/
|
|
# docs/internal#connection-persistence).
|
|
# Corresponds to the JSON property `connectionPersistenceOnUnhealthyBackends`
|
|
# @return [String]
|
|
attr_accessor :connection_persistence_on_unhealthy_backends
|
|
|
|
# Enable Strong Session Affinity for Network Load Balancing. This option is not
|
|
# available publicly.
|
|
# Corresponds to the JSON property `enableStrongAffinity`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_strong_affinity
|
|
alias_method :enable_strong_affinity?, :enable_strong_affinity
|
|
|
|
# Specifies how long to keep a Connection Tracking entry while there is no
|
|
# matching traffic (in seconds). For Internal TCP/UDP Load Balancing: - The
|
|
# minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set
|
|
# only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is
|
|
# CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is
|
|
# PER_SESSION). For Network Load Balancer the default is 60 seconds. This option
|
|
# is not available publicly.
|
|
# Corresponds to the JSON property `idleTimeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :idle_timeout_sec
|
|
|
|
# Specifies the key used for connection tracking. There are two options: -
|
|
# PER_CONNECTION: This is the default mode. The Connection Tracking is performed
|
|
# as per the Connection Key (default Hash Method) for the specific protocol. -
|
|
# PER_SESSION: The Connection Tracking is performed as per the configured
|
|
# Session Affinity. It matches the configured Session Affinity. For more details,
|
|
# see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-
|
|
# balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking
|
|
# Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-
|
|
# balancing/docs/internal#tracking-mode).
|
|
# Corresponds to the JSON property `trackingMode`
|
|
# @return [String]
|
|
attr_accessor :tracking_mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@connection_persistence_on_unhealthy_backends = args[:connection_persistence_on_unhealthy_backends] if args.key?(:connection_persistence_on_unhealthy_backends)
|
|
@enable_strong_affinity = args[:enable_strong_affinity] if args.key?(:enable_strong_affinity)
|
|
@idle_timeout_sec = args[:idle_timeout_sec] if args.key?(:idle_timeout_sec)
|
|
@tracking_mode = args[:tracking_mode] if args.key?(:tracking_mode)
|
|
end
|
|
end
|
|
|
|
# For load balancers that have configurable failover: [Internal TCP/UDP Load
|
|
# Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-
|
|
# overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-
|
|
# balancing/docs/network/networklb-failover-overview). On failover or failback,
|
|
# this field indicates whether connection draining will be honored. Google Cloud
|
|
# has a fixed connection draining timeout of 10 minutes. A setting of true
|
|
# terminates existing TCP connections to the active pool during failover and
|
|
# failback, immediately draining traffic. A setting of false allows existing TCP
|
|
# connections to persist, even on VMs no longer in the active pool, for up to
|
|
# the duration of the connection draining timeout (10 minutes).
|
|
class BackendServiceFailoverPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This can be set to true only if the protocol is TCP. The default is false.
|
|
# Corresponds to the JSON property `disableConnectionDrainOnFailover`
|
|
# @return [Boolean]
|
|
attr_accessor :disable_connection_drain_on_failover
|
|
alias_method :disable_connection_drain_on_failover?, :disable_connection_drain_on_failover
|
|
|
|
# If set to true, connections to the load balancer are dropped when all primary
|
|
# and all backup backend VMs are unhealthy.If set to false, connections are
|
|
# distributed among all primary VMs when all primary and all backup backend VMs
|
|
# are unhealthy. For load balancers that have configurable failover: [Internal
|
|
# TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/
|
|
# failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.
|
|
# com/load-balancing/docs/network/networklb-failover-overview). The default is
|
|
# false.
|
|
# Corresponds to the JSON property `dropTrafficIfUnhealthy`
|
|
# @return [Boolean]
|
|
attr_accessor :drop_traffic_if_unhealthy
|
|
alias_method :drop_traffic_if_unhealthy?, :drop_traffic_if_unhealthy
|
|
|
|
# The value of the field must be in the range [0, 1]. If the value is 0, the
|
|
# load balancer performs a failover when the number of healthy primary VMs
|
|
# equals zero. For all other values, the load balancer performs a failover when
|
|
# the total number of healthy primary VMs is less than this ratio. For load
|
|
# balancers that have configurable failover: [Internal TCP/UDP Load Balancing](
|
|
# https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [
|
|
# external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/
|
|
# network/networklb-failover-overview).
|
|
# Corresponds to the JSON property `failoverRatio`
|
|
# @return [Float]
|
|
attr_accessor :failover_ratio
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disable_connection_drain_on_failover = args[:disable_connection_drain_on_failover] if args.key?(:disable_connection_drain_on_failover)
|
|
@drop_traffic_if_unhealthy = args[:drop_traffic_if_unhealthy] if args.key?(:drop_traffic_if_unhealthy)
|
|
@failover_ratio = args[:failover_ratio] if args.key?(:failover_ratio)
|
|
end
|
|
end
|
|
|
|
#
|
|
class BackendServiceGroupHealth
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Metadata defined as annotations on the network endpoint group.
|
|
# Corresponds to the JSON property `annotations`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :annotations
|
|
|
|
# Health state of the backend instances or endpoints in requested instance or
|
|
# network endpoint group, determined based on configured health checks.
|
|
# Corresponds to the JSON property `healthStatus`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthStatus>]
|
|
attr_accessor :health_status
|
|
|
|
# [Output Only] Type of resource. Always compute#backendServiceGroupHealth for
|
|
# the health of backend services.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@annotations = args[:annotations] if args.key?(:annotations)
|
|
@health_status = args[:health_status] if args.key?(:health_status)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
end
|
|
end
|
|
|
|
# Identity-Aware Proxy
|
|
class BackendServiceIap
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether the serving infrastructure will authenticate and authorize all
|
|
# incoming requests. If true, the oauth2ClientId and oauth2ClientSecret fields
|
|
# must be non-empty.
|
|
# Corresponds to the JSON property `enabled`
|
|
# @return [Boolean]
|
|
attr_accessor :enabled
|
|
alias_method :enabled?, :enabled
|
|
|
|
# OAuth2 client ID to use for the authentication flow.
|
|
# Corresponds to the JSON property `oauth2ClientId`
|
|
# @return [String]
|
|
attr_accessor :oauth2_client_id
|
|
|
|
# [Input Only] OAuth client info required to generate client id to be used for
|
|
# IAP.
|
|
# Corresponds to the JSON property `oauth2ClientInfo`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceIapoAuth2ClientInfo]
|
|
attr_accessor :oauth2_client_info
|
|
|
|
# OAuth2 client secret to use for the authentication flow. For security reasons,
|
|
# this value cannot be retrieved via the API. Instead, the SHA-256 hash of the
|
|
# value is returned in the oauth2ClientSecretSha256 field. @InputOnly
|
|
# Corresponds to the JSON property `oauth2ClientSecret`
|
|
# @return [String]
|
|
attr_accessor :oauth2_client_secret
|
|
|
|
# [Output Only] SHA256 hash value for the field oauth2_client_secret above.
|
|
# Corresponds to the JSON property `oauth2ClientSecretSha256`
|
|
# @return [String]
|
|
attr_accessor :oauth2_client_secret_sha256
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enabled = args[:enabled] if args.key?(:enabled)
|
|
@oauth2_client_id = args[:oauth2_client_id] if args.key?(:oauth2_client_id)
|
|
@oauth2_client_info = args[:oauth2_client_info] if args.key?(:oauth2_client_info)
|
|
@oauth2_client_secret = args[:oauth2_client_secret] if args.key?(:oauth2_client_secret)
|
|
@oauth2_client_secret_sha256 = args[:oauth2_client_secret_sha256] if args.key?(:oauth2_client_secret_sha256)
|
|
end
|
|
end
|
|
|
|
#
|
|
class BackendServiceIapoAuth2ClientInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Application name to be used in OAuth consent screen.
|
|
# Corresponds to the JSON property `applicationName`
|
|
# @return [String]
|
|
attr_accessor :application_name
|
|
|
|
# Name of the client to be generated. Optional - If not provided, the name will
|
|
# be autogenerated by the backend.
|
|
# Corresponds to the JSON property `clientName`
|
|
# @return [String]
|
|
attr_accessor :client_name
|
|
|
|
# Developer's information to be used in OAuth consent screen.
|
|
# Corresponds to the JSON property `developerEmailAddress`
|
|
# @return [String]
|
|
attr_accessor :developer_email_address
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@application_name = args[:application_name] if args.key?(:application_name)
|
|
@client_name = args[:client_name] if args.key?(:client_name)
|
|
@developer_email_address = args[:developer_email_address] if args.key?(:developer_email_address)
|
|
end
|
|
end
|
|
|
|
# Contains a list of BackendService resources.
|
|
class BackendServiceList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of BackendService resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendService>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#backendServiceList for lists of
|
|
# backend services.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendServiceList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Container for either a built-in LB policy supported by gRPC or Envoy or a
|
|
# custom one implemented by the end user.
|
|
class BackendServiceLocalityLoadBalancingPolicyConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The configuration for a custom policy implemented by the user and deployed
|
|
# with the client.
|
|
# Corresponds to the JSON property `customPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy]
|
|
attr_accessor :custom_policy
|
|
|
|
# The configuration for a built-in load balancing policy.
|
|
# Corresponds to the JSON property `policy`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceLocalityLoadBalancingPolicyConfigPolicy]
|
|
attr_accessor :policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@custom_policy = args[:custom_policy] if args.key?(:custom_policy)
|
|
@policy = args[:policy] if args.key?(:policy)
|
|
end
|
|
end
|
|
|
|
# The configuration for a custom policy implemented by the user and deployed
|
|
# with the client.
|
|
class BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An optional, arbitrary JSON object with configuration data, understood by a
|
|
# locally installed custom policy implementation.
|
|
# Corresponds to the JSON property `data`
|
|
# @return [String]
|
|
attr_accessor :data
|
|
|
|
# Identifies the custom policy. The value should match the type the custom
|
|
# implementation is registered with on the gRPC clients. It should follow
|
|
# protocol buffer message naming conventions and include the full path (e.g.
|
|
# myorg.CustomLbPolicy). The maximum length is 256 characters. Note that
|
|
# specifying the same custom policy more than once for a backend is not a valid
|
|
# configuration and will be rejected.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@data = args[:data] if args.key?(:data)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
# The configuration for a built-in load balancing policy.
|
|
class BackendServiceLocalityLoadBalancingPolicyConfigPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The name of a locality load balancer policy to be used. The value should be
|
|
# one of the predefined ones as supported by localityLbPolicy, although at the
|
|
# moment only ROUND_ROBIN is supported. This field should only be populated when
|
|
# the customPolicy field is not used. Note that specifying the same policy more
|
|
# than once for a backend is not a valid configuration and will be rejected.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
# The available logging options for the load balancer traffic served by this
|
|
# backend service.
|
|
class BackendServiceLogConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This field denotes whether to enable logging for the load balancer traffic
|
|
# served by this backend service.
|
|
# Corresponds to the JSON property `enable`
|
|
# @return [Boolean]
|
|
attr_accessor :enable
|
|
alias_method :enable?, :enable
|
|
|
|
# This field can only be specified if logging is enabled for this backend
|
|
# service. The value of the field must be in [0, 1]. This configures the
|
|
# sampling rate of requests to the load balancer where 1.0 means all logged
|
|
# requests are reported and 0.0 means no logged requests are reported. The
|
|
# default value is 1.0.
|
|
# Corresponds to the JSON property `sampleRate`
|
|
# @return [Float]
|
|
attr_accessor :sample_rate
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable = args[:enable] if args.key?(:enable)
|
|
@sample_rate = args[:sample_rate] if args.key?(:sample_rate)
|
|
end
|
|
end
|
|
|
|
#
|
|
class BackendServiceReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `backendService`
|
|
# @return [String]
|
|
attr_accessor :backend_service
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@backend_service = args[:backend_service] if args.key?(:backend_service)
|
|
end
|
|
end
|
|
|
|
#
|
|
class BackendServicesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of BackendServices contained in this scope.
|
|
# Corresponds to the JSON property `backendServices`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendService>]
|
|
attr_accessor :backend_services
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServicesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@backend_services = args[:backend_services] if args.key?(:backend_services)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::BackendServicesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class BfdPacket
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Authentication Present bit of the BFD packet. This is specified in section
|
|
# 4.1 of RFC5880
|
|
# Corresponds to the JSON property `authenticationPresent`
|
|
# @return [Boolean]
|
|
attr_accessor :authentication_present
|
|
alias_method :authentication_present?, :authentication_present
|
|
|
|
# The Control Plane Independent bit of the BFD packet. This is specified in
|
|
# section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `controlPlaneIndependent`
|
|
# @return [Boolean]
|
|
attr_accessor :control_plane_independent
|
|
alias_method :control_plane_independent?, :control_plane_independent
|
|
|
|
# The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `demand`
|
|
# @return [Boolean]
|
|
attr_accessor :demand
|
|
alias_method :demand?, :demand
|
|
|
|
# The diagnostic code specifies the local system's reason for the last change in
|
|
# session state. This allows remote systems to determine the reason that the
|
|
# previous session failed, for example. These diagnostic codes are specified in
|
|
# section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `diagnostic`
|
|
# @return [String]
|
|
attr_accessor :diagnostic
|
|
|
|
# The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `final`
|
|
# @return [Boolean]
|
|
attr_accessor :final
|
|
alias_method :final?, :final
|
|
|
|
# The length of the BFD Control packet in bytes. This is specified in section 4.
|
|
# 1 of RFC5880
|
|
# Corresponds to the JSON property `length`
|
|
# @return [Fixnum]
|
|
attr_accessor :length
|
|
|
|
# The Required Min Echo RX Interval value in the BFD packet. This is specified
|
|
# in section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `minEchoRxIntervalMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_echo_rx_interval_ms
|
|
|
|
# The Required Min RX Interval value in the BFD packet. This is specified in
|
|
# section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `minRxIntervalMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_rx_interval_ms
|
|
|
|
# The Desired Min TX Interval value in the BFD packet. This is specified in
|
|
# section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `minTxIntervalMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_tx_interval_ms
|
|
|
|
# The detection time multiplier of the BFD packet. This is specified in section
|
|
# 4.1 of RFC5880
|
|
# Corresponds to the JSON property `multiplier`
|
|
# @return [Fixnum]
|
|
attr_accessor :multiplier
|
|
|
|
# The multipoint bit of the BFD packet. This is specified in section 4.1 of
|
|
# RFC5880
|
|
# Corresponds to the JSON property `multipoint`
|
|
# @return [Boolean]
|
|
attr_accessor :multipoint
|
|
alias_method :multipoint?, :multipoint
|
|
|
|
# The My Discriminator value in the BFD packet. This is specified in section 4.1
|
|
# of RFC5880
|
|
# Corresponds to the JSON property `myDiscriminator`
|
|
# @return [Fixnum]
|
|
attr_accessor :my_discriminator
|
|
|
|
# The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `poll`
|
|
# @return [Boolean]
|
|
attr_accessor :poll
|
|
alias_method :poll?, :poll
|
|
|
|
# The current BFD session state as seen by the transmitting system. These states
|
|
# are specified in section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
# The version number of the BFD protocol, as specified in section 4.1 of RFC5880.
|
|
# Corresponds to the JSON property `version`
|
|
# @return [Fixnum]
|
|
attr_accessor :version
|
|
|
|
# The Your Discriminator value in the BFD packet. This is specified in section 4.
|
|
# 1 of RFC5880
|
|
# Corresponds to the JSON property `yourDiscriminator`
|
|
# @return [Fixnum]
|
|
attr_accessor :your_discriminator
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@authentication_present = args[:authentication_present] if args.key?(:authentication_present)
|
|
@control_plane_independent = args[:control_plane_independent] if args.key?(:control_plane_independent)
|
|
@demand = args[:demand] if args.key?(:demand)
|
|
@diagnostic = args[:diagnostic] if args.key?(:diagnostic)
|
|
@final = args[:final] if args.key?(:final)
|
|
@length = args[:length] if args.key?(:length)
|
|
@min_echo_rx_interval_ms = args[:min_echo_rx_interval_ms] if args.key?(:min_echo_rx_interval_ms)
|
|
@min_rx_interval_ms = args[:min_rx_interval_ms] if args.key?(:min_rx_interval_ms)
|
|
@min_tx_interval_ms = args[:min_tx_interval_ms] if args.key?(:min_tx_interval_ms)
|
|
@multiplier = args[:multiplier] if args.key?(:multiplier)
|
|
@multipoint = args[:multipoint] if args.key?(:multipoint)
|
|
@my_discriminator = args[:my_discriminator] if args.key?(:my_discriminator)
|
|
@poll = args[:poll] if args.key?(:poll)
|
|
@state = args[:state] if args.key?(:state)
|
|
@version = args[:version] if args.key?(:version)
|
|
@your_discriminator = args[:your_discriminator] if args.key?(:your_discriminator)
|
|
end
|
|
end
|
|
|
|
# Next free: 15
|
|
class BfdStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
|
|
# Cloud Router will initiate the BFD session for this BGP peer. If set to
|
|
# PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
|
|
# session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
|
|
# peer.
|
|
# Corresponds to the JSON property `bfdSessionInitializationMode`
|
|
# @return [String]
|
|
attr_accessor :bfd_session_initialization_mode
|
|
|
|
# Unix timestamp of the most recent config update.
|
|
# Corresponds to the JSON property `configUpdateTimestampMicros`
|
|
# @return [Fixnum]
|
|
attr_accessor :config_update_timestamp_micros
|
|
|
|
# Control packet counts for the current BFD session.
|
|
# Corresponds to the JSON property `controlPacketCounts`
|
|
# @return [Google::Apis::ComputeAlpha::BfdStatusPacketCounts]
|
|
attr_accessor :control_packet_counts
|
|
|
|
# Inter-packet time interval statistics for control packets.
|
|
# Corresponds to the JSON property `controlPacketIntervals`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PacketIntervals>]
|
|
attr_accessor :control_packet_intervals
|
|
|
|
# Echo packet counts for the current BFD session.
|
|
# Corresponds to the JSON property `echoPacketCounts`
|
|
# @return [Google::Apis::ComputeAlpha::BfdStatusPacketCounts]
|
|
attr_accessor :echo_packet_counts
|
|
|
|
# Inter-packet time interval statistics for echo packets.
|
|
# Corresponds to the JSON property `echoPacketIntervals`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PacketIntervals>]
|
|
attr_accessor :echo_packet_intervals
|
|
|
|
# The diagnostic code specifies the local system's reason for the last change in
|
|
# session state. This allows remote systems to determine the reason that the
|
|
# previous session failed, for example. These diagnostic codes are specified in
|
|
# section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `localDiagnostic`
|
|
# @return [String]
|
|
attr_accessor :local_diagnostic
|
|
|
|
# The current BFD session state as seen by the transmitting system. These states
|
|
# are specified in section 4.1 of RFC5880
|
|
# Corresponds to the JSON property `localState`
|
|
# @return [String]
|
|
attr_accessor :local_state
|
|
|
|
# Negotiated transmit interval for control packets.
|
|
# Corresponds to the JSON property `negotiatedLocalControlTxIntervalMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :negotiated_local_control_tx_interval_ms
|
|
|
|
# Negotiated transmit interval for echo packets.
|
|
# Corresponds to the JSON property `negotiatedLocalEchoTxIntervalMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :negotiated_local_echo_tx_interval_ms
|
|
|
|
# The most recent Rx control packet for this BFD session.
|
|
# Corresponds to the JSON property `rxPacket`
|
|
# @return [Google::Apis::ComputeAlpha::BfdPacket]
|
|
attr_accessor :rx_packet
|
|
|
|
# The most recent Tx control packet for this BFD session.
|
|
# Corresponds to the JSON property `txPacket`
|
|
# @return [Google::Apis::ComputeAlpha::BfdPacket]
|
|
attr_accessor :tx_packet
|
|
|
|
# Session uptime in milliseconds. Value will be 0 if session is not up.
|
|
# Corresponds to the JSON property `uptimeMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :uptime_ms
|
|
|
|
# Indicates if echo mode is currently being used.
|
|
# Corresponds to the JSON property `usingEchoMode`
|
|
# @return [Boolean]
|
|
attr_accessor :using_echo_mode
|
|
alias_method :using_echo_mode?, :using_echo_mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bfd_session_initialization_mode = args[:bfd_session_initialization_mode] if args.key?(:bfd_session_initialization_mode)
|
|
@config_update_timestamp_micros = args[:config_update_timestamp_micros] if args.key?(:config_update_timestamp_micros)
|
|
@control_packet_counts = args[:control_packet_counts] if args.key?(:control_packet_counts)
|
|
@control_packet_intervals = args[:control_packet_intervals] if args.key?(:control_packet_intervals)
|
|
@echo_packet_counts = args[:echo_packet_counts] if args.key?(:echo_packet_counts)
|
|
@echo_packet_intervals = args[:echo_packet_intervals] if args.key?(:echo_packet_intervals)
|
|
@local_diagnostic = args[:local_diagnostic] if args.key?(:local_diagnostic)
|
|
@local_state = args[:local_state] if args.key?(:local_state)
|
|
@negotiated_local_control_tx_interval_ms = args[:negotiated_local_control_tx_interval_ms] if args.key?(:negotiated_local_control_tx_interval_ms)
|
|
@negotiated_local_echo_tx_interval_ms = args[:negotiated_local_echo_tx_interval_ms] if args.key?(:negotiated_local_echo_tx_interval_ms)
|
|
@rx_packet = args[:rx_packet] if args.key?(:rx_packet)
|
|
@tx_packet = args[:tx_packet] if args.key?(:tx_packet)
|
|
@uptime_ms = args[:uptime_ms] if args.key?(:uptime_ms)
|
|
@using_echo_mode = args[:using_echo_mode] if args.key?(:using_echo_mode)
|
|
end
|
|
end
|
|
|
|
#
|
|
class BfdStatusPacketCounts
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Number of packets received since the beginning of the current BFD session.
|
|
# Corresponds to the JSON property `numRx`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_rx
|
|
|
|
# Number of packets received that were rejected because of errors since the
|
|
# beginning of the current BFD session.
|
|
# Corresponds to the JSON property `numRxRejected`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_rx_rejected
|
|
|
|
# Number of packets received that were successfully processed since the
|
|
# beginning of the current BFD session.
|
|
# Corresponds to the JSON property `numRxSuccessful`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_rx_successful
|
|
|
|
# Number of packets transmitted since the beginning of the current BFD session.
|
|
# Corresponds to the JSON property `numTx`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_tx
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@num_rx = args[:num_rx] if args.key?(:num_rx)
|
|
@num_rx_rejected = args[:num_rx_rejected] if args.key?(:num_rx_rejected)
|
|
@num_rx_successful = args[:num_rx_successful] if args.key?(:num_rx_successful)
|
|
@num_tx = args[:num_tx] if args.key?(:num_tx)
|
|
end
|
|
end
|
|
|
|
# Associates `members`, or principals, with a `role`.
|
|
class Binding
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `bindingId`
|
|
# @return [String]
|
|
attr_accessor :binding_id
|
|
|
|
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
|
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
|
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
|
# "Summary size limit" description: "Determines if a summary is less than 100
|
|
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
|
# Requestor is owner" description: "Determines if requestor is the document
|
|
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
|
# Logic): title: "Public documents" description: "Determine whether the document
|
|
# should be publicly visible" expression: "document.type != 'private' &&
|
|
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
|
# string" description: "Create a notification string with a timestamp."
|
|
# expression: "'New message received at ' + string(document.create_time)" The
|
|
# exact variables and functions that may be referenced within an expression are
|
|
# determined by the service that evaluates it. See the service documentation for
|
|
# additional information.
|
|
# Corresponds to the JSON property `condition`
|
|
# @return [Google::Apis::ComputeAlpha::Expr]
|
|
attr_accessor :condition
|
|
|
|
# Specifies the principals requesting access for a Cloud Platform resource. `
|
|
# members` can have the following values: * `allUsers`: A special identifier
|
|
# that represents anyone who is on the internet; with or without a Google
|
|
# account. * `allAuthenticatedUsers`: A special identifier that represents
|
|
# anyone who is authenticated with a Google account or a service account. * `
|
|
# user:`emailid``: An email address that represents a specific Google account.
|
|
# For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
|
|
# address that represents a service account. For example, `my-other-app@appspot.
|
|
# gserviceaccount.com`. * `group:`emailid``: An email address that represents a
|
|
# Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
|
|
# `uniqueid``: An email address (plus unique identifier) representing a user
|
|
# that has been recently deleted. For example, `alice@example.com?uid=
|
|
# 123456789012345678901`. If the user is recovered, this value reverts to `user:`
|
|
# emailid`` and the recovered user retains the role in the binding. * `deleted:
|
|
# serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
|
|
# identifier) representing a service account that has been recently deleted. For
|
|
# example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
|
|
# If the service account is undeleted, this value reverts to `serviceAccount:`
|
|
# emailid`` and the undeleted service account retains the role in the binding. *
|
|
# `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
|
|
# identifier) representing a Google group that has been recently deleted. For
|
|
# example, `admins@example.com?uid=123456789012345678901`. If the group is
|
|
# recovered, this value reverts to `group:`emailid`` and the recovered group
|
|
# retains the role in the binding. * `domain:`domain``: The G Suite domain (
|
|
# primary) that represents all the users of that domain. For example, `google.
|
|
# com` or `example.com`.
|
|
# Corresponds to the JSON property `members`
|
|
# @return [Array<String>]
|
|
attr_accessor :members
|
|
|
|
# Role that is assigned to the list of `members`, or principals. For example, `
|
|
# roles/viewer`, `roles/editor`, or `roles/owner`.
|
|
# Corresponds to the JSON property `role`
|
|
# @return [String]
|
|
attr_accessor :role
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@binding_id = args[:binding_id] if args.key?(:binding_id)
|
|
@condition = args[:condition] if args.key?(:condition)
|
|
@members = args[:members] if args.key?(:members)
|
|
@role = args[:role] if args.key?(:role)
|
|
end
|
|
end
|
|
|
|
# A transient resource used in compute.instances.bulkInsert and compute.
|
|
# regionInstances.bulkInsert . This resource is not persisted anywhere, it is
|
|
# used only for processing the requests.
|
|
class BulkInsertInstanceResource
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The maximum number of instances to create.
|
|
# Corresponds to the JSON property `count`
|
|
# @return [Fixnum]
|
|
attr_accessor :count
|
|
|
|
# Represents an Instance resource. An instance is a virtual machine that is
|
|
# hosted on Google Cloud Platform. For more information, read Virtual Machine
|
|
# Instances.
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [Google::Apis::ComputeAlpha::Instance]
|
|
attr_accessor :instance
|
|
|
|
# The instance properties defining the VM instances to be created. Required if
|
|
# sourceInstanceTemplate is not provided.
|
|
# Corresponds to the JSON property `instanceProperties`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceProperties]
|
|
attr_accessor :instance_properties
|
|
|
|
# Configuration for location policy among multiple possible locations (e.g.
|
|
# preferences for zone selection among zones in a single region).
|
|
# Corresponds to the JSON property `locationPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::LocationPolicy]
|
|
attr_accessor :location_policy
|
|
|
|
# The minimum number of instances to create. If no min_count is specified then
|
|
# count is used as the default value. If min_count instances cannot be created,
|
|
# then no instances will be created and instances already created will be
|
|
# deleted.
|
|
# Corresponds to the JSON property `minCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_count
|
|
|
|
# The string pattern used for the names of the VMs. Either name_pattern or
|
|
# per_instance_properties must be set. The pattern must contain one continuous
|
|
# sequence of placeholder hash characters (#) with each character corresponding
|
|
# to one digit of the generated instance name. Example: a name_pattern of inst-##
|
|
# ## generates instance names such as inst-0001 and inst-0002. If existing
|
|
# instances in the same project and zone have names that match the name pattern
|
|
# then the generated instance numbers start after the biggest existing number.
|
|
# For example, if there exists an instance with name inst-0050, then instance
|
|
# names generated using the pattern inst-#### begin with inst-0051. The name
|
|
# pattern placeholder #...# can contain up to 18 characters.
|
|
# Corresponds to the JSON property `namePattern`
|
|
# @return [String]
|
|
attr_accessor :name_pattern
|
|
|
|
# Per-instance properties to be set on individual instances. Keys of this map
|
|
# specify requested instance names. Can be empty if name_pattern is used.
|
|
# Corresponds to the JSON property `perInstanceProperties`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::BulkInsertInstanceResourcePerInstanceProperties>]
|
|
attr_accessor :per_instance_properties
|
|
|
|
# Specifies the instance template from which to create instances. You may
|
|
# combine sourceInstanceTemplate with instanceProperties to override specific
|
|
# values from an existing instance template. Bulk API follows the semantics of
|
|
# JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For
|
|
# example, the following are all valid URLs to an instance template: - https://
|
|
# www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/
|
|
# instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate -
|
|
# global/instanceTemplates/instanceTemplate This field is optional.
|
|
# Corresponds to the JSON property `sourceInstanceTemplate`
|
|
# @return [String]
|
|
attr_accessor :source_instance_template
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@count = args[:count] if args.key?(:count)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
@instance_properties = args[:instance_properties] if args.key?(:instance_properties)
|
|
@location_policy = args[:location_policy] if args.key?(:location_policy)
|
|
@min_count = args[:min_count] if args.key?(:min_count)
|
|
@name_pattern = args[:name_pattern] if args.key?(:name_pattern)
|
|
@per_instance_properties = args[:per_instance_properties] if args.key?(:per_instance_properties)
|
|
@source_instance_template = args[:source_instance_template] if args.key?(:source_instance_template)
|
|
end
|
|
end
|
|
|
|
# Per-instance properties to be set on individual instances. To be extended in
|
|
# the future.
|
|
class BulkInsertInstanceResourcePerInstanceProperties
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This field is only temporary. It will be removed. Do not use it.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
#
|
|
class CacheInvalidationRule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If set, this invalidation rule will only apply to requests with a Host header
|
|
# matching host.
|
|
# Corresponds to the JSON property `host`
|
|
# @return [String]
|
|
attr_accessor :host
|
|
|
|
#
|
|
# Corresponds to the JSON property `path`
|
|
# @return [String]
|
|
attr_accessor :path
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@host = args[:host] if args.key?(:host)
|
|
@path = args[:path] if args.key?(:path)
|
|
end
|
|
end
|
|
|
|
# Message containing what to include in the cache key for a request for Cloud
|
|
# CDN.
|
|
class CacheKeyPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If true, requests to different hosts will be cached separately.
|
|
# Corresponds to the JSON property `includeHost`
|
|
# @return [Boolean]
|
|
attr_accessor :include_host
|
|
alias_method :include_host?, :include_host
|
|
|
|
# Allows HTTP request headers (by name) to be used in the cache key.
|
|
# Corresponds to the JSON property `includeHttpHeaders`
|
|
# @return [Array<String>]
|
|
attr_accessor :include_http_headers
|
|
|
|
# Allows HTTP cookies (by name) to be used in the cache key. The name=value pair
|
|
# will be used in the cache key Cloud CDN generates.
|
|
# Corresponds to the JSON property `includeNamedCookies`
|
|
# @return [Array<String>]
|
|
attr_accessor :include_named_cookies
|
|
|
|
# If true, http and https requests will be cached separately.
|
|
# Corresponds to the JSON property `includeProtocol`
|
|
# @return [Boolean]
|
|
attr_accessor :include_protocol
|
|
alias_method :include_protocol?, :include_protocol
|
|
|
|
# If true, include query string parameters in the cache key according to
|
|
# query_string_whitelist and query_string_blacklist. If neither is set, the
|
|
# entire query string will be included. If false, the query string will be
|
|
# excluded from the cache key entirely.
|
|
# Corresponds to the JSON property `includeQueryString`
|
|
# @return [Boolean]
|
|
attr_accessor :include_query_string
|
|
alias_method :include_query_string?, :include_query_string
|
|
|
|
# Names of query string parameters to exclude in cache keys. All other
|
|
# parameters will be included. Either specify query_string_whitelist or
|
|
# query_string_blacklist, not both. '&' and '=' will be percent encoded and not
|
|
# treated as delimiters.
|
|
# Corresponds to the JSON property `queryStringBlacklist`
|
|
# @return [Array<String>]
|
|
attr_accessor :query_string_blacklist
|
|
|
|
# Names of query string parameters to include in cache keys. All other
|
|
# parameters will be excluded. Either specify query_string_whitelist or
|
|
# query_string_blacklist, not both. '&' and '=' will be percent encoded and not
|
|
# treated as delimiters.
|
|
# Corresponds to the JSON property `queryStringWhitelist`
|
|
# @return [Array<String>]
|
|
attr_accessor :query_string_whitelist
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@include_host = args[:include_host] if args.key?(:include_host)
|
|
@include_http_headers = args[:include_http_headers] if args.key?(:include_http_headers)
|
|
@include_named_cookies = args[:include_named_cookies] if args.key?(:include_named_cookies)
|
|
@include_protocol = args[:include_protocol] if args.key?(:include_protocol)
|
|
@include_query_string = args[:include_query_string] if args.key?(:include_query_string)
|
|
@query_string_blacklist = args[:query_string_blacklist] if args.key?(:query_string_blacklist)
|
|
@query_string_whitelist = args[:query_string_whitelist] if args.key?(:query_string_whitelist)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] gRPC call credentials to access the SDS server. gRPC call
|
|
# credentials to access the SDS server.
|
|
class CallCredentials
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The type of call credentials to use for GRPC requests to the SDS server. This
|
|
# field can be set to one of the following: - GCE_VM: The local GCE VM service
|
|
# account credentials are used to access the SDS server. - FROM_PLUGIN: Custom
|
|
# authenticator credentials are used to access the SDS server.
|
|
# Corresponds to the JSON property `callCredentialType`
|
|
# @return [String]
|
|
attr_accessor :call_credential_type
|
|
|
|
# [Deprecated] Custom authenticator credentials. Custom authenticator
|
|
# credentials.
|
|
# Corresponds to the JSON property `fromPlugin`
|
|
# @return [Google::Apis::ComputeAlpha::MetadataCredentialsFromPlugin]
|
|
attr_accessor :from_plugin
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@call_credential_type = args[:call_credential_type] if args.key?(:call_credential_type)
|
|
@from_plugin = args[:from_plugin] if args.key?(:from_plugin)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] gRPC channel credentials to access the SDS server. gRPC channel
|
|
# credentials to access the SDS server.
|
|
class ChannelCredentials
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] The paths to the mounted TLS Certificates and private key. The
|
|
# paths to the mounted TLS Certificates and private key.
|
|
# Corresponds to the JSON property `certificates`
|
|
# @return [Google::Apis::ComputeAlpha::TlsCertificatePaths]
|
|
attr_accessor :certificates
|
|
|
|
# The channel credentials to access the SDS server. This field can be set to one
|
|
# of the following: CERTIFICATES: Use TLS certificates to access the SDS server.
|
|
# GCE_VM: Use local GCE VM credentials to access the SDS server.
|
|
# Corresponds to the JSON property `channelCredentialType`
|
|
# @return [String]
|
|
attr_accessor :channel_credential_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificates = args[:certificates] if args.key?(:certificates)
|
|
@channel_credential_type = args[:channel_credential_type] if args.key?(:channel_credential_type)
|
|
end
|
|
end
|
|
|
|
# Settings controlling the volume of requests, connections and retries to this
|
|
# backend service.
|
|
class CircuitBreakers
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `connectTimeout`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :connect_timeout
|
|
|
|
# The maximum number of connections to the backend service. If not specified,
|
|
# there is no limit. Not supported when the backend service is referenced by a
|
|
# URL map that is bound to target gRPC proxy that has validateForProxyless field
|
|
# set to true.
|
|
# Corresponds to the JSON property `maxConnections`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_connections
|
|
|
|
# The maximum number of pending requests allowed to the backend service. If not
|
|
# specified, there is no limit. Not supported when the backend service is
|
|
# referenced by a URL map that is bound to target gRPC proxy that has
|
|
# validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `maxPendingRequests`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_pending_requests
|
|
|
|
# The maximum number of parallel requests that allowed to the backend service.
|
|
# If not specified, there is no limit.
|
|
# Corresponds to the JSON property `maxRequests`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_requests
|
|
|
|
# Maximum requests for a single connection to the backend service. This
|
|
# parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not
|
|
# specified, there is no limit. Setting this parameter to 1 will effectively
|
|
# disable keep alive. Not supported when the backend service is referenced by a
|
|
# URL map that is bound to target gRPC proxy that has validateForProxyless field
|
|
# set to true.
|
|
# Corresponds to the JSON property `maxRequestsPerConnection`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_requests_per_connection
|
|
|
|
# The maximum number of parallel retries allowed to the backend cluster. If not
|
|
# specified, the default is 1. Not supported when the backend service is
|
|
# referenced by a URL map that is bound to target gRPC proxy that has
|
|
# validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `maxRetries`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_retries
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@connect_timeout = args[:connect_timeout] if args.key?(:connect_timeout)
|
|
@max_connections = args[:max_connections] if args.key?(:max_connections)
|
|
@max_pending_requests = args[:max_pending_requests] if args.key?(:max_pending_requests)
|
|
@max_requests = args[:max_requests] if args.key?(:max_requests)
|
|
@max_requests_per_connection = args[:max_requests_per_connection] if args.key?(:max_requests_per_connection)
|
|
@max_retries = args[:max_retries] if args.key?(:max_retries)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] The client side authentication settings for connection
|
|
# originating from the backend service. the backend service.
|
|
class ClientTlsSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] The TLS settings for the client or server. The TLS settings for
|
|
# the client or server.
|
|
# Corresponds to the JSON property `clientTlsContext`
|
|
# @return [Google::Apis::ComputeAlpha::TlsContext]
|
|
attr_accessor :client_tls_context
|
|
|
|
# Indicates whether connections to this port should be secured using TLS. The
|
|
# value of this field determines how TLS is enforced. This can be set to one of
|
|
# the following values: DISABLE: Do not setup a TLS connection to the backends.
|
|
# SIMPLE: Originate a TLS connection to the backends. MUTUAL: Secure connections
|
|
# to the backends using mutual TLS by presenting client certificates for
|
|
# authentication.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
# SNI string to present to the server during TLS handshake. This field is
|
|
# applicable only when mode is SIMPLE or MUTUAL.
|
|
# Corresponds to the JSON property `sni`
|
|
# @return [String]
|
|
attr_accessor :sni
|
|
|
|
# A list of alternate names to verify the subject identity in the certificate.If
|
|
# specified, the proxy will verify that the server certificate's subject alt
|
|
# name matches one of the specified values. This field is applicable only when
|
|
# mode is SIMPLE or MUTUAL.
|
|
# Corresponds to the JSON property `subjectAltNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :subject_alt_names
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@client_tls_context = args[:client_tls_context] if args.key?(:client_tls_context)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
@sni = args[:sni] if args.key?(:sni)
|
|
@subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names)
|
|
end
|
|
end
|
|
|
|
# Represents a regional Commitment resource. Creating a commitment resource
|
|
# means that you are purchasing a committed use contract with an explicit start
|
|
# and end time. You can create commitments based on vCPUs and memory usage and
|
|
# receive discounted rates. For full details, read Signing Up for Committed Use
|
|
# Discounts.
|
|
class Commitment
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies whether to enable automatic renewal for the commitment. The default
|
|
# value is false if not specified. The field can be updated until the day of the
|
|
# commitment expiration at 12:00am PST. If the field is set to true, the
|
|
# commitment will be automatically renewed for either one or three years
|
|
# according to the terms of the existing commitment.
|
|
# Corresponds to the JSON property `autoRenew`
|
|
# @return [Boolean]
|
|
attr_accessor :auto_renew
|
|
alias_method :auto_renew?, :auto_renew
|
|
|
|
# The category of the commitment. Category MACHINE specifies commitments
|
|
# composed of machine resources such as VCPU or MEMORY, listed in resources.
|
|
# Category LICENSE specifies commitments composed of software licenses, listed
|
|
# in licenseResources. Note that only MACHINE commitments should have a Type
|
|
# specified.
|
|
# Corresponds to the JSON property `category`
|
|
# @return [String]
|
|
attr_accessor :category
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] Commitment end time in RFC3339 text format.
|
|
# Corresponds to the JSON property `endTimestamp`
|
|
# @return [String]
|
|
attr_accessor :end_timestamp
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#commitment for commitments.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Commitment for a particular license resource.
|
|
# Corresponds to the JSON property `licenseResource`
|
|
# @return [Google::Apis::ComputeAlpha::LicenseResourceCommitment]
|
|
attr_accessor :license_resource
|
|
|
|
# List of source commitments to be merged into a new commitment.
|
|
# Corresponds to the JSON property `mergeSourceCommitments`
|
|
# @return [Array<String>]
|
|
attr_accessor :merge_source_commitments
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The plan for this commitment, which determines duration and discount rate. The
|
|
# currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3
|
|
# years).
|
|
# Corresponds to the JSON property `plan`
|
|
# @return [String]
|
|
attr_accessor :plan
|
|
|
|
# [Output Only] URL of the region where this commitment may be used.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# List of reservations in this commitment.
|
|
# Corresponds to the JSON property `reservations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Reservation>]
|
|
attr_accessor :reservations
|
|
|
|
# A list of commitment amounts for particular resources. Note that VCPU and
|
|
# MEMORY resource commitments must occur together.
|
|
# Corresponds to the JSON property `resources`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ResourceCommitment>]
|
|
attr_accessor :resources
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Source commitment to be splitted into a new commitment.
|
|
# Corresponds to the JSON property `splitSourceCommitment`
|
|
# @return [String]
|
|
attr_accessor :split_source_commitment
|
|
|
|
# [Output Only] Commitment start time in RFC3339 text format.
|
|
# Corresponds to the JSON property `startTimestamp`
|
|
# @return [String]
|
|
attr_accessor :start_timestamp
|
|
|
|
# [Output Only] Status of the commitment with regards to eventual expiration (
|
|
# each commitment has an end date defined). One of the following values:
|
|
# NOT_YET_ACTIVE, ACTIVE, EXPIRED.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] An optional, human-readable explanation of the status.
|
|
# Corresponds to the JSON property `statusMessage`
|
|
# @return [String]
|
|
attr_accessor :status_message
|
|
|
|
# The type of commitment, which affects the discount rate and the eligible
|
|
# resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply
|
|
# to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a
|
|
# commitment that will only apply to accelerator optimized machines.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_renew = args[:auto_renew] if args.key?(:auto_renew)
|
|
@category = args[:category] if args.key?(:category)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@end_timestamp = args[:end_timestamp] if args.key?(:end_timestamp)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@license_resource = args[:license_resource] if args.key?(:license_resource)
|
|
@merge_source_commitments = args[:merge_source_commitments] if args.key?(:merge_source_commitments)
|
|
@name = args[:name] if args.key?(:name)
|
|
@plan = args[:plan] if args.key?(:plan)
|
|
@region = args[:region] if args.key?(:region)
|
|
@reservations = args[:reservations] if args.key?(:reservations)
|
|
@resources = args[:resources] if args.key?(:resources)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@split_source_commitment = args[:split_source_commitment] if args.key?(:split_source_commitment)
|
|
@start_timestamp = args[:start_timestamp] if args.key?(:start_timestamp)
|
|
@status = args[:status] if args.key?(:status)
|
|
@status_message = args[:status_message] if args.key?(:status_message)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class CommitmentAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of CommitmentsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::CommitmentsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#commitmentAggregatedList for
|
|
# aggregated lists of commitments.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::CommitmentAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::CommitmentAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of Commitment resources.
|
|
class CommitmentList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Commitment resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Commitment>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#commitmentList for lists of
|
|
# commitments.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::CommitmentList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::CommitmentList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class CommitmentsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of commitments contained in this scope.
|
|
# Corresponds to the JSON property `commitments`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Commitment>]
|
|
attr_accessor :commitments
|
|
|
|
# [Output Only] Informational warning which replaces the list of commitments
|
|
# when the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::CommitmentsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@commitments = args[:commitments] if args.key?(:commitments)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of commitments
|
|
# when the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::CommitmentsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
class Condition
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `iam`
|
|
# @return [String]
|
|
attr_accessor :iam
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `op`
|
|
# @return [String]
|
|
attr_accessor :op
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `svc`
|
|
# @return [String]
|
|
attr_accessor :svc
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `sys`
|
|
# @return [String]
|
|
attr_accessor :sys
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `values`
|
|
# @return [Array<String>]
|
|
attr_accessor :values
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@iam = args[:iam] if args.key?(:iam)
|
|
@op = args[:op] if args.key?(:op)
|
|
@svc = args[:svc] if args.key?(:svc)
|
|
@sys = args[:sys] if args.key?(:sys)
|
|
@values = args[:values] if args.key?(:values)
|
|
end
|
|
end
|
|
|
|
# A set of Confidential Instance options.
|
|
class ConfidentialInstanceConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Defines whether the instance should have confidential compute enabled.
|
|
# Corresponds to the JSON property `enableConfidentialCompute`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_confidential_compute
|
|
alias_method :enable_confidential_compute?, :enable_confidential_compute
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable_confidential_compute = args[:enable_confidential_compute] if args.key?(:enable_confidential_compute)
|
|
end
|
|
end
|
|
|
|
# Message containing connection draining configuration.
|
|
class ConnectionDraining
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Configures a duration timeout for existing requests on a removed backend
|
|
# instance. For supported load balancers and protocols, as described in Enabling
|
|
# connection draining.
|
|
# Corresponds to the JSON property `drainingTimeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :draining_timeout_sec
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@draining_timeout_sec = args[:draining_timeout_sec] if args.key?(:draining_timeout_sec)
|
|
end
|
|
end
|
|
|
|
# This message defines settings for a consistent hash style load balancer.
|
|
class ConsistentHashLoadBalancerSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The information about the HTTP Cookie on which the hash function is based for
|
|
# load balancing policies that use a consistent hash.
|
|
# Corresponds to the JSON property `httpCookie`
|
|
# @return [Google::Apis::ComputeAlpha::ConsistentHashLoadBalancerSettingsHttpCookie]
|
|
attr_accessor :http_cookie
|
|
|
|
# The hash based on the value of the specified header field. This field is
|
|
# applicable if the sessionAffinity is set to HEADER_FIELD.
|
|
# Corresponds to the JSON property `httpHeaderName`
|
|
# @return [String]
|
|
attr_accessor :http_header_name
|
|
|
|
# The minimum number of virtual nodes to use for the hash ring. Defaults to 1024.
|
|
# Larger ring sizes result in more granular load distributions. If the number
|
|
# of hosts in the load balancing pool is larger than the ring size, each host
|
|
# will be assigned a single virtual node.
|
|
# Corresponds to the JSON property `minimumRingSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :minimum_ring_size
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@http_cookie = args[:http_cookie] if args.key?(:http_cookie)
|
|
@http_header_name = args[:http_header_name] if args.key?(:http_header_name)
|
|
@minimum_ring_size = args[:minimum_ring_size] if args.key?(:minimum_ring_size)
|
|
end
|
|
end
|
|
|
|
# The information about the HTTP Cookie on which the hash function is based for
|
|
# load balancing policies that use a consistent hash.
|
|
class ConsistentHashLoadBalancerSettingsHttpCookie
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Name of the cookie.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Path to set for the cookie.
|
|
# Corresponds to the JSON property `path`
|
|
# @return [String]
|
|
attr_accessor :path
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `ttl`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :ttl
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@path = args[:path] if args.key?(:path)
|
|
@ttl = args[:ttl] if args.key?(:ttl)
|
|
end
|
|
end
|
|
|
|
# The specification for allowing client-side cross-origin requests. For more
|
|
# information about the W3C recommendation for cross-origin resource sharing (
|
|
# CORS), see Fetch API Living Standard.
|
|
class CorsPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# In response to a preflight request, setting this to true indicates that the
|
|
# actual request can include user credentials. This field translates to the
|
|
# Access-Control-Allow-Credentials header. Default is false.
|
|
# Corresponds to the JSON property `allowCredentials`
|
|
# @return [Boolean]
|
|
attr_accessor :allow_credentials
|
|
alias_method :allow_credentials?, :allow_credentials
|
|
|
|
# Specifies the content for the Access-Control-Allow-Headers header.
|
|
# Corresponds to the JSON property `allowHeaders`
|
|
# @return [Array<String>]
|
|
attr_accessor :allow_headers
|
|
|
|
# Specifies the content for the Access-Control-Allow-Methods header.
|
|
# Corresponds to the JSON property `allowMethods`
|
|
# @return [Array<String>]
|
|
attr_accessor :allow_methods
|
|
|
|
# Specifies a regular expression that matches allowed origins. For more
|
|
# information about the regular expression syntax, see Syntax. An origin is
|
|
# allowed if it matches either an item in allowOrigins or an item in
|
|
# allowOriginRegexes.
|
|
# Corresponds to the JSON property `allowOriginRegexes`
|
|
# @return [Array<String>]
|
|
attr_accessor :allow_origin_regexes
|
|
|
|
# Specifies the list of origins that is allowed to do CORS requests. An origin
|
|
# is allowed if it matches either an item in allowOrigins or an item in
|
|
# allowOriginRegexes.
|
|
# Corresponds to the JSON property `allowOrigins`
|
|
# @return [Array<String>]
|
|
attr_accessor :allow_origins
|
|
|
|
# If true, the setting specifies the CORS policy is disabled. The default value
|
|
# of false, which indicates that the CORS policy is in effect.
|
|
# Corresponds to the JSON property `disabled`
|
|
# @return [Boolean]
|
|
attr_accessor :disabled
|
|
alias_method :disabled?, :disabled
|
|
|
|
# Specifies the content for the Access-Control-Expose-Headers header.
|
|
# Corresponds to the JSON property `exposeHeaders`
|
|
# @return [Array<String>]
|
|
attr_accessor :expose_headers
|
|
|
|
# Specifies how long results of a preflight request can be cached in seconds.
|
|
# This field translates to the Access-Control-Max-Age header.
|
|
# Corresponds to the JSON property `maxAge`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_age
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@allow_credentials = args[:allow_credentials] if args.key?(:allow_credentials)
|
|
@allow_headers = args[:allow_headers] if args.key?(:allow_headers)
|
|
@allow_methods = args[:allow_methods] if args.key?(:allow_methods)
|
|
@allow_origin_regexes = args[:allow_origin_regexes] if args.key?(:allow_origin_regexes)
|
|
@allow_origins = args[:allow_origins] if args.key?(:allow_origins)
|
|
@disabled = args[:disabled] if args.key?(:disabled)
|
|
@expose_headers = args[:expose_headers] if args.key?(:expose_headers)
|
|
@max_age = args[:max_age] if args.key?(:max_age)
|
|
end
|
|
end
|
|
|
|
#
|
|
class CustomerEncryptionKey
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The name of the encryption key that is stored in Google Cloud KMS. For example:
|
|
# "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/
|
|
# cryptoKeys/key
|
|
# Corresponds to the JSON property `kmsKeyName`
|
|
# @return [String]
|
|
attr_accessor :kms_key_name
|
|
|
|
# The service account being used for the encryption request for the given KMS
|
|
# key. If absent, the Compute Engine default service account is used. For
|
|
# example: "kmsKeyServiceAccount": "name@project_id.iam.gserviceaccount.com/
|
|
# Corresponds to the JSON property `kmsKeyServiceAccount`
|
|
# @return [String]
|
|
attr_accessor :kms_key_service_account
|
|
|
|
# Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648
|
|
# base64 to either encrypt or decrypt this resource. You can provide either the
|
|
# rawKey or the rsaEncryptedKey. For example: "rawKey": "
|
|
# SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0="
|
|
# Corresponds to the JSON property `rawKey`
|
|
# @return [String]
|
|
attr_accessor :raw_key
|
|
|
|
# Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied
|
|
# encryption key to either encrypt or decrypt this resource. You can provide
|
|
# either the rawKey or the rsaEncryptedKey. For example: "rsaEncryptedKey": "
|
|
# ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH
|
|
# z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD
|
|
# D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==" The
|
|
# key must meet the following requirements before you can provide it to Compute
|
|
# Engine: 1. The key is wrapped using a RSA public key certificate provided by
|
|
# Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64
|
|
# encoding. Gets the RSA public key certificate provided by Google at: https://
|
|
# cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem
|
|
# Corresponds to the JSON property `rsaEncryptedKey`
|
|
# @return [String]
|
|
attr_accessor :rsa_encrypted_key
|
|
|
|
# [Output only] The RFC 4648 base64 encoded SHA-256 hash of the customer-
|
|
# supplied encryption key that protects this resource.
|
|
# Corresponds to the JSON property `sha256`
|
|
# @return [String]
|
|
attr_accessor :sha256
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
|
|
@kms_key_service_account = args[:kms_key_service_account] if args.key?(:kms_key_service_account)
|
|
@raw_key = args[:raw_key] if args.key?(:raw_key)
|
|
@rsa_encrypted_key = args[:rsa_encrypted_key] if args.key?(:rsa_encrypted_key)
|
|
@sha256 = args[:sha256] if args.key?(:sha256)
|
|
end
|
|
end
|
|
|
|
#
|
|
class CustomerEncryptionKeyProtectedDisk
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Decrypts data associated with the disk with a customer-supplied encryption key.
|
|
# Corresponds to the JSON property `diskEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :disk_encryption_key
|
|
|
|
# Specifies a valid partial or full URL to an existing Persistent Disk resource.
|
|
# This field is only applicable for persistent disks. For example: "source": "/
|
|
# compute/v1/projects/project_id/zones/zone/disks/ disk_name
|
|
# Corresponds to the JSON property `source`
|
|
# @return [String]
|
|
attr_accessor :source
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
|
@source = args[:source] if args.key?(:source)
|
|
end
|
|
end
|
|
|
|
# Deprecation status for a public resource.
|
|
class DeprecationStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An optional RFC3339 timestamp on or after which the state of this resource is
|
|
# intended to change to DELETED. This is only informational and the status will
|
|
# not change unless the client explicitly changes it.
|
|
# Corresponds to the JSON property `deleted`
|
|
# @return [String]
|
|
attr_accessor :deleted
|
|
|
|
# An optional RFC3339 timestamp on or after which the state of this resource is
|
|
# intended to change to DEPRECATED. This is only informational and the status
|
|
# will not change unless the client explicitly changes it.
|
|
# Corresponds to the JSON property `deprecated`
|
|
# @return [String]
|
|
attr_accessor :deprecated
|
|
|
|
# An optional RFC3339 timestamp on or after which the state of this resource is
|
|
# intended to change to OBSOLETE. This is only informational and the status will
|
|
# not change unless the client explicitly changes it.
|
|
# Corresponds to the JSON property `obsolete`
|
|
# @return [String]
|
|
attr_accessor :obsolete
|
|
|
|
# The URL of the suggested replacement for a deprecated resource. The suggested
|
|
# replacement resource must be the same kind of resource as the deprecated
|
|
# resource.
|
|
# Corresponds to the JSON property `replacement`
|
|
# @return [String]
|
|
attr_accessor :replacement
|
|
|
|
# The deprecation state of this resource. This can be ACTIVE, DEPRECATED,
|
|
# OBSOLETE, or DELETED. Operations which communicate the end of life date for an
|
|
# image, can use ACTIVE. Operations which create a new resource using a
|
|
# DEPRECATED resource will return successfully, but with a warning indicating
|
|
# the deprecated resource and recommending its replacement. Operations which use
|
|
# OBSOLETE or DELETED resources will be rejected and result in an error.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
# A rollout policy configuration.
|
|
# Corresponds to the JSON property `stateOverride`
|
|
# @return [Google::Apis::ComputeAlpha::RolloutPolicy]
|
|
attr_accessor :state_override
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@deleted = args[:deleted] if args.key?(:deleted)
|
|
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
|
@obsolete = args[:obsolete] if args.key?(:obsolete)
|
|
@replacement = args[:replacement] if args.key?(:replacement)
|
|
@state = args[:state] if args.key?(:state)
|
|
@state_override = args[:state_override] if args.key?(:state_override)
|
|
end
|
|
end
|
|
|
|
# Represents a Persistent Disk resource. Google Compute Engine has two Disk
|
|
# resources: * [Zonal](/compute/docs/reference/rest/alpha/disks) * [Regional](/
|
|
# compute/docs/reference/rest/alpha/regionDisks) Persistent disks are required
|
|
# for running your VM instances. Create both boot and non-boot (data) persistent
|
|
# disks. For more information, read Persistent Disks. For more storage options,
|
|
# read Storage options. The disks resource represents a zonal persistent disk.
|
|
# For more information, read Zonal persistent disks. The regionDisks resource
|
|
# represents a regional persistent disk. For more information, read Regional
|
|
# resources.
|
|
class Disk
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The architecture of the disk. Valid values are ARM64 or X86_64.
|
|
# Corresponds to the JSON property `architecture`
|
|
# @return [String]
|
|
attr_accessor :architecture
|
|
|
|
# Disk asynchronously replicated into this disk.
|
|
# Corresponds to the JSON property `asyncPrimaryDisk`
|
|
# @return [Google::Apis::ComputeAlpha::DiskAsyncReplication]
|
|
attr_accessor :async_primary_disk
|
|
|
|
# [Output Only] A list of disks this disk is asynchronously replicated to.
|
|
# Corresponds to the JSON property `asyncSecondaryDisks`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::DiskAsyncReplicationList>]
|
|
attr_accessor :async_secondary_disks
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Encrypts the disk using a customer-supplied encryption key or a customer-
|
|
# managed encryption key. Encryption keys do not protect access to metadata of
|
|
# the disk. After you encrypt a disk with a customer-supplied key, you must
|
|
# provide the same key if you use the disk later. For example, to create a disk
|
|
# snapshot, to create a disk image, to create a machine image, or to attach the
|
|
# disk to a virtual machine. After you encrypt a disk with a customer-managed
|
|
# key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the
|
|
# disk is created. The disk is encrypted with this version of the key. In the
|
|
# response, diskEncryptionKey.kmsKeyName appears in the following format: "
|
|
# diskEncryptionKey.kmsKeyName": "projects/kms_project_id/locations/region/
|
|
# keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not
|
|
# provide an encryption key when creating the disk, then the disk is encrypted
|
|
# using an automatically generated key and you don't need to provide a key to
|
|
# use the disk later.
|
|
# Corresponds to the JSON property `diskEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :disk_encryption_key
|
|
|
|
# Specifies whether the disk restored from a source snapshot should erase
|
|
# Windows specific VSS signature.
|
|
# Corresponds to the JSON property `eraseWindowsVssSignature`
|
|
# @return [Boolean]
|
|
attr_accessor :erase_windows_vss_signature
|
|
alias_method :erase_windows_vss_signature?, :erase_windows_vss_signature
|
|
|
|
# A list of features to enable on the guest operating system. Applicable only
|
|
# for bootable images. Read Enabling guest operating system features to see a
|
|
# list of available options.
|
|
# Corresponds to the JSON property `guestOsFeatures`
|
|
# @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
|
|
attr_accessor :guest_os_features
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Deprecated] Specifies the disk interface to use for attaching this disk,
|
|
# which is either SCSI or NVME. The default is SCSI.
|
|
# Corresponds to the JSON property `interface`
|
|
# @return [String]
|
|
attr_accessor :interface
|
|
|
|
# [Output Only] Type of the resource. Always compute#disk for disks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this disk, which is essentially
|
|
# a hash of the labels set used for optimistic locking. The fingerprint is
|
|
# initially generated by Compute Engine and changes after every request to
|
|
# modify or update labels. You must always provide an up-to-date fingerprint
|
|
# hash in order to update or change labels, otherwise the request will fail with
|
|
# error 412 conditionNotMet. To see the latest fingerprint, make a get() request
|
|
# to retrieve a disk.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels to apply to this disk. These can be later modified by the setLabels
|
|
# method.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# [Output Only] Last attach timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `lastAttachTimestamp`
|
|
# @return [String]
|
|
attr_accessor :last_attach_timestamp
|
|
|
|
# [Output Only] Last detach timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `lastDetachTimestamp`
|
|
# @return [String]
|
|
attr_accessor :last_detach_timestamp
|
|
|
|
# Integer license codes indicating which licenses are attached to this disk.
|
|
# Corresponds to the JSON property `licenseCodes`
|
|
# @return [Array<Fixnum>]
|
|
attr_accessor :license_codes
|
|
|
|
# A list of publicly visible licenses. Reserved for Google's use.
|
|
# Corresponds to the JSON property `licenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :licenses
|
|
|
|
# An opaque location hint used to place the disk close to other resources. This
|
|
# field is for use by internal tools that use the public API.
|
|
# Corresponds to the JSON property `locationHint`
|
|
# @return [String]
|
|
attr_accessor :location_hint
|
|
|
|
# [Output Only] The field indicates if the disk is created from a locked source
|
|
# image. Attachment of a disk created from a locked source image will cause the
|
|
# following operations to become irreversibly prohibited: - R/W or R/O disk
|
|
# attachment to any other instance - Disk detachment. And the disk can only be
|
|
# deleted when the instance is deleted - Creation of images or snapshots - Disk
|
|
# cloning Furthermore, the instance with at least one disk with locked flag set
|
|
# to true will be prohibited from performing the operations below: - Further
|
|
# attachment of secondary disks. - Detachment of any disks - Create machine
|
|
# images - Create instance template - Delete the instance with --keep-disk
|
|
# parameter set to true for locked disks - Attach a locked disk with --auto-
|
|
# delete parameter set to false
|
|
# Corresponds to the JSON property `locked`
|
|
# @return [Boolean]
|
|
attr_accessor :locked
|
|
alias_method :locked?, :locked
|
|
|
|
# Indicates whether or not the disk can be read/write attached to more than one
|
|
# instance.
|
|
# Corresponds to the JSON property `multiWriter`
|
|
# @return [Boolean]
|
|
attr_accessor :multi_writer
|
|
alias_method :multi_writer?, :multi_writer
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Internal use only.
|
|
# Corresponds to the JSON property `options`
|
|
# @return [String]
|
|
attr_accessor :options
|
|
|
|
# Physical block size of the persistent disk, in bytes. If not present in a
|
|
# request, a default value is used. The currently supported size is 4096, other
|
|
# sizes may be added in the future. If an unsupported value is requested, the
|
|
# error message will list the supported values for the caller's project.
|
|
# Corresponds to the JSON property `physicalBlockSizeBytes`
|
|
# @return [Fixnum]
|
|
attr_accessor :physical_block_size_bytes
|
|
|
|
# Indicates how many IOPS to provision for the disk. This sets the number of I/O
|
|
# operations per second that the disk can handle. Values must be between 10,000
|
|
# and 120,000. For more details, see the Extreme persistent disk documentation.
|
|
# Corresponds to the JSON property `provisionedIops`
|
|
# @return [Fixnum]
|
|
attr_accessor :provisioned_iops
|
|
|
|
# [Output Only] URL of the region where the disk resides. Only applicable for
|
|
# regional resources. You must specify this field as part of the HTTP request
|
|
# URL. It is not settable as a field in the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# URLs of the zones where the disk should be replicated to. Only applicable for
|
|
# regional resources.
|
|
# Corresponds to the JSON property `replicaZones`
|
|
# @return [Array<String>]
|
|
attr_accessor :replica_zones
|
|
|
|
# Resource policies applied to this disk for automatic snapshot creations.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
# [Output Only] Status information for the disk resource.
|
|
# Corresponds to the JSON property `resourceStatus`
|
|
# @return [Google::Apis::ComputeAlpha::DiskResourceStatus]
|
|
attr_accessor :resource_status
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# [Output Only] Server-defined fully-qualified URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource's resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Size, in GB, of the persistent disk. You can specify this field when creating
|
|
# a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk
|
|
# parameter, or specify it alone to create an empty persistent disk. If you
|
|
# specify this field along with a source, the value of sizeGb must not be less
|
|
# than the size of the source. Acceptable values are 1 to 65536, inclusive.
|
|
# Corresponds to the JSON property `sizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :size_gb
|
|
|
|
# [Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that
|
|
# was created using a consistency group.
|
|
# Corresponds to the JSON property `sourceConsistencyGroupPolicy`
|
|
# @return [String]
|
|
attr_accessor :source_consistency_group_policy
|
|
|
|
# [Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that
|
|
# was created using a consistency group.
|
|
# Corresponds to the JSON property `sourceConsistencyGroupPolicyId`
|
|
# @return [String]
|
|
attr_accessor :source_consistency_group_policy_id
|
|
|
|
# The source disk used to create this disk. You can provide this as a partial or
|
|
# full URL to the resource. For example, the following are valid values: - https:
|
|
# //www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk -
|
|
# https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/
|
|
# disk - projects/project/zones/zone/disks/disk - projects/project/regions/
|
|
# region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
|
|
# Corresponds to the JSON property `sourceDisk`
|
|
# @return [String]
|
|
attr_accessor :source_disk
|
|
|
|
# [Output Only] The unique ID of the disk used to create this disk. This value
|
|
# identifies the exact disk that was used to create this persistent disk. For
|
|
# example, if you created the persistent disk from a disk that was later deleted
|
|
# and recreated under the same name, the source disk ID would identify the exact
|
|
# version of the disk that was used.
|
|
# Corresponds to the JSON property `sourceDiskId`
|
|
# @return [String]
|
|
attr_accessor :source_disk_id
|
|
|
|
# The source image used to create this disk. If the source image is deleted,
|
|
# this field will not be set. To create a disk with one of the public operating
|
|
# system images, specify the image by its family name. For example, specify
|
|
# family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/
|
|
# images/family/debian-9 Alternatively, use a specific version of a public
|
|
# operating system image: projects/debian-cloud/global/images/debian-9-stretch-
|
|
# vYYYYMMDD To create a disk with a custom image that you created, specify the
|
|
# image name in the following format: global/images/my-custom-image You can also
|
|
# specify a custom image by its image family, which returns the latest version
|
|
# of the image in that family. Replace the image name with family/family-name:
|
|
# global/images/family/my-image-family
|
|
# Corresponds to the JSON property `sourceImage`
|
|
# @return [String]
|
|
attr_accessor :source_image
|
|
|
|
# The customer-supplied encryption key of the source image. Required if the
|
|
# source image is protected by a customer-supplied encryption key.
|
|
# Corresponds to the JSON property `sourceImageEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :source_image_encryption_key
|
|
|
|
# [Output Only] The ID value of the image used to create this disk. This value
|
|
# identifies the exact image that was used to create this persistent disk. For
|
|
# example, if you created the persistent disk from an image that was later
|
|
# deleted and recreated under the same name, the source image ID would identify
|
|
# the exact version of the image that was used.
|
|
# Corresponds to the JSON property `sourceImageId`
|
|
# @return [String]
|
|
attr_accessor :source_image_id
|
|
|
|
# The source instant snapshot used to create this disk. You can provide this as
|
|
# a partial or full URL to the resource. For example, the following are valid
|
|
# values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
|
|
# instantSnapshots/instantSnapshot - projects/project/zones/zone/
|
|
# instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
|
|
# Corresponds to the JSON property `sourceInstantSnapshot`
|
|
# @return [String]
|
|
attr_accessor :source_instant_snapshot
|
|
|
|
# [Output Only] The unique ID of the instant snapshot used to create this disk.
|
|
# This value identifies the exact instant snapshot that was used to create this
|
|
# persistent disk. For example, if you created the persistent disk from an
|
|
# instant snapshot that was later deleted and recreated under the same name, the
|
|
# source instant snapshot ID would identify the exact version of the instant
|
|
# snapshot that was used.
|
|
# Corresponds to the JSON property `sourceInstantSnapshotId`
|
|
# @return [String]
|
|
attr_accessor :source_instant_snapshot_id
|
|
|
|
# The source snapshot used to create this disk. You can provide this as a
|
|
# partial or full URL to the resource. For example, the following are valid
|
|
# values: - https://www.googleapis.com/compute/v1/projects/project /global/
|
|
# snapshots/snapshot - projects/project/global/snapshots/snapshot - global/
|
|
# snapshots/snapshot
|
|
# Corresponds to the JSON property `sourceSnapshot`
|
|
# @return [String]
|
|
attr_accessor :source_snapshot
|
|
|
|
# The customer-supplied encryption key of the source snapshot. Required if the
|
|
# source snapshot is protected by a customer-supplied encryption key.
|
|
# Corresponds to the JSON property `sourceSnapshotEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :source_snapshot_encryption_key
|
|
|
|
# [Output Only] The unique ID of the snapshot used to create this disk. This
|
|
# value identifies the exact snapshot that was used to create this persistent
|
|
# disk. For example, if you created the persistent disk from a snapshot that was
|
|
# later deleted and recreated under the same name, the source snapshot ID would
|
|
# identify the exact version of the snapshot that was used.
|
|
# Corresponds to the JSON property `sourceSnapshotId`
|
|
# @return [String]
|
|
attr_accessor :source_snapshot_id
|
|
|
|
# The full Google Cloud Storage URI where the disk image is stored. This file
|
|
# must be a gzip-compressed tarball whose name ends in .tar.gz or virtual
|
|
# machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https:
|
|
# //storage.googleapis.com/. This flag is not optimized for creating multiple
|
|
# disks from a source storage object. To create many disks from a source storage
|
|
# object, use gcloud compute images import instead.
|
|
# Corresponds to the JSON property `sourceStorageObject`
|
|
# @return [String]
|
|
attr_accessor :source_storage_object
|
|
|
|
# [Output Only] The status of disk creation. - CREATING: Disk is provisioning. -
|
|
# RESTORING: Source data is being copied into the disk. - FAILED: Disk creation
|
|
# failed. - READY: Disk is ready for use. - DELETING: Disk is deleting.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Deprecated] Storage type of the persistent disk.
|
|
# Corresponds to the JSON property `storageType`
|
|
# @return [String]
|
|
attr_accessor :storage_type
|
|
|
|
# URL of the disk type resource describing which disk type to use to create the
|
|
# disk. Provide this when creating the disk. For example: projects/project /
|
|
# zones/zone/diskTypes/pd-ssd . See Persistent disk types.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# A list of publicly visible user-licenses. Unlike regular licenses, user
|
|
# provided licenses can be modified after the disk is created. This includes a
|
|
# list of URLs to the license resource. For example, to provide a debian license:
|
|
# https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/
|
|
# debian-9-stretch
|
|
# Corresponds to the JSON property `userLicenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :user_licenses
|
|
|
|
# [Output Only] Links to the users of the disk (attached instances) in form:
|
|
# projects/project/zones/zone/instances/instance
|
|
# Corresponds to the JSON property `users`
|
|
# @return [Array<String>]
|
|
attr_accessor :users
|
|
|
|
# [Output Only] URL of the zone where the disk resides. You must specify this
|
|
# field as part of the HTTP request URL. It is not settable as a field in the
|
|
# request body.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@architecture = args[:architecture] if args.key?(:architecture)
|
|
@async_primary_disk = args[:async_primary_disk] if args.key?(:async_primary_disk)
|
|
@async_secondary_disks = args[:async_secondary_disks] if args.key?(:async_secondary_disks)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
|
@erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature)
|
|
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
|
@id = args[:id] if args.key?(:id)
|
|
@interface = args[:interface] if args.key?(:interface)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@last_attach_timestamp = args[:last_attach_timestamp] if args.key?(:last_attach_timestamp)
|
|
@last_detach_timestamp = args[:last_detach_timestamp] if args.key?(:last_detach_timestamp)
|
|
@license_codes = args[:license_codes] if args.key?(:license_codes)
|
|
@licenses = args[:licenses] if args.key?(:licenses)
|
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
|
@locked = args[:locked] if args.key?(:locked)
|
|
@multi_writer = args[:multi_writer] if args.key?(:multi_writer)
|
|
@name = args[:name] if args.key?(:name)
|
|
@options = args[:options] if args.key?(:options)
|
|
@physical_block_size_bytes = args[:physical_block_size_bytes] if args.key?(:physical_block_size_bytes)
|
|
@provisioned_iops = args[:provisioned_iops] if args.key?(:provisioned_iops)
|
|
@region = args[:region] if args.key?(:region)
|
|
@replica_zones = args[:replica_zones] if args.key?(:replica_zones)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
@resource_status = args[:resource_status] if args.key?(:resource_status)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@size_gb = args[:size_gb] if args.key?(:size_gb)
|
|
@source_consistency_group_policy = args[:source_consistency_group_policy] if args.key?(:source_consistency_group_policy)
|
|
@source_consistency_group_policy_id = args[:source_consistency_group_policy_id] if args.key?(:source_consistency_group_policy_id)
|
|
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
|
@source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
|
|
@source_image = args[:source_image] if args.key?(:source_image)
|
|
@source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
|
|
@source_image_id = args[:source_image_id] if args.key?(:source_image_id)
|
|
@source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
|
|
@source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
|
|
@source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
|
|
@source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
|
|
@source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
|
|
@source_storage_object = args[:source_storage_object] if args.key?(:source_storage_object)
|
|
@status = args[:status] if args.key?(:status)
|
|
@storage_type = args[:storage_type] if args.key?(:storage_type)
|
|
@type = args[:type] if args.key?(:type)
|
|
@user_licenses = args[:user_licenses] if args.key?(:user_licenses)
|
|
@users = args[:users] if args.key?(:users)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DiskAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of DisksScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::DisksScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#diskAggregatedList for
|
|
# aggregated lists of persistent disks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::DiskAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DiskAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class DiskAsyncReplication
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The other disk asynchronously replicated to or from the current disk. You can
|
|
# provide this as a partial or full URL to the resource. For example, the
|
|
# following are valid values: - https://www.googleapis.com/compute/v1/projects/
|
|
# project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk -
|
|
# zones/zone/disks/disk
|
|
# Corresponds to the JSON property `disk`
|
|
# @return [String]
|
|
attr_accessor :disk
|
|
|
|
# [Output Only] The unique ID of the other disk asynchronously replicated to or
|
|
# from the current disk. This value identifies the exact disk that was used to
|
|
# create this replication. For example, if you started replicating the
|
|
# persistent disk from a disk that was later deleted and recreated under the
|
|
# same name, the disk ID would identify the exact version of the disk that was
|
|
# used.
|
|
# Corresponds to the JSON property `diskId`
|
|
# @return [String]
|
|
attr_accessor :disk_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disk = args[:disk] if args.key?(:disk)
|
|
@disk_id = args[:disk_id] if args.key?(:disk_id)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DiskAsyncReplicationList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `asyncReplicationDisk`
|
|
# @return [Google::Apis::ComputeAlpha::DiskAsyncReplication]
|
|
attr_accessor :async_replication_disk
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@async_replication_disk = args[:async_replication_disk] if args.key?(:async_replication_disk)
|
|
end
|
|
end
|
|
|
|
# A specification of the desired way to instantiate a disk in the instance
|
|
# template when its created from a source instance.
|
|
class DiskInstantiationConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies whether the disk will be auto-deleted when the instance is deleted (
|
|
# but not when the disk is detached from the instance).
|
|
# Corresponds to the JSON property `autoDelete`
|
|
# @return [Boolean]
|
|
attr_accessor :auto_delete
|
|
alias_method :auto_delete?, :auto_delete
|
|
|
|
# The custom source image to be used to restore this disk when instantiating
|
|
# this instance template.
|
|
# Corresponds to the JSON property `customImage`
|
|
# @return [String]
|
|
attr_accessor :custom_image
|
|
|
|
# Specifies the device name of the disk to which the configurations apply to.
|
|
# Corresponds to the JSON property `deviceName`
|
|
# @return [String]
|
|
attr_accessor :device_name
|
|
|
|
# Specifies whether to include the disk and what image to use. Possible values
|
|
# are: - source-image: to use the same image that was used to create the source
|
|
# instance's corresponding disk. Applicable to the boot disk and additional read-
|
|
# write disks. - source-image-family: to use the same image family that was used
|
|
# to create the source instance's corresponding disk. Applicable to the boot
|
|
# disk and additional read-write disks. - custom-image: to use a user-provided
|
|
# image url for disk creation. Applicable to the boot disk and additional read-
|
|
# write disks. - attach-read-only: to attach a read-only disk. Applicable to
|
|
# read-only disks. - do-not-include: to exclude a disk from the template.
|
|
# Applicable to additional read-write disks, local SSDs, and read-only disks.
|
|
# Corresponds to the JSON property `instantiateFrom`
|
|
# @return [String]
|
|
attr_accessor :instantiate_from
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
|
@custom_image = args[:custom_image] if args.key?(:custom_image)
|
|
@device_name = args[:device_name] if args.key?(:device_name)
|
|
@instantiate_from = args[:instantiate_from] if args.key?(:instantiate_from)
|
|
end
|
|
end
|
|
|
|
# A list of Disk resources.
|
|
class DiskList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Disk resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Disk>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#diskList for lists of disks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::DiskList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DiskList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class DiskMoveRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the destination zone to move the disk. This can be a full or
|
|
# partial URL. For example, the following are all valid URLs to a zone: - https:/
|
|
# /www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/
|
|
# zones/zone - zones/zone
|
|
# Corresponds to the JSON property `destinationZone`
|
|
# @return [String]
|
|
attr_accessor :destination_zone
|
|
|
|
# The URL of the target disk to move. This can be a full or partial URL. For
|
|
# example, the following are all valid URLs to a disk: - https://www.googleapis.
|
|
# com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/
|
|
# zones/zone/disks/disk - zones/zone/disks/disk
|
|
# Corresponds to the JSON property `targetDisk`
|
|
# @return [String]
|
|
attr_accessor :target_disk
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@destination_zone = args[:destination_zone] if args.key?(:destination_zone)
|
|
@target_disk = args[:target_disk] if args.key?(:target_disk)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DiskResourceStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `asyncPrimaryDisk`
|
|
# @return [Google::Apis::ComputeAlpha::DiskResourceStatusAsyncReplicationStatus]
|
|
attr_accessor :async_primary_disk
|
|
|
|
# Key: disk, value: AsyncReplicationStatus message
|
|
# Corresponds to the JSON property `asyncSecondaryDisks`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::DiskResourceStatusAsyncReplicationStatus>]
|
|
attr_accessor :async_secondary_disks
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@async_primary_disk = args[:async_primary_disk] if args.key?(:async_primary_disk)
|
|
@async_secondary_disks = args[:async_secondary_disks] if args.key?(:async_secondary_disks)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DiskResourceStatusAsyncReplicationStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@state = args[:state] if args.key?(:state)
|
|
end
|
|
end
|
|
|
|
# Represents a Disk Type resource. Google Compute Engine has two Disk Type
|
|
# resources: * [Regional](/compute/docs/reference/rest/alpha/regionDiskTypes) * [
|
|
# Zonal](/compute/docs/reference/rest/alpha/diskTypes) You can choose from a
|
|
# variety of disk types based on your needs. For more information, read Storage
|
|
# options. The diskTypes resource represents disk types for a zonal persistent
|
|
# disk. For more information, read Zonal persistent disks. The regionDiskTypes
|
|
# resource represents disk types for a regional persistent disk. For more
|
|
# information, read Regional persistent disks.
|
|
class DiskType
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# [Output Only] Server-defined default disk size in GB.
|
|
# Corresponds to the JSON property `defaultDiskSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :default_disk_size_gb
|
|
|
|
# Deprecation status for a public resource.
|
|
# Corresponds to the JSON property `deprecated`
|
|
# @return [Google::Apis::ComputeAlpha::DeprecationStatus]
|
|
attr_accessor :deprecated
|
|
|
|
# [Output Only] An optional description of this resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#diskType for disk types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Name of the resource.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] URL of the region where the disk type resides. Only applicable
|
|
# for regional resources. You must specify this field as part of the HTTP
|
|
# request URL. It is not settable as a field in the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] An optional textual description of the valid disk size, such as "
|
|
# 10GB-10TB".
|
|
# Corresponds to the JSON property `validDiskSize`
|
|
# @return [String]
|
|
attr_accessor :valid_disk_size
|
|
|
|
# [Output Only] URL of the zone where the disk type resides. You must specify
|
|
# this field as part of the HTTP request URL. It is not settable as a field in
|
|
# the request body.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@default_disk_size_gb = args[:default_disk_size_gb] if args.key?(:default_disk_size_gb)
|
|
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@valid_disk_size = args[:valid_disk_size] if args.key?(:valid_disk_size)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DiskTypeAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of DiskTypesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::DiskTypesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#diskTypeAggregatedList.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::DiskTypeAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DiskTypeAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of disk types.
|
|
class DiskTypeList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of DiskType resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DiskType>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#diskTypeList for disk types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::DiskTypeList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DiskTypeList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class DiskTypesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of disk types contained in this scope.
|
|
# Corresponds to the JSON property `diskTypes`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DiskType>]
|
|
attr_accessor :disk_types
|
|
|
|
# [Output Only] Informational warning which replaces the list of disk types when
|
|
# the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::DiskTypesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disk_types = args[:disk_types] if args.key?(:disk_types)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of disk types when
|
|
# the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DiskTypesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class DisksAddResourcePoliciesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Full or relative path to the resource policy to be added to this disk. You can
|
|
# only specify one resource policy.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DisksRemoveResourcePoliciesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Resource policies to be removed from this disk.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DisksResizeRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The new size of the persistent disk, which is specified in GB.
|
|
# Corresponds to the JSON property `sizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :size_gb
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@size_gb = args[:size_gb] if args.key?(:size_gb)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DisksScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of disks contained in this scope.
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Disk>]
|
|
attr_accessor :disks
|
|
|
|
# [Output Only] Informational warning which replaces the list of disks when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::DisksScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of disks when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DisksScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class DisksStartAsyncReplicationRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The secondary disk to start asynchronous replication to. You can provide this
|
|
# as a partial or full URL to the resource. For example, the following are valid
|
|
# values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
|
|
# disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/
|
|
# region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/
|
|
# regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
|
|
# Corresponds to the JSON property `asyncSecondaryDisk`
|
|
# @return [String]
|
|
attr_accessor :async_secondary_disk
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DisksStopAsyncReplicationRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The secondary disk to stop asynchronous replication to. Supplied if and only
|
|
# if the target disk is a primary disk in an asynchronously replicated pair. You
|
|
# can provide this as a partial or full URL to the resource. For example, the
|
|
# following are valid values: - https://www.googleapis.com/compute/v1/projects/
|
|
# project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/
|
|
# projects/project/regions/region /disks/disk - projects/project/zones/zone/
|
|
# disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/
|
|
# disk - regions/region/disks/disk
|
|
# Corresponds to the JSON property `asyncSecondaryDisk`
|
|
# @return [String]
|
|
attr_accessor :async_secondary_disk
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DisksStopGroupAsyncReplicationRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This
|
|
# may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/
|
|
# projects/project/regions/region /resourcePolicies/resourcePolicy - projects/
|
|
# project/regions/region/resourcePolicies/resourcePolicy - regions/region/
|
|
# resourcePolicies/resourcePolicy
|
|
# Corresponds to the JSON property `resourcePolicy`
|
|
# @return [String]
|
|
attr_accessor :resource_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_policy = args[:resource_policy] if args.key?(:resource_policy)
|
|
end
|
|
end
|
|
|
|
# A set of Display Device options
|
|
class DisplayDevice
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Defines whether the instance has Display enabled.
|
|
# Corresponds to the JSON property `enableDisplay`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_display
|
|
alias_method :enable_display?, :enable_display
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable_display = args[:enable_display] if args.key?(:enable_display)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DistributionPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The distribution shape to which the group converges either proactively or on
|
|
# resize events (depending on the value set in updatePolicy.
|
|
# instanceRedistributionType).
|
|
# Corresponds to the JSON property `targetShape`
|
|
# @return [String]
|
|
attr_accessor :target_shape
|
|
|
|
# Zones where the regional managed instance group will create and manage its
|
|
# instances.
|
|
# Corresponds to the JSON property `zones`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DistributionPolicyZoneConfiguration>]
|
|
attr_accessor :zones
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@target_shape = args[:target_shape] if args.key?(:target_shape)
|
|
@zones = args[:zones] if args.key?(:zones)
|
|
end
|
|
end
|
|
|
|
#
|
|
class DistributionPolicyZoneConfiguration
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the zone. The zone must exist in the region where the managed
|
|
# instance group is located.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
class Duration
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Span of time that's a fraction of a second at nanosecond resolution. Durations
|
|
# less than one second are represented with a 0 `seconds` field and a positive `
|
|
# nanos` field. Must be from 0 to 999,999,999 inclusive.
|
|
# Corresponds to the JSON property `nanos`
|
|
# @return [Fixnum]
|
|
attr_accessor :nanos
|
|
|
|
# Span of time at a resolution of a second. Must be from 0 to 315,576,000,000
|
|
# inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24
|
|
# hr/day * 365.25 days/year * 10000 years
|
|
# Corresponds to the JSON property `seconds`
|
|
# @return [Fixnum]
|
|
attr_accessor :seconds
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@nanos = args[:nanos] if args.key?(:nanos)
|
|
@seconds = args[:seconds] if args.key?(:seconds)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ExchangedPeeringRoute
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The destination range of the route.
|
|
# Corresponds to the JSON property `destRange`
|
|
# @return [String]
|
|
attr_accessor :dest_range
|
|
|
|
# True if the peering route has been imported from a peer. The actual import
|
|
# happens if the field networkPeering.importCustomRoutes is true for this
|
|
# network, and networkPeering.exportCustomRoutes is true for the peer network,
|
|
# and the import does not result in a route conflict.
|
|
# Corresponds to the JSON property `imported`
|
|
# @return [Boolean]
|
|
attr_accessor :imported
|
|
alias_method :imported?, :imported
|
|
|
|
# The region of peering route next hop, only applies to dynamic routes.
|
|
# Corresponds to the JSON property `nextHopRegion`
|
|
# @return [String]
|
|
attr_accessor :next_hop_region
|
|
|
|
# The priority of the peering route.
|
|
# Corresponds to the JSON property `priority`
|
|
# @return [Fixnum]
|
|
attr_accessor :priority
|
|
|
|
# The type of the peering route.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@dest_range = args[:dest_range] if args.key?(:dest_range)
|
|
@imported = args[:imported] if args.key?(:imported)
|
|
@next_hop_region = args[:next_hop_region] if args.key?(:next_hop_region)
|
|
@priority = args[:priority] if args.key?(:priority)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ExchangedPeeringRoutesList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of ExchangedPeeringRoute resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ExchangedPeeringRoute>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for
|
|
# exchanged peering routes lists.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ExchangedPeeringRoutesList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ExchangedPeeringRoutesList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
|
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
|
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
|
# "Summary size limit" description: "Determines if a summary is less than 100
|
|
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
|
# Requestor is owner" description: "Determines if requestor is the document
|
|
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
|
# Logic): title: "Public documents" description: "Determine whether the document
|
|
# should be publicly visible" expression: "document.type != 'private' &&
|
|
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
|
# string" description: "Create a notification string with a timestamp."
|
|
# expression: "'New message received at ' + string(document.create_time)" The
|
|
# exact variables and functions that may be referenced within an expression are
|
|
# determined by the service that evaluates it. See the service documentation for
|
|
# additional information.
|
|
class Expr
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional. Description of the expression. This is a longer text which describes
|
|
# the expression, e.g. when hovered over it in a UI.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Textual representation of an expression in Common Expression Language syntax.
|
|
# Corresponds to the JSON property `expression`
|
|
# @return [String]
|
|
attr_accessor :expression
|
|
|
|
# Optional. String indicating the location of the expression for error reporting,
|
|
# e.g. a file name and a position in the file.
|
|
# Corresponds to the JSON property `location`
|
|
# @return [String]
|
|
attr_accessor :location
|
|
|
|
# Optional. Title for the expression, i.e. a short string describing its purpose.
|
|
# This can be used e.g. in UIs which allow to enter the expression.
|
|
# Corresponds to the JSON property `title`
|
|
# @return [String]
|
|
attr_accessor :title
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@description = args[:description] if args.key?(:description)
|
|
@expression = args[:expression] if args.key?(:expression)
|
|
@location = args[:location] if args.key?(:location)
|
|
@title = args[:title] if args.key?(:title)
|
|
end
|
|
end
|
|
|
|
# Represents an external VPN gateway. External VPN gateway is the on-premises
|
|
# VPN gateway(s) or another cloud provider's VPN gateway that connects to your
|
|
# Google Cloud VPN gateway. To create a highly available VPN from Google Cloud
|
|
# Platform to your VPN gateway or another cloud provider's VPN gateway, you must
|
|
# create a external VPN gateway resource with information about the other
|
|
# gateway. For more information about using external VPN gateways, see Creating
|
|
# an HA VPN gateway and tunnel pair to a peer VPN.
|
|
class ExternalVpnGateway
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# A list of interfaces for this external VPN gateway. If your peer-side gateway
|
|
# is an on-premises gateway and non-AWS cloud providers' gateway, at most two
|
|
# interfaces can be provided for an external VPN gateway. If your peer side is
|
|
# an AWS virtual private gateway, four interfaces should be provided for an
|
|
# external VPN gateway.
|
|
# Corresponds to the JSON property `interfaces`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ExternalVpnGatewayInterface>]
|
|
attr_accessor :interfaces
|
|
|
|
# [Output Only] Type of the resource. Always compute#externalVpnGateway for
|
|
# externalVpnGateways.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this ExternalVpnGateway, which
|
|
# is essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve an ExternalVpnGateway.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels for this resource. These can only be added or modified by the setLabels
|
|
# method. Each label key/value pair must comply with RFC1035. Label values may
|
|
# be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Indicates the user-supplied redundancy type of this external VPN gateway.
|
|
# Corresponds to the JSON property `redundancyType`
|
|
# @return [String]
|
|
attr_accessor :redundancy_type
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@interfaces = args[:interfaces] if args.key?(:interfaces)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@name = args[:name] if args.key?(:name)
|
|
@redundancy_type = args[:redundancy_type] if args.key?(:redundancy_type)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
end
|
|
end
|
|
|
|
# The interface for the external VPN gateway.
|
|
class ExternalVpnGatewayInterface
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The numeric ID of this interface. The allowed input values for this id for
|
|
# different redundancy types of external VPN gateway: -
|
|
# SINGLE_IP_INTERNALLY_REDUNDANT - 0 - TWO_IPS_REDUNDANCY - 0, 1 -
|
|
# FOUR_IPS_REDUNDANCY - 0, 1, 2, 3
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# IP address of the interface in the external VPN gateway. Only IPv4 is
|
|
# supported. This IP address can be either from your on-premise gateway or
|
|
# another Cloud provider's VPN gateway, it cannot be an IP address from Google
|
|
# Compute Engine.
|
|
# Corresponds to the JSON property `ipAddress`
|
|
# @return [String]
|
|
attr_accessor :ip_address
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
end
|
|
end
|
|
|
|
# Response to the list request, and contains a list of externalVpnGateways.
|
|
class ExternalVpnGatewayList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of ExternalVpnGateway resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ExternalVpnGateway>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#externalVpnGatewayList for
|
|
# lists of externalVpnGateways.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ExternalVpnGatewayList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ExternalVpnGatewayList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class FileContentBuffer
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The raw content in the secure keys file.
|
|
# Corresponds to the JSON property `content`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :content
|
|
|
|
# The file type of source file.
|
|
# Corresponds to the JSON property `fileType`
|
|
# @return [String]
|
|
attr_accessor :file_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@content = args[:content] if args.key?(:content)
|
|
@file_type = args[:file_type] if args.key?(:file_type)
|
|
end
|
|
end
|
|
|
|
# Represents a Firewall Rule resource. Firewall rules allow or deny ingress
|
|
# traffic to, and egress traffic from your instances. For more information, read
|
|
# Firewall rules.
|
|
class Firewall
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of ALLOW rules specified by this firewall. Each rule specifies a
|
|
# protocol and port-range tuple that describes a permitted connection.
|
|
# Corresponds to the JSON property `allowed`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Firewall::Allowed>]
|
|
attr_accessor :allowed
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# The list of DENY rules specified by this firewall. Each rule specifies a
|
|
# protocol and port-range tuple that describes a denied connection.
|
|
# Corresponds to the JSON property `denied`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Firewall::Denied>]
|
|
attr_accessor :denied
|
|
|
|
# An optional description of this resource. Provide this field when you create
|
|
# the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# If destination ranges are specified, the firewall rule applies only to traffic
|
|
# that has destination IP address in these ranges. These ranges must be
|
|
# expressed in CIDR format. Both IPv4 and IPv6 are supported.
|
|
# Corresponds to the JSON property `destinationRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :destination_ranges
|
|
|
|
# Direction of traffic to which this firewall applies, either `INGRESS` or `
|
|
# EGRESS`. The default is `INGRESS`. For `INGRESS` traffic, you cannot specify
|
|
# the destinationRanges field, and for `EGRESS` traffic, you cannot specify the
|
|
# sourceRanges or sourceTags fields.
|
|
# Corresponds to the JSON property `direction`
|
|
# @return [String]
|
|
attr_accessor :direction
|
|
|
|
# Denotes whether the firewall rule is disabled. When set to true, the firewall
|
|
# rule is not enforced and the network behaves as if it did not exist. If this
|
|
# is unspecified, the firewall rule will be enabled.
|
|
# Corresponds to the JSON property `disabled`
|
|
# @return [Boolean]
|
|
attr_accessor :disabled
|
|
alias_method :disabled?, :disabled
|
|
|
|
# Deprecated in favor of enable in LogConfig. This field denotes whether to
|
|
# enable logging for a particular firewall rule. If logging is enabled, logs
|
|
# will be exported t Cloud Logging.
|
|
# Corresponds to the JSON property `enableLogging`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_logging
|
|
alias_method :enable_logging?, :enable_logging
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#firewall for firewall rules.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The available logging options for a firewall rule.
|
|
# Corresponds to the JSON property `logConfig`
|
|
# @return [Google::Apis::ComputeAlpha::FirewallLogConfig]
|
|
attr_accessor :log_config
|
|
|
|
# Name of the resource; provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
|
|
# following characters (except for the last character) must be a dash, lowercase
|
|
# letter, or digit. The last character must be a lowercase letter or digit.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# URL of the network resource for this firewall rule. If not specified when
|
|
# creating a firewall rule, the default network is used: global/networks/default
|
|
# If you choose to specify this field, you can specify the network as a full or
|
|
# partial URL. For example, the following are all valid URLs: - https://www.
|
|
# googleapis.com/compute/v1/projects/myproject/global/networks/my-network -
|
|
# projects/myproject/global/networks/my-network - global/networks/default
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# Priority for this rule. This is an integer between `0` and `65535`, both
|
|
# inclusive. The default value is `1000`. Relative priorities determine which
|
|
# rule takes effect if multiple rules apply. Lower values indicate higher
|
|
# priority. For example, a rule with priority `0` has higher precedence than a
|
|
# rule with priority `1`. DENY rules take precedence over ALLOW rules if they
|
|
# have equal priority. Note that VPC networks have implied rules with a priority
|
|
# of `65535`. To avoid conflicts with the implied rules, use a priority number
|
|
# less than `65535`.
|
|
# Corresponds to the JSON property `priority`
|
|
# @return [Fixnum]
|
|
attr_accessor :priority
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# If source ranges are specified, the firewall rule applies only to traffic that
|
|
# has a source IP address in these ranges. These ranges must be expressed in
|
|
# CIDR format. One or both of sourceRanges and sourceTags may be set. If both
|
|
# fields are set, the rule applies to traffic that has a source IP address
|
|
# within sourceRanges OR a source IP from a resource with a matching tag listed
|
|
# in the sourceTags field. The connection does not need to match both fields for
|
|
# the rule to apply. Both IPv4 and IPv6 are supported.
|
|
# Corresponds to the JSON property `sourceRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :source_ranges
|
|
|
|
# If source service accounts are specified, the firewall rules apply only to
|
|
# traffic originating from an instance with a service account in this list.
|
|
# Source service accounts cannot be used to control traffic to an instance's
|
|
# external IP address because service accounts are associated with an instance,
|
|
# not an IP address. sourceRanges can be set at the same time as
|
|
# sourceServiceAccounts. If both are set, the firewall applies to traffic that
|
|
# has a source IP address within the sourceRanges OR a source IP that belongs to
|
|
# an instance with service account listed in sourceServiceAccount. The
|
|
# connection does not need to match both fields for the firewall to apply.
|
|
# sourceServiceAccounts cannot be used at the same time as sourceTags or
|
|
# targetTags.
|
|
# Corresponds to the JSON property `sourceServiceAccounts`
|
|
# @return [Array<String>]
|
|
attr_accessor :source_service_accounts
|
|
|
|
# If source tags are specified, the firewall rule applies only to traffic with
|
|
# source IPs that match the primary network interfaces of VM instances that have
|
|
# the tag and are in the same VPC network. Source tags cannot be used to control
|
|
# traffic to an instance's external IP address, it only applies to traffic
|
|
# between instances in the same virtual network. Because tags are associated
|
|
# with instances, not IP addresses. One or both of sourceRanges and sourceTags
|
|
# may be set. If both fields are set, the firewall applies to traffic that has a
|
|
# source IP address within sourceRanges OR a source IP from a resource with a
|
|
# matching tag listed in the sourceTags field. The connection does not need to
|
|
# match both fields for the firewall to apply.
|
|
# Corresponds to the JSON property `sourceTags`
|
|
# @return [Array<String>]
|
|
attr_accessor :source_tags
|
|
|
|
# A list of service accounts indicating sets of instances located in the network
|
|
# that may make network connections as specified in allowed[].
|
|
# targetServiceAccounts cannot be used at the same time as targetTags or
|
|
# sourceTags. If neither targetServiceAccounts nor targetTags are specified, the
|
|
# firewall rule applies to all instances on the specified network.
|
|
# Corresponds to the JSON property `targetServiceAccounts`
|
|
# @return [Array<String>]
|
|
attr_accessor :target_service_accounts
|
|
|
|
# A list of tags that controls which instances the firewall rule applies to. If
|
|
# targetTags are specified, then the firewall rule applies only to instances in
|
|
# the VPC network that have one of those tags. If no targetTags are specified,
|
|
# the firewall rule applies to all instances on the specified network.
|
|
# Corresponds to the JSON property `targetTags`
|
|
# @return [Array<String>]
|
|
attr_accessor :target_tags
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@allowed = args[:allowed] if args.key?(:allowed)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@denied = args[:denied] if args.key?(:denied)
|
|
@description = args[:description] if args.key?(:description)
|
|
@destination_ranges = args[:destination_ranges] if args.key?(:destination_ranges)
|
|
@direction = args[:direction] if args.key?(:direction)
|
|
@disabled = args[:disabled] if args.key?(:disabled)
|
|
@enable_logging = args[:enable_logging] if args.key?(:enable_logging)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@log_config = args[:log_config] if args.key?(:log_config)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@priority = args[:priority] if args.key?(:priority)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@source_ranges = args[:source_ranges] if args.key?(:source_ranges)
|
|
@source_service_accounts = args[:source_service_accounts] if args.key?(:source_service_accounts)
|
|
@source_tags = args[:source_tags] if args.key?(:source_tags)
|
|
@target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
|
|
@target_tags = args[:target_tags] if args.key?(:target_tags)
|
|
end
|
|
|
|
#
|
|
class Allowed
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IP protocol to which this rule applies. The protocol type is required when
|
|
# creating a firewall rule. This value can either be one of the following well
|
|
# known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP
|
|
# protocol number.
|
|
# Corresponds to the JSON property `IPProtocol`
|
|
# @return [String]
|
|
attr_accessor :ip_protocol
|
|
|
|
# An optional list of ports to which this rule applies. This field is only
|
|
# applicable for the UDP or TCP protocol. Each entry must be either an integer
|
|
# or a range. If not specified, this rule applies to connections through any
|
|
# port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
|
|
# Corresponds to the JSON property `ports`
|
|
# @return [Array<String>]
|
|
attr_accessor :ports
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
|
|
@ports = args[:ports] if args.key?(:ports)
|
|
end
|
|
end
|
|
|
|
#
|
|
class Denied
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IP protocol to which this rule applies. The protocol type is required when
|
|
# creating a firewall rule. This value can either be one of the following well
|
|
# known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP
|
|
# protocol number.
|
|
# Corresponds to the JSON property `IPProtocol`
|
|
# @return [String]
|
|
attr_accessor :ip_protocol
|
|
|
|
# An optional list of ports to which this rule applies. This field is only
|
|
# applicable for the UDP or TCP protocol. Each entry must be either an integer
|
|
# or a range. If not specified, this rule applies to connections through any
|
|
# port. Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
|
|
# Corresponds to the JSON property `ports`
|
|
# @return [Array<String>]
|
|
attr_accessor :ports
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
|
|
@ports = args[:ports] if args.key?(:ports)
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of firewalls.
|
|
class FirewallList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Firewall resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Firewall>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#firewallList for lists of
|
|
# firewalls.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::FirewallList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# The available logging options for a firewall rule.
|
|
class FirewallLogConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This field denotes whether to enable logging for a particular firewall rule.
|
|
# Corresponds to the JSON property `enable`
|
|
# @return [Boolean]
|
|
attr_accessor :enable
|
|
alias_method :enable?, :enable
|
|
|
|
# This field can only be specified for a particular firewall rule if logging is
|
|
# enabled for that rule. This field denotes whether to include or exclude
|
|
# metadata for firewall logs.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [String]
|
|
attr_accessor :metadata
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable = args[:enable] if args.key?(:enable)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
end
|
|
end
|
|
|
|
#
|
|
class FirewallPoliciesListAssociationsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of associations.
|
|
# Corresponds to the JSON property `associations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyAssociation>]
|
|
attr_accessor :associations
|
|
|
|
# [Output Only] Type of firewallPolicy associations. Always compute#
|
|
# FirewallPoliciesListAssociations for lists of firewallPolicy associations.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@associations = args[:associations] if args.key?(:associations)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
end
|
|
end
|
|
|
|
# Represents a Firewall Policy resource.
|
|
class FirewallPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of associations that belong to this firewall policy.
|
|
# Corresponds to the JSON property `associations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyAssociation>]
|
|
attr_accessor :associations
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Deprecated, please use short name instead. User-provided name of the
|
|
# Organization firewall policy. The name should be unique in the organization in
|
|
# which the firewall policy is created. This name must be set on creation and
|
|
# cannot be changed. The name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# Specifies a fingerprint for this resource, which is essentially a hash of the
|
|
# metadata's contents and used for optimistic locking. The fingerprint is
|
|
# initially generated by Compute Engine and changes after every request to
|
|
# modify or update metadata. You must always provide an up-to-date fingerprint
|
|
# hash in order to update or change metadata, otherwise the request will fail
|
|
# with error 412 conditionNotMet. To see the latest fingerprint, make get()
|
|
# request to the firewall policy.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output only] Type of the resource. Always compute#firewallPolicyfor firewall
|
|
# policies
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Name of the resource. It is a numeric ID allocated by GCP which
|
|
# uniquely identifies the Firewall Policy.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] The parent of the firewall policy.
|
|
# Corresponds to the JSON property `parent`
|
|
# @return [String]
|
|
attr_accessor :parent
|
|
|
|
# [Output Only] URL of the region where the regional firewall policy resides.
|
|
# This field is not applicable to global firewall policies. You must specify
|
|
# this field as part of the HTTP request URL. It is not settable as a field in
|
|
# the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Total count of all firewall policy rule tuples. A firewall
|
|
# policy can not exceed a set number of tuples.
|
|
# Corresponds to the JSON property `ruleTupleCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :rule_tuple_count
|
|
|
|
# A list of rules that belong to this policy. There must always be a default
|
|
# rule (rule with priority 2147483647 and match "*"). If no rules are provided
|
|
# when creating a firewall policy, a default rule with action "allow" will be
|
|
# added.
|
|
# Corresponds to the JSON property `rules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
|
|
attr_accessor :rules
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# User-provided name of the Organization firewall plicy. The name should be
|
|
# unique in the organization in which the firewall policy is created. This name
|
|
# must be set on creation and cannot be changed. The name must be 1-63
|
|
# characters long, and comply with RFC1035. Specifically, the name must be 1-63
|
|
# characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
|
|
# which means the first character must be a lowercase letter, and all following
|
|
# characters must be a dash, lowercase letter, or digit, except the last
|
|
# character, which cannot be a dash.
|
|
# Corresponds to the JSON property `shortName`
|
|
# @return [String]
|
|
attr_accessor :short_name
|
|
|
|
# The scope of networks allowed to be associated with the firewall policy. This
|
|
# field can be either GLOBAL_VPC_NETWORK or REGIONAL_VPC_NETWORK. A firewall
|
|
# policy with the VPC scope set to GLOBAL_VPC_NETWORK is allowed to be attached
|
|
# only to global networks. When the VPC scope is set to REGIONAL_VPC_NETWORK the
|
|
# firewall policy is allowed to be attached only to regional networks in the
|
|
# same scope as the firewall policy. Note: if not specified then
|
|
# GLOBAL_VPC_NETWORK will be used.
|
|
# Corresponds to the JSON property `vpcNetworkScope`
|
|
# @return [String]
|
|
attr_accessor :vpc_network_scope
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@associations = args[:associations] if args.key?(:associations)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@parent = args[:parent] if args.key?(:parent)
|
|
@region = args[:region] if args.key?(:region)
|
|
@rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
|
|
@rules = args[:rules] if args.key?(:rules)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@short_name = args[:short_name] if args.key?(:short_name)
|
|
@vpc_network_scope = args[:vpc_network_scope] if args.key?(:vpc_network_scope)
|
|
end
|
|
end
|
|
|
|
#
|
|
class FirewallPolicyAssociation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The target that the firewall policy is attached to.
|
|
# Corresponds to the JSON property `attachmentTarget`
|
|
# @return [String]
|
|
attr_accessor :attachment_target
|
|
|
|
# [Output Only] Deprecated, please use short name instead. The display name of
|
|
# the firewall policy of the association.
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# [Output Only] The firewall policy ID of the association.
|
|
# Corresponds to the JSON property `firewallPolicyId`
|
|
# @return [String]
|
|
attr_accessor :firewall_policy_id
|
|
|
|
# The name for an association.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] The short name of the firewall policy of the association.
|
|
# Corresponds to the JSON property `shortName`
|
|
# @return [String]
|
|
attr_accessor :short_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@attachment_target = args[:attachment_target] if args.key?(:attachment_target)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@firewall_policy_id = args[:firewall_policy_id] if args.key?(:firewall_policy_id)
|
|
@name = args[:name] if args.key?(:name)
|
|
@short_name = args[:short_name] if args.key?(:short_name)
|
|
end
|
|
end
|
|
|
|
#
|
|
class FirewallPolicyList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of FirewallPolicy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicy>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#firewallPolicyList for listsof
|
|
# FirewallPolicies
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::FirewallPolicyList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a rule that describes one or more match conditions along with the
|
|
# action to be taken when traffic matches this condition (allow or deny).
|
|
class FirewallPolicyRule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Action to perform when the client connection triggers the rule. Can
|
|
# currently be either "allow" or "deny()" where valid values for status are 403,
|
|
# 404, and 502.
|
|
# Corresponds to the JSON property `action`
|
|
# @return [String]
|
|
attr_accessor :action
|
|
|
|
# An optional description for this resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The direction in which this rule applies.
|
|
# Corresponds to the JSON property `direction`
|
|
# @return [String]
|
|
attr_accessor :direction
|
|
|
|
# Denotes whether the firewall policy rule is disabled. When set to true, the
|
|
# firewall policy rule is not enforced and traffic behaves as if it did not
|
|
# exist. If this is unspecified, the firewall policy rule will be enabled.
|
|
# Corresponds to the JSON property `disabled`
|
|
# @return [Boolean]
|
|
attr_accessor :disabled
|
|
alias_method :disabled?, :disabled
|
|
|
|
# Denotes whether to enable logging for a particular rule. If logging is enabled,
|
|
# logs will be exported to the configured export destination in Stackdriver.
|
|
# Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging
|
|
# on "goto_next" rules.
|
|
# Corresponds to the JSON property `enableLogging`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_logging
|
|
alias_method :enable_logging?, :enable_logging
|
|
|
|
# [Output only] Type of the resource. Always compute#firewallPolicyRule for
|
|
# firewall policy rules
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Represents a match condition that incoming traffic is evaluated against.
|
|
# Exactly one field must be specified.
|
|
# Corresponds to the JSON property `match`
|
|
# @return [Google::Apis::ComputeAlpha::FirewallPolicyRuleMatcher]
|
|
attr_accessor :match
|
|
|
|
# An integer indicating the priority of a rule in the list. The priority must be
|
|
# a positive value between 0 and 2147483647. Rules are evaluated from highest to
|
|
# lowest priority where 0 is the highest priority and 2147483647 is the lowest
|
|
# prority.
|
|
# Corresponds to the JSON property `priority`
|
|
# @return [Fixnum]
|
|
attr_accessor :priority
|
|
|
|
# An optional name for the rule. This field is not a unique identifier and can
|
|
# be updated.
|
|
# Corresponds to the JSON property `ruleName`
|
|
# @return [String]
|
|
attr_accessor :rule_name
|
|
|
|
# [Output Only] Calculation of the complexity of a single firewall policy rule.
|
|
# Corresponds to the JSON property `ruleTupleCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :rule_tuple_count
|
|
|
|
# A list of network resource URLs to which this rule applies. This field allows
|
|
# you to control which network's VMs get this rule. If this field is left blank,
|
|
# all VMs within the organization will receive the rule.
|
|
# Corresponds to the JSON property `targetResources`
|
|
# @return [Array<String>]
|
|
attr_accessor :target_resources
|
|
|
|
# A list of secure tags that controls which instances the firewall rule applies
|
|
# to. If targetSecureTag are specified, then the firewall rule applies only to
|
|
# instances in the VPC network that have one of those EFFECTIVE secure tags, if
|
|
# all the target_secure_tag are in INEFFECTIVE state, then this rule will be
|
|
# ignored. targetSecureTag may not be set at the same time as
|
|
# targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag
|
|
# are specified, the firewall rule applies to all instances on the specified
|
|
# network. Maximum number of target label tags allowed is 256.
|
|
# Corresponds to the JSON property `targetSecureTags`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleSecureTag>]
|
|
attr_accessor :target_secure_tags
|
|
|
|
# A list of service accounts indicating the sets of instances that are applied
|
|
# with this rule.
|
|
# Corresponds to the JSON property `targetServiceAccounts`
|
|
# @return [Array<String>]
|
|
attr_accessor :target_service_accounts
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@action = args[:action] if args.key?(:action)
|
|
@description = args[:description] if args.key?(:description)
|
|
@direction = args[:direction] if args.key?(:direction)
|
|
@disabled = args[:disabled] if args.key?(:disabled)
|
|
@enable_logging = args[:enable_logging] if args.key?(:enable_logging)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@match = args[:match] if args.key?(:match)
|
|
@priority = args[:priority] if args.key?(:priority)
|
|
@rule_name = args[:rule_name] if args.key?(:rule_name)
|
|
@rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
|
|
@target_resources = args[:target_resources] if args.key?(:target_resources)
|
|
@target_secure_tags = args[:target_secure_tags] if args.key?(:target_secure_tags)
|
|
@target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
|
|
end
|
|
end
|
|
|
|
# Represents a match condition that incoming traffic is evaluated against.
|
|
# Exactly one field must be specified.
|
|
class FirewallPolicyRuleMatcher
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Address groups which should be matched against the traffic destination.
|
|
# Maximum number of destination address groups is 10.
|
|
# Corresponds to the JSON property `destAddressGroups`
|
|
# @return [Array<String>]
|
|
attr_accessor :dest_address_groups
|
|
|
|
# Fully Qualified Domain Name (FQDN) which should be matched against traffic
|
|
# destination. Maximum number of destination fqdn allowed is 1000.
|
|
# Corresponds to the JSON property `destFqdns`
|
|
# @return [Array<String>]
|
|
attr_accessor :dest_fqdns
|
|
|
|
# CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is
|
|
# 5000.
|
|
# Corresponds to the JSON property `destIpRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :dest_ip_ranges
|
|
|
|
# Region codes whose IP addresses will be used to match for destination of
|
|
# traffic. Should be specified as 2 letter country code defined as per ISO 3166
|
|
# alpha-2 country codes. ex."US" Maximum number of dest region codes allowed is
|
|
# 5000.
|
|
# Corresponds to the JSON property `destRegionCodes`
|
|
# @return [Array<String>]
|
|
attr_accessor :dest_region_codes
|
|
|
|
# Names of Network Threat Intelligence lists. The IPs in these lists will be
|
|
# matched against traffic destination.
|
|
# Corresponds to the JSON property `destThreatIntelligences`
|
|
# @return [Array<String>]
|
|
attr_accessor :dest_threat_intelligences
|
|
|
|
# Pairs of IP protocols and ports that the rule should match.
|
|
# Corresponds to the JSON property `layer4Configs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleMatcherLayer4Config>]
|
|
attr_accessor :layer4_configs
|
|
|
|
# Address groups which should be matched against the traffic source. Maximum
|
|
# number of source address groups is 10.
|
|
# Corresponds to the JSON property `srcAddressGroups`
|
|
# @return [Array<String>]
|
|
attr_accessor :src_address_groups
|
|
|
|
# Fully Qualified Domain Name (FQDN) which should be matched against traffic
|
|
# source. Maximum number of source fqdn allowed is 1000.
|
|
# Corresponds to the JSON property `srcFqdns`
|
|
# @return [Array<String>]
|
|
attr_accessor :src_fqdns
|
|
|
|
# CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.
|
|
# Corresponds to the JSON property `srcIpRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :src_ip_ranges
|
|
|
|
# Region codes whose IP addresses will be used to match for source of traffic.
|
|
# Should be specified as 2 letter country code defined as per ISO 3166 alpha-2
|
|
# country codes. ex."US" Maximum number of source region codes allowed is 5000.
|
|
# Corresponds to the JSON property `srcRegionCodes`
|
|
# @return [Array<String>]
|
|
attr_accessor :src_region_codes
|
|
|
|
# List of secure tag values, which should be matched at the source of the
|
|
# traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there
|
|
# is no srcIpRange, this rule will be ignored. Maximum number of source tag
|
|
# values allowed is 256.
|
|
# Corresponds to the JSON property `srcSecureTags`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRuleSecureTag>]
|
|
attr_accessor :src_secure_tags
|
|
|
|
# Names of Network Threat Intelligence lists. The IPs in these lists will be
|
|
# matched against traffic source.
|
|
# Corresponds to the JSON property `srcThreatIntelligences`
|
|
# @return [Array<String>]
|
|
attr_accessor :src_threat_intelligences
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@dest_address_groups = args[:dest_address_groups] if args.key?(:dest_address_groups)
|
|
@dest_fqdns = args[:dest_fqdns] if args.key?(:dest_fqdns)
|
|
@dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
|
|
@dest_region_codes = args[:dest_region_codes] if args.key?(:dest_region_codes)
|
|
@dest_threat_intelligences = args[:dest_threat_intelligences] if args.key?(:dest_threat_intelligences)
|
|
@layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
|
|
@src_address_groups = args[:src_address_groups] if args.key?(:src_address_groups)
|
|
@src_fqdns = args[:src_fqdns] if args.key?(:src_fqdns)
|
|
@src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
|
|
@src_region_codes = args[:src_region_codes] if args.key?(:src_region_codes)
|
|
@src_secure_tags = args[:src_secure_tags] if args.key?(:src_secure_tags)
|
|
@src_threat_intelligences = args[:src_threat_intelligences] if args.key?(:src_threat_intelligences)
|
|
end
|
|
end
|
|
|
|
#
|
|
class FirewallPolicyRuleMatcherLayer4Config
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IP protocol to which this rule applies. The protocol type is required when
|
|
# creating a firewall rule. This value can either be one of the following well
|
|
# known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
|
|
# protocol number.
|
|
# Corresponds to the JSON property `ipProtocol`
|
|
# @return [String]
|
|
attr_accessor :ip_protocol
|
|
|
|
# An optional list of ports to which this rule applies. This field is only
|
|
# applicable for UDP or TCP protocol. Each entry must be either an integer or a
|
|
# range. If not specified, this rule applies to connections through any port.
|
|
# Example inputs include: ["22"], ["80","443"], and ["12345-12349"].
|
|
# Corresponds to the JSON property `ports`
|
|
# @return [Array<String>]
|
|
attr_accessor :ports
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
|
|
@ports = args[:ports] if args.key?(:ports)
|
|
end
|
|
end
|
|
|
|
#
|
|
class FirewallPolicyRuleSecureTag
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Name of the secure tag, created with TagManager's TagValue API.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A
|
|
# secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@state = args[:state] if args.key?(:state)
|
|
end
|
|
end
|
|
|
|
# Encapsulates numeric value that can be either absolute or relative.
|
|
class FixedOrPercent
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Absolute value of VM instances calculated based on the specific
|
|
# mode. - If the value is fixed, then the calculated value is equal to the fixed
|
|
# value. - If the value is a percent, then the calculated value is percent/100 *
|
|
# targetSize. For example, the calculated value of a 80% of a managed instance
|
|
# group with 150 instances would be (80/100 * 150) = 120 VM instances. If there
|
|
# is a remainder, the number is rounded.
|
|
# Corresponds to the JSON property `calculated`
|
|
# @return [Fixnum]
|
|
attr_accessor :calculated
|
|
|
|
# Specifies a fixed number of VM instances. This must be a positive integer.
|
|
# Corresponds to the JSON property `fixed`
|
|
# @return [Fixnum]
|
|
attr_accessor :fixed
|
|
|
|
# Specifies a percentage of instances between 0 to 100%, inclusive. For example,
|
|
# specify 80 for 80%.
|
|
# Corresponds to the JSON property `percent`
|
|
# @return [Fixnum]
|
|
attr_accessor :percent
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@calculated = args[:calculated] if args.key?(:calculated)
|
|
@fixed = args[:fixed] if args.key?(:fixed)
|
|
@percent = args[:percent] if args.key?(:percent)
|
|
end
|
|
end
|
|
|
|
# Represents a Forwarding Rule resource. Forwarding rule resources in Google
|
|
# Cloud can be either regional or global in scope: * [Global](https://cloud.
|
|
# google.com/compute/docs/reference/rest/alpha/globalForwardingRules) * [
|
|
# Regional](https://cloud.google.com/compute/docs/reference/rest/alpha/
|
|
# forwardingRules) A forwarding rule and its corresponding IP address represent
|
|
# the frontend configuration of a Google Cloud Platform load balancer.
|
|
# Forwarding rules can also reference target instances and Cloud VPN Classic
|
|
# gateways (targetVpnGateway). For more information, read Forwarding rule
|
|
# concepts and Using protocol forwarding.
|
|
class ForwardingRule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# IP address that this forwarding rule serves. When a client sends traffic to
|
|
# this IP address, the forwarding rule directs the traffic to the target that
|
|
# you specify in the forwarding rule. If you don't specify a reserved IP address,
|
|
# an ephemeral IP address is assigned. Methods for specifying an IP address: *
|
|
# IPv4 dotted decimal, as in `100.1.2.3` * Full URL, as in https://www.
|
|
# googleapis.com/compute/v1/projects/project_id/regions/region /addresses/
|
|
# address-name * Partial URL or by name, as in: - projects/project_id/regions/
|
|
# region/addresses/address-name - regions/region/addresses/address-name - global/
|
|
# addresses/address-name - address-name The loadBalancingScheme and the
|
|
# forwarding rule's target determine the type of IP address that you can use.
|
|
# For detailed information, see [IP address specifications](https://cloud.google.
|
|
# com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications).
|
|
# Must be set to `0.0.0.0` when the target is targetGrpcProxy that has
|
|
# validateForProxyless field set to true. For Private Service Connect forwarding
|
|
# rules that forward traffic to Google APIs, IP address must be provided.
|
|
# Corresponds to the JSON property `IPAddress`
|
|
# @return [String]
|
|
attr_accessor :ip_address
|
|
|
|
# The IP protocol to which this rule applies. For protocol forwarding, valid
|
|
# options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP
|
|
# protocols are different for different load balancing products as described in [
|
|
# Load balancing features](https://cloud.google.com/load-balancing/docs/features#
|
|
# protocols_from_the_load_balancer_to_the_backends).
|
|
# Corresponds to the JSON property `IPProtocol`
|
|
# @return [String]
|
|
attr_accessor :ip_protocol
|
|
|
|
# This field is used along with the backend_service field for Internal TCP/UDP
|
|
# Load Balancing or Network Load Balancing, or with the target field for
|
|
# internal and external TargetInstance. You can only use one of ports and
|
|
# port_range, or allPorts. The three are mutually exclusive. For TCP, UDP and
|
|
# SCTP traffic, packets addressed to any ports will be forwarded to the target
|
|
# or backendService.
|
|
# Corresponds to the JSON property `allPorts`
|
|
# @return [Boolean]
|
|
attr_accessor :all_ports
|
|
alias_method :all_ports?, :all_ports
|
|
|
|
# This field is used along with the backend_service field for internal load
|
|
# balancing or with the target field for internal TargetInstance. If the field
|
|
# is set to TRUE, clients can access ILB from all regions. Otherwise only allows
|
|
# access from clients in the same region as the internal load balancer.
|
|
# Corresponds to the JSON property `allowGlobalAccess`
|
|
# @return [Boolean]
|
|
attr_accessor :allow_global_access
|
|
alias_method :allow_global_access?, :allow_global_access
|
|
|
|
# This is used in PSC consumer ForwardingRule to control whether the PSC
|
|
# endpoint can be accessed from another region.
|
|
# Corresponds to the JSON property `allowPscGlobalAccess`
|
|
# @return [Boolean]
|
|
attr_accessor :allow_psc_global_access
|
|
alias_method :allow_psc_global_access?, :allow_psc_global_access
|
|
|
|
# Identifies the backend service to which the forwarding rule sends traffic.
|
|
# Required for Internal TCP/UDP Load Balancing and Network Load Balancing; must
|
|
# be omitted for all other load balancer types.
|
|
# Corresponds to the JSON property `backendService`
|
|
# @return [String]
|
|
attr_accessor :backend_service
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a ForwardingRule. Include the fingerprint in patch request to ensure
|
|
# that you do not overwrite changes that were applied from another concurrent
|
|
# request. To see the latest fingerprint, make a get() request to retrieve a
|
|
# ForwardingRule.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# The IP Version that will be used by this forwarding rule. Valid options are
|
|
# IPV4 or IPV6. This can only be specified for an external global forwarding
|
|
# rule.
|
|
# Corresponds to the JSON property `ipVersion`
|
|
# @return [String]
|
|
attr_accessor :ip_version
|
|
|
|
# Indicates whether or not this load balancer can be used as a collector for
|
|
# packet mirroring. To prevent mirroring loops, instances behind this load
|
|
# balancer will not have their traffic mirrored even if a PacketMirroring rule
|
|
# applies to them. This can only be set to true for load balancers that have
|
|
# their loadBalancingScheme set to INTERNAL.
|
|
# Corresponds to the JSON property `isMirroringCollector`
|
|
# @return [Boolean]
|
|
attr_accessor :is_mirroring_collector
|
|
alias_method :is_mirroring_collector?, :is_mirroring_collector
|
|
|
|
# [Output Only] Type of the resource. Always compute#forwardingRule for
|
|
# Forwarding Rule resources.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this resource, which is
|
|
# essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve a ForwardingRule.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels for this resource. These can only be added or modified by the setLabels
|
|
# method. Each label key/value pair must comply with RFC1035. Label values may
|
|
# be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Specifies the forwarding rule type. For more information about forwarding
|
|
# rules, refer to Forwarding rule concepts.
|
|
# Corresponds to the JSON property `loadBalancingScheme`
|
|
# @return [String]
|
|
attr_accessor :load_balancing_scheme
|
|
|
|
# Opaque filter criteria used by load balancer to restrict routing configuration
|
|
# to a limited set of xDS compliant clients. In their xDS requests to load
|
|
# balancer, xDS clients present node metadata. When there is a match, the
|
|
# relevant configuration is made available to those proxies. Otherwise, all the
|
|
# resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule are
|
|
# not visible to those proxies. For each metadataFilter in this list, if its
|
|
# filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must
|
|
# match the corresponding label provided in the metadata. If its
|
|
# filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must
|
|
# match with corresponding labels provided in the metadata. If multiple
|
|
# metadataFilters are specified, all of them need to be satisfied in order to be
|
|
# considered a match. metadataFilters specified here will be applifed before
|
|
# those specified in the UrlMap that this ForwardingRule references.
|
|
# metadataFilters only applies to Loadbalancers that have their
|
|
# loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
|
# Corresponds to the JSON property `metadataFilters`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MetadataFilter>]
|
|
attr_accessor :metadata_filters
|
|
|
|
# Name of the resource; provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash. For Private Service Connect
|
|
# forwarding rules that forward traffic to Google APIs, the forwarding rule name
|
|
# must be a 1-20 characters string with lowercase letters and numbers and must
|
|
# start with a letter.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# This field is not used for external load balancing. For Internal TCP/UDP Load
|
|
# Balancing, this field identifies the network that the load balanced IP should
|
|
# belong to for this Forwarding Rule. If this field is not specified, the
|
|
# default network will be used. For Private Service Connect forwarding rules
|
|
# that forward traffic to Google APIs, a network must be provided.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# This signifies the networking tier used for configuring this load balancer and
|
|
# can only take the following values: PREMIUM, STANDARD. For regional
|
|
# ForwardingRule, the valid values are PREMIUM and STANDARD. For
|
|
# GlobalForwardingRule, the valid value is PREMIUM. If this field is not
|
|
# specified, it is assumed to be PREMIUM. If IPAddress is specified, this value
|
|
# must be equal to the networkTier of the Address.
|
|
# Corresponds to the JSON property `networkTier`
|
|
# @return [String]
|
|
attr_accessor :network_tier
|
|
|
|
# This is used in PSC consumer ForwardingRule to control whether it should try
|
|
# to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this
|
|
# field.
|
|
# Corresponds to the JSON property `noAutomateDnsZone`
|
|
# @return [Boolean]
|
|
attr_accessor :no_automate_dns_zone
|
|
alias_method :no_automate_dns_zone?, :no_automate_dns_zone
|
|
|
|
# This field can be used only if: - Load balancing scheme is one of EXTERNAL,
|
|
# INTERNAL_SELF_MANAGED or INTERNAL_MANAGED - IPProtocol is one of TCP, UDP, or
|
|
# SCTP. Packets addressed to ports in the specified range will be forwarded to
|
|
# target or backend_service. You can only use one of ports, port_range, or
|
|
# allPorts. The three are mutually exclusive. Forwarding rules with the same [
|
|
# IPAddress, IPProtocol] pair must have disjoint ports. Some types of forwarding
|
|
# target have constraints on the acceptable ports. For more information, see [
|
|
# Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-
|
|
# rule-concepts#port_specifications). @pattern: \\d+(?:-\\d+)?
|
|
# Corresponds to the JSON property `portRange`
|
|
# @return [String]
|
|
attr_accessor :port_range
|
|
|
|
# The ports field is only supported when the forwarding rule references a
|
|
# backend_service directly. Only packets addressed to the [specified list of
|
|
# ports]((https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#
|
|
# port_specifications)) are forwarded to backends. You can only use one of ports
|
|
# and port_range, or allPorts. The three are mutually exclusive. You can specify
|
|
# a list of up to five ports, which can be non-contiguous. Forwarding rules with
|
|
# the same [IPAddress, IPProtocol] pair must have disjoint ports. @pattern: \\d+(
|
|
# ?:-\\d+)?
|
|
# Corresponds to the JSON property `ports`
|
|
# @return [Array<String>]
|
|
attr_accessor :ports
|
|
|
|
# [Output Only] The PSC connection id of the PSC Forwarding Rule.
|
|
# Corresponds to the JSON property `pscConnectionId`
|
|
# @return [Fixnum]
|
|
attr_accessor :psc_connection_id
|
|
|
|
#
|
|
# Corresponds to the JSON property `pscConnectionStatus`
|
|
# @return [String]
|
|
attr_accessor :psc_connection_status
|
|
|
|
# [Output Only] URL of the region where the regional forwarding rule resides.
|
|
# This field is not applicable to global forwarding rules. You must specify this
|
|
# field as part of the HTTP request URL. It is not settable as a field in the
|
|
# request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Service Directory resources to register this forwarding rule with. Currently,
|
|
# only supports a single Service Directory resource.
|
|
# Corresponds to the JSON property `serviceDirectoryRegistrations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ForwardingRuleServiceDirectoryRegistration>]
|
|
attr_accessor :service_directory_registrations
|
|
|
|
# An optional prefix to the service name for this Forwarding Rule. If specified,
|
|
# the prefix is the first label of the fully qualified service name. The label
|
|
# must be 1-63 characters long, and comply with RFC1035. Specifically, the label
|
|
# must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*
|
|
# [a-z0-9])?` which means the first character must be a lowercase letter, and
|
|
# all following characters must be a dash, lowercase letter, or digit, except
|
|
# the last character, which cannot be a dash. This field is only used for
|
|
# internal load balancing.
|
|
# Corresponds to the JSON property `serviceLabel`
|
|
# @return [String]
|
|
attr_accessor :service_label
|
|
|
|
# [Output Only] The internal fully qualified service name for this Forwarding
|
|
# Rule. This field is only used for internal load balancing.
|
|
# Corresponds to the JSON property `serviceName`
|
|
# @return [String]
|
|
attr_accessor :service_name
|
|
|
|
# If not empty, this Forwarding Rule will only forward the traffic when the
|
|
# source IP address matches one of the IP addresses or CIDR ranges set here.
|
|
# Note that a Forwarding Rule can only have up to 64 source IP ranges, and this
|
|
# field can only be used with a regional Forwarding Rule whose scheme is
|
|
# EXTERNAL. Each source_ip_range entry should be either an IP address (for
|
|
# example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).
|
|
# Corresponds to the JSON property `sourceIpRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :source_ip_ranges
|
|
|
|
# This field identifies the subnetwork that the load balanced IP should belong
|
|
# to for this Forwarding Rule, used in internal load balancing and network load
|
|
# balancing with IPv6. If the network specified is in auto subnet mode, this
|
|
# field is optional. However, a subnetwork must be specified if the network is
|
|
# in custom subnet mode or when creating external forwarding rule with IPv6.
|
|
# Corresponds to the JSON property `subnetwork`
|
|
# @return [String]
|
|
attr_accessor :subnetwork
|
|
|
|
#
|
|
# Corresponds to the JSON property `target`
|
|
# @return [String]
|
|
attr_accessor :target
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
@ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
|
|
@all_ports = args[:all_ports] if args.key?(:all_ports)
|
|
@allow_global_access = args[:allow_global_access] if args.key?(:allow_global_access)
|
|
@allow_psc_global_access = args[:allow_psc_global_access] if args.key?(:allow_psc_global_access)
|
|
@backend_service = args[:backend_service] if args.key?(:backend_service)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@ip_version = args[:ip_version] if args.key?(:ip_version)
|
|
@is_mirroring_collector = args[:is_mirroring_collector] if args.key?(:is_mirroring_collector)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@load_balancing_scheme = args[:load_balancing_scheme] if args.key?(:load_balancing_scheme)
|
|
@metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@network_tier = args[:network_tier] if args.key?(:network_tier)
|
|
@no_automate_dns_zone = args[:no_automate_dns_zone] if args.key?(:no_automate_dns_zone)
|
|
@port_range = args[:port_range] if args.key?(:port_range)
|
|
@ports = args[:ports] if args.key?(:ports)
|
|
@psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
|
|
@psc_connection_status = args[:psc_connection_status] if args.key?(:psc_connection_status)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@service_directory_registrations = args[:service_directory_registrations] if args.key?(:service_directory_registrations)
|
|
@service_label = args[:service_label] if args.key?(:service_label)
|
|
@service_name = args[:service_name] if args.key?(:service_name)
|
|
@source_ip_ranges = args[:source_ip_ranges] if args.key?(:source_ip_ranges)
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
@target = args[:target] if args.key?(:target)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ForwardingRuleAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of ForwardingRulesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::ForwardingRulesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#forwardingRuleAggregatedList
|
|
# for lists of forwarding rules.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ForwardingRuleAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ForwardingRuleAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of ForwardingRule resources.
|
|
class ForwardingRuleList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of ForwardingRule resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ForwardingRule>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ForwardingRuleList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ForwardingRuleList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class ForwardingRuleReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `forwardingRule`
|
|
# @return [String]
|
|
attr_accessor :forwarding_rule
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
|
|
end
|
|
end
|
|
|
|
# Describes the auto-registration of the Forwarding Rule to Service Directory.
|
|
# The region and project of the Service Directory resource generated from this
|
|
# registration will be the same as this Forwarding Rule.
|
|
class ForwardingRuleServiceDirectoryRegistration
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Service Directory namespace to register the forwarding rule under.
|
|
# Corresponds to the JSON property `namespace`
|
|
# @return [String]
|
|
attr_accessor :namespace
|
|
|
|
# Service Directory service to register the forwarding rule under.
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
# [Optional] Service Directory region to register this global forwarding rule
|
|
# under. Default to "us-central1". Only used for PSC for Google APIs. All PSC
|
|
# for Google APIs Forwarding Rules on the same network should use the same
|
|
# Service Directory region.
|
|
# Corresponds to the JSON property `serviceDirectoryRegion`
|
|
# @return [String]
|
|
attr_accessor :service_directory_region
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@namespace = args[:namespace] if args.key?(:namespace)
|
|
@service = args[:service] if args.key?(:service)
|
|
@service_directory_region = args[:service_directory_region] if args.key?(:service_directory_region)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ForwardingRulesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of forwarding rules contained in this scope.
|
|
# Corresponds to the JSON property `forwardingRules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ForwardingRule>]
|
|
attr_accessor :forwarding_rules
|
|
|
|
# Informational warning which replaces the list of forwarding rules when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of forwarding rules when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ForwardingRulesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class FutureReservation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The creation timestamp for this future reservation in RFC3339
|
|
# text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the future reservation.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] A unique identifier for this future reservation. The server
|
|
# defines this identifier.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#futureReservation for
|
|
# future reservations.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The name of the resource, provided by the client when initially creating the
|
|
# resource. The resource name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Name prefix for the reservations to be created at the time of delivery. The
|
|
# name prefix must comply with RFC1035. Maximum allowed length for name prefix
|
|
# is 20. Automatically created reservations name format will be -date-####.
|
|
# Corresponds to the JSON property `namePrefix`
|
|
# @return [String]
|
|
attr_accessor :name_prefix
|
|
|
|
# [Output Only] Server-defined fully-qualified URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# The share setting for reservations and sole tenancy node groups.
|
|
# Corresponds to the JSON property `shareSettings`
|
|
# @return [Google::Apis::ComputeAlpha::ShareSettings]
|
|
attr_accessor :share_settings
|
|
|
|
# Future Reservation configuration to indicate instance properties and total
|
|
# count.
|
|
# Corresponds to the JSON property `specificSkuProperties`
|
|
# @return [Google::Apis::ComputeAlpha::FutureReservationSpecificSkuProperties]
|
|
attr_accessor :specific_sku_properties
|
|
|
|
# [Output only] Represents status related to the future reservation.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [Google::Apis::ComputeAlpha::FutureReservationStatus]
|
|
attr_accessor :status
|
|
|
|
# Time window for this Future Reservation.
|
|
# Corresponds to the JSON property `timeWindow`
|
|
# @return [Google::Apis::ComputeAlpha::FutureReservationTimeWindow]
|
|
attr_accessor :time_window
|
|
|
|
# [Output Only] URL of the Zone where this future reservation resides.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@name_prefix = args[:name_prefix] if args.key?(:name_prefix)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@share_settings = args[:share_settings] if args.key?(:share_settings)
|
|
@specific_sku_properties = args[:specific_sku_properties] if args.key?(:specific_sku_properties)
|
|
@status = args[:status] if args.key?(:status)
|
|
@time_window = args[:time_window] if args.key?(:time_window)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class FutureReservationSpecificSkuProperties
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Properties of the SKU instances being reserved. Next ID: 9
|
|
# Corresponds to the JSON property `instanceProperties`
|
|
# @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuAllocationReservedInstanceProperties]
|
|
attr_accessor :instance_properties
|
|
|
|
# Total number of instances for which capacity assurance is requested at a
|
|
# future time period.
|
|
# Corresponds to the JSON property `totalCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :total_count
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_properties = args[:instance_properties] if args.key?(:instance_properties)
|
|
@total_count = args[:total_count] if args.key?(:total_count)
|
|
end
|
|
end
|
|
|
|
# [Output only] Represents status related to the future reservation.
|
|
class FutureReservationStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Fully qualified urls of the automatically created reservations at start_time.
|
|
# Corresponds to the JSON property `autoCreatedReservations`
|
|
# @return [Array<String>]
|
|
attr_accessor :auto_created_reservations
|
|
|
|
# This count indicates the fulfilled capacity so far. This is set during "
|
|
# PROVISIONING" state. This count also includes capacity delivered as part of
|
|
# existing matching reservations.
|
|
# Corresponds to the JSON property `fulfilledCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :fulfilled_count
|
|
|
|
# Time when Future Reservation would become LOCKED, after which no modifications
|
|
# to Future Reservation will be allowed. Applicable only after the Future
|
|
# Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The
|
|
# procurement_status will transition to PROCURING state at this time.
|
|
# Corresponds to the JSON property `lockTime`
|
|
# @return [String]
|
|
attr_accessor :lock_time
|
|
|
|
# Current state of this Future Reservation
|
|
# Corresponds to the JSON property `procurementStatus`
|
|
# @return [String]
|
|
attr_accessor :procurement_status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_created_reservations = args[:auto_created_reservations] if args.key?(:auto_created_reservations)
|
|
@fulfilled_count = args[:fulfilled_count] if args.key?(:fulfilled_count)
|
|
@lock_time = args[:lock_time] if args.key?(:lock_time)
|
|
@procurement_status = args[:procurement_status] if args.key?(:procurement_status)
|
|
end
|
|
end
|
|
|
|
#
|
|
class FutureReservationTimeWindow
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `duration`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :duration
|
|
|
|
#
|
|
# Corresponds to the JSON property `endTime`
|
|
# @return [String]
|
|
attr_accessor :end_time
|
|
|
|
# Start time of the Future Reservation. The start_time is an RFC3339 string.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@duration = args[:duration] if args.key?(:duration)
|
|
@end_time = args[:end_time] if args.key?(:end_time)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
end
|
|
end
|
|
|
|
# Contains a list of future reservations.
|
|
class FutureReservationsAggregatedListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Future reservation resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::FutureReservationsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#
|
|
# futureReservationsAggregatedListResponse for future resevation aggregated list
|
|
# response.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FutureReservationsAggregatedListResponse::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class FutureReservationsListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] A list of future reservation resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource.Always compute#FutureReservationsListResponse
|
|
# for lists of reservations
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FutureReservationsListResponse::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class FutureReservationsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of future reservations contained in this scope.
|
|
# Corresponds to the JSON property `futureReservations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FutureReservation>]
|
|
attr_accessor :future_reservations
|
|
|
|
# Informational warning which replaces the list of future reservations when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@future_reservations = args[:future_reservations] if args.key?(:future_reservations)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of future reservations when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FutureReservationsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class GrpcHealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The gRPC service name for the health check. This field is optional. The value
|
|
# of grpc_service_name has the following meanings by convention: - Empty
|
|
# service_name means the overall status of all services at the backend. - Non-
|
|
# empty service_name means the health of that gRPC service, as defined by the
|
|
# owner of the service. The grpc_service_name can only be ASCII.
|
|
# Corresponds to the JSON property `grpcServiceName`
|
|
# @return [String]
|
|
attr_accessor :grpc_service_name
|
|
|
|
# The port number for the health check request. Must be specified if port_name
|
|
# and port_specification are not set or if port_specification is USE_FIXED_PORT.
|
|
# Valid values are 1 through 65535.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# Port name as defined in InstanceGroup#NamedPort#name. If both port and
|
|
# port_name are defined, port takes precedence. The port_name should conform to
|
|
# RFC1035.
|
|
# Corresponds to the JSON property `portName`
|
|
# @return [String]
|
|
attr_accessor :port_name
|
|
|
|
# Specifies how port is selected for health checking, can be one of following
|
|
# values: USE_FIXED_PORT: The port number in port is used for health checking.
|
|
# USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
|
|
# For NetworkEndpointGroup, the port specified for each network endpoint is used
|
|
# for health checking. For other backends, the port or named port specified in
|
|
# the Backend Service is used for health checking. If not specified, gRPC health
|
|
# check follows behavior specified in port and portName fields.
|
|
# Corresponds to the JSON property `portSpecification`
|
|
# @return [String]
|
|
attr_accessor :port_specification
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@grpc_service_name = args[:grpc_service_name] if args.key?(:grpc_service_name)
|
|
@port = args[:port] if args.key?(:port)
|
|
@port_name = args[:port_name] if args.key?(:port_name)
|
|
@port_specification = args[:port_specification] if args.key?(:port_specification)
|
|
end
|
|
end
|
|
|
|
#
|
|
class GetOwnerInstanceResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Full instance resource URL.
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
end
|
|
end
|
|
|
|
#
|
|
class GlobalNetworkEndpointGroupsAttachEndpointsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of network endpoints to be attached.
|
|
# Corresponds to the JSON property `networkEndpoints`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpoint>]
|
|
attr_accessor :network_endpoints
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
|
|
end
|
|
end
|
|
|
|
#
|
|
class GlobalNetworkEndpointGroupsDetachEndpointsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of network endpoints to be detached.
|
|
# Corresponds to the JSON property `networkEndpoints`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpoint>]
|
|
attr_accessor :network_endpoints
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
|
|
end
|
|
end
|
|
|
|
#
|
|
class GlobalOrganizationSetPolicyRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
|
|
# policy' to specify bindings.
|
|
# Corresponds to the JSON property `bindings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Binding>]
|
|
attr_accessor :bindings
|
|
|
|
# Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
|
|
# policy' to specify the etag.
|
|
# Corresponds to the JSON property `etag`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# An Identity and Access Management (IAM) policy, which specifies access
|
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
|
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
|
# Principals can be user accounts, service accounts, Google groups, and domains (
|
|
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
|
# an IAM predefined role or a user-created custom role. For some types of Google
|
|
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
|
# logical expression that allows access to a resource only if the expression
|
|
# evaluates to `true`. A condition can add constraints based on attributes of
|
|
# the request, the resource, or both. To learn which resources support
|
|
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
|
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
|
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
|
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
|
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
|
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
|
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
|
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
|
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
|
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
|
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
|
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
|
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
|
# access description: Does not grant access after Sep 2020 expression: request.
|
|
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
|
# a description of IAM and its features, see the [IAM documentation](https://
|
|
# cloud.google.com/iam/docs/).
|
|
# Corresponds to the JSON property `policy`
|
|
# @return [Google::Apis::ComputeAlpha::Policy]
|
|
attr_accessor :policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bindings = args[:bindings] if args.key?(:bindings)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@policy = args[:policy] if args.key?(:policy)
|
|
end
|
|
end
|
|
|
|
#
|
|
class GlobalSetLabelsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The fingerprint of the previous set of labels for this resource, used to
|
|
# detect conflicts. The fingerprint is initially generated by Compute Engine and
|
|
# changes after every request to modify or update labels. You must always
|
|
# provide an up-to-date fingerprint hash when updating or changing labels,
|
|
# otherwise the request will fail with error 412 conditionNotMet. Make a get()
|
|
# request to the resource to get the latest fingerprint.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# A list of labels to apply for this resource. Each label must comply with the
|
|
# requirements for labels. For example, "webserver-frontend": "images". A label
|
|
# value can also be empty (e.g. "my-label": "").
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
end
|
|
end
|
|
|
|
#
|
|
class GlobalSetPolicyRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
|
|
# policy' to specify bindings.
|
|
# Corresponds to the JSON property `bindings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Binding>]
|
|
attr_accessor :bindings
|
|
|
|
# Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
|
|
# policy' to specify the etag.
|
|
# Corresponds to the JSON property `etag`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# An Identity and Access Management (IAM) policy, which specifies access
|
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
|
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
|
# Principals can be user accounts, service accounts, Google groups, and domains (
|
|
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
|
# an IAM predefined role or a user-created custom role. For some types of Google
|
|
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
|
# logical expression that allows access to a resource only if the expression
|
|
# evaluates to `true`. A condition can add constraints based on attributes of
|
|
# the request, the resource, or both. To learn which resources support
|
|
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
|
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
|
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
|
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
|
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
|
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
|
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
|
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
|
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
|
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
|
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
|
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
|
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
|
# access description: Does not grant access after Sep 2020 expression: request.
|
|
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
|
# a description of IAM and its features, see the [IAM documentation](https://
|
|
# cloud.google.com/iam/docs/).
|
|
# Corresponds to the JSON property `policy`
|
|
# @return [Google::Apis::ComputeAlpha::Policy]
|
|
attr_accessor :policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bindings = args[:bindings] if args.key?(:bindings)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@policy = args[:policy] if args.key?(:policy)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] gRPC config to access the SDS server. gRPC config to access the
|
|
# SDS server.
|
|
class GrpcServiceConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] gRPC call credentials to access the SDS server. gRPC call
|
|
# credentials to access the SDS server.
|
|
# Corresponds to the JSON property `callCredentials`
|
|
# @return [Google::Apis::ComputeAlpha::CallCredentials]
|
|
attr_accessor :call_credentials
|
|
|
|
# [Deprecated] gRPC channel credentials to access the SDS server. gRPC channel
|
|
# credentials to access the SDS server.
|
|
# Corresponds to the JSON property `channelCredentials`
|
|
# @return [Google::Apis::ComputeAlpha::ChannelCredentials]
|
|
attr_accessor :channel_credentials
|
|
|
|
# The target URI of the SDS server.
|
|
# Corresponds to the JSON property `targetUri`
|
|
# @return [String]
|
|
attr_accessor :target_uri
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@call_credentials = args[:call_credentials] if args.key?(:call_credentials)
|
|
@channel_credentials = args[:channel_credentials] if args.key?(:channel_credentials)
|
|
@target_uri = args[:target_uri] if args.key?(:target_uri)
|
|
end
|
|
end
|
|
|
|
# A guest attributes entry.
|
|
class GuestAttributes
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Type of the resource. Always compute#guestAttributes for guest
|
|
# attributes entry.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The path to be queried. This can be the default namespace ('') or a nested
|
|
# namespace ('\/') or a specified key ('\/\').
|
|
# Corresponds to the JSON property `queryPath`
|
|
# @return [String]
|
|
attr_accessor :query_path
|
|
|
|
# Array of guest attribute namespace/key/value tuples.
|
|
# Corresponds to the JSON property `queryValue`
|
|
# @return [Google::Apis::ComputeAlpha::GuestAttributesValue]
|
|
attr_accessor :query_value
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# The key to search for.
|
|
# Corresponds to the JSON property `variableKey`
|
|
# @return [String]
|
|
attr_accessor :variable_key
|
|
|
|
# [Output Only] The value found for the requested key.
|
|
# Corresponds to the JSON property `variableValue`
|
|
# @return [String]
|
|
attr_accessor :variable_value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@query_path = args[:query_path] if args.key?(:query_path)
|
|
@query_value = args[:query_value] if args.key?(:query_value)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@variable_key = args[:variable_key] if args.key?(:variable_key)
|
|
@variable_value = args[:variable_value] if args.key?(:variable_value)
|
|
end
|
|
end
|
|
|
|
# A guest attributes namespace/key/value entry.
|
|
class GuestAttributesEntry
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Key for the guest attribute entry.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# Namespace for the guest attribute entry.
|
|
# Corresponds to the JSON property `namespace`
|
|
# @return [String]
|
|
attr_accessor :namespace
|
|
|
|
# Value for the guest attribute entry.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@namespace = args[:namespace] if args.key?(:namespace)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
|
|
# Array of guest attribute namespace/key/value tuples.
|
|
class GuestAttributesValue
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::GuestAttributesEntry>]
|
|
attr_accessor :items
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@items = args[:items] if args.key?(:items)
|
|
end
|
|
end
|
|
|
|
# Guest OS features.
|
|
class GuestOsFeature
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The ID of a supported feature. To add multiple values, use commas to separate
|
|
# values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE -
|
|
# WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE -
|
|
# SUSPEND_RESUME_COMPATIBLE - SEV_SNP_CAPABLE For more information, see Enabling
|
|
# guest operating system features.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class Http2HealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The value of the host header in the HTTP/2 health check request. If left empty
|
|
# (default value), the IP on behalf of which this health check is performed will
|
|
# be used.
|
|
# Corresponds to the JSON property `host`
|
|
# @return [String]
|
|
attr_accessor :host
|
|
|
|
# The TCP port number for the health check request. The default value is 443.
|
|
# Valid values are 1 through 65535.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# Port name as defined in InstanceGroup#NamedPort#name. If both port and
|
|
# port_name are defined, port takes precedence.
|
|
# Corresponds to the JSON property `portName`
|
|
# @return [String]
|
|
attr_accessor :port_name
|
|
|
|
# Specifies how port is selected for health checking, can be one of following
|
|
# values: USE_FIXED_PORT: The port number in port is used for health checking.
|
|
# USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
|
|
# For NetworkEndpointGroup, the port specified for each network endpoint is used
|
|
# for health checking. For other backends, the port or named port specified in
|
|
# the Backend Service is used for health checking. If not specified, HTTP2
|
|
# health check follows behavior specified in port and portName fields.
|
|
# Corresponds to the JSON property `portSpecification`
|
|
# @return [String]
|
|
attr_accessor :port_specification
|
|
|
|
# Specifies the type of proxy header to append before sending data to the
|
|
# backend, either NONE or PROXY_V1. The default is NONE.
|
|
# Corresponds to the JSON property `proxyHeader`
|
|
# @return [String]
|
|
attr_accessor :proxy_header
|
|
|
|
# The request path of the HTTP/2 health check request. The default value is /.
|
|
# Corresponds to the JSON property `requestPath`
|
|
# @return [String]
|
|
attr_accessor :request_path
|
|
|
|
# The string to match anywhere in the first 1024 bytes of the response body. If
|
|
# left empty (the default value), the status code determines health. The
|
|
# response data can only be ASCII.
|
|
# Corresponds to the JSON property `response`
|
|
# @return [String]
|
|
attr_accessor :response
|
|
|
|
# Weight report mode. used for weighted Load Balancing.
|
|
# Corresponds to the JSON property `weightReportMode`
|
|
# @return [String]
|
|
attr_accessor :weight_report_mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@host = args[:host] if args.key?(:host)
|
|
@port = args[:port] if args.key?(:port)
|
|
@port_name = args[:port_name] if args.key?(:port_name)
|
|
@port_specification = args[:port_specification] if args.key?(:port_specification)
|
|
@proxy_header = args[:proxy_header] if args.key?(:proxy_header)
|
|
@request_path = args[:request_path] if args.key?(:request_path)
|
|
@response = args[:response] if args.key?(:response)
|
|
@weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
|
|
end
|
|
end
|
|
|
|
#
|
|
class HttpHealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The value of the host header in the HTTP health check request. If left empty (
|
|
# default value), the IP on behalf of which this health check is performed will
|
|
# be used.
|
|
# Corresponds to the JSON property `host`
|
|
# @return [String]
|
|
attr_accessor :host
|
|
|
|
# The TCP port number for the health check request. The default value is 80.
|
|
# Valid values are 1 through 65535.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# Port name as defined in InstanceGroup#NamedPort#name. If both port and
|
|
# port_name are defined, port takes precedence.
|
|
# Corresponds to the JSON property `portName`
|
|
# @return [String]
|
|
attr_accessor :port_name
|
|
|
|
# Specifies how port is selected for health checking, can be one of following
|
|
# values: USE_FIXED_PORT: The port number in port is used for health checking.
|
|
# USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
|
|
# For NetworkEndpointGroup, the port specified for each network endpoint is used
|
|
# for health checking. For other backends, the port or named port specified in
|
|
# the Backend Service is used for health checking. If not specified, HTTP health
|
|
# check follows behavior specified in port and portName fields.
|
|
# Corresponds to the JSON property `portSpecification`
|
|
# @return [String]
|
|
attr_accessor :port_specification
|
|
|
|
# Specifies the type of proxy header to append before sending data to the
|
|
# backend, either NONE or PROXY_V1. The default is NONE.
|
|
# Corresponds to the JSON property `proxyHeader`
|
|
# @return [String]
|
|
attr_accessor :proxy_header
|
|
|
|
# The request path of the HTTP health check request. The default value is /.
|
|
# Corresponds to the JSON property `requestPath`
|
|
# @return [String]
|
|
attr_accessor :request_path
|
|
|
|
# The string to match anywhere in the first 1024 bytes of the response body. If
|
|
# left empty (the default value), the status code determines health. The
|
|
# response data can only be ASCII.
|
|
# Corresponds to the JSON property `response`
|
|
# @return [String]
|
|
attr_accessor :response
|
|
|
|
# Weight report mode. used for weighted Load Balancing.
|
|
# Corresponds to the JSON property `weightReportMode`
|
|
# @return [String]
|
|
attr_accessor :weight_report_mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@host = args[:host] if args.key?(:host)
|
|
@port = args[:port] if args.key?(:port)
|
|
@port_name = args[:port_name] if args.key?(:port_name)
|
|
@port_specification = args[:port_specification] if args.key?(:port_specification)
|
|
@proxy_header = args[:proxy_header] if args.key?(:proxy_header)
|
|
@request_path = args[:request_path] if args.key?(:request_path)
|
|
@response = args[:response] if args.key?(:response)
|
|
@weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
|
|
end
|
|
end
|
|
|
|
#
|
|
class HttpsHealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The value of the host header in the HTTPS health check request. If left empty (
|
|
# default value), the IP on behalf of which this health check is performed will
|
|
# be used.
|
|
# Corresponds to the JSON property `host`
|
|
# @return [String]
|
|
attr_accessor :host
|
|
|
|
# The TCP port number for the health check request. The default value is 443.
|
|
# Valid values are 1 through 65535.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# Port name as defined in InstanceGroup#NamedPort#name. If both port and
|
|
# port_name are defined, port takes precedence.
|
|
# Corresponds to the JSON property `portName`
|
|
# @return [String]
|
|
attr_accessor :port_name
|
|
|
|
# Specifies how port is selected for health checking, can be one of following
|
|
# values: USE_FIXED_PORT: The port number in port is used for health checking.
|
|
# USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
|
|
# For NetworkEndpointGroup, the port specified for each network endpoint is used
|
|
# for health checking. For other backends, the port or named port specified in
|
|
# the Backend Service is used for health checking. If not specified, HTTPS
|
|
# health check follows behavior specified in port and portName fields.
|
|
# Corresponds to the JSON property `portSpecification`
|
|
# @return [String]
|
|
attr_accessor :port_specification
|
|
|
|
# Specifies the type of proxy header to append before sending data to the
|
|
# backend, either NONE or PROXY_V1. The default is NONE.
|
|
# Corresponds to the JSON property `proxyHeader`
|
|
# @return [String]
|
|
attr_accessor :proxy_header
|
|
|
|
# The request path of the HTTPS health check request. The default value is /.
|
|
# Corresponds to the JSON property `requestPath`
|
|
# @return [String]
|
|
attr_accessor :request_path
|
|
|
|
# The string to match anywhere in the first 1024 bytes of the response body. If
|
|
# left empty (the default value), the status code determines health. The
|
|
# response data can only be ASCII.
|
|
# Corresponds to the JSON property `response`
|
|
# @return [String]
|
|
attr_accessor :response
|
|
|
|
# Weight report mode. used for weighted Load Balancing.
|
|
# Corresponds to the JSON property `weightReportMode`
|
|
# @return [String]
|
|
attr_accessor :weight_report_mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@host = args[:host] if args.key?(:host)
|
|
@port = args[:port] if args.key?(:port)
|
|
@port_name = args[:port_name] if args.key?(:port_name)
|
|
@port_specification = args[:port_specification] if args.key?(:port_specification)
|
|
@proxy_header = args[:proxy_header] if args.key?(:proxy_header)
|
|
@request_path = args[:request_path] if args.key?(:request_path)
|
|
@response = args[:response] if args.key?(:response)
|
|
@weight_report_mode = args[:weight_report_mode] if args.key?(:weight_report_mode)
|
|
end
|
|
end
|
|
|
|
# Represents a Health Check resource. Google Compute Engine has two Health Check
|
|
# resources: * [Global](/compute/docs/reference/rest/alpha/healthChecks) * [
|
|
# Regional](/compute/docs/reference/rest/alpha/regionHealthChecks) Internal HTTP(
|
|
# S) load balancers must use regional health checks (`compute.v1.
|
|
# regionHealthChecks`). Traffic Director must use global health checks (`compute.
|
|
# v1.HealthChecks`). Internal TCP/UDP load balancers can use either regional or
|
|
# global health checks (`compute.v1.regionHealthChecks` or `compute.v1.
|
|
# HealthChecks`). External HTTP(S), TCP proxy, and SSL proxy load balancers as
|
|
# well as managed instance group auto-healing must use global health checks (`
|
|
# compute.v1.HealthChecks`). Backend service-based network load balancers must
|
|
# use regional health checks (`compute.v1.regionHealthChecks`). Target pool-
|
|
# based network load balancers must use legacy HTTP health checks (`compute.v1.
|
|
# httpHealthChecks`). For more information, see Health checks overview.
|
|
class HealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# How often (in seconds) to send a health check. The default value is 5 seconds.
|
|
# Corresponds to the JSON property `checkIntervalSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :check_interval_sec
|
|
|
|
# [Output Only] Creation timestamp in 3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
#
|
|
# Corresponds to the JSON property `grpcHealthCheck`
|
|
# @return [Google::Apis::ComputeAlpha::GrpcHealthCheck]
|
|
attr_accessor :grpc_health_check
|
|
|
|
# A so-far unhealthy instance will be marked healthy after this many consecutive
|
|
# successes. The default value is 2.
|
|
# Corresponds to the JSON property `healthyThreshold`
|
|
# @return [Fixnum]
|
|
attr_accessor :healthy_threshold
|
|
|
|
#
|
|
# Corresponds to the JSON property `http2HealthCheck`
|
|
# @return [Google::Apis::ComputeAlpha::Http2HealthCheck]
|
|
attr_accessor :http2_health_check
|
|
|
|
#
|
|
# Corresponds to the JSON property `httpHealthCheck`
|
|
# @return [Google::Apis::ComputeAlpha::HttpHealthCheck]
|
|
attr_accessor :http_health_check
|
|
|
|
#
|
|
# Corresponds to the JSON property `httpsHealthCheck`
|
|
# @return [Google::Apis::ComputeAlpha::HttpsHealthCheck]
|
|
attr_accessor :https_health_check
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# Type of the resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Configuration of logging on a health check. If logging is enabled, logs will
|
|
# be exported to Stackdriver.
|
|
# Corresponds to the JSON property `logConfig`
|
|
# @return [Google::Apis::ComputeAlpha::HealthCheckLogConfig]
|
|
attr_accessor :log_config
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. For example, a
|
|
# name that is 1-63 characters long, matches the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular
|
|
# expression describes a name where the first character is a lowercase letter,
|
|
# and all following characters are a dash, lowercase letter, or digit, except
|
|
# the last character, which isn't a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Region where the health check resides. Not applicable to global
|
|
# health checks.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
#
|
|
# Corresponds to the JSON property `sslHealthCheck`
|
|
# @return [Google::Apis::ComputeAlpha::SslHealthCheck]
|
|
attr_accessor :ssl_health_check
|
|
|
|
#
|
|
# Corresponds to the JSON property `tcpHealthCheck`
|
|
# @return [Google::Apis::ComputeAlpha::TcpHealthCheck]
|
|
attr_accessor :tcp_health_check
|
|
|
|
# How long (in seconds) to wait before claiming failure. The default value is 5
|
|
# seconds. It is invalid for timeoutSec to have greater value than
|
|
# checkIntervalSec.
|
|
# Corresponds to the JSON property `timeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :timeout_sec
|
|
|
|
# Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS or HTTP2.
|
|
# Exactly one of the protocol-specific health check field must be specified,
|
|
# which must match type field.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
#
|
|
# Corresponds to the JSON property `udpHealthCheck`
|
|
# @return [Google::Apis::ComputeAlpha::UdpHealthCheck]
|
|
attr_accessor :udp_health_check
|
|
|
|
# A so-far healthy instance will be marked unhealthy after this many consecutive
|
|
# failures. The default value is 2.
|
|
# Corresponds to the JSON property `unhealthyThreshold`
|
|
# @return [Fixnum]
|
|
attr_accessor :unhealthy_threshold
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@check_interval_sec = args[:check_interval_sec] if args.key?(:check_interval_sec)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@grpc_health_check = args[:grpc_health_check] if args.key?(:grpc_health_check)
|
|
@healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
|
|
@http2_health_check = args[:http2_health_check] if args.key?(:http2_health_check)
|
|
@http_health_check = args[:http_health_check] if args.key?(:http_health_check)
|
|
@https_health_check = args[:https_health_check] if args.key?(:https_health_check)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@log_config = args[:log_config] if args.key?(:log_config)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@ssl_health_check = args[:ssl_health_check] if args.key?(:ssl_health_check)
|
|
@tcp_health_check = args[:tcp_health_check] if args.key?(:tcp_health_check)
|
|
@timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
|
|
@type = args[:type] if args.key?(:type)
|
|
@udp_health_check = args[:udp_health_check] if args.key?(:udp_health_check)
|
|
@unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
|
|
end
|
|
end
|
|
|
|
# Contains a list of HealthCheck resources.
|
|
class HealthCheckList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of HealthCheck resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheck>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::HealthCheckList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheckList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Configuration of logging on a health check. If logging is enabled, logs will
|
|
# be exported to Stackdriver.
|
|
class HealthCheckLogConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Indicates whether or not to export logs. This is false by default, which means
|
|
# no health check logging will be done.
|
|
# Corresponds to the JSON property `enable`
|
|
# @return [Boolean]
|
|
attr_accessor :enable
|
|
alias_method :enable?, :enable
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable = args[:enable] if args.key?(:enable)
|
|
end
|
|
end
|
|
|
|
# A full or valid partial URL to a health check. For example, the following are
|
|
# valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/
|
|
# global/httpHealthChecks/health-check - projects/project-id/global/
|
|
# httpHealthChecks/health-check - global/httpHealthChecks/health-check
|
|
class HealthCheckReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `healthCheck`
|
|
# @return [String]
|
|
attr_accessor :health_check
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@health_check = args[:health_check] if args.key?(:health_check)
|
|
end
|
|
end
|
|
|
|
# Represents a Health-Check as a Service resource.
|
|
class HealthCheckService
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a HealthCheckService. An up-to-date fingerprint must be provided in
|
|
# order to patch/update the HealthCheckService; Otherwise, the request will fail
|
|
# with error 412 conditionNotMet. To see the latest fingerprint, make a get()
|
|
# request to retrieve the HealthCheckService.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# A list of URLs to the HealthCheck resources. Must have at least one
|
|
# HealthCheck, and not more than 10. HealthCheck resources must have
|
|
# portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For
|
|
# regional HealthCheckService, the HealthCheck must be regional and in the same
|
|
# region. For global HealthCheckService, HealthCheck must be global. Mix of
|
|
# regional and global HealthChecks is not supported. Multiple regional
|
|
# HealthChecks must belong to the same region. Regional HealthChecks must belong
|
|
# to the same region as zones of NEGs.
|
|
# Corresponds to the JSON property `healthChecks`
|
|
# @return [Array<String>]
|
|
attr_accessor :health_checks
|
|
|
|
# Optional. Policy for how the results from multiple health checks for the same
|
|
# endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. -
|
|
# NO_AGGREGATION. An EndpointHealth message is returned for each pair in the
|
|
# health check service. - AND. If any health check of an endpoint reports
|
|
# UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health
|
|
# checks report HEALTHY, the HealthState of the endpoint is HEALTHY. .
|
|
# Corresponds to the JSON property `healthStatusAggregationPolicy`
|
|
# @return [String]
|
|
attr_accessor :health_status_aggregation_policy
|
|
|
|
# This field is deprecated. Use health_status_aggregation_policy instead. Policy
|
|
# for how the results from multiple health checks for the same endpoint are
|
|
# aggregated. - NO_AGGREGATION. An EndpointHealth message is returned for each
|
|
# backend in the health check service. - AND. If any backend's health check
|
|
# reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health
|
|
# check service. If all backend's are healthy, the HealthState of the health
|
|
# check service is HEALTHY. .
|
|
# Corresponds to the JSON property `healthStatusAggregationStrategy`
|
|
# @return [String]
|
|
attr_accessor :health_status_aggregation_strategy
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output only] Type of the resource. Always compute#healthCheckServicefor
|
|
# health check services.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. The name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# A list of URLs to the NetworkEndpointGroup resources. Must not have more than
|
|
# 100. For regional HealthCheckService, NEGs must be in zones in the region of
|
|
# the HealthCheckService.
|
|
# Corresponds to the JSON property `networkEndpointGroups`
|
|
# @return [Array<String>]
|
|
attr_accessor :network_endpoint_groups
|
|
|
|
# A list of URLs to the NotificationEndpoint resources. Must not have more than
|
|
# 10. A list of endpoints for receiving notifications of change in health status.
|
|
# For regional HealthCheckService, NotificationEndpoint must be regional and in
|
|
# the same region. For global HealthCheckService, NotificationEndpoint must be
|
|
# global.
|
|
# Corresponds to the JSON property `notificationEndpoints`
|
|
# @return [Array<String>]
|
|
attr_accessor :notification_endpoints
|
|
|
|
# [Output Only] URL of the region where the health check service resides. This
|
|
# field is not applicable to global health check services. You must specify this
|
|
# field as part of the HTTP request URL. It is not settable as a field in the
|
|
# request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL with id for the resource.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@health_checks = args[:health_checks] if args.key?(:health_checks)
|
|
@health_status_aggregation_policy = args[:health_status_aggregation_policy] if args.key?(:health_status_aggregation_policy)
|
|
@health_status_aggregation_strategy = args[:health_status_aggregation_strategy] if args.key?(:health_status_aggregation_strategy)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network_endpoint_groups = args[:network_endpoint_groups] if args.key?(:network_endpoint_groups)
|
|
@notification_endpoints = args[:notification_endpoints] if args.key?(:notification_endpoints)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
end
|
|
end
|
|
|
|
# Contains a list of HealthCheckServicesScopedList.
|
|
class HealthCheckServiceAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of HealthCheckServicesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::HealthCheckServicesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::HealthCheckServiceAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheckServiceAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# A full or valid partial URL to a health check service. For example, the
|
|
# following are valid URLs: - https://www.googleapis.com/compute/beta/projects/
|
|
# project-id/regions/us-west1/healthCheckServices/health-check-service -
|
|
# projects/project-id/regions/us-west1/healthCheckServices/health-check-service -
|
|
# regions/us-west1/healthCheckServices/health-check-service
|
|
class HealthCheckServiceReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `healthCheckService`
|
|
# @return [String]
|
|
attr_accessor :health_check_service
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@health_check_service = args[:health_check_service] if args.key?(:health_check_service)
|
|
end
|
|
end
|
|
|
|
#
|
|
class HealthCheckServicesList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of HealthCheckService resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheckService>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of the resource. Always compute#healthCheckServicesList for
|
|
# lists of HealthCheckServices.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::HealthCheckServicesList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheckServicesList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class HealthCheckServicesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of HealthCheckServices contained in this scope.
|
|
# Corresponds to the JSON property `resources`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheckService>]
|
|
attr_accessor :resources
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::HealthCheckServicesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resources = args[:resources] if args.key?(:resources)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheckServicesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class HealthChecksAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of HealthChecksScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::HealthChecksScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::HealthChecksAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthChecksAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class HealthChecksScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of HealthChecks contained in this scope.
|
|
# Corresponds to the JSON property `healthChecks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheck>]
|
|
attr_accessor :health_checks
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::HealthChecksScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@health_checks = args[:health_checks] if args.key?(:health_checks)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthChecksScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class HealthStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Metadata defined as annotations for network endpoint.
|
|
# Corresponds to the JSON property `annotations`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :annotations
|
|
|
|
# URL of the forwarding rule associated with the health status of the instance.
|
|
# Corresponds to the JSON property `forwardingRule`
|
|
# @return [String]
|
|
attr_accessor :forwarding_rule
|
|
|
|
# A forwarding rule IP address assigned to this instance.
|
|
# Corresponds to the JSON property `forwardingRuleIp`
|
|
# @return [String]
|
|
attr_accessor :forwarding_rule_ip
|
|
|
|
# Health state of the instance.
|
|
# Corresponds to the JSON property `healthState`
|
|
# @return [String]
|
|
attr_accessor :health_state
|
|
|
|
# URL of the instance resource.
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
# For target pool based Network Load Balancing, it indicates the forwarding rule'
|
|
# s IP address assigned to this instance. For other types of load balancing, the
|
|
# field indicates VM internal ip.
|
|
# Corresponds to the JSON property `ipAddress`
|
|
# @return [String]
|
|
attr_accessor :ip_address
|
|
|
|
# The named port of the instance group, not necessarily the port that is health-
|
|
# checked.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
#
|
|
# Corresponds to the JSON property `weight`
|
|
# @return [String]
|
|
attr_accessor :weight
|
|
|
|
#
|
|
# Corresponds to the JSON property `weightError`
|
|
# @return [String]
|
|
attr_accessor :weight_error
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@annotations = args[:annotations] if args.key?(:annotations)
|
|
@forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
|
|
@forwarding_rule_ip = args[:forwarding_rule_ip] if args.key?(:forwarding_rule_ip)
|
|
@health_state = args[:health_state] if args.key?(:health_state)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
@port = args[:port] if args.key?(:port)
|
|
@weight = args[:weight] if args.key?(:weight)
|
|
@weight_error = args[:weight_error] if args.key?(:weight_error)
|
|
end
|
|
end
|
|
|
|
#
|
|
class HealthStatusForNetworkEndpoint
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# URL of the backend service associated with the health state of the network
|
|
# endpoint.
|
|
# Corresponds to the JSON property `backendService`
|
|
# @return [Google::Apis::ComputeAlpha::BackendServiceReference]
|
|
attr_accessor :backend_service
|
|
|
|
# URL of the forwarding rule associated with the health state of the network
|
|
# endpoint.
|
|
# Corresponds to the JSON property `forwardingRule`
|
|
# @return [Google::Apis::ComputeAlpha::ForwardingRuleReference]
|
|
attr_accessor :forwarding_rule
|
|
|
|
# A full or valid partial URL to a health check. For example, the following are
|
|
# valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/
|
|
# global/httpHealthChecks/health-check - projects/project-id/global/
|
|
# httpHealthChecks/health-check - global/httpHealthChecks/health-check
|
|
# Corresponds to the JSON property `healthCheck`
|
|
# @return [Google::Apis::ComputeAlpha::HealthCheckReference]
|
|
attr_accessor :health_check
|
|
|
|
# A full or valid partial URL to a health check service. For example, the
|
|
# following are valid URLs: - https://www.googleapis.com/compute/beta/projects/
|
|
# project-id/regions/us-west1/healthCheckServices/health-check-service -
|
|
# projects/project-id/regions/us-west1/healthCheckServices/health-check-service -
|
|
# regions/us-west1/healthCheckServices/health-check-service
|
|
# Corresponds to the JSON property `healthCheckService`
|
|
# @return [Google::Apis::ComputeAlpha::HealthCheckServiceReference]
|
|
attr_accessor :health_check_service
|
|
|
|
# Health state of the network endpoint determined based on the health checks
|
|
# configured.
|
|
# Corresponds to the JSON property `healthState`
|
|
# @return [String]
|
|
attr_accessor :health_state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@backend_service = args[:backend_service] if args.key?(:backend_service)
|
|
@forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
|
|
@health_check = args[:health_check] if args.key?(:health_check)
|
|
@health_check_service = args[:health_check_service] if args.key?(:health_check_service)
|
|
@health_state = args[:health_state] if args.key?(:health_state)
|
|
end
|
|
end
|
|
|
|
# UrlMaps A host-matching rule for a URL. If matched, will use the named
|
|
# PathMatcher to select the BackendService.
|
|
class HostRule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The list of host patterns to match. They must be valid hostnames with optional
|
|
# port numbers in the format host:port. * matches any string of ([a-z0-9-.]*).
|
|
# In that case, * must be the first character and must be followed in the
|
|
# pattern by either - or .. * based matching is not supported when the URL map
|
|
# is bound to a target gRPC proxy that has the validateForProxyless field set to
|
|
# true.
|
|
# Corresponds to the JSON property `hosts`
|
|
# @return [Array<String>]
|
|
attr_accessor :hosts
|
|
|
|
# The name of the PathMatcher to use to match the path portion of the URL if the
|
|
# hostRule matches the URL's host portion.
|
|
# Corresponds to the JSON property `pathMatcher`
|
|
# @return [String]
|
|
attr_accessor :path_matcher
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@description = args[:description] if args.key?(:description)
|
|
@hosts = args[:hosts] if args.key?(:hosts)
|
|
@path_matcher = args[:path_matcher] if args.key?(:path_matcher)
|
|
end
|
|
end
|
|
|
|
# Specification for how requests are aborted as part of fault injection.
|
|
class HttpFaultAbort
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The HTTP status code used to abort the request. The value must be from 200 to
|
|
# 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP
|
|
# status code according to this mapping table. HTTP status 200 is mapped to gRPC
|
|
# status UNKNOWN. Injecting an OK status is currently not supported by Traffic
|
|
# Director.
|
|
# Corresponds to the JSON property `httpStatus`
|
|
# @return [Fixnum]
|
|
attr_accessor :http_status
|
|
|
|
# The percentage of traffic for connections, operations, or requests that is
|
|
# aborted as part of fault injection. The value must be from 0.0 to 100.0
|
|
# inclusive.
|
|
# Corresponds to the JSON property `percentage`
|
|
# @return [Float]
|
|
attr_accessor :percentage
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@http_status = args[:http_status] if args.key?(:http_status)
|
|
@percentage = args[:percentage] if args.key?(:percentage)
|
|
end
|
|
end
|
|
|
|
# Specifies the delay introduced by the load balancer before forwarding the
|
|
# request to the backend service as part of fault injection.
|
|
class HttpFaultDelay
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `fixedDelay`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :fixed_delay
|
|
|
|
# The percentage of traffic for connections, operations, or requests for which a
|
|
# delay is introduced as part of fault injection. The value must be from 0.0 to
|
|
# 100.0 inclusive.
|
|
# Corresponds to the JSON property `percentage`
|
|
# @return [Float]
|
|
attr_accessor :percentage
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@fixed_delay = args[:fixed_delay] if args.key?(:fixed_delay)
|
|
@percentage = args[:percentage] if args.key?(:percentage)
|
|
end
|
|
end
|
|
|
|
# The specification for fault injection introduced into traffic to test the
|
|
# resiliency of clients to backend service failure. As part of fault injection,
|
|
# when clients send requests to a backend service, delays can be introduced by
|
|
# the load balancer on a percentage of requests before sending those request to
|
|
# the backend service. Similarly requests from clients can be aborted by the
|
|
# load balancer for a percentage of requests.
|
|
class HttpFaultInjection
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specification for how requests are aborted as part of fault injection.
|
|
# Corresponds to the JSON property `abort`
|
|
# @return [Google::Apis::ComputeAlpha::HttpFaultAbort]
|
|
attr_accessor :abort
|
|
|
|
# Specifies the delay introduced by the load balancer before forwarding the
|
|
# request to the backend service as part of fault injection.
|
|
# Corresponds to the JSON property `delay`
|
|
# @return [Google::Apis::ComputeAlpha::HttpFaultDelay]
|
|
attr_accessor :delay
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@abort = args[:abort] if args.key?(:abort)
|
|
@delay = args[:delay] if args.key?(:delay)
|
|
end
|
|
end
|
|
|
|
# HttpFilterConfiguration supplies additional contextual settings for
|
|
# networkservices.HttpFilter resources enabled by Traffic Director.
|
|
class HttpFilterConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The configuration needed to enable the networkservices.HttpFilter resource.
|
|
# The configuration must be YAML formatted and only contain fields defined in
|
|
# the protobuf identified in configTypeUrl
|
|
# Corresponds to the JSON property `config`
|
|
# @return [String]
|
|
attr_accessor :config
|
|
|
|
# The fully qualified versioned proto3 type url of the protobuf that the filter
|
|
# expects for its contextual settings, for example: type.googleapis.com/google.
|
|
# protobuf.Struct
|
|
# Corresponds to the JSON property `configTypeUrl`
|
|
# @return [String]
|
|
attr_accessor :config_type_url
|
|
|
|
# Name of the networkservices.HttpFilter resource this configuration belongs to.
|
|
# This name must be known to the xDS client. Example: envoy.wasm
|
|
# Corresponds to the JSON property `filterName`
|
|
# @return [String]
|
|
attr_accessor :filter_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@config = args[:config] if args.key?(:config)
|
|
@config_type_url = args[:config_type_url] if args.key?(:config_type_url)
|
|
@filter_name = args[:filter_name] if args.key?(:filter_name)
|
|
end
|
|
end
|
|
|
|
# The request and response header transformations that take effect before the
|
|
# request is passed along to the selected backendService.
|
|
class HttpHeaderAction
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Headers to add to a matching request before forwarding the request to the
|
|
# backendService.
|
|
# Corresponds to the JSON property `requestHeadersToAdd`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
|
|
attr_accessor :request_headers_to_add
|
|
|
|
# A list of header names for headers that need to be removed from the request
|
|
# before forwarding the request to the backendService.
|
|
# Corresponds to the JSON property `requestHeadersToRemove`
|
|
# @return [Array<String>]
|
|
attr_accessor :request_headers_to_remove
|
|
|
|
# Headers to add the response before sending the response back to the client.
|
|
# Corresponds to the JSON property `responseHeadersToAdd`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpHeaderOption>]
|
|
attr_accessor :response_headers_to_add
|
|
|
|
# A list of header names for headers that need to be removed from the response
|
|
# before sending the response back to the client.
|
|
# Corresponds to the JSON property `responseHeadersToRemove`
|
|
# @return [Array<String>]
|
|
attr_accessor :response_headers_to_remove
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@request_headers_to_add = args[:request_headers_to_add] if args.key?(:request_headers_to_add)
|
|
@request_headers_to_remove = args[:request_headers_to_remove] if args.key?(:request_headers_to_remove)
|
|
@response_headers_to_add = args[:response_headers_to_add] if args.key?(:response_headers_to_add)
|
|
@response_headers_to_remove = args[:response_headers_to_remove] if args.key?(:response_headers_to_remove)
|
|
end
|
|
end
|
|
|
|
# matchRule criteria for request header matches.
|
|
class HttpHeaderMatch
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The value should exactly match contents of exactMatch. Only one of exactMatch,
|
|
# prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
|
|
# Corresponds to the JSON property `exactMatch`
|
|
# @return [String]
|
|
attr_accessor :exact_match
|
|
|
|
# The name of the HTTP header to match. For matching against the HTTP request's
|
|
# authority, use a headerMatch with the header name ":authority". For matching a
|
|
# request's method, use the headerName ":method". When the URL map is bound to a
|
|
# target gRPC proxy that has the validateForProxyless field set to true, only
|
|
# non-binary user-specified custom metadata and the `content-type` header are
|
|
# supported. The following transport-level headers cannot be used in header
|
|
# matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `
|
|
# accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`,
|
|
# `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-
|
|
# bin`.
|
|
# Corresponds to the JSON property `headerName`
|
|
# @return [String]
|
|
attr_accessor :header_name
|
|
|
|
# If set to false, the headerMatch is considered a match if the preceding match
|
|
# criteria are met. If set to true, the headerMatch is considered a match if the
|
|
# preceding match criteria are NOT met. The default setting is false.
|
|
# Corresponds to the JSON property `invertMatch`
|
|
# @return [Boolean]
|
|
attr_accessor :invert_match
|
|
alias_method :invert_match?, :invert_match
|
|
|
|
# The value of the header must start with the contents of prefixMatch. Only one
|
|
# of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or
|
|
# rangeMatch must be set.
|
|
# Corresponds to the JSON property `prefixMatch`
|
|
# @return [String]
|
|
attr_accessor :prefix_match
|
|
|
|
# A header with the contents of headerName must exist. The match takes place
|
|
# whether or not the request's header has a value. Only one of exactMatch,
|
|
# prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
|
|
# Corresponds to the JSON property `presentMatch`
|
|
# @return [Boolean]
|
|
attr_accessor :present_match
|
|
alias_method :present_match?, :present_match
|
|
|
|
# HttpRouteRuleMatch criteria for field values that must stay within the
|
|
# specified integer range.
|
|
# Corresponds to the JSON property `rangeMatch`
|
|
# @return [Google::Apis::ComputeAlpha::Int64RangeMatch]
|
|
attr_accessor :range_match
|
|
|
|
# The value of the header must match the regular expression specified in
|
|
# regexMatch. For more information about regular expression syntax, see Syntax.
|
|
# For matching against a port specified in the HTTP request, use a headerMatch
|
|
# with headerName set to PORT and a regular expression that satisfies the
|
|
# RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch,
|
|
# suffixMatch, regexMatch, presentMatch or rangeMatch must be set. regexMatch
|
|
# only applies to load balancers that have loadBalancingScheme set to
|
|
# INTERNAL_SELF_MANAGED.
|
|
# Corresponds to the JSON property `regexMatch`
|
|
# @return [String]
|
|
attr_accessor :regex_match
|
|
|
|
# The value of the header must end with the contents of suffixMatch. Only one of
|
|
# exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch
|
|
# must be set.
|
|
# Corresponds to the JSON property `suffixMatch`
|
|
# @return [String]
|
|
attr_accessor :suffix_match
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@exact_match = args[:exact_match] if args.key?(:exact_match)
|
|
@header_name = args[:header_name] if args.key?(:header_name)
|
|
@invert_match = args[:invert_match] if args.key?(:invert_match)
|
|
@prefix_match = args[:prefix_match] if args.key?(:prefix_match)
|
|
@present_match = args[:present_match] if args.key?(:present_match)
|
|
@range_match = args[:range_match] if args.key?(:range_match)
|
|
@regex_match = args[:regex_match] if args.key?(:regex_match)
|
|
@suffix_match = args[:suffix_match] if args.key?(:suffix_match)
|
|
end
|
|
end
|
|
|
|
# Specification determining how headers are added to requests or responses.
|
|
class HttpHeaderOption
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The name of the header.
|
|
# Corresponds to the JSON property `headerName`
|
|
# @return [String]
|
|
attr_accessor :header_name
|
|
|
|
# The value of the header to add.
|
|
# Corresponds to the JSON property `headerValue`
|
|
# @return [String]
|
|
attr_accessor :header_value
|
|
|
|
# If false, headerValue is appended to any values that already exist for the
|
|
# header. If true, headerValue is set for the header, discarding any values that
|
|
# were set for that header. The default value is false.
|
|
# Corresponds to the JSON property `replace`
|
|
# @return [Boolean]
|
|
attr_accessor :replace
|
|
alias_method :replace?, :replace
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@header_name = args[:header_name] if args.key?(:header_name)
|
|
@header_value = args[:header_value] if args.key?(:header_value)
|
|
@replace = args[:replace] if args.key?(:replace)
|
|
end
|
|
end
|
|
|
|
# Represents a legacy HTTP Health Check resource. Legacy HTTP health checks are
|
|
# now only required by target pool-based network load balancers. For all other
|
|
# load balancers, including backend service-based network load balancers, and
|
|
# for managed instance group auto-healing, you must use modern (non-legacy)
|
|
# health checks. For more information, see Health checks overview .
|
|
class HttpHealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# How often (in seconds) to send a health check. The default value is 5 seconds.
|
|
# Corresponds to the JSON property `checkIntervalSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :check_interval_sec
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# A so-far unhealthy instance will be marked healthy after this many consecutive
|
|
# successes. The default value is 2.
|
|
# Corresponds to the JSON property `healthyThreshold`
|
|
# @return [Fixnum]
|
|
attr_accessor :healthy_threshold
|
|
|
|
# The value of the host header in the HTTP health check request. If left empty (
|
|
# default value), the public IP on behalf of which this health check is
|
|
# performed will be used.
|
|
# Corresponds to the JSON property `host`
|
|
# @return [String]
|
|
attr_accessor :host
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP
|
|
# health checks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The TCP port number for the HTTP health check request. The default value is 80.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# The request path of the HTTP health check request. The default value is /.
|
|
# This field does not support query parameters.
|
|
# Corresponds to the JSON property `requestPath`
|
|
# @return [String]
|
|
attr_accessor :request_path
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# How long (in seconds) to wait before claiming failure. The default value is 5
|
|
# seconds. It is invalid for timeoutSec to have greater value than
|
|
# checkIntervalSec.
|
|
# Corresponds to the JSON property `timeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :timeout_sec
|
|
|
|
# A so-far healthy instance will be marked unhealthy after this many consecutive
|
|
# failures. The default value is 2.
|
|
# Corresponds to the JSON property `unhealthyThreshold`
|
|
# @return [Fixnum]
|
|
attr_accessor :unhealthy_threshold
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@check_interval_sec = args[:check_interval_sec] if args.key?(:check_interval_sec)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
|
|
@host = args[:host] if args.key?(:host)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@port = args[:port] if args.key?(:port)
|
|
@request_path = args[:request_path] if args.key?(:request_path)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
|
|
@unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
|
|
end
|
|
end
|
|
|
|
# Contains a list of HttpHealthCheck resources.
|
|
class HttpHealthCheckList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of HttpHealthCheck resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpHealthCheck>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::HttpHealthCheckList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpHealthCheckList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# HttpRouteRuleMatch criteria for a request's query parameter.
|
|
class HttpQueryParameterMatch
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The queryParameterMatch matches if the value of the parameter exactly matches
|
|
# the contents of exactMatch. Only one of presentMatch, exactMatch, or
|
|
# regexMatch must be set.
|
|
# Corresponds to the JSON property `exactMatch`
|
|
# @return [String]
|
|
attr_accessor :exact_match
|
|
|
|
# The name of the query parameter to match. The query parameter must exist in
|
|
# the request, in the absence of which the request match fails.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Specifies that the queryParameterMatch matches if the request contains the
|
|
# query parameter, irrespective of whether the parameter has a value or not.
|
|
# Only one of presentMatch, exactMatch, or regexMatch must be set.
|
|
# Corresponds to the JSON property `presentMatch`
|
|
# @return [Boolean]
|
|
attr_accessor :present_match
|
|
alias_method :present_match?, :present_match
|
|
|
|
# The queryParameterMatch matches if the value of the parameter matches the
|
|
# regular expression specified by regexMatch. For more information about regular
|
|
# expression syntax, see Syntax. Only one of presentMatch, exactMatch, or
|
|
# regexMatch must be set. regexMatch only applies when the loadBalancingScheme
|
|
# is set to INTERNAL_SELF_MANAGED.
|
|
# Corresponds to the JSON property `regexMatch`
|
|
# @return [String]
|
|
attr_accessor :regex_match
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@exact_match = args[:exact_match] if args.key?(:exact_match)
|
|
@name = args[:name] if args.key?(:name)
|
|
@present_match = args[:present_match] if args.key?(:present_match)
|
|
@regex_match = args[:regex_match] if args.key?(:regex_match)
|
|
end
|
|
end
|
|
|
|
# Specifies settings for an HTTP redirect.
|
|
class HttpRedirectAction
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The host that is used in the redirect response instead of the one that was
|
|
# supplied in the request. The value must be from 1 to 255 characters.
|
|
# Corresponds to the JSON property `hostRedirect`
|
|
# @return [String]
|
|
attr_accessor :host_redirect
|
|
|
|
# If set to true, the URL scheme in the redirected request is set to HTTPS. If
|
|
# set to false, the URL scheme of the redirected request remains the same as
|
|
# that of the request. This must only be set for URL maps used in
|
|
# TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The
|
|
# default is set to false.
|
|
# Corresponds to the JSON property `httpsRedirect`
|
|
# @return [Boolean]
|
|
attr_accessor :https_redirect
|
|
alias_method :https_redirect?, :https_redirect
|
|
|
|
# The path that is used in the redirect response instead of the one that was
|
|
# supplied in the request. pathRedirect cannot be supplied together with
|
|
# prefixRedirect. Supply one alone or neither. If neither is supplied, the path
|
|
# of the original request is used for the redirect. The value must be from 1 to
|
|
# 1024 characters.
|
|
# Corresponds to the JSON property `pathRedirect`
|
|
# @return [String]
|
|
attr_accessor :path_redirect
|
|
|
|
# The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch,
|
|
# retaining the remaining portion of the URL before redirecting the request.
|
|
# prefixRedirect cannot be supplied together with pathRedirect. Supply one alone
|
|
# or neither. If neither is supplied, the path of the original request is used
|
|
# for the redirect. The value must be from 1 to 1024 characters.
|
|
# Corresponds to the JSON property `prefixRedirect`
|
|
# @return [String]
|
|
attr_accessor :prefix_redirect
|
|
|
|
# The HTTP Status code to use for this RedirectAction. Supported values are: -
|
|
# MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. -
|
|
# FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. -
|
|
# TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method
|
|
# is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the
|
|
# request method is retained.
|
|
# Corresponds to the JSON property `redirectResponseCode`
|
|
# @return [String]
|
|
attr_accessor :redirect_response_code
|
|
|
|
# If set to true, any accompanying query portion of the original URL is removed
|
|
# before redirecting the request. If set to false, the query portion of the
|
|
# original URL is retained. The default is set to false.
|
|
# Corresponds to the JSON property `stripQuery`
|
|
# @return [Boolean]
|
|
attr_accessor :strip_query
|
|
alias_method :strip_query?, :strip_query
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@host_redirect = args[:host_redirect] if args.key?(:host_redirect)
|
|
@https_redirect = args[:https_redirect] if args.key?(:https_redirect)
|
|
@path_redirect = args[:path_redirect] if args.key?(:path_redirect)
|
|
@prefix_redirect = args[:prefix_redirect] if args.key?(:prefix_redirect)
|
|
@redirect_response_code = args[:redirect_response_code] if args.key?(:redirect_response_code)
|
|
@strip_query = args[:strip_query] if args.key?(:strip_query)
|
|
end
|
|
end
|
|
|
|
# The retry policy associates with HttpRouteRule
|
|
class HttpRetryPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies the allowed number retries. This number must be > 0. If not
|
|
# specified, defaults to 1.
|
|
# Corresponds to the JSON property `numRetries`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_retries
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `perTryTimeout`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :per_try_timeout
|
|
|
|
# Specifies one or more conditions when this retry policy applies. Valid values
|
|
# are: - 5xx: retry is attempted if the instance or endpoint responds with any
|
|
# 5xx response code, or if the instance or endpoint does not respond at all. For
|
|
# example, disconnects, reset, read timeout, connection failure, and refused
|
|
# streams. - gateway-error: Similar to 5xx, but only applies to response codes
|
|
# 502, 503 or 504. - connect-failure: a retry is attempted on failures
|
|
# connecting to the instance or endpoint. For example, connection timeouts. -
|
|
# retriable-4xx: a retry is attempted if the instance or endpoint responds with
|
|
# a 4xx response code. The only error that you can retry is error code 409. -
|
|
# refused-stream: a retry is attempted if the instance or endpoint resets the
|
|
# stream with a REFUSED_STREAM error code. This reset type indicates that it is
|
|
# safe to retry. - cancelled: a retry is attempted if the gRPC status code in
|
|
# the response header is set to cancelled. - deadline-exceeded: a retry is
|
|
# attempted if the gRPC status code in the response header is set to deadline-
|
|
# exceeded. - internal: a retry is attempted if the gRPC status code in the
|
|
# response header is set to internal. - resource-exhausted: a retry is attempted
|
|
# if the gRPC status code in the response header is set to resource-exhausted. -
|
|
# unavailable: a retry is attempted if the gRPC status code in the response
|
|
# header is set to unavailable. Only the following codes are supported when the
|
|
# URL map is bound to target gRPC proxy that has validateForProxyless field set
|
|
# to true. - cancelled - deadline-exceeded - internal - resource-exhausted -
|
|
# unavailable
|
|
# Corresponds to the JSON property `retryConditions`
|
|
# @return [Array<String>]
|
|
attr_accessor :retry_conditions
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@num_retries = args[:num_retries] if args.key?(:num_retries)
|
|
@per_try_timeout = args[:per_try_timeout] if args.key?(:per_try_timeout)
|
|
@retry_conditions = args[:retry_conditions] if args.key?(:retry_conditions)
|
|
end
|
|
end
|
|
|
|
#
|
|
class HttpRouteAction
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The specification for allowing client-side cross-origin requests. For more
|
|
# information about the W3C recommendation for cross-origin resource sharing (
|
|
# CORS), see Fetch API Living Standard.
|
|
# Corresponds to the JSON property `corsPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::CorsPolicy]
|
|
attr_accessor :cors_policy
|
|
|
|
# The specification for fault injection introduced into traffic to test the
|
|
# resiliency of clients to backend service failure. As part of fault injection,
|
|
# when clients send requests to a backend service, delays can be introduced by
|
|
# the load balancer on a percentage of requests before sending those request to
|
|
# the backend service. Similarly requests from clients can be aborted by the
|
|
# load balancer for a percentage of requests.
|
|
# Corresponds to the JSON property `faultInjectionPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::HttpFaultInjection]
|
|
attr_accessor :fault_injection_policy
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `maxStreamDuration`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :max_stream_duration
|
|
|
|
# A policy that specifies how requests intended for the route's backends are
|
|
# shadowed to a separate mirrored backend service. The load balancer doesn't
|
|
# wait for responses from the shadow service. Before sending traffic to the
|
|
# shadow service, the host or authority header is suffixed with -shadow.
|
|
# Corresponds to the JSON property `requestMirrorPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::RequestMirrorPolicy]
|
|
attr_accessor :request_mirror_policy
|
|
|
|
# The retry policy associates with HttpRouteRule
|
|
# Corresponds to the JSON property `retryPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::HttpRetryPolicy]
|
|
attr_accessor :retry_policy
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `timeout`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :timeout
|
|
|
|
# The spec for modifying the path before sending the request to the matched
|
|
# backend service.
|
|
# Corresponds to the JSON property `urlRewrite`
|
|
# @return [Google::Apis::ComputeAlpha::UrlRewrite]
|
|
attr_accessor :url_rewrite
|
|
|
|
# A list of weighted backend services to send traffic to when a route match
|
|
# occurs. The weights determine the fraction of traffic that flows to their
|
|
# corresponding backend service. If all traffic needs to go to a single backend
|
|
# service, there must be one weightedBackendService with weight set to a non-
|
|
# zero number. After a backend service is identified and before forwarding the
|
|
# request to the backend service, advanced routing actions such as URL rewrites
|
|
# and header transformations are applied depending on additional settings
|
|
# specified in this HttpRouteAction.
|
|
# Corresponds to the JSON property `weightedBackendServices`
|
|
# @return [Array<Google::Apis::ComputeAlpha::WeightedBackendService>]
|
|
attr_accessor :weighted_backend_services
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@cors_policy = args[:cors_policy] if args.key?(:cors_policy)
|
|
@fault_injection_policy = args[:fault_injection_policy] if args.key?(:fault_injection_policy)
|
|
@max_stream_duration = args[:max_stream_duration] if args.key?(:max_stream_duration)
|
|
@request_mirror_policy = args[:request_mirror_policy] if args.key?(:request_mirror_policy)
|
|
@retry_policy = args[:retry_policy] if args.key?(:retry_policy)
|
|
@timeout = args[:timeout] if args.key?(:timeout)
|
|
@url_rewrite = args[:url_rewrite] if args.key?(:url_rewrite)
|
|
@weighted_backend_services = args[:weighted_backend_services] if args.key?(:weighted_backend_services)
|
|
end
|
|
end
|
|
|
|
# The HttpRouteRule setting specifies how to match an HTTP request and the
|
|
# corresponding routing action that load balancing proxies perform.
|
|
class HttpRouteRule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The short description conveying the intent of this routeRule. The description
|
|
# can have a maximum length of 1024 characters.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The request and response header transformations that take effect before the
|
|
# request is passed along to the selected backendService.
|
|
# Corresponds to the JSON property `headerAction`
|
|
# @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
|
|
attr_accessor :header_action
|
|
|
|
# Outbound route specific configuration for networkservices.HttpFilter resources
|
|
# enabled by Traffic Director. httpFilterConfigs only applies for load balancers
|
|
# with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for
|
|
# more details. Not supported when the URL map is bound to a target gRPC proxy
|
|
# that has validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `httpFilterConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpFilterConfig>]
|
|
attr_accessor :http_filter_configs
|
|
|
|
# Outbound route specific metadata supplied to networkservices.HttpFilter
|
|
# resources enabled by Traffic Director. httpFilterMetadata only applies for
|
|
# load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See
|
|
# ForwardingRule for more details. The only configTypeUrl supported is type.
|
|
# googleapis.com/google.protobuf.Struct Not supported when the URL map is bound
|
|
# to a target gRPC proxy that has validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `httpFilterMetadata`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpFilterConfig>]
|
|
attr_accessor :http_filter_metadata
|
|
|
|
# The list of criteria for matching attributes of a request to this routeRule.
|
|
# This list has OR semantics: the request matches this routeRule when any of the
|
|
# matchRules are satisfied. However predicates within a given matchRule have AND
|
|
# semantics. All predicates within a matchRule must match for the request to
|
|
# match the rule.
|
|
# Corresponds to the JSON property `matchRules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpRouteRuleMatch>]
|
|
attr_accessor :match_rules
|
|
|
|
# For routeRules within a given pathMatcher, priority determines the order in
|
|
# which a load balancer interprets routeRules. RouteRules are evaluated in order
|
|
# of priority, from the lowest to highest number. The priority of a rule
|
|
# decreases as its number increases (1, 2, 3, N+1). The first rule that matches
|
|
# the request is applied. You cannot configure two or more routeRules with the
|
|
# same priority. Priority for each rule must be set to a number from 0 to
|
|
# 2147483647 inclusive. Priority numbers can have gaps, which enable you to add
|
|
# or remove rules in the future without affecting the rest of the rules. For
|
|
# example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to
|
|
# which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the
|
|
# future without any impact on existing rules.
|
|
# Corresponds to the JSON property `priority`
|
|
# @return [Fixnum]
|
|
attr_accessor :priority
|
|
|
|
# In response to a matching matchRule, the load balancer performs advanced
|
|
# routing actions, such as URL rewrites and header transformations, before
|
|
# forwarding the request to the selected backend. If routeAction specifies any
|
|
# weightedBackendServices, service must not be set. Conversely if service is set,
|
|
# routeAction cannot contain any weightedBackendServices. Only one of
|
|
# urlRedirect, service or routeAction.weightedBackendService must be set.
|
|
# UrlMaps for external HTTP(S) load balancers support only the urlRewrite action
|
|
# within a route rule's routeAction.
|
|
# Corresponds to the JSON property `routeAction`
|
|
# @return [Google::Apis::ComputeAlpha::HttpRouteAction]
|
|
attr_accessor :route_action
|
|
|
|
# The full or partial URL of the backend service resource to which traffic is
|
|
# directed if this rule is matched. If routeAction is also specified, advanced
|
|
# routing actions, such as URL rewrites, take effect before sending the request
|
|
# to the backend. However, if service is specified, routeAction cannot contain
|
|
# any weightedBackendServices. Conversely, if routeAction specifies any
|
|
# weightedBackendServices, service must not be specified. Only one of
|
|
# urlRedirect, service or routeAction.weightedBackendService must be set.
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
# Specifies settings for an HTTP redirect.
|
|
# Corresponds to the JSON property `urlRedirect`
|
|
# @return [Google::Apis::ComputeAlpha::HttpRedirectAction]
|
|
attr_accessor :url_redirect
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@description = args[:description] if args.key?(:description)
|
|
@header_action = args[:header_action] if args.key?(:header_action)
|
|
@http_filter_configs = args[:http_filter_configs] if args.key?(:http_filter_configs)
|
|
@http_filter_metadata = args[:http_filter_metadata] if args.key?(:http_filter_metadata)
|
|
@match_rules = args[:match_rules] if args.key?(:match_rules)
|
|
@priority = args[:priority] if args.key?(:priority)
|
|
@route_action = args[:route_action] if args.key?(:route_action)
|
|
@service = args[:service] if args.key?(:service)
|
|
@url_redirect = args[:url_redirect] if args.key?(:url_redirect)
|
|
end
|
|
end
|
|
|
|
# HttpRouteRuleMatch specifies a set of criteria for matching requests to an
|
|
# HttpRouteRule. All specified criteria must be satisfied for a match to occur.
|
|
class HttpRouteRuleMatch
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# For satisfying the matchRule condition, the path of the request must exactly
|
|
# match the value specified in fullPathMatch after removing any query parameters
|
|
# and anchor that may be part of the original URL. fullPathMatch must be from 1
|
|
# to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must
|
|
# be specified.
|
|
# Corresponds to the JSON property `fullPathMatch`
|
|
# @return [String]
|
|
attr_accessor :full_path_match
|
|
|
|
# Specifies a list of header match criteria, all of which must match
|
|
# corresponding headers in the request.
|
|
# Corresponds to the JSON property `headerMatches`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpHeaderMatch>]
|
|
attr_accessor :header_matches
|
|
|
|
# Specifies that prefixMatch and fullPathMatch matches are case sensitive. The
|
|
# default value is false. ignoreCase must not be used with regexMatch. Not
|
|
# supported when the URL map is bound to a target gRPC proxy.
|
|
# Corresponds to the JSON property `ignoreCase`
|
|
# @return [Boolean]
|
|
attr_accessor :ignore_case
|
|
alias_method :ignore_case?, :ignore_case
|
|
|
|
# Opaque filter criteria used by the load balancer to restrict routing
|
|
# configuration to a limited set of xDS compliant clients. In their xDS requests
|
|
# to the load balancer, xDS clients present node metadata. When there is a match,
|
|
# the relevant routing configuration is made available to those proxies. For
|
|
# each metadataFilter in this list, if its filterMatchCriteria is set to
|
|
# MATCH_ANY, at least one of the filterLabels must match the corresponding label
|
|
# provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then
|
|
# all of its filterLabels must match with corresponding labels provided in the
|
|
# metadata. If multiple metadata filters are specified, all of them need to be
|
|
# satisfied in order to be considered a match. metadataFilters specified here is
|
|
# applied after those specified in ForwardingRule that refers to the UrlMap this
|
|
# HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers
|
|
# that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when
|
|
# the URL map is bound to a target gRPC proxy that has validateForProxyless
|
|
# field set to true.
|
|
# Corresponds to the JSON property `metadataFilters`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MetadataFilter>]
|
|
attr_accessor :metadata_filters
|
|
|
|
# For satisfying the matchRule condition, the request's path must begin with the
|
|
# specified prefixMatch. prefixMatch must begin with a /. The value must be from
|
|
# 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch
|
|
# must be specified.
|
|
# Corresponds to the JSON property `prefixMatch`
|
|
# @return [String]
|
|
attr_accessor :prefix_match
|
|
|
|
# Specifies a list of query parameter match criteria, all of which must match
|
|
# corresponding query parameters in the request. Not supported when the URL map
|
|
# is bound to a target gRPC proxy.
|
|
# Corresponds to the JSON property `queryParameterMatches`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpQueryParameterMatch>]
|
|
attr_accessor :query_parameter_matches
|
|
|
|
# For satisfying the matchRule condition, the path of the request must satisfy
|
|
# the regular expression specified in regexMatch after removing any query
|
|
# parameters and anchor supplied with the original URL. For more information
|
|
# about regular expression syntax, see Syntax. Only one of prefixMatch,
|
|
# fullPathMatch or regexMatch must be specified. regexMatch only applies to load
|
|
# balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED.
|
|
# Corresponds to the JSON property `regexMatch`
|
|
# @return [String]
|
|
attr_accessor :regex_match
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@full_path_match = args[:full_path_match] if args.key?(:full_path_match)
|
|
@header_matches = args[:header_matches] if args.key?(:header_matches)
|
|
@ignore_case = args[:ignore_case] if args.key?(:ignore_case)
|
|
@metadata_filters = args[:metadata_filters] if args.key?(:metadata_filters)
|
|
@prefix_match = args[:prefix_match] if args.key?(:prefix_match)
|
|
@query_parameter_matches = args[:query_parameter_matches] if args.key?(:query_parameter_matches)
|
|
@regex_match = args[:regex_match] if args.key?(:regex_match)
|
|
end
|
|
end
|
|
|
|
# Represents a legacy HTTPS Health Check resource. Legacy HTTPS health checks
|
|
# have been deprecated. If you are using a target pool-based network load
|
|
# balancer, you must use a legacy HTTP (not HTTPS) health check. For all other
|
|
# load balancers, including backend service-based network load balancers, and
|
|
# for managed instance group auto-healing, you must use modern (non-legacy)
|
|
# health checks. For more information, see Health checks overview .
|
|
class HttpsHealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# How often (in seconds) to send a health check. The default value is 5 seconds.
|
|
# Corresponds to the JSON property `checkIntervalSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :check_interval_sec
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# A so-far unhealthy instance will be marked healthy after this many consecutive
|
|
# successes. The default value is 2.
|
|
# Corresponds to the JSON property `healthyThreshold`
|
|
# @return [Fixnum]
|
|
attr_accessor :healthy_threshold
|
|
|
|
# The value of the host header in the HTTPS health check request. If left empty (
|
|
# default value), the public IP on behalf of which this health check is
|
|
# performed will be used.
|
|
# Corresponds to the JSON property `host`
|
|
# @return [String]
|
|
attr_accessor :host
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# Type of the resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The TCP port number for the HTTPS health check request. The default value is
|
|
# 443.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# The request path of the HTTPS health check request. The default value is "/".
|
|
# Corresponds to the JSON property `requestPath`
|
|
# @return [String]
|
|
attr_accessor :request_path
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# How long (in seconds) to wait before claiming failure. The default value is 5
|
|
# seconds. It is invalid for timeoutSec to have a greater value than
|
|
# checkIntervalSec.
|
|
# Corresponds to the JSON property `timeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :timeout_sec
|
|
|
|
# A so-far healthy instance will be marked unhealthy after this many consecutive
|
|
# failures. The default value is 2.
|
|
# Corresponds to the JSON property `unhealthyThreshold`
|
|
# @return [Fixnum]
|
|
attr_accessor :unhealthy_threshold
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@check_interval_sec = args[:check_interval_sec] if args.key?(:check_interval_sec)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@healthy_threshold = args[:healthy_threshold] if args.key?(:healthy_threshold)
|
|
@host = args[:host] if args.key?(:host)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@port = args[:port] if args.key?(:port)
|
|
@request_path = args[:request_path] if args.key?(:request_path)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
|
|
@unhealthy_threshold = args[:unhealthy_threshold] if args.key?(:unhealthy_threshold)
|
|
end
|
|
end
|
|
|
|
# Contains a list of HttpsHealthCheck resources.
|
|
class HttpsHealthCheckList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of HttpsHealthCheck resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpsHealthCheck>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::HttpsHealthCheckList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpsHealthCheckList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents an Image resource. You can use images to create boot disks for your
|
|
# VM instances. For more information, read Images.
|
|
class Image
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The architecture of the image. Valid values are ARM64 or X86_64.
|
|
# Corresponds to the JSON property `architecture`
|
|
# @return [String]
|
|
attr_accessor :architecture
|
|
|
|
# Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).
|
|
# Corresponds to the JSON property `archiveSizeBytes`
|
|
# @return [Fixnum]
|
|
attr_accessor :archive_size_bytes
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Deprecation status for a public resource.
|
|
# Corresponds to the JSON property `deprecated`
|
|
# @return [Google::Apis::ComputeAlpha::DeprecationStatus]
|
|
attr_accessor :deprecated
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Size of the image when restored onto a persistent disk (in GB).
|
|
# Corresponds to the JSON property `diskSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :disk_size_gb
|
|
|
|
# The name of the image family to which this image belongs. You can create disks
|
|
# by specifying an image family instead of a specific image name. The image
|
|
# family always returns its latest image that is not deprecated. The name of the
|
|
# image family must comply with RFC1035.
|
|
# Corresponds to the JSON property `family`
|
|
# @return [String]
|
|
attr_accessor :family
|
|
|
|
# A list of features to enable on the guest operating system. Applicable only
|
|
# for bootable images. To see a list of available options, see the
|
|
# guestOSfeatures[].type parameter.
|
|
# Corresponds to the JSON property `guestOsFeatures`
|
|
# @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
|
|
attr_accessor :guest_os_features
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# Encrypts the image using a customer-supplied encryption key. After you encrypt
|
|
# an image with a customer-supplied key, you must provide the same key if you
|
|
# use the image later (e.g. to create a disk from the image). Customer-supplied
|
|
# encryption keys do not protect access to metadata of the disk. If you do not
|
|
# provide an encryption key when creating the image, then the disk will be
|
|
# encrypted using an automatically generated key and you do not need to provide
|
|
# a key to use the image later.
|
|
# Corresponds to the JSON property `imageEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :image_encryption_key
|
|
|
|
# [Output Only] Type of the resource. Always compute#image for images.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this image, which is essentially
|
|
# a hash of the labels used for optimistic locking. The fingerprint is initially
|
|
# generated by Compute Engine and changes after every request to modify or
|
|
# update labels. You must always provide an up-to-date fingerprint hash in order
|
|
# to update or change labels, otherwise the request will fail with error 412
|
|
# conditionNotMet. To see the latest fingerprint, make a get() request to
|
|
# retrieve an image.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels to apply to this image. These can be later modified by the setLabels
|
|
# method.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Integer license codes indicating which licenses are attached to this image.
|
|
# Corresponds to the JSON property `licenseCodes`
|
|
# @return [Array<Fixnum>]
|
|
attr_accessor :license_codes
|
|
|
|
# Any applicable license URI.
|
|
# Corresponds to the JSON property `licenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :licenses
|
|
|
|
# A flag for marketplace VM disk created from the image, which is designed for
|
|
# marketplace VM disk to prevent the proprietary data on the disk from being
|
|
# accessed unwantedly. The flag will be inherited by the disk created from the
|
|
# image. The disk with locked flag set to true will be prohibited from
|
|
# performing the operations below: - R/W or R/O disk attach - Disk detach, if
|
|
# disk is created via create-on-create - Create images - Create snapshots -
|
|
# Create disk clone (create disk from the current disk) The image with the
|
|
# locked field set to true will be prohibited from performing the operations
|
|
# below: - Create images from the current image - Update the locked field for
|
|
# the current image The instance with at least one disk with locked flag set to
|
|
# true will be prohibited from performing the operations below: - Secondary disk
|
|
# attach - Create instant snapshot - Create machine images - Create instance
|
|
# template - Delete the instance with --keep-disk parameter set to true
|
|
# Corresponds to the JSON property `locked`
|
|
# @return [Boolean]
|
|
attr_accessor :locked
|
|
alias_method :locked?, :locked
|
|
|
|
# Name of the resource; provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The parameters of the raw disk image.
|
|
# Corresponds to the JSON property `rawDisk`
|
|
# @return [Google::Apis::ComputeAlpha::Image::RawDisk]
|
|
attr_accessor :raw_disk
|
|
|
|
# A rollout policy configuration.
|
|
# Corresponds to the JSON property `rolloutOverride`
|
|
# @return [Google::Apis::ComputeAlpha::RolloutPolicy]
|
|
attr_accessor :rollout_override
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource's resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Initial State for shielded instance, these are public keys which are safe to
|
|
# store in public
|
|
# Corresponds to the JSON property `shieldedInstanceInitialState`
|
|
# @return [Google::Apis::ComputeAlpha::InitialStateConfig]
|
|
attr_accessor :shielded_instance_initial_state
|
|
|
|
# URL of the source disk used to create this image. For example, the following
|
|
# are valid values: - https://www.googleapis.com/compute/v1/projects/project/
|
|
# zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/
|
|
# disks/disk In order to create an image, you must provide the full or partial
|
|
# URL of one of the following: - The rawDisk.source URL - The sourceDisk URL -
|
|
# The sourceImage URL - The sourceSnapshot URL
|
|
# Corresponds to the JSON property `sourceDisk`
|
|
# @return [String]
|
|
attr_accessor :source_disk
|
|
|
|
# The customer-supplied encryption key of the source disk. Required if the
|
|
# source disk is protected by a customer-supplied encryption key.
|
|
# Corresponds to the JSON property `sourceDiskEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :source_disk_encryption_key
|
|
|
|
# [Output Only] The ID value of the disk used to create this image. This value
|
|
# may be used to determine whether the image was taken from the current or a
|
|
# previous instance of a given disk name.
|
|
# Corresponds to the JSON property `sourceDiskId`
|
|
# @return [String]
|
|
attr_accessor :source_disk_id
|
|
|
|
# URL of the source image used to create this image. The following are valid
|
|
# formats for the URL: - https://www.googleapis.com/compute/v1/projects/
|
|
# project_id/global/ images/image_name - projects/project_id/global/images/
|
|
# image_name In order to create an image, you must provide the full or partial
|
|
# URL of one of the following: - The rawDisk.source URL - The sourceDisk URL -
|
|
# The sourceImage URL - The sourceSnapshot URL
|
|
# Corresponds to the JSON property `sourceImage`
|
|
# @return [String]
|
|
attr_accessor :source_image
|
|
|
|
# The customer-supplied encryption key of the source image. Required if the
|
|
# source image is protected by a customer-supplied encryption key.
|
|
# Corresponds to the JSON property `sourceImageEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :source_image_encryption_key
|
|
|
|
# [Output Only] The ID value of the image used to create this image. This value
|
|
# may be used to determine whether the image was taken from the current or a
|
|
# previous instance of a given image name.
|
|
# Corresponds to the JSON property `sourceImageId`
|
|
# @return [String]
|
|
attr_accessor :source_image_id
|
|
|
|
# URL of the source snapshot used to create this image. The following are valid
|
|
# formats for the URL: - https://www.googleapis.com/compute/v1/projects/
|
|
# project_id/global/ snapshots/snapshot_name - projects/project_id/global/
|
|
# snapshots/snapshot_name In order to create an image, you must provide the full
|
|
# or partial URL of one of the following: - The rawDisk.source URL - The
|
|
# sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
|
|
# Corresponds to the JSON property `sourceSnapshot`
|
|
# @return [String]
|
|
attr_accessor :source_snapshot
|
|
|
|
# The customer-supplied encryption key of the source snapshot. Required if the
|
|
# source snapshot is protected by a customer-supplied encryption key.
|
|
# Corresponds to the JSON property `sourceSnapshotEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :source_snapshot_encryption_key
|
|
|
|
# [Output Only] The ID value of the snapshot used to create this image. This
|
|
# value may be used to determine whether the snapshot was taken from the current
|
|
# or a previous instance of a given snapshot name.
|
|
# Corresponds to the JSON property `sourceSnapshotId`
|
|
# @return [String]
|
|
attr_accessor :source_snapshot_id
|
|
|
|
# The type of the image used to create this disk. The default and only value is
|
|
# RAW
|
|
# Corresponds to the JSON property `sourceType`
|
|
# @return [String]
|
|
attr_accessor :source_type
|
|
|
|
# [Output Only] The status of the image. An image can be used to create other
|
|
# resources, such as instances, only after the image has been successfully
|
|
# created and the status is set to READY. Possible values are FAILED, PENDING,
|
|
# or READY.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# Cloud Storage bucket storage location of the image (regional or multi-regional)
|
|
# .
|
|
# Corresponds to the JSON property `storageLocations`
|
|
# @return [Array<String>]
|
|
attr_accessor :storage_locations
|
|
|
|
# A list of publicly visible user-licenses. Unlike regular licenses, user
|
|
# provided licenses can be modified after the disk is created. This includes a
|
|
# list of URLs to the license resource. For example, to provide a debian license:
|
|
# https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/
|
|
# debian-9-stretch
|
|
# Corresponds to the JSON property `userLicenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :user_licenses
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@architecture = args[:architecture] if args.key?(:architecture)
|
|
@archive_size_bytes = args[:archive_size_bytes] if args.key?(:archive_size_bytes)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
@family = args[:family] if args.key?(:family)
|
|
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
|
@id = args[:id] if args.key?(:id)
|
|
@image_encryption_key = args[:image_encryption_key] if args.key?(:image_encryption_key)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@license_codes = args[:license_codes] if args.key?(:license_codes)
|
|
@licenses = args[:licenses] if args.key?(:licenses)
|
|
@locked = args[:locked] if args.key?(:locked)
|
|
@name = args[:name] if args.key?(:name)
|
|
@raw_disk = args[:raw_disk] if args.key?(:raw_disk)
|
|
@rollout_override = args[:rollout_override] if args.key?(:rollout_override)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@shielded_instance_initial_state = args[:shielded_instance_initial_state] if args.key?(:shielded_instance_initial_state)
|
|
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
|
@source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
|
|
@source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
|
|
@source_image = args[:source_image] if args.key?(:source_image)
|
|
@source_image_encryption_key = args[:source_image_encryption_key] if args.key?(:source_image_encryption_key)
|
|
@source_image_id = args[:source_image_id] if args.key?(:source_image_id)
|
|
@source_snapshot = args[:source_snapshot] if args.key?(:source_snapshot)
|
|
@source_snapshot_encryption_key = args[:source_snapshot_encryption_key] if args.key?(:source_snapshot_encryption_key)
|
|
@source_snapshot_id = args[:source_snapshot_id] if args.key?(:source_snapshot_id)
|
|
@source_type = args[:source_type] if args.key?(:source_type)
|
|
@status = args[:status] if args.key?(:status)
|
|
@storage_locations = args[:storage_locations] if args.key?(:storage_locations)
|
|
@user_licenses = args[:user_licenses] if args.key?(:user_licenses)
|
|
end
|
|
|
|
# The parameters of the raw disk image.
|
|
class RawDisk
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The format used to encode and transmit the block device, which should be TAR.
|
|
# This is just a container and transmission format and not a runtime format.
|
|
# Provided by the client when the disk image is created.
|
|
# Corresponds to the JSON property `containerType`
|
|
# @return [String]
|
|
attr_accessor :container_type
|
|
|
|
# [Deprecated] This field is deprecated. An optional SHA1 checksum of the disk
|
|
# image before unpackaging provided by the client when the disk image is created.
|
|
# Corresponds to the JSON property `sha1Checksum`
|
|
# @return [String]
|
|
attr_accessor :sha1_checksum
|
|
|
|
# The full Google Cloud Storage URL where the raw disk image archive is stored.
|
|
# The following are valid formats for the URL: - https://storage.googleapis.com/
|
|
# bucket_name/image_archive_name - https://storage.googleapis.com/bucket_name/
|
|
# folder_name/ image_archive_name In order to create an image, you must provide
|
|
# the full or partial URL of one of the following: - The rawDisk.source URL -
|
|
# The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL
|
|
# Corresponds to the JSON property `source`
|
|
# @return [String]
|
|
attr_accessor :source
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@container_type = args[:container_type] if args.key?(:container_type)
|
|
@sha1_checksum = args[:sha1_checksum] if args.key?(:sha1_checksum)
|
|
@source = args[:source] if args.key?(:source)
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class ImageFamilyView
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents an Image resource. You can use images to create boot disks for your
|
|
# VM instances. For more information, read Images.
|
|
# Corresponds to the JSON property `image`
|
|
# @return [Google::Apis::ComputeAlpha::Image]
|
|
attr_accessor :image
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@image = args[:image] if args.key?(:image)
|
|
end
|
|
end
|
|
|
|
# Contains a list of images.
|
|
class ImageList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Image resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Image>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ImageList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ImageList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Initial State for shielded instance, these are public keys which are safe to
|
|
# store in public
|
|
class InitialStateConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Key Database (db).
|
|
# Corresponds to the JSON property `dbs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FileContentBuffer>]
|
|
attr_accessor :dbs
|
|
|
|
# The forbidden key database (dbx).
|
|
# Corresponds to the JSON property `dbxs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FileContentBuffer>]
|
|
attr_accessor :dbxs
|
|
|
|
# The Key Exchange Key (KEK).
|
|
# Corresponds to the JSON property `keks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FileContentBuffer>]
|
|
attr_accessor :keks
|
|
|
|
# The Platform Key (PK).
|
|
# Corresponds to the JSON property `pk`
|
|
# @return [Google::Apis::ComputeAlpha::FileContentBuffer]
|
|
attr_accessor :pk
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@dbs = args[:dbs] if args.key?(:dbs)
|
|
@dbxs = args[:dbxs] if args.key?(:dbxs)
|
|
@keks = args[:keks] if args.key?(:keks)
|
|
@pk = args[:pk] if args.key?(:pk)
|
|
end
|
|
end
|
|
|
|
# Represents an Instance resource. An instance is a virtual machine that is
|
|
# hosted on Google Cloud Platform. For more information, read Virtual Machine
|
|
# Instances.
|
|
class Instance
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies options for controlling advanced machine features. Options that
|
|
# would traditionally be configured in a BIOS belong here. Features that require
|
|
# operating system support may have corresponding entries in the GuestOsFeatures
|
|
# of an Image (e.g., whether or not the OS in the Image supports nested
|
|
# virtualization being enabled or disabled).
|
|
# Corresponds to the JSON property `advancedMachineFeatures`
|
|
# @return [Google::Apis::ComputeAlpha::AdvancedMachineFeatures]
|
|
attr_accessor :advanced_machine_features
|
|
|
|
# Allows this instance to send and receive packets with non-matching destination
|
|
# or source IPs. This is required if you plan to use this instance to forward
|
|
# routes. For more information, see Enabling IP Forwarding .
|
|
# Corresponds to the JSON property `canIpForward`
|
|
# @return [Boolean]
|
|
attr_accessor :can_ip_forward
|
|
alias_method :can_ip_forward?, :can_ip_forward
|
|
|
|
# A set of Confidential Instance options.
|
|
# Corresponds to the JSON property `confidentialInstanceConfig`
|
|
# @return [Google::Apis::ComputeAlpha::ConfidentialInstanceConfig]
|
|
attr_accessor :confidential_instance_config
|
|
|
|
# [Output Only] The CPU platform used by this instance.
|
|
# Corresponds to the JSON property `cpuPlatform`
|
|
# @return [String]
|
|
attr_accessor :cpu_platform
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Whether the resource should be protected against deletion.
|
|
# Corresponds to the JSON property `deletionProtection`
|
|
# @return [Boolean]
|
|
attr_accessor :deletion_protection
|
|
alias_method :deletion_protection?, :deletion_protection
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Array of disks associated with this instance. Persistent disks must be created
|
|
# before you can assign them.
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AttachedDisk>]
|
|
attr_accessor :disks
|
|
|
|
# A set of Display Device options
|
|
# Corresponds to the JSON property `displayDevice`
|
|
# @return [Google::Apis::ComputeAlpha::DisplayDevice]
|
|
attr_accessor :display_device
|
|
|
|
# Specifies whether the disks restored from source snapshots or source machine
|
|
# image should erase Windows specific VSS signature.
|
|
# Corresponds to the JSON property `eraseWindowsVssSignature`
|
|
# @return [Boolean]
|
|
attr_accessor :erase_windows_vss_signature
|
|
alias_method :erase_windows_vss_signature?, :erase_windows_vss_signature
|
|
|
|
# Specifies a fingerprint for this resource, which is essentially a hash of the
|
|
# instance's contents and used for optimistic locking. The fingerprint is
|
|
# initially generated by Compute Engine and changes after every request to
|
|
# modify or update the instance. You must always provide an up-to-date
|
|
# fingerprint hash in order to update the instance. To see the latest
|
|
# fingerprint, make get() request to the instance.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# A list of the type and count of accelerator cards attached to the instance.
|
|
# Corresponds to the JSON property `guestAccelerators`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
|
|
attr_accessor :guest_accelerators
|
|
|
|
# Specifies the hostname of the instance. The specified hostname must be RFC1035
|
|
# compliant. If hostname is not specified, the default hostname is [
|
|
# INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [
|
|
# INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.
|
|
# Corresponds to the JSON property `hostname`
|
|
# @return [String]
|
|
attr_accessor :hostname
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# Encrypts or decrypts data for an instance with a customer-supplied encryption
|
|
# key. If you are creating a new instance, this field encrypts the local SSD and
|
|
# in-memory contents of the instance using a key that you provide. If you are
|
|
# restarting an instance protected with a customer-supplied encryption key, you
|
|
# must provide the correct key in order to successfully restart the instance. If
|
|
# you do not provide an encryption key when creating the instance, then the
|
|
# local SSD and in-memory contents will be encrypted using an automatically
|
|
# generated key and you do not need to provide a key to start the instance later.
|
|
# Instance templates do not store customer-supplied encryption keys, so you
|
|
# cannot use your own keys to encrypt local SSDs and in-memory content in a
|
|
# managed instance group.
|
|
# Corresponds to the JSON property `instanceEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :instance_encryption_key
|
|
|
|
# KeyRevocationActionType of the instance. Supported options are "STOP" and "
|
|
# NONE". The default value is "NONE" if it is not specified.
|
|
# Corresponds to the JSON property `keyRevocationActionType`
|
|
# @return [String]
|
|
attr_accessor :key_revocation_action_type
|
|
|
|
# [Output Only] Type of the resource. Always compute#instance for instances.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for this request, which is essentially a hash of the label's
|
|
# contents and used for optimistic locking. The fingerprint is initially
|
|
# generated by Compute Engine and changes after every request to modify or
|
|
# update labels. You must always provide an up-to-date fingerprint hash in order
|
|
# to update or change labels. To see the latest fingerprint, make get() request
|
|
# to the instance.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels to apply to this instance. These can be later modified by the setLabels
|
|
# method.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# [Output Only] Last start timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `lastStartTimestamp`
|
|
# @return [String]
|
|
attr_accessor :last_start_timestamp
|
|
|
|
# [Output Only] Last stop timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `lastStopTimestamp`
|
|
# @return [String]
|
|
attr_accessor :last_stop_timestamp
|
|
|
|
# [Output Only] Last suspended timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `lastSuspendedTimestamp`
|
|
# @return [String]
|
|
attr_accessor :last_suspended_timestamp
|
|
|
|
# Full or partial URL of the machine type resource to use for this instance, in
|
|
# the format: zones/zone/machineTypes/machine-type. This is provided by the
|
|
# client when the instance is created. For example, the following is a valid
|
|
# partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-
|
|
# standard-1 To create a custom machine type, provide a URL to a machine type in
|
|
# the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ...
|
|
# 24, etc), and MEMORY is the total memory for this instance. Memory must be a
|
|
# multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB):
|
|
# zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/
|
|
# machineTypes/custom-4-5120 For a full list of restrictions, read the
|
|
# Specifications for custom machine types.
|
|
# Corresponds to the JSON property `machineType`
|
|
# @return [String]
|
|
attr_accessor :machine_type
|
|
|
|
# A metadata key/value entry.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Google::Apis::ComputeAlpha::Metadata]
|
|
attr_accessor :metadata
|
|
|
|
# Specifies a minimum CPU platform for the VM instance. Applicable values are
|
|
# the friendly names of CPU platforms, such as minCpuPlatform: "Intel Haswell"
|
|
# or minCpuPlatform: "Intel Sandy Bridge".
|
|
# Corresponds to the JSON property `minCpuPlatform`
|
|
# @return [String]
|
|
attr_accessor :min_cpu_platform
|
|
|
|
# The name of the resource, provided by the client when initially creating the
|
|
# resource. The resource name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# An array of network configurations for this instance. These specify how
|
|
# interfaces are configured to interact with other network services, such as
|
|
# connecting to the internet. Multiple interfaces are supported per instance.
|
|
# Corresponds to the JSON property `networkInterfaces`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
|
|
attr_accessor :network_interfaces
|
|
|
|
#
|
|
# Corresponds to the JSON property `networkPerformanceConfig`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkPerformanceConfig]
|
|
attr_accessor :network_performance_config
|
|
|
|
# Additional instance params.
|
|
# Corresponds to the JSON property `params`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceParams]
|
|
attr_accessor :params
|
|
|
|
# PostKeyRevocationActionType of the instance.
|
|
# Corresponds to the JSON property `postKeyRevocationActionType`
|
|
# @return [String]
|
|
attr_accessor :post_key_revocation_action_type
|
|
|
|
# Total amount of preserved state for SUSPENDED instances. Read-only in the api.
|
|
# Corresponds to the JSON property `preservedStateSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :preserved_state_size_gb
|
|
|
|
# The private IPv6 google access type for the VM. If not specified, use
|
|
# INHERIT_FROM_SUBNETWORK as default.
|
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
|
# @return [String]
|
|
attr_accessor :private_ipv6_google_access
|
|
|
|
# Specifies the reservations that this instance can consume from.
|
|
# Corresponds to the JSON property `reservationAffinity`
|
|
# @return [Google::Apis::ComputeAlpha::ReservationAffinity]
|
|
attr_accessor :reservation_affinity
|
|
|
|
# Resource policies applied to this instance.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
# Contains output only fields. Use this sub-message for actual values set on
|
|
# Instance attributes as compared to the value requested by the user (intent) in
|
|
# their instance CRUD calls.
|
|
# Corresponds to the JSON property `resourceStatus`
|
|
# @return [Google::Apis::ComputeAlpha::ResourceStatus]
|
|
attr_accessor :resource_status
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# Sets the scheduling options for an Instance. NextID: 21
|
|
# Corresponds to the JSON property `scheduling`
|
|
# @return [Google::Apis::ComputeAlpha::Scheduling]
|
|
attr_accessor :scheduling
|
|
|
|
# [Input Only] Secure tags to apply to this instance. These can be later
|
|
# modified by the update method. Maximum number of secure tags allowed is 50.
|
|
# Corresponds to the JSON property `secureTags`
|
|
# @return [Array<String>]
|
|
attr_accessor :secure_tags
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# A list of service accounts, with their specified scopes, authorized for this
|
|
# instance. Only one service account per VM instance is supported. Service
|
|
# accounts generate access tokens that can be accessed through the metadata
|
|
# server and used to authenticate applications on the instance. See Service
|
|
# Accounts for more information.
|
|
# Corresponds to the JSON property `serviceAccounts`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAccount>]
|
|
attr_accessor :service_accounts
|
|
|
|
# A set of Shielded Instance options.
|
|
# Corresponds to the JSON property `shieldedInstanceConfig`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedInstanceConfig]
|
|
attr_accessor :shielded_instance_config
|
|
|
|
# The policy describes the baseline against which Instance boot integrity is
|
|
# measured.
|
|
# Corresponds to the JSON property `shieldedInstanceIntegrityPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedInstanceIntegrityPolicy]
|
|
attr_accessor :shielded_instance_integrity_policy
|
|
|
|
# A set of Shielded VM options.
|
|
# Corresponds to the JSON property `shieldedVmConfig`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedVmConfig]
|
|
attr_accessor :shielded_vm_config
|
|
|
|
# The policy describes the baseline against which VM instance boot integrity is
|
|
# measured.
|
|
# Corresponds to the JSON property `shieldedVmIntegrityPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedVmIntegrityPolicy]
|
|
attr_accessor :shielded_vm_integrity_policy
|
|
|
|
# Source machine image
|
|
# Corresponds to the JSON property `sourceMachineImage`
|
|
# @return [String]
|
|
attr_accessor :source_machine_image
|
|
|
|
# Source machine image encryption key when creating an instance from a machine
|
|
# image.
|
|
# Corresponds to the JSON property `sourceMachineImageEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :source_machine_image_encryption_key
|
|
|
|
# [Output Only] Whether a VM has been restricted for start because Compute
|
|
# Engine has detected suspicious activity.
|
|
# Corresponds to the JSON property `startRestricted`
|
|
# @return [Boolean]
|
|
attr_accessor :start_restricted
|
|
alias_method :start_restricted?, :start_restricted
|
|
|
|
# [Output Only] The status of the instance. One of the following values:
|
|
# PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING,
|
|
# and TERMINATED. For more information about the status of the instance, see
|
|
# Instance life cycle.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] An optional, human-readable explanation of the status.
|
|
# Corresponds to the JSON property `statusMessage`
|
|
# @return [String]
|
|
attr_accessor :status_message
|
|
|
|
# A set of instance tags.
|
|
# Corresponds to the JSON property `tags`
|
|
# @return [Google::Apis::ComputeAlpha::Tags]
|
|
attr_accessor :tags
|
|
|
|
# Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
|
|
# this proto once it's fully migrated to be under proto ResourceStatus.
|
|
# UpcomingMaintenance.
|
|
# Corresponds to the JSON property `upcomingMaintenance`
|
|
# @return [Google::Apis::ComputeAlpha::UpcomingMaintenance]
|
|
attr_accessor :upcoming_maintenance
|
|
|
|
# [Output Only] URL of the zone where the instance resides. You must specify
|
|
# this field as part of the HTTP request URL. It is not settable as a field in
|
|
# the request body.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
|
|
@can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
|
|
@confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
|
|
@cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@display_device = args[:display_device] if args.key?(:display_device)
|
|
@erase_windows_vss_signature = args[:erase_windows_vss_signature] if args.key?(:erase_windows_vss_signature)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
|
|
@hostname = args[:hostname] if args.key?(:hostname)
|
|
@id = args[:id] if args.key?(:id)
|
|
@instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
|
|
@key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@last_start_timestamp = args[:last_start_timestamp] if args.key?(:last_start_timestamp)
|
|
@last_stop_timestamp = args[:last_stop_timestamp] if args.key?(:last_stop_timestamp)
|
|
@last_suspended_timestamp = args[:last_suspended_timestamp] if args.key?(:last_suspended_timestamp)
|
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
|
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
|
@params = args[:params] if args.key?(:params)
|
|
@post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
|
|
@preserved_state_size_gb = args[:preserved_state_size_gb] if args.key?(:preserved_state_size_gb)
|
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
@resource_status = args[:resource_status] if args.key?(:resource_status)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
|
@secure_tags = args[:secure_tags] if args.key?(:secure_tags)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
|
@shielded_instance_integrity_policy = args[:shielded_instance_integrity_policy] if args.key?(:shielded_instance_integrity_policy)
|
|
@shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
|
|
@shielded_vm_integrity_policy = args[:shielded_vm_integrity_policy] if args.key?(:shielded_vm_integrity_policy)
|
|
@source_machine_image = args[:source_machine_image] if args.key?(:source_machine_image)
|
|
@source_machine_image_encryption_key = args[:source_machine_image_encryption_key] if args.key?(:source_machine_image_encryption_key)
|
|
@start_restricted = args[:start_restricted] if args.key?(:start_restricted)
|
|
@status = args[:status] if args.key?(:status)
|
|
@status_message = args[:status_message] if args.key?(:status_message)
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
@upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# An object that contains a list of instances scoped by zone.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::InstancesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#instanceAggregatedList for
|
|
# aggregated lists of Instance resources.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceConsumptionData
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Resources consumed by the instance.
|
|
# Corresponds to the JSON property `consumptionInfo`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
|
|
attr_accessor :consumption_info
|
|
|
|
# Server-defined URL for the instance.
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@consumption_info = args[:consumption_info] if args.key?(:consumption_info)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceConsumptionInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The number of virtual CPUs that are available to the instance.
|
|
# Corresponds to the JSON property `guestCpus`
|
|
# @return [Fixnum]
|
|
attr_accessor :guest_cpus
|
|
|
|
# The amount of local SSD storage available to the instance, defined in GiB.
|
|
# Corresponds to the JSON property `localSsdGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :local_ssd_gb
|
|
|
|
# The amount of physical memory available to the instance, defined in MiB.
|
|
# Corresponds to the JSON property `memoryMb`
|
|
# @return [Fixnum]
|
|
attr_accessor :memory_mb
|
|
|
|
# The minimal guaranteed number of virtual CPUs that are reserved.
|
|
# Corresponds to the JSON property `minNodeCpus`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_node_cpus
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus)
|
|
@local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb)
|
|
@memory_mb = args[:memory_mb] if args.key?(:memory_mb)
|
|
@min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
|
|
end
|
|
end
|
|
|
|
# Represents an Instance Group resource. Instance Groups can be used to
|
|
# configure a target for load balancing. Instance groups can either be managed
|
|
# or unmanaged. To create managed instance groups, use the instanceGroupManager
|
|
# or regionInstanceGroupManager resource instead. Use zonal unmanaged instance
|
|
# groups if you need to apply load balancing to groups of heterogeneous
|
|
# instances or if you need to manage the instances yourself. You cannot create
|
|
# regional unmanaged instance groups. For more information, read Instance groups.
|
|
class InstanceGroup
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The creation timestamp for this instance group in RFC3339 text
|
|
# format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The fingerprint of the named ports. The system uses this
|
|
# fingerprint to detect conflicts when multiple users change the named ports
|
|
# concurrently.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] A unique identifier for this instance group, generated by the
|
|
# server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The resource type, which is always compute#instanceGroup for
|
|
# instance groups.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The name of the instance group. The name must be 1-63 characters long, and
|
|
# comply with RFC1035.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Assigns a name to a port number. For example: `name: "http", port: 80` This
|
|
# allows the system to reference ports by the assigned name instead of a port
|
|
# number. Named ports can also contain multiple ports. For example: [`name: "
|
|
# app1", port: 8080`, `name: "app1", port: 8081`, `name: "app2", port: 8082`]
|
|
# Named ports apply to all instances in this instance group.
|
|
# Corresponds to the JSON property `namedPorts`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NamedPort>]
|
|
attr_accessor :named_ports
|
|
|
|
# [Output Only] The URL of the network to which all instances in the instance
|
|
# group belong. If your instance has multiple network interfaces, then the
|
|
# network and subnetwork fields only refer to the network and subnet used by
|
|
# your primary interface (nic0).
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# [Output Only] The URL of the region where the instance group is located (for
|
|
# regional resources).
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] The URL for this instance group. The server generates this URL.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The total number of instances in the instance group.
|
|
# Corresponds to the JSON property `size`
|
|
# @return [Fixnum]
|
|
attr_accessor :size
|
|
|
|
# [Output Only] The URL of the subnetwork to which all instances in the instance
|
|
# group belong. If your instance has multiple network interfaces, then the
|
|
# network and subnetwork fields only refer to the network and subnet used by
|
|
# your primary interface (nic0).
|
|
# Corresponds to the JSON property `subnetwork`
|
|
# @return [String]
|
|
attr_accessor :subnetwork
|
|
|
|
# [Output Only] The URL of the zone where the instance group is located (for
|
|
# zonal resources).
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@named_ports = args[:named_ports] if args.key?(:named_ports)
|
|
@network = args[:network] if args.key?(:network)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@size = args[:size] if args.key?(:size)
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstanceGroupsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::InstanceGroupsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# instanceGroupAggregatedList for aggregated lists of instance groups.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# A list of InstanceGroup resources.
|
|
class InstanceGroupList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstanceGroup resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroup>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#instanceGroupList for
|
|
# instance group lists.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Managed Instance Group resource. An instance group is a
|
|
# collection of VM instances that you can manage as a single entity. For more
|
|
# information, read Instance groups. For zonal Managed Instance Group, use the
|
|
# instanceGroupManagers resource. For regional Managed Instance Group, use the
|
|
# regionInstanceGroupManagers resource.
|
|
class InstanceGroupManager
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies the instances configs overrides that should be applied for all
|
|
# instances in the MIG.
|
|
# Corresponds to the JSON property `allInstancesConfig`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerAllInstancesConfig]
|
|
attr_accessor :all_instances_config
|
|
|
|
# The autohealing policy for this managed instance group. You can specify only
|
|
# one value.
|
|
# Corresponds to the JSON property `autoHealingPolicies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagerAutoHealingPolicy>]
|
|
attr_accessor :auto_healing_policies
|
|
|
|
# The base instance name to use for instances in this group. The value must be 1-
|
|
# 58 characters long. Instances are named by appending a hyphen and a random
|
|
# four-character string to the base instance name. The base instance name must
|
|
# comply with RFC1035.
|
|
# Corresponds to the JSON property `baseInstanceName`
|
|
# @return [String]
|
|
attr_accessor :base_instance_name
|
|
|
|
# [Output Only] The creation timestamp for this managed instance group in
|
|
# RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# [Output Only] The list of instance actions and the number of instances in this
|
|
# managed instance group that are scheduled for each of those actions.
|
|
# Corresponds to the JSON property `currentActions`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerActionsSummary]
|
|
attr_accessor :current_actions
|
|
|
|
# An optional description of this resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Policy specifying the intended distribution of managed instances across zones
|
|
# in a regional managed instance group.
|
|
# Corresponds to the JSON property `distributionPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::DistributionPolicy]
|
|
attr_accessor :distribution_policy
|
|
|
|
# The action to perform in case of zone failure. Only one value is supported,
|
|
# NO_FAILOVER. The default is NO_FAILOVER.
|
|
# Corresponds to the JSON property `failoverAction`
|
|
# @return [String]
|
|
attr_accessor :failover_action
|
|
|
|
# Fingerprint of this resource. This field may be used in optimistic locking. It
|
|
# will be ignored when inserting an InstanceGroupManager. An up-to-date
|
|
# fingerprint must be provided in order to update the InstanceGroupManager,
|
|
# otherwise the request will fail with error 412 conditionNotMet. To see the
|
|
# latest fingerprint, make a get() request to retrieve an InstanceGroupManager.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] A unique identifier for this resource type. The server generates
|
|
# this identifier.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The URL of the Instance Group resource.
|
|
# Corresponds to the JSON property `instanceGroup`
|
|
# @return [String]
|
|
attr_accessor :instance_group
|
|
|
|
# Instance lifecycle policy for this Instance Group Manager.
|
|
# Corresponds to the JSON property `instanceLifecyclePolicy`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicy]
|
|
attr_accessor :instance_lifecycle_policy
|
|
|
|
# The URL of the instance template that is specified for this managed instance
|
|
# group. The group uses this template to create all new instances in the managed
|
|
# instance group. The templates for existing instances in the group do not
|
|
# change unless you run recreateInstances, run applyUpdatesToInstances, or set
|
|
# the group's updatePolicy.type to PROACTIVE.
|
|
# Corresponds to the JSON property `instanceTemplate`
|
|
# @return [String]
|
|
attr_accessor :instance_template
|
|
|
|
# [Output Only] The resource type, which is always compute#instanceGroupManager
|
|
# for managed instance groups.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Pagination behavior of listManagedInstances API method for this Managed
|
|
# Instance Group.
|
|
# Corresponds to the JSON property `listManagedInstancesResults`
|
|
# @return [String]
|
|
attr_accessor :list_managed_instances_results
|
|
|
|
# The name of the managed instance group. The name must be 1-63 characters long,
|
|
# and comply with RFC1035.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Named ports configured for the Instance Groups complementary to this Instance
|
|
# Group Manager.
|
|
# Corresponds to the JSON property `namedPorts`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NamedPort>]
|
|
attr_accessor :named_ports
|
|
|
|
# [Output Only] The URL of the region where the managed instance group resides (
|
|
# for regional resources).
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] The URL for this managed instance group. The server defines this
|
|
# URL.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# The service account to be used as credentials for all operations performed by
|
|
# the managed instance group on instances. The service accounts needs all
|
|
# permissions required to create and delete instances. By default, the service
|
|
# account `projectNumber`@cloudservices.gserviceaccount.com is used.
|
|
# Corresponds to the JSON property `serviceAccount`
|
|
# @return [String]
|
|
attr_accessor :service_account
|
|
|
|
# Standby policy for stopped and suspended instances.
|
|
# Corresponds to the JSON property `standbyPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStandbyPolicy]
|
|
attr_accessor :standby_policy
|
|
|
|
# Stateful configuration for this Instanced Group Manager
|
|
# Corresponds to the JSON property `statefulPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::StatefulPolicy]
|
|
attr_accessor :stateful_policy
|
|
|
|
# [Output Only] The status of this managed instance group.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStatus]
|
|
attr_accessor :status
|
|
|
|
# The URLs for all TargetPool resources to which instances in the instanceGroup
|
|
# field are added. The target pools automatically apply to all of the instances
|
|
# in the managed instance group.
|
|
# Corresponds to the JSON property `targetPools`
|
|
# @return [Array<String>]
|
|
attr_accessor :target_pools
|
|
|
|
# The target number of running instances for this managed instance group. You
|
|
# can reduce this number by using the instanceGroupManager deleteInstances or
|
|
# abandonInstances methods. Resizing the group also changes this number.
|
|
# Corresponds to the JSON property `targetSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :target_size
|
|
|
|
# The target number of stopped instances for this managed instance group. This
|
|
# number changes when you: - Stop instance using the stopInstances method or
|
|
# start instances using the startInstances method. - Manually change the
|
|
# targetStoppedSize using the update method.
|
|
# Corresponds to the JSON property `targetStoppedSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :target_stopped_size
|
|
|
|
# The target number of suspended instances for this managed instance group. This
|
|
# number changes when you: - Suspend instance using the suspendInstances method
|
|
# or resume instances using the resumeInstances method. - Manually change the
|
|
# targetSuspendedSize using the update method.
|
|
# Corresponds to the JSON property `targetSuspendedSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :target_suspended_size
|
|
|
|
# The update policy for this managed instance group.
|
|
# Corresponds to the JSON property `updatePolicy`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerUpdatePolicy]
|
|
attr_accessor :update_policy
|
|
|
|
# Specifies the instance templates used by this managed instance group to create
|
|
# instances. Each version is defined by an instanceTemplate and a name. Every
|
|
# version can appear at most once per instance group. This field overrides the
|
|
# top-level instanceTemplate field. Read more about the relationships between
|
|
# these fields. Exactly one version must leave the targetSize field unset. That
|
|
# version will be applied to all remaining instances. For more information, read
|
|
# about canary updates.
|
|
# Corresponds to the JSON property `versions`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagerVersion>]
|
|
attr_accessor :versions
|
|
|
|
# [Output Only] The URL of a zone where the managed instance group is located (
|
|
# for zonal resources).
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
|
|
@auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
|
|
@base_instance_name = args[:base_instance_name] if args.key?(:base_instance_name)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@current_actions = args[:current_actions] if args.key?(:current_actions)
|
|
@description = args[:description] if args.key?(:description)
|
|
@distribution_policy = args[:distribution_policy] if args.key?(:distribution_policy)
|
|
@failover_action = args[:failover_action] if args.key?(:failover_action)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@instance_group = args[:instance_group] if args.key?(:instance_group)
|
|
@instance_lifecycle_policy = args[:instance_lifecycle_policy] if args.key?(:instance_lifecycle_policy)
|
|
@instance_template = args[:instance_template] if args.key?(:instance_template)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@list_managed_instances_results = args[:list_managed_instances_results] if args.key?(:list_managed_instances_results)
|
|
@name = args[:name] if args.key?(:name)
|
|
@named_ports = args[:named_ports] if args.key?(:named_ports)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@service_account = args[:service_account] if args.key?(:service_account)
|
|
@standby_policy = args[:standby_policy] if args.key?(:standby_policy)
|
|
@stateful_policy = args[:stateful_policy] if args.key?(:stateful_policy)
|
|
@status = args[:status] if args.key?(:status)
|
|
@target_pools = args[:target_pools] if args.key?(:target_pools)
|
|
@target_size = args[:target_size] if args.key?(:target_size)
|
|
@target_stopped_size = args[:target_stopped_size] if args.key?(:target_stopped_size)
|
|
@target_suspended_size = args[:target_suspended_size] if args.key?(:target_suspended_size)
|
|
@update_policy = args[:update_policy] if args.key?(:update_policy)
|
|
@versions = args[:versions] if args.key?(:versions)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerActionsSummary
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The total number of instances in the managed instance group that
|
|
# are scheduled to be abandoned. Abandoning an instance removes it from the
|
|
# managed instance group without deleting it.
|
|
# Corresponds to the JSON property `abandoning`
|
|
# @return [Fixnum]
|
|
attr_accessor :abandoning
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# scheduled to be created or are currently being created. If the group fails to
|
|
# create any of these instances, it tries again until it creates the instance
|
|
# successfully. If you have disabled creation retries, this field will not be
|
|
# populated; instead, the creatingWithoutRetries field will be populated.
|
|
# Corresponds to the JSON property `creating`
|
|
# @return [Fixnum]
|
|
attr_accessor :creating
|
|
|
|
# [Output Only] The number of instances that the managed instance group will
|
|
# attempt to create. The group attempts to create each instance only once. If
|
|
# the group fails to create any of these instances, it decreases the group's
|
|
# targetSize value accordingly.
|
|
# Corresponds to the JSON property `creatingWithoutRetries`
|
|
# @return [Fixnum]
|
|
attr_accessor :creating_without_retries
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# scheduled to be deleted or are currently being deleted.
|
|
# Corresponds to the JSON property `deleting`
|
|
# @return [Fixnum]
|
|
attr_accessor :deleting
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# running and have no scheduled actions.
|
|
# Corresponds to the JSON property `none`
|
|
# @return [Fixnum]
|
|
attr_accessor :none
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# scheduled to be recreated or are currently being being recreated. Recreating
|
|
# an instance deletes the existing root persistent disk and creates a new disk
|
|
# from the image that is defined in the instance template.
|
|
# Corresponds to the JSON property `recreating`
|
|
# @return [Fixnum]
|
|
attr_accessor :recreating
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# being reconfigured with properties that do not require a restart or a recreate
|
|
# action. For example, setting or removing target pools for the instance.
|
|
# Corresponds to the JSON property `refreshing`
|
|
# @return [Fixnum]
|
|
attr_accessor :refreshing
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# scheduled to be restarted or are currently being restarted.
|
|
# Corresponds to the JSON property `restarting`
|
|
# @return [Fixnum]
|
|
attr_accessor :restarting
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# scheduled to be resumed or are currently being resumed.
|
|
# Corresponds to the JSON property `resuming`
|
|
# @return [Fixnum]
|
|
attr_accessor :resuming
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# scheduled to be started or are currently being started.
|
|
# Corresponds to the JSON property `starting`
|
|
# @return [Fixnum]
|
|
attr_accessor :starting
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# scheduled to be stopped or are currently being stopped.
|
|
# Corresponds to the JSON property `stopping`
|
|
# @return [Fixnum]
|
|
attr_accessor :stopping
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# scheduled to be suspended or are currently being suspended.
|
|
# Corresponds to the JSON property `suspending`
|
|
# @return [Fixnum]
|
|
attr_accessor :suspending
|
|
|
|
# [Output Only] The number of instances in the managed instance group that are
|
|
# being verified. See the managedInstances[].currentAction property in the
|
|
# listManagedInstances method documentation.
|
|
# Corresponds to the JSON property `verifying`
|
|
# @return [Fixnum]
|
|
attr_accessor :verifying
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@abandoning = args[:abandoning] if args.key?(:abandoning)
|
|
@creating = args[:creating] if args.key?(:creating)
|
|
@creating_without_retries = args[:creating_without_retries] if args.key?(:creating_without_retries)
|
|
@deleting = args[:deleting] if args.key?(:deleting)
|
|
@none = args[:none] if args.key?(:none)
|
|
@recreating = args[:recreating] if args.key?(:recreating)
|
|
@refreshing = args[:refreshing] if args.key?(:refreshing)
|
|
@restarting = args[:restarting] if args.key?(:restarting)
|
|
@resuming = args[:resuming] if args.key?(:resuming)
|
|
@starting = args[:starting] if args.key?(:starting)
|
|
@stopping = args[:stopping] if args.key?(:stopping)
|
|
@suspending = args[:suspending] if args.key?(:suspending)
|
|
@verifying = args[:verifying] if args.key?(:verifying)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstanceGroupManagersScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::InstanceGroupManagersScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# instanceGroupManagerAggregatedList for an aggregated list of managed instance
|
|
# groups.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagerAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerAllInstancesConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents the change that you want to make to the instance properties.
|
|
# Corresponds to the JSON property `properties`
|
|
# @return [Google::Apis::ComputeAlpha::InstancePropertiesPatch]
|
|
attr_accessor :properties
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@properties = args[:properties] if args.key?(:properties)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerAutoHealingPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Restricts what triggers autohealing.
|
|
# Corresponds to the JSON property `autoHealingTriggers`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers]
|
|
attr_accessor :auto_healing_triggers
|
|
|
|
# The URL for the health check that signals autohealing.
|
|
# Corresponds to the JSON property `healthCheck`
|
|
# @return [String]
|
|
attr_accessor :health_check
|
|
|
|
# The number of seconds that the managed instance group waits before it applies
|
|
# autohealing policies to new instances or recently recreated instances. This
|
|
# initial delay allows instances to initialize and run their startup scripts
|
|
# before the instance group determines that they are UNHEALTHY. This prevents
|
|
# the managed instance group from recreating its instances prematurely. This
|
|
# value must be from range [0, 3600].
|
|
# Corresponds to the JSON property `initialDelaySec`
|
|
# @return [Fixnum]
|
|
attr_accessor :initial_delay_sec
|
|
|
|
# Encapsulates numeric value that can be either absolute or relative.
|
|
# Corresponds to the JSON property `maxUnavailable`
|
|
# @return [Google::Apis::ComputeAlpha::FixedOrPercent]
|
|
attr_accessor :max_unavailable
|
|
|
|
#
|
|
# Corresponds to the JSON property `updateInstances`
|
|
# @return [String]
|
|
attr_accessor :update_instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_healing_triggers = args[:auto_healing_triggers] if args.key?(:auto_healing_triggers)
|
|
@health_check = args[:health_check] if args.key?(:health_check)
|
|
@initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec)
|
|
@max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
|
|
@update_instances = args[:update_instances] if args.key?(:update_instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If you have configured an application-based health check for the group, this
|
|
# field controls whether to trigger VM autohealing based on a failed health
|
|
# check. Valid values are: - ON (default): The group recreates running VMs that
|
|
# fail the application-based health check. - OFF: When set to OFF, you can still
|
|
# observe instance health state, but the group does not recreate VMs that fail
|
|
# the application-based health check. This is useful for troubleshooting and
|
|
# setting up your health check configuration.
|
|
# Corresponds to the JSON property `onHealthCheck`
|
|
# @return [String]
|
|
attr_accessor :on_health_check
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@on_health_check = args[:on_health_check] if args.key?(:on_health_check)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerInstanceLifecyclePolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The configuration for metadata based readiness signal sent by the instance
|
|
# during initialization when stopping / suspending an instance. The Instance
|
|
# Group Manager will wait for a signal that indicates successful initialization
|
|
# before stopping / suspending an instance. If a successful readiness signal is
|
|
# not sent before timeout, the corresponding instance will not be stopped /
|
|
# suspended. Instead, an error will be visible in the lastAttempt.errors field
|
|
# of the managed instance in the listmanagedinstances method. If
|
|
# metadataBasedReadinessSignal.timeoutSec is unset, the Instance Group Manager
|
|
# will directly proceed to suspend / stop instances, skipping initialization on
|
|
# them.
|
|
# Corresponds to the JSON property `metadataBasedReadinessSignal`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal]
|
|
attr_accessor :metadata_based_readiness_signal
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@metadata_based_readiness_signal = args[:metadata_based_readiness_signal] if args.key?(:metadata_based_readiness_signal)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The number of seconds to wait for a readiness signal during initialization
|
|
# before timing out.
|
|
# Corresponds to the JSON property `timeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :timeout_sec
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@timeout_sec = args[:timeout_sec] if args.key?(:timeout_sec)
|
|
end
|
|
end
|
|
|
|
# [Output Only] A list of managed instance groups.
|
|
class InstanceGroupManagerList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstanceGroupManager resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManager>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# instanceGroupManagerList for a list of managed instance groups.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagerList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerStandbyPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `initialDelaySec`
|
|
# @return [Fixnum]
|
|
attr_accessor :initial_delay_sec
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@initial_delay_sec = args[:initial_delay_sec] if args.key?(:initial_delay_sec)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A status of consistency of Instances' config applied to
|
|
# instances with Instances' config defined in managed instance group.
|
|
# Corresponds to the JSON property `allInstancesConfig`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStatusAllInstancesConfig]
|
|
attr_accessor :all_instances_config
|
|
|
|
# [Output Only] The URL of the Autoscaler that targets this instance group
|
|
# manager.
|
|
# Corresponds to the JSON property `autoscaler`
|
|
# @return [String]
|
|
attr_accessor :autoscaler
|
|
|
|
# [Output Only] A bit indicating whether the managed instance group is in a
|
|
# stable state. A stable state means that: none of the instances in the managed
|
|
# instance group is currently undergoing any type of change (for example,
|
|
# creation, restart, or deletion); no future changes are scheduled for instances
|
|
# in the managed instance group; and the managed instance group itself is not
|
|
# being modified.
|
|
# Corresponds to the JSON property `isStable`
|
|
# @return [Boolean]
|
|
attr_accessor :is_stable
|
|
alias_method :is_stable?, :is_stable
|
|
|
|
# [Output Only] Stateful status of the given Instance Group Manager.
|
|
# Corresponds to the JSON property `stateful`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStatusStateful]
|
|
attr_accessor :stateful
|
|
|
|
# [Output Only] A status of consistency of Instances' versions with their target
|
|
# version specified by version field on Instance Group Manager.
|
|
# Corresponds to the JSON property `versionTarget`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStatusVersionTarget]
|
|
attr_accessor :version_target
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
|
|
@autoscaler = args[:autoscaler] if args.key?(:autoscaler)
|
|
@is_stable = args[:is_stable] if args.key?(:is_stable)
|
|
@stateful = args[:stateful] if args.key?(:stateful)
|
|
@version_target = args[:version_target] if args.key?(:version_target)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerStatusAllInstancesConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Current instances' config revision. This value is in RFC3339
|
|
# text format.
|
|
# Corresponds to the JSON property `currentRevision`
|
|
# @return [String]
|
|
attr_accessor :current_revision
|
|
|
|
# [Output Only] A bit indicating whether instances' config has been applied to
|
|
# all managed instances in managed instance group.
|
|
# Corresponds to the JSON property `effective`
|
|
# @return [Boolean]
|
|
attr_accessor :effective
|
|
alias_method :effective?, :effective
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@current_revision = args[:current_revision] if args.key?(:current_revision)
|
|
@effective = args[:effective] if args.key?(:effective)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerStatusStateful
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A bit indicating whether the managed instance group has stateful
|
|
# configuration, that is, if you have configured any items in a stateful policy
|
|
# or in per-instance configs. The group might report that it has no stateful
|
|
# config even when there is still some preserved state on a managed instance,
|
|
# for example, if you have deleted all PICs but not yet applied those deletions.
|
|
# Corresponds to the JSON property `hasStatefulConfig`
|
|
# @return [Boolean]
|
|
attr_accessor :has_stateful_config
|
|
alias_method :has_stateful_config?, :has_stateful_config
|
|
|
|
# [Output Only] A bit indicating whether the managed instance group has stateful
|
|
# configuration, that is, if you have configured any items in a stateful policy
|
|
# or in per-instance configs. The group might report that it has no stateful
|
|
# config even when there is still some preserved state on a managed instance,
|
|
# for example, if you have deleted all PICs but not yet applied those deletions.
|
|
# This field is deprecated in favor of has_stateful_config.
|
|
# Corresponds to the JSON property `isStateful`
|
|
# @return [Boolean]
|
|
attr_accessor :is_stateful
|
|
alias_method :is_stateful?, :is_stateful
|
|
|
|
# [Output Only] Status of per-instance configs on the instance.
|
|
# Corresponds to the JSON property `perInstanceConfigs`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagerStatusStatefulPerInstanceConfigs]
|
|
attr_accessor :per_instance_configs
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@has_stateful_config = args[:has_stateful_config] if args.key?(:has_stateful_config)
|
|
@is_stateful = args[:is_stateful] if args.key?(:is_stateful)
|
|
@per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerStatusStatefulPerInstanceConfigs
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A bit indicating if all of the group's per-instance configs (listed in the
|
|
# output of a listPerInstanceConfigs API call) have status EFFECTIVE or there
|
|
# are no per-instance-configs.
|
|
# Corresponds to the JSON property `allEffective`
|
|
# @return [Boolean]
|
|
attr_accessor :all_effective
|
|
alias_method :all_effective?, :all_effective
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@all_effective = args[:all_effective] if args.key?(:all_effective)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerStatusVersionTarget
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A bit indicating whether version target has been reached in this
|
|
# managed instance group, i.e. all instances are in their target version.
|
|
# Instances' target version are specified by version field on Instance Group
|
|
# Manager.
|
|
# Corresponds to the JSON property `isReached`
|
|
# @return [Boolean]
|
|
attr_accessor :is_reached
|
|
alias_method :is_reached?, :is_reached
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@is_reached = args[:is_reached] if args.key?(:is_reached)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerUpdatePolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The instance redistribution policy for regional managed instance groups. Valid
|
|
# values are: - PROACTIVE (default): The group attempts to maintain an even
|
|
# distribution of VM instances across zones in the region. - NONE: For non-
|
|
# autoscaled groups, proactive redistribution is disabled.
|
|
# Corresponds to the JSON property `instanceRedistributionType`
|
|
# @return [String]
|
|
attr_accessor :instance_redistribution_type
|
|
|
|
# Encapsulates numeric value that can be either absolute or relative.
|
|
# Corresponds to the JSON property `maxSurge`
|
|
# @return [Google::Apis::ComputeAlpha::FixedOrPercent]
|
|
attr_accessor :max_surge
|
|
|
|
# Encapsulates numeric value that can be either absolute or relative.
|
|
# Corresponds to the JSON property `maxUnavailable`
|
|
# @return [Google::Apis::ComputeAlpha::FixedOrPercent]
|
|
attr_accessor :max_unavailable
|
|
|
|
# Minimum number of seconds to wait for after a newly created instance becomes
|
|
# available. This value must be from range [0, 3600].
|
|
# Corresponds to the JSON property `minReadySec`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_ready_sec
|
|
|
|
# Minimal action to be taken on an instance. You can specify either RESTART to
|
|
# restart existing instances or REPLACE to delete and create new instances from
|
|
# the target template. If you specify a RESTART, the Updater will attempt to
|
|
# perform that action only. However, if the Updater determines that the minimal
|
|
# action you specify is not enough to perform the update, it might perform a
|
|
# more disruptive action.
|
|
# Corresponds to the JSON property `minimalAction`
|
|
# @return [String]
|
|
attr_accessor :minimal_action
|
|
|
|
# Most disruptive action that is allowed to be taken on an instance. You can
|
|
# specify either NONE to forbid any actions, REFRESH to allow actions that do
|
|
# not need instance restart, RESTART to allow actions that can be applied
|
|
# without instance replacing or REPLACE to allow all possible actions. If the
|
|
# Updater determines that the minimal update action needed is more disruptive
|
|
# than most disruptive allowed action you specify it will not perform the update
|
|
# at all.
|
|
# Corresponds to the JSON property `mostDisruptiveAllowedAction`
|
|
# @return [String]
|
|
attr_accessor :most_disruptive_allowed_action
|
|
|
|
# What action should be used to replace instances. See minimal_action.REPLACE
|
|
# Corresponds to the JSON property `replacementMethod`
|
|
# @return [String]
|
|
attr_accessor :replacement_method
|
|
|
|
# The type of update process. You can specify either PROACTIVE so that the
|
|
# instance group manager proactively executes actions in order to bring
|
|
# instances to their target versions or OPPORTUNISTIC so that no action is
|
|
# proactively executed but the update will be performed as part of other actions
|
|
# (for example, resizes or recreateInstances calls).
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_redistribution_type = args[:instance_redistribution_type] if args.key?(:instance_redistribution_type)
|
|
@max_surge = args[:max_surge] if args.key?(:max_surge)
|
|
@max_unavailable = args[:max_unavailable] if args.key?(:max_unavailable)
|
|
@min_ready_sec = args[:min_ready_sec] if args.key?(:min_ready_sec)
|
|
@minimal_action = args[:minimal_action] if args.key?(:minimal_action)
|
|
@most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
|
|
@replacement_method = args[:replacement_method] if args.key?(:replacement_method)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagerVersion
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the instance template that is specified for this managed instance
|
|
# group. The group uses this template to create new instances in the managed
|
|
# instance group until the `targetSize` for this version is reached. The
|
|
# templates for existing instances in the group do not change unless you run
|
|
# recreateInstances, run applyUpdatesToInstances, or set the group's
|
|
# updatePolicy.type to PROACTIVE; in those cases, existing instances are updated
|
|
# until the `targetSize` for this version is reached.
|
|
# Corresponds to the JSON property `instanceTemplate`
|
|
# @return [String]
|
|
attr_accessor :instance_template
|
|
|
|
# Name of the version. Unique among all versions in the scope of this managed
|
|
# instance group.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Tag describing the version. Used to trigger rollout of a target version even
|
|
# if instance_template remains unchanged. Deprecated in favor of 'name'.
|
|
# Corresponds to the JSON property `tag`
|
|
# @return [String]
|
|
attr_accessor :tag
|
|
|
|
# Encapsulates numeric value that can be either absolute or relative.
|
|
# Corresponds to the JSON property `targetSize`
|
|
# @return [Google::Apis::ComputeAlpha::FixedOrPercent]
|
|
attr_accessor :target_size
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_template = args[:instance_template] if args.key?(:instance_template)
|
|
@name = args[:name] if args.key?(:name)
|
|
@tag = args[:tag] if args.key?(:tag)
|
|
@target_size = args[:target_size] if args.key?(:target_size)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersAbandonInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to abandon. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
# InstanceGroupManagers.applyUpdatesToInstances
|
|
class InstanceGroupManagersApplyUpdatesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Flag to update all instances instead of specified list of “instances”. If the
|
|
# flag is set to true then the instances may not be specified in the request.
|
|
# Corresponds to the JSON property `allInstances`
|
|
# @return [Boolean]
|
|
attr_accessor :all_instances
|
|
alias_method :all_instances?, :all_instances
|
|
|
|
# The list of URLs of one or more instances for which you want to apply updates.
|
|
# Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[
|
|
# INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
# The maximal action that should be performed on the instances. By default
|
|
# REPLACE. This field is deprecated, please use most_disruptive_allowed_action.
|
|
# Corresponds to the JSON property `maximalAction`
|
|
# @return [String]
|
|
attr_accessor :maximal_action
|
|
|
|
# The minimal action that you want to perform on each instance during the update:
|
|
# - REPLACE: At minimum, delete the instance and create it again. - RESTART:
|
|
# Stop the instance and start it again. - REFRESH: Do not stop the instance. -
|
|
# NONE: Do not disrupt the instance at all. By default, the minimum action is
|
|
# NONE. If your update requires a more disruptive action than you set with this
|
|
# flag, the necessary action is performed to execute the update.
|
|
# Corresponds to the JSON property `minimalAction`
|
|
# @return [String]
|
|
attr_accessor :minimal_action
|
|
|
|
# The most disruptive action that you want to perform on each instance during
|
|
# the update: - REPLACE: Delete the instance and create it again. - RESTART:
|
|
# Stop the instance and start it again. - REFRESH: Do not stop the instance. -
|
|
# NONE: Do not disrupt the instance at all. By default, the most disruptive
|
|
# allowed action is REPLACE. If your update requires a more disruptive action
|
|
# than you set with this flag, the update request will fail.
|
|
# Corresponds to the JSON property `mostDisruptiveAllowedAction`
|
|
# @return [String]
|
|
attr_accessor :most_disruptive_allowed_action
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@all_instances = args[:all_instances] if args.key?(:all_instances)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
@maximal_action = args[:maximal_action] if args.key?(:maximal_action)
|
|
@minimal_action = args[:minimal_action] if args.key?(:minimal_action)
|
|
@most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
|
|
end
|
|
end
|
|
|
|
# InstanceGroupManagers.createInstances
|
|
class InstanceGroupManagersCreateInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Required] List of specifications of per-instance configs.
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersDeleteInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to delete. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
# Specifies whether the request should proceed despite the inclusion of
|
|
# instances that are not members of the group or that are already in the process
|
|
# of being deleted or abandoned. If this field is set to `false` and such an
|
|
# instance is specified in the request, the operation fails. The operation
|
|
# always fails if the request contains a malformed instance URL or a reference
|
|
# to an instance that exists in a zone or region other than the group's zone or
|
|
# region.
|
|
# Corresponds to the JSON property `skipInstancesOnValidationError`
|
|
# @return [Boolean]
|
|
attr_accessor :skip_instances_on_validation_error
|
|
alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
@skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
|
|
end
|
|
end
|
|
|
|
# InstanceGroupManagers.deletePerInstanceConfigs
|
|
class InstanceGroupManagersDeletePerInstanceConfigsReq
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of instance names for which we want to delete per-instance configs on
|
|
# this managed instance group.
|
|
# Corresponds to the JSON property `names`
|
|
# @return [Array<String>]
|
|
attr_accessor :names
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@names = args[:names] if args.key?(:names)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersListErrorsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The list of errors of the managed instance group.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceManagedByIgmError>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@items = args[:items] if args.key?(:items)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersListManagedInstancesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The list of instances in the managed instance group.
|
|
# Corresponds to the JSON property `managedInstances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ManagedInstance>]
|
|
attr_accessor :managed_instances
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@managed_instances = args[:managed_instances] if args.key?(:managed_instances)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersListPerInstanceConfigsResp
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The list of PerInstanceConfig.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagersListPerInstanceConfigsResp::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@items = args[:items] if args.key?(:items)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagersListPerInstanceConfigsResp::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# InstanceGroupManagers.patchPerInstanceConfigs
|
|
class InstanceGroupManagersPatchPerInstanceConfigsReq
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of per-instance configs to insert or patch on this managed instance
|
|
# group.
|
|
# Corresponds to the JSON property `perInstanceConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
|
|
attr_accessor :per_instance_configs
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersRecreateInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to recreate. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersResizeAdvancedRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If this flag is true, the managed instance group attempts to create all
|
|
# instances initiated by this resize request only once. If there is an error
|
|
# during creation, the managed instance group does not retry create this
|
|
# instance, and we will decrease the targetSize of the request instead. If the
|
|
# flag is false, the group attempts to recreate each instance continuously until
|
|
# it succeeds. This flag matters only in the first attempt of creation of an
|
|
# instance. After an instance is successfully created while this flag is enabled,
|
|
# the instance behaves the same way as all the other instances created with a
|
|
# regular resize request. In particular, if a running instance dies unexpectedly
|
|
# at a later time and needs to be recreated, this mode does not affect the
|
|
# recreation behavior in that scenario. This flag is applicable only to the
|
|
# current resize request. It does not influence other resize requests in any way.
|
|
# You can see which instances is being creating in which mode by calling the
|
|
# get or listManagedInstances API.
|
|
# Corresponds to the JSON property `noCreationRetries`
|
|
# @return [Boolean]
|
|
attr_accessor :no_creation_retries
|
|
alias_method :no_creation_retries?, :no_creation_retries
|
|
|
|
# The number of running instances that the managed instance group should
|
|
# maintain at any given time. The group automatically adds or removes instances
|
|
# to maintain the number of instances specified by this parameter.
|
|
# Corresponds to the JSON property `targetSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :target_size
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@no_creation_retries = args[:no_creation_retries] if args.key?(:no_creation_retries)
|
|
@target_size = args[:target_size] if args.key?(:target_size)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersResumeInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to resume. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The list of managed instance groups that are contained in the
|
|
# specified project and zone.
|
|
# Corresponds to the JSON property `instanceGroupManagers`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManager>]
|
|
attr_accessor :instance_group_managers
|
|
|
|
# [Output Only] The warning that replaces the list of managed instance groups
|
|
# when the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupManagersScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_group_managers = args[:instance_group_managers] if args.key?(:instance_group_managers)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] The warning that replaces the list of managed instance groups
|
|
# when the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagersScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersSetAutoHealingRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `autoHealingPolicies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagerAutoHealingPolicy>]
|
|
attr_accessor :auto_healing_policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersSetInstanceTemplateRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the instance template that is specified for this managed instance
|
|
# group. The group uses this template to create all new instances in the managed
|
|
# instance group. The templates for existing instances in the group do not
|
|
# change unless you run recreateInstances, run applyUpdatesToInstances, or set
|
|
# the group's updatePolicy.type to PROACTIVE.
|
|
# Corresponds to the JSON property `instanceTemplate`
|
|
# @return [String]
|
|
attr_accessor :instance_template
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_template = args[:instance_template] if args.key?(:instance_template)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersSetTargetPoolsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The fingerprint of the target pools information. Use this optional property to
|
|
# prevent conflicts when multiple users change the target pools settings
|
|
# concurrently. Obtain the fingerprint with the instanceGroupManagers.get method.
|
|
# Then, include the fingerprint in your request to ensure that you do not
|
|
# overwrite changes that were applied from another concurrent request.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# The list of target pool URLs that instances in this managed instance group
|
|
# belong to. The managed instance group applies these target pools to all of the
|
|
# instances in the group. Existing instances and new instances in the group all
|
|
# receive these target pool settings.
|
|
# Corresponds to the JSON property `targetPools`
|
|
# @return [Array<String>]
|
|
attr_accessor :target_pools
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@target_pools = args[:target_pools] if args.key?(:target_pools)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersStartInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to start. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersStopInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If this flag is set to true, the Instance Group Manager will proceed to stop
|
|
# the instances, skipping initialization on them.
|
|
# Corresponds to the JSON property `forceStop`
|
|
# @return [Boolean]
|
|
attr_accessor :force_stop
|
|
alias_method :force_stop?, :force_stop
|
|
|
|
# The URLs of one or more instances to stop. This can be a full URL or a partial
|
|
# URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@force_stop = args[:force_stop] if args.key?(:force_stop)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupManagersSuspendInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If this flag is set to true, the Instance Group Manager will proceed to
|
|
# suspend the instances, skipping initialization on them.
|
|
# Corresponds to the JSON property `forceSuspend`
|
|
# @return [Boolean]
|
|
attr_accessor :force_suspend
|
|
alias_method :force_suspend?, :force_suspend
|
|
|
|
# The URLs of one or more instances to suspend. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@force_suspend = args[:force_suspend] if args.key?(:force_suspend)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
# InstanceGroupManagers.updatePerInstanceConfigs
|
|
class InstanceGroupManagersUpdatePerInstanceConfigsReq
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of per-instance configs to insert or patch on this managed instance
|
|
# group.
|
|
# Corresponds to the JSON property `perInstanceConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
|
|
attr_accessor :per_instance_configs
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupsAddInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of instances to add to the instance group.
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceReference>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupsListInstances
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstanceWithNamedPorts resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceWithNamedPorts>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# instanceGroupsListInstances for the list of instances in the specified
|
|
# instance group.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupsListInstances::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupsListInstances::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupsListInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A filter for the state of the instances in the instance group. Valid options
|
|
# are ALL or RUNNING. If you do not specify this parameter the list includes all
|
|
# instances regardless of their state.
|
|
# Corresponds to the JSON property `instanceState`
|
|
# @return [String]
|
|
attr_accessor :instance_state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_state = args[:instance_state] if args.key?(:instance_state)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupsRemoveInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of instances to remove from the instance group.
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceReference>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The list of instance groups that are contained in this scope.
|
|
# Corresponds to the JSON property `instanceGroups`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroup>]
|
|
attr_accessor :instance_groups
|
|
|
|
# [Output Only] An informational warning that replaces the list of instance
|
|
# groups when the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceGroupsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_groups = args[:instance_groups] if args.key?(:instance_groups)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] An informational warning that replaces the list of instance
|
|
# groups when the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceGroupsSetNamedPortsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The fingerprint of the named ports information for this instance group. Use
|
|
# this optional property to prevent conflicts when multiple users change the
|
|
# named ports settings concurrently. Obtain the fingerprint with the
|
|
# instanceGroups.get method. Then, include the fingerprint in your request to
|
|
# ensure that you do not overwrite changes that were applied from another
|
|
# concurrent request. A request with an incorrect fingerprint will fail with
|
|
# error 412 conditionNotMet.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# The list of named ports to set for this instance group.
|
|
# Corresponds to the JSON property `namedPorts`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NamedPort>]
|
|
attr_accessor :named_ports
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@named_ports = args[:named_ports] if args.key?(:named_ports)
|
|
end
|
|
end
|
|
|
|
# Contains a list of instances.
|
|
class InstanceList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Instance resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Instance>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#instanceList for lists of
|
|
# Instance resources.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of instance referrers.
|
|
class InstanceListReferrers
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Reference resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Reference>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#instanceListReferrers for lists
|
|
# of Instance referrers.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceListReferrers::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceListReferrers::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceManagedByIgmError
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Contents of the error.
|
|
# Corresponds to the JSON property `error`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceManagedByIgmErrorManagedInstanceError]
|
|
attr_accessor :error
|
|
|
|
# [Output Only] Details of the instance action that triggered this error. May be
|
|
# null, if the error was not caused by an action on an instance. This field is
|
|
# optional.
|
|
# Corresponds to the JSON property `instanceActionDetails`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceManagedByIgmErrorInstanceActionDetails]
|
|
attr_accessor :instance_action_details
|
|
|
|
# [Output Only] The time that this error occurred. This value is in RFC3339 text
|
|
# format.
|
|
# Corresponds to the JSON property `timestamp`
|
|
# @return [String]
|
|
attr_accessor :timestamp
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@error = args[:error] if args.key?(:error)
|
|
@instance_action_details = args[:instance_action_details] if args.key?(:instance_action_details)
|
|
@timestamp = args[:timestamp] if args.key?(:timestamp)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceManagedByIgmErrorInstanceActionDetails
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Action that managed instance group was executing on the instance
|
|
# when the error occurred. Possible values:
|
|
# Corresponds to the JSON property `action`
|
|
# @return [String]
|
|
attr_accessor :action
|
|
|
|
# [Output Only] The URL of the instance. The URL can be set even if the instance
|
|
# has not yet been created.
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
# [Output Only] Version this instance was created from, or was being created
|
|
# from, but the creation failed. Corresponds to one of the versions that were
|
|
# set on the Instance Group Manager resource at the time this instance was being
|
|
# created.
|
|
# Corresponds to the JSON property `version`
|
|
# @return [Google::Apis::ComputeAlpha::ManagedInstanceVersion]
|
|
attr_accessor :version
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@action = args[:action] if args.key?(:action)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
@version = args[:version] if args.key?(:version)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceManagedByIgmErrorManagedInstanceError
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Error code.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Error message.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceMoveRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the destination zone to move the instance. This can be a full or
|
|
# partial URL. For example, the following are all valid URLs to a zone: - https:/
|
|
# /www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/
|
|
# zones/zone - zones/zone
|
|
# Corresponds to the JSON property `destinationZone`
|
|
# @return [String]
|
|
attr_accessor :destination_zone
|
|
|
|
# The URL of the target instance to move. This can be a full or partial URL. For
|
|
# example, the following are all valid URLs to an instance: - https://www.
|
|
# googleapis.com/compute/v1/projects/project/zones/zone /instances/instance -
|
|
# projects/project/zones/zone/instances/instance - zones/zone/instances/instance
|
|
# Corresponds to the JSON property `targetInstance`
|
|
# @return [String]
|
|
attr_accessor :target_instance
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@destination_zone = args[:destination_zone] if args.key?(:destination_zone)
|
|
@target_instance = args[:target_instance] if args.key?(:target_instance)
|
|
end
|
|
end
|
|
|
|
# Additional instance params.
|
|
class InstanceParams
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Resource manager tags to be bound to the instance. Tag keys and values have
|
|
# the same definition as resource manager tags. Keys must be in the format `
|
|
# tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
|
|
# is ignored (both PUT & PATCH) when empty.
|
|
# Corresponds to the JSON property `resourceManagerTags`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :resource_manager_tags
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceProperties
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies options for controlling advanced machine features. Options that
|
|
# would traditionally be configured in a BIOS belong here. Features that require
|
|
# operating system support may have corresponding entries in the GuestOsFeatures
|
|
# of an Image (e.g., whether or not the OS in the Image supports nested
|
|
# virtualization being enabled or disabled).
|
|
# Corresponds to the JSON property `advancedMachineFeatures`
|
|
# @return [Google::Apis::ComputeAlpha::AdvancedMachineFeatures]
|
|
attr_accessor :advanced_machine_features
|
|
|
|
# Enables instances created based on these properties to send packets with
|
|
# source IP addresses other than their own and receive packets with destination
|
|
# IP addresses other than their own. If these instances will be used as an IP
|
|
# gateway or it will be set as the next-hop in a Route resource, specify true.
|
|
# If unsure, leave this set to false. See the Enable IP forwarding documentation
|
|
# for more information.
|
|
# Corresponds to the JSON property `canIpForward`
|
|
# @return [Boolean]
|
|
attr_accessor :can_ip_forward
|
|
alias_method :can_ip_forward?, :can_ip_forward
|
|
|
|
# A set of Confidential Instance options.
|
|
# Corresponds to the JSON property `confidentialInstanceConfig`
|
|
# @return [Google::Apis::ComputeAlpha::ConfidentialInstanceConfig]
|
|
attr_accessor :confidential_instance_config
|
|
|
|
# An optional text description for the instances that are created from these
|
|
# properties.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# An array of disks that are associated with the instances that are created from
|
|
# these properties.
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AttachedDisk>]
|
|
attr_accessor :disks
|
|
|
|
# A set of Display Device options
|
|
# Corresponds to the JSON property `displayDevice`
|
|
# @return [Google::Apis::ComputeAlpha::DisplayDevice]
|
|
attr_accessor :display_device
|
|
|
|
# A list of guest accelerator cards' type and count to use for instances created
|
|
# from these properties.
|
|
# Corresponds to the JSON property `guestAccelerators`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
|
|
attr_accessor :guest_accelerators
|
|
|
|
# KeyRevocationActionType of the instance. Supported options are "STOP" and "
|
|
# NONE". The default value is "NONE" if it is not specified.
|
|
# Corresponds to the JSON property `keyRevocationActionType`
|
|
# @return [String]
|
|
attr_accessor :key_revocation_action_type
|
|
|
|
# Labels to apply to instances that are created from these properties.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# The machine type to use for instances that are created from these properties.
|
|
# Corresponds to the JSON property `machineType`
|
|
# @return [String]
|
|
attr_accessor :machine_type
|
|
|
|
# A metadata key/value entry.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Google::Apis::ComputeAlpha::Metadata]
|
|
attr_accessor :metadata
|
|
|
|
# Minimum cpu/platform to be used by instances. The instance may be scheduled on
|
|
# the specified or newer cpu/platform. Applicable values are the friendly names
|
|
# of CPU platforms, such as minCpuPlatform: "Intel Haswell" or minCpuPlatform: "
|
|
# Intel Sandy Bridge". For more information, read Specifying a Minimum CPU
|
|
# Platform.
|
|
# Corresponds to the JSON property `minCpuPlatform`
|
|
# @return [String]
|
|
attr_accessor :min_cpu_platform
|
|
|
|
# An array of network access configurations for this interface.
|
|
# Corresponds to the JSON property `networkInterfaces`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
|
|
attr_accessor :network_interfaces
|
|
|
|
# Note that for MachineImage, this is not supported yet.
|
|
# Corresponds to the JSON property `networkPerformanceConfig`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkPerformanceConfig]
|
|
attr_accessor :network_performance_config
|
|
|
|
# PostKeyRevocationActionType of the instance.
|
|
# Corresponds to the JSON property `postKeyRevocationActionType`
|
|
# @return [String]
|
|
attr_accessor :post_key_revocation_action_type
|
|
|
|
# The private IPv6 google access type for VMs. If not specified, use
|
|
# INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not
|
|
# supported yet.
|
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
|
# @return [String]
|
|
attr_accessor :private_ipv6_google_access
|
|
|
|
# Specifies the reservations that this instance can consume from.
|
|
# Corresponds to the JSON property `reservationAffinity`
|
|
# @return [Google::Apis::ComputeAlpha::ReservationAffinity]
|
|
attr_accessor :reservation_affinity
|
|
|
|
# Resource manager tags to be bound to the instance. Tag keys and values have
|
|
# the same definition as resource manager tags. Keys must be in the format `
|
|
# tagKeys/`tag_key_id``, and values are in the format `tagValues/456`. The field
|
|
# is ignored (both PUT & PATCH) when empty.
|
|
# Corresponds to the JSON property `resourceManagerTags`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :resource_manager_tags
|
|
|
|
# Resource policies (names, not URLs) applied to instances created from these
|
|
# properties. Note that for MachineImage, this is not supported yet.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
# Sets the scheduling options for an Instance. NextID: 21
|
|
# Corresponds to the JSON property `scheduling`
|
|
# @return [Google::Apis::ComputeAlpha::Scheduling]
|
|
attr_accessor :scheduling
|
|
|
|
# [Input Only] Secure tags to apply to this instance. Maximum number of secure
|
|
# tags allowed is 50. Note that for MachineImage, this is not supported yet.
|
|
# Corresponds to the JSON property `secureTags`
|
|
# @return [Array<String>]
|
|
attr_accessor :secure_tags
|
|
|
|
# A list of service accounts with specified scopes. Access tokens for these
|
|
# service accounts are available to the instances that are created from these
|
|
# properties. Use metadata queries to obtain the access tokens for these
|
|
# instances.
|
|
# Corresponds to the JSON property `serviceAccounts`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAccount>]
|
|
attr_accessor :service_accounts
|
|
|
|
# A set of Shielded Instance options.
|
|
# Corresponds to the JSON property `shieldedInstanceConfig`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedInstanceConfig]
|
|
attr_accessor :shielded_instance_config
|
|
|
|
# A set of Shielded VM options.
|
|
# Corresponds to the JSON property `shieldedVmConfig`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedVmConfig]
|
|
attr_accessor :shielded_vm_config
|
|
|
|
# A set of instance tags.
|
|
# Corresponds to the JSON property `tags`
|
|
# @return [Google::Apis::ComputeAlpha::Tags]
|
|
attr_accessor :tags
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
|
|
@can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
|
|
@confidential_instance_config = args[:confidential_instance_config] if args.key?(:confidential_instance_config)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@display_device = args[:display_device] if args.key?(:display_device)
|
|
@guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
|
|
@key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
|
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
|
@post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
|
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
|
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
|
@secure_tags = args[:secure_tags] if args.key?(:secure_tags)
|
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
|
@shielded_vm_config = args[:shielded_vm_config] if args.key?(:shielded_vm_config)
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
end
|
|
end
|
|
|
|
# Represents the change that you want to make to the instance properties.
|
|
class InstancePropertiesPatch
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The label key-value pairs that you want to patch onto the instance.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# The metadata key-value pairs that you want to patch onto the instance. For
|
|
# more information, see Project and instance metadata.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :metadata
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL for a specific instance. @required compute.instancegroups.addInstances/
|
|
# removeInstances
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
end
|
|
end
|
|
|
|
# Represents an Instance Template resource. You can use instance templates to
|
|
# create VM instances and managed instance groups. For more information, read
|
|
# Instance Templates.
|
|
class InstanceTemplate
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The creation timestamp for this instance template in RFC3339
|
|
# text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] A unique identifier for this instance template. The server
|
|
# defines this identifier.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The resource type, which is always compute#instanceTemplate for
|
|
# instance templates.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource; provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The instance properties for this instance template.
|
|
# Corresponds to the JSON property `properties`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceProperties]
|
|
attr_accessor :properties
|
|
|
|
# [Output Only] The URL for this instance template. The server defines this URL.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# The source instance used to create the template. You can provide this as a
|
|
# partial or full URL to the resource. For example, the following are valid
|
|
# values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
|
|
# instances/instance - projects/project/zones/zone/instances/instance
|
|
# Corresponds to the JSON property `sourceInstance`
|
|
# @return [String]
|
|
attr_accessor :source_instance
|
|
|
|
# A specification of the parameters to use when creating the instance template
|
|
# from a source instance.
|
|
# Corresponds to the JSON property `sourceInstanceParams`
|
|
# @return [Google::Apis::ComputeAlpha::SourceInstanceParams]
|
|
attr_accessor :source_instance_params
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@properties = args[:properties] if args.key?(:properties)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@source_instance = args[:source_instance] if args.key?(:source_instance)
|
|
@source_instance_params = args[:source_instance_params] if args.key?(:source_instance_params)
|
|
end
|
|
end
|
|
|
|
# A list of instance templates.
|
|
class InstanceTemplateList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstanceTemplate resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceTemplate>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# instanceTemplatesListResponse for instance template lists.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceTemplateList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceTemplateList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstanceWithNamedPorts
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The URL of the instance.
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
# [Output Only] The named ports that belong to this instance group.
|
|
# Corresponds to the JSON property `namedPorts`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NamedPort>]
|
|
attr_accessor :named_ports
|
|
|
|
# [Output Only] The status of the instance.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
@named_ports = args[:named_ports] if args.key?(:named_ports)
|
|
@status = args[:status] if args.key?(:status)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesAddResourcePoliciesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Resource policies to be added to this instance.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesGetEffectiveFirewallsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Effective firewalls from firewall policies.
|
|
# Corresponds to the JSON property `firewallPolicys`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
|
|
attr_accessor :firewall_policys
|
|
|
|
# Effective firewalls on the instance.
|
|
# Corresponds to the JSON property `firewalls`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Firewall>]
|
|
attr_accessor :firewalls
|
|
|
|
# Effective firewalls from organization policies.
|
|
# Corresponds to the JSON property `organizationFirewalls`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy>]
|
|
attr_accessor :organization_firewalls
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys)
|
|
@firewalls = args[:firewalls] if args.key?(:firewalls)
|
|
@organization_firewalls = args[:organization_firewalls] if args.key?(:organization_firewalls)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Deprecated, please use short name instead. The display name of
|
|
# the firewall policy.
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# [Output Only] The name of the firewall policy.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The rules that apply to the network.
|
|
# Corresponds to the JSON property `rules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
|
|
attr_accessor :rules
|
|
|
|
# [Output Only] The short name of the firewall policy.
|
|
# Corresponds to the JSON property `shortName`
|
|
# @return [String]
|
|
attr_accessor :short_name
|
|
|
|
# [Output Only] The type of the firewall policy. Can be one of HIERARCHY,
|
|
# NETWORK, NETWORK_REGIONAL.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@name = args[:name] if args.key?(:name)
|
|
@rules = args[:rules] if args.key?(:rules)
|
|
@short_name = args[:short_name] if args.key?(:short_name)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# A pruned SecurityPolicy containing ID and any applicable firewall rules.
|
|
class InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The unique identifier for the security policy. This identifier is defined by
|
|
# the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# The rules that apply to the network.
|
|
# Corresponds to the JSON property `rules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRule>]
|
|
attr_accessor :rules
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@rules = args[:rules] if args.key?(:rules)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesRemoveResourcePoliciesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Resource policies to be removed from this instance.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesResumeRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Array of disks associated with this instance that are protected with a
|
|
# customer-supplied encryption key. In order to resume the instance, the disk
|
|
# url and its corresponding key must be provided. If the disk is not protected
|
|
# with a customer-supplied encryption key it should not be specified.
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::CustomerEncryptionKeyProtectedDisk>]
|
|
attr_accessor :disks
|
|
|
|
# Decrypts data associated with an instance that is protected with a customer-
|
|
# supplied encryption key. If the instance you are starting is protected with a
|
|
# customer-supplied encryption key, the correct key must be provided otherwise
|
|
# the instance resume will not succeed.
|
|
# Corresponds to the JSON property `instanceEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :instance_encryption_key
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of instances contained in this scope.
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Instance>]
|
|
attr_accessor :instances
|
|
|
|
# [Output Only] Informational warning which replaces the list of instances when
|
|
# the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstancesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of instances when
|
|
# the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstancesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesSetLabelsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Fingerprint of the previous set of labels for this resource, used to prevent
|
|
# conflicts. Provide the latest fingerprint value when making a request to add
|
|
# or change labels.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
#
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesSetMachineResourcesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of the type and count of accelerator cards attached to the instance.
|
|
# Corresponds to the JSON property `guestAccelerators`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
|
|
attr_accessor :guest_accelerators
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesSetMachineTypeRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Full or partial URL of the machine type resource. See Machine Types for a full
|
|
# list of machine types. For example: zones/us-central1-f/machineTypes/n1-
|
|
# standard-1
|
|
# Corresponds to the JSON property `machineType`
|
|
# @return [String]
|
|
attr_accessor :machine_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesSetMinCpuPlatformRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Minimum cpu/platform this instance should be started at.
|
|
# Corresponds to the JSON property `minCpuPlatform`
|
|
# @return [String]
|
|
attr_accessor :min_cpu_platform
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesSetNameRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The current name of this resource, used to prevent conflicts. Provide the
|
|
# latest name when making a request to change name.
|
|
# Corresponds to the JSON property `currentName`
|
|
# @return [String]
|
|
attr_accessor :current_name
|
|
|
|
# The name to be applied to the instance. Needs to be RFC 1035 compliant.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@current_name = args[:current_name] if args.key?(:current_name)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesSetServiceAccountRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Email address of the service account.
|
|
# Corresponds to the JSON property `email`
|
|
# @return [String]
|
|
attr_accessor :email
|
|
|
|
# The list of scopes to be made available for this service account.
|
|
# Corresponds to the JSON property `scopes`
|
|
# @return [Array<String>]
|
|
attr_accessor :scopes
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@email = args[:email] if args.key?(:email)
|
|
@scopes = args[:scopes] if args.key?(:scopes)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstancesStartWithEncryptionKeyRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Array of disks associated with this instance that are protected with a
|
|
# customer-supplied encryption key. In order to start the instance, the disk url
|
|
# and its corresponding key must be provided. If the disk is not protected with
|
|
# a customer-supplied encryption key it should not be specified.
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::CustomerEncryptionKeyProtectedDisk>]
|
|
attr_accessor :disks
|
|
|
|
# Decrypts data associated with an instance that is protected with a customer-
|
|
# supplied encryption key. If the instance you are starting is protected with a
|
|
# customer-supplied encryption key, the correct key must be provided otherwise
|
|
# the instance start will not succeed.
|
|
# Corresponds to the JSON property `instanceEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :instance_encryption_key
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@instance_encryption_key = args[:instance_encryption_key] if args.key?(:instance_encryption_key)
|
|
end
|
|
end
|
|
|
|
# Represents a InstantSnapshot resource. You can use instant snapshots to create
|
|
# disk rollback points quickly..
|
|
class InstantSnapshot
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The architecture of the instant snapshot. Valid values are ARM64
|
|
# or X86_64.
|
|
# Corresponds to the JSON property `architecture`
|
|
# @return [String]
|
|
attr_accessor :architecture
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] Size of the source disk, specified in GB.
|
|
# Corresponds to the JSON property `diskSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :disk_size_gb
|
|
|
|
# Whether to attempt an application consistent instant snapshot by informing the
|
|
# OS to prepare for the snapshot process.
|
|
# Corresponds to the JSON property `guestFlush`
|
|
# @return [Boolean]
|
|
attr_accessor :guest_flush
|
|
alias_method :guest_flush?, :guest_flush
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#instantSnapshot for
|
|
# InstantSnapshot resources.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this InstantSnapshot, which is
|
|
# essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve a InstantSnapshot.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels to apply to this InstantSnapshot. These can be later modified by the
|
|
# setLabels method. Label values may be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Name of the resource; provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] URL of the region where the instant snapshot resides. You must
|
|
# specify this field as part of the HTTP request URL. It is not settable as a
|
|
# field in the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Status information for the instant snapshot resource.
|
|
# Corresponds to the JSON property `resourceStatus`
|
|
# @return [Google::Apis::ComputeAlpha::InstantSnapshotResourceStatus]
|
|
attr_accessor :resource_status
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource's resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# URL of the source disk used to create this instant snapshot. Note that the
|
|
# source disk must be in the same zone/region as the instant snapshot to be
|
|
# created. This can be a full or valid partial URL. For example, the following
|
|
# are valid values: - https://www.googleapis.com/compute/v1/projects/project/
|
|
# zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/
|
|
# project/regions/region /disks/disk - projects/project/zones/zone/disks/disk -
|
|
# projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/
|
|
# region/disks/disk
|
|
# Corresponds to the JSON property `sourceDisk`
|
|
# @return [String]
|
|
attr_accessor :source_disk
|
|
|
|
# [Output Only] The ID value of the disk used to create this InstantSnapshot.
|
|
# This value may be used to determine whether the InstantSnapshot was taken from
|
|
# the current or a previous instance of a given disk name.
|
|
# Corresponds to the JSON property `sourceDiskId`
|
|
# @return [String]
|
|
attr_accessor :source_disk_id
|
|
|
|
# [Output Only] The status of the instantSnapshot. This can be CREATING,
|
|
# DELETING, FAILED, or READY.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] URL of the zone where the instant snapshot resides. You must
|
|
# specify this field as part of the HTTP request URL. It is not settable as a
|
|
# field in the request body.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@architecture = args[:architecture] if args.key?(:architecture)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
@guest_flush = args[:guest_flush] if args.key?(:guest_flush)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region = args[:region] if args.key?(:region)
|
|
@resource_status = args[:resource_status] if args.key?(:resource_status)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
|
@source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
|
|
@status = args[:status] if args.key?(:status)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstantSnapshotAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstantSnapshotsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::InstantSnapshotsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#instantSnapshotAggregatedList
|
|
# for aggregated lists of instantSnapshots.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstantSnapshotAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstantSnapshotAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstantSnapshotExportParams
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An optional base instant snapshot that this resource is compared against. If
|
|
# not specified, all blocks of this resource are exported. The base instant
|
|
# snapshot and this resource must be created from the same disk. The base
|
|
# instant snapshot must be created earlier in time than this resource.
|
|
# Corresponds to the JSON property `baseInstantSnapshot`
|
|
# @return [String]
|
|
attr_accessor :base_instant_snapshot
|
|
|
|
# The name of an existing bucket in Cloud Storage where the changed blocks will
|
|
# be stored. The Google Service Account must have read and write access to this
|
|
# bucket. The bucket has to be in the same region as this resource.
|
|
# Corresponds to the JSON property `bucketName`
|
|
# @return [String]
|
|
attr_accessor :bucket_name
|
|
|
|
# Encryption key used to encrypt the instant snapshot.
|
|
# Corresponds to the JSON property `encryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :encryption_key
|
|
|
|
# Name of the output Bigstore object storing the changed blocks. Object name
|
|
# must be less than 1024 bytes in length.
|
|
# Corresponds to the JSON property `objectName`
|
|
# @return [String]
|
|
attr_accessor :object_name
|
|
|
|
# The format of the output file.
|
|
# Corresponds to the JSON property `outputType`
|
|
# @return [String]
|
|
attr_accessor :output_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@base_instant_snapshot = args[:base_instant_snapshot] if args.key?(:base_instant_snapshot)
|
|
@bucket_name = args[:bucket_name] if args.key?(:bucket_name)
|
|
@encryption_key = args[:encryption_key] if args.key?(:encryption_key)
|
|
@object_name = args[:object_name] if args.key?(:object_name)
|
|
@output_type = args[:output_type] if args.key?(:output_type)
|
|
end
|
|
end
|
|
|
|
# Contains a list of InstantSnapshot resources.
|
|
class InstantSnapshotList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstantSnapshot resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstantSnapshot>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstantSnapshotList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstantSnapshotList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstantSnapshotResourceStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The storage size of this instant snapshot.
|
|
# Corresponds to the JSON property `storageSizeBytes`
|
|
# @return [Fixnum]
|
|
attr_accessor :storage_size_bytes
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@storage_size_bytes = args[:storage_size_bytes] if args.key?(:storage_size_bytes)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstantSnapshotsExportRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Parameters to export the changed blocks.
|
|
# Corresponds to the JSON property `exportParams`
|
|
# @return [Google::Apis::ComputeAlpha::InstantSnapshotExportParams]
|
|
attr_accessor :export_params
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@export_params = args[:export_params] if args.key?(:export_params)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InstantSnapshotsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of instantSnapshots contained in this scope.
|
|
# Corresponds to the JSON property `instantSnapshots`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstantSnapshot>]
|
|
attr_accessor :instant_snapshots
|
|
|
|
# [Output Only] Informational warning which replaces the list of
|
|
# instantSnapshots when the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InstantSnapshotsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instant_snapshots = args[:instant_snapshots] if args.key?(:instant_snapshots)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of
|
|
# instantSnapshots when the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstantSnapshotsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# HttpRouteRuleMatch criteria for field values that must stay within the
|
|
# specified integer range.
|
|
class Int64RangeMatch
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The end of the range (exclusive) in signed long integer format.
|
|
# Corresponds to the JSON property `rangeEnd`
|
|
# @return [Fixnum]
|
|
attr_accessor :range_end
|
|
|
|
# The start of the range (inclusive) in signed long integer format.
|
|
# Corresponds to the JSON property `rangeStart`
|
|
# @return [Fixnum]
|
|
attr_accessor :range_start
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@range_end = args[:range_end] if args.key?(:range_end)
|
|
@range_start = args[:range_start] if args.key?(:range_start)
|
|
end
|
|
end
|
|
|
|
# Represents an Interconnect resource. An Interconnect resource is a dedicated
|
|
# connection between the GCP network and your on-premises network. For more
|
|
# information, read the Dedicated Interconnect Overview.
|
|
class Interconnect
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Administrative status of the interconnect. When this is set to true, the
|
|
# Interconnect is functional and can carry traffic. When set to false, no
|
|
# packets can be carried over the interconnect and no BGP routes are exchanged
|
|
# over it. By default, the status is set to true.
|
|
# Corresponds to the JSON property `adminEnabled`
|
|
# @return [Boolean]
|
|
attr_accessor :admin_enabled
|
|
alias_method :admin_enabled?, :admin_enabled
|
|
|
|
# [Output Only] A list of CircuitInfo objects, that describe the individual
|
|
# circuits in this LAG.
|
|
# Corresponds to the JSON property `circuitInfos`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectCircuitInfo>]
|
|
attr_accessor :circuit_infos
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Customer name, to put in the Letter of Authorization as the party authorized
|
|
# to request a crossconnect.
|
|
# Corresponds to the JSON property `customerName`
|
|
# @return [String]
|
|
attr_accessor :customer_name
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] A list of outages expected for this Interconnect.
|
|
# Corresponds to the JSON property `expectedOutages`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectOutageNotification>]
|
|
attr_accessor :expected_outages
|
|
|
|
# [Output Only] IP address configured on the Google side of the Interconnect
|
|
# link. This can be used only for ping tests.
|
|
# Corresponds to the JSON property `googleIpAddress`
|
|
# @return [String]
|
|
attr_accessor :google_ip_address
|
|
|
|
# [Output Only] Google reference ID to be used when raising support tickets with
|
|
# Google or otherwise to debug backend connectivity issues.
|
|
# Corresponds to the JSON property `googleReferenceId`
|
|
# @return [String]
|
|
attr_accessor :google_reference_id
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] A list of the URLs of all InterconnectAttachments configured to
|
|
# use this Interconnect.
|
|
# Corresponds to the JSON property `interconnectAttachments`
|
|
# @return [Array<String>]
|
|
attr_accessor :interconnect_attachments
|
|
|
|
# Type of interconnect, which can take one of the following values: - PARTNER: A
|
|
# partner-managed interconnection shared between customers though a partner. -
|
|
# DEDICATED: A dedicated physical interconnection with the customer. Note that a
|
|
# value IT_PRIVATE has been deprecated in favor of DEDICATED.
|
|
# Corresponds to the JSON property `interconnectType`
|
|
# @return [String]
|
|
attr_accessor :interconnect_type
|
|
|
|
# [Output Only] Type of the resource. Always compute#interconnect for
|
|
# interconnects.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this Interconnect, which is
|
|
# essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve an Interconnect.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels for this resource. These can only be added or modified by the setLabels
|
|
# method. Each label key/value pair must comply with RFC1035. Label values may
|
|
# be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Type of link requested, which can take one of the following values: -
|
|
# LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics -
|
|
# LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this
|
|
# field indicates the speed of each of the links in the bundle, not the speed of
|
|
# the entire bundle.
|
|
# Corresponds to the JSON property `linkType`
|
|
# @return [String]
|
|
attr_accessor :link_type
|
|
|
|
# URL of the InterconnectLocation object that represents where this connection
|
|
# is to be provisioned.
|
|
# Corresponds to the JSON property `location`
|
|
# @return [String]
|
|
attr_accessor :location
|
|
|
|
# Configuration information for enabling Media Access Control security (Macsec)
|
|
# on this Interconnect between Google and your on-premises router.
|
|
# Corresponds to the JSON property `macsec`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectMacsec]
|
|
attr_accessor :macsec
|
|
|
|
# Enable or disable MACsec on this Interconnect. MACsec enablement will fail if
|
|
# the macsec object is not specified.
|
|
# Corresponds to the JSON property `macsecEnabled`
|
|
# @return [Boolean]
|
|
attr_accessor :macsec_enabled
|
|
alias_method :macsec_enabled?, :macsec_enabled
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Email address to contact the customer NOC for operations and maintenance
|
|
# notifications regarding this Interconnect. If specified, this will be used for
|
|
# notifications in addition to all other forms described, such as Stackdriver
|
|
# logs alerting and Cloud Notifications.
|
|
# Corresponds to the JSON property `nocContactEmail`
|
|
# @return [String]
|
|
attr_accessor :noc_contact_email
|
|
|
|
# [Output Only] The current status of this Interconnect's functionality, which
|
|
# can take one of the following values: - OS_ACTIVE: A valid Interconnect, which
|
|
# is turned up and is ready to use. Attachments may be provisioned on this
|
|
# Interconnect. - OS_UNPROVISIONED: An Interconnect that has not completed
|
|
# turnup. No attachments may be provisioned on this Interconnect. -
|
|
# OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal maintenance.
|
|
# No attachments may be provisioned or updated on this Interconnect.
|
|
# Corresponds to the JSON property `operationalStatus`
|
|
# @return [String]
|
|
attr_accessor :operational_status
|
|
|
|
# [Output Only] IP address configured on the customer side of the Interconnect
|
|
# link. The customer should configure this IP address during turnup when
|
|
# prompted by Google NOC. This can be used only for ping tests.
|
|
# Corresponds to the JSON property `peerIpAddress`
|
|
# @return [String]
|
|
attr_accessor :peer_ip_address
|
|
|
|
# [Output Only] Number of links actually provisioned in this interconnect.
|
|
# Corresponds to the JSON property `provisionedLinkCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :provisioned_link_count
|
|
|
|
# Target number of physical links in the link bundle, as requested by the
|
|
# customer.
|
|
# Corresponds to the JSON property `requestedLinkCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :requested_link_count
|
|
|
|
# [Output Only] Set to true if the resource satisfies the zone separation
|
|
# organization policy constraints and false otherwise. Defaults to false if the
|
|
# field is not present.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The current state of Interconnect functionality, which can take
|
|
# one of the following values: - ACTIVE: The Interconnect is valid, turned up
|
|
# and ready to use. Attachments may be provisioned on this Interconnect. -
|
|
# UNPROVISIONED: The Interconnect has not completed turnup. No attachments may
|
|
# be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is
|
|
# undergoing internal maintenance. No attachments may be provisioned or updated
|
|
# on this Interconnect.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
|
|
@circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@customer_name = args[:customer_name] if args.key?(:customer_name)
|
|
@description = args[:description] if args.key?(:description)
|
|
@expected_outages = args[:expected_outages] if args.key?(:expected_outages)
|
|
@google_ip_address = args[:google_ip_address] if args.key?(:google_ip_address)
|
|
@google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
|
|
@id = args[:id] if args.key?(:id)
|
|
@interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments)
|
|
@interconnect_type = args[:interconnect_type] if args.key?(:interconnect_type)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@link_type = args[:link_type] if args.key?(:link_type)
|
|
@location = args[:location] if args.key?(:location)
|
|
@macsec = args[:macsec] if args.key?(:macsec)
|
|
@macsec_enabled = args[:macsec_enabled] if args.key?(:macsec_enabled)
|
|
@name = args[:name] if args.key?(:name)
|
|
@noc_contact_email = args[:noc_contact_email] if args.key?(:noc_contact_email)
|
|
@operational_status = args[:operational_status] if args.key?(:operational_status)
|
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
|
@provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count)
|
|
@requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@state = args[:state] if args.key?(:state)
|
|
end
|
|
end
|
|
|
|
# Represents an Interconnect Attachment (VLAN) resource. You can use
|
|
# Interconnect attachments (VLANS) to connect your Virtual Private Cloud
|
|
# networks to your on-premises networks through an Interconnect. For more
|
|
# information, read Creating VLAN Attachments.
|
|
class InterconnectAttachment
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Determines whether this Attachment will carry packets. Not present for
|
|
# PARTNER_PROVIDER.
|
|
# Corresponds to the JSON property `adminEnabled`
|
|
# @return [Boolean]
|
|
attr_accessor :admin_enabled
|
|
alias_method :admin_enabled?, :admin_enabled
|
|
|
|
# Provisioned bandwidth capacity for the interconnect attachment. For
|
|
# attachments of type DEDICATED, the user can set the bandwidth. For attachments
|
|
# of type PARTNER, the Google Partner that is operating the interconnect must
|
|
# set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER
|
|
# and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s -
|
|
# BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M:
|
|
# 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s -
|
|
# BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/
|
|
# s
|
|
# Corresponds to the JSON property `bandwidth`
|
|
# @return [String]
|
|
attr_accessor :bandwidth
|
|
|
|
# This field is not available.
|
|
# Corresponds to the JSON property `candidateIpv6Subnets`
|
|
# @return [Array<String>]
|
|
attr_accessor :candidate_ipv6_subnets
|
|
|
|
# Up to 16 candidate prefixes that can be used to restrict the allocation of
|
|
# cloudRouterIpAddress and customerRouterIpAddress for this attachment. All
|
|
# prefixes must be within link-local address space (169.254.0.0/16) and must be /
|
|
# 29 or shorter (/28, /27, etc). Google will attempt to select an unused /29
|
|
# from the supplied candidate prefix(es). The request will fail if all possible /
|
|
# 29s are in use on Google's edge. If not supplied, Google will randomly select
|
|
# an unused /29 from all of link-local space.
|
|
# Corresponds to the JSON property `candidateSubnets`
|
|
# @return [Array<String>]
|
|
attr_accessor :candidate_subnets
|
|
|
|
# [Output Only] IPv4 address + prefix length to be configured on Cloud Router
|
|
# Interface for this interconnect attachment.
|
|
# Corresponds to the JSON property `cloudRouterIpAddress`
|
|
# @return [String]
|
|
attr_accessor :cloud_router_ip_address
|
|
|
|
# [Output Only] IPv6 address + prefix length to be configured on Cloud Router
|
|
# Interface for this interconnect attachment.
|
|
# Corresponds to the JSON property `cloudRouterIpv6Address`
|
|
# @return [String]
|
|
attr_accessor :cloud_router_ipv6_address
|
|
|
|
# This field is not available.
|
|
# Corresponds to the JSON property `cloudRouterIpv6InterfaceId`
|
|
# @return [String]
|
|
attr_accessor :cloud_router_ipv6_interface_id
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# [Output Only] IPv4 address + prefix length to be configured on the customer
|
|
# router subinterface for this interconnect attachment.
|
|
# Corresponds to the JSON property `customerRouterIpAddress`
|
|
# @return [String]
|
|
attr_accessor :customer_router_ip_address
|
|
|
|
# [Output Only] IPv6 address + prefix length to be configured on the customer
|
|
# router subinterface for this interconnect attachment.
|
|
# Corresponds to the JSON property `customerRouterIpv6Address`
|
|
# @return [String]
|
|
attr_accessor :customer_router_ipv6_address
|
|
|
|
# This field is not available.
|
|
# Corresponds to the JSON property `customerRouterIpv6InterfaceId`
|
|
# @return [String]
|
|
attr_accessor :customer_router_ipv6_interface_id
|
|
|
|
# [Output Only] Dataplane version for this InterconnectAttachment. This field is
|
|
# only present for Dataplane version 2 and higher. Absence of this field in the
|
|
# API output indicates that the Dataplane is version 1.
|
|
# Corresponds to the JSON property `dataplaneVersion`
|
|
# @return [Fixnum]
|
|
attr_accessor :dataplane_version
|
|
|
|
# An optional description of this resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Desired availability domain for the attachment. Only available for type
|
|
# PARTNER, at creation time, and can take one of the following values: -
|
|
# AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For
|
|
# improved reliability, customers should configure a pair of attachments, one
|
|
# per availability domain. The selected availability domain will be provided to
|
|
# the Partner via the pairing key, so that the provisioned circuit will lie in
|
|
# the specified domain. If not specified, the value will default to
|
|
# AVAILABILITY_DOMAIN_ANY.
|
|
# Corresponds to the JSON property `edgeAvailabilityDomain`
|
|
# @return [String]
|
|
attr_accessor :edge_availability_domain
|
|
|
|
# Indicates the user-supplied encryption option of this VLAN attachment (
|
|
# interconnectAttachment). Can only be specified at attachment creation for
|
|
# PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the
|
|
# default value, which means that the VLAN attachment carries unencrypted
|
|
# traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN
|
|
# attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that
|
|
# is encrypted by an IPsec device, such as an HA VPN gateway or third-party
|
|
# IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such
|
|
# a VLAN attachment. To use *IPsec-encrypted Cloud Interconnect*, the VLAN
|
|
# attachment must be created with this option. Not currently available publicly.
|
|
# Corresponds to the JSON property `encryption`
|
|
# @return [String]
|
|
attr_accessor :encryption
|
|
|
|
# [Output Only] Google reference ID, to be used when raising support tickets
|
|
# with Google or otherwise to debug backend connectivity issues. [Deprecated]
|
|
# This field is not used.
|
|
# Corresponds to the JSON property `googleReferenceId`
|
|
# @return [String]
|
|
attr_accessor :google_reference_id
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# URL of the underlying Interconnect object that this attachment's traffic will
|
|
# traverse through.
|
|
# Corresponds to the JSON property `interconnect`
|
|
# @return [String]
|
|
attr_accessor :interconnect
|
|
|
|
# A list of URLs of addresses that have been reserved for the VLAN attachment.
|
|
# Used only for the VLAN attachment that has the encryption option as IPSEC. The
|
|
# addresses must be regional internal IP address ranges. When creating an HA VPN
|
|
# gateway over the VLAN attachment, if the attachment is configured to use a
|
|
# regional internal IP address, then the VPN gateway's IP address is allocated
|
|
# from the IP address range specified here. For example, if the HA VPN gateway's
|
|
# interface 0 is paired to this VLAN attachment, then a regional internal IP
|
|
# address for the VPN gateway interface 0 will be allocated from the IP address
|
|
# specified for this VLAN attachment. If this field is not specified when
|
|
# creating the VLAN attachment, then later on when creating an HA VPN gateway on
|
|
# this VLAN attachment, the HA VPN gateway's IP address is allocated from the
|
|
# regional external IP address pool. Not currently available publicly.
|
|
# Corresponds to the JSON property `ipsecInternalAddresses`
|
|
# @return [Array<String>]
|
|
attr_accessor :ipsec_internal_addresses
|
|
|
|
# [Output Only] Type of the resource. Always compute#interconnectAttachment for
|
|
# interconnect attachments.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this InterconnectAttachment,
|
|
# which is essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve an InterconnectAttachment.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels for this resource. These can only be added or modified by the setLabels
|
|
# method. Each label key/value pair must comply with RFC1035. Label values may
|
|
# be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Maximum Transmission Unit (MTU), in bytes, of packets passing through this
|
|
# interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the
|
|
# value will default to 1440.
|
|
# Corresponds to the JSON property `mtu`
|
|
# @return [Fixnum]
|
|
attr_accessor :mtu
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] The current status of whether or not this interconnect
|
|
# attachment is functional, which can take one of the following values: -
|
|
# OS_ACTIVE: The attachment has been turned up and is ready to use. -
|
|
# OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is
|
|
# not complete.
|
|
# Corresponds to the JSON property `operationalStatus`
|
|
# @return [String]
|
|
attr_accessor :operational_status
|
|
|
|
# [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present
|
|
# for DEDICATED]. The opaque identifier of an PARTNER attachment used to
|
|
# initiate provisioning with a selected partner. Of the form "XXXXX/region/
|
|
# domain"
|
|
# Corresponds to the JSON property `pairingKey`
|
|
# @return [String]
|
|
attr_accessor :pairing_key
|
|
|
|
# Optional BGP ASN for the router supplied by a Layer 3 Partner if they
|
|
# configured BGP on behalf of the customer. Output only for PARTNER type, input
|
|
# only for PARTNER_PROVIDER, not available for DEDICATED.
|
|
# Corresponds to the JSON property `partnerAsn`
|
|
# @return [Fixnum]
|
|
attr_accessor :partner_asn
|
|
|
|
# Informational metadata about Partner attachments from Partners to display to
|
|
# customers. These fields are propagated from PARTNER_PROVIDER attachments to
|
|
# their corresponding PARTNER attachments.
|
|
# Corresponds to the JSON property `partnerMetadata`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectAttachmentPartnerMetadata]
|
|
attr_accessor :partner_metadata
|
|
|
|
# Information for an interconnect attachment when this belongs to an
|
|
# interconnect of type DEDICATED.
|
|
# Corresponds to the JSON property `privateInterconnectInfo`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectAttachmentPrivateInfo]
|
|
attr_accessor :private_interconnect_info
|
|
|
|
# [Output Only] URL of the region where the regional interconnect attachment
|
|
# resides. You must specify this field as part of the HTTP request URL. It is
|
|
# not settable as a field in the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# URL of the Cloud Router to be used for dynamic routing. This router must be in
|
|
# the same region as this InterconnectAttachment. The InterconnectAttachment
|
|
# will automatically connect the Interconnect to the network & region within
|
|
# which the Cloud Router is configured.
|
|
# Corresponds to the JSON property `router`
|
|
# @return [String]
|
|
attr_accessor :router
|
|
|
|
# [Output Only] Set to true if the resource satisfies the zone separation
|
|
# organization policy constraints and false otherwise. Defaults to false if the
|
|
# field is not present.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# The stack type for this interconnect attachment to identify whether the IPv6
|
|
# feature is enabled or not. If not specified, IPV4_ONLY will be used. This
|
|
# field can be both set at interconnect attachments creation and update
|
|
# interconnect attachment operations.
|
|
# Corresponds to the JSON property `stackType`
|
|
# @return [String]
|
|
attr_accessor :stack_type
|
|
|
|
# [Output Only] The current state of this attachment's functionality. Enum
|
|
# values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and
|
|
# PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER,
|
|
# PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and
|
|
# PARTNER_PROVIDER interconnect attachments. This state can take one of the
|
|
# following values: - ACTIVE: The attachment has been turned up and is ready to
|
|
# use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup
|
|
# is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that
|
|
# has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A
|
|
# PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER
|
|
# attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or
|
|
# PARTNER_PROVIDER attachment that is waiting for a customer to activate it. -
|
|
# DEFUNCT: The attachment was deleted externally and is no longer functional.
|
|
# This could be because the associated Interconnect was removed, or because the
|
|
# other side of a Partner attachment was deleted.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
# The type of interconnect attachment this is, which can take one of the
|
|
# following values: - DEDICATED: an attachment to a Dedicated Interconnect. -
|
|
# PARTNER: an attachment to a Partner Interconnect, created by the customer. -
|
|
# PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the
|
|
# partner.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only
|
|
# specified at creation time.
|
|
# Corresponds to the JSON property `vlanTag8021q`
|
|
# @return [Fixnum]
|
|
attr_accessor :vlan_tag8021q
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
|
|
@bandwidth = args[:bandwidth] if args.key?(:bandwidth)
|
|
@candidate_ipv6_subnets = args[:candidate_ipv6_subnets] if args.key?(:candidate_ipv6_subnets)
|
|
@candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
|
|
@cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
|
|
@cloud_router_ipv6_address = args[:cloud_router_ipv6_address] if args.key?(:cloud_router_ipv6_address)
|
|
@cloud_router_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
|
|
@customer_router_ipv6_address = args[:customer_router_ipv6_address] if args.key?(:customer_router_ipv6_address)
|
|
@customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id)
|
|
@dataplane_version = args[:dataplane_version] if args.key?(:dataplane_version)
|
|
@description = args[:description] if args.key?(:description)
|
|
@edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
|
|
@encryption = args[:encryption] if args.key?(:encryption)
|
|
@google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
|
|
@id = args[:id] if args.key?(:id)
|
|
@interconnect = args[:interconnect] if args.key?(:interconnect)
|
|
@ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@mtu = args[:mtu] if args.key?(:mtu)
|
|
@name = args[:name] if args.key?(:name)
|
|
@operational_status = args[:operational_status] if args.key?(:operational_status)
|
|
@pairing_key = args[:pairing_key] if args.key?(:pairing_key)
|
|
@partner_asn = args[:partner_asn] if args.key?(:partner_asn)
|
|
@partner_metadata = args[:partner_metadata] if args.key?(:partner_metadata)
|
|
@private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
|
|
@region = args[:region] if args.key?(:region)
|
|
@router = args[:router] if args.key?(:router)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
|
@state = args[:state] if args.key?(:state)
|
|
@type = args[:type] if args.key?(:type)
|
|
@vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InterconnectAttachmentAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InterconnectAttachmentsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::InterconnectAttachmentsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#
|
|
# interconnectAttachmentAggregatedList for aggregated lists of interconnect
|
|
# attachments.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectAttachmentAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectAttachmentAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Response to the list request, and contains a list of interconnect attachments.
|
|
class InterconnectAttachmentList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InterconnectAttachment resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectAttachment>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#interconnectAttachmentList for
|
|
# lists of interconnect attachments.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectAttachmentList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectAttachmentList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Informational metadata about Partner attachments from Partners to display to
|
|
# customers. These fields are propagated from PARTNER_PROVIDER attachments to
|
|
# their corresponding PARTNER attachments.
|
|
class InterconnectAttachmentPartnerMetadata
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Plain text name of the Interconnect this attachment is connected to, as
|
|
# displayed in the Partner's portal. For instance "Chicago 1". This value may be
|
|
# validated to match approved Partner values.
|
|
# Corresponds to the JSON property `interconnectName`
|
|
# @return [String]
|
|
attr_accessor :interconnect_name
|
|
|
|
# Plain text name of the Partner providing this attachment. This value may be
|
|
# validated to match approved Partner values.
|
|
# Corresponds to the JSON property `partnerName`
|
|
# @return [String]
|
|
attr_accessor :partner_name
|
|
|
|
# URL of the Partner's portal for this Attachment. Partners may customise this
|
|
# to be a deep link to the specific resource on the Partner portal. This value
|
|
# may be validated to match approved Partner values.
|
|
# Corresponds to the JSON property `portalUrl`
|
|
# @return [String]
|
|
attr_accessor :portal_url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@interconnect_name = args[:interconnect_name] if args.key?(:interconnect_name)
|
|
@partner_name = args[:partner_name] if args.key?(:partner_name)
|
|
@portal_url = args[:portal_url] if args.key?(:portal_url)
|
|
end
|
|
end
|
|
|
|
# Information for an interconnect attachment when this belongs to an
|
|
# interconnect of type DEDICATED.
|
|
class InterconnectAttachmentPrivateInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] 802.1q encapsulation tag to be used for traffic between Google
|
|
# and the customer, going to and from this network and region.
|
|
# Corresponds to the JSON property `tag8021q`
|
|
# @return [Fixnum]
|
|
attr_accessor :tag8021q
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@tag8021q = args[:tag8021q] if args.key?(:tag8021q)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InterconnectAttachmentsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of interconnect attachments contained in this scope.
|
|
# Corresponds to the JSON property `interconnectAttachments`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectAttachment>]
|
|
attr_accessor :interconnect_attachments
|
|
|
|
# Informational warning which replaces the list of addresses when the list is
|
|
# empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectAttachmentsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of addresses when the list is
|
|
# empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectAttachmentsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Describes a single physical circuit between the Customer and Google.
|
|
# CircuitInfo objects are created by Google, so all fields are output only.
|
|
class InterconnectCircuitInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Customer-side demarc ID for this circuit.
|
|
# Corresponds to the JSON property `customerDemarcId`
|
|
# @return [String]
|
|
attr_accessor :customer_demarc_id
|
|
|
|
# Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
|
|
# Corresponds to the JSON property `googleCircuitId`
|
|
# @return [String]
|
|
attr_accessor :google_circuit_id
|
|
|
|
# Google-side demarc ID for this circuit. Assigned at circuit turn-up and
|
|
# provided by Google to the customer in the LOA.
|
|
# Corresponds to the JSON property `googleDemarcId`
|
|
# @return [String]
|
|
attr_accessor :google_demarc_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@customer_demarc_id = args[:customer_demarc_id] if args.key?(:customer_demarc_id)
|
|
@google_circuit_id = args[:google_circuit_id] if args.key?(:google_circuit_id)
|
|
@google_demarc_id = args[:google_demarc_id] if args.key?(:google_demarc_id)
|
|
end
|
|
end
|
|
|
|
# Diagnostics information about interconnect, contains detailed and current
|
|
# technical information about Google's side of the connection.
|
|
class InterconnectDiagnostics
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of InterconnectDiagnostics.ARPEntry objects, describing individual
|
|
# neighbors currently seen by the Google router in the ARP cache for the
|
|
# Interconnect. This will be empty when the Interconnect is not bundled.
|
|
# Corresponds to the JSON property `arpCaches`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectDiagnosticsArpEntry>]
|
|
attr_accessor :arp_caches
|
|
|
|
# A list of InterconnectDiagnostics.LinkStatus objects, describing the status
|
|
# for each link on the Interconnect.
|
|
# Corresponds to the JSON property `links`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectDiagnosticsLinkStatus>]
|
|
attr_accessor :links
|
|
|
|
# The MAC address of the Interconnect's bundle interface.
|
|
# Corresponds to the JSON property `macAddress`
|
|
# @return [String]
|
|
attr_accessor :mac_address
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@arp_caches = args[:arp_caches] if args.key?(:arp_caches)
|
|
@links = args[:links] if args.key?(:links)
|
|
@mac_address = args[:mac_address] if args.key?(:mac_address)
|
|
end
|
|
end
|
|
|
|
# Describing the ARP neighbor entries seen on this link
|
|
class InterconnectDiagnosticsArpEntry
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IP address of this ARP neighbor.
|
|
# Corresponds to the JSON property `ipAddress`
|
|
# @return [String]
|
|
attr_accessor :ip_address
|
|
|
|
# The MAC address of this ARP neighbor.
|
|
# Corresponds to the JSON property `macAddress`
|
|
# @return [String]
|
|
attr_accessor :mac_address
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
@mac_address = args[:mac_address] if args.key?(:mac_address)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InterconnectDiagnosticsLinkLacpStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# System ID of the port on Google's side of the LACP exchange.
|
|
# Corresponds to the JSON property `googleSystemId`
|
|
# @return [String]
|
|
attr_accessor :google_system_id
|
|
|
|
# System ID of the port on the neighbor's side of the LACP exchange.
|
|
# Corresponds to the JSON property `neighborSystemId`
|
|
# @return [String]
|
|
attr_accessor :neighbor_system_id
|
|
|
|
# The state of a LACP link, which can take one of the following values: - ACTIVE:
|
|
# The link is configured and active within the bundle. - DETACHED: The link is
|
|
# not configured within the bundle. This means that the rest of the object
|
|
# should be empty.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@google_system_id = args[:google_system_id] if args.key?(:google_system_id)
|
|
@neighbor_system_id = args[:neighbor_system_id] if args.key?(:neighbor_system_id)
|
|
@state = args[:state] if args.key?(:state)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InterconnectDiagnosticsLinkOpticalPower
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The status of the current value when compared to the warning and alarm levels
|
|
# for the receiving or transmitting transceiver. Possible states include: - OK:
|
|
# The value has not crossed a warning threshold. - LOW_WARNING: The value has
|
|
# crossed below the low warning threshold. - HIGH_WARNING: The value has crossed
|
|
# above the high warning threshold. - LOW_ALARM: The value has crossed below the
|
|
# low alarm threshold. - HIGH_ALARM: The value has crossed above the high alarm
|
|
# threshold.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
# Value of the current receiving or transmitting optical power, read in dBm.
|
|
# Take a known good optical value, give it a 10% margin and trigger warnings
|
|
# relative to that value. In general, a -7dBm warning and a -11dBm alarm are
|
|
# good optical value estimates for most links.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [Float]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@state = args[:state] if args.key?(:state)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InterconnectDiagnosticsLinkStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP
|
|
# neighbor entries seen on this link. This will be empty if the link is bundled
|
|
# Corresponds to the JSON property `arpCaches`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectDiagnosticsArpEntry>]
|
|
attr_accessor :arp_caches
|
|
|
|
# The unique ID for this link assigned during turn up by Google.
|
|
# Corresponds to the JSON property `circuitId`
|
|
# @return [String]
|
|
attr_accessor :circuit_id
|
|
|
|
# The Demarc address assigned by Google and provided in the LoA.
|
|
# Corresponds to the JSON property `googleDemarc`
|
|
# @return [String]
|
|
attr_accessor :google_demarc
|
|
|
|
#
|
|
# Corresponds to the JSON property `lacpStatus`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectDiagnosticsLinkLacpStatus]
|
|
attr_accessor :lacp_status
|
|
|
|
# Describes the status of MACsec encryption on the link.
|
|
# Corresponds to the JSON property `macsec`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectDiagnosticsMacsecStatus]
|
|
attr_accessor :macsec
|
|
|
|
# An InterconnectDiagnostics.LinkOpticalPower object, describing the current
|
|
# value and status of the received light level.
|
|
# Corresponds to the JSON property `receivingOpticalPower`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectDiagnosticsLinkOpticalPower]
|
|
attr_accessor :receiving_optical_power
|
|
|
|
# An InterconnectDiagnostics.LinkOpticalPower object, describing the current
|
|
# value and status of the transmitted light level.
|
|
# Corresponds to the JSON property `transmittingOpticalPower`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectDiagnosticsLinkOpticalPower]
|
|
attr_accessor :transmitting_optical_power
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@arp_caches = args[:arp_caches] if args.key?(:arp_caches)
|
|
@circuit_id = args[:circuit_id] if args.key?(:circuit_id)
|
|
@google_demarc = args[:google_demarc] if args.key?(:google_demarc)
|
|
@lacp_status = args[:lacp_status] if args.key?(:lacp_status)
|
|
@macsec = args[:macsec] if args.key?(:macsec)
|
|
@receiving_optical_power = args[:receiving_optical_power] if args.key?(:receiving_optical_power)
|
|
@transmitting_optical_power = args[:transmitting_optical_power] if args.key?(:transmitting_optical_power)
|
|
end
|
|
end
|
|
|
|
# Describes the status of MACsec encryption on the link.
|
|
class InterconnectDiagnosticsMacsecStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Indicates the Connectivity Association Key Name (CKN) currently being used if
|
|
# MACsec is operational.
|
|
# Corresponds to the JSON property `ckn`
|
|
# @return [String]
|
|
attr_accessor :ckn
|
|
|
|
# Indicates whether or not MACsec is operational on this link.
|
|
# Corresponds to the JSON property `operational`
|
|
# @return [Boolean]
|
|
attr_accessor :operational
|
|
alias_method :operational?, :operational
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ckn = args[:ckn] if args.key?(:ckn)
|
|
@operational = args[:operational] if args.key?(:operational)
|
|
end
|
|
end
|
|
|
|
# Response to the list request, and contains a list of interconnects.
|
|
class InterconnectList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Interconnect resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Interconnect>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#interconnectList for lists of
|
|
# interconnects.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents an Interconnect Attachment (VLAN) Location resource. You can use
|
|
# this resource to find location details about an Interconnect attachment (VLAN).
|
|
# For more information about interconnect attachments, read Creating VLAN
|
|
# Attachments.
|
|
class InterconnectLocation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The postal address of the Point of Presence, each line in the
|
|
# address is separated by a newline character.
|
|
# Corresponds to the JSON property `address`
|
|
# @return [String]
|
|
attr_accessor :address
|
|
|
|
# [Output Only] Availability zone for this InterconnectLocation. Within a
|
|
# metropolitan area (metro), maintenance will not be simultaneously scheduled in
|
|
# more than one availability zone. Example: "zone1" or "zone2".
|
|
# Corresponds to the JSON property `availabilityZone`
|
|
# @return [String]
|
|
attr_accessor :availability_zone
|
|
|
|
# [Output Only] Metropolitan area designator that indicates which city an
|
|
# interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands".
|
|
# Corresponds to the JSON property `city`
|
|
# @return [String]
|
|
attr_accessor :city
|
|
|
|
# [Output Only] Continent for this location, which can take one of the following
|
|
# values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA
|
|
# Corresponds to the JSON property `continent`
|
|
# @return [String]
|
|
attr_accessor :continent
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# [Output Only] An optional description of the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The name of the provider for this facility (e.g., EQUINIX).
|
|
# Corresponds to the JSON property `facilityProvider`
|
|
# @return [String]
|
|
attr_accessor :facility_provider
|
|
|
|
# [Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-
|
|
# DC1).
|
|
# Corresponds to the JSON property `facilityProviderFacilityId`
|
|
# @return [String]
|
|
attr_accessor :facility_provider_facility_id
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#interconnectLocation for
|
|
# interconnect locations.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Name of the resource.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] The peeringdb identifier for this facility (corresponding with a
|
|
# netfac type in peeringdb).
|
|
# Corresponds to the JSON property `peeringdbFacilityId`
|
|
# @return [String]
|
|
attr_accessor :peeringdb_facility_id
|
|
|
|
# [Output Only] A list of InterconnectLocation.RegionInfo objects, that describe
|
|
# parameters pertaining to the relation between this InterconnectLocation and
|
|
# various Google Cloud regions.
|
|
# Corresponds to the JSON property `regionInfos`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectLocationRegionInfo>]
|
|
attr_accessor :region_infos
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The status of this InterconnectLocation, which can take one of
|
|
# the following values: - CLOSED: The InterconnectLocation is closed and is
|
|
# unavailable for provisioning new Interconnects. - AVAILABLE: The
|
|
# InterconnectLocation is available for provisioning new Interconnects.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] Set to true for locations that support physical zone separation.
|
|
# Defaults to false if the field is not present.
|
|
# Corresponds to the JSON property `supportsPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :supports_pzs
|
|
alias_method :supports_pzs?, :supports_pzs
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@address = args[:address] if args.key?(:address)
|
|
@availability_zone = args[:availability_zone] if args.key?(:availability_zone)
|
|
@city = args[:city] if args.key?(:city)
|
|
@continent = args[:continent] if args.key?(:continent)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@facility_provider = args[:facility_provider] if args.key?(:facility_provider)
|
|
@facility_provider_facility_id = args[:facility_provider_facility_id] if args.key?(:facility_provider_facility_id)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@peeringdb_facility_id = args[:peeringdb_facility_id] if args.key?(:peeringdb_facility_id)
|
|
@region_infos = args[:region_infos] if args.key?(:region_infos)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@status = args[:status] if args.key?(:status)
|
|
@supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
|
|
end
|
|
end
|
|
|
|
# Response to the list request, and contains a list of interconnect locations.
|
|
class InterconnectLocationList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InterconnectLocation resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectLocation>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#interconnectLocationList for
|
|
# lists of interconnect locations.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectLocationList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectLocationList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Information about any potential InterconnectAttachments between an
|
|
# Interconnect at a specific InterconnectLocation, and a specific Cloud Region.
|
|
class InterconnectLocationRegionInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Expected round-trip time in milliseconds, from this InterconnectLocation to a
|
|
# VM in this region.
|
|
# Corresponds to the JSON property `expectedRttMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :expected_rtt_ms
|
|
|
|
# Identifies the network presence of this location.
|
|
# Corresponds to the JSON property `locationPresence`
|
|
# @return [String]
|
|
attr_accessor :location_presence
|
|
|
|
# URL for the region of this location.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@expected_rtt_ms = args[:expected_rtt_ms] if args.key?(:expected_rtt_ms)
|
|
@location_presence = args[:location_presence] if args.key?(:location_presence)
|
|
@region = args[:region] if args.key?(:region)
|
|
end
|
|
end
|
|
|
|
# Configuration information for enabling Media Access Control security (Macsec)
|
|
# on this Interconnect between Google and your on-premises router.
|
|
class InterconnectMacsec
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If set to true, the Interconnect will be configured with a should-secure
|
|
# MACsec security policy, that allows the Google router to fallback to cleartext
|
|
# traffic if the MKA session cannot be established. By default, the Interconnect
|
|
# will be configured with a must-secure security policy that drops all traffic
|
|
# if the MKA session cannot be established with your router.
|
|
# Corresponds to the JSON property `failOpen`
|
|
# @return [Boolean]
|
|
attr_accessor :fail_open
|
|
alias_method :fail_open?, :fail_open
|
|
|
|
# Required. A keychain placeholder describing a set of named key objects along
|
|
# with their start times. A MACsec CKN/CAK will be generated for each key in the
|
|
# key chain. Google router will automatically pick the key with the most recent
|
|
# startTime when establishing or re-establishing a MACsec secure link.
|
|
# Corresponds to the JSON property `preSharedKeys`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectMacsecPreSharedKey>]
|
|
attr_accessor :pre_shared_keys
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@fail_open = args[:fail_open] if args.key?(:fail_open)
|
|
@pre_shared_keys = args[:pre_shared_keys] if args.key?(:pre_shared_keys)
|
|
end
|
|
end
|
|
|
|
# MACsec configuration information for the Interconnect. Contains the generated
|
|
# Connectivity Association Key Name (CKN) and the key (CAK) for this
|
|
# Interconnect.
|
|
class InterconnectMacsecConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A keychain placeholder describing a set of named key objects along with their
|
|
# start times. A MACsec CKN/CAK will be generated for each key in the key chain.
|
|
# Google router will automatically pick the key with the most recent startTime
|
|
# when establishing or re-establishing a MACsec secure link.
|
|
# Corresponds to the JSON property `preSharedKeys`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InterconnectMacsecConfigPreSharedKey>]
|
|
attr_accessor :pre_shared_keys
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@pre_shared_keys = args[:pre_shared_keys] if args.key?(:pre_shared_keys)
|
|
end
|
|
end
|
|
|
|
# Describes a pre-shared key used to setup MACsec in static connectivity
|
|
# association key (CAK) mode.
|
|
class InterconnectMacsecConfigPreSharedKey
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An auto-generated Connectivity Association Key (CAK) for this key.
|
|
# Corresponds to the JSON property `cak`
|
|
# @return [String]
|
|
attr_accessor :cak
|
|
|
|
# An auto-generated Connectivity Association Key Name (CKN) for this key.
|
|
# Corresponds to the JSON property `ckn`
|
|
# @return [String]
|
|
attr_accessor :ckn
|
|
|
|
# User provided name for this pre-shared key.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# User provided timestamp on or after which this key is valid.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@cak = args[:cak] if args.key?(:cak)
|
|
@ckn = args[:ckn] if args.key?(:ckn)
|
|
@name = args[:name] if args.key?(:name)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
end
|
|
end
|
|
|
|
# Describes a pre-shared key used to setup MACsec in static connectivity
|
|
# association key (CAK) mode.
|
|
class InterconnectMacsecPreSharedKey
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Required. A name for this pre-shared key. The name must be 1-63 characters
|
|
# long, and comply with RFC1035. Specifically, the name must be 1-63 characters
|
|
# long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means
|
|
# the first character must be a lowercase letter, and all following characters
|
|
# must be a dash, lowercase letter, or digit, except the last character, which
|
|
# cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# A RFC3339 timestamp on or after which the key is valid. startTime can be in
|
|
# the future. If the keychain has a single key, startTime can be omitted. If the
|
|
# keychain has multiple keys, startTime is mandatory for each key. The start
|
|
# times of keys must be in increasing order. The start times of two consecutive
|
|
# keys must be at least 6 hours apart.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
end
|
|
end
|
|
|
|
# Description of a planned outage on this Interconnect.
|
|
class InterconnectOutageNotification
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If issue_type is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that
|
|
# will be affected.
|
|
# Corresponds to the JSON property `affectedCircuits`
|
|
# @return [Array<String>]
|
|
attr_accessor :affected_circuits
|
|
|
|
# A description about the purpose of the outage.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Scheduled end time for the outage (milliseconds since Unix epoch).
|
|
# Corresponds to the JSON property `endTime`
|
|
# @return [Fixnum]
|
|
attr_accessor :end_time
|
|
|
|
# Form this outage is expected to take, which can take one of the following
|
|
# values: - OUTAGE: The Interconnect may be completely out of service for some
|
|
# or all of the specified window. - PARTIAL_OUTAGE: Some circuits comprising the
|
|
# Interconnect as a whole should remain up, but with reduced bandwidth. Note
|
|
# that the versions of this enum prefixed with "IT_" have been deprecated in
|
|
# favor of the unprefixed values.
|
|
# Corresponds to the JSON property `issueType`
|
|
# @return [String]
|
|
attr_accessor :issue_type
|
|
|
|
# Unique identifier for this outage notification.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The party that generated this notification, which can take the following value:
|
|
# - GOOGLE: this notification as generated by Google. Note that the value of
|
|
# NSRC_GOOGLE has been deprecated in favor of GOOGLE.
|
|
# Corresponds to the JSON property `source`
|
|
# @return [String]
|
|
attr_accessor :source
|
|
|
|
# Scheduled start time for the outage (milliseconds since Unix epoch).
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [Fixnum]
|
|
attr_accessor :start_time
|
|
|
|
# State of this notification, which can take one of the following values: -
|
|
# ACTIVE: This outage notification is active. The event could be in the past,
|
|
# present, or future. See start_time and end_time for scheduling. - CANCELLED:
|
|
# The outage associated with this notification was cancelled before the outage
|
|
# was due to start. - COMPLETED: The outage associated with this notification is
|
|
# complete. Note that the versions of this enum prefixed with "NS_" have been
|
|
# deprecated in favor of the unprefixed values.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@affected_circuits = args[:affected_circuits] if args.key?(:affected_circuits)
|
|
@description = args[:description] if args.key?(:description)
|
|
@end_time = args[:end_time] if args.key?(:end_time)
|
|
@issue_type = args[:issue_type] if args.key?(:issue_type)
|
|
@name = args[:name] if args.key?(:name)
|
|
@source = args[:source] if args.key?(:source)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
@state = args[:state] if args.key?(:state)
|
|
end
|
|
end
|
|
|
|
# Response for the InterconnectsGetDiagnosticsRequest.
|
|
class InterconnectsGetDiagnosticsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Diagnostics information about interconnect, contains detailed and current
|
|
# technical information about Google's side of the connection.
|
|
# Corresponds to the JSON property `result`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectDiagnostics]
|
|
attr_accessor :result
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@result = args[:result] if args.key?(:result)
|
|
end
|
|
end
|
|
|
|
# Response for the InterconnectsGetMacsecConfigRequest.
|
|
class InterconnectsGetMacsecConfigResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# end_interface: MixerGetResponseWithEtagBuilder
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# MACsec configuration information for the Interconnect. Contains the generated
|
|
# Connectivity Association Key Name (CKN) and the key (CAK) for this
|
|
# Interconnect.
|
|
# Corresponds to the JSON property `result`
|
|
# @return [Google::Apis::ComputeAlpha::InterconnectMacsecConfig]
|
|
attr_accessor :result
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@result = args[:result] if args.key?(:result)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InternalIpAddress
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# IP CIDR address or range.
|
|
# Corresponds to the JSON property `cidr`
|
|
# @return [String]
|
|
attr_accessor :cidr
|
|
|
|
# The owner of the internal IP address.
|
|
# Corresponds to the JSON property `owner`
|
|
# @return [String]
|
|
attr_accessor :owner
|
|
|
|
# The purpose of the internal IP address if applicable.
|
|
# Corresponds to the JSON property `purpose`
|
|
# @return [String]
|
|
attr_accessor :purpose
|
|
|
|
# The region of the internal IP address if applicable.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# The type of the internal IP address.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@cidr = args[:cidr] if args.key?(:cidr)
|
|
@owner = args[:owner] if args.key?(:owner)
|
|
@purpose = args[:purpose] if args.key?(:purpose)
|
|
@region = args[:region] if args.key?(:region)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class InternalIpOwner
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# IP CIDR range being owned.
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
# URLs of the IP owners of the IP CIDR range.
|
|
# Corresponds to the JSON property `owners`
|
|
# @return [Array<String>]
|
|
attr_accessor :owners
|
|
|
|
# Whether this IP CIDR range is reserved for system use.
|
|
# Corresponds to the JSON property `systemOwned`
|
|
# @return [Boolean]
|
|
attr_accessor :system_owned
|
|
alias_method :system_owned?, :system_owned
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
@owners = args[:owners] if args.key?(:owners)
|
|
@system_owned = args[:system_owned] if args.key?(:system_owned)
|
|
end
|
|
end
|
|
|
|
#
|
|
class IpAddressesList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InternalIpAddress resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InternalIpAddress>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#ipAddressesList for IP
|
|
# addresses lists.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::IpAddressesList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::IpAddressesList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of IP owners.
|
|
class IpOwnerList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InternalIpOwner resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InternalIpOwner>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#ipOwnerList for lists of IP
|
|
# owners.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::IpOwnerList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::IpOwnerList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# [Deprecated] JWT configuration for origin authentication. JWT configuration
|
|
# for origin authentication.
|
|
class Jwt
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A JWT containing any of these audiences will be accepted. The service name
|
|
# will be accepted if audiences is empty. Examples: bookstore_android.apps.
|
|
# googleusercontent.com, bookstore_web.apps.googleusercontent.com
|
|
# Corresponds to the JSON property `audiences`
|
|
# @return [Array<String>]
|
|
attr_accessor :audiences
|
|
|
|
# Identifies the issuer that issued the JWT, which is usually a URL or an email
|
|
# address. Examples: https://securetoken.google.com, 1234567-compute@developer.
|
|
# gserviceaccount.com
|
|
# Corresponds to the JSON property `issuer`
|
|
# @return [String]
|
|
attr_accessor :issuer
|
|
|
|
# The provider's public key set to validate the signature of the JWT.
|
|
# Corresponds to the JSON property `jwksPublicKeys`
|
|
# @return [String]
|
|
attr_accessor :jwks_public_keys
|
|
|
|
# jwt_headers and jwt_params define where to extract the JWT from an HTTP
|
|
# request. If no explicit location is specified, the following default locations
|
|
# are tried in order: 1. The Authorization header using the Bearer schema. See `
|
|
# here `_. Example: Authorization: Bearer . 2. `access_token` query parameter.
|
|
# See `this `_ Multiple JWTs can be verified for a request. Each JWT has to be
|
|
# extracted from the locations its issuer specified or from the default
|
|
# locations. This field is set if JWT is sent in a request header. This field
|
|
# specifies the header name. For example, if `header=x-goog-iap-jwt-assertion`,
|
|
# the header format will be x-goog-iap-jwt-assertion: .
|
|
# Corresponds to the JSON property `jwtHeaders`
|
|
# @return [Array<Google::Apis::ComputeAlpha::JwtHeader>]
|
|
attr_accessor :jwt_headers
|
|
|
|
# This field is set if JWT is sent in a query parameter. This field specifies
|
|
# the query parameter name. For example, if jwt_params[0] is jwt_token, the JWT
|
|
# format in the query parameter is /path?jwt_token=.
|
|
# Corresponds to the JSON property `jwtParams`
|
|
# @return [Array<String>]
|
|
attr_accessor :jwt_params
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@audiences = args[:audiences] if args.key?(:audiences)
|
|
@issuer = args[:issuer] if args.key?(:issuer)
|
|
@jwks_public_keys = args[:jwks_public_keys] if args.key?(:jwks_public_keys)
|
|
@jwt_headers = args[:jwt_headers] if args.key?(:jwt_headers)
|
|
@jwt_params = args[:jwt_params] if args.key?(:jwt_params)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] This message specifies a header location to extract JWT token.
|
|
# This message specifies a header location to extract JWT token.
|
|
class JwtHeader
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The HTTP header name.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The value prefix. The value format is "value_prefix" For example, for "
|
|
# Authorization: Bearer ", value_prefix="Bearer " with a space at the end.
|
|
# Corresponds to the JSON property `valuePrefix`
|
|
# @return [String]
|
|
attr_accessor :value_prefix
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@value_prefix = args[:value_prefix] if args.key?(:value_prefix)
|
|
end
|
|
end
|
|
|
|
# Represents a License resource. A License represents billing and aggregate
|
|
# usage data for public and marketplace images. *Caution* This resource is
|
|
# intended for use only by third-party partners who are creating Cloud
|
|
# Marketplace images.
|
|
class License
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Deprecated. This field no longer reflects whether a license
|
|
# charges a usage fee.
|
|
# Corresponds to the JSON property `chargesUseFee`
|
|
# @return [Boolean]
|
|
attr_accessor :charges_use_fee
|
|
alias_method :charges_use_fee?, :charges_use_fee
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional textual description of the resource; provided by the client when
|
|
# the resource is created.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of resource. Always compute#license for licenses.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] The unique code used to attach this license to images, snapshots,
|
|
# and disks.
|
|
# Corresponds to the JSON property `licenseCode`
|
|
# @return [Fixnum]
|
|
attr_accessor :license_code
|
|
|
|
# Name of the resource. The name must be 1-63 characters long and comply with
|
|
# RFC1035.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
#
|
|
# Corresponds to the JSON property `resourceRequirements`
|
|
# @return [Google::Apis::ComputeAlpha::LicenseResourceRequirements]
|
|
attr_accessor :resource_requirements
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# If false, licenses will not be copied from the source resource when creating
|
|
# an image from a disk, disk from snapshot, or snapshot from disk.
|
|
# Corresponds to the JSON property `transferable`
|
|
# @return [Boolean]
|
|
attr_accessor :transferable
|
|
alias_method :transferable?, :transferable
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@charges_use_fee = args[:charges_use_fee] if args.key?(:charges_use_fee)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@license_code = args[:license_code] if args.key?(:license_code)
|
|
@name = args[:name] if args.key?(:name)
|
|
@resource_requirements = args[:resource_requirements] if args.key?(:resource_requirements)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@transferable = args[:transferable] if args.key?(:transferable)
|
|
end
|
|
end
|
|
|
|
# Represents a License Code resource. A License Code is a unique identifier used
|
|
# to represent a license resource. *Caution* This resource is intended for use
|
|
# only by third-party partners who are creating Cloud Marketplace images.
|
|
class LicenseCode
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# [Output Only] Description of this License Code.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of resource. Always compute#licenseCode for licenses.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] URL and description aliases of Licenses with the same License
|
|
# Code.
|
|
# Corresponds to the JSON property `licenseAlias`
|
|
# @return [Array<Google::Apis::ComputeAlpha::LicenseCodeLicenseAlias>]
|
|
attr_accessor :license_alias
|
|
|
|
# [Output Only] Name of the resource. The name is 1-20 characters long and must
|
|
# be a valid 64 bit integer.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Current state of this License Code.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
# [Output Only] If true, the license will remain attached when creating images
|
|
# or snapshots from disks. Otherwise, the license is not transferred.
|
|
# Corresponds to the JSON property `transferable`
|
|
# @return [Boolean]
|
|
attr_accessor :transferable
|
|
alias_method :transferable?, :transferable
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@license_alias = args[:license_alias] if args.key?(:license_alias)
|
|
@name = args[:name] if args.key?(:name)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@state = args[:state] if args.key?(:state)
|
|
@transferable = args[:transferable] if args.key?(:transferable)
|
|
end
|
|
end
|
|
|
|
#
|
|
class LicenseCodeLicenseAlias
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Description of this License Code.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] URL of license corresponding to this License Code.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@description = args[:description] if args.key?(:description)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
end
|
|
end
|
|
|
|
# Commitment for a particular license resource.
|
|
class LicenseResourceCommitment
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The number of licenses purchased.
|
|
# Corresponds to the JSON property `amount`
|
|
# @return [Fixnum]
|
|
attr_accessor :amount
|
|
|
|
# Specifies the core range of the instance for which this license applies.
|
|
# Corresponds to the JSON property `coresPerLicense`
|
|
# @return [String]
|
|
attr_accessor :cores_per_license
|
|
|
|
# Any applicable license URI.
|
|
# Corresponds to the JSON property `license`
|
|
# @return [String]
|
|
attr_accessor :license
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@amount = args[:amount] if args.key?(:amount)
|
|
@cores_per_license = args[:cores_per_license] if args.key?(:cores_per_license)
|
|
@license = args[:license] if args.key?(:license)
|
|
end
|
|
end
|
|
|
|
#
|
|
class LicenseResourceRequirements
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Minimum number of guest cpus required to use the Instance. Enforced at
|
|
# Instance creation and Instance start.
|
|
# Corresponds to the JSON property `minGuestCpuCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_guest_cpu_count
|
|
|
|
# Minimum memory required to use the Instance. Enforced at Instance creation and
|
|
# Instance start.
|
|
# Corresponds to the JSON property `minMemoryMb`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_memory_mb
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@min_guest_cpu_count = args[:min_guest_cpu_count] if args.key?(:min_guest_cpu_count)
|
|
@min_memory_mb = args[:min_memory_mb] if args.key?(:min_memory_mb)
|
|
end
|
|
end
|
|
|
|
#
|
|
class LicensesListResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of License resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::License>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::LicensesListResponse::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::LicensesListResponse::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class LocalDisk
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies the number of such disks.
|
|
# Corresponds to the JSON property `diskCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :disk_count
|
|
|
|
# Specifies the size of the disk in base-2 GB.
|
|
# Corresponds to the JSON property `diskSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :disk_size_gb
|
|
|
|
# Specifies the desired disk type on the node. This disk type must be a local
|
|
# storage type (e.g.: local-ssd). Note that for nodeTemplates, this should be
|
|
# the name of the disk type and not its URL.
|
|
# Corresponds to the JSON property `diskType`
|
|
# @return [String]
|
|
attr_accessor :disk_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disk_count = args[:disk_count] if args.key?(:disk_count)
|
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
|
end
|
|
end
|
|
|
|
# Configuration for location policy among multiple possible locations (e.g.
|
|
# preferences for zone selection among zones in a single region).
|
|
class LocationPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Location configurations mapped by location name. Currently only zone names are
|
|
# supported and must be represented as valid internal URLs, such as zones/us-
|
|
# central1-a.
|
|
# Corresponds to the JSON property `locations`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::LocationPolicyLocation>]
|
|
attr_accessor :locations
|
|
|
|
# Strategy for distributing VMs across zones in a region.
|
|
# Corresponds to the JSON property `targetShape`
|
|
# @return [String]
|
|
attr_accessor :target_shape
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@locations = args[:locations] if args.key?(:locations)
|
|
@target_shape = args[:target_shape] if args.key?(:target_shape)
|
|
end
|
|
end
|
|
|
|
#
|
|
class LocationPolicyLocation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Per-zone constraints on location policy for this zone.
|
|
# Corresponds to the JSON property `constraints`
|
|
# @return [Google::Apis::ComputeAlpha::LocationPolicyLocationConstraints]
|
|
attr_accessor :constraints
|
|
|
|
# Preference for a given location.
|
|
# Corresponds to the JSON property `preference`
|
|
# @return [String]
|
|
attr_accessor :preference
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@constraints = args[:constraints] if args.key?(:constraints)
|
|
@preference = args[:preference] if args.key?(:preference)
|
|
end
|
|
end
|
|
|
|
# Per-zone constraints on location policy for this zone.
|
|
class LocationPolicyLocationConstraints
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Maximum number of items that are allowed to be placed in this zone. The value
|
|
# must be non-negative.
|
|
# Corresponds to the JSON property `maxCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_count
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@max_count = args[:max_count] if args.key?(:max_count)
|
|
end
|
|
end
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
class LogConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `cloudAudit`
|
|
# @return [Google::Apis::ComputeAlpha::LogConfigCloudAuditOptions]
|
|
attr_accessor :cloud_audit
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `counter`
|
|
# @return [Google::Apis::ComputeAlpha::LogConfigCounterOptions]
|
|
attr_accessor :counter
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `dataAccess`
|
|
# @return [Google::Apis::ComputeAlpha::LogConfigDataAccessOptions]
|
|
attr_accessor :data_access
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@cloud_audit = args[:cloud_audit] if args.key?(:cloud_audit)
|
|
@counter = args[:counter] if args.key?(:counter)
|
|
@data_access = args[:data_access] if args.key?(:data_access)
|
|
end
|
|
end
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
class LogConfigCloudAuditOptions
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `authorizationLoggingOptions`
|
|
# @return [Google::Apis::ComputeAlpha::AuthorizationLoggingOptions]
|
|
attr_accessor :authorization_logging_options
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `logName`
|
|
# @return [String]
|
|
attr_accessor :log_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@authorization_logging_options = args[:authorization_logging_options] if args.key?(:authorization_logging_options)
|
|
@log_name = args[:log_name] if args.key?(:log_name)
|
|
end
|
|
end
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
class LogConfigCounterOptions
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `customFields`
|
|
# @return [Array<Google::Apis::ComputeAlpha::LogConfigCounterOptionsCustomField>]
|
|
attr_accessor :custom_fields
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `field`
|
|
# @return [String]
|
|
attr_accessor :field
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `metric`
|
|
# @return [String]
|
|
attr_accessor :metric
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@custom_fields = args[:custom_fields] if args.key?(:custom_fields)
|
|
@field = args[:field] if args.key?(:field)
|
|
@metric = args[:metric] if args.key?(:metric)
|
|
end
|
|
end
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
class LogConfigCounterOptionsCustomField
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
class LogConfigDataAccessOptions
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `logMode`
|
|
# @return [String]
|
|
attr_accessor :log_mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@log_mode = args[:log_mode] if args.key?(:log_mode)
|
|
end
|
|
end
|
|
|
|
# Represents a machine image resource. A machine image is a Compute Engine
|
|
# resource that stores all the configuration, metadata, permissions, and data
|
|
# from one or more disks required to create a Virtual machine (VM) instance. For
|
|
# more information, see Machine images.
|
|
class MachineImage
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The creation timestamp for this machine image in RFC3339 text
|
|
# format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Input Only] Whether to attempt an application consistent machine image by
|
|
# informing the OS to prepare for the snapshot process.
|
|
# Corresponds to the JSON property `guestFlush`
|
|
# @return [Boolean]
|
|
attr_accessor :guest_flush
|
|
alias_method :guest_flush?, :guest_flush
|
|
|
|
# [Output Only] A unique identifier for this machine image. The server defines
|
|
# this identifier.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Properties of source instance
|
|
# Corresponds to the JSON property `instanceProperties`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceProperties]
|
|
attr_accessor :instance_properties
|
|
|
|
# [Output Only] The resource type, which is always compute#machineImage for
|
|
# machine image.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Encrypts the machine image using a customer-supplied encryption key. After you
|
|
# encrypt a machine image using a customer-supplied key, you must provide the
|
|
# same key if you use the machine image later. For example, you must provide the
|
|
# encryption key when you create an instance from the encrypted machine image in
|
|
# a future request. Customer-supplied encryption keys do not protect access to
|
|
# metadata of the machine image. If you do not provide an encryption key when
|
|
# creating the machine image, then the machine image will be encrypted using an
|
|
# automatically generated key and you do not need to provide a key to use the
|
|
# machine image later.
|
|
# Corresponds to the JSON property `machineImageEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :machine_image_encryption_key
|
|
|
|
# Name of the resource; provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# An array of Machine Image specific properties for disks attached to the source
|
|
# instance
|
|
# Corresponds to the JSON property `savedDisks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SavedDisk>]
|
|
attr_accessor :saved_disks
|
|
|
|
# [Output Only] The URL for this machine image. The server defines this URL.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Input Only] The customer-supplied encryption key of the disks attached to the
|
|
# source instance. Required if the source disk is protected by a customer-
|
|
# supplied encryption key.
|
|
# Corresponds to the JSON property `sourceDiskEncryptionKeys`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SourceDiskEncryptionKey>]
|
|
attr_accessor :source_disk_encryption_keys
|
|
|
|
# The source instance used to create the machine image. You can provide this as
|
|
# a partial or full URL to the resource. For example, the following are valid
|
|
# values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
|
|
# instances/instance - projects/project/zones/zone/instances/instance
|
|
# Corresponds to the JSON property `sourceInstance`
|
|
# @return [String]
|
|
attr_accessor :source_instance
|
|
|
|
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
|
# not be added to this field.
|
|
# Corresponds to the JSON property `sourceInstanceProperties`
|
|
# @return [Google::Apis::ComputeAlpha::SourceInstanceProperties]
|
|
attr_accessor :source_instance_properties
|
|
|
|
# [Output Only] The status of the machine image. One of the following values:
|
|
# INVALID, CREATING, READY, DELETING, and UPLOADING.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# The regional or multi-regional Cloud Storage bucket location where the machine
|
|
# image is stored.
|
|
# Corresponds to the JSON property `storageLocations`
|
|
# @return [Array<String>]
|
|
attr_accessor :storage_locations
|
|
|
|
# [Output Only] Total size of the storage used by the machine image.
|
|
# Corresponds to the JSON property `totalStorageBytes`
|
|
# @return [Fixnum]
|
|
attr_accessor :total_storage_bytes
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@guest_flush = args[:guest_flush] if args.key?(:guest_flush)
|
|
@id = args[:id] if args.key?(:id)
|
|
@instance_properties = args[:instance_properties] if args.key?(:instance_properties)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@machine_image_encryption_key = args[:machine_image_encryption_key] if args.key?(:machine_image_encryption_key)
|
|
@name = args[:name] if args.key?(:name)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@saved_disks = args[:saved_disks] if args.key?(:saved_disks)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@source_disk_encryption_keys = args[:source_disk_encryption_keys] if args.key?(:source_disk_encryption_keys)
|
|
@source_instance = args[:source_instance] if args.key?(:source_instance)
|
|
@source_instance_properties = args[:source_instance_properties] if args.key?(:source_instance_properties)
|
|
@status = args[:status] if args.key?(:status)
|
|
@storage_locations = args[:storage_locations] if args.key?(:storage_locations)
|
|
@total_storage_bytes = args[:total_storage_bytes] if args.key?(:total_storage_bytes)
|
|
end
|
|
end
|
|
|
|
# A list of machine images.
|
|
class MachineImageList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of MachineImage resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MachineImage>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# machineImagesListResponse for machine image lists.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::MachineImageList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MachineImageList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Machine Type resource. You can use specific machine types for
|
|
# your VM instances based on performance and pricing requirements. For more
|
|
# information, read Machine Types.
|
|
class MachineType
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of accelerator configurations assigned to this machine
|
|
# type.
|
|
# Corresponds to the JSON property `accelerators`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MachineType::Accelerator>]
|
|
attr_accessor :accelerators
|
|
|
|
# [Output Only] The architecture of the machine type.
|
|
# Corresponds to the JSON property `architecture`
|
|
# @return [String]
|
|
attr_accessor :architecture
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Deprecation status for a public resource.
|
|
# Corresponds to the JSON property `deprecated`
|
|
# @return [Google::Apis::ComputeAlpha::DeprecationStatus]
|
|
attr_accessor :deprecated
|
|
|
|
# [Output Only] An optional textual description of the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The number of virtual CPUs that are available to the instance.
|
|
# Corresponds to the JSON property `guestCpus`
|
|
# @return [Fixnum]
|
|
attr_accessor :guest_cpus
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Whether this machine type has a shared CPU. See Shared-core
|
|
# machine types for more information.
|
|
# Corresponds to the JSON property `isSharedCpu`
|
|
# @return [Boolean]
|
|
attr_accessor :is_shared_cpu
|
|
alias_method :is_shared_cpu?, :is_shared_cpu
|
|
|
|
# [Output Only] The type of the resource. Always compute#machineType for machine
|
|
# types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Maximum persistent disks allowed.
|
|
# Corresponds to the JSON property `maximumPersistentDisks`
|
|
# @return [Fixnum]
|
|
attr_accessor :maximum_persistent_disks
|
|
|
|
# [Output Only] Maximum total persistent disks size (GB) allowed.
|
|
# Corresponds to the JSON property `maximumPersistentDisksSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :maximum_persistent_disks_size_gb
|
|
|
|
# [Output Only] The amount of physical memory available to the instance, defined
|
|
# in MB.
|
|
# Corresponds to the JSON property `memoryMb`
|
|
# @return [Fixnum]
|
|
attr_accessor :memory_mb
|
|
|
|
# [Output Only] Name of the resource.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The name of the zone where the machine type resides, such as us-
|
|
# central1-a.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
|
@architecture = args[:architecture] if args.key?(:architecture)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
|
@description = args[:description] if args.key?(:description)
|
|
@guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus)
|
|
@id = args[:id] if args.key?(:id)
|
|
@is_shared_cpu = args[:is_shared_cpu] if args.key?(:is_shared_cpu)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@maximum_persistent_disks = args[:maximum_persistent_disks] if args.key?(:maximum_persistent_disks)
|
|
@maximum_persistent_disks_size_gb = args[:maximum_persistent_disks_size_gb] if args.key?(:maximum_persistent_disks_size_gb)
|
|
@memory_mb = args[:memory_mb] if args.key?(:memory_mb)
|
|
@name = args[:name] if args.key?(:name)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
|
|
#
|
|
class Accelerator
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Number of accelerator cards exposed to the guest.
|
|
# Corresponds to the JSON property `guestAcceleratorCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :guest_accelerator_count
|
|
|
|
# The accelerator type resource name, not a full URL, e.g. 'nvidia-tesla-k80'.
|
|
# Corresponds to the JSON property `guestAcceleratorType`
|
|
# @return [String]
|
|
attr_accessor :guest_accelerator_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@guest_accelerator_count = args[:guest_accelerator_count] if args.key?(:guest_accelerator_count)
|
|
@guest_accelerator_type = args[:guest_accelerator_type] if args.key?(:guest_accelerator_type)
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class MachineTypeAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of MachineTypesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::MachineTypesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#machineTypeAggregatedList for
|
|
# aggregated lists of machine types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::MachineTypeAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MachineTypeAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of machine types.
|
|
class MachineTypeList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of MachineType resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MachineType>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#machineTypeList for lists of
|
|
# machine types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::MachineTypeList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MachineTypeList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class MachineTypesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of machine types contained in this scope.
|
|
# Corresponds to the JSON property `machineTypes`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MachineType>]
|
|
attr_accessor :machine_types
|
|
|
|
# [Output Only] An informational warning that appears when the machine types
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::MachineTypesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@machine_types = args[:machine_types] if args.key?(:machine_types)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] An informational warning that appears when the machine types
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MachineTypesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# A Managed Instance resource.
|
|
class ManagedInstance
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Instances config revision applied to this instance.
|
|
# Corresponds to the JSON property `allInstancesConfig`
|
|
# @return [Google::Apis::ComputeAlpha::ManagedInstanceAllInstancesConfig]
|
|
attr_accessor :all_instances_config
|
|
|
|
# [Output Only] The current action that the managed instance group has scheduled
|
|
# for the instance. Possible values: - NONE The instance is running, and the
|
|
# managed instance group does not have any scheduled actions for this instance. -
|
|
# CREATING The managed instance group is creating this instance. If the group
|
|
# fails to create this instance, it will try again until it is successful. -
|
|
# CREATING_WITHOUT_RETRIES The managed instance group is attempting to create
|
|
# this instance only once. If the group fails to create this instance, it does
|
|
# not try again and the group's targetSize value is decreased instead. -
|
|
# RECREATING The managed instance group is recreating this instance. - DELETING
|
|
# The managed instance group is permanently deleting this instance. - ABANDONING
|
|
# The managed instance group is abandoning this instance. The instance will be
|
|
# removed from the instance group and from any target pools that are associated
|
|
# with this group. - RESTARTING The managed instance group is restarting the
|
|
# instance. - REFRESHING The managed instance group is applying configuration
|
|
# changes to the instance without stopping it. For example, the group can update
|
|
# the target pool list for an instance without stopping that instance. -
|
|
# VERIFYING The managed instance group has created the instance and it is in the
|
|
# process of being verified.
|
|
# Corresponds to the JSON property `currentAction`
|
|
# @return [String]
|
|
attr_accessor :current_action
|
|
|
|
# [Output only] The unique identifier for this resource. This field is empty
|
|
# when instance does not exist.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The URL of the instance. The URL can exist even if the instance
|
|
# has not yet been created.
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
# [Output Only] Health state of the instance per health-check.
|
|
# Corresponds to the JSON property `instanceHealth`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ManagedInstanceInstanceHealth>]
|
|
attr_accessor :instance_health
|
|
|
|
# [Output Only] The status of the instance. This field is empty when the
|
|
# instance does not exist.
|
|
# Corresponds to the JSON property `instanceStatus`
|
|
# @return [String]
|
|
attr_accessor :instance_status
|
|
|
|
# [Output Only] The intended template of the instance. This field is empty when
|
|
# current_action is one of ` DELETING, ABANDONING `.
|
|
# Corresponds to the JSON property `instanceTemplate`
|
|
# @return [String]
|
|
attr_accessor :instance_template
|
|
|
|
# [Output Only] Information about the last attempt to create or delete the
|
|
# instance.
|
|
# Corresponds to the JSON property `lastAttempt`
|
|
# @return [Google::Apis::ComputeAlpha::ManagedInstanceLastAttempt]
|
|
attr_accessor :last_attempt
|
|
|
|
# Preserved state for a given instance.
|
|
# Corresponds to the JSON property `preservedStateFromConfig`
|
|
# @return [Google::Apis::ComputeAlpha::PreservedState]
|
|
attr_accessor :preserved_state_from_config
|
|
|
|
# Preserved state for a given instance.
|
|
# Corresponds to the JSON property `preservedStateFromPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::PreservedState]
|
|
attr_accessor :preserved_state_from_policy
|
|
|
|
# [Output Only] Tag describing the version.
|
|
# Corresponds to the JSON property `tag`
|
|
# @return [String]
|
|
attr_accessor :tag
|
|
|
|
# [Output Only] The eventual status of the instance. The instance group manager
|
|
# will not be identified as stable till each managed instance reaches its
|
|
# targetStatus.
|
|
# Corresponds to the JSON property `targetStatus`
|
|
# @return [String]
|
|
attr_accessor :target_status
|
|
|
|
# [Output Only] Intended version of this instance.
|
|
# Corresponds to the JSON property `version`
|
|
# @return [Google::Apis::ComputeAlpha::ManagedInstanceVersion]
|
|
attr_accessor :version
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@all_instances_config = args[:all_instances_config] if args.key?(:all_instances_config)
|
|
@current_action = args[:current_action] if args.key?(:current_action)
|
|
@id = args[:id] if args.key?(:id)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
@instance_health = args[:instance_health] if args.key?(:instance_health)
|
|
@instance_status = args[:instance_status] if args.key?(:instance_status)
|
|
@instance_template = args[:instance_template] if args.key?(:instance_template)
|
|
@last_attempt = args[:last_attempt] if args.key?(:last_attempt)
|
|
@preserved_state_from_config = args[:preserved_state_from_config] if args.key?(:preserved_state_from_config)
|
|
@preserved_state_from_policy = args[:preserved_state_from_policy] if args.key?(:preserved_state_from_policy)
|
|
@tag = args[:tag] if args.key?(:tag)
|
|
@target_status = args[:target_status] if args.key?(:target_status)
|
|
@version = args[:version] if args.key?(:version)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ManagedInstanceAllInstancesConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Instances config revision. This value is in RFC3339 text format.
|
|
# Corresponds to the JSON property `revision`
|
|
# @return [String]
|
|
attr_accessor :revision
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@revision = args[:revision] if args.key?(:revision)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ManagedInstanceInstanceHealth
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The current detailed instance health state.
|
|
# Corresponds to the JSON property `detailedHealthState`
|
|
# @return [String]
|
|
attr_accessor :detailed_health_state
|
|
|
|
# [Output Only] The URL for the health check that verifies whether the instance
|
|
# is healthy.
|
|
# Corresponds to the JSON property `healthCheck`
|
|
# @return [String]
|
|
attr_accessor :health_check
|
|
|
|
# [Output Only] The current instance health state. This field will not get
|
|
# promoted to beta/GA and might be removed from alpha APIs after 01/12/2019.
|
|
# Please use detailed_health_state field instead.
|
|
# Corresponds to the JSON property `healthState`
|
|
# @return [String]
|
|
attr_accessor :health_state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@detailed_health_state = args[:detailed_health_state] if args.key?(:detailed_health_state)
|
|
@health_check = args[:health_check] if args.key?(:health_check)
|
|
@health_state = args[:health_state] if args.key?(:health_state)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ManagedInstanceLastAttempt
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Encountered errors during the last attempt to create or delete
|
|
# the instance.
|
|
# Corresponds to the JSON property `errors`
|
|
# @return [Google::Apis::ComputeAlpha::ManagedInstanceLastAttempt::Errors]
|
|
attr_accessor :errors
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@errors = args[:errors] if args.key?(:errors)
|
|
end
|
|
|
|
# [Output Only] Encountered errors during the last attempt to create or delete
|
|
# the instance.
|
|
class Errors
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The array of errors encountered while processing this operation.
|
|
# Corresponds to the JSON property `errors`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ManagedInstanceLastAttempt::Errors::Error>]
|
|
attr_accessor :errors
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@errors = args[:errors] if args.key?(:errors)
|
|
end
|
|
|
|
#
|
|
class Error
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The error type identifier for this error.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Indicates the field in the request that caused the error. This
|
|
# property is optional.
|
|
# Corresponds to the JSON property `location`
|
|
# @return [String]
|
|
attr_accessor :location
|
|
|
|
# [Output Only] An optional, human-readable error message.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@location = args[:location] if args.key?(:location)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class ManagedInstanceVersion
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The intended template of the instance. This field is empty when
|
|
# current_action is one of ` DELETING, ABANDONING `.
|
|
# Corresponds to the JSON property `instanceTemplate`
|
|
# @return [String]
|
|
attr_accessor :instance_template
|
|
|
|
# [Output Only] Name of the version.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_template = args[:instance_template] if args.key?(:instance_template)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
# A metadata key/value entry.
|
|
class Metadata
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies a fingerprint for this request, which is essentially a hash of the
|
|
# metadata's contents and used for optimistic locking. The fingerprint is
|
|
# initially generated by Compute Engine and changes after every request to
|
|
# modify or update metadata. You must always provide an up-to-date fingerprint
|
|
# hash in order to update or change metadata, otherwise the request will fail
|
|
# with error 412 conditionNotMet. To see the latest fingerprint, make a get()
|
|
# request to retrieve the resource.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# Array of key/value pairs. The total size of all keys and values must be less
|
|
# than 512 KB.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Metadata::Item>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of the resource. Always compute#metadata for metadata.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
end
|
|
|
|
# Metadata
|
|
class Item
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Key for the metadata entry. Keys must conform to the following regexp: [a-zA-
|
|
# Z0-9-_]+, and be less than 128 bytes in length. This is reflected as part of a
|
|
# URL in the metadata server. Additionally, to avoid ambiguity, keys must not
|
|
# conflict with any other metadata keys for the project.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# Value for the metadata entry. These are free-form strings, and only have
|
|
# meaning as interpreted by the image running in the instance. The only
|
|
# restriction placed on values is that their size must be less than or equal to
|
|
# 262144 bytes (256 KiB).
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
|
|
# [Deprecated] Custom authenticator credentials. Custom authenticator
|
|
# credentials.
|
|
class MetadataCredentialsFromPlugin
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Plugin name.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# A text proto that conforms to a Struct type definition interpreted by the
|
|
# plugin.
|
|
# Corresponds to the JSON property `structConfig`
|
|
# @return [String]
|
|
attr_accessor :struct_config
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@struct_config = args[:struct_config] if args.key?(:struct_config)
|
|
end
|
|
end
|
|
|
|
# Opaque filter criteria used by load balancers to restrict routing
|
|
# configuration to a limited set of load balancing proxies. Proxies and sidecars
|
|
# involved in load balancing would typically present metadata to the load
|
|
# balancers that need to match criteria specified here. If a match takes place,
|
|
# the relevant configuration is made available to those proxies. For each
|
|
# metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY,
|
|
# at least one of the filterLabels must match the corresponding label provided
|
|
# in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of
|
|
# its filterLabels must match with corresponding labels provided in the metadata.
|
|
# An example for using metadataFilters would be: if load balancing involves
|
|
# Envoys, they receive routing configuration when values in metadataFilters
|
|
# match values supplied in of their XDS requests to loadbalancers.
|
|
class MetadataFilter
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of label value pairs that must match labels in the provided metadata
|
|
# based on filterMatchCriteria This list must not be empty and can have at the
|
|
# most 64 entries.
|
|
# Corresponds to the JSON property `filterLabels`
|
|
# @return [Array<Google::Apis::ComputeAlpha::MetadataFilterLabelMatch>]
|
|
attr_accessor :filter_labels
|
|
|
|
# Specifies how individual filter label matches within the list of filterLabels
|
|
# and contributes toward the overall metadataFilter match. Supported values are:
|
|
# - MATCH_ANY: at least one of the filterLabels must have a matching label in
|
|
# the provided metadata. - MATCH_ALL: all filterLabels must have matching labels
|
|
# in the provided metadata.
|
|
# Corresponds to the JSON property `filterMatchCriteria`
|
|
# @return [String]
|
|
attr_accessor :filter_match_criteria
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@filter_labels = args[:filter_labels] if args.key?(:filter_labels)
|
|
@filter_match_criteria = args[:filter_match_criteria] if args.key?(:filter_match_criteria)
|
|
end
|
|
end
|
|
|
|
# MetadataFilter label name value pairs that are expected to match corresponding
|
|
# labels presented as metadata to the load balancer.
|
|
class MetadataFilterLabelMatch
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Name of metadata label. The name can have a maximum length of 1024 characters
|
|
# and must be at least 1 character long.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The value of the label must match the specified value. value can have a
|
|
# maximum length of 1024 characters.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] Configuration for the mutual Tls mode for peer authentication.
|
|
# Configuration for the mutual Tls mode for peer authentication.
|
|
class MutualTls
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies if the server TLS is configured to be strict or permissive. This
|
|
# field can be set to one of the following: STRICT: Client certificate must be
|
|
# presented, connection is in TLS. PERMISSIVE: Client certificate can be omitted,
|
|
# connection can be either plaintext or TLS.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
end
|
|
end
|
|
|
|
# The named port. For example: <"http", 80>.
|
|
class NamedPort
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The name for this named port. The name must be 1-63 characters long, and
|
|
# comply with RFC1035.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The port number, which can be a value between 1 and 65535.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@port = args[:port] if args.key?(:port)
|
|
end
|
|
end
|
|
|
|
# Represents a VPC Network resource. Networks connect resources to each other
|
|
# and to the internet. For more information, read Virtual Private Cloud (VPC)
|
|
# Network.
|
|
class Network
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Deprecated in favor of subnet mode networks. The range of internal addresses
|
|
# that are legal on this network. This range is a CIDR specification, for
|
|
# example: 192.168.0.0/16. Provided by the client when the network is created.
|
|
# Corresponds to the JSON property `IPv4Range`
|
|
# @return [String]
|
|
attr_accessor :i_pv4_range
|
|
|
|
# Must be set to create a VPC network. If not set, a legacy network is created.
|
|
# When set to true, the VPC network is created in auto mode. When set to false,
|
|
# the VPC network is created in custom mode. An auto mode VPC network starts
|
|
# with one subnet per region. Each subnet has a predetermined range as described
|
|
# in Auto mode VPC network IP ranges. For custom mode VPC networks, you can add
|
|
# subnets using the subnetworks insert method.
|
|
# Corresponds to the JSON property `autoCreateSubnetworks`
|
|
# @return [Boolean]
|
|
attr_accessor :auto_create_subnetworks
|
|
alias_method :auto_create_subnetworks?, :auto_create_subnetworks
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this field when you create
|
|
# the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Enable ULA internal ipv6 on this network. Enabling this feature will assign a /
|
|
# 48 from google defined ULA prefix fd20::/20. .
|
|
# Corresponds to the JSON property `enableUlaInternalIpv6`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_ula_internal_ipv6
|
|
alias_method :enable_ula_internal_ipv6?, :enable_ula_internal_ipv6
|
|
|
|
# [Output Only] URL of the firewall policy the network is associated with.
|
|
# Corresponds to the JSON property `firewallPolicy`
|
|
# @return [String]
|
|
attr_accessor :firewall_policy
|
|
|
|
# [Output Only] The gateway address for default routing out of the network,
|
|
# selected by GCP.
|
|
# Corresponds to the JSON property `gatewayIPv4`
|
|
# @return [String]
|
|
attr_accessor :gateway_i_pv4
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# When enabling ula internal ipv6, caller optionally can specify the /48 range
|
|
# they want from the google defined ULA prefix fd20::/20. The input must be a
|
|
# valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will
|
|
# fail if the speficied /48 is already in used by another resource. If the field
|
|
# is not speficied, then a /48 range will be randomly allocated from fd20::/20
|
|
# and returned via this field. .
|
|
# Corresponds to the JSON property `internalIpv6Range`
|
|
# @return [String]
|
|
attr_accessor :internal_ipv6_range
|
|
|
|
# [Output Only] Type of the resource. Always compute#network for networks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Maximum Transmission Unit in bytes. The minimum value for this field is 1460
|
|
# and the maximum value is 1500 bytes. If unspecified, defaults to 1460.
|
|
# Corresponds to the JSON property `mtu`
|
|
# @return [Fixnum]
|
|
attr_accessor :mtu
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
|
|
# following characters (except for the last character) must be a dash, lowercase
|
|
# letter, or digit. The last character must be a lowercase letter or digit.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The network firewall policy enforcement order. Can be either
|
|
# AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to
|
|
# AFTER_CLASSIC_FIREWALL if the field is not specified.
|
|
# Corresponds to the JSON property `networkFirewallPolicyEnforcementOrder`
|
|
# @return [String]
|
|
attr_accessor :network_firewall_policy_enforcement_order
|
|
|
|
# [Output Only] A list of network peerings for the resource.
|
|
# Corresponds to the JSON property `peerings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkPeering>]
|
|
attr_accessor :peerings
|
|
|
|
# [Output Only] URL of the region where the regional network resides. This field
|
|
# is not applicable to global network. You must specify this field as part of
|
|
# the HTTP request URL. It is not settable as a field in the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# A routing configuration attached to a network resource. The message includes
|
|
# the list of routers associated with the network, and a flag indicating the
|
|
# type of routing behavior to enforce network-wide.
|
|
# Corresponds to the JSON property `routingConfig`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkRoutingConfig]
|
|
attr_accessor :routing_config
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] Server-defined fully-qualified URLs for all subnetworks in this
|
|
# VPC network.
|
|
# Corresponds to the JSON property `subnetworks`
|
|
# @return [Array<String>]
|
|
attr_accessor :subnetworks
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@i_pv4_range = args[:i_pv4_range] if args.key?(:i_pv4_range)
|
|
@auto_create_subnetworks = args[:auto_create_subnetworks] if args.key?(:auto_create_subnetworks)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@enable_ula_internal_ipv6 = args[:enable_ula_internal_ipv6] if args.key?(:enable_ula_internal_ipv6)
|
|
@firewall_policy = args[:firewall_policy] if args.key?(:firewall_policy)
|
|
@gateway_i_pv4 = args[:gateway_i_pv4] if args.key?(:gateway_i_pv4)
|
|
@id = args[:id] if args.key?(:id)
|
|
@internal_ipv6_range = args[:internal_ipv6_range] if args.key?(:internal_ipv6_range)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@mtu = args[:mtu] if args.key?(:mtu)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network_firewall_policy_enforcement_order = args[:network_firewall_policy_enforcement_order] if args.key?(:network_firewall_policy_enforcement_order)
|
|
@peerings = args[:peerings] if args.key?(:peerings)
|
|
@region = args[:region] if args.key?(:region)
|
|
@routing_config = args[:routing_config] if args.key?(:routing_config)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@subnetworks = args[:subnetworks] if args.key?(:subnetworks)
|
|
end
|
|
end
|
|
|
|
# Represents a Google Cloud Armor network edge security service resource.
|
|
class NetworkEdgeSecurityService
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a NetworkEdgeSecurityService. An up-to-date fingerprint must be
|
|
# provided in order to update the NetworkEdgeSecurityService, otherwise the
|
|
# request will fail with error 412 conditionNotMet. To see the latest
|
|
# fingerprint, make a get() request to retrieve a NetworkEdgeSecurityService.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output only] Type of the resource. Always compute#networkEdgeSecurityService
|
|
# for NetworkEdgeSecurityServices
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] URL of the region where the resource resides. You must specify
|
|
# this field as part of the HTTP request URL. It is not settable as a field in
|
|
# the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# The resource URL for the network edge security service associated with this
|
|
# network edge security service.
|
|
# Corresponds to the JSON property `securityPolicy`
|
|
# @return [String]
|
|
attr_accessor :security_policy
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region = args[:region] if args.key?(:region)
|
|
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEdgeSecurityServiceAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NetworkEdgeSecurityServicesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#
|
|
# networkEdgeSecurityServiceAggregatedList for lists of Network Edge Security
|
|
# Services.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServiceAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEdgeSecurityServicesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of NetworkEdgeSecurityServices contained in this scope.
|
|
# Corresponds to the JSON property `networkEdgeSecurityServices`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityService>]
|
|
attr_accessor :network_edge_security_services
|
|
|
|
# Informational warning which replaces the list of security policies when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@network_edge_security_services = args[:network_edge_security_services] if args.key?(:network_edge_security_services)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of security policies when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEdgeSecurityServicesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# The network endpoint.
|
|
class NetworkEndpoint
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Metadata defined as annotations on the network endpoint.
|
|
# Corresponds to the JSON property `annotations`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :annotations
|
|
|
|
# Optional fully qualified domain name of network endpoint. This can only be
|
|
# specified when NetworkEndpointGroup.network_endpoint_type is NON_GCP_FQDN_PORT.
|
|
# Corresponds to the JSON property `fqdn`
|
|
# @return [String]
|
|
attr_accessor :fqdn
|
|
|
|
# The name for a specific VM instance that the IP address belongs to. This is
|
|
# required for network endpoints of type GCE_VM_IP_PORT. The instance must be in
|
|
# the same zone of network endpoint group. The name must be 1-63 characters long,
|
|
# and comply with RFC1035.
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
# Optional IPv4 address of network endpoint. The IP address must belong to a VM
|
|
# in Compute Engine (either the primary IP or as part of an aliased IP range).
|
|
# If the IP address is not specified, then the primary IP address for the VM
|
|
# instance in the network that the network endpoint group belongs to will be
|
|
# used.
|
|
# Corresponds to the JSON property `ipAddress`
|
|
# @return [String]
|
|
attr_accessor :ip_address
|
|
|
|
# Optional port number of network endpoint. If not specified, the defaultPort
|
|
# for the network endpoint group will be used.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@annotations = args[:annotations] if args.key?(:annotations)
|
|
@fqdn = args[:fqdn] if args.key?(:fqdn)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
@port = args[:port] if args.key?(:port)
|
|
end
|
|
end
|
|
|
|
# Represents a collection of network endpoints. A network endpoint group (NEG)
|
|
# defines how a set of endpoints should be reached, whether they are reachable,
|
|
# and where they are located. For more information about using NEGs, see Setting
|
|
# up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs,
|
|
# or Setting up external HTTP(S) Load Balancing with serverless NEGs.
|
|
class NetworkEndpointGroup
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Metadata defined as annotations on the network endpoint group.
|
|
# Corresponds to the JSON property `annotations`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :annotations
|
|
|
|
# Configuration for an App Engine network endpoint group (NEG). The service is
|
|
# optional, may be provided explicitly or in the URL mask. The version is
|
|
# optional and can only be provided explicitly or in the URL mask when service
|
|
# is present. Note: App Engine service must be in the same project and located
|
|
# in the same region as the Serverless NEG.
|
|
# Corresponds to the JSON property `appEngine`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupAppEngine]
|
|
attr_accessor :app_engine
|
|
|
|
# Configuration for a Cloud Function network endpoint group (NEG). The function
|
|
# must be provided explicitly or in the URL mask. Note: Cloud Function must be
|
|
# in the same project and located in the same region as the Serverless NEG.
|
|
# Corresponds to the JSON property `cloudFunction`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupCloudFunction]
|
|
attr_accessor :cloud_function
|
|
|
|
# Configuration for a Cloud Run network endpoint group (NEG). The service must
|
|
# be provided explicitly or in the URL mask. The tag is optional, may be
|
|
# provided explicitly or in the URL mask. Note: Cloud Run service must be in the
|
|
# same project and located in the same region as the Serverless NEG.
|
|
# Corresponds to the JSON property `cloudRun`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupCloudRun]
|
|
attr_accessor :cloud_run
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# The default port used if the port number is not specified in the network
|
|
# endpoint.
|
|
# Corresponds to the JSON property `defaultPort`
|
|
# @return [Fixnum]
|
|
attr_accessor :default_port
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#networkEndpointGroup for
|
|
# network endpoint group.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Load balancing specific fields for network endpoint group.
|
|
# Corresponds to the JSON property `loadBalancer`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupLbNetworkEndpointGroup]
|
|
attr_accessor :load_balancer
|
|
|
|
# Name of the resource; provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The URL of the network to which all network endpoints in the NEG belong. Uses "
|
|
# default" project network if unspecified.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# Type of network endpoints in this network endpoint group. Can be one of
|
|
# GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT,
|
|
# INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT.
|
|
# Corresponds to the JSON property `networkEndpointType`
|
|
# @return [String]
|
|
attr_accessor :network_endpoint_type
|
|
|
|
# The target service url used to set up private service connection to a Google
|
|
# API. An example value is: "asia-northeast3-cloudkms.googleapis.com"
|
|
# Corresponds to the JSON property `pscTargetService`
|
|
# @return [String]
|
|
attr_accessor :psc_target_service
|
|
|
|
# [Output Only] The URL of the region where the network endpoint group is
|
|
# located.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Configuration for a serverless network endpoint group (NEG). The platform must
|
|
# be provided. Note: The target backend service must be in the same project and
|
|
# located in the same region as the Serverless NEG.
|
|
# Corresponds to the JSON property `serverlessDeployment`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupServerlessDeployment]
|
|
attr_accessor :serverless_deployment
|
|
|
|
# [Output only] Number of network endpoints in the network endpoint group.
|
|
# Corresponds to the JSON property `size`
|
|
# @return [Fixnum]
|
|
attr_accessor :size
|
|
|
|
# Optional URL of the subnetwork to which all network endpoints in the NEG
|
|
# belong.
|
|
# Corresponds to the JSON property `subnetwork`
|
|
# @return [String]
|
|
attr_accessor :subnetwork
|
|
|
|
# Specify the type of this network endpoint group. Only LOAD_BALANCING is valid
|
|
# for now.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# [Output Only] The URL of the zone where the network endpoint group is located.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@annotations = args[:annotations] if args.key?(:annotations)
|
|
@app_engine = args[:app_engine] if args.key?(:app_engine)
|
|
@cloud_function = args[:cloud_function] if args.key?(:cloud_function)
|
|
@cloud_run = args[:cloud_run] if args.key?(:cloud_run)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@default_port = args[:default_port] if args.key?(:default_port)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@load_balancer = args[:load_balancer] if args.key?(:load_balancer)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@network_endpoint_type = args[:network_endpoint_type] if args.key?(:network_endpoint_type)
|
|
@psc_target_service = args[:psc_target_service] if args.key?(:psc_target_service)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@serverless_deployment = args[:serverless_deployment] if args.key?(:serverless_deployment)
|
|
@size = args[:size] if args.key?(:size)
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
@type = args[:type] if args.key?(:type)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEndpointGroupAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NetworkEndpointGroupsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::NetworkEndpointGroupsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# networkEndpointGroupAggregatedList for aggregated lists of network endpoint
|
|
# groups.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroupAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Configuration for an App Engine network endpoint group (NEG). The service is
|
|
# optional, may be provided explicitly or in the URL mask. The version is
|
|
# optional and can only be provided explicitly or in the URL mask when service
|
|
# is present. Note: App Engine service must be in the same project and located
|
|
# in the same region as the Serverless NEG.
|
|
class NetworkEndpointGroupAppEngine
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional serving service. The service name is case-sensitive and must be 1-63
|
|
# characters long. Example value: "default", "my-service".
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
# A template to parse service and version fields from a request URL. URL mask
|
|
# allows for routing to multiple App Engine services without having to create
|
|
# multiple Network Endpoint Groups and backend services. For example, the
|
|
# request URLs "foo1-dot-appname.appspot.com/v1" and "foo1-dot-appname.appspot.
|
|
# com/v2" can be backed by the same Serverless NEG with URL mask "-dot-appname.
|
|
# appspot.com/". The URL mask will parse them to ` service = "foo1", version = "
|
|
# v1" ` and ` service = "foo1", version = "v2" ` respectively.
|
|
# Corresponds to the JSON property `urlMask`
|
|
# @return [String]
|
|
attr_accessor :url_mask
|
|
|
|
# Optional serving version. The version name is case-sensitive and must be 1-100
|
|
# characters long. Example value: "v1", "v2".
|
|
# Corresponds to the JSON property `version`
|
|
# @return [String]
|
|
attr_accessor :version
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@service = args[:service] if args.key?(:service)
|
|
@url_mask = args[:url_mask] if args.key?(:url_mask)
|
|
@version = args[:version] if args.key?(:version)
|
|
end
|
|
end
|
|
|
|
# Configuration for a Cloud Function network endpoint group (NEG). The function
|
|
# must be provided explicitly or in the URL mask. Note: Cloud Function must be
|
|
# in the same project and located in the same region as the Serverless NEG.
|
|
class NetworkEndpointGroupCloudFunction
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A user-defined name of the Cloud Function. The function name is case-sensitive
|
|
# and must be 1-63 characters long. Example value: "func1".
|
|
# Corresponds to the JSON property `function`
|
|
# @return [String]
|
|
attr_accessor :function
|
|
|
|
# A template to parse function field from a request URL. URL mask allows for
|
|
# routing to multiple Cloud Functions without having to create multiple Network
|
|
# Endpoint Groups and backend services. For example, request URLs " mydomain.com/
|
|
# function1" and "mydomain.com/function2" can be backed by the same Serverless
|
|
# NEG with URL mask "/". The URL mask will parse them to ` function = "function1"
|
|
# ` and ` function = "function2" ` respectively.
|
|
# Corresponds to the JSON property `urlMask`
|
|
# @return [String]
|
|
attr_accessor :url_mask
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@function = args[:function] if args.key?(:function)
|
|
@url_mask = args[:url_mask] if args.key?(:url_mask)
|
|
end
|
|
end
|
|
|
|
# Configuration for a Cloud Run network endpoint group (NEG). The service must
|
|
# be provided explicitly or in the URL mask. The tag is optional, may be
|
|
# provided explicitly or in the URL mask. Note: Cloud Run service must be in the
|
|
# same project and located in the same region as the Serverless NEG.
|
|
class NetworkEndpointGroupCloudRun
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Cloud Run service is the main resource of Cloud Run. The service must be 1-63
|
|
# characters long, and comply with RFC1035. Example value: "run-service".
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
# Optional Cloud Run tag represents the "named-revision" to provide additional
|
|
# fine-grained traffic routing information. The tag must be 1-63 characters long,
|
|
# and comply with RFC1035. Example value: "revision-0010".
|
|
# Corresponds to the JSON property `tag`
|
|
# @return [String]
|
|
attr_accessor :tag
|
|
|
|
# A template to parse <service> and <tag> fields from a request URL. URL mask
|
|
# allows for routing to multiple Run services without having to create multiple
|
|
# network endpoint groups and backend services. For example, request URLs "foo1.
|
|
# domain.com/bar1" and "foo1.domain.com/bar2" can be backed by the same
|
|
# Serverless Network Endpoint Group (NEG) with URL mask "<tag>.domain.com/<
|
|
# service>". The URL mask will parse them to ` service="bar1", tag="foo1" ` and `
|
|
# service="bar2", tag="foo2" ` respectively.
|
|
# Corresponds to the JSON property `urlMask`
|
|
# @return [String]
|
|
attr_accessor :url_mask
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@service = args[:service] if args.key?(:service)
|
|
@tag = args[:tag] if args.key?(:tag)
|
|
@url_mask = args[:url_mask] if args.key?(:url_mask)
|
|
end
|
|
end
|
|
|
|
# Load balancing specific fields for network endpoint group.
|
|
class NetworkEndpointGroupLbNetworkEndpointGroup
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The default port used if the port number is not specified in the network
|
|
# endpoint. [Deprecated] This field is deprecated.
|
|
# Corresponds to the JSON property `defaultPort`
|
|
# @return [Fixnum]
|
|
attr_accessor :default_port
|
|
|
|
# The URL of the network to which all network endpoints in the NEG belong. Uses "
|
|
# default" project network if unspecified. [Deprecated] This field is deprecated.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# Optional URL of the subnetwork to which all network endpoints in the NEG
|
|
# belong. [Deprecated] This field is deprecated.
|
|
# Corresponds to the JSON property `subnetwork`
|
|
# @return [String]
|
|
attr_accessor :subnetwork
|
|
|
|
# [Output Only] The URL of the zone where the network endpoint group is located.
|
|
# [Deprecated] This field is deprecated.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@default_port = args[:default_port] if args.key?(:default_port)
|
|
@network = args[:network] if args.key?(:network)
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEndpointGroupList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NetworkEndpointGroup resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroup>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# networkEndpointGroupList for network endpoint group lists.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroupList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Configuration for a serverless network endpoint group (NEG). The platform must
|
|
# be provided. Note: The target backend service must be in the same project and
|
|
# located in the same region as the Serverless NEG.
|
|
class NetworkEndpointGroupServerlessDeployment
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The platform of the backend target(s) of this NEG. The only supported value is
|
|
# API Gateway: apigateway.googleapis.com.
|
|
# Corresponds to the JSON property `platform`
|
|
# @return [String]
|
|
attr_accessor :platform
|
|
|
|
# The user-defined name of the workload/instance. This value must be provided
|
|
# explicitly or in the urlMask. The resource identified by this value is
|
|
# platform-specific and is as follows: 1. API Gateway: The gateway ID 2. App
|
|
# Engine: The service name 3. Cloud Functions: The function name 4. Cloud Run:
|
|
# The service name
|
|
# Corresponds to the JSON property `resource`
|
|
# @return [String]
|
|
attr_accessor :resource
|
|
|
|
# A template to parse platform-specific fields from a request URL. URL mask
|
|
# allows for routing to multiple resources on the same serverless platform
|
|
# without having to create multiple Network Endpoint Groups and backend
|
|
# resources. The fields parsed by this template are platform-specific and are as
|
|
# follows: 1. API Gateway: The gateway ID 2. App Engine: The service and version
|
|
# 3. Cloud Functions: The function name 4. Cloud Run: The service and tag
|
|
# Corresponds to the JSON property `urlMask`
|
|
# @return [String]
|
|
attr_accessor :url_mask
|
|
|
|
# The optional resource version. The version identified by this value is
|
|
# platform-specific and is follows: 1. API Gateway: Unused 2. App Engine: The
|
|
# service version 3. Cloud Functions: Unused 4. Cloud Run: The service tag
|
|
# Corresponds to the JSON property `version`
|
|
# @return [String]
|
|
attr_accessor :version
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@platform = args[:platform] if args.key?(:platform)
|
|
@resource = args[:resource] if args.key?(:resource)
|
|
@url_mask = args[:url_mask] if args.key?(:url_mask)
|
|
@version = args[:version] if args.key?(:version)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEndpointGroupsAttachEndpointsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of network endpoints to be attached.
|
|
# Corresponds to the JSON property `networkEndpoints`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpoint>]
|
|
attr_accessor :network_endpoints
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEndpointGroupsDetachEndpointsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of network endpoints to be detached.
|
|
# Corresponds to the JSON property `networkEndpoints`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpoint>]
|
|
attr_accessor :network_endpoints
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@network_endpoints = args[:network_endpoints] if args.key?(:network_endpoints)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEndpointGroupsListEndpointsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional list of endpoints to query. This is a more efficient but also limited
|
|
# version of filter parameter. Endpoints in the filter must have ip_address and
|
|
# port fields populated, other fields are not supported.
|
|
# Corresponds to the JSON property `endpointFilters`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter>]
|
|
attr_accessor :endpoint_filters
|
|
|
|
# Optional query parameter for showing the health status of each network
|
|
# endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter,
|
|
# the health status of network endpoints will not be provided.
|
|
# Corresponds to the JSON property `healthStatus`
|
|
# @return [String]
|
|
attr_accessor :health_status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@endpoint_filters = args[:endpoint_filters] if args.key?(:endpoint_filters)
|
|
@health_status = args[:health_status] if args.key?(:health_status)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The network endpoint.
|
|
# Corresponds to the JSON property `networkEndpoint`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpoint]
|
|
attr_accessor :network_endpoint
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEndpointGroupsListNetworkEndpoints
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NetworkEndpointWithHealthStatus resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointWithHealthStatus>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in
|
|
# the specified network endpoint group.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupsListNetworkEndpoints::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroupsListNetworkEndpoints::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEndpointGroupsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The list of network endpoint groups that are contained in this
|
|
# scope.
|
|
# Corresponds to the JSON property `networkEndpointGroups`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroup>]
|
|
attr_accessor :network_endpoint_groups
|
|
|
|
# [Output Only] An informational warning that replaces the list of network
|
|
# endpoint groups when the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpointGroupsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@network_endpoint_groups = args[:network_endpoint_groups] if args.key?(:network_endpoint_groups)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] An informational warning that replaces the list of network
|
|
# endpoint groups when the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkEndpointGroupsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkEndpointWithHealthStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output only] The health status of network endpoint;
|
|
# Corresponds to the JSON property `healths`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthStatusForNetworkEndpoint>]
|
|
attr_accessor :healths
|
|
|
|
# The network endpoint.
|
|
# Corresponds to the JSON property `networkEndpoint`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkEndpoint]
|
|
attr_accessor :network_endpoint
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@healths = args[:healths] if args.key?(:healths)
|
|
@network_endpoint = args[:network_endpoint] if args.key?(:network_endpoint)
|
|
end
|
|
end
|
|
|
|
# A network interface resource attached to an instance.
|
|
class NetworkInterface
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An array of configurations for this interface. Currently, only one access
|
|
# config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified,
|
|
# then this instance will have no external internet access.
|
|
# Corresponds to the JSON property `accessConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AccessConfig>]
|
|
attr_accessor :access_configs
|
|
|
|
# An array of alias IP ranges for this network interface. You can only specify
|
|
# this field for network interfaces in VPC networks.
|
|
# Corresponds to the JSON property `aliasIpRanges`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AliasIpRange>]
|
|
attr_accessor :alias_ip_ranges
|
|
|
|
# Fingerprint hash of contents stored in this network interface. This field will
|
|
# be ignored when inserting an Instance or adding a NetworkInterface. An up-to-
|
|
# date fingerprint must be provided in order to update the NetworkInterface. The
|
|
# request will fail with error 400 Bad Request if the fingerprint is not
|
|
# provided, or 412 Precondition Failed if the fingerprint is out of date.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# The prefix length of the primary internal IPv6 range.
|
|
# Corresponds to the JSON property `internalIpv6PrefixLength`
|
|
# @return [Fixnum]
|
|
attr_accessor :internal_ipv6_prefix_length
|
|
|
|
# An array of IPv6 access configurations for this interface. Currently, only one
|
|
# IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig
|
|
# specified, then this instance will have no external IPv6 Internet access.
|
|
# Corresponds to the JSON property `ipv6AccessConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AccessConfig>]
|
|
attr_accessor :ipv6_access_configs
|
|
|
|
# [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be
|
|
# accessed from the Internet. This field is always inherited from its subnetwork.
|
|
# Valid only if stackType is IPV4_IPV6.
|
|
# Corresponds to the JSON property `ipv6AccessType`
|
|
# @return [String]
|
|
attr_accessor :ipv6_access_type
|
|
|
|
# An IPv6 internal network address for this network interface.
|
|
# Corresponds to the JSON property `ipv6Address`
|
|
# @return [String]
|
|
attr_accessor :ipv6_address
|
|
|
|
# [Output Only] Type of the resource. Always compute#networkInterface for
|
|
# network interfaces.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] The name of the network interface, which is generated by the
|
|
# server. For a VM, the network interface uses the nicN naming format. Where N
|
|
# is a value between 0 and 7. The default interface value is nic0.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# URL of the VPC network resource for this instance. When creating an instance,
|
|
# if neither the network nor the subnetwork is specified, the default network
|
|
# global/networks/default is used. If the selected project doesn't have the
|
|
# default network, you must specify a network or subnet. If the network is not
|
|
# specified but the subnetwork is specified, the network is inferred. If you
|
|
# specify this property, you can specify the network as a full or partial URL.
|
|
# For example, the following are all valid URLs: - https://www.googleapis.com/
|
|
# compute/v1/projects/project/global/networks/ network - projects/project/global/
|
|
# networks/network - global/networks/default
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# An IPv4 internal IP address to assign to the instance for this network
|
|
# interface. If not specified by the user, an unused internal IP is assigned by
|
|
# the system.
|
|
# Corresponds to the JSON property `networkIP`
|
|
# @return [String]
|
|
attr_accessor :network_ip
|
|
|
|
# The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.
|
|
# Corresponds to the JSON property `nicType`
|
|
# @return [String]
|
|
attr_accessor :nic_type
|
|
|
|
# The networking queue count that's specified by users for the network interface.
|
|
# Both Rx and Tx queues will be set to this number. It'll be empty if not
|
|
# specified by the users.
|
|
# Corresponds to the JSON property `queueCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :queue_count
|
|
|
|
# The stack type for this network interface to identify whether the IPv6 feature
|
|
# is enabled or not. If not specified, IPV4_ONLY will be used. This field can be
|
|
# both set at instance creation and update network interface operations.
|
|
# Corresponds to the JSON property `stackType`
|
|
# @return [String]
|
|
attr_accessor :stack_type
|
|
|
|
# SubInterfaces help enable L2 communication for the instance over subnetworks
|
|
# that support L2. Every network interface will get a default untagged (vlan not
|
|
# specified) subinterface. Users can specify additional tagged subinterfaces
|
|
# which are sub-fields to the Network Interface.
|
|
# Corresponds to the JSON property `subinterfaces`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkInterfaceSubInterface>]
|
|
attr_accessor :subinterfaces
|
|
|
|
# The URL of the Subnetwork resource for this instance. If the network resource
|
|
# is in legacy mode, do not specify this field. If the network is in auto subnet
|
|
# mode, specifying the subnetwork is optional. If the network is in custom
|
|
# subnet mode, specifying the subnetwork is required. If you specify this field,
|
|
# you can specify the subnetwork as a full or partial URL. For example, the
|
|
# following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
|
|
# project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/
|
|
# subnetwork
|
|
# Corresponds to the JSON property `subnetwork`
|
|
# @return [String]
|
|
attr_accessor :subnetwork
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@access_configs = args[:access_configs] if args.key?(:access_configs)
|
|
@alias_ip_ranges = args[:alias_ip_ranges] if args.key?(:alias_ip_ranges)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@internal_ipv6_prefix_length = args[:internal_ipv6_prefix_length] if args.key?(:internal_ipv6_prefix_length)
|
|
@ipv6_access_configs = args[:ipv6_access_configs] if args.key?(:ipv6_access_configs)
|
|
@ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
|
|
@ipv6_address = args[:ipv6_address] if args.key?(:ipv6_address)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@network_ip = args[:network_ip] if args.key?(:network_ip)
|
|
@nic_type = args[:nic_type] if args.key?(:nic_type)
|
|
@queue_count = args[:queue_count] if args.key?(:queue_count)
|
|
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
|
@subinterfaces = args[:subinterfaces] if args.key?(:subinterfaces)
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkInterfaceSubInterface
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An IPv4 internal IP address to assign to the instance for this subinterface.
|
|
# If specified, ip_allocation_mode should be set to ALLOCATE_IP.
|
|
# Corresponds to the JSON property `ipAddress`
|
|
# @return [String]
|
|
attr_accessor :ip_address
|
|
|
|
#
|
|
# Corresponds to the JSON property `ipAllocationMode`
|
|
# @return [String]
|
|
attr_accessor :ip_allocation_mode
|
|
|
|
# If specified, this subnetwork must belong to the same network as that of the
|
|
# network interface. If not specified the subnet of network interface will be
|
|
# used. If you specify this property, you can specify the subnetwork as a full
|
|
# or partial URL. For example, the following are all valid URLs: - https://www.
|
|
# googleapis.com/compute/v1/projects/project/regions/region /subnetworks/
|
|
# subnetwork - regions/region/subnetworks/subnetwork
|
|
# Corresponds to the JSON property `subnetwork`
|
|
# @return [String]
|
|
attr_accessor :subnetwork
|
|
|
|
# VLAN tag. Should match the VLAN(s) supported by the subnetwork to which this
|
|
# subinterface is connecting.
|
|
# Corresponds to the JSON property `vlan`
|
|
# @return [Fixnum]
|
|
attr_accessor :vlan
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
@ip_allocation_mode = args[:ip_allocation_mode] if args.key?(:ip_allocation_mode)
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
@vlan = args[:vlan] if args.key?(:vlan)
|
|
end
|
|
end
|
|
|
|
# Contains a list of networks.
|
|
class NetworkList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Network resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Network>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#networkList for lists of
|
|
# networks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# A network peering attached to a network resource. The message includes the
|
|
# peering name, peer network, peering state, and a flag indicating whether
|
|
# Google Compute Engine should automatically create routes for the peering.
|
|
class NetworkPeering
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether Cloud Routers in this network can automatically advertise subnets from
|
|
# the peer network.
|
|
# Corresponds to the JSON property `advertisePeerSubnetsViaRouters`
|
|
# @return [Boolean]
|
|
attr_accessor :advertise_peer_subnets_via_routers
|
|
alias_method :advertise_peer_subnets_via_routers?, :advertise_peer_subnets_via_routers
|
|
|
|
# This field will be deprecated soon. Use the exchange_subnet_routes field
|
|
# instead. Indicates whether full mesh connectivity is created and managed
|
|
# automatically between peered networks. Currently this field should always be
|
|
# true since Google Compute Engine will automatically create and manage
|
|
# subnetwork routes between two networks when peering state is ACTIVE.
|
|
# Corresponds to the JSON property `autoCreateRoutes`
|
|
# @return [Boolean]
|
|
attr_accessor :auto_create_routes
|
|
alias_method :auto_create_routes?, :auto_create_routes
|
|
|
|
# Indicates whether full mesh connectivity is created and managed automatically
|
|
# between peered networks. Currently this field should always be true since
|
|
# Google Compute Engine will automatically create and manage subnetwork routes
|
|
# between two networks when peering state is ACTIVE.
|
|
# Corresponds to the JSON property `exchangeSubnetRoutes`
|
|
# @return [Boolean]
|
|
attr_accessor :exchange_subnet_routes
|
|
alias_method :exchange_subnet_routes?, :exchange_subnet_routes
|
|
|
|
# Whether to export the custom routes to peer network. The default value is
|
|
# false.
|
|
# Corresponds to the JSON property `exportCustomRoutes`
|
|
# @return [Boolean]
|
|
attr_accessor :export_custom_routes
|
|
alias_method :export_custom_routes?, :export_custom_routes
|
|
|
|
# Whether subnet routes with public IP range are exported. The default value is
|
|
# true, all subnet routes are exported. IPv4 special-use ranges are always
|
|
# exported to peers and are not controlled by this field.
|
|
# Corresponds to the JSON property `exportSubnetRoutesWithPublicIp`
|
|
# @return [Boolean]
|
|
attr_accessor :export_subnet_routes_with_public_ip
|
|
alias_method :export_subnet_routes_with_public_ip?, :export_subnet_routes_with_public_ip
|
|
|
|
# Whether to import the custom routes from peer network. The default value is
|
|
# false.
|
|
# Corresponds to the JSON property `importCustomRoutes`
|
|
# @return [Boolean]
|
|
attr_accessor :import_custom_routes
|
|
alias_method :import_custom_routes?, :import_custom_routes
|
|
|
|
# Whether subnet routes with public IP range are imported. The default value is
|
|
# false. IPv4 special-use ranges are always imported from peers and are not
|
|
# controlled by this field.
|
|
# Corresponds to the JSON property `importSubnetRoutesWithPublicIp`
|
|
# @return [Boolean]
|
|
attr_accessor :import_subnet_routes_with_public_ip
|
|
alias_method :import_subnet_routes_with_public_ip?, :import_subnet_routes_with_public_ip
|
|
|
|
# Name of this peering. Provided by the client when the peering is created. The
|
|
# name must comply with RFC1035. Specifically, the name must be 1-63 characters
|
|
# long and match regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first
|
|
# character must be a lowercase letter, and all the following characters must be
|
|
# a dash, lowercase letter, or digit, except the last character, which cannot be
|
|
# a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The URL of the peer network. It can be either full URL or partial URL. The
|
|
# peer network may belong to a different project. If the partial URL does not
|
|
# contain project, it is assumed that the peer network is in the same project as
|
|
# the current network.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# Maximum Transmission Unit in bytes.
|
|
# Corresponds to the JSON property `peerMtu`
|
|
# @return [Fixnum]
|
|
attr_accessor :peer_mtu
|
|
|
|
# Which IP version(s) of traffic and routes are allowed to be imported or
|
|
# exported between peer networks. The default value is IPV4_ONLY.
|
|
# Corresponds to the JSON property `stackType`
|
|
# @return [String]
|
|
attr_accessor :stack_type
|
|
|
|
# [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The
|
|
# peering is `ACTIVE` when there's a matching configuration in the peer network.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
# [Output Only] Details about the current state of the peering.
|
|
# Corresponds to the JSON property `stateDetails`
|
|
# @return [String]
|
|
attr_accessor :state_details
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@advertise_peer_subnets_via_routers = args[:advertise_peer_subnets_via_routers] if args.key?(:advertise_peer_subnets_via_routers)
|
|
@auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
|
|
@exchange_subnet_routes = args[:exchange_subnet_routes] if args.key?(:exchange_subnet_routes)
|
|
@export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
|
|
@export_subnet_routes_with_public_ip = args[:export_subnet_routes_with_public_ip] if args.key?(:export_subnet_routes_with_public_ip)
|
|
@import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
|
|
@import_subnet_routes_with_public_ip = args[:import_subnet_routes_with_public_ip] if args.key?(:import_subnet_routes_with_public_ip)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@peer_mtu = args[:peer_mtu] if args.key?(:peer_mtu)
|
|
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
|
@state = args[:state] if args.key?(:state)
|
|
@state_details = args[:state_details] if args.key?(:state_details)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworkPerformanceConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `externalIpEgressBandwidthTier`
|
|
# @return [String]
|
|
attr_accessor :external_ip_egress_bandwidth_tier
|
|
|
|
#
|
|
# Corresponds to the JSON property `totalEgressBandwidthTier`
|
|
# @return [String]
|
|
attr_accessor :total_egress_bandwidth_tier
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@external_ip_egress_bandwidth_tier = args[:external_ip_egress_bandwidth_tier] if args.key?(:external_ip_egress_bandwidth_tier)
|
|
@total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
|
|
end
|
|
end
|
|
|
|
# A routing configuration attached to a network resource. The message includes
|
|
# the list of routers associated with the network, and a flag indicating the
|
|
# type of routing behavior to enforce network-wide.
|
|
class NetworkRoutingConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The network-wide routing mode to use. If set to REGIONAL, this network's Cloud
|
|
# Routers will only advertise routes with subnets of this network in the same
|
|
# region as the router. If set to GLOBAL, this network's Cloud Routers will
|
|
# advertise routes with all subnets of this network, across regions.
|
|
# Corresponds to the JSON property `routingMode`
|
|
# @return [String]
|
|
attr_accessor :routing_mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@routing_mode = args[:routing_mode] if args.key?(:routing_mode)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworksAddPeeringRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This field will be deprecated soon. Use exchange_subnet_routes in
|
|
# network_peering instead. Indicates whether full mesh connectivity is created
|
|
# and managed automatically between peered networks. Currently this field should
|
|
# always be true since Google Compute Engine will automatically create and
|
|
# manage subnetwork routes between two networks when peering state is ACTIVE.
|
|
# Corresponds to the JSON property `autoCreateRoutes`
|
|
# @return [Boolean]
|
|
attr_accessor :auto_create_routes
|
|
alias_method :auto_create_routes?, :auto_create_routes
|
|
|
|
# This field will be deprecated soon. Use export_custom_routes in
|
|
# network_peering instead. Whether to export the custom routes to peer network.
|
|
# Corresponds to the JSON property `exportCustomRoutes`
|
|
# @return [Boolean]
|
|
attr_accessor :export_custom_routes
|
|
alias_method :export_custom_routes?, :export_custom_routes
|
|
|
|
# This field will be deprecated soon. Use import_custom_routes in
|
|
# network_peering instead. Whether to import the custom routes from peer network.
|
|
# Corresponds to the JSON property `importCustomRoutes`
|
|
# @return [Boolean]
|
|
attr_accessor :import_custom_routes
|
|
alias_method :import_custom_routes?, :import_custom_routes
|
|
|
|
# Name of the peering, which should conform to RFC1035.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# A network peering attached to a network resource. The message includes the
|
|
# peering name, peer network, peering state, and a flag indicating whether
|
|
# Google Compute Engine should automatically create routes for the peering.
|
|
# Corresponds to the JSON property `networkPeering`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkPeering]
|
|
attr_accessor :network_peering
|
|
|
|
# URL of the peer network. It can be either full URL or partial URL. The peer
|
|
# network may belong to a different project. If the partial URL does not contain
|
|
# project, it is assumed that the peer network is in the same project as the
|
|
# current network.
|
|
# Corresponds to the JSON property `peerNetwork`
|
|
# @return [String]
|
|
attr_accessor :peer_network
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_create_routes = args[:auto_create_routes] if args.key?(:auto_create_routes)
|
|
@export_custom_routes = args[:export_custom_routes] if args.key?(:export_custom_routes)
|
|
@import_custom_routes = args[:import_custom_routes] if args.key?(:import_custom_routes)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network_peering = args[:network_peering] if args.key?(:network_peering)
|
|
@peer_network = args[:peer_network] if args.key?(:peer_network)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworksGetEffectiveFirewallsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Effective firewalls from firewall policy.
|
|
# Corresponds to the JSON property `firewallPolicys`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
|
|
attr_accessor :firewall_policys
|
|
|
|
# Effective firewalls on the network.
|
|
# Corresponds to the JSON property `firewalls`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Firewall>]
|
|
attr_accessor :firewalls
|
|
|
|
# Effective firewalls from organization policies.
|
|
# Corresponds to the JSON property `organizationFirewalls`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy>]
|
|
attr_accessor :organization_firewalls
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys)
|
|
@firewalls = args[:firewalls] if args.key?(:firewalls)
|
|
@organization_firewalls = args[:organization_firewalls] if args.key?(:organization_firewalls)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Deprecated, please use short name instead. The display name of
|
|
# the firewall policy.
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# [Output Only] The name of the firewall policy.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The rules that apply to the network.
|
|
# Corresponds to the JSON property `rules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
|
|
attr_accessor :rules
|
|
|
|
# [Output Only] The short name of the firewall policy.
|
|
# Corresponds to the JSON property `shortName`
|
|
# @return [String]
|
|
attr_accessor :short_name
|
|
|
|
# [Output Only] The type of the firewall policy.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@name = args[:name] if args.key?(:name)
|
|
@rules = args[:rules] if args.key?(:rules)
|
|
@short_name = args[:short_name] if args.key?(:short_name)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# A pruned SecurityPolicy containing ID and any applicable firewall rules.
|
|
class NetworksGetEffectiveFirewallsResponseOrganizationFirewallPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The unique identifier for the security policy. This identifier
|
|
# is defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# The rules that apply to the network.
|
|
# Corresponds to the JSON property `rules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRule>]
|
|
attr_accessor :rules
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@rules = args[:rules] if args.key?(:rules)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworksRemovePeeringRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Name of the peering, which should conform to RFC1035.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NetworksUpdatePeeringRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A network peering attached to a network resource. The message includes the
|
|
# peering name, peer network, peering state, and a flag indicating whether
|
|
# Google Compute Engine should automatically create routes for the peering.
|
|
# Corresponds to the JSON property `networkPeering`
|
|
# @return [Google::Apis::ComputeAlpha::NetworkPeering]
|
|
attr_accessor :network_peering
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@network_peering = args[:network_peering] if args.key?(:network_peering)
|
|
end
|
|
end
|
|
|
|
# Represents a sole-tenant Node Group resource. A sole-tenant node is a physical
|
|
# server that is dedicated to hosting VM instances only for your specific
|
|
# project. Use sole-tenant nodes to keep your instances physically separated
|
|
# from instances in other projects, or to group your instances together on the
|
|
# same host hardware. For more information, read Sole-tenant nodes.
|
|
class NodeGroup
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies how autoscaling should behave.
|
|
# Corresponds to the JSON property `autoscalingPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::NodeGroupAutoscalingPolicy]
|
|
attr_accessor :autoscaling_policy
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
#
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The type of the resource. Always compute#nodeGroup for node
|
|
# group.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# An opaque location hint used to place the Node close to other resources. This
|
|
# field is for use by internal tools that use the public API. The location hint
|
|
# here on the NodeGroup overrides any location_hint present in the NodeTemplate.
|
|
# Corresponds to the JSON property `locationHint`
|
|
# @return [String]
|
|
attr_accessor :location_hint
|
|
|
|
# Specifies how to handle instances when a node in the group undergoes
|
|
# maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or
|
|
# MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information,
|
|
# see Maintenance policies.
|
|
# Corresponds to the JSON property `maintenancePolicy`
|
|
# @return [String]
|
|
attr_accessor :maintenance_policy
|
|
|
|
# Time window specified for daily maintenance operations. GCE's internal
|
|
# maintenance will be performed within this window.
|
|
# Corresponds to the JSON property `maintenanceWindow`
|
|
# @return [Google::Apis::ComputeAlpha::NodeGroupMaintenanceWindow]
|
|
attr_accessor :maintenance_window
|
|
|
|
# The name of the resource, provided by the client when initially creating the
|
|
# resource. The resource name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# URL of the node template to create the node group from.
|
|
# Corresponds to the JSON property `nodeTemplate`
|
|
# @return [String]
|
|
attr_accessor :node_template
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# The share setting for reservations and sole tenancy node groups.
|
|
# Corresponds to the JSON property `shareSettings`
|
|
# @return [Google::Apis::ComputeAlpha::ShareSettings]
|
|
attr_accessor :share_settings
|
|
|
|
# [Output Only] The total number of nodes in the node group.
|
|
# Corresponds to the JSON property `size`
|
|
# @return [Fixnum]
|
|
attr_accessor :size
|
|
|
|
#
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] The name of the zone where the node group resides, such as us-
|
|
# central1-a.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@autoscaling_policy = args[:autoscaling_policy] if args.key?(:autoscaling_policy)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
|
@maintenance_policy = args[:maintenance_policy] if args.key?(:maintenance_policy)
|
|
@maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
|
|
@name = args[:name] if args.key?(:name)
|
|
@node_template = args[:node_template] if args.key?(:node_template)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@share_settings = args[:share_settings] if args.key?(:share_settings)
|
|
@size = args[:size] if args.key?(:size)
|
|
@status = args[:status] if args.key?(:status)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeGroupAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NodeGroupsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::NodeGroupsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource.Always compute#nodeGroupAggregatedList for
|
|
# aggregated lists of node groups.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeGroupAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeGroupAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeGroupAutoscalingPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The maximum number of nodes that the group should have. Must be set if
|
|
# autoscaling is enabled. Maximum value allowed is 100.
|
|
# Corresponds to the JSON property `maxNodes`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_nodes
|
|
|
|
# The minimum number of nodes that the group should have.
|
|
# Corresponds to the JSON property `minNodes`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_nodes
|
|
|
|
# The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more
|
|
# information, see Autoscaler modes.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@max_nodes = args[:max_nodes] if args.key?(:max_nodes)
|
|
@min_nodes = args[:min_nodes] if args.key?(:min_nodes)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
end
|
|
end
|
|
|
|
# Contains a list of nodeGroups.
|
|
class NodeGroupList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NodeGroup resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeGroup>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource.Always compute#nodeGroupList for lists of node
|
|
# groups.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeGroupList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeGroupList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Time window specified for daily maintenance operations. GCE's internal
|
|
# maintenance will be performed within this window.
|
|
class NodeGroupMaintenanceWindow
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output only] A predetermined duration for the window, automatically chosen to
|
|
# be the smallest possible in the given scenario.
|
|
# Corresponds to the JSON property `duration`
|
|
# @return [String]
|
|
attr_accessor :duration
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `maintenanceDuration`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :maintenance_duration
|
|
|
|
# Start time of the window. This must be in UTC format that resolves to one of
|
|
# 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:
|
|
# 00 are valid.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@duration = args[:duration] if args.key?(:duration)
|
|
@maintenance_duration = args[:maintenance_duration] if args.key?(:maintenance_duration)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeGroupNode
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Accelerators for this node.
|
|
# Corresponds to the JSON property `accelerators`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
|
|
attr_accessor :accelerators
|
|
|
|
# Node resources that are reserved by all instances.
|
|
# Corresponds to the JSON property `consumedResources`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
|
|
attr_accessor :consumed_resources
|
|
|
|
# CPU overcommit.
|
|
# Corresponds to the JSON property `cpuOvercommitType`
|
|
# @return [String]
|
|
attr_accessor :cpu_overcommit_type
|
|
|
|
# Local disk configurations.
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::LocalDisk>]
|
|
attr_accessor :disks
|
|
|
|
# Instance data that shows consumed resources on the node.
|
|
# Corresponds to the JSON property `instanceConsumptionData`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceConsumptionData>]
|
|
attr_accessor :instance_consumption_data
|
|
|
|
# Instances scheduled on this node.
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
# The name of the node.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The type of this node.
|
|
# Corresponds to the JSON property `nodeType`
|
|
# @return [String]
|
|
attr_accessor :node_type
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# Binding properties for the physical server.
|
|
# Corresponds to the JSON property `serverBinding`
|
|
# @return [Google::Apis::ComputeAlpha::ServerBinding]
|
|
attr_accessor :server_binding
|
|
|
|
# Server ID associated with this node.
|
|
# Corresponds to the JSON property `serverId`
|
|
# @return [String]
|
|
attr_accessor :server_id
|
|
|
|
#
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# Total amount of available resources on the node.
|
|
# Corresponds to the JSON property `totalResources`
|
|
# @return [Google::Apis::ComputeAlpha::InstanceConsumptionInfo]
|
|
attr_accessor :total_resources
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
|
@consumed_resources = args[:consumed_resources] if args.key?(:consumed_resources)
|
|
@cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@instance_consumption_data = args[:instance_consumption_data] if args.key?(:instance_consumption_data)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
@name = args[:name] if args.key?(:name)
|
|
@node_type = args[:node_type] if args.key?(:node_type)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@server_binding = args[:server_binding] if args.key?(:server_binding)
|
|
@server_id = args[:server_id] if args.key?(:server_id)
|
|
@status = args[:status] if args.key?(:status)
|
|
@total_resources = args[:total_resources] if args.key?(:total_resources)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeGroupsAddNodesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Count of additional nodes to be added to the node group.
|
|
# Corresponds to the JSON property `additionalNodeCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :additional_node_count
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@additional_node_count = args[:additional_node_count] if args.key?(:additional_node_count)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeGroupsDeleteNodesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Names of the nodes to delete.
|
|
# Corresponds to the JSON property `nodes`
|
|
# @return [Array<String>]
|
|
attr_accessor :nodes
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@nodes = args[:nodes] if args.key?(:nodes)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeGroupsListNodes
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Node resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeGroupNode>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute.nodeGroupsListNodes
|
|
# for the list of nodes in the specified node group.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeGroupsListNodes::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeGroupsListNodes::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeGroupsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of node groups contained in this scope.
|
|
# Corresponds to the JSON property `nodeGroups`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeGroup>]
|
|
attr_accessor :node_groups
|
|
|
|
# [Output Only] An informational warning that appears when the nodeGroup list is
|
|
# empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeGroupsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@node_groups = args[:node_groups] if args.key?(:node_groups)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] An informational warning that appears when the nodeGroup list is
|
|
# empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeGroupsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeGroupsSetNodeTemplateRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Full or partial URL of the node template resource to be updated for this node
|
|
# group.
|
|
# Corresponds to the JSON property `nodeTemplate`
|
|
# @return [String]
|
|
attr_accessor :node_template
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@node_template = args[:node_template] if args.key?(:node_template)
|
|
end
|
|
end
|
|
|
|
# Represent a sole-tenant Node Template resource. You can use a template to
|
|
# define properties for nodes in a node group. For more information, read
|
|
# Creating node groups and instances.
|
|
class NodeTemplate
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `accelerators`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
|
|
attr_accessor :accelerators
|
|
|
|
# CPU overcommit.
|
|
# Corresponds to the JSON property `cpuOvercommitType`
|
|
# @return [String]
|
|
attr_accessor :cpu_overcommit_type
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
#
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::LocalDisk>]
|
|
attr_accessor :disks
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The type of the resource. Always compute#nodeTemplate for node
|
|
# templates.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The name of the resource, provided by the client when initially creating the
|
|
# resource. The resource name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Labels to use for node affinity, which will be used in instance scheduling.
|
|
# Corresponds to the JSON property `nodeAffinityLabels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :node_affinity_labels
|
|
|
|
# The node type to use for nodes group that are created from this template.
|
|
# Corresponds to the JSON property `nodeType`
|
|
# @return [String]
|
|
attr_accessor :node_type
|
|
|
|
# The flexible properties of the desired node type. Node groups that use this
|
|
# node template will create nodes of a type that matches these properties. This
|
|
# field is mutually exclusive with the node_type property; you can only define
|
|
# one or the other, but not both.
|
|
# Corresponds to the JSON property `nodeTypeFlexibility`
|
|
# @return [Google::Apis::ComputeAlpha::NodeTemplateNodeTypeFlexibility]
|
|
attr_accessor :node_type_flexibility
|
|
|
|
# [Output Only] The name of the region where the node template resides, such as
|
|
# us-central1.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Sets the binding properties for the physical server. Valid values include: - *[
|
|
# Default]* RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical
|
|
# server - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical
|
|
# server whenever possible See Sole-tenant node options for more information.
|
|
# Corresponds to the JSON property `serverBinding`
|
|
# @return [Google::Apis::ComputeAlpha::ServerBinding]
|
|
attr_accessor :server_binding
|
|
|
|
# [Output Only] The status of the node template. One of the following values:
|
|
# CREATING, READY, and DELETING.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] An optional, human-readable explanation of the status.
|
|
# Corresponds to the JSON property `statusMessage`
|
|
# @return [String]
|
|
attr_accessor :status_message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
|
@cpu_overcommit_type = args[:cpu_overcommit_type] if args.key?(:cpu_overcommit_type)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@node_affinity_labels = args[:node_affinity_labels] if args.key?(:node_affinity_labels)
|
|
@node_type = args[:node_type] if args.key?(:node_type)
|
|
@node_type_flexibility = args[:node_type_flexibility] if args.key?(:node_type_flexibility)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@server_binding = args[:server_binding] if args.key?(:server_binding)
|
|
@status = args[:status] if args.key?(:status)
|
|
@status_message = args[:status_message] if args.key?(:status_message)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeTemplateAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NodeTemplatesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::NodeTemplatesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource.Always compute#nodeTemplateAggregatedList for
|
|
# aggregated lists of node templates.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeTemplateAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeTemplateAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of node templates.
|
|
class NodeTemplateList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NodeTemplate resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeTemplate>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource.Always compute#nodeTemplateList for lists of
|
|
# node templates.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeTemplateList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeTemplateList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeTemplateNodeTypeFlexibility
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `cpus`
|
|
# @return [String]
|
|
attr_accessor :cpus
|
|
|
|
#
|
|
# Corresponds to the JSON property `localSsd`
|
|
# @return [String]
|
|
attr_accessor :local_ssd
|
|
|
|
#
|
|
# Corresponds to the JSON property `memory`
|
|
# @return [String]
|
|
attr_accessor :memory
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@cpus = args[:cpus] if args.key?(:cpus)
|
|
@local_ssd = args[:local_ssd] if args.key?(:local_ssd)
|
|
@memory = args[:memory] if args.key?(:memory)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeTemplatesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of node templates contained in this scope.
|
|
# Corresponds to the JSON property `nodeTemplates`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeTemplate>]
|
|
attr_accessor :node_templates
|
|
|
|
# [Output Only] An informational warning that appears when the node templates
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeTemplatesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@node_templates = args[:node_templates] if args.key?(:node_templates)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] An informational warning that appears when the node templates
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeTemplatesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represent a sole-tenant Node Type resource. Each node within a node group must
|
|
# have a node type. A node type specifies the total amount of cores and memory
|
|
# for that node. Currently, the only available node type is n1-node-96-624 node
|
|
# type that has 96 vCPUs and 624 GB of memory, available in multiple zones. For
|
|
# more information read Node types.
|
|
class NodeType
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The CPU platform used by this node type.
|
|
# Corresponds to the JSON property `cpuPlatform`
|
|
# @return [String]
|
|
attr_accessor :cpu_platform
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Deprecation status for a public resource.
|
|
# Corresponds to the JSON property `deprecated`
|
|
# @return [Google::Apis::ComputeAlpha::DeprecationStatus]
|
|
attr_accessor :deprecated
|
|
|
|
# [Output Only] An optional textual description of the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The number of virtual CPUs that are available to the node type.
|
|
# Corresponds to the JSON property `guestCpus`
|
|
# @return [Fixnum]
|
|
attr_accessor :guest_cpus
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The type of the resource. Always compute#nodeType for node types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Local SSD available to the node type, defined in GB.
|
|
# Corresponds to the JSON property `localSsdGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :local_ssd_gb
|
|
|
|
# [Output Only] The amount of physical memory available to the node type,
|
|
# defined in MB.
|
|
# Corresponds to the JSON property `memoryMb`
|
|
# @return [Fixnum]
|
|
attr_accessor :memory_mb
|
|
|
|
# [Output Only] Name of the resource.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The name of the zone where the node type resides, such as us-
|
|
# central1-a.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@cpu_platform = args[:cpu_platform] if args.key?(:cpu_platform)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
|
@description = args[:description] if args.key?(:description)
|
|
@guest_cpus = args[:guest_cpus] if args.key?(:guest_cpus)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@local_ssd_gb = args[:local_ssd_gb] if args.key?(:local_ssd_gb)
|
|
@memory_mb = args[:memory_mb] if args.key?(:memory_mb)
|
|
@name = args[:name] if args.key?(:name)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeTypeAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NodeTypesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::NodeTypesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource.Always compute#nodeTypeAggregatedList for
|
|
# aggregated lists of node types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeTypeAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeTypeAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of node types.
|
|
class NodeTypeList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NodeType resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeType>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource.Always compute#nodeTypeList for lists of node
|
|
# types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeTypeList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeTypeList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class NodeTypesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of node types contained in this scope.
|
|
# Corresponds to the JSON property `nodeTypes`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeType>]
|
|
attr_accessor :node_types
|
|
|
|
# [Output Only] An informational warning that appears when the node types list
|
|
# is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NodeTypesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@node_types = args[:node_types] if args.key?(:node_types)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] An informational warning that appears when the node types list
|
|
# is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NodeTypesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a notification endpoint. A notification endpoint resource defines
|
|
# an endpoint to receive notifications when there are status changes detected by
|
|
# the associated health check service. For more information, see Health checks
|
|
# overview.
|
|
class NotificationEndpoint
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Represents a gRPC setting that describes one gRPC notification endpoint and
|
|
# the retry duration attempting to send notification to this endpoint.
|
|
# Corresponds to the JSON property `grpcSettings`
|
|
# @return [Google::Apis::ComputeAlpha::NotificationEndpointGrpcSettings]
|
|
attr_accessor :grpc_settings
|
|
|
|
# [Output Only] A unique identifier for this resource type. The server generates
|
|
# this identifier.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#notificationEndpoint for
|
|
# notification endpoints.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] URL of the region where the notification endpoint resides. This
|
|
# field applies only to the regional resource. You must specify this field as
|
|
# part of the HTTP request URL. It is not settable as a field in the request
|
|
# body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@grpc_settings = args[:grpc_settings] if args.key?(:grpc_settings)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
end
|
|
end
|
|
|
|
# Contains a list of NotificationEndpointsScopedList.
|
|
class NotificationEndpointAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NotificationEndpointsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::NotificationEndpointsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NotificationEndpointAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NotificationEndpointAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a gRPC setting that describes one gRPC notification endpoint and
|
|
# the retry duration attempting to send notification to this endpoint.
|
|
class NotificationEndpointGrpcSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional. If specified, this field is used to set the authority header by the
|
|
# sender of notifications. See https://tools.ietf.org/html/rfc7540#section-8.1.2.
|
|
# 3
|
|
# Corresponds to the JSON property `authority`
|
|
# @return [String]
|
|
attr_accessor :authority
|
|
|
|
# Endpoint to which gRPC notifications are sent. This must be a valid gRPCLB DNS
|
|
# name.
|
|
# Corresponds to the JSON property `endpoint`
|
|
# @return [String]
|
|
attr_accessor :endpoint
|
|
|
|
# Optional. If specified, this field is used to populate the "name" field in
|
|
# gRPC requests.
|
|
# Corresponds to the JSON property `payloadName`
|
|
# @return [String]
|
|
attr_accessor :payload_name
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `resendInterval`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :resend_interval
|
|
|
|
# How much time (in seconds) is spent attempting notification retries until a
|
|
# successful response is received. Default is 30s. Limit is 20m (1200s). Must be
|
|
# a positive number.
|
|
# Corresponds to the JSON property `retryDurationSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :retry_duration_sec
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@authority = args[:authority] if args.key?(:authority)
|
|
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
|
@payload_name = args[:payload_name] if args.key?(:payload_name)
|
|
@resend_interval = args[:resend_interval] if args.key?(:resend_interval)
|
|
@retry_duration_sec = args[:retry_duration_sec] if args.key?(:retry_duration_sec)
|
|
end
|
|
end
|
|
|
|
#
|
|
class NotificationEndpointList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of NotificationEndpoint resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NotificationEndpoint>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of the resource. Always compute#notificationEndpoint for
|
|
# notification endpoints.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NotificationEndpointList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NotificationEndpointList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class NotificationEndpointsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of NotificationEndpoints contained in this scope.
|
|
# Corresponds to the JSON property `resources`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NotificationEndpoint>]
|
|
attr_accessor :resources
|
|
|
|
# Informational warning which replaces the list of notification endpoints when
|
|
# the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::NotificationEndpointsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resources = args[:resources] if args.key?(:resources)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of notification endpoints when
|
|
# the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NotificationEndpointsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents an Operation resource. Google Compute Engine has three Operation
|
|
# resources: * [Global](/compute/docs/reference/rest/alpha/globalOperations) * [
|
|
# Regional](/compute/docs/reference/rest/alpha/regionOperations) * [Zonal](/
|
|
# compute/docs/reference/rest/alpha/zoneOperations) You can use an operation
|
|
# resource to manage asynchronous API requests. For more information, read
|
|
# Handling API responses. Operations can be global, regional or zonal. - For
|
|
# global operations, use the `globalOperations` resource. - For regional
|
|
# operations, use the `regionOperations` resource. - For zonal operations, use
|
|
# the `zonalOperations` resource. For more information, read Global, Regional,
|
|
# and Zonal Resources.
|
|
class Operation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The value of `requestId` if you provided it in the request. Not
|
|
# present otherwise.
|
|
# Corresponds to the JSON property `clientOperationId`
|
|
# @return [String]
|
|
attr_accessor :client_operation_id
|
|
|
|
# [Deprecated] This field is deprecated.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# [Output Only] A textual description of the operation, which is set when the
|
|
# operation is created.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The time that this operation was completed. This value is in
|
|
# RFC3339 text format.
|
|
# Corresponds to the JSON property `endTime`
|
|
# @return [String]
|
|
attr_accessor :end_time
|
|
|
|
# [Output Only] If errors are generated during processing of the operation, this
|
|
# field will be populated.
|
|
# Corresponds to the JSON property `error`
|
|
# @return [Google::Apis::ComputeAlpha::Operation::Error]
|
|
attr_accessor :error
|
|
|
|
# [Output Only] If the operation fails, this field contains the HTTP error
|
|
# message that was returned, such as `NOT FOUND`.
|
|
# Corresponds to the JSON property `httpErrorMessage`
|
|
# @return [String]
|
|
attr_accessor :http_error_message
|
|
|
|
# [Output Only] If the operation fails, this field contains the HTTP error
|
|
# status code that was returned. For example, a `404` means the resource was not
|
|
# found.
|
|
# Corresponds to the JSON property `httpErrorStatusCode`
|
|
# @return [Fixnum]
|
|
attr_accessor :http_error_status_code
|
|
|
|
# [Output Only] The unique identifier for the operation. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The time that this operation was requested. This value is in
|
|
# RFC3339 text format.
|
|
# Corresponds to the JSON property `insertTime`
|
|
# @return [String]
|
|
attr_accessor :insert_time
|
|
|
|
# [Output Only] Type of the resource. Always `compute#operation` for Operation
|
|
# resources.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Service-specific metadata attached to this operation.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Hash<String,Object>]
|
|
attr_accessor :metadata
|
|
|
|
# [Output Only] Name of the operation.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] An ID that represents a group of operations, such as when a
|
|
# group of operations results from a `bulkInsert` API request.
|
|
# Corresponds to the JSON property `operationGroupId`
|
|
# @return [String]
|
|
attr_accessor :operation_group_id
|
|
|
|
# [Output Only] The type of operation, such as `insert`, `update`, or `delete`,
|
|
# and so on.
|
|
# Corresponds to the JSON property `operationType`
|
|
# @return [String]
|
|
attr_accessor :operation_type
|
|
|
|
# [Output Only] An optional progress indicator that ranges from 0 to 100. There
|
|
# is no requirement that this be linear or support any granularity of operations.
|
|
# This should not be used to guess when the operation will be complete. This
|
|
# number should monotonically increase as the operation progresses.
|
|
# Corresponds to the JSON property `progress`
|
|
# @return [Fixnum]
|
|
attr_accessor :progress
|
|
|
|
# [Output Only] The URL of the region where the operation resides. Only
|
|
# applicable when performing regional operations.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The time that this operation was started by the server. This
|
|
# value is in RFC3339 text format.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
# [Output Only] The status of the operation, which can be one of the following: `
|
|
# PENDING`, `RUNNING`, or `DONE`.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] An optional textual description of the current status of the
|
|
# operation.
|
|
# Corresponds to the JSON property `statusMessage`
|
|
# @return [String]
|
|
attr_accessor :status_message
|
|
|
|
# [Output Only] The unique target ID, which identifies a specific incarnation of
|
|
# the target resource.
|
|
# Corresponds to the JSON property `targetId`
|
|
# @return [Fixnum]
|
|
attr_accessor :target_id
|
|
|
|
# [Output Only] The URL of the resource that the operation modifies. For
|
|
# operations related to creating a snapshot, this points to the persistent disk
|
|
# that the snapshot was created from.
|
|
# Corresponds to the JSON property `targetLink`
|
|
# @return [String]
|
|
attr_accessor :target_link
|
|
|
|
# [Output Only] User who requested the operation, for example: `user@example.com`
|
|
# .
|
|
# Corresponds to the JSON property `user`
|
|
# @return [String]
|
|
attr_accessor :user
|
|
|
|
# [Output Only] If warning messages are generated during processing of the
|
|
# operation, this field will be populated.
|
|
# Corresponds to the JSON property `warnings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Operation::Warning>]
|
|
attr_accessor :warnings
|
|
|
|
# [Output Only] The URL of the zone where the operation resides. Only applicable
|
|
# when performing per-zone operations.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@client_operation_id = args[:client_operation_id] if args.key?(:client_operation_id)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@end_time = args[:end_time] if args.key?(:end_time)
|
|
@error = args[:error] if args.key?(:error)
|
|
@http_error_message = args[:http_error_message] if args.key?(:http_error_message)
|
|
@http_error_status_code = args[:http_error_status_code] if args.key?(:http_error_status_code)
|
|
@id = args[:id] if args.key?(:id)
|
|
@insert_time = args[:insert_time] if args.key?(:insert_time)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@name = args[:name] if args.key?(:name)
|
|
@operation_group_id = args[:operation_group_id] if args.key?(:operation_group_id)
|
|
@operation_type = args[:operation_type] if args.key?(:operation_type)
|
|
@progress = args[:progress] if args.key?(:progress)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
@status = args[:status] if args.key?(:status)
|
|
@status_message = args[:status_message] if args.key?(:status_message)
|
|
@target_id = args[:target_id] if args.key?(:target_id)
|
|
@target_link = args[:target_link] if args.key?(:target_link)
|
|
@user = args[:user] if args.key?(:user)
|
|
@warnings = args[:warnings] if args.key?(:warnings)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
|
|
# [Output Only] If errors are generated during processing of the operation, this
|
|
# field will be populated.
|
|
class Error
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The array of errors encountered while processing this operation.
|
|
# Corresponds to the JSON property `errors`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Operation::Error::Error>]
|
|
attr_accessor :errors
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@errors = args[:errors] if args.key?(:errors)
|
|
end
|
|
|
|
#
|
|
class Error
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The error type identifier for this error.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Indicates the field in the request that caused the error. This
|
|
# property is optional.
|
|
# Corresponds to the JSON property `location`
|
|
# @return [String]
|
|
attr_accessor :location
|
|
|
|
# [Output Only] An optional, human-readable error message.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@location = args[:location] if args.key?(:location)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Operation::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class OperationAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] A map of scoped operation lists.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::OperationsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always `compute#operationAggregatedList` for
|
|
# aggregated lists of operations.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than `maxResults`, use the `
|
|
# nextPageToken` as a value for the query parameter `pageToken` in the next list
|
|
# request. Subsequent list requests will have their own `nextPageToken` to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::OperationAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::OperationAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of Operation resources.
|
|
class OperationList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] A list of Operation resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Operation>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always `compute#operations` for Operations
|
|
# resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than `maxResults`, use the `
|
|
# nextPageToken` as a value for the query parameter `pageToken` in the next list
|
|
# request. Subsequent list requests will have their own `nextPageToken` to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::OperationList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::OperationList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class OperationsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of operations contained in this scope.
|
|
# Corresponds to the JSON property `operations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Operation>]
|
|
attr_accessor :operations
|
|
|
|
# [Output Only] Informational warning which replaces the list of operations when
|
|
# the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::OperationsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@operations = args[:operations] if args.key?(:operations)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of operations when
|
|
# the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::OperationsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class OrganizationSecurityPoliciesListAssociationsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of associations.
|
|
# Corresponds to the JSON property `associations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
|
|
attr_accessor :associations
|
|
|
|
# [Output Only] Type of securityPolicy associations. Always compute#
|
|
# organizationSecurityPoliciesListAssociations for lists of securityPolicy
|
|
# associations.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@associations = args[:associations] if args.key?(:associations)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] Configuration for the origin authentication method. Configuration
|
|
# for the origin authentication method.
|
|
class OriginAuthenticationMethod
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] JWT configuration for origin authentication. JWT configuration
|
|
# for origin authentication.
|
|
# Corresponds to the JSON property `jwt`
|
|
# @return [Google::Apis::ComputeAlpha::Jwt]
|
|
attr_accessor :jwt
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@jwt = args[:jwt] if args.key?(:jwt)
|
|
end
|
|
end
|
|
|
|
# Settings controlling the eviction of unhealthy hosts from the load balancing
|
|
# pool for the backend service.
|
|
class OutlierDetection
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `baseEjectionTime`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :base_ejection_time
|
|
|
|
# Number of errors before a host is ejected from the connection pool. When the
|
|
# backend host is accessed over HTTP, a 5xx return code qualifies as an error.
|
|
# Defaults to 5.
|
|
# Corresponds to the JSON property `consecutiveErrors`
|
|
# @return [Fixnum]
|
|
attr_accessor :consecutive_errors
|
|
|
|
# The number of consecutive gateway failures (502, 503, 504 status or connection
|
|
# errors that are mapped to one of those status codes) before a consecutive
|
|
# gateway failure ejection occurs. Defaults to 3.
|
|
# Corresponds to the JSON property `consecutiveGatewayFailure`
|
|
# @return [Fixnum]
|
|
attr_accessor :consecutive_gateway_failure
|
|
|
|
# The percentage chance that a host will be actually ejected when an outlier
|
|
# status is detected through consecutive 5xx. This setting can be used to
|
|
# disable ejection or to ramp it up slowly. Defaults to 0.
|
|
# Corresponds to the JSON property `enforcingConsecutiveErrors`
|
|
# @return [Fixnum]
|
|
attr_accessor :enforcing_consecutive_errors
|
|
|
|
# The percentage chance that a host will be actually ejected when an outlier
|
|
# status is detected through consecutive gateway failures. This setting can be
|
|
# used to disable ejection or to ramp it up slowly. Defaults to 100.
|
|
# Corresponds to the JSON property `enforcingConsecutiveGatewayFailure`
|
|
# @return [Fixnum]
|
|
attr_accessor :enforcing_consecutive_gateway_failure
|
|
|
|
# The percentage chance that a host will be actually ejected when an outlier
|
|
# status is detected through success rate statistics. This setting can be used
|
|
# to disable ejection or to ramp it up slowly. Defaults to 100.
|
|
# Corresponds to the JSON property `enforcingSuccessRate`
|
|
# @return [Fixnum]
|
|
attr_accessor :enforcing_success_rate
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `interval`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :interval
|
|
|
|
# Maximum percentage of hosts in the load balancing pool for the backend service
|
|
# that can be ejected. Defaults to 50%.
|
|
# Corresponds to the JSON property `maxEjectionPercent`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_ejection_percent
|
|
|
|
# The number of hosts in a cluster that must have enough request volume to
|
|
# detect success rate outliers. If the number of hosts is less than this setting,
|
|
# outlier detection via success rate statistics is not performed for any host
|
|
# in the cluster. Defaults to 5.
|
|
# Corresponds to the JSON property `successRateMinimumHosts`
|
|
# @return [Fixnum]
|
|
attr_accessor :success_rate_minimum_hosts
|
|
|
|
# The minimum number of total requests that must be collected in one interval (
|
|
# as defined by the interval duration above) to include this host in success
|
|
# rate based outlier detection. If the volume is lower than this setting,
|
|
# outlier detection via success rate statistics is not performed for that host.
|
|
# Defaults to 100.
|
|
# Corresponds to the JSON property `successRateRequestVolume`
|
|
# @return [Fixnum]
|
|
attr_accessor :success_rate_request_volume
|
|
|
|
# This factor is used to determine the ejection threshold for success rate
|
|
# outlier ejection. The ejection threshold is the difference between the mean
|
|
# success rate, and the product of this factor and the standard deviation of the
|
|
# mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is
|
|
# divided by a thousand to get a double. That is, if the desired factor is 1.9,
|
|
# the runtime value should be 1900. Defaults to 1900.
|
|
# Corresponds to the JSON property `successRateStdevFactor`
|
|
# @return [Fixnum]
|
|
attr_accessor :success_rate_stdev_factor
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@base_ejection_time = args[:base_ejection_time] if args.key?(:base_ejection_time)
|
|
@consecutive_errors = args[:consecutive_errors] if args.key?(:consecutive_errors)
|
|
@consecutive_gateway_failure = args[:consecutive_gateway_failure] if args.key?(:consecutive_gateway_failure)
|
|
@enforcing_consecutive_errors = args[:enforcing_consecutive_errors] if args.key?(:enforcing_consecutive_errors)
|
|
@enforcing_consecutive_gateway_failure = args[:enforcing_consecutive_gateway_failure] if args.key?(:enforcing_consecutive_gateway_failure)
|
|
@enforcing_success_rate = args[:enforcing_success_rate] if args.key?(:enforcing_success_rate)
|
|
@interval = args[:interval] if args.key?(:interval)
|
|
@max_ejection_percent = args[:max_ejection_percent] if args.key?(:max_ejection_percent)
|
|
@success_rate_minimum_hosts = args[:success_rate_minimum_hosts] if args.key?(:success_rate_minimum_hosts)
|
|
@success_rate_request_volume = args[:success_rate_request_volume] if args.key?(:success_rate_request_volume)
|
|
@success_rate_stdev_factor = args[:success_rate_stdev_factor] if args.key?(:success_rate_stdev_factor)
|
|
end
|
|
end
|
|
|
|
# Next free: 7
|
|
class PacketIntervals
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Average observed inter-packet interval in milliseconds.
|
|
# Corresponds to the JSON property `avgMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :avg_ms
|
|
|
|
# From how long ago in the past these intervals were observed.
|
|
# Corresponds to the JSON property `duration`
|
|
# @return [String]
|
|
attr_accessor :duration
|
|
|
|
# Maximum observed inter-packet interval in milliseconds.
|
|
# Corresponds to the JSON property `maxMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_ms
|
|
|
|
# Minimum observed inter-packet interval in milliseconds.
|
|
# Corresponds to the JSON property `minMs`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_ms
|
|
|
|
# Number of inter-packet intervals from which these statistics were derived.
|
|
# Corresponds to the JSON property `numIntervals`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_intervals
|
|
|
|
# The type of packets for which inter-packet intervals were computed.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@avg_ms = args[:avg_ms] if args.key?(:avg_ms)
|
|
@duration = args[:duration] if args.key?(:duration)
|
|
@max_ms = args[:max_ms] if args.key?(:max_ms)
|
|
@min_ms = args[:min_ms] if args.key?(:min_ms)
|
|
@num_intervals = args[:num_intervals] if args.key?(:num_intervals)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Represents a Packet Mirroring resource. Packet Mirroring clones the traffic of
|
|
# specified instances in your Virtual Private Cloud (VPC) network and forwards
|
|
# it to a collector destination, such as an instance group of an internal TCP/
|
|
# UDP load balancer, for analysis or examination. For more information about
|
|
# setting up Packet Mirroring, see Using Packet Mirroring.
|
|
class PacketMirroring
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Forwarding Rule resource of type loadBalancingScheme=INTERNAL that will be
|
|
# used as collector for mirrored traffic. The specified forwarding rule must
|
|
# have isMirroringCollector set to true.
|
|
# Corresponds to the JSON property `collectorIlb`
|
|
# @return [Google::Apis::ComputeAlpha::PacketMirroringForwardingRuleInfo]
|
|
attr_accessor :collector_ilb
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Indicates whether or not this packet mirroring takes effect. If set to FALSE,
|
|
# this packet mirroring policy will not be enforced on the network. The default
|
|
# is TRUE.
|
|
# Corresponds to the JSON property `enable`
|
|
# @return [String]
|
|
attr_accessor :enable
|
|
|
|
# Filter for mirrored traffic. If unspecified, all traffic is mirrored.
|
|
# Corresponds to the JSON property `filter`
|
|
# @return [Google::Apis::ComputeAlpha::PacketMirroringFilter]
|
|
attr_accessor :filter
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#packetMirroring for packet
|
|
# mirrorings.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# PacketMirroring mirroredResourceInfos. MirroredResourceInfo specifies a set of
|
|
# mirrored VM instances, subnetworks and/or tags for which traffic from/to all
|
|
# VM instances will be mirrored.
|
|
# Corresponds to the JSON property `mirroredResources`
|
|
# @return [Google::Apis::ComputeAlpha::PacketMirroringMirroredResourceInfo]
|
|
attr_accessor :mirrored_resources
|
|
|
|
# Name of the resource; provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Specifies the mirrored VPC network. Only packets in this network will be
|
|
# mirrored. All mirrored VMs should have a NIC in the given network. All
|
|
# mirrored subnetworks should belong to the given network.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [Google::Apis::ComputeAlpha::PacketMirroringNetworkInfo]
|
|
attr_accessor :network
|
|
|
|
# The priority of applying this configuration. Priority is used to break ties in
|
|
# cases where there is more than one matching rule. In the case of two rules
|
|
# that apply for a given Instance, the one with the lowest-numbered priority
|
|
# value wins. Default value is 1000. Valid range is 0 through 65535.
|
|
# Corresponds to the JSON property `priority`
|
|
# @return [Fixnum]
|
|
attr_accessor :priority
|
|
|
|
# [Output Only] URI of the region where the packetMirroring resides.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@collector_ilb = args[:collector_ilb] if args.key?(:collector_ilb)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@enable = args[:enable] if args.key?(:enable)
|
|
@filter = args[:filter] if args.key?(:filter)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@mirrored_resources = args[:mirrored_resources] if args.key?(:mirrored_resources)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@priority = args[:priority] if args.key?(:priority)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
end
|
|
end
|
|
|
|
# Contains a list of packetMirrorings.
|
|
class PacketMirroringAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of PacketMirroring resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::PacketMirroringsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::PacketMirroringAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PacketMirroringAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class PacketMirroringFilter
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Protocols that apply as filter on mirrored traffic. If no protocols are
|
|
# specified, all traffic that matches the specified CIDR ranges is mirrored. If
|
|
# neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
|
|
# Corresponds to the JSON property `IPProtocols`
|
|
# @return [Array<String>]
|
|
attr_accessor :ip_protocols
|
|
|
|
# IP CIDR ranges that apply as filter on the source (ingress) or destination (
|
|
# egress) IP in the IP header. Only IPv4 is supported. If no ranges are
|
|
# specified, all traffic that matches the specified IPProtocols is mirrored. If
|
|
# neither cidrRanges nor IPProtocols is specified, all traffic is mirrored.
|
|
# Corresponds to the JSON property `cidrRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :cidr_ranges
|
|
|
|
# Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default
|
|
# is BOTH.
|
|
# Corresponds to the JSON property `direction`
|
|
# @return [String]
|
|
attr_accessor :direction
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_protocols = args[:ip_protocols] if args.key?(:ip_protocols)
|
|
@cidr_ranges = args[:cidr_ranges] if args.key?(:cidr_ranges)
|
|
@direction = args[:direction] if args.key?(:direction)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PacketMirroringForwardingRuleInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the forwarding rule; defined by the server.
|
|
# Corresponds to the JSON property `canonicalUrl`
|
|
# @return [String]
|
|
attr_accessor :canonical_url
|
|
|
|
# Resource URL to the forwarding rule representing the ILB configured as
|
|
# destination of the mirrored traffic.
|
|
# Corresponds to the JSON property `url`
|
|
# @return [String]
|
|
attr_accessor :url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@canonical_url = args[:canonical_url] if args.key?(:canonical_url)
|
|
@url = args[:url] if args.key?(:url)
|
|
end
|
|
end
|
|
|
|
# Contains a list of PacketMirroring resources.
|
|
class PacketMirroringList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of PacketMirroring resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PacketMirroring>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#packetMirroring for
|
|
# packetMirrorings.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::PacketMirroringList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PacketMirroringList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class PacketMirroringMirroredResourceInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A set of virtual machine instances that are being mirrored. They must live in
|
|
# zones contained in the same region as this packetMirroring. Note that this
|
|
# config will apply only to those network interfaces of the Instances that
|
|
# belong to the network specified in this packetMirroring. You may specify a
|
|
# maximum of 50 Instances.
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PacketMirroringMirroredResourceInfoInstanceInfo>]
|
|
attr_accessor :instances
|
|
|
|
# A set of subnetworks for which traffic from/to all VM instances will be
|
|
# mirrored. They must live in the same region as this packetMirroring. You may
|
|
# specify a maximum of 5 subnetworks.
|
|
# Corresponds to the JSON property `subnetworks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PacketMirroringMirroredResourceInfoSubnetInfo>]
|
|
attr_accessor :subnetworks
|
|
|
|
# A set of mirrored tags. Traffic from/to all VM instances that have one or more
|
|
# of these tags will be mirrored.
|
|
# Corresponds to the JSON property `tags`
|
|
# @return [Array<String>]
|
|
attr_accessor :tags
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
@subnetworks = args[:subnetworks] if args.key?(:subnetworks)
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PacketMirroringMirroredResourceInfoInstanceInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the instance; defined by the server.
|
|
# Corresponds to the JSON property `canonicalUrl`
|
|
# @return [String]
|
|
attr_accessor :canonical_url
|
|
|
|
# Resource URL to the virtual machine instance which is being mirrored.
|
|
# Corresponds to the JSON property `url`
|
|
# @return [String]
|
|
attr_accessor :url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@canonical_url = args[:canonical_url] if args.key?(:canonical_url)
|
|
@url = args[:url] if args.key?(:url)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PacketMirroringMirroredResourceInfoSubnetInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the subnetwork; defined by the server.
|
|
# Corresponds to the JSON property `canonicalUrl`
|
|
# @return [String]
|
|
attr_accessor :canonical_url
|
|
|
|
# Resource URL to the subnetwork for which traffic from/to all VM instances will
|
|
# be mirrored.
|
|
# Corresponds to the JSON property `url`
|
|
# @return [String]
|
|
attr_accessor :url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@canonical_url = args[:canonical_url] if args.key?(:canonical_url)
|
|
@url = args[:url] if args.key?(:url)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PacketMirroringNetworkInfo
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the network; defined by the server.
|
|
# Corresponds to the JSON property `canonicalUrl`
|
|
# @return [String]
|
|
attr_accessor :canonical_url
|
|
|
|
# URL of the network resource.
|
|
# Corresponds to the JSON property `url`
|
|
# @return [String]
|
|
attr_accessor :url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@canonical_url = args[:canonical_url] if args.key?(:canonical_url)
|
|
@url = args[:url] if args.key?(:url)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PacketMirroringsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of packetMirrorings contained in this scope.
|
|
# Corresponds to the JSON property `packetMirrorings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PacketMirroring>]
|
|
attr_accessor :packet_mirrorings
|
|
|
|
# Informational warning which replaces the list of packetMirrorings when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::PacketMirroringsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@packet_mirrorings = args[:packet_mirrorings] if args.key?(:packet_mirrorings)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of packetMirrorings when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PacketMirroringsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# A matcher for the path portion of the URL. The BackendService from the longest-
|
|
# matched rule will serve the URL. If no rule was matched, the default service
|
|
# is used.
|
|
class PathMatcher
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# defaultRouteAction takes effect when none of the pathRules or routeRules match.
|
|
# The load balancer performs advanced routing actions, such as URL rewrites and
|
|
# header transformations, before forwarding the request to the selected backend.
|
|
# If defaultRouteAction specifies any weightedBackendServices, defaultService
|
|
# must not be set. Conversely if defaultService is set, defaultRouteAction
|
|
# cannot contain any weightedBackendServices. Only one of defaultRouteAction or
|
|
# defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
|
|
# support only the urlRewrite action within a path matcher's defaultRouteAction.
|
|
# Corresponds to the JSON property `defaultRouteAction`
|
|
# @return [Google::Apis::ComputeAlpha::HttpRouteAction]
|
|
attr_accessor :default_route_action
|
|
|
|
# The full or partial URL to the BackendService resource. This URL is used if
|
|
# none of the pathRules or routeRules defined by this PathMatcher are matched.
|
|
# For example, the following are all valid URLs to a BackendService resource: -
|
|
# https://www.googleapis.com/compute/v1/projects/project /global/backendServices/
|
|
# backendService - compute/v1/projects/project/global/backendServices/
|
|
# backendService - global/backendServices/backendService If defaultRouteAction
|
|
# is also specified, advanced routing actions, such as URL rewrites, take effect
|
|
# before sending the request to the backend. However, if defaultService is
|
|
# specified, defaultRouteAction cannot contain any weightedBackendServices.
|
|
# Conversely, if defaultRouteAction specifies any weightedBackendServices,
|
|
# defaultService must not be specified. Only one of defaultService,
|
|
# defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set.
|
|
# Authorization requires one or more of the following Google IAM permissions on
|
|
# the specified resource default_service: - compute.backendBuckets.use - compute.
|
|
# backendServices.use
|
|
# Corresponds to the JSON property `defaultService`
|
|
# @return [String]
|
|
attr_accessor :default_service
|
|
|
|
# Specifies settings for an HTTP redirect.
|
|
# Corresponds to the JSON property `defaultUrlRedirect`
|
|
# @return [Google::Apis::ComputeAlpha::HttpRedirectAction]
|
|
attr_accessor :default_url_redirect
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The request and response header transformations that take effect before the
|
|
# request is passed along to the selected backendService.
|
|
# Corresponds to the JSON property `headerAction`
|
|
# @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
|
|
attr_accessor :header_action
|
|
|
|
# The name to which this PathMatcher is referred by the HostRule.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The list of path rules. Use this list instead of routeRules when routing based
|
|
# on simple path matching is all that's required. The order by which path rules
|
|
# are specified does not matter. Matches are always done on the longest-path-
|
|
# first basis. For example: a pathRule with a path /a/b/c/* will match before /a/
|
|
# b/* irrespective of the order in which those paths appear in this list. Within
|
|
# a given pathMatcher, only one of pathRules or routeRules must be set.
|
|
# Corresponds to the JSON property `pathRules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PathRule>]
|
|
attr_accessor :path_rules
|
|
|
|
# The list of HTTP route rules. Use this list instead of pathRules when advanced
|
|
# route matching and routing actions are desired. routeRules are evaluated in
|
|
# order of priority, from the lowest to highest number. Within a given
|
|
# pathMatcher, you can set only one of pathRules or routeRules.
|
|
# Corresponds to the JSON property `routeRules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HttpRouteRule>]
|
|
attr_accessor :route_rules
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@default_route_action = args[:default_route_action] if args.key?(:default_route_action)
|
|
@default_service = args[:default_service] if args.key?(:default_service)
|
|
@default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
|
|
@description = args[:description] if args.key?(:description)
|
|
@header_action = args[:header_action] if args.key?(:header_action)
|
|
@name = args[:name] if args.key?(:name)
|
|
@path_rules = args[:path_rules] if args.key?(:path_rules)
|
|
@route_rules = args[:route_rules] if args.key?(:route_rules)
|
|
end
|
|
end
|
|
|
|
# A path-matching rule for a URL. If matched, will use the specified
|
|
# BackendService to handle the traffic arriving at this URL.
|
|
class PathRule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of path patterns to match. Each must start with / and the only place
|
|
# a * is allowed is at the end following a /. The string fed to the path matcher
|
|
# does not include any text after the first ? or #, and those chars are not
|
|
# allowed here.
|
|
# Corresponds to the JSON property `paths`
|
|
# @return [Array<String>]
|
|
attr_accessor :paths
|
|
|
|
# In response to a matching path, the load balancer performs advanced routing
|
|
# actions, such as URL rewrites and header transformations, before forwarding
|
|
# the request to the selected backend. If routeAction specifies any
|
|
# weightedBackendServices, service must not be set. Conversely if service is set,
|
|
# routeAction cannot contain any weightedBackendServices. Only one of
|
|
# routeAction or urlRedirect must be set. URL maps for external HTTP(S) load
|
|
# balancers support only the urlRewrite action within a path rule's routeAction.
|
|
# Corresponds to the JSON property `routeAction`
|
|
# @return [Google::Apis::ComputeAlpha::HttpRouteAction]
|
|
attr_accessor :route_action
|
|
|
|
# The full or partial URL of the backend service resource to which traffic is
|
|
# directed if this rule is matched. If routeAction is also specified, advanced
|
|
# routing actions, such as URL rewrites, take effect before sending the request
|
|
# to the backend. However, if service is specified, routeAction cannot contain
|
|
# any weightedBackendServices. Conversely, if routeAction specifies any
|
|
# weightedBackendServices, service must not be specified. Only one of
|
|
# urlRedirect, service or routeAction.weightedBackendService must be set.
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
# Specifies settings for an HTTP redirect.
|
|
# Corresponds to the JSON property `urlRedirect`
|
|
# @return [Google::Apis::ComputeAlpha::HttpRedirectAction]
|
|
attr_accessor :url_redirect
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@paths = args[:paths] if args.key?(:paths)
|
|
@route_action = args[:route_action] if args.key?(:route_action)
|
|
@service = args[:service] if args.key?(:service)
|
|
@url_redirect = args[:url_redirect] if args.key?(:url_redirect)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] Configuration for the peer authentication method. Configuration
|
|
# for the peer authentication method.
|
|
class PeerAuthenticationMethod
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] Configuration for the mutual Tls mode for peer authentication.
|
|
# Configuration for the mutual Tls mode for peer authentication.
|
|
# Corresponds to the JSON property `mtls`
|
|
# @return [Google::Apis::ComputeAlpha::MutualTls]
|
|
attr_accessor :mtls
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@mtls = args[:mtls] if args.key?(:mtls)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PerInstanceConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Fingerprint of this per-instance config. This field can be used in optimistic
|
|
# locking. It is ignored when inserting a per-instance config. An up-to-date
|
|
# fingerprint must be provided in order to update an existing per-instance
|
|
# config or the field needs to be unset.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# The name of a per-instance config and its corresponding instance. Serves as a
|
|
# merge key during UpdatePerInstanceConfigs operations, that is, if a per-
|
|
# instance config with the same name exists then it will be updated, otherwise a
|
|
# new one will be created for the VM instance with the same name. An attempt to
|
|
# create a per-instance config for a VM instance that either doesn't exist or is
|
|
# not part of the group will result in an error.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Preserved state for a given instance.
|
|
# Corresponds to the JSON property `preservedState`
|
|
# @return [Google::Apis::ComputeAlpha::PreservedState]
|
|
attr_accessor :preserved_state
|
|
|
|
# The status of applying this per-instance config on the corresponding managed
|
|
# instance.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@name = args[:name] if args.key?(:name)
|
|
@preserved_state = args[:preserved_state] if args.key?(:preserved_state)
|
|
@status = args[:status] if args.key?(:status)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] All fields defined in a permission are ANDed.
|
|
class Permission
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Extra custom constraints. The constraints are ANDed together.
|
|
# Corresponds to the JSON property `constraints`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PermissionConstraint>]
|
|
attr_accessor :constraints
|
|
|
|
# Used in Ingress or Egress Gateway cases to specify hosts that the policy
|
|
# applies to. Exact match, prefix match, and suffix match are supported.
|
|
# Corresponds to the JSON property `hosts`
|
|
# @return [Array<String>]
|
|
attr_accessor :hosts
|
|
|
|
# HTTP method.
|
|
# Corresponds to the JSON property `methods`
|
|
# @return [Array<String>]
|
|
attr_accessor :methods_prop
|
|
|
|
# Negate of hosts. Specifies exclusions.
|
|
# Corresponds to the JSON property `notHosts`
|
|
# @return [Array<String>]
|
|
attr_accessor :not_hosts
|
|
|
|
# Negate of methods. Specifies exclusions.
|
|
# Corresponds to the JSON property `notMethods`
|
|
# @return [Array<String>]
|
|
attr_accessor :not_methods
|
|
|
|
# Negate of paths. Specifies exclusions.
|
|
# Corresponds to the JSON property `notPaths`
|
|
# @return [Array<String>]
|
|
attr_accessor :not_paths
|
|
|
|
# Negate of ports. Specifies exclusions.
|
|
# Corresponds to the JSON property `notPorts`
|
|
# @return [Array<String>]
|
|
attr_accessor :not_ports
|
|
|
|
# HTTP request paths or gRPC methods. Exact match, prefix match, and suffix
|
|
# match are supported.
|
|
# Corresponds to the JSON property `paths`
|
|
# @return [Array<String>]
|
|
attr_accessor :paths
|
|
|
|
# Port names or numbers.
|
|
# Corresponds to the JSON property `ports`
|
|
# @return [Array<String>]
|
|
attr_accessor :ports
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@constraints = args[:constraints] if args.key?(:constraints)
|
|
@hosts = args[:hosts] if args.key?(:hosts)
|
|
@methods_prop = args[:methods_prop] if args.key?(:methods_prop)
|
|
@not_hosts = args[:not_hosts] if args.key?(:not_hosts)
|
|
@not_methods = args[:not_methods] if args.key?(:not_methods)
|
|
@not_paths = args[:not_paths] if args.key?(:not_paths)
|
|
@not_ports = args[:not_ports] if args.key?(:not_ports)
|
|
@paths = args[:paths] if args.key?(:paths)
|
|
@ports = args[:ports] if args.key?(:ports)
|
|
end
|
|
end
|
|
|
|
# Custom constraint that specifies a key and a list of allowed values for Istio
|
|
# attributes.
|
|
class PermissionConstraint
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Key of the constraint.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# A list of allowed values.
|
|
# Corresponds to the JSON property `values`
|
|
# @return [Array<String>]
|
|
attr_accessor :values
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@values = args[:values] if args.key?(:values)
|
|
end
|
|
end
|
|
|
|
# An Identity and Access Management (IAM) policy, which specifies access
|
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
|
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
|
# Principals can be user accounts, service accounts, Google groups, and domains (
|
|
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
|
# an IAM predefined role or a user-created custom role. For some types of Google
|
|
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
|
# logical expression that allows access to a resource only if the expression
|
|
# evaluates to `true`. A condition can add constraints based on attributes of
|
|
# the request, the resource, or both. To learn which resources support
|
|
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
|
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
|
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
|
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
|
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
|
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
|
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
|
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
|
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
|
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
|
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
|
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
|
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
|
# access description: Does not grant access after Sep 2020 expression: request.
|
|
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
|
# a description of IAM and its features, see the [IAM documentation](https://
|
|
# cloud.google.com/iam/docs/).
|
|
class Policy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies cloud audit logging configuration for this policy.
|
|
# Corresponds to the JSON property `auditConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AuditConfig>]
|
|
attr_accessor :audit_configs
|
|
|
|
# Associates a list of `members`, or principals, with a `role`. Optionally, may
|
|
# specify a `condition` that determines how and when the `bindings` are applied.
|
|
# Each of the `bindings` must contain at least one principal. The `bindings` in
|
|
# a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
|
|
# can be Google groups. Each occurrence of a principal counts towards these
|
|
# limits. For example, if the `bindings` grant 50 different roles to `user:alice@
|
|
# example.com`, and not to any other principal, then you can add another 1,450
|
|
# principals to the `bindings` in the `Policy`.
|
|
# Corresponds to the JSON property `bindings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Binding>]
|
|
attr_accessor :bindings
|
|
|
|
# `etag` is used for optimistic concurrency control as a way to help prevent
|
|
# simultaneous updates of a policy from overwriting each other. It is strongly
|
|
# suggested that systems make use of the `etag` in the read-modify-write cycle
|
|
# to perform policy updates in order to avoid race conditions: An `etag` is
|
|
# returned in the response to `getIamPolicy`, and systems are expected to put
|
|
# that etag in the request to `setIamPolicy` to ensure that their change will be
|
|
# applied to the same version of the policy. **Important:** If you use IAM
|
|
# Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
|
|
# If you omit this field, then IAM allows you to overwrite a version `3` policy
|
|
# with a version `1` policy, and all of the conditions in the version `3` policy
|
|
# are lost.
|
|
# Corresponds to the JSON property `etag`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `rules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Rule>]
|
|
attr_accessor :rules
|
|
|
|
# Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
|
|
# Requests that specify an invalid value are rejected. Any operation that
|
|
# affects conditional role bindings must specify version `3`. This requirement
|
|
# applies to the following operations: * Getting a policy that includes a
|
|
# conditional role binding * Adding a conditional role binding to a policy *
|
|
# Changing a conditional role binding in a policy * Removing any role binding,
|
|
# with or without a condition, from a policy that includes conditions **
|
|
# Important:** If you use IAM Conditions, you must include the `etag` field
|
|
# whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
|
|
# to overwrite a version `3` policy with a version `1` policy, and all of the
|
|
# conditions in the version `3` policy are lost. If a policy does not include
|
|
# any conditions, operations on that policy may specify any valid version or
|
|
# leave the field unset. To learn which resources support conditions in their
|
|
# IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
|
|
# conditions/resource-policies).
|
|
# Corresponds to the JSON property `version`
|
|
# @return [Fixnum]
|
|
attr_accessor :version
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@audit_configs = args[:audit_configs] if args.key?(:audit_configs)
|
|
@bindings = args[:bindings] if args.key?(:bindings)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@rules = args[:rules] if args.key?(:rules)
|
|
@version = args[:version] if args.key?(:version)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PreconfiguredWafSet
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of entities that are currently supported for WAF rules.
|
|
# Corresponds to the JSON property `expressionSets`
|
|
# @return [Array<Google::Apis::ComputeAlpha::WafExpressionSet>]
|
|
attr_accessor :expression_sets
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@expression_sets = args[:expression_sets] if args.key?(:expression_sets)
|
|
end
|
|
end
|
|
|
|
# Preserved state for a given instance.
|
|
class PreservedState
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Preserved disks defined for this instance. This map is keyed with the device
|
|
# names of the disks.
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedDisk>]
|
|
attr_accessor :disks
|
|
|
|
# Preserved external IPs defined for this instance. This map is keyed with the
|
|
# name of the network interface.
|
|
# Corresponds to the JSON property `externalIPs`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIp>]
|
|
attr_accessor :external_i_ps
|
|
|
|
# Preserved internal IPs defined for this instance. This map is keyed with the
|
|
# name of the network interface.
|
|
# Corresponds to the JSON property `internalIPs`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIp>]
|
|
attr_accessor :internal_i_ps
|
|
|
|
# Preserved metadata defined for this instance.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :metadata
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
|
|
@internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PreservedStatePreservedDisk
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# These stateful disks will never be deleted during autohealing, update,
|
|
# instance recreate operations. This flag is used to configure if the disk
|
|
# should be deleted after it is no longer used by the group, e.g. when the given
|
|
# instance or the whole MIG is deleted. Note: disks attached in READ_ONLY mode
|
|
# cannot be auto-deleted.
|
|
# Corresponds to the JSON property `autoDelete`
|
|
# @return [String]
|
|
attr_accessor :auto_delete
|
|
|
|
# The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not
|
|
# specified, the default is to attach the disk in READ_WRITE mode.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
# The URL of the disk resource that is stateful and should be attached to the VM
|
|
# instance.
|
|
# Corresponds to the JSON property `source`
|
|
# @return [String]
|
|
attr_accessor :source
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
@source = args[:source] if args.key?(:source)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PreservedStatePreservedNetworkIp
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# These stateful IPs will never be released during autohealing, update or VM
|
|
# instance recreate operations. This flag is used to configure if the IP
|
|
# reservation should be deleted after it is no longer used by the group, e.g.
|
|
# when the given instance or the whole group is deleted.
|
|
# Corresponds to the JSON property `autoDelete`
|
|
# @return [String]
|
|
attr_accessor :auto_delete
|
|
|
|
# Ip address representation
|
|
# Corresponds to the JSON property `ipAddress`
|
|
# @return [Google::Apis::ComputeAlpha::PreservedStatePreservedNetworkIpIpAddress]
|
|
attr_accessor :ip_address
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PreservedStatePreservedNetworkIpIpAddress
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the reservation for this IP address.
|
|
# Corresponds to the JSON property `address`
|
|
# @return [String]
|
|
attr_accessor :address
|
|
|
|
# An IPv4 internal network address to assign to the instance for this network
|
|
# interface.
|
|
# Corresponds to the JSON property `literal`
|
|
# @return [String]
|
|
attr_accessor :literal
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@address = args[:address] if args.key?(:address)
|
|
@literal = args[:literal] if args.key?(:literal)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] All fields defined in a principal are ANDed.
|
|
class Principal
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An expression to specify custom condition.
|
|
# Corresponds to the JSON property `condition`
|
|
# @return [String]
|
|
attr_accessor :condition
|
|
|
|
# The groups the principal belongs to. Exact match, prefix match, and suffix
|
|
# match are supported.
|
|
# Corresponds to the JSON property `groups`
|
|
# @return [Array<String>]
|
|
attr_accessor :groups
|
|
|
|
# IPv4 or IPv6 address or range (In CIDR format)
|
|
# Corresponds to the JSON property `ips`
|
|
# @return [Array<String>]
|
|
attr_accessor :ips
|
|
|
|
# The namespaces. Exact match, prefix match, and suffix match are supported.
|
|
# Corresponds to the JSON property `namespaces`
|
|
# @return [Array<String>]
|
|
attr_accessor :namespaces
|
|
|
|
# Negate of groups. Specifies exclusions.
|
|
# Corresponds to the JSON property `notGroups`
|
|
# @return [Array<String>]
|
|
attr_accessor :not_groups
|
|
|
|
# Negate of IPs. Specifies exclusions.
|
|
# Corresponds to the JSON property `notIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :not_ips
|
|
|
|
# Negate of namespaces. Specifies exclusions.
|
|
# Corresponds to the JSON property `notNamespaces`
|
|
# @return [Array<String>]
|
|
attr_accessor :not_namespaces
|
|
|
|
# Negate of users. Specifies exclusions.
|
|
# Corresponds to the JSON property `notUsers`
|
|
# @return [Array<String>]
|
|
attr_accessor :not_users
|
|
|
|
# A map of Istio attribute to expected values. Exact match, prefix match, and
|
|
# suffix match are supported for values. For example, `request.headers[version]:
|
|
# "v1"`. The properties are ANDed together.
|
|
# Corresponds to the JSON property `properties`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :properties
|
|
|
|
# The user names/IDs or service accounts. Exact match, prefix match, and suffix
|
|
# match are supported.
|
|
# Corresponds to the JSON property `users`
|
|
# @return [Array<String>]
|
|
attr_accessor :users
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@condition = args[:condition] if args.key?(:condition)
|
|
@groups = args[:groups] if args.key?(:groups)
|
|
@ips = args[:ips] if args.key?(:ips)
|
|
@namespaces = args[:namespaces] if args.key?(:namespaces)
|
|
@not_groups = args[:not_groups] if args.key?(:not_groups)
|
|
@not_ips = args[:not_ips] if args.key?(:not_ips)
|
|
@not_namespaces = args[:not_namespaces] if args.key?(:not_namespaces)
|
|
@not_users = args[:not_users] if args.key?(:not_users)
|
|
@properties = args[:properties] if args.key?(:properties)
|
|
@users = args[:users] if args.key?(:users)
|
|
end
|
|
end
|
|
|
|
# Represents a Project resource. A project is used to organize resources in a
|
|
# Google Cloud Platform environment. For more information, read about the
|
|
# Resource Hierarchy.
|
|
class Project
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A metadata key/value entry.
|
|
# Corresponds to the JSON property `commonInstanceMetadata`
|
|
# @return [Google::Apis::ComputeAlpha::Metadata]
|
|
attr_accessor :common_instance_metadata
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# This signifies the default network tier used for configuring resources of the
|
|
# project and can only take the following values: PREMIUM, STANDARD. Initially
|
|
# the default network tier is PREMIUM.
|
|
# Corresponds to the JSON property `defaultNetworkTier`
|
|
# @return [String]
|
|
attr_accessor :default_network_tier
|
|
|
|
# [Output Only] Default service account used by VMs running in this project.
|
|
# Corresponds to the JSON property `defaultServiceAccount`
|
|
# @return [String]
|
|
attr_accessor :default_service_account
|
|
|
|
# An optional textual description of the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Restricted features enabled for use on this project.
|
|
# Corresponds to the JSON property `enabledFeatures`
|
|
# @return [Array<String>]
|
|
attr_accessor :enabled_features
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server. This is *not* the project ID, and is just a unique ID
|
|
# used by Compute Engine to identify resources.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#project for projects.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The project ID. For example: my-example-project. Use the project ID to make
|
|
# requests to Compute Engine.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Quotas assigned to this project.
|
|
# Corresponds to the JSON property `quotas`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Quota>]
|
|
attr_accessor :quotas
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# The location in Cloud Storage and naming method of the daily usage report.
|
|
# Contains bucket_name and report_name prefix.
|
|
# Corresponds to the JSON property `usageExportLocation`
|
|
# @return [Google::Apis::ComputeAlpha::UsageExportLocation]
|
|
attr_accessor :usage_export_location
|
|
|
|
# [Output Only] The role this project has in a shared VPC configuration.
|
|
# Currently, only projects with the host role, which is specified by the value
|
|
# HOST, are differentiated.
|
|
# Corresponds to the JSON property `xpnProjectStatus`
|
|
# @return [String]
|
|
attr_accessor :xpn_project_status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@common_instance_metadata = args[:common_instance_metadata] if args.key?(:common_instance_metadata)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@default_network_tier = args[:default_network_tier] if args.key?(:default_network_tier)
|
|
@default_service_account = args[:default_service_account] if args.key?(:default_service_account)
|
|
@description = args[:description] if args.key?(:description)
|
|
@enabled_features = args[:enabled_features] if args.key?(:enabled_features)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@quotas = args[:quotas] if args.key?(:quotas)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@usage_export_location = args[:usage_export_location] if args.key?(:usage_export_location)
|
|
@xpn_project_status = args[:xpn_project_status] if args.key?(:xpn_project_status)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ProjectsDisableXpnResourceRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Service resource (a.k.a service project) ID.
|
|
# Corresponds to the JSON property `xpnResource`
|
|
# @return [Google::Apis::ComputeAlpha::XpnResourceId]
|
|
attr_accessor :xpn_resource
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@xpn_resource = args[:xpn_resource] if args.key?(:xpn_resource)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ProjectsEnableXpnResourceRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Service resource (a.k.a service project) ID.
|
|
# Corresponds to the JSON property `xpnResource`
|
|
# @return [Google::Apis::ComputeAlpha::XpnResourceId]
|
|
attr_accessor :xpn_resource
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@xpn_resource = args[:xpn_resource] if args.key?(:xpn_resource)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ProjectsGetXpnResources
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Type of resource. Always compute#projectsGetXpnResources for
|
|
# lists of service resources (a.k.a service projects)
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# Service resources (a.k.a service projects) attached to this project as their
|
|
# shared VPC host.
|
|
# Corresponds to the JSON property `resources`
|
|
# @return [Array<Google::Apis::ComputeAlpha::XpnResourceId>]
|
|
attr_accessor :resources
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@resources = args[:resources] if args.key?(:resources)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ProjectsListXpnHostsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Optional organization ID managed by Cloud Resource Manager, for which to list
|
|
# shared VPC host projects. If not specified, the organization will be inferred
|
|
# from the project.
|
|
# Corresponds to the JSON property `organization`
|
|
# @return [String]
|
|
attr_accessor :organization
|
|
|
|
# Opt-in for partial page behavior which provides a partial filled page (number
|
|
# of items on which may be smaller than maxResults) within the API deadline. If
|
|
# opt-in, then the user should rely on if nextPageToken is empty in the response
|
|
# to determine if there is a next page. Empty page is also valid and possible.
|
|
# The default value is false.
|
|
# Corresponds to the JSON property `returnPartialPage`
|
|
# @return [Boolean]
|
|
attr_accessor :return_partial_page
|
|
alias_method :return_partial_page?, :return_partial_page
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@organization = args[:organization] if args.key?(:organization)
|
|
@return_partial_page = args[:return_partial_page] if args.key?(:return_partial_page)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ProjectsSetDefaultNetworkTierRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Default network tier to be set.
|
|
# Corresponds to the JSON property `networkTier`
|
|
# @return [String]
|
|
attr_accessor :network_tier
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@network_tier = args[:network_tier] if args.key?(:network_tier)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ProjectsSetDefaultServiceAccountRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Email address of the service account.
|
|
# Corresponds to the JSON property `email`
|
|
# @return [String]
|
|
attr_accessor :email
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@email = args[:email] if args.key?(:email)
|
|
end
|
|
end
|
|
|
|
# A public advertised prefix represents an aggregated IP prefix or netblock
|
|
# which customers bring to cloud. The IP prefix is a single unit of route
|
|
# advertisement and is announced globally to the internet.
|
|
class PublicAdvertisedPrefix
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The IPv4 address to be used for reverse DNS verification.
|
|
# Corresponds to the JSON property `dnsVerificationIp`
|
|
# @return [String]
|
|
attr_accessor :dns_verification_ip
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a new PublicAdvertisedPrefix. An up-to-date fingerprint must be
|
|
# provided in order to update the PublicAdvertisedPrefix, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve a PublicAdvertisedPrefix.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource type. The server
|
|
# generates this identifier.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# The IPv4 address range, in CIDR format, represented by this public advertised
|
|
# prefix.
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
# [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
|
|
# public advertised prefixes.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Specifies how child public delegated prefix will be scoped. It could be one of
|
|
# following values: - `REGIONAL`: The public delegated prefix is regional only.
|
|
# The provisioning will take a few minutes. - `GLOBAL`: The public delegated
|
|
# prefix is global only. The provisioning will take ~4 weeks. - `
|
|
# GLOBAL_AND_REGIONAL` [output only]: The public delegated prefixes is BYOIP V1
|
|
# legacy prefix. This is output only value and no longer supported in BYOIP V2.
|
|
# Corresponds to the JSON property `pdpScope`
|
|
# @return [String]
|
|
attr_accessor :pdp_scope
|
|
|
|
# [Output Only] The list of public delegated prefixes that exist for this public
|
|
# advertised prefix.
|
|
# Corresponds to the JSON property `publicDelegatedPrefixs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PublicAdvertisedPrefixPublicDelegatedPrefix>]
|
|
attr_accessor :public_delegated_prefixs
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL with id for the resource.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The shared secret to be used for reverse DNS verification.
|
|
# Corresponds to the JSON property `sharedSecret`
|
|
# @return [String]
|
|
attr_accessor :shared_secret
|
|
|
|
# The status of the public advertised prefix. Possible values include: - `
|
|
# INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured
|
|
# the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `
|
|
# REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `
|
|
# PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `
|
|
# PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `
|
|
# PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@dns_verification_ip = args[:dns_verification_ip] if args.key?(:dns_verification_ip)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@pdp_scope = args[:pdp_scope] if args.key?(:pdp_scope)
|
|
@public_delegated_prefixs = args[:public_delegated_prefixs] if args.key?(:public_delegated_prefixs)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@shared_secret = args[:shared_secret] if args.key?(:shared_secret)
|
|
@status = args[:status] if args.key?(:status)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PublicAdvertisedPrefixList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of PublicAdvertisedPrefix resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PublicAdvertisedPrefix>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of the resource. Always compute#publicAdvertisedPrefix for
|
|
# public advertised prefixes.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::PublicAdvertisedPrefixList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PublicAdvertisedPrefixList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a CIDR range which can be used to assign addresses.
|
|
class PublicAdvertisedPrefixPublicDelegatedPrefix
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IP address range of the public delegated prefix
|
|
# Corresponds to the JSON property `ipRange`
|
|
# @return [String]
|
|
attr_accessor :ip_range
|
|
|
|
# The name of the public delegated prefix
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The project number of the public delegated prefix
|
|
# Corresponds to the JSON property `project`
|
|
# @return [String]
|
|
attr_accessor :project
|
|
|
|
# The region of the public delegated prefix if it is regional. If absent, the
|
|
# prefix is global.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# The status of the public delegated prefix. Possible values are: INITIALIZING:
|
|
# The public delegated prefix is being initialized and addresses cannot be
|
|
# created yet. ANNOUNCED: The public delegated prefix is active.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_range = args[:ip_range] if args.key?(:ip_range)
|
|
@name = args[:name] if args.key?(:name)
|
|
@project = args[:project] if args.key?(:project)
|
|
@region = args[:region] if args.key?(:region)
|
|
@status = args[:status] if args.key?(:status)
|
|
end
|
|
end
|
|
|
|
# A PublicDelegatedPrefix resource represents an IP block within a
|
|
# PublicAdvertisedPrefix that is configured within a single cloud scope (global
|
|
# or region). IPs in the block can be allocated to resources within that scope.
|
|
# Public delegated prefixes may be further broken up into smaller IP blocks in
|
|
# the same scope as the parent block.
|
|
class PublicDelegatedPrefix
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be
|
|
# provided in order to update the PublicDelegatedPrefix, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve a PublicDelegatedPrefix.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource type. The server
|
|
# generates this identifier.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# The IPv4 address range, in CIDR format, represented by this public delegated
|
|
# prefix.
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
# If true, the prefix will be live migrated.
|
|
# Corresponds to the JSON property `isLiveMigration`
|
|
# @return [Boolean]
|
|
attr_accessor :is_live_migration
|
|
alias_method :is_live_migration?, :is_live_migration
|
|
|
|
# [Output Only] Type of the resource. Always compute#publicDelegatedPrefix for
|
|
# public delegated prefixes.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The URL of parent prefix. Either PublicAdvertisedPrefix or
|
|
# PublicDelegatedPrefix.
|
|
# Corresponds to the JSON property `parentPrefix`
|
|
# @return [String]
|
|
attr_accessor :parent_prefix
|
|
|
|
# The list of sub public delegated prefixes that exist for this public delegated
|
|
# prefix.
|
|
# Corresponds to the JSON property `publicDelegatedSubPrefixs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefixPublicDelegatedSubPrefix>]
|
|
attr_accessor :public_delegated_sub_prefixs
|
|
|
|
# [Output Only] URL of the region where the public delegated prefix resides.
|
|
# This field applies only to the region resource. You must specify this field as
|
|
# part of the HTTP request URL. It is not settable as a field in the request
|
|
# body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL with id for the resource.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] The status of the public delegated prefix, which can be one of
|
|
# following values: - `INITIALIZING` The public delegated prefix is being
|
|
# initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The
|
|
# public delegated prefix is a live migration prefix and is active. - `ANNOUNCED`
|
|
# The public delegated prefix is active. - `DELETING` The public delegated
|
|
# prefix is being deprovsioned.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
@is_live_migration = args[:is_live_migration] if args.key?(:is_live_migration)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@parent_prefix = args[:parent_prefix] if args.key?(:parent_prefix)
|
|
@public_delegated_sub_prefixs = args[:public_delegated_sub_prefixs] if args.key?(:public_delegated_sub_prefixs)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@status = args[:status] if args.key?(:status)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PublicDelegatedPrefixAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of PublicDelegatedPrefixesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::PublicDelegatedPrefixesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of the resource. Always compute#
|
|
# publicDelegatedPrefixAggregatedList for aggregated lists of public delegated
|
|
# prefixes.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::PublicDelegatedPrefixAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefixAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class PublicDelegatedPrefixList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of PublicDelegatedPrefix resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefix>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of the resource. Always compute#publicDelegatedPrefixList
|
|
# for public delegated prefixes.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::PublicDelegatedPrefixList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefixList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a sub PublicDelegatedPrefix.
|
|
class PublicDelegatedPrefixPublicDelegatedSubPrefix
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Name of the project scoping this PublicDelegatedSubPrefix.
|
|
# Corresponds to the JSON property `delegateeProject`
|
|
# @return [String]
|
|
attr_accessor :delegatee_project
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The IPv4 address range, in CIDR format, represented by this sub public
|
|
# delegated prefix.
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
# Whether the sub prefix is delegated to create Address resources in the
|
|
# delegatee project.
|
|
# Corresponds to the JSON property `isAddress`
|
|
# @return [Boolean]
|
|
attr_accessor :is_address
|
|
alias_method :is_address?, :is_address
|
|
|
|
# The name of the sub public delegated prefix.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] The region of the sub public delegated prefix if it is regional.
|
|
# If absent, the sub prefix is global.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] The status of the sub public delegated prefix.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@delegatee_project = args[:delegatee_project] if args.key?(:delegatee_project)
|
|
@description = args[:description] if args.key?(:description)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
@is_address = args[:is_address] if args.key?(:is_address)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region = args[:region] if args.key?(:region)
|
|
@status = args[:status] if args.key?(:status)
|
|
end
|
|
end
|
|
|
|
#
|
|
class PublicDelegatedPrefixesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of PublicDelegatedPrefixes contained in this scope.
|
|
# Corresponds to the JSON property `publicDelegatedPrefixes`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefix>]
|
|
attr_accessor :public_delegated_prefixes
|
|
|
|
# [Output Only] Informational warning which replaces the list of public
|
|
# delegated prefixes when the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::PublicDelegatedPrefixesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@public_delegated_prefixes = args[:public_delegated_prefixes] if args.key?(:public_delegated_prefixes)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of public
|
|
# delegated prefixes when the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PublicDelegatedPrefixesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# A quotas entry.
|
|
class Quota
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Quota limit for this metric.
|
|
# Corresponds to the JSON property `limit`
|
|
# @return [Float]
|
|
attr_accessor :limit
|
|
|
|
# [Output Only] Name of the quota metric.
|
|
# Corresponds to the JSON property `metric`
|
|
# @return [String]
|
|
attr_accessor :metric
|
|
|
|
# [Output Only] Owning resource. This is the resource on which this quota is
|
|
# applied.
|
|
# Corresponds to the JSON property `owner`
|
|
# @return [String]
|
|
attr_accessor :owner
|
|
|
|
# [Output Only] Current usage of this metric.
|
|
# Corresponds to the JSON property `usage`
|
|
# @return [Float]
|
|
attr_accessor :usage
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@limit = args[:limit] if args.key?(:limit)
|
|
@metric = args[:metric] if args.key?(:metric)
|
|
@owner = args[:owner] if args.key?(:owner)
|
|
@usage = args[:usage] if args.key?(:usage)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RbacPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Name of the RbacPolicy.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The list of permissions.
|
|
# Corresponds to the JSON property `permissions`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Permission>]
|
|
attr_accessor :permissions
|
|
|
|
# The list of principals.
|
|
# Corresponds to the JSON property `principals`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Principal>]
|
|
attr_accessor :principals
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@permissions = args[:permissions] if args.key?(:permissions)
|
|
@principals = args[:principals] if args.key?(:principals)
|
|
end
|
|
end
|
|
|
|
# Represents a reference to a resource.
|
|
class Reference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Type of the resource. Always compute#reference for references.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A description of the reference type with no implied semantics. Possible values
|
|
# include: 1. MEMBER_OF
|
|
# Corresponds to the JSON property `referenceType`
|
|
# @return [String]
|
|
attr_accessor :reference_type
|
|
|
|
# URL of the resource which refers to the target.
|
|
# Corresponds to the JSON property `referrer`
|
|
# @return [String]
|
|
attr_accessor :referrer
|
|
|
|
# URL of the resource to which this reference points.
|
|
# Corresponds to the JSON property `target`
|
|
# @return [String]
|
|
attr_accessor :target
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@reference_type = args[:reference_type] if args.key?(:reference_type)
|
|
@referrer = args[:referrer] if args.key?(:referrer)
|
|
@target = args[:target] if args.key?(:target)
|
|
end
|
|
end
|
|
|
|
# Represents a Region resource. A region is a geographical area where a resource
|
|
# is located. For more information, read Regions and Zones.
|
|
class Region
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Deprecation status for a public resource.
|
|
# Corresponds to the JSON property `deprecated`
|
|
# @return [Google::Apis::ComputeAlpha::DeprecationStatus]
|
|
attr_accessor :deprecated
|
|
|
|
# [Output Only] Textual description of the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#region for regions.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Name of the resource.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Quotas assigned to this region.
|
|
# Corresponds to the JSON property `quotas`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Quota>]
|
|
attr_accessor :quotas
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] Status of the region, either UP or DOWN.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `supportsPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :supports_pzs
|
|
alias_method :supports_pzs?, :supports_pzs
|
|
|
|
# [Output Only] A list of zones available in this region, in the form of
|
|
# resource URLs.
|
|
# Corresponds to the JSON property `zones`
|
|
# @return [Array<String>]
|
|
attr_accessor :zones
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@quotas = args[:quotas] if args.key?(:quotas)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@status = args[:status] if args.key?(:status)
|
|
@supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
|
|
@zones = args[:zones] if args.key?(:zones)
|
|
end
|
|
end
|
|
|
|
# Contains a list of autoscalers.
|
|
class RegionAutoscalerList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Autoscaler resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Autoscaler>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RegionAutoscalerList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RegionAutoscalerList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionCommitmentsUpdateReservationsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of two reservations to transfer GPUs and local SSD between.
|
|
# Corresponds to the JSON property `reservations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Reservation>]
|
|
attr_accessor :reservations
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@reservations = args[:reservations] if args.key?(:reservations)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionDiskTypeList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of DiskType resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DiskType>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#regionDiskTypeList for region
|
|
# disk types.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RegionDiskTypeList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RegionDiskTypeList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionDisksAddResourcePoliciesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Resource policies to be added to this disk.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionDisksRemoveResourcePoliciesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Resource policies to be removed from this disk.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<String>]
|
|
attr_accessor :resource_policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionDisksResizeRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The new size of the regional persistent disk, which is specified in GB.
|
|
# Corresponds to the JSON property `sizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :size_gb
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@size_gb = args[:size_gb] if args.key?(:size_gb)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionDisksStartAsyncReplicationRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The secondary disk to start asynchronous replication to. You can provide this
|
|
# as a partial or full URL to the resource. For example, the following are valid
|
|
# values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
|
|
# disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/
|
|
# region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/
|
|
# regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk
|
|
# Corresponds to the JSON property `asyncSecondaryDisk`
|
|
# @return [String]
|
|
attr_accessor :async_secondary_disk
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionDisksStopAsyncReplicationRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The secondary disk to stop asynchronous replication to. Supplied if and only
|
|
# if the target disk is a primary disk in an asynchronously replicated pair. You
|
|
# can provide this as a partial or full URL to the resource. For example, the
|
|
# following are valid values: - https://www.googleapis.com/compute/v1/projects/
|
|
# project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/
|
|
# projects/project/regions/region /disks/disk - projects/project/zones/zone/
|
|
# disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/
|
|
# disk - regions/region/disks/disk
|
|
# Corresponds to the JSON property `asyncSecondaryDisk`
|
|
# @return [String]
|
|
attr_accessor :async_secondary_disk
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@async_secondary_disk = args[:async_secondary_disk] if args.key?(:async_secondary_disk)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionDisksStopGroupAsyncReplicationRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This
|
|
# may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/
|
|
# projects/project/regions/region /resourcePolicies/resourcePolicy - projects/
|
|
# project/regions/region/resourcePolicies/resourcePolicy - regions/region/
|
|
# resourcePolicies/resourcePolicy
|
|
# Corresponds to the JSON property `resourcePolicy`
|
|
# @return [String]
|
|
attr_accessor :resource_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_policy = args[:resource_policy] if args.key?(:resource_policy)
|
|
end
|
|
end
|
|
|
|
# Contains a list of InstanceGroup resources.
|
|
class RegionInstanceGroupList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstanceGroup resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroup>]
|
|
attr_accessor :items
|
|
|
|
# The resource type.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RegionInstanceGroupList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RegionInstanceGroupList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# RegionInstanceGroupManagers.deletePerInstanceConfigs
|
|
class RegionInstanceGroupManagerDeleteInstanceConfigReq
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of instance names for which we want to delete per-instance configs on
|
|
# this managed instance group.
|
|
# Corresponds to the JSON property `names`
|
|
# @return [Array<String>]
|
|
attr_accessor :names
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@names = args[:names] if args.key?(:names)
|
|
end
|
|
end
|
|
|
|
# Contains a list of managed instance groups.
|
|
class RegionInstanceGroupManagerList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstanceGroupManager resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManager>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] The resource type, which is always compute#
|
|
# instanceGroupManagerList for a list of managed instance groups that exist in
|
|
# th regional scope.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RegionInstanceGroupManagerList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RegionInstanceGroupManagerList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# RegionInstanceGroupManagers.patchPerInstanceConfigs
|
|
class RegionInstanceGroupManagerPatchInstanceConfigReq
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of per-instance configs to insert or patch on this managed instance
|
|
# group.
|
|
# Corresponds to the JSON property `perInstanceConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
|
|
attr_accessor :per_instance_configs
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
|
|
end
|
|
end
|
|
|
|
# RegionInstanceGroupManagers.updatePerInstanceConfigs
|
|
class RegionInstanceGroupManagerUpdateInstanceConfigReq
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of per-instance configs to insert or patch on this managed instance
|
|
# group.
|
|
# Corresponds to the JSON property `perInstanceConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
|
|
attr_accessor :per_instance_configs
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@per_instance_configs = args[:per_instance_configs] if args.key?(:per_instance_configs)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersAbandonInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to abandon. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
# RegionInstanceGroupManagers.applyUpdatesToInstances
|
|
class RegionInstanceGroupManagersApplyUpdatesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Flag to update all instances instead of specified list of “instances”. If the
|
|
# flag is set to true then the instances may not be specified in the request.
|
|
# Corresponds to the JSON property `allInstances`
|
|
# @return [Boolean]
|
|
attr_accessor :all_instances
|
|
alias_method :all_instances?, :all_instances
|
|
|
|
# The list of URLs of one or more instances for which you want to apply updates.
|
|
# Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[
|
|
# INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
# The maximal action that should be performed on the instances. By default
|
|
# REPLACE. This field is deprecated, please use most_disruptive_allowed_action.
|
|
# Corresponds to the JSON property `maximalAction`
|
|
# @return [String]
|
|
attr_accessor :maximal_action
|
|
|
|
# The minimal action that you want to perform on each instance during the update:
|
|
# - REPLACE: At minimum, delete the instance and create it again. - RESTART:
|
|
# Stop the instance and start it again. - REFRESH: Do not stop the instance. -
|
|
# NONE: Do not disrupt the instance at all. By default, the minimum action is
|
|
# NONE. If your update requires a more disruptive action than you set with this
|
|
# flag, the necessary action is performed to execute the update.
|
|
# Corresponds to the JSON property `minimalAction`
|
|
# @return [String]
|
|
attr_accessor :minimal_action
|
|
|
|
# The most disruptive action that you want to perform on each instance during
|
|
# the update: - REPLACE: Delete the instance and create it again. - RESTART:
|
|
# Stop the instance and start it again. - REFRESH: Do not stop the instance. -
|
|
# NONE: Do not disrupt the instance at all. By default, the most disruptive
|
|
# allowed action is REPLACE. If your update requires a more disruptive action
|
|
# than you set with this flag, the update request will fail.
|
|
# Corresponds to the JSON property `mostDisruptiveAllowedAction`
|
|
# @return [String]
|
|
attr_accessor :most_disruptive_allowed_action
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@all_instances = args[:all_instances] if args.key?(:all_instances)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
@maximal_action = args[:maximal_action] if args.key?(:maximal_action)
|
|
@minimal_action = args[:minimal_action] if args.key?(:minimal_action)
|
|
@most_disruptive_allowed_action = args[:most_disruptive_allowed_action] if args.key?(:most_disruptive_allowed_action)
|
|
end
|
|
end
|
|
|
|
# RegionInstanceGroupManagers.createInstances
|
|
class RegionInstanceGroupManagersCreateInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Required] List of specifications of per-instance configs.
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersDeleteInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to delete. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
# Skip instances which cannot be deleted (instances not belonging to this
|
|
# managed group, already being deleted or being abandoned). If `false`, fail
|
|
# whole flow, if such instance is passed. DEPRECATED: Use
|
|
# skip_instances_on_validation_error instead.
|
|
# Corresponds to the JSON property `skipInapplicableInstances`
|
|
# @return [Boolean]
|
|
attr_accessor :skip_inapplicable_instances
|
|
alias_method :skip_inapplicable_instances?, :skip_inapplicable_instances
|
|
|
|
# Specifies whether the request should proceed despite the inclusion of
|
|
# instances that are not members of the group or that are already in the process
|
|
# of being deleted or abandoned. If this field is set to `false` and such an
|
|
# instance is specified in the request, the operation fails. The operation
|
|
# always fails if the request contains a malformed instance URL or a reference
|
|
# to an instance that exists in a zone or region other than the group's zone or
|
|
# region.
|
|
# Corresponds to the JSON property `skipInstancesOnValidationError`
|
|
# @return [Boolean]
|
|
attr_accessor :skip_instances_on_validation_error
|
|
alias_method :skip_instances_on_validation_error?, :skip_instances_on_validation_error
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
@skip_inapplicable_instances = args[:skip_inapplicable_instances] if args.key?(:skip_inapplicable_instances)
|
|
@skip_instances_on_validation_error = args[:skip_instances_on_validation_error] if args.key?(:skip_instances_on_validation_error)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersListErrorsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The list of errors of the managed instance group.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceManagedByIgmError>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@items = args[:items] if args.key?(:items)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersListInstanceConfigsResp
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The list of PerInstanceConfig.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PerInstanceConfig>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RegionInstanceGroupManagersListInstanceConfigsResp::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@items = args[:items] if args.key?(:items)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RegionInstanceGroupManagersListInstanceConfigsResp::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersListInstancesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of managed instances.
|
|
# Corresponds to the JSON property `managedInstances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ManagedInstance>]
|
|
attr_accessor :managed_instances
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@managed_instances = args[:managed_instances] if args.key?(:managed_instances)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersRecreateRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to recreate. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersResizeAdvancedRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If this flag is true, the managed instance group attempts to create all
|
|
# instances initiated by this resize request only once. If there is an error
|
|
# during creation, the managed instance group does not retry create this
|
|
# instance, and we will decrease the targetSize of the request instead. If the
|
|
# flag is false, the group attempts to recreate each instance continuously until
|
|
# it succeeds. This flag matters only in the first attempt of creation of an
|
|
# instance. After an instance is successfully created while this flag is enabled,
|
|
# the instance behaves the same way as all the other instances created with a
|
|
# regular resize request. In particular, if a running instance dies unexpectedly
|
|
# at a later time and needs to be recreated, this mode does not affect the
|
|
# recreation behavior in that scenario. This flag is applicable only to the
|
|
# current resize request. It does not influence other resize requests in any way.
|
|
# You can see which instances ar being created in which mode by calling the get
|
|
# or listManagedInstances API.
|
|
# Corresponds to the JSON property `noCreationRetries`
|
|
# @return [Boolean]
|
|
attr_accessor :no_creation_retries
|
|
alias_method :no_creation_retries?, :no_creation_retries
|
|
|
|
# The number of running instances that the managed instance group should
|
|
# maintain at any given time. The group automatically adds or removes instances
|
|
# to maintain the number of instances specified by this parameter.
|
|
# Corresponds to the JSON property `targetSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :target_size
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@no_creation_retries = args[:no_creation_retries] if args.key?(:no_creation_retries)
|
|
@target_size = args[:target_size] if args.key?(:target_size)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersResumeInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to resume. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersSetAutoHealingRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `autoHealingPolicies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceGroupManagerAutoHealingPolicy>]
|
|
attr_accessor :auto_healing_policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_healing_policies = args[:auto_healing_policies] if args.key?(:auto_healing_policies)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersSetTargetPoolsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Fingerprint of the target pools information, which is a hash of the contents.
|
|
# This field is used for optimistic locking when you update the target pool
|
|
# entries. This field is optional.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# The URL of all TargetPool resources to which instances in the instanceGroup
|
|
# field are added. The target pools automatically apply to all of the instances
|
|
# in the managed instance group.
|
|
# Corresponds to the JSON property `targetPools`
|
|
# @return [Array<String>]
|
|
attr_accessor :target_pools
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@target_pools = args[:target_pools] if args.key?(:target_pools)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersSetTemplateRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# URL of the InstanceTemplate resource from which all new instances will be
|
|
# created.
|
|
# Corresponds to the JSON property `instanceTemplate`
|
|
# @return [String]
|
|
attr_accessor :instance_template
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_template = args[:instance_template] if args.key?(:instance_template)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersStartInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URLs of one or more instances to start. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersStopInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If this flag is set to true, the Instance Group Manager will proceed to stop
|
|
# the instances, skipping initialization on them.
|
|
# Corresponds to the JSON property `forceStop`
|
|
# @return [Boolean]
|
|
attr_accessor :force_stop
|
|
alias_method :force_stop?, :force_stop
|
|
|
|
# The URLs of one or more instances to stop. This can be a full URL or a partial
|
|
# URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@force_stop = args[:force_stop] if args.key?(:force_stop)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupManagersSuspendInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If this flag is set to true, the Instance Group Manager will proceed to
|
|
# suspend the instances, skipping initialization on them.
|
|
# Corresponds to the JSON property `forceSuspend`
|
|
# @return [Boolean]
|
|
attr_accessor :force_suspend
|
|
alias_method :force_suspend?, :force_suspend
|
|
|
|
# The URLs of one or more instances to suspend. This can be a full URL or a
|
|
# partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@force_suspend = args[:force_suspend] if args.key?(:force_suspend)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupsListInstances
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of InstanceWithNamedPorts resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceWithNamedPorts>]
|
|
attr_accessor :items
|
|
|
|
# The resource type.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RegionInstanceGroupsListInstances::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RegionInstanceGroupsListInstances::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupsListInstancesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Instances in which state should be returned. Valid options are: 'ALL', '
|
|
# RUNNING'. By default, it lists all instances.
|
|
# Corresponds to the JSON property `instanceState`
|
|
# @return [String]
|
|
attr_accessor :instance_state
|
|
|
|
# Name of port user is interested in. It is optional. If it is set, only
|
|
# information about this ports will be returned. If it is not set, all the named
|
|
# ports will be returned. Always lists all instances.
|
|
# Corresponds to the JSON property `portName`
|
|
# @return [String]
|
|
attr_accessor :port_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_state = args[:instance_state] if args.key?(:instance_state)
|
|
@port_name = args[:port_name] if args.key?(:port_name)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstanceGroupsSetNamedPortsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The fingerprint of the named ports information for this instance group. Use
|
|
# this optional property to prevent conflicts when multiple users change the
|
|
# named ports settings concurrently. Obtain the fingerprint with the
|
|
# instanceGroups.get method. Then, include the fingerprint in your request to
|
|
# ensure that you do not overwrite changes that were applied from another
|
|
# concurrent request.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# The list of named ports to set for this instance group.
|
|
# Corresponds to the JSON property `namedPorts`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NamedPort>]
|
|
attr_accessor :named_ports
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@named_ports = args[:named_ports] if args.key?(:named_ports)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionInstantSnapshotsExportRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Parameters to export the changed blocks.
|
|
# Corresponds to the JSON property `exportParams`
|
|
# @return [Google::Apis::ComputeAlpha::InstantSnapshotExportParams]
|
|
attr_accessor :export_params
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@export_params = args[:export_params] if args.key?(:export_params)
|
|
end
|
|
end
|
|
|
|
# Contains a list of region resources.
|
|
class RegionList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Region resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Region>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#regionList for lists of regions.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RegionList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RegionList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Effective firewalls from firewall policy.
|
|
# Corresponds to the JSON property `firewallPolicys`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy>]
|
|
attr_accessor :firewall_policys
|
|
|
|
# Effective firewalls on the network.
|
|
# Corresponds to the JSON property `firewalls`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Firewall>]
|
|
attr_accessor :firewalls
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@firewall_policys = args[:firewall_policys] if args.key?(:firewall_policys)
|
|
@firewalls = args[:firewalls] if args.key?(:firewalls)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The display name of the firewall policy.
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# [Output Only] The name of the firewall policy.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The rules that apply to the network.
|
|
# Corresponds to the JSON property `rules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::FirewallPolicyRule>]
|
|
attr_accessor :rules
|
|
|
|
# [Output Only] The type of the firewall policy. Can be one of HIERARCHY,
|
|
# NETWORK, NETWORK_REGIONAL.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@name = args[:name] if args.key?(:name)
|
|
@rules = args[:rules] if args.key?(:rules)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionSetLabelsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The fingerprint of the previous set of labels for this resource, used to
|
|
# detect conflicts. The fingerprint is initially generated by Compute Engine and
|
|
# changes after every request to modify or update labels. You must always
|
|
# provide an up-to-date fingerprint hash in order to update or change labels.
|
|
# Make a get() request to the resource to get the latest fingerprint.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# The labels to set for this resource.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionSetPolicyRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use '
|
|
# policy' to specify bindings.
|
|
# Corresponds to the JSON property `bindings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Binding>]
|
|
attr_accessor :bindings
|
|
|
|
# Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
|
|
# policy' to specify the etag.
|
|
# Corresponds to the JSON property `etag`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# An Identity and Access Management (IAM) policy, which specifies access
|
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
|
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
|
# Principals can be user accounts, service accounts, Google groups, and domains (
|
|
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
|
# an IAM predefined role or a user-created custom role. For some types of Google
|
|
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
|
# logical expression that allows access to a resource only if the expression
|
|
# evaluates to `true`. A condition can add constraints based on attributes of
|
|
# the request, the resource, or both. To learn which resources support
|
|
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
|
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
|
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
|
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
|
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
|
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
|
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
|
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
|
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
|
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
|
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
|
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
|
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
|
# access description: Does not grant access after Sep 2020 expression: request.
|
|
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
|
# a description of IAM and its features, see the [IAM documentation](https://
|
|
# cloud.google.com/iam/docs/).
|
|
# Corresponds to the JSON property `policy`
|
|
# @return [Google::Apis::ComputeAlpha::Policy]
|
|
attr_accessor :policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bindings = args[:bindings] if args.key?(:bindings)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@policy = args[:policy] if args.key?(:policy)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionTargetHttpsProxiesSetSslCertificatesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# New set of SslCertificate resources to associate with this TargetHttpsProxy
|
|
# resource. Currently exactly one SslCertificate resource must be specified.
|
|
# Corresponds to the JSON property `sslCertificates`
|
|
# @return [Array<String>]
|
|
attr_accessor :ssl_certificates
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RegionUrlMapsValidateRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents a URL Map resource. Compute Engine has two URL Map resources: * [
|
|
# Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
|
|
# reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
|
|
# certain types of cloud load balancers and Traffic Director: * urlMaps are used
|
|
# by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
|
|
# used by internal HTTP(S) load balancers. For a list of supported URL map
|
|
# features by the load balancer type, see the Load balancing features: Routing
|
|
# and traffic management table. For a list of supported URL map features for
|
|
# Traffic Director, see the Traffic Director features: Routing and traffic
|
|
# management table. This resource defines mappings from hostnames and URL paths
|
|
# to either a backend service or a backend bucket. To use the global urlMaps
|
|
# resource, the backend service must have a loadBalancingScheme of either
|
|
# EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
|
|
# backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
|
|
# information, read URL Map Concepts.
|
|
# Corresponds to the JSON property `resource`
|
|
# @return [Google::Apis::ComputeAlpha::UrlMap]
|
|
attr_accessor :resource
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource = args[:resource] if args.key?(:resource)
|
|
end
|
|
end
|
|
|
|
# A policy that specifies how requests intended for the route's backends are
|
|
# shadowed to a separate mirrored backend service. The load balancer doesn't
|
|
# wait for responses from the shadow service. Before sending traffic to the
|
|
# shadow service, the host or authority header is suffixed with -shadow.
|
|
class RequestMirrorPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The full or partial URL to the BackendService resource being mirrored to.
|
|
# Corresponds to the JSON property `backendService`
|
|
# @return [String]
|
|
attr_accessor :backend_service
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@backend_service = args[:backend_service] if args.key?(:backend_service)
|
|
end
|
|
end
|
|
|
|
# Represents a reservation resource. A reservation ensures that capacity is held
|
|
# in a specific zone even if the reserved VMs are not running. For more
|
|
# information, read Reserving zonal resources.
|
|
class Reservation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Full or partial URL to a parent commitment. This field displays
|
|
# for reservations that are tied to a commitment.
|
|
# Corresponds to the JSON property `commitment`
|
|
# @return [String]
|
|
attr_accessor :commitment
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#reservations for
|
|
# reservations.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The name of the resource, provided by the client when initially creating the
|
|
# resource. The resource name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# [Output Only] Server-defined fully-qualified URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# The share setting for reservations and sole tenancy node groups.
|
|
# Corresponds to the JSON property `shareSettings`
|
|
# @return [Google::Apis::ComputeAlpha::ShareSettings]
|
|
attr_accessor :share_settings
|
|
|
|
# This reservation type allows to pre allocate specific instance configuration.
|
|
# Next ID: 5
|
|
# Corresponds to the JSON property `specificReservation`
|
|
# @return [Google::Apis::ComputeAlpha::AllocationSpecificSkuReservation]
|
|
attr_accessor :specific_reservation
|
|
|
|
# Indicates whether the reservation can be consumed by VMs with affinity for "
|
|
# any" reservation. If the field is set, then only VMs that target the
|
|
# reservation by name can consume from this reservation.
|
|
# Corresponds to the JSON property `specificReservationRequired`
|
|
# @return [Boolean]
|
|
attr_accessor :specific_reservation_required
|
|
alias_method :specific_reservation_required?, :specific_reservation_required
|
|
|
|
# [Output Only] The status of the reservation.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# Zone in which the reservation resides. A zone must be provided if the
|
|
# reservation is created within a commitment.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@commitment = args[:commitment] if args.key?(:commitment)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@share_settings = args[:share_settings] if args.key?(:share_settings)
|
|
@specific_reservation = args[:specific_reservation] if args.key?(:specific_reservation)
|
|
@specific_reservation_required = args[:specific_reservation_required] if args.key?(:specific_reservation_required)
|
|
@status = args[:status] if args.key?(:status)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
# Specifies the reservations that this instance can consume from.
|
|
class ReservationAffinity
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies the type of reservation from which this instance can consume
|
|
# resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION.
|
|
# See Consuming reserved instances for examples.
|
|
# Corresponds to the JSON property `consumeReservationType`
|
|
# @return [String]
|
|
attr_accessor :consume_reservation_type
|
|
|
|
# Corresponds to the label key of a reservation resource. To target a
|
|
# SPECIFIC_RESERVATION by name, specify googleapis.com/reservation-name as the
|
|
# key and specify the name of your reservation as its value.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# Corresponds to the label values of a reservation resource. This can be either
|
|
# a name to a reservation in the same project or "projects/different-project/
|
|
# reservations/some-reservation-name" to target a shared reservation in the same
|
|
# zone but in a different project.
|
|
# Corresponds to the JSON property `values`
|
|
# @return [Array<String>]
|
|
attr_accessor :values
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@consume_reservation_type = args[:consume_reservation_type] if args.key?(:consume_reservation_type)
|
|
@key = args[:key] if args.key?(:key)
|
|
@values = args[:values] if args.key?(:values)
|
|
end
|
|
end
|
|
|
|
# Contains a list of reservations.
|
|
class ReservationAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Allocation resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::ReservationsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ReservationAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ReservationAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class ReservationList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] A list of Allocation resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Reservation>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource.Always compute#reservationsList for listsof
|
|
# reservations
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ReservationList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ReservationList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class ReservationsResizeRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Number of allocated resources can be resized with minimum = 1 and maximum =
|
|
# 1000.
|
|
# Corresponds to the JSON property `specificSkuCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :specific_sku_count
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@specific_sku_count = args[:specific_sku_count] if args.key?(:specific_sku_count)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ReservationsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of reservations contained in this scope.
|
|
# Corresponds to the JSON property `reservations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Reservation>]
|
|
attr_accessor :reservations
|
|
|
|
# Informational warning which replaces the list of reservations when the list is
|
|
# empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ReservationsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@reservations = args[:reservations] if args.key?(:reservations)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of reservations when the list is
|
|
# empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ReservationsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Commitment for a particular resource (a Commitment is composed of one or more
|
|
# of these).
|
|
class ResourceCommitment
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Name of the accelerator type resource. Applicable only when the type is
|
|
# ACCELERATOR.
|
|
# Corresponds to the JSON property `acceleratorType`
|
|
# @return [String]
|
|
attr_accessor :accelerator_type
|
|
|
|
# The amount of the resource purchased (in a type-dependent unit, such as bytes).
|
|
# For vCPUs, this can just be an integer. For memory, this must be provided in
|
|
# MB. Memory must be a multiple of 256 MB, with up to 6.5GB of memory per every
|
|
# vCPU.
|
|
# Corresponds to the JSON property `amount`
|
|
# @return [Fixnum]
|
|
attr_accessor :amount
|
|
|
|
# Type of resource for which this commitment applies. Possible values are VCPU
|
|
# and MEMORY
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type)
|
|
@amount = args[:amount] if args.key?(:amount)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ResourceGroupReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A URI referencing one of the instance groups or network endpoint groups listed
|
|
# in the backend service.
|
|
# Corresponds to the JSON property `group`
|
|
# @return [String]
|
|
attr_accessor :group
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@group = args[:group] if args.key?(:group)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ResourcePoliciesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of resourcePolicies contained in this scope.
|
|
# Corresponds to the JSON property `resourcePolicies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ResourcePolicy>]
|
|
attr_accessor :resource_policies
|
|
|
|
# Informational warning which replaces the list of resourcePolicies when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePoliciesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource_policies = args[:resource_policies] if args.key?(:resource_policies)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of resourcePolicies when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ResourcePoliciesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Resource Policy resource. You can use resource policies to
|
|
# schedule actions for some Compute Engine resources. For example, you can use
|
|
# them to schedule persistent disk snapshots.
|
|
class ResourcePolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
#
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# A GroupPlacementPolicy specifies resource placement configuration. It
|
|
# specifies the failure bucket separation as well as network locality
|
|
# Corresponds to the JSON property `groupPlacementPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyGroupPlacementPolicy]
|
|
attr_accessor :group_placement_policy
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# An InstanceSchedulePolicy specifies when and how frequent certain operations
|
|
# are performed on the instance.
|
|
# Corresponds to the JSON property `instanceSchedulePolicy`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyInstanceSchedulePolicy]
|
|
attr_accessor :instance_schedule_policy
|
|
|
|
# [Output Only] Type of the resource. Always compute#resource_policies for
|
|
# resource policies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The name of the resource, provided by the client when initially creating the
|
|
# resource. The resource name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
#
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# Contains output only fields. Use this sub-message for all output fields set on
|
|
# ResourcePolicy. The internal structure of this "status" field should mimic the
|
|
# structure of ResourcePolicy proto specification.
|
|
# Corresponds to the JSON property `resourceStatus`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyResourceStatus]
|
|
attr_accessor :resource_status
|
|
|
|
# [Output Only] Server-defined fully-qualified URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# A snapshot schedule policy specifies when and how frequently snapshots are to
|
|
# be created for the target disk. Also specifies how many and how long these
|
|
# scheduled snapshots should be retained.
|
|
# Corresponds to the JSON property `snapshotSchedulePolicy`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicySnapshotSchedulePolicy]
|
|
attr_accessor :snapshot_schedule_policy
|
|
|
|
# [Output Only] The status of resource policy creation.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# Resource policy applicable to VMs for infrastructure maintenance.
|
|
# Corresponds to the JSON property `vmMaintenancePolicy`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyVmMaintenancePolicy]
|
|
attr_accessor :vm_maintenance_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@group_placement_policy = args[:group_placement_policy] if args.key?(:group_placement_policy)
|
|
@id = args[:id] if args.key?(:id)
|
|
@instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region = args[:region] if args.key?(:region)
|
|
@resource_status = args[:resource_status] if args.key?(:resource_status)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@snapshot_schedule_policy = args[:snapshot_schedule_policy] if args.key?(:snapshot_schedule_policy)
|
|
@status = args[:status] if args.key?(:status)
|
|
@vm_maintenance_policy = args[:vm_maintenance_policy] if args.key?(:vm_maintenance_policy)
|
|
end
|
|
end
|
|
|
|
# Contains a list of resourcePolicies.
|
|
class ResourcePolicyAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of ResourcePolicy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::ResourcePoliciesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ResourcePolicyAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Time window specified for daily operations.
|
|
class ResourcePolicyDailyCycle
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Defines a schedule with units measured in days. The value determines how many
|
|
# days pass between the start of each cycle.
|
|
# Corresponds to the JSON property `daysInCycle`
|
|
# @return [Fixnum]
|
|
attr_accessor :days_in_cycle
|
|
|
|
# [Output only] A predetermined duration for the window, automatically chosen to
|
|
# be the smallest possible in the given scenario.
|
|
# Corresponds to the JSON property `duration`
|
|
# @return [String]
|
|
attr_accessor :duration
|
|
|
|
# Start time of the window. This must be in UTC format that resolves to one of
|
|
# 00:00, 04:00, 08:00, 12:00, 16:00, or 20:00. For example, both 13:00-5 and 08:
|
|
# 00 are valid.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@days_in_cycle = args[:days_in_cycle] if args.key?(:days_in_cycle)
|
|
@duration = args[:duration] if args.key?(:duration)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
end
|
|
end
|
|
|
|
# A GroupPlacementPolicy specifies resource placement configuration. It
|
|
# specifies the failure bucket separation as well as network locality
|
|
class ResourcePolicyGroupPlacementPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The number of availability domains instances will be spread across. If two
|
|
# instances are in different availability domain, they will not be put in the
|
|
# same low latency network
|
|
# Corresponds to the JSON property `availabilityDomainCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :availability_domain_count
|
|
|
|
# Specifies network collocation
|
|
# Corresponds to the JSON property `collocation`
|
|
# @return [String]
|
|
attr_accessor :collocation
|
|
|
|
# Specifies network locality
|
|
# Corresponds to the JSON property `locality`
|
|
# @return [String]
|
|
attr_accessor :locality
|
|
|
|
# Scope specifies the availability domain to which the VMs should be spread.
|
|
# Corresponds to the JSON property `scope`
|
|
# @return [String]
|
|
attr_accessor :scope
|
|
|
|
# Specifies instances to hosts placement relationship
|
|
# Corresponds to the JSON property `style`
|
|
# @return [String]
|
|
attr_accessor :style
|
|
|
|
# Number of vms in this placement group
|
|
# Corresponds to the JSON property `vmCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :vm_count
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@availability_domain_count = args[:availability_domain_count] if args.key?(:availability_domain_count)
|
|
@collocation = args[:collocation] if args.key?(:collocation)
|
|
@locality = args[:locality] if args.key?(:locality)
|
|
@scope = args[:scope] if args.key?(:scope)
|
|
@style = args[:style] if args.key?(:style)
|
|
@vm_count = args[:vm_count] if args.key?(:vm_count)
|
|
end
|
|
end
|
|
|
|
# Time window specified for hourly operations.
|
|
class ResourcePolicyHourlyCycle
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output only] Duration of the time window, automatically chosen to be smallest
|
|
# possible in the given scenario.
|
|
# Corresponds to the JSON property `duration`
|
|
# @return [String]
|
|
attr_accessor :duration
|
|
|
|
# Defines a schedule with units measured in hours. The value determines how many
|
|
# hours pass between the start of each cycle.
|
|
# Corresponds to the JSON property `hoursInCycle`
|
|
# @return [Fixnum]
|
|
attr_accessor :hours_in_cycle
|
|
|
|
# Time within the window to start the operations. It must be in format "HH:MM",
|
|
# where HH : [00-23] and MM : [00-00] GMT.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@duration = args[:duration] if args.key?(:duration)
|
|
@hours_in_cycle = args[:hours_in_cycle] if args.key?(:hours_in_cycle)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
end
|
|
end
|
|
|
|
# An InstanceSchedulePolicy specifies when and how frequent certain operations
|
|
# are performed on the instance.
|
|
class ResourcePolicyInstanceSchedulePolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The expiration time of the schedule. The timestamp is an RFC3339 string.
|
|
# Corresponds to the JSON property `expirationTime`
|
|
# @return [String]
|
|
attr_accessor :expiration_time
|
|
|
|
# The start time of the schedule. The timestamp is an RFC3339 string.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
# Specifies the time zone to be used in interpreting Schedule.schedule. The
|
|
# value of this field must be a time zone name from the tz database: http://en.
|
|
# wikipedia.org/wiki/Tz_database.
|
|
# Corresponds to the JSON property `timeZone`
|
|
# @return [String]
|
|
attr_accessor :time_zone
|
|
|
|
# Schedule for an instance operation.
|
|
# Corresponds to the JSON property `vmStartSchedule`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyInstanceSchedulePolicySchedule]
|
|
attr_accessor :vm_start_schedule
|
|
|
|
# Schedule for an instance operation.
|
|
# Corresponds to the JSON property `vmStopSchedule`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyInstanceSchedulePolicySchedule]
|
|
attr_accessor :vm_stop_schedule
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@expiration_time = args[:expiration_time] if args.key?(:expiration_time)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
@time_zone = args[:time_zone] if args.key?(:time_zone)
|
|
@vm_start_schedule = args[:vm_start_schedule] if args.key?(:vm_start_schedule)
|
|
@vm_stop_schedule = args[:vm_stop_schedule] if args.key?(:vm_stop_schedule)
|
|
end
|
|
end
|
|
|
|
# Schedule for an instance operation.
|
|
class ResourcePolicyInstanceSchedulePolicySchedule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies the frequency for the operation, using the unix-cron format.
|
|
# Corresponds to the JSON property `schedule`
|
|
# @return [String]
|
|
attr_accessor :schedule
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@schedule = args[:schedule] if args.key?(:schedule)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ResourcePolicyList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] A list of ResourcePolicy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ResourcePolicy>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource.Always compute#resourcePoliciesList for listsof
|
|
# resourcePolicies
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ResourcePolicyList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains output only fields. Use this sub-message for all output fields set on
|
|
# ResourcePolicy. The internal structure of this "status" field should mimic the
|
|
# structure of ResourcePolicy proto specification.
|
|
class ResourcePolicyResourceStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Specifies a set of output values reffering to the
|
|
# instance_schedule_policy system status. This field should have the same name
|
|
# as corresponding policy field.
|
|
# Corresponds to the JSON property `instanceSchedulePolicy`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyResourceStatusInstanceSchedulePolicyStatus]
|
|
attr_accessor :instance_schedule_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_schedule_policy = args[:instance_schedule_policy] if args.key?(:instance_schedule_policy)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ResourcePolicyResourceStatusInstanceSchedulePolicyStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The last time the schedule successfully ran. The timestamp is an
|
|
# RFC3339 string.
|
|
# Corresponds to the JSON property `lastRunStartTime`
|
|
# @return [String]
|
|
attr_accessor :last_run_start_time
|
|
|
|
# [Output Only] The next time the schedule is planned to run. The actual time
|
|
# might be slightly different. The timestamp is an RFC3339 string.
|
|
# Corresponds to the JSON property `nextRunStartTime`
|
|
# @return [String]
|
|
attr_accessor :next_run_start_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@last_run_start_time = args[:last_run_start_time] if args.key?(:last_run_start_time)
|
|
@next_run_start_time = args[:next_run_start_time] if args.key?(:next_run_start_time)
|
|
end
|
|
end
|
|
|
|
# A snapshot schedule policy specifies when and how frequently snapshots are to
|
|
# be created for the target disk. Also specifies how many and how long these
|
|
# scheduled snapshots should be retained.
|
|
class ResourcePolicySnapshotSchedulePolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Policy for retention of scheduled snapshots.
|
|
# Corresponds to the JSON property `retentionPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicySnapshotSchedulePolicyRetentionPolicy]
|
|
attr_accessor :retention_policy
|
|
|
|
# A schedule for disks where the schedueled operations are performed.
|
|
# Corresponds to the JSON property `schedule`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicySnapshotSchedulePolicySchedule]
|
|
attr_accessor :schedule
|
|
|
|
# Specified snapshot properties for scheduled snapshots created by this policy.
|
|
# Corresponds to the JSON property `snapshotProperties`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicySnapshotSchedulePolicySnapshotProperties]
|
|
attr_accessor :snapshot_properties
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@retention_policy = args[:retention_policy] if args.key?(:retention_policy)
|
|
@schedule = args[:schedule] if args.key?(:schedule)
|
|
@snapshot_properties = args[:snapshot_properties] if args.key?(:snapshot_properties)
|
|
end
|
|
end
|
|
|
|
# Policy for retention of scheduled snapshots.
|
|
class ResourcePolicySnapshotSchedulePolicyRetentionPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Maximum age of the snapshot that is allowed to be kept.
|
|
# Corresponds to the JSON property `maxRetentionDays`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_retention_days
|
|
|
|
#
|
|
# Corresponds to the JSON property `onPolicySwitch`
|
|
# @return [String]
|
|
attr_accessor :on_policy_switch
|
|
|
|
# Specifies the behavior to apply to scheduled snapshots when the source disk is
|
|
# deleted.
|
|
# Corresponds to the JSON property `onSourceDiskDelete`
|
|
# @return [String]
|
|
attr_accessor :on_source_disk_delete
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@max_retention_days = args[:max_retention_days] if args.key?(:max_retention_days)
|
|
@on_policy_switch = args[:on_policy_switch] if args.key?(:on_policy_switch)
|
|
@on_source_disk_delete = args[:on_source_disk_delete] if args.key?(:on_source_disk_delete)
|
|
end
|
|
end
|
|
|
|
# A schedule for disks where the schedueled operations are performed.
|
|
class ResourcePolicySnapshotSchedulePolicySchedule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Time window specified for daily operations.
|
|
# Corresponds to the JSON property `dailySchedule`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyDailyCycle]
|
|
attr_accessor :daily_schedule
|
|
|
|
# Time window specified for hourly operations.
|
|
# Corresponds to the JSON property `hourlySchedule`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyHourlyCycle]
|
|
attr_accessor :hourly_schedule
|
|
|
|
# Time window specified for weekly operations.
|
|
# Corresponds to the JSON property `weeklySchedule`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyWeeklyCycle]
|
|
attr_accessor :weekly_schedule
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@daily_schedule = args[:daily_schedule] if args.key?(:daily_schedule)
|
|
@hourly_schedule = args[:hourly_schedule] if args.key?(:hourly_schedule)
|
|
@weekly_schedule = args[:weekly_schedule] if args.key?(:weekly_schedule)
|
|
end
|
|
end
|
|
|
|
# Specified snapshot properties for scheduled snapshots created by this policy.
|
|
class ResourcePolicySnapshotSchedulePolicySnapshotProperties
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Chain name that the snapshot is created in.
|
|
# Corresponds to the JSON property `chainName`
|
|
# @return [String]
|
|
attr_accessor :chain_name
|
|
|
|
# Indication to perform a 'guest aware' snapshot.
|
|
# Corresponds to the JSON property `guestFlush`
|
|
# @return [Boolean]
|
|
attr_accessor :guest_flush
|
|
alias_method :guest_flush?, :guest_flush
|
|
|
|
# Labels to apply to scheduled snapshots. These can be later modified by the
|
|
# setLabels method. Label values may be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Cloud Storage bucket storage location of the auto snapshot (regional or multi-
|
|
# regional).
|
|
# Corresponds to the JSON property `storageLocations`
|
|
# @return [Array<String>]
|
|
attr_accessor :storage_locations
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@chain_name = args[:chain_name] if args.key?(:chain_name)
|
|
@guest_flush = args[:guest_flush] if args.key?(:guest_flush)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@storage_locations = args[:storage_locations] if args.key?(:storage_locations)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ResourcePolicyVmMaintenancePolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A concurrency control configuration. Defines a group config that, when
|
|
# attached to an instance, recognizes that instance as part of a group of
|
|
# instances where only up the concurrency_limit of instances in that group can
|
|
# undergo simultaneous maintenance. For more information: go/concurrency-control-
|
|
# design-doc
|
|
# Corresponds to the JSON property `concurrencyControlGroup`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyVmMaintenancePolicyConcurrencyControl]
|
|
attr_accessor :concurrency_control_group
|
|
|
|
# A maintenance window for VMs. When set, we restrict our maintenance operations
|
|
# to this window.
|
|
# Corresponds to the JSON property `maintenanceWindow`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyVmMaintenancePolicyMaintenanceWindow]
|
|
attr_accessor :maintenance_window
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@concurrency_control_group = args[:concurrency_control_group] if args.key?(:concurrency_control_group)
|
|
@maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
|
|
end
|
|
end
|
|
|
|
# A concurrency control configuration. Defines a group config that, when
|
|
# attached to an instance, recognizes that instance as part of a group of
|
|
# instances where only up the concurrency_limit of instances in that group can
|
|
# undergo simultaneous maintenance. For more information: go/concurrency-control-
|
|
# design-doc
|
|
class ResourcePolicyVmMaintenancePolicyConcurrencyControl
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `concurrencyLimit`
|
|
# @return [Fixnum]
|
|
attr_accessor :concurrency_limit
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@concurrency_limit = args[:concurrency_limit] if args.key?(:concurrency_limit)
|
|
end
|
|
end
|
|
|
|
# A maintenance window for VMs. When set, we restrict our maintenance operations
|
|
# to this window.
|
|
class ResourcePolicyVmMaintenancePolicyMaintenanceWindow
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Time window specified for daily operations.
|
|
# Corresponds to the JSON property `dailyMaintenanceWindow`
|
|
# @return [Google::Apis::ComputeAlpha::ResourcePolicyDailyCycle]
|
|
attr_accessor :daily_maintenance_window
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@daily_maintenance_window = args[:daily_maintenance_window] if args.key?(:daily_maintenance_window)
|
|
end
|
|
end
|
|
|
|
# Time window specified for weekly operations.
|
|
class ResourcePolicyWeeklyCycle
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Up to 7 intervals/windows, one for each day of the week.
|
|
# Corresponds to the JSON property `dayOfWeeks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ResourcePolicyWeeklyCycleDayOfWeek>]
|
|
attr_accessor :day_of_weeks
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@day_of_weeks = args[:day_of_weeks] if args.key?(:day_of_weeks)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ResourcePolicyWeeklyCycleDayOfWeek
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Defines a schedule that runs on specific days of the week. Specify one or more
|
|
# days. The following options are available: MONDAY, TUESDAY, WEDNESDAY,
|
|
# THURSDAY, FRIDAY, SATURDAY, SUNDAY.
|
|
# Corresponds to the JSON property `day`
|
|
# @return [String]
|
|
attr_accessor :day
|
|
|
|
# [Output only] Duration of the time window, automatically chosen to be smallest
|
|
# possible in the given scenario.
|
|
# Corresponds to the JSON property `duration`
|
|
# @return [String]
|
|
attr_accessor :duration
|
|
|
|
# Time within the window to start the operations. It must be in format "HH:MM",
|
|
# where HH : [00-23] and MM : [00-00] GMT.
|
|
# Corresponds to the JSON property `startTime`
|
|
# @return [String]
|
|
attr_accessor :start_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@day = args[:day] if args.key?(:day)
|
|
@duration = args[:duration] if args.key?(:duration)
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
end
|
|
end
|
|
|
|
# Contains output only fields. Use this sub-message for actual values set on
|
|
# Instance attributes as compared to the value requested by the user (intent) in
|
|
# their instance CRUD calls.
|
|
class ResourceStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `scheduling`
|
|
# @return [Google::Apis::ComputeAlpha::ResourceStatusScheduling]
|
|
attr_accessor :scheduling
|
|
|
|
#
|
|
# Corresponds to the JSON property `upcomingMaintenance`
|
|
# @return [Google::Apis::ComputeAlpha::ResourceStatusUpcomingMaintenance]
|
|
attr_accessor :upcoming_maintenance
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
|
@upcoming_maintenance = args[:upcoming_maintenance] if args.key?(:upcoming_maintenance)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ResourceStatusScheduling
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies the availability domain (AD), which this instance should be
|
|
# scheduled on. The AD belongs to the spread GroupPlacementPolicy resource
|
|
# policy that has been assigned to the instance. Specify a value between 1-max
|
|
# count of availability domains in your GroupPlacementPolicy. See go/placement-
|
|
# policy-extension for more details.
|
|
# Corresponds to the JSON property `availabilityDomain`
|
|
# @return [Fixnum]
|
|
attr_accessor :availability_domain
|
|
|
|
# Time in future when the instance will be terminated in RFC3339 text format.
|
|
# Corresponds to the JSON property `terminationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :termination_timestamp
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@availability_domain = args[:availability_domain] if args.key?(:availability_domain)
|
|
@termination_timestamp = args[:termination_timestamp] if args.key?(:termination_timestamp)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ResourceStatusUpcomingMaintenance
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Indicates if the maintenance can be customer triggered. See go/sf-ctm-design
|
|
# for more details
|
|
# Corresponds to the JSON property `canReschedule`
|
|
# @return [Boolean]
|
|
attr_accessor :can_reschedule
|
|
alias_method :can_reschedule?, :can_reschedule
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
|
|
end
|
|
end
|
|
|
|
# A rollout policy configuration.
|
|
class RolloutPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An optional RFC3339 timestamp on or after which the update is considered
|
|
# rolled out to any zone that is not explicitly stated.
|
|
# Corresponds to the JSON property `defaultRolloutTime`
|
|
# @return [String]
|
|
attr_accessor :default_rollout_time
|
|
|
|
# Location based rollout policies to apply to the resource. Currently only zone
|
|
# names are supported and must be represented as valid URLs, like: zones/us-
|
|
# central1-a. The value expects an RFC3339 timestamp on or after which the
|
|
# update is considered rolled out to the specified location.
|
|
# Corresponds to the JSON property `locationRolloutPolicies`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :location_rollout_policies
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@default_rollout_time = args[:default_rollout_time] if args.key?(:default_rollout_time)
|
|
@location_rollout_policies = args[:location_rollout_policies] if args.key?(:location_rollout_policies)
|
|
end
|
|
end
|
|
|
|
# Represents a Route resource. A route defines a path from VM instances in the
|
|
# VPC network to a specific destination. This destination can be inside or
|
|
# outside the VPC network. For more information, read the Routes overview.
|
|
class Route
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Whether this route can conflict with existing subnetworks. Setting this to
|
|
# true allows this route to conflict with subnetworks that have already been
|
|
# configured on the corresponding network.
|
|
# Corresponds to the JSON property `allowConflictingSubnetworks`
|
|
# @return [Boolean]
|
|
attr_accessor :allow_conflicting_subnetworks
|
|
alias_method :allow_conflicting_subnetworks?, :allow_conflicting_subnetworks
|
|
|
|
# [Output Only] AS path.
|
|
# Corresponds to the JSON property `asPaths`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouteAsPath>]
|
|
attr_accessor :as_paths
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this field when you create
|
|
# the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The destination range of outgoing packets that this route applies to. Both
|
|
# IPv4 and IPv6 are supported.
|
|
# Corresponds to the JSON property `destRange`
|
|
# @return [String]
|
|
attr_accessor :dest_range
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# ILB route behavior when ILB is deemed unhealthy based on user specified
|
|
# threshold on the Backend Service of the internal load balancing.
|
|
# Corresponds to the JSON property `ilbRouteBehaviorOnUnhealthy`
|
|
# @return [String]
|
|
attr_accessor :ilb_route_behavior_on_unhealthy
|
|
|
|
# [Output Only] Type of this resource. Always compute#routes for Route resources.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all
|
|
# following characters (except for the last character) must be a dash, lowercase
|
|
# letter, or digit. The last character must be a lowercase letter or digit.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Fully-qualified URL of the network that this route applies to.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# The URL to a gateway that should handle matching packets. You can only specify
|
|
# the internet gateway using a full or partial valid URL: projects/ project/
|
|
# global/gateways/default-internet-gateway
|
|
# Corresponds to the JSON property `nextHopGateway`
|
|
# @return [String]
|
|
attr_accessor :next_hop_gateway
|
|
|
|
# The URL to a forwarding rule of type loadBalancingScheme=INTERNAL that should
|
|
# handle matching packets or the IP address of the forwarding Rule. For example,
|
|
# the following are all valid URLs: - 10.128.0.56 - https://www.googleapis.com/
|
|
# compute/v1/projects/project/regions/region /forwardingRules/forwardingRule -
|
|
# regions/region/forwardingRules/forwardingRule
|
|
# Corresponds to the JSON property `nextHopIlb`
|
|
# @return [String]
|
|
attr_accessor :next_hop_ilb
|
|
|
|
# The URL to an instance that should handle matching packets. You can specify
|
|
# this as a full or partial URL. For example: https://www.googleapis.com/compute/
|
|
# v1/projects/project/zones/zone/instances/
|
|
# Corresponds to the JSON property `nextHopInstance`
|
|
# @return [String]
|
|
attr_accessor :next_hop_instance
|
|
|
|
# [Output Only] The URL to an InterconnectAttachment which is the next hop for
|
|
# the route. This field will only be populated for the dynamic routes generated
|
|
# by Cloud Router with a linked interconnectAttachment.
|
|
# Corresponds to the JSON property `nextHopInterconnectAttachment`
|
|
# @return [String]
|
|
attr_accessor :next_hop_interconnect_attachment
|
|
|
|
# The network IP address of an instance that should handle matching packets.
|
|
# Only IPv4 is supported.
|
|
# Corresponds to the JSON property `nextHopIp`
|
|
# @return [String]
|
|
attr_accessor :next_hop_ip
|
|
|
|
# The URL of the local network if it should handle matching packets.
|
|
# Corresponds to the JSON property `nextHopNetwork`
|
|
# @return [String]
|
|
attr_accessor :next_hop_network
|
|
|
|
# [Output Only] The network peering name that should handle matching packets,
|
|
# which should conform to RFC1035.
|
|
# Corresponds to the JSON property `nextHopPeering`
|
|
# @return [String]
|
|
attr_accessor :next_hop_peering
|
|
|
|
# The URL to a VpnTunnel that should handle matching packets.
|
|
# Corresponds to the JSON property `nextHopVpnTunnel`
|
|
# @return [String]
|
|
attr_accessor :next_hop_vpn_tunnel
|
|
|
|
# The priority of this route. Priority is used to break ties in cases where
|
|
# there is more than one matching route of equal prefix length. In cases where
|
|
# multiple routes have equal prefix length, the one with the lowest-numbered
|
|
# priority value wins. The default value is `1000`. The priority value must be
|
|
# from `0` to `65535`, inclusive.
|
|
# Corresponds to the JSON property `priority`
|
|
# @return [Fixnum]
|
|
attr_accessor :priority
|
|
|
|
# [Output only] The status of the route.
|
|
# Corresponds to the JSON property `routeStatus`
|
|
# @return [String]
|
|
attr_accessor :route_status
|
|
|
|
# [Output Only] The type of this route, which can be one of the following values:
|
|
# - 'TRANSIT' for a transit route that this router learned from another Cloud
|
|
# Router and will readvertise to one of its BGP peers - 'SUBNET' for a route
|
|
# from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this
|
|
# router - 'STATIC' for a static route
|
|
# Corresponds to the JSON property `routeType`
|
|
# @return [String]
|
|
attr_accessor :route_type
|
|
|
|
# [Output Only] Server-defined fully-qualified URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# A list of instance tags to which this route applies.
|
|
# Corresponds to the JSON property `tags`
|
|
# @return [Array<String>]
|
|
attr_accessor :tags
|
|
|
|
# [Output Only] If potential misconfigurations are detected for this route, this
|
|
# field will be populated with warning messages.
|
|
# Corresponds to the JSON property `warnings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Route::Warning>]
|
|
attr_accessor :warnings
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@allow_conflicting_subnetworks = args[:allow_conflicting_subnetworks] if args.key?(:allow_conflicting_subnetworks)
|
|
@as_paths = args[:as_paths] if args.key?(:as_paths)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@dest_range = args[:dest_range] if args.key?(:dest_range)
|
|
@id = args[:id] if args.key?(:id)
|
|
@ilb_route_behavior_on_unhealthy = args[:ilb_route_behavior_on_unhealthy] if args.key?(:ilb_route_behavior_on_unhealthy)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@next_hop_gateway = args[:next_hop_gateway] if args.key?(:next_hop_gateway)
|
|
@next_hop_ilb = args[:next_hop_ilb] if args.key?(:next_hop_ilb)
|
|
@next_hop_instance = args[:next_hop_instance] if args.key?(:next_hop_instance)
|
|
@next_hop_interconnect_attachment = args[:next_hop_interconnect_attachment] if args.key?(:next_hop_interconnect_attachment)
|
|
@next_hop_ip = args[:next_hop_ip] if args.key?(:next_hop_ip)
|
|
@next_hop_network = args[:next_hop_network] if args.key?(:next_hop_network)
|
|
@next_hop_peering = args[:next_hop_peering] if args.key?(:next_hop_peering)
|
|
@next_hop_vpn_tunnel = args[:next_hop_vpn_tunnel] if args.key?(:next_hop_vpn_tunnel)
|
|
@priority = args[:priority] if args.key?(:priority)
|
|
@route_status = args[:route_status] if args.key?(:route_status)
|
|
@route_type = args[:route_type] if args.key?(:route_type)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
@warnings = args[:warnings] if args.key?(:warnings)
|
|
end
|
|
|
|
#
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Route::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouteAsPath
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The AS numbers of the AS Path.
|
|
# Corresponds to the JSON property `asLists`
|
|
# @return [Array<Fixnum>]
|
|
attr_accessor :as_lists
|
|
|
|
# [Output Only] The type of the AS Path, which can be one of the following
|
|
# values: - 'AS_SET': unordered set of autonomous systems that the route in has
|
|
# traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route
|
|
# has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems
|
|
# in the local confederation that the route has traversed - 'AS_CONFED_SET':
|
|
# unordered set of Member Autonomous Systems in the local confederation that the
|
|
# route has traversed
|
|
# Corresponds to the JSON property `pathSegmentType`
|
|
# @return [String]
|
|
attr_accessor :path_segment_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@as_lists = args[:as_lists] if args.key?(:as_lists)
|
|
@path_segment_type = args[:path_segment_type] if args.key?(:path_segment_type)
|
|
end
|
|
end
|
|
|
|
# Contains a list of Route resources.
|
|
class RouteList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Route resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Route>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RouteList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouteList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Cloud Router resource. For more information about Cloud Router,
|
|
# read the Cloud Router overview.
|
|
class Router
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# BGP information specific to this router.
|
|
# Corresponds to the JSON property `bgp`
|
|
# @return [Google::Apis::ComputeAlpha::RouterBgp]
|
|
attr_accessor :bgp
|
|
|
|
# BGP information that must be configured into the routing stack to establish
|
|
# BGP peering. This information must specify the peer ASN and either the
|
|
# interface name, IP address, or peer IP address. Please refer to RFC4273.
|
|
# Corresponds to the JSON property `bgpPeers`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterBgpPeer>]
|
|
attr_accessor :bgp_peers
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Indicates if a router is dedicated for use with encrypted VLAN attachments (
|
|
# interconnectAttachments). Not currently available publicly.
|
|
# Corresponds to the JSON property `encryptedInterconnectRouter`
|
|
# @return [Boolean]
|
|
attr_accessor :encrypted_interconnect_router
|
|
alias_method :encrypted_interconnect_router?, :encrypted_interconnect_router
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# Router interfaces. Each interface requires either one linked resource, (for
|
|
# example, linkedVpnTunnel), or IP address and IP address range (for example,
|
|
# ipRange), or both.
|
|
# Corresponds to the JSON property `interfaces`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterInterface>]
|
|
attr_accessor :interfaces
|
|
|
|
# [Output Only] Type of resource. Always compute#router for routers.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Keys used for MD5 authentication.
|
|
# Corresponds to the JSON property `md5AuthenticationKeys`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterMd5AuthenticationKey>]
|
|
attr_accessor :md5_authentication_keys
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# A list of NAT services created in this router.
|
|
# Corresponds to the JSON property `nats`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterNat>]
|
|
attr_accessor :nats
|
|
|
|
# URI of the network to which this router belongs.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# [Output Only] URI of the region where the router resides. You must specify
|
|
# this field as part of the HTTP request URL. It is not settable as a field in
|
|
# the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bgp = args[:bgp] if args.key?(:bgp)
|
|
@bgp_peers = args[:bgp_peers] if args.key?(:bgp_peers)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@encrypted_interconnect_router = args[:encrypted_interconnect_router] if args.key?(:encrypted_interconnect_router)
|
|
@id = args[:id] if args.key?(:id)
|
|
@interfaces = args[:interfaces] if args.key?(:interfaces)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@md5_authentication_keys = args[:md5_authentication_keys] if args.key?(:md5_authentication_keys)
|
|
@name = args[:name] if args.key?(:name)
|
|
@nats = args[:nats] if args.key?(:nats)
|
|
@network = args[:network] if args.key?(:network)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
end
|
|
end
|
|
|
|
# Description-tagged IP ranges for the router to advertise.
|
|
class RouterAdvertisedIpRange
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# User-specified description for the IP range.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The IP range to advertise. The value must be a CIDR-formatted string.
|
|
# Corresponds to the JSON property `range`
|
|
# @return [String]
|
|
attr_accessor :range
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@description = args[:description] if args.key?(:description)
|
|
@range = args[:range] if args.key?(:range)
|
|
end
|
|
end
|
|
|
|
# Contains a list of routers.
|
|
class RouterAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Router resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::RoutersScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RouterAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterBgp
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# User-specified flag to indicate which mode to use for advertisement. The
|
|
# options are DEFAULT or CUSTOM.
|
|
# Corresponds to the JSON property `advertiseMode`
|
|
# @return [String]
|
|
attr_accessor :advertise_mode
|
|
|
|
# User-specified list of prefix groups to advertise in custom mode. This field
|
|
# can only be populated if advertise_mode is CUSTOM and is advertised to all
|
|
# peers of the router. These groups will be advertised in addition to any
|
|
# specified prefixes. Leave this field blank to advertise no custom groups.
|
|
# Corresponds to the JSON property `advertisedGroups`
|
|
# @return [Array<String>]
|
|
attr_accessor :advertised_groups
|
|
|
|
# User-specified list of individual IP ranges to advertise in custom mode. This
|
|
# field can only be populated if advertise_mode is CUSTOM and is advertised to
|
|
# all peers of the router. These IP ranges will be advertised in addition to any
|
|
# specified groups. Leave this field blank to advertise no custom IP ranges.
|
|
# Corresponds to the JSON property `advertisedIpRanges`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterAdvertisedIpRange>]
|
|
attr_accessor :advertised_ip_ranges
|
|
|
|
# Local BGP Autonomous System Number (ASN). Must be an RFC6996 private ASN,
|
|
# either 16-bit or 32-bit. The value will be fixed for this router resource. All
|
|
# VPN tunnels that link to this router will have the same local ASN.
|
|
# Corresponds to the JSON property `asn`
|
|
# @return [Fixnum]
|
|
attr_accessor :asn
|
|
|
|
# The interval in seconds between BGP keepalive messages that are sent to the
|
|
# peer. Hold time is three times the interval at which keepalive messages are
|
|
# sent, and the hold time is the maximum number of seconds allowed to elapse
|
|
# between successive keepalive messages that BGP receives from a peer. BGP will
|
|
# use the smaller of either the local hold time value or the peer's hold time
|
|
# value as the hold time for the BGP connection between the two peers. If set,
|
|
# this value must be between 20 and 60. The default is 20.
|
|
# Corresponds to the JSON property `keepaliveInterval`
|
|
# @return [Fixnum]
|
|
attr_accessor :keepalive_interval
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@advertise_mode = args[:advertise_mode] if args.key?(:advertise_mode)
|
|
@advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
|
|
@advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
|
|
@asn = args[:asn] if args.key?(:asn)
|
|
@keepalive_interval = args[:keepalive_interval] if args.key?(:keepalive_interval)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterBgpPeer
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# User-specified flag to indicate which mode to use for advertisement.
|
|
# Corresponds to the JSON property `advertiseMode`
|
|
# @return [String]
|
|
attr_accessor :advertise_mode
|
|
|
|
# User-specified list of prefix groups to advertise in custom mode, which can
|
|
# take one of the following options: - ALL_SUBNETS: Advertises all available
|
|
# subnets, including peer VPC subnets. - ALL_VPC_SUBNETS: Advertises the router'
|
|
# s own VPC subnets. Note that this field can only be populated if
|
|
# advertise_mode is CUSTOM and overrides the list defined for the router (in the
|
|
# "bgp" message). These groups are advertised in addition to any specified
|
|
# prefixes. Leave this field blank to advertise no custom groups.
|
|
# Corresponds to the JSON property `advertisedGroups`
|
|
# @return [Array<String>]
|
|
attr_accessor :advertised_groups
|
|
|
|
# User-specified list of individual IP ranges to advertise in custom mode. This
|
|
# field can only be populated if advertise_mode is CUSTOM and overrides the list
|
|
# defined for the router (in the "bgp" message). These IP ranges are advertised
|
|
# in addition to any specified groups. Leave this field blank to advertise no
|
|
# custom IP ranges.
|
|
# Corresponds to the JSON property `advertisedIpRanges`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterAdvertisedIpRange>]
|
|
attr_accessor :advertised_ip_ranges
|
|
|
|
# The priority of routes advertised to this BGP peer. Where there is more than
|
|
# one matching route of maximum length, the routes with the lowest priority
|
|
# value win.
|
|
# Corresponds to the JSON property `advertisedRoutePriority`
|
|
# @return [Fixnum]
|
|
attr_accessor :advertised_route_priority
|
|
|
|
# BFD configuration for the BGP peering.
|
|
# Corresponds to the JSON property `bfd`
|
|
# @return [Google::Apis::ComputeAlpha::RouterBgpPeerBfd]
|
|
attr_accessor :bfd
|
|
|
|
# The status of the BGP peer connection. If set to FALSE, any active session
|
|
# with the peer is terminated and all associated routing information is removed.
|
|
# If set to TRUE, the peer connection can be established with routing
|
|
# information. The default is TRUE.
|
|
# Corresponds to the JSON property `enable`
|
|
# @return [String]
|
|
attr_accessor :enable
|
|
|
|
# Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
|
|
# Corresponds to the JSON property `enableIpv6`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_ipv6
|
|
alias_method :enable_ipv6?, :enable_ipv6
|
|
|
|
# Name of the interface the BGP peer is associated with.
|
|
# Corresponds to the JSON property `interfaceName`
|
|
# @return [String]
|
|
attr_accessor :interface_name
|
|
|
|
# IP address of the interface inside Google Cloud Platform. Only IPv4 is
|
|
# supported.
|
|
# Corresponds to the JSON property `ipAddress`
|
|
# @return [String]
|
|
attr_accessor :ip_address
|
|
|
|
# IPv6 address of the interface inside Google Cloud Platform.
|
|
# Corresponds to the JSON property `ipv6NexthopAddress`
|
|
# @return [String]
|
|
attr_accessor :ipv6_nexthop_address
|
|
|
|
# [Output Only] The resource that configures and manages this BGP peer. -
|
|
# MANAGED_BY_USER is the default value and can be managed by you or other users -
|
|
# MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud
|
|
# Interconnect, specifically by an InterconnectAttachment of type PARTNER.
|
|
# Google automatically creates, updates, and deletes this type of BGP peer when
|
|
# the PARTNER InterconnectAttachment is created, updated, or deleted.
|
|
# Corresponds to the JSON property `managementType`
|
|
# @return [String]
|
|
attr_accessor :management_type
|
|
|
|
# Present if MD5 authentication is enabled for the peering. Must be the name of
|
|
# one of the entries in the Router.md5_authentication_keys. The field must
|
|
# comply with RFC1035.
|
|
# Corresponds to the JSON property `md5AuthenticationKeyName`
|
|
# @return [String]
|
|
attr_accessor :md5_authentication_key_name
|
|
|
|
# Name of this BGP peer. The name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Peer BGP Autonomous System Number (ASN). Each BGP interface may use a
|
|
# different value.
|
|
# Corresponds to the JSON property `peerAsn`
|
|
# @return [Fixnum]
|
|
attr_accessor :peer_asn
|
|
|
|
# IP address of the BGP interface outside Google Cloud Platform. Only IPv4 is
|
|
# supported.
|
|
# Corresponds to the JSON property `peerIpAddress`
|
|
# @return [String]
|
|
attr_accessor :peer_ip_address
|
|
|
|
# IPv6 address of the BGP interface outside Google Cloud Platform.
|
|
# Corresponds to the JSON property `peerIpv6NexthopAddress`
|
|
# @return [String]
|
|
attr_accessor :peer_ipv6_nexthop_address
|
|
|
|
# URI of the VM instance that is used as third-party router appliances such as
|
|
# Next Gen Firewalls, Virtual Routers, or Router Appliances. The VM instance
|
|
# must be located in zones contained in the same region as this Cloud Router.
|
|
# The VM instance is the peer side of the BGP session.
|
|
# Corresponds to the JSON property `routerApplianceInstance`
|
|
# @return [String]
|
|
attr_accessor :router_appliance_instance
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@advertise_mode = args[:advertise_mode] if args.key?(:advertise_mode)
|
|
@advertised_groups = args[:advertised_groups] if args.key?(:advertised_groups)
|
|
@advertised_ip_ranges = args[:advertised_ip_ranges] if args.key?(:advertised_ip_ranges)
|
|
@advertised_route_priority = args[:advertised_route_priority] if args.key?(:advertised_route_priority)
|
|
@bfd = args[:bfd] if args.key?(:bfd)
|
|
@enable = args[:enable] if args.key?(:enable)
|
|
@enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
|
|
@interface_name = args[:interface_name] if args.key?(:interface_name)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
@ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
|
|
@management_type = args[:management_type] if args.key?(:management_type)
|
|
@md5_authentication_key_name = args[:md5_authentication_key_name] if args.key?(:md5_authentication_key_name)
|
|
@name = args[:name] if args.key?(:name)
|
|
@peer_asn = args[:peer_asn] if args.key?(:peer_asn)
|
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
|
@peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
|
|
@router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterBgpPeerBfd
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The minimum interval, in milliseconds, between BFD control packets received
|
|
# from the peer router. The actual value is negotiated between the two routers
|
|
# and is equal to the greater of this value and the transmit interval of the
|
|
# other router. If set, this value must be between 1000 and 30000. The default
|
|
# is 1000.
|
|
# Corresponds to the JSON property `minReceiveInterval`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_receive_interval
|
|
|
|
# The minimum interval, in milliseconds, between BFD control packets transmitted
|
|
# to the peer router. The actual value is negotiated between the two routers and
|
|
# is equal to the greater of this value and the corresponding receive interval
|
|
# of the other router. If set, this value must be between 1000 and 30000. The
|
|
# default is 1000.
|
|
# Corresponds to the JSON property `minTransmitInterval`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_transmit_interval
|
|
|
|
# The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
|
|
# Cloud Router will initiate the BFD session for this BGP peer. If set to
|
|
# PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
|
|
# session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
|
|
# peer. The default is PASSIVE.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
# The number of consecutive BFD packets that must be missed before BFD declares
|
|
# that a peer is unavailable. If set, the value must be a value between 5 and 16.
|
|
# The default is 5.
|
|
# Corresponds to the JSON property `multiplier`
|
|
# @return [Fixnum]
|
|
attr_accessor :multiplier
|
|
|
|
# The BFD packet mode for this BGP peer. If set to CONTROL_AND_ECHO, BFD echo
|
|
# mode is enabled for this BGP peer. In this mode, if the peer router also has
|
|
# BFD echo mode enabled, BFD echo packets will be sent to the other router. If
|
|
# the peer router does not have BFD echo mode enabled, only control packets will
|
|
# be sent. If set to CONTROL_ONLY, BFD echo mode is disabled for this BGP peer.
|
|
# If this router and the peer router have a multihop connection, this should be
|
|
# set to CONTROL_ONLY as BFD echo mode is only supported on singlehop
|
|
# connections. The default is CONTROL_AND_ECHO.
|
|
# Corresponds to the JSON property `packetMode`
|
|
# @return [String]
|
|
attr_accessor :packet_mode
|
|
|
|
# The BFD session initialization mode for this BGP peer. If set to ACTIVE, the
|
|
# Cloud Router will initiate the BFD session for this BGP peer. If set to
|
|
# PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD
|
|
# session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP
|
|
# peer. The default is DISABLED.
|
|
# Corresponds to the JSON property `sessionInitializationMode`
|
|
# @return [String]
|
|
attr_accessor :session_initialization_mode
|
|
|
|
# The minimum interval, in milliseconds, between BFD control packets transmitted
|
|
# to and received from the peer router when BFD echo mode is enabled on both
|
|
# routers. The actual transmit and receive intervals are negotiated between the
|
|
# two routers and are equal to the greater of this value and the corresponding
|
|
# interval on the other router. If set, this value must be between 1000 and
|
|
# 30000. The default is 5000.
|
|
# Corresponds to the JSON property `slowTimerInterval`
|
|
# @return [Fixnum]
|
|
attr_accessor :slow_timer_interval
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@min_receive_interval = args[:min_receive_interval] if args.key?(:min_receive_interval)
|
|
@min_transmit_interval = args[:min_transmit_interval] if args.key?(:min_transmit_interval)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
@multiplier = args[:multiplier] if args.key?(:multiplier)
|
|
@packet_mode = args[:packet_mode] if args.key?(:packet_mode)
|
|
@session_initialization_mode = args[:session_initialization_mode] if args.key?(:session_initialization_mode)
|
|
@slow_timer_interval = args[:slow_timer_interval] if args.key?(:slow_timer_interval)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterInterface
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# IP address and range of the interface. The IP range must be in the RFC3927
|
|
# link-local IP address space. The value must be a CIDR-formatted string, for
|
|
# example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents
|
|
# the IP address of the interface.
|
|
# Corresponds to the JSON property `ipRange`
|
|
# @return [String]
|
|
attr_accessor :ip_range
|
|
|
|
# URI of the linked Interconnect attachment. It must be in the same region as
|
|
# the router. Each interface can have one linked resource, which can be a VPN
|
|
# tunnel, an Interconnect attachment, or a virtual machine instance.
|
|
# Corresponds to the JSON property `linkedInterconnectAttachment`
|
|
# @return [String]
|
|
attr_accessor :linked_interconnect_attachment
|
|
|
|
# URI of the linked VPN tunnel, which must be in the same region as the router.
|
|
# Each interface can have one linked resource, which can be a VPN tunnel, an
|
|
# Interconnect attachment, or a virtual machine instance.
|
|
# Corresponds to the JSON property `linkedVpnTunnel`
|
|
# @return [String]
|
|
attr_accessor :linked_vpn_tunnel
|
|
|
|
# [Output Only] The resource that configures and manages this interface. -
|
|
# MANAGED_BY_USER is the default value and can be managed directly by users. -
|
|
# MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud
|
|
# Interconnect, specifically, by an InterconnectAttachment of type PARTNER.
|
|
# Google automatically creates, updates, and deletes this type of interface when
|
|
# the PARTNER InterconnectAttachment is created, updated, or deleted.
|
|
# Corresponds to the JSON property `managementType`
|
|
# @return [String]
|
|
attr_accessor :management_type
|
|
|
|
# Name of this interface entry. The name must be 1-63 characters long, and
|
|
# comply with RFC1035. Specifically, the name must be 1-63 characters long and
|
|
# match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the
|
|
# first character must be a lowercase letter, and all following characters must
|
|
# be a dash, lowercase letter, or digit, except the last character, which cannot
|
|
# be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The regional private internal IP address that is used to establish BGP
|
|
# sessions to a VM instance acting as a third-party Router Appliance, such as a
|
|
# Next Gen Firewall, a Virtual Router, or an SD-WAN VM.
|
|
# Corresponds to the JSON property `privateIpAddress`
|
|
# @return [String]
|
|
attr_accessor :private_ip_address
|
|
|
|
# Name of the interface that will be redundant with the current interface you
|
|
# are creating. The redundantInterface must belong to the same Cloud Router as
|
|
# the interface here. To establish the BGP session to a Router Appliance VM, you
|
|
# must create two BGP peers. The two BGP peers must be attached to two separate
|
|
# interfaces that are redundant with each other. The redundant_interface must be
|
|
# 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# redundant_interface must be 1-63 characters long and match the regular
|
|
# expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
|
|
# be a lowercase letter, and all following characters must be a dash, lowercase
|
|
# letter, or digit, except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `redundantInterface`
|
|
# @return [String]
|
|
attr_accessor :redundant_interface
|
|
|
|
# The URI of the subnetwork resource that this interface belongs to, which must
|
|
# be in the same region as the Cloud Router. When you establish a BGP session to
|
|
# a VM instance using this interface, the VM instance must belong to the same
|
|
# subnetwork as the subnetwork specified here.
|
|
# Corresponds to the JSON property `subnetwork`
|
|
# @return [String]
|
|
attr_accessor :subnetwork
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_range = args[:ip_range] if args.key?(:ip_range)
|
|
@linked_interconnect_attachment = args[:linked_interconnect_attachment] if args.key?(:linked_interconnect_attachment)
|
|
@linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
|
|
@management_type = args[:management_type] if args.key?(:management_type)
|
|
@name = args[:name] if args.key?(:name)
|
|
@private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
|
|
@redundant_interface = args[:redundant_interface] if args.key?(:redundant_interface)
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
end
|
|
end
|
|
|
|
# Contains a list of Router resources.
|
|
class RouterList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Router resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Router>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#router for routers.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RouterList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterMd5AuthenticationKey
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Input only] Value of the key. For patch and update calls, it can be skipped
|
|
# to copy the value from the previous configuration. This is allowed if the key
|
|
# with the same name existed before the operation. Maximum length is 80
|
|
# characters. Can only contain printable ASCII characters.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# Name used to identify the key. Must be unique within a router. Must be
|
|
# referenced by at least one bgpPeer. Must comply with RFC1035.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@name = args[:name] if args.key?(:name)
|
|
end
|
|
end
|
|
|
|
# Represents a Nat resource. It enables the VMs within the specified subnetworks
|
|
# to access Internet without external IP addresses. It specifies a list of
|
|
# subnetworks (and the ranges within) that want to use NAT. Customers can also
|
|
# provide the external IPs that would be used for NAT. GCP would auto-allocate
|
|
# ephemeral IPs if no external IPs are provided.
|
|
class RouterNat
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of URLs of the IP resources to be drained. These IPs must be valid
|
|
# static external IPs that have been assigned to the NAT. These IPs should be
|
|
# used for updating/patching a NAT only.
|
|
# Corresponds to the JSON property `drainNatIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :drain_nat_ips
|
|
|
|
# Enable Dynamic Port Allocation. If not specified, it is disabled by default.
|
|
# If set to true, - Dynamic Port Allocation will be enabled on this NAT config. -
|
|
# enableEndpointIndependentMapping cannot be set to true. - If minPorts is set,
|
|
# minPortsPerVm must be set to a power of two greater than or equal to 32. If
|
|
# minPortsPerVm is not set, a minimum of 32 ports will be allocated to a VM from
|
|
# this NAT config.
|
|
# Corresponds to the JSON property `enableDynamicPortAllocation`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_dynamic_port_allocation
|
|
alias_method :enable_dynamic_port_allocation?, :enable_dynamic_port_allocation
|
|
|
|
#
|
|
# Corresponds to the JSON property `enableEndpointIndependentMapping`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_endpoint_independent_mapping
|
|
alias_method :enable_endpoint_independent_mapping?, :enable_endpoint_independent_mapping
|
|
|
|
# List of Natted endpoint types supported by the Nat Gateway. If the list is
|
|
# empty, then it will be equivalent to include ENDPOINT_TYPE_VM
|
|
# Corresponds to the JSON property `endpointTypes`
|
|
# @return [Array<String>]
|
|
attr_accessor :endpoint_types
|
|
|
|
# Timeout (in seconds) for ICMP connections. Defaults to 30s if not set.
|
|
# Corresponds to the JSON property `icmpIdleTimeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :icmp_idle_timeout_sec
|
|
|
|
# Configuration of logging on a NAT.
|
|
# Corresponds to the JSON property `logConfig`
|
|
# @return [Google::Apis::ComputeAlpha::RouterNatLogConfig]
|
|
attr_accessor :log_config
|
|
|
|
# Maximum number of ports allocated to a VM from this NAT config when Dynamic
|
|
# Port Allocation is enabled. If Dynamic Port Allocation is not enabled, this
|
|
# field has no effect. If Dynamic Port Allocation is enabled, and this field is
|
|
# set, it must be set to a power of two greater than minPortsPerVm, or 64 if
|
|
# minPortsPerVm is not set. If Dynamic Port Allocation is enabled and this field
|
|
# is not set, a maximum of 65536 ports will be allocated to a VM from this NAT
|
|
# config.
|
|
# Corresponds to the JSON property `maxPortsPerVm`
|
|
# @return [Fixnum]
|
|
attr_accessor :max_ports_per_vm
|
|
|
|
# Minimum number of ports allocated to a VM from this NAT config. If not set, a
|
|
# default number of ports is allocated to a VM. This is rounded up to the
|
|
# nearest power of 2. For example, if the value of this field is 50, at least 64
|
|
# ports are allocated to a VM.
|
|
# Corresponds to the JSON property `minPortsPerVm`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_ports_per_vm
|
|
|
|
# Unique name of this Nat service. The name must be 1-63 characters long and
|
|
# comply with RFC1035.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Specify the NatIpAllocateOption, which can take one of the following values: -
|
|
# MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are
|
|
# not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY:
|
|
# Nat IPs are allocated by Google Cloud Platform; customers can't specify any
|
|
# Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty.
|
|
# Corresponds to the JSON property `natIpAllocateOption`
|
|
# @return [String]
|
|
attr_accessor :nat_ip_allocate_option
|
|
|
|
# A list of URLs of the IP resources used for this Nat service. These IP
|
|
# addresses must be valid static external IP addresses assigned to the project.
|
|
# Corresponds to the JSON property `natIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :nat_ips
|
|
|
|
# A list of rules associated with this NAT.
|
|
# Corresponds to the JSON property `rules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterNatRule>]
|
|
attr_accessor :rules
|
|
|
|
# Specify the Nat option, which can take one of the following values: -
|
|
# ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are
|
|
# allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP
|
|
# ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list
|
|
# of Subnetworks are allowed to Nat (specified in the field subnetwork below)
|
|
# The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if
|
|
# this field contains ALL_SUBNETWORKS_ALL_IP_RANGES or
|
|
# ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES, then there should not be any other
|
|
# Router.Nat section in any Router for this network in this region.
|
|
# Corresponds to the JSON property `sourceSubnetworkIpRangesToNat`
|
|
# @return [String]
|
|
attr_accessor :source_subnetwork_ip_ranges_to_nat
|
|
|
|
# A list of Subnetwork resources whose traffic should be translated by NAT
|
|
# Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the
|
|
# SubnetworkIpRangeToNatOption above.
|
|
# Corresponds to the JSON property `subnetworks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterNatSubnetworkToNat>]
|
|
attr_accessor :subnetworks
|
|
|
|
# Timeout (in seconds) for TCP established connections. Defaults to 1200s if not
|
|
# set.
|
|
# Corresponds to the JSON property `tcpEstablishedIdleTimeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :tcp_established_idle_timeout_sec
|
|
|
|
# Timeout (in seconds) for TCP connections that are in TIME_WAIT state. Defaults
|
|
# to 120s if not set.
|
|
# Corresponds to the JSON property `tcpTimeWaitTimeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :tcp_time_wait_timeout_sec
|
|
|
|
# Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not
|
|
# set.
|
|
# Corresponds to the JSON property `tcpTransitoryIdleTimeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :tcp_transitory_idle_timeout_sec
|
|
|
|
# Indicates whether this NAT is used for public or private IP translation. If
|
|
# unspecified, it defaults to PUBLIC.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
# Timeout (in seconds) for UDP connections. Defaults to 30s if not set.
|
|
# Corresponds to the JSON property `udpIdleTimeoutSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :udp_idle_timeout_sec
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
|
|
@enable_dynamic_port_allocation = args[:enable_dynamic_port_allocation] if args.key?(:enable_dynamic_port_allocation)
|
|
@enable_endpoint_independent_mapping = args[:enable_endpoint_independent_mapping] if args.key?(:enable_endpoint_independent_mapping)
|
|
@endpoint_types = args[:endpoint_types] if args.key?(:endpoint_types)
|
|
@icmp_idle_timeout_sec = args[:icmp_idle_timeout_sec] if args.key?(:icmp_idle_timeout_sec)
|
|
@log_config = args[:log_config] if args.key?(:log_config)
|
|
@max_ports_per_vm = args[:max_ports_per_vm] if args.key?(:max_ports_per_vm)
|
|
@min_ports_per_vm = args[:min_ports_per_vm] if args.key?(:min_ports_per_vm)
|
|
@name = args[:name] if args.key?(:name)
|
|
@nat_ip_allocate_option = args[:nat_ip_allocate_option] if args.key?(:nat_ip_allocate_option)
|
|
@nat_ips = args[:nat_ips] if args.key?(:nat_ips)
|
|
@rules = args[:rules] if args.key?(:rules)
|
|
@source_subnetwork_ip_ranges_to_nat = args[:source_subnetwork_ip_ranges_to_nat] if args.key?(:source_subnetwork_ip_ranges_to_nat)
|
|
@subnetworks = args[:subnetworks] if args.key?(:subnetworks)
|
|
@tcp_established_idle_timeout_sec = args[:tcp_established_idle_timeout_sec] if args.key?(:tcp_established_idle_timeout_sec)
|
|
@tcp_time_wait_timeout_sec = args[:tcp_time_wait_timeout_sec] if args.key?(:tcp_time_wait_timeout_sec)
|
|
@tcp_transitory_idle_timeout_sec = args[:tcp_transitory_idle_timeout_sec] if args.key?(:tcp_transitory_idle_timeout_sec)
|
|
@type = args[:type] if args.key?(:type)
|
|
@udp_idle_timeout_sec = args[:udp_idle_timeout_sec] if args.key?(:udp_idle_timeout_sec)
|
|
end
|
|
end
|
|
|
|
# Configuration of logging on a NAT.
|
|
class RouterNatLogConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Indicates whether or not to export logs. This is false by default.
|
|
# Corresponds to the JSON property `enable`
|
|
# @return [Boolean]
|
|
attr_accessor :enable
|
|
alias_method :enable?, :enable
|
|
|
|
# Specify the desired filtering of logs on this NAT. If unspecified, logs are
|
|
# exported for all connections handled by this NAT. This option can take one of
|
|
# the following values: - ERRORS_ONLY: Export logs only for connection failures.
|
|
# - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL:
|
|
# Export logs for all connections, successful and unsuccessful.
|
|
# Corresponds to the JSON property `filter`
|
|
# @return [String]
|
|
attr_accessor :filter
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable = args[:enable] if args.key?(:enable)
|
|
@filter = args[:filter] if args.key?(:filter)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterNatRule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The action to be enforced for traffic that matches this rule.
|
|
# Corresponds to the JSON property `action`
|
|
# @return [Google::Apis::ComputeAlpha::RouterNatRuleAction]
|
|
attr_accessor :action
|
|
|
|
# An optional description of this rule.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# CEL expression that specifies the match condition that egress traffic from a
|
|
# VM is evaluated against. If it evaluates to true, the corresponding `action`
|
|
# is enforced. The following examples are valid match expressions for public NAT:
|
|
# "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.
|
|
# 0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The
|
|
# following example is a valid match expression for private NAT: "nexthop.hub ==
|
|
# 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/
|
|
# global/hub/hub-1'"
|
|
# Corresponds to the JSON property `match`
|
|
# @return [String]
|
|
attr_accessor :match
|
|
|
|
# An integer uniquely identifying a rule in the list. The rule number must be a
|
|
# positive value between 0 and 65000, and must be unique among rules within a
|
|
# NAT.
|
|
# Corresponds to the JSON property `ruleNumber`
|
|
# @return [Fixnum]
|
|
attr_accessor :rule_number
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@action = args[:action] if args.key?(:action)
|
|
@description = args[:description] if args.key?(:description)
|
|
@match = args[:match] if args.key?(:match)
|
|
@rule_number = args[:rule_number] if args.key?(:rule_number)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterNatRuleAction
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of URLs of the IP resources used for this NAT rule. These IP addresses
|
|
# must be valid static external IP addresses assigned to the project. This field
|
|
# is used for public NAT.
|
|
# Corresponds to the JSON property `sourceNatActiveIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :source_nat_active_ips
|
|
|
|
# A list of URLs of the subnetworks used as source ranges for this NAT Rule.
|
|
# These subnetworks must have purpose set to PRIVATE_NAT. This field is used for
|
|
# private NAT.
|
|
# Corresponds to the JSON property `sourceNatActiveRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :source_nat_active_ranges
|
|
|
|
# A list of URLs of the IP resources to be drained. These IPs must be valid
|
|
# static external IPs that have been assigned to the NAT. These IPs should be
|
|
# used for updating/patching a NAT rule only. This field is used for public NAT.
|
|
# Corresponds to the JSON property `sourceNatDrainIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :source_nat_drain_ips
|
|
|
|
# A list of URLs of subnetworks representing source ranges to be drained. This
|
|
# is only supported on patch/update, and these subnetworks must have previously
|
|
# been used as active ranges in this NAT Rule. This field is used for private
|
|
# NAT.
|
|
# Corresponds to the JSON property `sourceNatDrainRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :source_nat_drain_ranges
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@source_nat_active_ips = args[:source_nat_active_ips] if args.key?(:source_nat_active_ips)
|
|
@source_nat_active_ranges = args[:source_nat_active_ranges] if args.key?(:source_nat_active_ranges)
|
|
@source_nat_drain_ips = args[:source_nat_drain_ips] if args.key?(:source_nat_drain_ips)
|
|
@source_nat_drain_ranges = args[:source_nat_drain_ranges] if args.key?(:source_nat_drain_ranges)
|
|
end
|
|
end
|
|
|
|
# Defines the IP ranges that want to use NAT for a subnetwork.
|
|
class RouterNatSubnetworkToNat
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# URL for the subnetwork resource that will use NAT.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# A list of the secondary ranges of the Subnetwork that are allowed to use NAT.
|
|
# This can be populated only if "LIST_OF_SECONDARY_IP_RANGES" is one of the
|
|
# values in source_ip_ranges_to_nat.
|
|
# Corresponds to the JSON property `secondaryIpRangeNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :secondary_ip_range_names
|
|
|
|
# Specify the options for NAT ranges in the Subnetwork. All options of a single
|
|
# value are valid except NAT_IP_RANGE_OPTION_UNSPECIFIED. The only valid option
|
|
# with multiple values is: ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"]
|
|
# Default: [ALL_IP_RANGES]
|
|
# Corresponds to the JSON property `sourceIpRangesToNat`
|
|
# @return [Array<String>]
|
|
attr_accessor :source_ip_ranges_to_nat
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@secondary_ip_range_names = args[:secondary_ip_range_names] if args.key?(:secondary_ip_range_names)
|
|
@source_ip_ranges_to_nat = args[:source_ip_ranges_to_nat] if args.key?(:source_ip_ranges_to_nat)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Best routes for this router's network.
|
|
# Corresponds to the JSON property `bestRoutes`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Route>]
|
|
attr_accessor :best_routes
|
|
|
|
# Best routes learned by this router.
|
|
# Corresponds to the JSON property `bestRoutesForRouter`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Route>]
|
|
attr_accessor :best_routes_for_router
|
|
|
|
#
|
|
# Corresponds to the JSON property `bgpPeerStatus`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterStatusBgpPeerStatus>]
|
|
attr_accessor :bgp_peer_status
|
|
|
|
#
|
|
# Corresponds to the JSON property `natStatus`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterStatusNatStatus>]
|
|
attr_accessor :nat_status
|
|
|
|
# URI of the network to which this router belongs.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@best_routes = args[:best_routes] if args.key?(:best_routes)
|
|
@best_routes_for_router = args[:best_routes_for_router] if args.key?(:best_routes_for_router)
|
|
@bgp_peer_status = args[:bgp_peer_status] if args.key?(:bgp_peer_status)
|
|
@nat_status = args[:nat_status] if args.key?(:nat_status)
|
|
@network = args[:network] if args.key?(:network)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterStatusBgpPeerStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Routes that were advertised to the remote BGP peer
|
|
# Corresponds to the JSON property `advertisedRoutes`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Route>]
|
|
attr_accessor :advertised_routes
|
|
|
|
# Next free: 15
|
|
# Corresponds to the JSON property `bfdStatus`
|
|
# @return [Google::Apis::ComputeAlpha::BfdStatus]
|
|
attr_accessor :bfd_status
|
|
|
|
# Enable IPv6 traffic over BGP Peer. If not specified, it is disabled by default.
|
|
# Corresponds to the JSON property `enableIpv6`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_ipv6
|
|
alias_method :enable_ipv6?, :enable_ipv6
|
|
|
|
# IP address of the local BGP interface.
|
|
# Corresponds to the JSON property `ipAddress`
|
|
# @return [String]
|
|
attr_accessor :ip_address
|
|
|
|
# IPv6 address of the local BGP interface.
|
|
# Corresponds to the JSON property `ipv6NexthopAddress`
|
|
# @return [String]
|
|
attr_accessor :ipv6_nexthop_address
|
|
|
|
# URL of the VPN tunnel that this BGP peer controls.
|
|
# Corresponds to the JSON property `linkedVpnTunnel`
|
|
# @return [String]
|
|
attr_accessor :linked_vpn_tunnel
|
|
|
|
# Informs whether MD5 authentication is enabled on this BGP peer.
|
|
# Corresponds to the JSON property `md5AuthEnabled`
|
|
# @return [Boolean]
|
|
attr_accessor :md5_auth_enabled
|
|
alias_method :md5_auth_enabled?, :md5_auth_enabled
|
|
|
|
# Name of this BGP peer. Unique within the Routers resource.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Number of routes learned from the remote BGP Peer.
|
|
# Corresponds to the JSON property `numLearnedRoutes`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_learned_routes
|
|
|
|
# IP address of the remote BGP interface.
|
|
# Corresponds to the JSON property `peerIpAddress`
|
|
# @return [String]
|
|
attr_accessor :peer_ip_address
|
|
|
|
# IPv6 address of the remote BGP interface.
|
|
# Corresponds to the JSON property `peerIpv6NexthopAddress`
|
|
# @return [String]
|
|
attr_accessor :peer_ipv6_nexthop_address
|
|
|
|
# [Output only] URI of the VM instance that is used as third-party router
|
|
# appliances such as Next Gen Firewalls, Virtual Routers, or Router Appliances.
|
|
# The VM instance is the peer side of the BGP session.
|
|
# Corresponds to the JSON property `routerApplianceInstance`
|
|
# @return [String]
|
|
attr_accessor :router_appliance_instance
|
|
|
|
# The state of the BGP session. For a list of possible values for this field,
|
|
# see BGP session states.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
# Status of the BGP peer: `UP, DOWN`
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# Indicates why particular status was returned.
|
|
# Corresponds to the JSON property `statusReason`
|
|
# @return [String]
|
|
attr_accessor :status_reason
|
|
|
|
# Time this session has been up. Format: 14 years, 51 weeks, 6 days, 23 hours,
|
|
# 59 minutes, 59 seconds
|
|
# Corresponds to the JSON property `uptime`
|
|
# @return [String]
|
|
attr_accessor :uptime
|
|
|
|
# Time this session has been up, in seconds. Format: 145
|
|
# Corresponds to the JSON property `uptimeSeconds`
|
|
# @return [String]
|
|
attr_accessor :uptime_seconds
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@advertised_routes = args[:advertised_routes] if args.key?(:advertised_routes)
|
|
@bfd_status = args[:bfd_status] if args.key?(:bfd_status)
|
|
@enable_ipv6 = args[:enable_ipv6] if args.key?(:enable_ipv6)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
@ipv6_nexthop_address = args[:ipv6_nexthop_address] if args.key?(:ipv6_nexthop_address)
|
|
@linked_vpn_tunnel = args[:linked_vpn_tunnel] if args.key?(:linked_vpn_tunnel)
|
|
@md5_auth_enabled = args[:md5_auth_enabled] if args.key?(:md5_auth_enabled)
|
|
@name = args[:name] if args.key?(:name)
|
|
@num_learned_routes = args[:num_learned_routes] if args.key?(:num_learned_routes)
|
|
@peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address)
|
|
@peer_ipv6_nexthop_address = args[:peer_ipv6_nexthop_address] if args.key?(:peer_ipv6_nexthop_address)
|
|
@router_appliance_instance = args[:router_appliance_instance] if args.key?(:router_appliance_instance)
|
|
@state = args[:state] if args.key?(:state)
|
|
@status = args[:status] if args.key?(:status)
|
|
@status_reason = args[:status_reason] if args.key?(:status_reason)
|
|
@uptime = args[:uptime] if args.key?(:uptime)
|
|
@uptime_seconds = args[:uptime_seconds] if args.key?(:uptime_seconds)
|
|
end
|
|
end
|
|
|
|
# Status of a NAT contained in this router.
|
|
class RouterStatusNatStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of IPs auto-allocated for NAT. Example: ["1.1.1.1", "129.2.16.89"]
|
|
# Corresponds to the JSON property `autoAllocatedNatIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :auto_allocated_nat_ips
|
|
|
|
# A list of IPs auto-allocated for NAT that are in drain mode. Example: ["1.1.1.
|
|
# 1", "179.12.26.133"].
|
|
# Corresponds to the JSON property `drainAutoAllocatedNatIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :drain_auto_allocated_nat_ips
|
|
|
|
# A list of IPs user-allocated for NAT that are in drain mode. Example: ["1.1.1.
|
|
# 1", "179.12.26.133"].
|
|
# Corresponds to the JSON property `drainUserAllocatedNatIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :drain_user_allocated_nat_ips
|
|
|
|
# The number of extra IPs to allocate. This will be greater than 0 only if user-
|
|
# specified IPs are NOT enough to allow all configured VMs to use NAT. This
|
|
# value is meaningful only when auto-allocation of NAT IPs is *not* used.
|
|
# Corresponds to the JSON property `minExtraNatIpsNeeded`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_extra_nat_ips_needed
|
|
|
|
# Unique name of this NAT.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Number of VM endpoints (i.e., Nics) that can use NAT.
|
|
# Corresponds to the JSON property `numVmEndpointsWithNatMappings`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_vm_endpoints_with_nat_mappings
|
|
|
|
# Status of rules in this NAT.
|
|
# Corresponds to the JSON property `ruleStatus`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RouterStatusNatStatusNatRuleStatus>]
|
|
attr_accessor :rule_status
|
|
|
|
# A list of fully qualified URLs of reserved IP address resources.
|
|
# Corresponds to the JSON property `userAllocatedNatIpResources`
|
|
# @return [Array<String>]
|
|
attr_accessor :user_allocated_nat_ip_resources
|
|
|
|
# A list of IPs user-allocated for NAT. They will be raw IP strings like "179.12.
|
|
# 26.133".
|
|
# Corresponds to the JSON property `userAllocatedNatIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :user_allocated_nat_ips
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_allocated_nat_ips = args[:auto_allocated_nat_ips] if args.key?(:auto_allocated_nat_ips)
|
|
@drain_auto_allocated_nat_ips = args[:drain_auto_allocated_nat_ips] if args.key?(:drain_auto_allocated_nat_ips)
|
|
@drain_user_allocated_nat_ips = args[:drain_user_allocated_nat_ips] if args.key?(:drain_user_allocated_nat_ips)
|
|
@min_extra_nat_ips_needed = args[:min_extra_nat_ips_needed] if args.key?(:min_extra_nat_ips_needed)
|
|
@name = args[:name] if args.key?(:name)
|
|
@num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
|
|
@rule_status = args[:rule_status] if args.key?(:rule_status)
|
|
@user_allocated_nat_ip_resources = args[:user_allocated_nat_ip_resources] if args.key?(:user_allocated_nat_ip_resources)
|
|
@user_allocated_nat_ips = args[:user_allocated_nat_ips] if args.key?(:user_allocated_nat_ips)
|
|
end
|
|
end
|
|
|
|
# Status of a NAT Rule contained in this NAT.
|
|
class RouterStatusNatStatusNatRuleStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of active IPs for NAT. Example: ["1.1.1.1", "179.12.26.133"].
|
|
# Corresponds to the JSON property `activeNatIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :active_nat_ips
|
|
|
|
# A list of IPs for NAT that are in drain mode. Example: ["1.1.1.1", "179.12.26.
|
|
# 133"].
|
|
# Corresponds to the JSON property `drainNatIps`
|
|
# @return [Array<String>]
|
|
attr_accessor :drain_nat_ips
|
|
|
|
# The number of extra IPs to allocate. This will be greater than 0 only if the
|
|
# existing IPs in this NAT Rule are NOT enough to allow all configured VMs to
|
|
# use NAT.
|
|
# Corresponds to the JSON property `minExtraIpsNeeded`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_extra_ips_needed
|
|
|
|
# Number of VM endpoints (i.e., NICs) that have NAT Mappings from this NAT Rule.
|
|
# Corresponds to the JSON property `numVmEndpointsWithNatMappings`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_vm_endpoints_with_nat_mappings
|
|
|
|
# Rule number of the rule.
|
|
# Corresponds to the JSON property `ruleNumber`
|
|
# @return [Fixnum]
|
|
attr_accessor :rule_number
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@active_nat_ips = args[:active_nat_ips] if args.key?(:active_nat_ips)
|
|
@drain_nat_ips = args[:drain_nat_ips] if args.key?(:drain_nat_ips)
|
|
@min_extra_ips_needed = args[:min_extra_ips_needed] if args.key?(:min_extra_ips_needed)
|
|
@num_vm_endpoints_with_nat_mappings = args[:num_vm_endpoints_with_nat_mappings] if args.key?(:num_vm_endpoints_with_nat_mappings)
|
|
@rule_number = args[:rule_number] if args.key?(:rule_number)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RouterStatusResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
#
|
|
# Corresponds to the JSON property `result`
|
|
# @return [Google::Apis::ComputeAlpha::RouterStatus]
|
|
attr_accessor :result
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@result = args[:result] if args.key?(:result)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RoutersPreviewResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Represents a Cloud Router resource. For more information about Cloud Router,
|
|
# read the Cloud Router overview.
|
|
# Corresponds to the JSON property `resource`
|
|
# @return [Google::Apis::ComputeAlpha::Router]
|
|
attr_accessor :resource
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@resource = args[:resource] if args.key?(:resource)
|
|
end
|
|
end
|
|
|
|
#
|
|
class RoutersScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of routers contained in this scope.
|
|
# Corresponds to the JSON property `routers`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Router>]
|
|
attr_accessor :routers
|
|
|
|
# Informational warning which replaces the list of routers when the list is
|
|
# empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::RoutersScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@routers = args[:routers] if args.key?(:routers)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of routers when the list is
|
|
# empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::RoutersScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
class Rule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `action`
|
|
# @return [String]
|
|
attr_accessor :action
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `conditions`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Condition>]
|
|
attr_accessor :conditions
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `ins`
|
|
# @return [Array<String>]
|
|
attr_accessor :ins
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `logConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::LogConfig>]
|
|
attr_accessor :log_configs
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `notIns`
|
|
# @return [Array<String>]
|
|
attr_accessor :not_ins
|
|
|
|
# This is deprecated and has no effect. Do not use.
|
|
# Corresponds to the JSON property `permissions`
|
|
# @return [Array<String>]
|
|
attr_accessor :permissions
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@action = args[:action] if args.key?(:action)
|
|
@conditions = args[:conditions] if args.key?(:conditions)
|
|
@description = args[:description] if args.key?(:description)
|
|
@ins = args[:ins] if args.key?(:ins)
|
|
@log_configs = args[:log_configs] if args.key?(:log_configs)
|
|
@not_ins = args[:not_ins] if args.key?(:not_ins)
|
|
@permissions = args[:permissions] if args.key?(:permissions)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SslHealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The TCP port number for the health check request. The default value is 443.
|
|
# Valid values are 1 through 65535.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# Port name as defined in InstanceGroup#NamedPort#name. If both port and
|
|
# port_name are defined, port takes precedence.
|
|
# Corresponds to the JSON property `portName`
|
|
# @return [String]
|
|
attr_accessor :port_name
|
|
|
|
# Specifies how port is selected for health checking, can be one of following
|
|
# values: USE_FIXED_PORT: The port number in port is used for health checking.
|
|
# USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
|
|
# For NetworkEndpointGroup, the port specified for each network endpoint is used
|
|
# for health checking. For other backends, the port or named port specified in
|
|
# the Backend Service is used for health checking. If not specified, SSL health
|
|
# check follows behavior specified in port and portName fields.
|
|
# Corresponds to the JSON property `portSpecification`
|
|
# @return [String]
|
|
attr_accessor :port_specification
|
|
|
|
# Specifies the type of proxy header to append before sending data to the
|
|
# backend, either NONE or PROXY_V1. The default is NONE.
|
|
# Corresponds to the JSON property `proxyHeader`
|
|
# @return [String]
|
|
attr_accessor :proxy_header
|
|
|
|
# The application data to send once the SSL connection has been established (
|
|
# default value is empty). If both request and response are empty, the
|
|
# connection establishment alone will indicate health. The request data can only
|
|
# be ASCII.
|
|
# Corresponds to the JSON property `request`
|
|
# @return [String]
|
|
attr_accessor :request
|
|
|
|
# The bytes to match against the beginning of the response data. If left empty (
|
|
# the default value), any response will indicate health. The response data can
|
|
# only be ASCII.
|
|
# Corresponds to the JSON property `response`
|
|
# @return [String]
|
|
attr_accessor :response
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@port = args[:port] if args.key?(:port)
|
|
@port_name = args[:port_name] if args.key?(:port_name)
|
|
@port_specification = args[:port_specification] if args.key?(:port_specification)
|
|
@proxy_header = args[:proxy_header] if args.key?(:proxy_header)
|
|
@request = args[:request] if args.key?(:request)
|
|
@response = args[:response] if args.key?(:response)
|
|
end
|
|
end
|
|
|
|
# DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk
|
|
# resource.
|
|
class SavedAttachedDisk
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies whether the disk will be auto-deleted when the instance is deleted (
|
|
# but not when the disk is detached from the instance).
|
|
# Corresponds to the JSON property `autoDelete`
|
|
# @return [Boolean]
|
|
attr_accessor :auto_delete
|
|
alias_method :auto_delete?, :auto_delete
|
|
|
|
# Indicates that this is a boot disk. The virtual machine will use the first
|
|
# partition of the disk for its root filesystem.
|
|
# Corresponds to the JSON property `boot`
|
|
# @return [Boolean]
|
|
attr_accessor :boot
|
|
alias_method :boot?, :boot
|
|
|
|
# Specifies the name of the disk attached to the source instance.
|
|
# Corresponds to the JSON property `deviceName`
|
|
# @return [String]
|
|
attr_accessor :device_name
|
|
|
|
# The encryption key for the disk.
|
|
# Corresponds to the JSON property `diskEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :disk_encryption_key
|
|
|
|
# The size of the disk in base-2 GB.
|
|
# Corresponds to the JSON property `diskSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :disk_size_gb
|
|
|
|
# [Output Only] URL of the disk type resource. For example: projects/project /
|
|
# zones/zone/diskTypes/pd-standard or pd-ssd
|
|
# Corresponds to the JSON property `diskType`
|
|
# @return [String]
|
|
attr_accessor :disk_type
|
|
|
|
# A list of features to enable on the guest operating system. Applicable only
|
|
# for bootable images. Read Enabling guest operating system features to see a
|
|
# list of available options.
|
|
# Corresponds to the JSON property `guestOsFeatures`
|
|
# @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
|
|
attr_accessor :guest_os_features
|
|
|
|
# Specifies zero-based index of the disk that is attached to the source instance.
|
|
# Corresponds to the JSON property `index`
|
|
# @return [Fixnum]
|
|
attr_accessor :index
|
|
|
|
# Specifies the disk interface to use for attaching this disk, which is either
|
|
# SCSI or NVME.
|
|
# Corresponds to the JSON property `interface`
|
|
# @return [String]
|
|
attr_accessor :interface
|
|
|
|
# [Output Only] Type of the resource. Always compute#attachedDisk for attached
|
|
# disks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Any valid publicly visible licenses.
|
|
# Corresponds to the JSON property `licenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :licenses
|
|
|
|
# The mode in which this disk is attached to the source instance, either
|
|
# READ_WRITE or READ_ONLY.
|
|
# Corresponds to the JSON property `mode`
|
|
# @return [String]
|
|
attr_accessor :mode
|
|
|
|
# Specifies a URL of the disk attached to the source instance.
|
|
# Corresponds to the JSON property `source`
|
|
# @return [String]
|
|
attr_accessor :source
|
|
|
|
# [Output Only] A size of the storage used by the disk's snapshot by this
|
|
# machine image.
|
|
# Corresponds to the JSON property `storageBytes`
|
|
# @return [Fixnum]
|
|
attr_accessor :storage_bytes
|
|
|
|
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
|
# being adjusted as a result of shared storage reallocation. This status can
|
|
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
|
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
|
# Corresponds to the JSON property `storageBytesStatus`
|
|
# @return [String]
|
|
attr_accessor :storage_bytes_status
|
|
|
|
# Specifies the type of the attached disk, either SCRATCH or PERSISTENT.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
|
@boot = args[:boot] if args.key?(:boot)
|
|
@device_name = args[:device_name] if args.key?(:device_name)
|
|
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
|
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
|
@index = args[:index] if args.key?(:index)
|
|
@interface = args[:interface] if args.key?(:interface)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@licenses = args[:licenses] if args.key?(:licenses)
|
|
@mode = args[:mode] if args.key?(:mode)
|
|
@source = args[:source] if args.key?(:source)
|
|
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
|
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# An instance-attached disk resource.
|
|
class SavedDisk
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Type of the resource. Always compute#savedDisk for attached
|
|
# disks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Specifies a URL of the disk attached to the source instance.
|
|
# Corresponds to the JSON property `sourceDisk`
|
|
# @return [String]
|
|
attr_accessor :source_disk
|
|
|
|
# [Output Only] Size of the individual disk snapshot used by this machine image.
|
|
# Corresponds to the JSON property `storageBytes`
|
|
# @return [Fixnum]
|
|
attr_accessor :storage_bytes
|
|
|
|
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
|
# being adjusted as a result of shared storage reallocation. This status can
|
|
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
|
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
|
# Corresponds to the JSON property `storageBytesStatus`
|
|
# @return [String]
|
|
attr_accessor :storage_bytes_status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
|
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
|
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ScalingScheduleStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The last time the scaling schedule became active. Note: this is
|
|
# a timestamp when a schedule actually became active, not when it was planned to
|
|
# do so. The timestamp is in RFC3339 text format.
|
|
# Corresponds to the JSON property `lastStartTime`
|
|
# @return [String]
|
|
attr_accessor :last_start_time
|
|
|
|
# [Output Only] The next time the scaling schedule is to become active. Note:
|
|
# this is a timestamp when a schedule is planned to run, but the actual time
|
|
# might be slightly different. The timestamp is in RFC3339 text format.
|
|
# Corresponds to the JSON property `nextStartTime`
|
|
# @return [String]
|
|
attr_accessor :next_start_time
|
|
|
|
# [Output Only] The current state of a scaling schedule.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@last_start_time = args[:last_start_time] if args.key?(:last_start_time)
|
|
@next_start_time = args[:next_start_time] if args.key?(:next_start_time)
|
|
@state = args[:state] if args.key?(:state)
|
|
end
|
|
end
|
|
|
|
# Sets the scheduling options for an Instance. NextID: 21
|
|
class Scheduling
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies whether the instance should be automatically restarted if it is
|
|
# terminated by Compute Engine (not terminated by a user). You can only set the
|
|
# automatic restart option for standard instances. Preemptible instances cannot
|
|
# be automatically restarted. By default, this is set to true so an instance is
|
|
# automatically restarted if it is terminated by Compute Engine.
|
|
# Corresponds to the JSON property `automaticRestart`
|
|
# @return [Boolean]
|
|
attr_accessor :automatic_restart
|
|
alias_method :automatic_restart?, :automatic_restart
|
|
|
|
# Specifies the availability domain (AD), which this instance should be
|
|
# scheduled on. The AD belongs to the spread GroupPlacementPolicy resource
|
|
# policy that has been assigned to the instance. Specify a value between 1-max
|
|
# count of availability domains in your GroupPlacementPolicy. See go/placement-
|
|
# policy-extension for more details.
|
|
# Corresponds to the JSON property `availabilityDomain`
|
|
# @return [Fixnum]
|
|
attr_accessor :availability_domain
|
|
|
|
# Current number of vCPUs available for VM. 0 or unset means default vCPUs of
|
|
# the current machine type.
|
|
# Corresponds to the JSON property `currentCpus`
|
|
# @return [Fixnum]
|
|
attr_accessor :current_cpus
|
|
|
|
# Current amount of memory (in MB) available for VM. 0 or unset means default
|
|
# amount of memory of the current machine type.
|
|
# Corresponds to the JSON property `currentMemoryMb`
|
|
# @return [Fixnum]
|
|
attr_accessor :current_memory_mb
|
|
|
|
# Specify the time in seconds for host error detection, the value must be within
|
|
# the range of [90, 330] with the increment of 30, if unset, the default
|
|
# behavior of host error recovery will be used.
|
|
# Corresponds to the JSON property `hostErrorTimeoutSeconds`
|
|
# @return [Fixnum]
|
|
attr_accessor :host_error_timeout_seconds
|
|
|
|
# Specifies the termination action for the instance.
|
|
# Corresponds to the JSON property `instanceTerminationAction`
|
|
# @return [String]
|
|
attr_accessor :instance_termination_action
|
|
|
|
# Defines whether the instance is tolerant of higher cpu latency. This can only
|
|
# be set during instance creation, or when the instance is not currently running.
|
|
# It must not be set if the preemptible option is also set.
|
|
# Corresponds to the JSON property `latencyTolerant`
|
|
# @return [Boolean]
|
|
attr_accessor :latency_tolerant
|
|
alias_method :latency_tolerant?, :latency_tolerant
|
|
|
|
# An opaque location hint used to place the instance close to other resources.
|
|
# This field is for use by internal tools that use the public API.
|
|
# Corresponds to the JSON property `locationHint`
|
|
# @return [String]
|
|
attr_accessor :location_hint
|
|
|
|
# Specifies the number of hours after VM instance creation where the VM won't be
|
|
# scheduled for maintenance.
|
|
# Corresponds to the JSON property `maintenanceFreezeDurationHours`
|
|
# @return [Fixnum]
|
|
attr_accessor :maintenance_freeze_duration_hours
|
|
|
|
# For more information about maintenance intervals, see Setting maintenance
|
|
# intervals.
|
|
# Corresponds to the JSON property `maintenanceInterval`
|
|
# @return [String]
|
|
attr_accessor :maintenance_interval
|
|
|
|
# A Duration represents a fixed-length span of time represented as a count of
|
|
# seconds and fractions of seconds at nanosecond resolution. It is independent
|
|
# of any calendar and concepts like "day" or "month". Range is approximately 10,
|
|
# 000 years.
|
|
# Corresponds to the JSON property `maxRunDuration`
|
|
# @return [Google::Apis::ComputeAlpha::Duration]
|
|
attr_accessor :max_run_duration
|
|
|
|
# The minimum number of virtual CPUs this instance will consume when running on
|
|
# a sole-tenant node.
|
|
# Corresponds to the JSON property `minNodeCpus`
|
|
# @return [Fixnum]
|
|
attr_accessor :min_node_cpus
|
|
|
|
# A set of node affinity and anti-affinity configurations. Refer to Configuring
|
|
# node affinity for more information. Overrides reservationAffinity.
|
|
# Corresponds to the JSON property `nodeAffinities`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SchedulingNodeAffinity>]
|
|
attr_accessor :node_affinities
|
|
|
|
# Defines the maintenance behavior for this instance. For standard instances,
|
|
# the default behavior is MIGRATE. For preemptible instances, the default and
|
|
# only possible behavior is TERMINATE. For more information, see Set VM
|
|
# availability policies.
|
|
# Corresponds to the JSON property `onHostMaintenance`
|
|
# @return [String]
|
|
attr_accessor :on_host_maintenance
|
|
|
|
# Defines whether the instance is preemptible. This can only be set during
|
|
# instance creation or while the instance is stopped and therefore, in a `
|
|
# TERMINATED` state. See Instance Life Cycle for more information on the
|
|
# possible instance states.
|
|
# Corresponds to the JSON property `preemptible`
|
|
# @return [Boolean]
|
|
attr_accessor :preemptible
|
|
alias_method :preemptible?, :preemptible
|
|
|
|
# Specifies the provisioning model of the instance.
|
|
# Corresponds to the JSON property `provisioningModel`
|
|
# @return [String]
|
|
attr_accessor :provisioning_model
|
|
|
|
# Specifies the timestamp, when the instance will be terminated, in RFC3339 text
|
|
# format. If specified, the instance termination action will be performed at the
|
|
# termination time.
|
|
# Corresponds to the JSON property `terminationTime`
|
|
# @return [String]
|
|
attr_accessor :termination_time
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@automatic_restart = args[:automatic_restart] if args.key?(:automatic_restart)
|
|
@availability_domain = args[:availability_domain] if args.key?(:availability_domain)
|
|
@current_cpus = args[:current_cpus] if args.key?(:current_cpus)
|
|
@current_memory_mb = args[:current_memory_mb] if args.key?(:current_memory_mb)
|
|
@host_error_timeout_seconds = args[:host_error_timeout_seconds] if args.key?(:host_error_timeout_seconds)
|
|
@instance_termination_action = args[:instance_termination_action] if args.key?(:instance_termination_action)
|
|
@latency_tolerant = args[:latency_tolerant] if args.key?(:latency_tolerant)
|
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
|
@maintenance_freeze_duration_hours = args[:maintenance_freeze_duration_hours] if args.key?(:maintenance_freeze_duration_hours)
|
|
@maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
|
|
@max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
|
|
@min_node_cpus = args[:min_node_cpus] if args.key?(:min_node_cpus)
|
|
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
|
@on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
|
|
@preemptible = args[:preemptible] if args.key?(:preemptible)
|
|
@provisioning_model = args[:provisioning_model] if args.key?(:provisioning_model)
|
|
@termination_time = args[:termination_time] if args.key?(:termination_time)
|
|
end
|
|
end
|
|
|
|
# Node Affinity: the configuration of desired nodes onto which this Instance
|
|
# could be scheduled.
|
|
class SchedulingNodeAffinity
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Corresponds to the label key of Node resource.
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# Defines the operation of node selection. Valid operators are IN for affinity
|
|
# and NOT_IN for anti-affinity.
|
|
# Corresponds to the JSON property `operator`
|
|
# @return [String]
|
|
attr_accessor :operator
|
|
|
|
# Corresponds to the label values of Node resource.
|
|
# Corresponds to the JSON property `values`
|
|
# @return [Array<String>]
|
|
attr_accessor :values
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@operator = args[:operator] if args.key?(:operator)
|
|
@values = args[:values] if args.key?(:values)
|
|
end
|
|
end
|
|
|
|
# An instance's screenshot.
|
|
class Screenshot
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The Base64-encoded screenshot data.
|
|
# Corresponds to the JSON property `contents`
|
|
# @return [String]
|
|
attr_accessor :contents
|
|
|
|
# [Output Only] Type of the resource. Always compute#screenshot for the
|
|
# screenshots.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@contents = args[:contents] if args.key?(:contents)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] The configuration to access the SDS server. The configuration to
|
|
# access the SDS server.
|
|
class SdsConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] gRPC config to access the SDS server. gRPC config to access the
|
|
# SDS server.
|
|
# Corresponds to the JSON property `grpcServiceConfig`
|
|
# @return [Google::Apis::ComputeAlpha::GrpcServiceConfig]
|
|
attr_accessor :grpc_service_config
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@grpc_service_config = args[:grpc_service_config] if args.key?(:grpc_service_config)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPoliciesAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of SecurityPoliciesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::SecurityPoliciesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#securityPolicyAggregatedList
|
|
# for lists of Security Policies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPoliciesListPreconfiguredExpressionSetsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `preconfiguredExpressionSets`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPoliciesWafConfig]
|
|
attr_accessor :preconfigured_expression_sets
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@preconfigured_expression_sets = args[:preconfigured_expression_sets] if args.key?(:preconfigured_expression_sets)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPoliciesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of SecurityPolicies contained in this scope.
|
|
# Corresponds to the JSON property `securityPolicies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicy>]
|
|
attr_accessor :security_policies
|
|
|
|
# Informational warning which replaces the list of security policies when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@security_policies = args[:security_policies] if args.key?(:security_policies)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of security policies when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPoliciesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPoliciesWafConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `wafRules`
|
|
# @return [Google::Apis::ComputeAlpha::PreconfiguredWafSet]
|
|
attr_accessor :waf_rules
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@waf_rules = args[:waf_rules] if args.key?(:waf_rules)
|
|
end
|
|
end
|
|
|
|
# Represents a Google Cloud Armor security policy resource. Only external
|
|
# backend services that use load balancers can reference a security policy. For
|
|
# more information, see Google Cloud Armor security policy overview.
|
|
class SecurityPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Configuration options for Cloud Armor Adaptive Protection (CAAP).
|
|
# Corresponds to the JSON property `adaptiveProtectionConfig`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyAdaptiveProtectionConfig]
|
|
attr_accessor :adaptive_protection_config
|
|
|
|
#
|
|
# Corresponds to the JSON property `advancedOptionsConfig`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyAdvancedOptionsConfig]
|
|
attr_accessor :advanced_options_config
|
|
|
|
# A list of associations that belong to this policy.
|
|
# Corresponds to the JSON property `associations`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyAssociation>]
|
|
attr_accessor :associations
|
|
|
|
# Configuration options for Cloud Armor.
|
|
# Corresponds to the JSON property `cloudArmorConfig`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyCloudArmorConfig]
|
|
attr_accessor :cloud_armor_config
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
#
|
|
# Corresponds to the JSON property `ddosProtectionConfig`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyDdosProtectionConfig]
|
|
attr_accessor :ddos_protection_config
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# User-provided name of the Organization security plicy. The name should be
|
|
# unique in the organization in which the security policy is created. This
|
|
# should only be used when SecurityPolicyType is FIREWALL. The name must be 1-63
|
|
# characters long, and comply with https://www.ietf.org/rfc/rfc1035.txt.
|
|
# Specifically, the name must be 1-63 characters long and match the regular
|
|
# expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
|
|
# be a lowercase letter, and all following characters must be a dash, lowercase
|
|
# letter, or digit, except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# Specifies a fingerprint for this resource, which is essentially a hash of the
|
|
# metadata's contents and used for optimistic locking. The fingerprint is
|
|
# initially generated by Compute Engine and changes after every request to
|
|
# modify or update metadata. You must always provide an up-to-date fingerprint
|
|
# hash in order to update or change metadata, otherwise the request will fail
|
|
# with error 412 conditionNotMet. To see the latest fingerprint, make get()
|
|
# request to the security policy.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output only] Type of the resource. Always compute#securityPolicyfor security
|
|
# policies
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this security policy, which is
|
|
# essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels. To see the latest
|
|
# fingerprint, make get() request to the security policy.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels for this resource. These can only be added or modified by the setLabels
|
|
# method. Each label key/value pair must comply with RFC1035. Label values may
|
|
# be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] The parent of the security policy.
|
|
# Corresponds to the JSON property `parent`
|
|
# @return [String]
|
|
attr_accessor :parent
|
|
|
|
#
|
|
# Corresponds to the JSON property `recaptchaOptionsConfig`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyRecaptchaOptionsConfig]
|
|
attr_accessor :recaptcha_options_config
|
|
|
|
# [Output Only] URL of the region where the regional security policy resides.
|
|
# This field is not applicable to global security policies.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Total count of all security policy rule tuples. A security
|
|
# policy can not exceed a set number of tuples.
|
|
# Corresponds to the JSON property `ruleTupleCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :rule_tuple_count
|
|
|
|
# A list of rules that belong to this policy. There must always be a default
|
|
# rule (rule with priority 2147483647 and match "*"). If no rules are provided
|
|
# when creating a security policy, a default rule with action "allow" will be
|
|
# added.
|
|
# Corresponds to the JSON property `rules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRule>]
|
|
attr_accessor :rules
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# The type indicates the intended use of the security policy. - CLOUD_ARMOR:
|
|
# Cloud Armor backend security policies can be configured to filter incoming
|
|
# HTTP requests targeting backend services. They filter requests before they hit
|
|
# the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can
|
|
# be configured to filter incoming HTTP requests targeting backend services (
|
|
# including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They
|
|
# filter requests before the request is served from Google's cache. -
|
|
# CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be
|
|
# configured to filter HTTP requests targeting services managed by Traffic
|
|
# Director in a service mesh. They filter requests before the request is served
|
|
# from the application. This field can be set only at resource creation time.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@adaptive_protection_config = args[:adaptive_protection_config] if args.key?(:adaptive_protection_config)
|
|
@advanced_options_config = args[:advanced_options_config] if args.key?(:advanced_options_config)
|
|
@associations = args[:associations] if args.key?(:associations)
|
|
@cloud_armor_config = args[:cloud_armor_config] if args.key?(:cloud_armor_config)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@ddos_protection_config = args[:ddos_protection_config] if args.key?(:ddos_protection_config)
|
|
@description = args[:description] if args.key?(:description)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@name = args[:name] if args.key?(:name)
|
|
@parent = args[:parent] if args.key?(:parent)
|
|
@recaptcha_options_config = args[:recaptcha_options_config] if args.key?(:recaptcha_options_config)
|
|
@region = args[:region] if args.key?(:region)
|
|
@rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
|
|
@rules = args[:rules] if args.key?(:rules)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Configuration options for Cloud Armor Adaptive Protection (CAAP).
|
|
class SecurityPolicyAdaptiveProtectionConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Configuration options for L7 DDoS detection.
|
|
# Corresponds to the JSON property `layer7DdosDefenseConfig`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig]
|
|
attr_accessor :layer7_ddos_defense_config
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@layer7_ddos_defense_config = args[:layer7_ddos_defense_config] if args.key?(:layer7_ddos_defense_config)
|
|
end
|
|
end
|
|
|
|
# Configuration options for L7 DDoS detection.
|
|
class SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If set to true, enables CAAP for L7 DDoS detection.
|
|
# Corresponds to the JSON property `enable`
|
|
# @return [Boolean]
|
|
attr_accessor :enable
|
|
alias_method :enable?, :enable
|
|
|
|
# Rule visibility can be one of the following: STANDARD - opaque rules. (default)
|
|
# PREMIUM - transparent rules.
|
|
# Corresponds to the JSON property `ruleVisibility`
|
|
# @return [String]
|
|
attr_accessor :rule_visibility
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable = args[:enable] if args.key?(:enable)
|
|
@rule_visibility = args[:rule_visibility] if args.key?(:rule_visibility)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyAdvancedOptionsConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `jsonParsing`
|
|
# @return [String]
|
|
attr_accessor :json_parsing
|
|
|
|
#
|
|
# Corresponds to the JSON property `logLevel`
|
|
# @return [String]
|
|
attr_accessor :log_level
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@json_parsing = args[:json_parsing] if args.key?(:json_parsing)
|
|
@log_level = args[:log_level] if args.key?(:log_level)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyAssociation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The resource that the security policy is attached to.
|
|
# Corresponds to the JSON property `attachmentId`
|
|
# @return [String]
|
|
attr_accessor :attachment_id
|
|
|
|
# [Output Only] The display name of the security policy of the association.
|
|
# Corresponds to the JSON property `displayName`
|
|
# @return [String]
|
|
attr_accessor :display_name
|
|
|
|
# The name for an association.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] The security policy ID of the association.
|
|
# Corresponds to the JSON property `securityPolicyId`
|
|
# @return [String]
|
|
attr_accessor :security_policy_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@attachment_id = args[:attachment_id] if args.key?(:attachment_id)
|
|
@display_name = args[:display_name] if args.key?(:display_name)
|
|
@name = args[:name] if args.key?(:name)
|
|
@security_policy_id = args[:security_policy_id] if args.key?(:security_policy_id)
|
|
end
|
|
end
|
|
|
|
# Configuration options for Cloud Armor.
|
|
class SecurityPolicyCloudArmorConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# If set to true, enables Cloud Armor Machine Learning.
|
|
# Corresponds to the JSON property `enableMl`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_ml
|
|
alias_method :enable_ml?, :enable_ml
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable_ml = args[:enable_ml] if args.key?(:enable_ml)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyDdosProtectionConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `ddosProtection`
|
|
# @return [String]
|
|
attr_accessor :ddos_protection
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ddos_protection = args[:ddos_protection] if args.key?(:ddos_protection)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of SecurityPolicy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicy>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#securityPolicyList for listsof
|
|
# securityPolicies
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyRecaptchaOptionsConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# An optional field to supply a reCAPTCHA site key to be used for all the rules
|
|
# using the redirect action with the type of GOOGLE_RECAPTCHA under the security
|
|
# policy. The specified site key needs to be created from the reCAPTCHA API. The
|
|
# user is responsible for the validity of the specified site key. If not
|
|
# specified, a Google-managed site key is used.
|
|
# Corresponds to the JSON property `redirectSiteKey`
|
|
# @return [String]
|
|
attr_accessor :redirect_site_key
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@redirect_site_key = args[:redirect_site_key] if args.key?(:redirect_site_key)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `securityPolicy`
|
|
# @return [String]
|
|
attr_accessor :security_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@security_policy = args[:security_policy] if args.key?(:security_policy)
|
|
end
|
|
end
|
|
|
|
# Represents a rule that describes one or more match conditions along with the
|
|
# action to be taken when traffic matches this condition (allow or deny).
|
|
class SecurityPolicyRule
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The Action to perform when the rule is matched. The following are the valid
|
|
# actions: - allow: allow access to target. - deny(): deny access to target,
|
|
# returns the HTTP response code specified (valid values are 403, 404, and 502).
|
|
# - rate_based_ban: limit client traffic to the configured threshold and ban the
|
|
# client if the traffic exceeds the threshold. Configure parameters for this
|
|
# action in RateLimitOptions. Requires rate_limit_options to be set. - redirect:
|
|
# redirect to a different target. This can either be an internal reCAPTCHA
|
|
# redirect, or an external URL-based redirect via a 302 response. Parameters for
|
|
# this action can be configured via redirectOptions. - throttle: limit client
|
|
# traffic to the configured threshold. Configure parameters for this action in
|
|
# rateLimitOptions. Requires rate_limit_options to be set for this.
|
|
# Corresponds to the JSON property `action`
|
|
# @return [String]
|
|
attr_accessor :action
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The direction in which this rule applies. This field may only be specified
|
|
# when versioned_expr is set to FIREWALL.
|
|
# Corresponds to the JSON property `direction`
|
|
# @return [String]
|
|
attr_accessor :direction
|
|
|
|
# Denotes whether to enable logging for a particular rule. If logging is enabled,
|
|
# logs will be exported to the configured export destination in Stackdriver.
|
|
# Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging
|
|
# on "goto_next" rules. This field may only be specified when the versioned_expr
|
|
# is set to FIREWALL.
|
|
# Corresponds to the JSON property `enableLogging`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_logging
|
|
alias_method :enable_logging?, :enable_logging
|
|
|
|
# Optional, additional actions that are performed on headers.
|
|
# Corresponds to the JSON property `headerAction`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderAction]
|
|
attr_accessor :header_action
|
|
|
|
# [Output only] Type of the resource. Always compute#securityPolicyRule for
|
|
# security policy rules
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Represents a match condition that incoming traffic is evaluated against.
|
|
# Exactly one field must be specified.
|
|
# Corresponds to the JSON property `match`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcher]
|
|
attr_accessor :match
|
|
|
|
# If set to true, the specified action is not enforced.
|
|
# Corresponds to the JSON property `preview`
|
|
# @return [Boolean]
|
|
attr_accessor :preview
|
|
alias_method :preview?, :preview
|
|
|
|
# An integer indicating the priority of a rule in the list. The priority must be
|
|
# a positive value between 0 and 2147483647. Rules are evaluated from highest to
|
|
# lowest priority where 0 is the highest priority and 2147483647 is the lowest
|
|
# priority.
|
|
# Corresponds to the JSON property `priority`
|
|
# @return [Fixnum]
|
|
attr_accessor :priority
|
|
|
|
# Must be specified if the action is "rate_based_ban" or "throttle". Cannot be
|
|
# specified for any other actions.
|
|
# Corresponds to the JSON property `rateLimitOptions`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptions]
|
|
attr_accessor :rate_limit_options
|
|
|
|
# Parameters defining the redirect action. Cannot be specified for any other
|
|
# actions.
|
|
# Corresponds to the JSON property `redirectOptions`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRedirectOptions]
|
|
attr_accessor :redirect_options
|
|
|
|
# This must be specified for redirect actions. Cannot be specified for any other
|
|
# actions.
|
|
# Corresponds to the JSON property `redirectTarget`
|
|
# @return [String]
|
|
attr_accessor :redirect_target
|
|
|
|
# [Output Only] The minimum managed protection tier required for this rule.
|
|
# Corresponds to the JSON property `ruleManagedProtectionTier`
|
|
# @return [String]
|
|
attr_accessor :rule_managed_protection_tier
|
|
|
|
# Identifier for the rule. This is only unique within the given security policy.
|
|
# This can only be set during rule creation, if rule number is not specified it
|
|
# will be generated by the server.
|
|
# Corresponds to the JSON property `ruleNumber`
|
|
# @return [Fixnum]
|
|
attr_accessor :rule_number
|
|
|
|
# [Output Only] Calculation of the complexity of a single firewall security
|
|
# policy rule.
|
|
# Corresponds to the JSON property `ruleTupleCount`
|
|
# @return [Fixnum]
|
|
attr_accessor :rule_tuple_count
|
|
|
|
# A list of network resource URLs to which this rule applies. This field allows
|
|
# you to control which network's VMs get this rule. If this field is left blank,
|
|
# all VMs within the organization will receive the rule. This field may only be
|
|
# specified when versioned_expr is set to FIREWALL.
|
|
# Corresponds to the JSON property `targetResources`
|
|
# @return [Array<String>]
|
|
attr_accessor :target_resources
|
|
|
|
# A list of service accounts indicating the sets of instances that are applied
|
|
# with this rule.
|
|
# Corresponds to the JSON property `targetServiceAccounts`
|
|
# @return [Array<String>]
|
|
attr_accessor :target_service_accounts
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@action = args[:action] if args.key?(:action)
|
|
@description = args[:description] if args.key?(:description)
|
|
@direction = args[:direction] if args.key?(:direction)
|
|
@enable_logging = args[:enable_logging] if args.key?(:enable_logging)
|
|
@header_action = args[:header_action] if args.key?(:header_action)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@match = args[:match] if args.key?(:match)
|
|
@preview = args[:preview] if args.key?(:preview)
|
|
@priority = args[:priority] if args.key?(:priority)
|
|
@rate_limit_options = args[:rate_limit_options] if args.key?(:rate_limit_options)
|
|
@redirect_options = args[:redirect_options] if args.key?(:redirect_options)
|
|
@redirect_target = args[:redirect_target] if args.key?(:redirect_target)
|
|
@rule_managed_protection_tier = args[:rule_managed_protection_tier] if args.key?(:rule_managed_protection_tier)
|
|
@rule_number = args[:rule_number] if args.key?(:rule_number)
|
|
@rule_tuple_count = args[:rule_tuple_count] if args.key?(:rule_tuple_count)
|
|
@target_resources = args[:target_resources] if args.key?(:target_resources)
|
|
@target_service_accounts = args[:target_service_accounts] if args.key?(:target_service_accounts)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyRuleHttpHeaderAction
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The list of request headers to add or overwrite if they're already present.
|
|
# Corresponds to the JSON property `requestHeadersToAdds`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleHttpHeaderActionHttpHeaderOption>]
|
|
attr_accessor :request_headers_to_adds
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@request_headers_to_adds = args[:request_headers_to_adds] if args.key?(:request_headers_to_adds)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyRuleHttpHeaderActionHttpHeaderOption
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The name of the header to set.
|
|
# Corresponds to the JSON property `headerName`
|
|
# @return [String]
|
|
attr_accessor :header_name
|
|
|
|
# The value to set the named header to.
|
|
# Corresponds to the JSON property `headerValue`
|
|
# @return [String]
|
|
attr_accessor :header_value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@header_name = args[:header_name] if args.key?(:header_name)
|
|
@header_value = args[:header_value] if args.key?(:header_value)
|
|
end
|
|
end
|
|
|
|
# Represents a match condition that incoming traffic is evaluated against.
|
|
# Exactly one field must be specified.
|
|
class SecurityPolicyRuleMatcher
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The configuration options available when specifying versioned_expr. This field
|
|
# must be specified if versioned_expr is specified and cannot be specified if
|
|
# versioned_expr is not specified.
|
|
# Corresponds to the JSON property `config`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherConfig]
|
|
attr_accessor :config
|
|
|
|
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
|
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
|
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
|
# "Summary size limit" description: "Determines if a summary is less than 100
|
|
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
|
# Requestor is owner" description: "Determines if requestor is the document
|
|
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
|
# Logic): title: "Public documents" description: "Determine whether the document
|
|
# should be publicly visible" expression: "document.type != 'private' &&
|
|
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
|
# string" description: "Create a notification string with a timestamp."
|
|
# expression: "'New message received at ' + string(document.create_time)" The
|
|
# exact variables and functions that may be referenced within an expression are
|
|
# determined by the service that evaluates it. See the service documentation for
|
|
# additional information.
|
|
# Corresponds to the JSON property `expr`
|
|
# @return [Google::Apis::ComputeAlpha::Expr]
|
|
attr_accessor :expr
|
|
|
|
# Preconfigured versioned expression. If this field is specified, config must
|
|
# also be specified. Available preconfigured expressions along with their
|
|
# requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range
|
|
# field in config.
|
|
# Corresponds to the JSON property `versionedExpr`
|
|
# @return [String]
|
|
attr_accessor :versioned_expr
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@config = args[:config] if args.key?(:config)
|
|
@expr = args[:expr] if args.key?(:expr)
|
|
@versioned_expr = args[:versioned_expr] if args.key?(:versioned_expr)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyRuleMatcherConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# CIDR IP address range. This field may only be specified when versioned_expr is
|
|
# set to FIREWALL.
|
|
# Corresponds to the JSON property `destIpRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :dest_ip_ranges
|
|
|
|
# Pairs of IP protocols and ports that the rule should match. This field may
|
|
# only be specified when versioned_expr is set to FIREWALL.
|
|
# Corresponds to the JSON property `destPorts`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherConfigDestinationPort>]
|
|
attr_accessor :dest_ports
|
|
|
|
# Pairs of IP protocols and ports that the rule should match. This field may
|
|
# only be specified when versioned_expr is set to FIREWALL.
|
|
# Corresponds to the JSON property `layer4Configs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SecurityPolicyRuleMatcherConfigLayer4Config>]
|
|
attr_accessor :layer4_configs
|
|
|
|
# CIDR IP address range. Maximum number of src_ip_ranges allowed is 10.
|
|
# Corresponds to the JSON property `srcIpRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :src_ip_ranges
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@dest_ip_ranges = args[:dest_ip_ranges] if args.key?(:dest_ip_ranges)
|
|
@dest_ports = args[:dest_ports] if args.key?(:dest_ports)
|
|
@layer4_configs = args[:layer4_configs] if args.key?(:layer4_configs)
|
|
@src_ip_ranges = args[:src_ip_ranges] if args.key?(:src_ip_ranges)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyRuleMatcherConfigDestinationPort
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IP protocol to which this rule applies. The protocol type is required when
|
|
# creating a firewall rule. This value can either be one of the following well
|
|
# known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
|
|
# protocol number.
|
|
# Corresponds to the JSON property `ipProtocol`
|
|
# @return [String]
|
|
attr_accessor :ip_protocol
|
|
|
|
# An optional list of ports to which this rule applies. This field is only
|
|
# applicable for UDP or TCP protocol. Each entry must be either an integer or a
|
|
# range. If not specified, this rule applies to connections through any port.
|
|
# Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field
|
|
# may only be specified when versioned_expr is set to FIREWALL.
|
|
# Corresponds to the JSON property `ports`
|
|
# @return [Array<String>]
|
|
attr_accessor :ports
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
|
|
@ports = args[:ports] if args.key?(:ports)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyRuleMatcherConfigLayer4Config
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IP protocol to which this rule applies. The protocol type is required when
|
|
# creating a firewall rule. This value can either be one of the following well
|
|
# known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP
|
|
# protocol number.
|
|
# Corresponds to the JSON property `ipProtocol`
|
|
# @return [String]
|
|
attr_accessor :ip_protocol
|
|
|
|
# An optional list of ports to which this rule applies. This field is only
|
|
# applicable for UDP or TCP protocol. Each entry must be either an integer or a
|
|
# range. If not specified, this rule applies to connections through any port.
|
|
# Example inputs include: ["22"], ["80","443"], and ["12345-12349"]. This field
|
|
# may only be specified when versioned_expr is set to FIREWALL.
|
|
# Corresponds to the JSON property `ports`
|
|
# @return [Array<String>]
|
|
attr_accessor :ports
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_protocol = args[:ip_protocol] if args.key?(:ip_protocol)
|
|
@ports = args[:ports] if args.key?(:ports)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyRuleRateLimitOptions
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Can only be specified if the action for the rule is "rate_based_ban". If
|
|
# specified, determines the time (in seconds) the traffic will continue to be
|
|
# banned by the rate limit after the rate falls below the threshold.
|
|
# Corresponds to the JSON property `banDurationSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :ban_duration_sec
|
|
|
|
# Can only be specified if the action for the rule is "rate_based_ban". If
|
|
# specified, the key will be banned for the configured 'ban_duration_sec' when
|
|
# the number of requests that exceed the 'rate_limit_threshold' also exceed this
|
|
# 'ban_threshold'.
|
|
# Corresponds to the JSON property `banThreshold`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
|
|
attr_accessor :ban_threshold
|
|
|
|
# Action to take for requests that are under the configured rate limit threshold.
|
|
# Valid option is "allow" only.
|
|
# Corresponds to the JSON property `conformAction`
|
|
# @return [String]
|
|
attr_accessor :conform_action
|
|
|
|
# Determines the key to enforce the rate_limit_threshold on. Possible values are:
|
|
# - ALL: A single rate limit threshold is applied to all the requests matching
|
|
# this rule. This is the default value if this field 'enforce_on_key' is not
|
|
# configured. - IP: The source IP address of the request is the key. Each IP has
|
|
# this limit enforced separately. - HTTP_HEADER: The value of the HTTP header
|
|
# whose name is configured under "enforce_on_key_name". The key value is
|
|
# truncated to the first 128 bytes of the header value. If no such header is
|
|
# present in the request, the key type defaults to ALL. - XFF_IP: The first IP
|
|
# address (i.e. the originating client IP address) specified in the list of IPs
|
|
# under X-Forwarded-For HTTP header. If no such header is present or the value
|
|
# is not a valid IP, the key defaults to the source IP address of the request i.
|
|
# e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is
|
|
# configured under "enforce_on_key_name". The key value is truncated to the
|
|
# first 128 bytes of the cookie value. If no such cookie is present in the
|
|
# request, the key type defaults to ALL.
|
|
# Corresponds to the JSON property `enforceOnKey`
|
|
# @return [String]
|
|
attr_accessor :enforce_on_key
|
|
|
|
# Rate limit key name applicable only for the following key types: HTTP_HEADER --
|
|
# Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE --
|
|
# Name of the HTTP cookie whose value is taken as the key value.
|
|
# Corresponds to the JSON property `enforceOnKeyName`
|
|
# @return [String]
|
|
attr_accessor :enforce_on_key_name
|
|
|
|
# Action to take for requests that are above the configured rate limit threshold,
|
|
# to either deny with a specified HTTP response code, or redirect to a
|
|
# different endpoint. Valid options are "deny(status)", where valid values for
|
|
# status are 403, 404, 429, and 502, and "redirect" where the redirect
|
|
# parameters come from exceedRedirectOptions below.
|
|
# Corresponds to the JSON property `exceedAction`
|
|
# @return [String]
|
|
attr_accessor :exceed_action
|
|
|
|
# Parameters defining the redirect action that is used as the exceed action.
|
|
# Cannot be specified if the exceed action is not redirect.
|
|
# Corresponds to the JSON property `exceedRedirectOptions`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRedirectOptions]
|
|
attr_accessor :exceed_redirect_options
|
|
|
|
# Threshold at which to begin ratelimiting.
|
|
# Corresponds to the JSON property `rateLimitThreshold`
|
|
# @return [Google::Apis::ComputeAlpha::SecurityPolicyRuleRateLimitOptionsThreshold]
|
|
attr_accessor :rate_limit_threshold
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ban_duration_sec = args[:ban_duration_sec] if args.key?(:ban_duration_sec)
|
|
@ban_threshold = args[:ban_threshold] if args.key?(:ban_threshold)
|
|
@conform_action = args[:conform_action] if args.key?(:conform_action)
|
|
@enforce_on_key = args[:enforce_on_key] if args.key?(:enforce_on_key)
|
|
@enforce_on_key_name = args[:enforce_on_key_name] if args.key?(:enforce_on_key_name)
|
|
@exceed_action = args[:exceed_action] if args.key?(:exceed_action)
|
|
@exceed_redirect_options = args[:exceed_redirect_options] if args.key?(:exceed_redirect_options)
|
|
@rate_limit_threshold = args[:rate_limit_threshold] if args.key?(:rate_limit_threshold)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyRuleRateLimitOptionsThreshold
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Number of HTTP(S) requests for calculating the threshold.
|
|
# Corresponds to the JSON property `count`
|
|
# @return [Fixnum]
|
|
attr_accessor :count
|
|
|
|
# Interval over which the threshold is computed.
|
|
# Corresponds to the JSON property `intervalSec`
|
|
# @return [Fixnum]
|
|
attr_accessor :interval_sec
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@count = args[:count] if args.key?(:count)
|
|
@interval_sec = args[:interval_sec] if args.key?(:interval_sec)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SecurityPolicyRuleRedirectOptions
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Target for the redirect action. This is required if the type is EXTERNAL_302
|
|
# and cannot be specified for GOOGLE_RECAPTCHA.
|
|
# Corresponds to the JSON property `target`
|
|
# @return [String]
|
|
attr_accessor :target
|
|
|
|
# Type of the redirect action.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@target = args[:target] if args.key?(:target)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# The authentication and authorization settings for a BackendService.
|
|
class SecuritySettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] Use clientTlsPolicy instead.
|
|
# Corresponds to the JSON property `authentication`
|
|
# @return [String]
|
|
attr_accessor :authentication
|
|
|
|
# [Deprecated] The authentication settings for the backend service. The
|
|
# authentication settings for the backend service.
|
|
# Corresponds to the JSON property `authenticationPolicy`
|
|
# @return [Google::Apis::ComputeAlpha::AuthenticationPolicy]
|
|
attr_accessor :authentication_policy
|
|
|
|
# [Deprecated] Authorization configuration provides service-level and method-
|
|
# level access control for a service. control for a service.
|
|
# Corresponds to the JSON property `authorizationConfig`
|
|
# @return [Google::Apis::ComputeAlpha::AuthorizationConfig]
|
|
attr_accessor :authorization_config
|
|
|
|
# Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that
|
|
# describes how clients should authenticate with this service's backends.
|
|
# clientTlsPolicy only applies to a global BackendService with the
|
|
# loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank,
|
|
# communications are not encrypted. Note: This field currently has no impact.
|
|
# Corresponds to the JSON property `clientTlsPolicy`
|
|
# @return [String]
|
|
attr_accessor :client_tls_policy
|
|
|
|
# [Deprecated] The client side authentication settings for connection
|
|
# originating from the backend service. the backend service.
|
|
# Corresponds to the JSON property `clientTlsSettings`
|
|
# @return [Google::Apis::ComputeAlpha::ClientTlsSettings]
|
|
attr_accessor :client_tls_settings
|
|
|
|
# Optional. A list of Subject Alternative Names (SANs) that the client verifies
|
|
# during a mutual TLS handshake with an server/endpoint for this BackendService.
|
|
# When the server presents its X.509 certificate to the client, the client
|
|
# inspects the certificate's subjectAltName field. If the field contains one of
|
|
# the specified values, the communication continues. Otherwise, it fails. This
|
|
# additional check enables the client to verify that the server is authorized to
|
|
# run the requested service. Note that the contents of the server certificate's
|
|
# subjectAltName field are configured by the Public Key Infrastructure which
|
|
# provisions server identities. Only applies to a global BackendService with
|
|
# loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when
|
|
# BackendService has an attached clientTlsPolicy with clientCertificate (mTLS
|
|
# mode). Note: This field currently has no impact.
|
|
# Corresponds to the JSON property `subjectAltNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :subject_alt_names
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@authentication = args[:authentication] if args.key?(:authentication)
|
|
@authentication_policy = args[:authentication_policy] if args.key?(:authentication_policy)
|
|
@authorization_config = args[:authorization_config] if args.key?(:authorization_config)
|
|
@client_tls_policy = args[:client_tls_policy] if args.key?(:client_tls_policy)
|
|
@client_tls_settings = args[:client_tls_settings] if args.key?(:client_tls_settings)
|
|
@subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names)
|
|
end
|
|
end
|
|
|
|
# An instance serial console output.
|
|
class SerialPortOutput
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The contents of the console output.
|
|
# Corresponds to the JSON property `contents`
|
|
# @return [String]
|
|
attr_accessor :contents
|
|
|
|
# [Output Only] Type of the resource. Always compute#serialPortOutput for serial
|
|
# port output.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] The position of the next byte of content, regardless of whether
|
|
# the content exists, following the output returned in the `contents` property.
|
|
# Use this value in the next request as the start parameter.
|
|
# Corresponds to the JSON property `next`
|
|
# @return [Fixnum]
|
|
attr_accessor :next
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# The starting byte position of the output that was returned. This should match
|
|
# the start parameter sent with the request. If the serial console output
|
|
# exceeds the size of the buffer (1 MB), older output is overwritten by newer
|
|
# content. The output start value will indicate the byte position of the output
|
|
# that was returned, which might be different than the `start` value that was
|
|
# specified in the request.
|
|
# Corresponds to the JSON property `start`
|
|
# @return [Fixnum]
|
|
attr_accessor :start
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@contents = args[:contents] if args.key?(:contents)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next = args[:next] if args.key?(:next)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@start = args[:start] if args.key?(:start)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ServerBinding
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# The TLS settings for the server.
|
|
class ServerTlsSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] The TLS settings for the client or server. The TLS settings for
|
|
# the client or server.
|
|
# Corresponds to the JSON property `proxyTlsContext`
|
|
# @return [Google::Apis::ComputeAlpha::TlsContext]
|
|
attr_accessor :proxy_tls_context
|
|
|
|
# A list of alternate names to verify the subject identity in the certificate
|
|
# presented by the client.
|
|
# Corresponds to the JSON property `subjectAltNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :subject_alt_names
|
|
|
|
# Indicates whether connections should be secured using TLS. The value of this
|
|
# field determines how TLS is enforced. This field can be set to one of the
|
|
# following: - SIMPLE Secure connections with standard TLS semantics. - MUTUAL
|
|
# Secure connections to the backends using mutual TLS by presenting client
|
|
# certificates for authentication.
|
|
# Corresponds to the JSON property `tlsMode`
|
|
# @return [String]
|
|
attr_accessor :tls_mode
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@proxy_tls_context = args[:proxy_tls_context] if args.key?(:proxy_tls_context)
|
|
@subject_alt_names = args[:subject_alt_names] if args.key?(:subject_alt_names)
|
|
@tls_mode = args[:tls_mode] if args.key?(:tls_mode)
|
|
end
|
|
end
|
|
|
|
# A service account.
|
|
class ServiceAccount
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Email address of the service account.
|
|
# Corresponds to the JSON property `email`
|
|
# @return [String]
|
|
attr_accessor :email
|
|
|
|
# The list of scopes to be made available for this service account.
|
|
# Corresponds to the JSON property `scopes`
|
|
# @return [Array<String>]
|
|
attr_accessor :scopes
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@email = args[:email] if args.key?(:email)
|
|
@scopes = args[:scopes] if args.key?(:scopes)
|
|
end
|
|
end
|
|
|
|
# Represents a ServiceAttachment resource. A service attachment represents a
|
|
# service that a producer has exposed. It encapsulates the load balancer which
|
|
# fronts the service runs and a list of NAT IP ranges that the producers uses to
|
|
# represent the consumers connecting to the service. next tag = 20
|
|
class ServiceAttachment
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] An array of connections for all the consumers connected to this
|
|
# service attachment.
|
|
# Corresponds to the JSON property `connectedEndpoints`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConnectedEndpoint>]
|
|
attr_accessor :connected_endpoints
|
|
|
|
# The connection preference of service attachment. The value can be set to
|
|
# ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always
|
|
# accepts the connection from consumer forwarding rules.
|
|
# Corresponds to the JSON property `connectionPreference`
|
|
# @return [String]
|
|
attr_accessor :connection_preference
|
|
|
|
# Projects that are allowed to connect to this service attachment.
|
|
# Corresponds to the JSON property `consumerAcceptLists`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentConsumerProjectLimit>]
|
|
attr_accessor :consumer_accept_lists
|
|
|
|
# Projects that are not allowed to connect to this service attachment. The
|
|
# project can be specified using its id or number.
|
|
# Corresponds to the JSON property `consumerRejectLists`
|
|
# @return [Array<String>]
|
|
attr_accessor :consumer_reject_lists
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# If specified, the domain name will be used during the integration between the
|
|
# PSC connected endpoints and the Cloud DNS. For example, this is a valid domain
|
|
# name: "p.mycompany.com.". Current max number of domain names supported is 1.
|
|
# Corresponds to the JSON property `domainNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :domain_names
|
|
|
|
# If true, enable the proxy protocol which is for supplying client TCP/IP
|
|
# address data in TCP connections that traverse proxies on their way to
|
|
# destination servers.
|
|
# Corresponds to the JSON property `enableProxyProtocol`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_proxy_protocol
|
|
alias_method :enable_proxy_protocol?, :enable_proxy_protocol
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a ServiceAttachment. An up-to-date fingerprint must be provided in
|
|
# order to patch/update the ServiceAttachment; otherwise, the request will fail
|
|
# with error 412 conditionNotMet. To see the latest fingerprint, make a get()
|
|
# request to retrieve the ServiceAttachment.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource type. The server
|
|
# generates this identifier.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#serviceAttachment for
|
|
# service attachments.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# An array of URLs where each entry is the URL of a subnet provided by the
|
|
# service producer to use for NAT in this service attachment.
|
|
# Corresponds to the JSON property `natSubnets`
|
|
# @return [Array<String>]
|
|
attr_accessor :nat_subnets
|
|
|
|
# The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is
|
|
# serving the endpoint identified by this service attachment.
|
|
# Corresponds to the JSON property `producerForwardingRule`
|
|
# @return [String]
|
|
attr_accessor :producer_forwarding_rule
|
|
|
|
# [Output Only] An 128-bit global unique ID of the PSC service attachment.
|
|
# Corresponds to the JSON property `pscServiceAttachmentId`
|
|
# @return [Google::Apis::ComputeAlpha::Uint128]
|
|
attr_accessor :psc_service_attachment_id
|
|
|
|
# [Output Only] URL of the region where the service attachment resides. This
|
|
# field applies only to the region resource. You must specify this field as part
|
|
# of the HTTP request URL. It is not settable as a field in the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# The URL of a service serving the endpoint identified by this service
|
|
# attachment.
|
|
# Corresponds to the JSON property `targetService`
|
|
# @return [String]
|
|
attr_accessor :target_service
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@connected_endpoints = args[:connected_endpoints] if args.key?(:connected_endpoints)
|
|
@connection_preference = args[:connection_preference] if args.key?(:connection_preference)
|
|
@consumer_accept_lists = args[:consumer_accept_lists] if args.key?(:consumer_accept_lists)
|
|
@consumer_reject_lists = args[:consumer_reject_lists] if args.key?(:consumer_reject_lists)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@domain_names = args[:domain_names] if args.key?(:domain_names)
|
|
@enable_proxy_protocol = args[:enable_proxy_protocol] if args.key?(:enable_proxy_protocol)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@nat_subnets = args[:nat_subnets] if args.key?(:nat_subnets)
|
|
@producer_forwarding_rule = args[:producer_forwarding_rule] if args.key?(:producer_forwarding_rule)
|
|
@psc_service_attachment_id = args[:psc_service_attachment_id] if args.key?(:psc_service_attachment_id)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@target_service = args[:target_service] if args.key?(:target_service)
|
|
end
|
|
end
|
|
|
|
# Contains a list of ServiceAttachmentsScopedList.
|
|
class ServiceAttachmentAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of ServiceAttachmentsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ServiceAttachmentAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# [Output Only] A connection connected to this service attachment.
|
|
class ServiceAttachmentConnectedEndpoint
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The url of a connected endpoint.
|
|
# Corresponds to the JSON property `endpoint`
|
|
# @return [String]
|
|
attr_accessor :endpoint
|
|
|
|
# The PSC connection id of the connected endpoint.
|
|
# Corresponds to the JSON property `pscConnectionId`
|
|
# @return [Fixnum]
|
|
attr_accessor :psc_connection_id
|
|
|
|
# The status of a connected endpoint to this service attachment.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
|
@psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
|
|
@status = args[:status] if args.key?(:status)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ServiceAttachmentConsumerProjectLimit
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The value of the limit to set.
|
|
# Corresponds to the JSON property `connectionLimit`
|
|
# @return [Fixnum]
|
|
attr_accessor :connection_limit
|
|
|
|
# The project id or number for the project to set the limit for.
|
|
# Corresponds to the JSON property `projectIdOrNum`
|
|
# @return [String]
|
|
attr_accessor :project_id_or_num
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@connection_limit = args[:connection_limit] if args.key?(:connection_limit)
|
|
@project_id_or_num = args[:project_id_or_num] if args.key?(:project_id_or_num)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ServiceAttachmentList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of ServiceAttachment resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of the resource. Always compute#serviceAttachment for
|
|
# service attachments.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class ServiceAttachmentsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of ServiceAttachments contained in this scope.
|
|
# Corresponds to the JSON property `serviceAttachments`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAttachment>]
|
|
attr_accessor :service_attachments
|
|
|
|
# Informational warning which replaces the list of service attachments when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@service_attachments = args[:service_attachments] if args.key?(:service_attachments)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of service attachments when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAttachmentsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# The share setting for reservations and sole tenancy node groups.
|
|
class ShareSettings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A map of folder id and folder config to specify consumer projects for this
|
|
# shared-reservation. This is only valid when share_type's value is
|
|
# DIRECT_PROJECTS_UNDER_SPECIFIC_FOLDERS. Folder id should be a string of number,
|
|
# and without "folders/" prefix.
|
|
# Corresponds to the JSON property `folderMap`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsFolderConfig>]
|
|
attr_accessor :folder_map
|
|
|
|
# A map of project id and project config. This is only valid when share_type's
|
|
# value is SPECIFIC_PROJECTS.
|
|
# Corresponds to the JSON property `projectMap`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::ShareSettingsProjectConfig>]
|
|
attr_accessor :project_map
|
|
|
|
# A List of Project names to specify consumer projects for this shared-
|
|
# reservation. This is only valid when share_type's value is SPECIFIC_PROJECTS.
|
|
# Corresponds to the JSON property `projects`
|
|
# @return [Array<String>]
|
|
attr_accessor :projects
|
|
|
|
# Type of sharing for this shared-reservation
|
|
# Corresponds to the JSON property `shareType`
|
|
# @return [String]
|
|
attr_accessor :share_type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@folder_map = args[:folder_map] if args.key?(:folder_map)
|
|
@project_map = args[:project_map] if args.key?(:project_map)
|
|
@projects = args[:projects] if args.key?(:projects)
|
|
@share_type = args[:share_type] if args.key?(:share_type)
|
|
end
|
|
end
|
|
|
|
# Config for each folder in the share settings.
|
|
class ShareSettingsFolderConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The folder ID, should be same as the key of this folder config in the parent
|
|
# map. Folder id should be a string of number, and without "folders/" prefix.
|
|
# Corresponds to the JSON property `folderId`
|
|
# @return [String]
|
|
attr_accessor :folder_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@folder_id = args[:folder_id] if args.key?(:folder_id)
|
|
end
|
|
end
|
|
|
|
# Config for each project in the share settings.
|
|
class ShareSettingsProjectConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The project ID, should be same as the key of this project config in the parent
|
|
# map.
|
|
# Corresponds to the JSON property `projectId`
|
|
# @return [String]
|
|
attr_accessor :project_id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@project_id = args[:project_id] if args.key?(:project_id)
|
|
end
|
|
end
|
|
|
|
# A set of Shielded Instance options.
|
|
class ShieldedInstanceConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Defines whether the instance has integrity monitoring enabled. Enabled by
|
|
# default.
|
|
# Corresponds to the JSON property `enableIntegrityMonitoring`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_integrity_monitoring
|
|
alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring
|
|
|
|
# Defines whether the instance has Secure Boot enabled. Disabled by default.
|
|
# Corresponds to the JSON property `enableSecureBoot`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_secure_boot
|
|
alias_method :enable_secure_boot?, :enable_secure_boot
|
|
|
|
# Defines whether the instance has the vTPM enabled. Enabled by default.
|
|
# Corresponds to the JSON property `enableVtpm`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_vtpm
|
|
alias_method :enable_vtpm?, :enable_vtpm
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
|
|
@enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
|
|
@enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm)
|
|
end
|
|
end
|
|
|
|
# A Shielded Instance Identity.
|
|
class ShieldedInstanceIdentity
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A Shielded Instance Identity Entry.
|
|
# Corresponds to the JSON property `eccP256EncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedInstanceIdentityEntry]
|
|
attr_accessor :ecc_p256_encryption_key
|
|
|
|
# A Shielded Instance Identity Entry.
|
|
# Corresponds to the JSON property `eccP256SigningKey`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedInstanceIdentityEntry]
|
|
attr_accessor :ecc_p256_signing_key
|
|
|
|
# A Shielded Instance Identity Entry.
|
|
# Corresponds to the JSON property `encryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedInstanceIdentityEntry]
|
|
attr_accessor :encryption_key
|
|
|
|
# [Output Only] Type of the resource. Always compute#shieldedInstanceIdentity
|
|
# for shielded Instance identity entry.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A Shielded Instance Identity Entry.
|
|
# Corresponds to the JSON property `signingKey`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedInstanceIdentityEntry]
|
|
attr_accessor :signing_key
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ecc_p256_encryption_key = args[:ecc_p256_encryption_key] if args.key?(:ecc_p256_encryption_key)
|
|
@ecc_p256_signing_key = args[:ecc_p256_signing_key] if args.key?(:ecc_p256_signing_key)
|
|
@encryption_key = args[:encryption_key] if args.key?(:encryption_key)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@signing_key = args[:signing_key] if args.key?(:signing_key)
|
|
end
|
|
end
|
|
|
|
# A Shielded Instance Identity Entry.
|
|
class ShieldedInstanceIdentityEntry
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A PEM-encoded X.509 certificate. This field can be empty.
|
|
# Corresponds to the JSON property `ekCert`
|
|
# @return [String]
|
|
attr_accessor :ek_cert
|
|
|
|
# A PEM-encoded public key.
|
|
# Corresponds to the JSON property `ekPub`
|
|
# @return [String]
|
|
attr_accessor :ek_pub
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ek_cert = args[:ek_cert] if args.key?(:ek_cert)
|
|
@ek_pub = args[:ek_pub] if args.key?(:ek_pub)
|
|
end
|
|
end
|
|
|
|
# The policy describes the baseline against which Instance boot integrity is
|
|
# measured.
|
|
class ShieldedInstanceIntegrityPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Updates the integrity policy baseline using the measurements from the VM
|
|
# instance's most recent boot.
|
|
# Corresponds to the JSON property `updateAutoLearnPolicy`
|
|
# @return [Boolean]
|
|
attr_accessor :update_auto_learn_policy
|
|
alias_method :update_auto_learn_policy?, :update_auto_learn_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@update_auto_learn_policy = args[:update_auto_learn_policy] if args.key?(:update_auto_learn_policy)
|
|
end
|
|
end
|
|
|
|
# A set of Shielded VM options.
|
|
class ShieldedVmConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Defines whether the instance has integrity monitoring enabled.
|
|
# Corresponds to the JSON property `enableIntegrityMonitoring`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_integrity_monitoring
|
|
alias_method :enable_integrity_monitoring?, :enable_integrity_monitoring
|
|
|
|
# Defines whether the instance has Secure Boot enabled.
|
|
# Corresponds to the JSON property `enableSecureBoot`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_secure_boot
|
|
alias_method :enable_secure_boot?, :enable_secure_boot
|
|
|
|
# Defines whether the instance has the vTPM enabled.
|
|
# Corresponds to the JSON property `enableVtpm`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_vtpm
|
|
alias_method :enable_vtpm?, :enable_vtpm
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@enable_integrity_monitoring = args[:enable_integrity_monitoring] if args.key?(:enable_integrity_monitoring)
|
|
@enable_secure_boot = args[:enable_secure_boot] if args.key?(:enable_secure_boot)
|
|
@enable_vtpm = args[:enable_vtpm] if args.key?(:enable_vtpm)
|
|
end
|
|
end
|
|
|
|
# A Shielded VM Identity.
|
|
class ShieldedVmIdentity
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A Shielded Instance Identity Entry.
|
|
# Corresponds to the JSON property `encryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedVmIdentityEntry]
|
|
attr_accessor :encryption_key
|
|
|
|
# [Output Only] Type of the resource. Always compute#shieldedVmIdentity for
|
|
# shielded VM identity entry.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A Shielded Instance Identity Entry.
|
|
# Corresponds to the JSON property `signingKey`
|
|
# @return [Google::Apis::ComputeAlpha::ShieldedVmIdentityEntry]
|
|
attr_accessor :signing_key
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@encryption_key = args[:encryption_key] if args.key?(:encryption_key)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@signing_key = args[:signing_key] if args.key?(:signing_key)
|
|
end
|
|
end
|
|
|
|
# A Shielded Instance Identity Entry.
|
|
class ShieldedVmIdentityEntry
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A PEM-encoded X.509 certificate. This field can be empty.
|
|
# Corresponds to the JSON property `ekCert`
|
|
# @return [String]
|
|
attr_accessor :ek_cert
|
|
|
|
# A PEM-encoded public key.
|
|
# Corresponds to the JSON property `ekPub`
|
|
# @return [String]
|
|
attr_accessor :ek_pub
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ek_cert = args[:ek_cert] if args.key?(:ek_cert)
|
|
@ek_pub = args[:ek_pub] if args.key?(:ek_pub)
|
|
end
|
|
end
|
|
|
|
# The policy describes the baseline against which VM instance boot integrity is
|
|
# measured.
|
|
class ShieldedVmIntegrityPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Updates the integrity policy baseline using the measurements from the VM
|
|
# instance's most recent boot.
|
|
# Corresponds to the JSON property `updateAutoLearnPolicy`
|
|
# @return [Boolean]
|
|
attr_accessor :update_auto_learn_policy
|
|
alias_method :update_auto_learn_policy?, :update_auto_learn_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@update_auto_learn_policy = args[:update_auto_learn_policy] if args.key?(:update_auto_learn_policy)
|
|
end
|
|
end
|
|
|
|
# Represents a customer-supplied Signing Key used by Cloud CDN Signed URLs
|
|
class SignedUrlKey
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Name of the key. The name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `keyName`
|
|
# @return [String]
|
|
attr_accessor :key_name
|
|
|
|
# 128-bit key value used for signing the URL. The key value must be a valid RFC
|
|
# 4648 Section 5 base64url encoded string.
|
|
# Corresponds to the JSON property `keyValue`
|
|
# @return [String]
|
|
attr_accessor :key_value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key_name = args[:key_name] if args.key?(:key_name)
|
|
@key_value = args[:key_value] if args.key?(:key_value)
|
|
end
|
|
end
|
|
|
|
# Represents a Persistent Disk Snapshot resource. You can use snapshots to back
|
|
# up data on a regular interval. For more information, read Creating persistent
|
|
# disk snapshots.
|
|
class Snapshot
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The architecture of the snapshot. Valid values are ARM64 or
|
|
# X86_64.
|
|
# Corresponds to the JSON property `architecture`
|
|
# @return [String]
|
|
attr_accessor :architecture
|
|
|
|
# [Output Only] Set to true if snapshots are automatically created by applying
|
|
# resource policy on the target disk.
|
|
# Corresponds to the JSON property `autoCreated`
|
|
# @return [Boolean]
|
|
attr_accessor :auto_created
|
|
alias_method :auto_created?, :auto_created
|
|
|
|
# Creates the new snapshot in the snapshot chain labeled with the specified name.
|
|
# The chain name must be 1-63 characters long and comply with RFC1035. This is
|
|
# an uncommon option only for advanced service owners who needs to create
|
|
# separate snapshot chains, for example, for chargeback tracking. When you
|
|
# describe your snapshot resource, this field is visible only if it has a non-
|
|
# empty value.
|
|
# Corresponds to the JSON property `chainName`
|
|
# @return [String]
|
|
attr_accessor :chain_name
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] Size of the source disk, specified in GB.
|
|
# Corresponds to the JSON property `diskSizeGb`
|
|
# @return [Fixnum]
|
|
attr_accessor :disk_size_gb
|
|
|
|
# [Output Only] Number of bytes downloaded to restore a snapshot to a disk.
|
|
# Corresponds to the JSON property `downloadBytes`
|
|
# @return [Fixnum]
|
|
attr_accessor :download_bytes
|
|
|
|
# [Input Only] Whether to attempt an application consistent snapshot by
|
|
# informing the OS to prepare for the snapshot process.
|
|
# Corresponds to the JSON property `guestFlush`
|
|
# @return [Boolean]
|
|
attr_accessor :guest_flush
|
|
alias_method :guest_flush?, :guest_flush
|
|
|
|
# [Output Only] A list of features to enable on the guest operating system.
|
|
# Applicable only for bootable images. Read Enabling guest operating system
|
|
# features to see a list of available options.
|
|
# Corresponds to the JSON property `guestOsFeatures`
|
|
# @return [Array<Google::Apis::ComputeAlpha::GuestOsFeature>]
|
|
attr_accessor :guest_os_features
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#snapshot for Snapshot
|
|
# resources.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this snapshot, which is
|
|
# essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve a snapshot.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels to apply to this snapshot. These can be later modified by the setLabels
|
|
# method. Label values may be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# [Output Only] Integer license codes indicating which licenses are attached to
|
|
# this snapshot.
|
|
# Corresponds to the JSON property `licenseCodes`
|
|
# @return [Array<Fixnum>]
|
|
attr_accessor :license_codes
|
|
|
|
# [Output Only] A list of public visible licenses that apply to this snapshot.
|
|
# This can be because the original image had licenses attached (such as a
|
|
# Windows image).
|
|
# Corresponds to the JSON property `licenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :licenses
|
|
|
|
# An opaque location hint used to place the snapshot close to other resources.
|
|
# This field is for use by internal tools that use the public API.
|
|
# Corresponds to the JSON property `locationHint`
|
|
# @return [String]
|
|
attr_accessor :location_hint
|
|
|
|
# Name of the resource; provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `satisfiesPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :satisfies_pzs
|
|
alias_method :satisfies_pzs?, :satisfies_pzs
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource's resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Encrypts the snapshot using a customer-supplied encryption key. After you
|
|
# encrypt a snapshot using a customer-supplied key, you must provide the same
|
|
# key if you use the snapshot later. For example, you must provide the
|
|
# encryption key when you create a disk from the encrypted snapshot in a future
|
|
# request. Customer-supplied encryption keys do not protect access to metadata
|
|
# of the snapshot. If you do not provide an encryption key when creating the
|
|
# snapshot, then the snapshot will be encrypted using an automatically generated
|
|
# key and you do not need to provide a key to use the snapshot later.
|
|
# Corresponds to the JSON property `snapshotEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :snapshot_encryption_key
|
|
|
|
# Indicates the type of the snapshot.
|
|
# Corresponds to the JSON property `snapshotType`
|
|
# @return [String]
|
|
attr_accessor :snapshot_type
|
|
|
|
# The source disk used to create this snapshot.
|
|
# Corresponds to the JSON property `sourceDisk`
|
|
# @return [String]
|
|
attr_accessor :source_disk
|
|
|
|
# The customer-supplied encryption key of the source disk. Required if the
|
|
# source disk is protected by a customer-supplied encryption key.
|
|
# Corresponds to the JSON property `sourceDiskEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :source_disk_encryption_key
|
|
|
|
# [Output Only] The ID value of the disk used to create this snapshot. This
|
|
# value may be used to determine whether the snapshot was taken from the current
|
|
# or a previous instance of a given disk name.
|
|
# Corresponds to the JSON property `sourceDiskId`
|
|
# @return [String]
|
|
attr_accessor :source_disk_id
|
|
|
|
# The source instant snapshot used to create this snapshot. You can provide this
|
|
# as a partial or full URL to the resource. For example, the following are valid
|
|
# values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /
|
|
# instantSnapshots/instantSnapshot - projects/project/zones/zone/
|
|
# instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot
|
|
# Corresponds to the JSON property `sourceInstantSnapshot`
|
|
# @return [String]
|
|
attr_accessor :source_instant_snapshot
|
|
|
|
# [Output Only] The unique ID of the instant snapshot used to create this
|
|
# snapshot. This value identifies the exact instant snapshot that was used to
|
|
# create this persistent disk. For example, if you created the persistent disk
|
|
# from an instant snapshot that was later deleted and recreated under the same
|
|
# name, the source instant snapshot ID would identify the exact instant snapshot
|
|
# that was used.
|
|
# Corresponds to the JSON property `sourceInstantSnapshotId`
|
|
# @return [String]
|
|
attr_accessor :source_instant_snapshot_id
|
|
|
|
# [Output Only] URL of the resource policy which created this scheduled snapshot.
|
|
# Corresponds to the JSON property `sourceSnapshotSchedulePolicy`
|
|
# @return [String]
|
|
attr_accessor :source_snapshot_schedule_policy
|
|
|
|
# [Output Only] ID of the resource policy which created this scheduled snapshot.
|
|
# Corresponds to the JSON property `sourceSnapshotSchedulePolicyId`
|
|
# @return [String]
|
|
attr_accessor :source_snapshot_schedule_policy_id
|
|
|
|
# [Output Only] The status of the snapshot. This can be CREATING, DELETING,
|
|
# FAILED, READY, or UPLOADING.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] A size of the storage used by the snapshot. As snapshots share
|
|
# storage, this number is expected to change with snapshot creation/deletion.
|
|
# Corresponds to the JSON property `storageBytes`
|
|
# @return [Fixnum]
|
|
attr_accessor :storage_bytes
|
|
|
|
# [Output Only] An indicator whether storageBytes is in a stable state or it is
|
|
# being adjusted as a result of shared storage reallocation. This status can
|
|
# either be UPDATING, meaning the size of the snapshot is being updated, or
|
|
# UP_TO_DATE, meaning the size of the snapshot is up-to-date.
|
|
# Corresponds to the JSON property `storageBytesStatus`
|
|
# @return [String]
|
|
attr_accessor :storage_bytes_status
|
|
|
|
# Cloud Storage bucket storage location of the snapshot (regional or multi-
|
|
# regional).
|
|
# Corresponds to the JSON property `storageLocations`
|
|
# @return [Array<String>]
|
|
attr_accessor :storage_locations
|
|
|
|
# [Output Only] A list of user provided licenses represented by a list of URLs
|
|
# to the license resource.
|
|
# Corresponds to the JSON property `userLicenses`
|
|
# @return [Array<String>]
|
|
attr_accessor :user_licenses
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@architecture = args[:architecture] if args.key?(:architecture)
|
|
@auto_created = args[:auto_created] if args.key?(:auto_created)
|
|
@chain_name = args[:chain_name] if args.key?(:chain_name)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
|
@download_bytes = args[:download_bytes] if args.key?(:download_bytes)
|
|
@guest_flush = args[:guest_flush] if args.key?(:guest_flush)
|
|
@guest_os_features = args[:guest_os_features] if args.key?(:guest_os_features)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@license_codes = args[:license_codes] if args.key?(:license_codes)
|
|
@licenses = args[:licenses] if args.key?(:licenses)
|
|
@location_hint = args[:location_hint] if args.key?(:location_hint)
|
|
@name = args[:name] if args.key?(:name)
|
|
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@snapshot_encryption_key = args[:snapshot_encryption_key] if args.key?(:snapshot_encryption_key)
|
|
@snapshot_type = args[:snapshot_type] if args.key?(:snapshot_type)
|
|
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
|
@source_disk_encryption_key = args[:source_disk_encryption_key] if args.key?(:source_disk_encryption_key)
|
|
@source_disk_id = args[:source_disk_id] if args.key?(:source_disk_id)
|
|
@source_instant_snapshot = args[:source_instant_snapshot] if args.key?(:source_instant_snapshot)
|
|
@source_instant_snapshot_id = args[:source_instant_snapshot_id] if args.key?(:source_instant_snapshot_id)
|
|
@source_snapshot_schedule_policy = args[:source_snapshot_schedule_policy] if args.key?(:source_snapshot_schedule_policy)
|
|
@source_snapshot_schedule_policy_id = args[:source_snapshot_schedule_policy_id] if args.key?(:source_snapshot_schedule_policy_id)
|
|
@status = args[:status] if args.key?(:status)
|
|
@storage_bytes = args[:storage_bytes] if args.key?(:storage_bytes)
|
|
@storage_bytes_status = args[:storage_bytes_status] if args.key?(:storage_bytes_status)
|
|
@storage_locations = args[:storage_locations] if args.key?(:storage_locations)
|
|
@user_licenses = args[:user_licenses] if args.key?(:user_licenses)
|
|
end
|
|
end
|
|
|
|
# Contains a list of Snapshot resources.
|
|
class SnapshotList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Snapshot resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Snapshot>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SnapshotList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SnapshotList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class SourceDiskEncryptionKey
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The customer-supplied encryption key of the source disk. Required if the
|
|
# source disk is protected by a customer-supplied encryption key.
|
|
# Corresponds to the JSON property `diskEncryptionKey`
|
|
# @return [Google::Apis::ComputeAlpha::CustomerEncryptionKey]
|
|
attr_accessor :disk_encryption_key
|
|
|
|
# URL of the disk attached to the source instance. This can be a full or valid
|
|
# partial URL. For example, the following are valid values: - https://www.
|
|
# googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/
|
|
# project/zones/zone/disks/disk - zones/zone/disks/disk
|
|
# Corresponds to the JSON property `sourceDisk`
|
|
# @return [String]
|
|
attr_accessor :source_disk
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disk_encryption_key = args[:disk_encryption_key] if args.key?(:disk_encryption_key)
|
|
@source_disk = args[:source_disk] if args.key?(:source_disk)
|
|
end
|
|
end
|
|
|
|
# A specification of the parameters to use when creating the instance template
|
|
# from a source instance.
|
|
class SourceInstanceParams
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Attached disks configuration. If not provided, defaults are applied: For boot
|
|
# disk and any other R/W disks, new custom images will be created from each disk.
|
|
# For read-only disks, they will be attached in read-only mode. Local SSD disks
|
|
# will be created as blank volumes.
|
|
# Corresponds to the JSON property `diskConfigs`
|
|
# @return [Array<Google::Apis::ComputeAlpha::DiskInstantiationConfig>]
|
|
attr_accessor :disk_configs
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disk_configs = args[:disk_configs] if args.key?(:disk_configs)
|
|
end
|
|
end
|
|
|
|
# DEPRECATED: Please use compute#instanceProperties instead. New properties will
|
|
# not be added to this field.
|
|
class SourceInstanceProperties
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Enables instances created based on this machine image to send packets with
|
|
# source IP addresses other than their own and receive packets with destination
|
|
# IP addresses other than their own. If these instances will be used as an IP
|
|
# gateway or it will be set as the next-hop in a Route resource, specify true.
|
|
# If unsure, leave this set to false. See the Enable IP forwarding documentation
|
|
# for more information.
|
|
# Corresponds to the JSON property `canIpForward`
|
|
# @return [Boolean]
|
|
attr_accessor :can_ip_forward
|
|
alias_method :can_ip_forward?, :can_ip_forward
|
|
|
|
# Whether the instance created from this machine image should be protected
|
|
# against deletion.
|
|
# Corresponds to the JSON property `deletionProtection`
|
|
# @return [Boolean]
|
|
attr_accessor :deletion_protection
|
|
alias_method :deletion_protection?, :deletion_protection
|
|
|
|
# An optional text description for the instances that are created from this
|
|
# machine image.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# An array of disks that are associated with the instances that are created from
|
|
# this machine image.
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SavedAttachedDisk>]
|
|
attr_accessor :disks
|
|
|
|
# A list of guest accelerator cards' type and count to use for instances created
|
|
# from this machine image.
|
|
# Corresponds to the JSON property `guestAccelerators`
|
|
# @return [Array<Google::Apis::ComputeAlpha::AcceleratorConfig>]
|
|
attr_accessor :guest_accelerators
|
|
|
|
# KeyRevocationActionType of the instance. Supported options are "STOP" and "
|
|
# NONE". The default value is "NONE" if it is not specified.
|
|
# Corresponds to the JSON property `keyRevocationActionType`
|
|
# @return [String]
|
|
attr_accessor :key_revocation_action_type
|
|
|
|
# Labels to apply to instances that are created from this machine image.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# The machine type to use for instances that are created from this machine image.
|
|
# Corresponds to the JSON property `machineType`
|
|
# @return [String]
|
|
attr_accessor :machine_type
|
|
|
|
# A metadata key/value entry.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [Google::Apis::ComputeAlpha::Metadata]
|
|
attr_accessor :metadata
|
|
|
|
# Minimum cpu/platform to be used by instances created from this machine image.
|
|
# The instance may be scheduled on the specified or newer cpu/platform.
|
|
# Applicable values are the friendly names of CPU platforms, such as
|
|
# minCpuPlatform: "Intel Haswell" or minCpuPlatform: "Intel Sandy Bridge". For
|
|
# more information, read Specifying a Minimum CPU Platform.
|
|
# Corresponds to the JSON property `minCpuPlatform`
|
|
# @return [String]
|
|
attr_accessor :min_cpu_platform
|
|
|
|
# An array of network access configurations for this interface.
|
|
# Corresponds to the JSON property `networkInterfaces`
|
|
# @return [Array<Google::Apis::ComputeAlpha::NetworkInterface>]
|
|
attr_accessor :network_interfaces
|
|
|
|
# PostKeyRevocationActionType of the instance.
|
|
# Corresponds to the JSON property `postKeyRevocationActionType`
|
|
# @return [String]
|
|
attr_accessor :post_key_revocation_action_type
|
|
|
|
# Sets the scheduling options for an Instance. NextID: 21
|
|
# Corresponds to the JSON property `scheduling`
|
|
# @return [Google::Apis::ComputeAlpha::Scheduling]
|
|
attr_accessor :scheduling
|
|
|
|
# A list of service accounts with specified scopes. Access tokens for these
|
|
# service accounts are available to the instances that are created from this
|
|
# machine image. Use metadata queries to obtain the access tokens for these
|
|
# instances.
|
|
# Corresponds to the JSON property `serviceAccounts`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ServiceAccount>]
|
|
attr_accessor :service_accounts
|
|
|
|
# A set of instance tags.
|
|
# Corresponds to the JSON property `tags`
|
|
# @return [Google::Apis::ComputeAlpha::Tags]
|
|
attr_accessor :tags
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@can_ip_forward = args[:can_ip_forward] if args.key?(:can_ip_forward)
|
|
@deletion_protection = args[:deletion_protection] if args.key?(:deletion_protection)
|
|
@description = args[:description] if args.key?(:description)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@guest_accelerators = args[:guest_accelerators] if args.key?(:guest_accelerators)
|
|
@key_revocation_action_type = args[:key_revocation_action_type] if args.key?(:key_revocation_action_type)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
|
@network_interfaces = args[:network_interfaces] if args.key?(:network_interfaces)
|
|
@post_key_revocation_action_type = args[:post_key_revocation_action_type] if args.key?(:post_key_revocation_action_type)
|
|
@scheduling = args[:scheduling] if args.key?(:scheduling)
|
|
@service_accounts = args[:service_accounts] if args.key?(:service_accounts)
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
end
|
|
end
|
|
|
|
# Represents an SSL Certificate resource. Google Compute Engine has two SSL
|
|
# Certificate resources: * [Global](/compute/docs/reference/rest/alpha/
|
|
# sslCertificates) * [Regional](/compute/docs/reference/rest/alpha/
|
|
# regionSslCertificates) The sslCertificates are used by: - external HTTPS load
|
|
# balancers - SSL proxy load balancers The regionSslCertificates are used by
|
|
# internal HTTPS load balancers. Optionally, certificate file contents that you
|
|
# upload can contain a set of up to five PEM-encoded certificates. The API call
|
|
# creates an object (sslCertificate) that holds this data. You can use SSL keys
|
|
# and certificates to secure connections to a load balancer. For more
|
|
# information, read Creating and using SSL certificates, SSL certificates quotas
|
|
# and limits, and Troubleshooting SSL certificates.
|
|
class SslCertificate
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A value read into memory from a certificate file. The certificate file must be
|
|
# in PEM format. The certificate chain must be no greater than 5 certs long. The
|
|
# chain must include at least one intermediate cert.
|
|
# Corresponds to the JSON property `certificate`
|
|
# @return [String]
|
|
attr_accessor :certificate
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] Expire time of the certificate. RFC3339
|
|
# Corresponds to the JSON property `expireTime`
|
|
# @return [String]
|
|
attr_accessor :expire_time
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#sslCertificate for SSL
|
|
# certificates.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Configuration and status of a managed SSL certificate.
|
|
# Corresponds to the JSON property `managed`
|
|
# @return [Google::Apis::ComputeAlpha::SslCertificateManagedSslCertificate]
|
|
attr_accessor :managed
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# A value read into memory from a write-only private key file. The private key
|
|
# file must be in PEM format. For security, only insert requests include this
|
|
# field.
|
|
# Corresponds to the JSON property `privateKey`
|
|
# @return [String]
|
|
attr_accessor :private_key
|
|
|
|
# [Output Only] URL of the region where the regional SSL Certificate resides.
|
|
# This field is not applicable to global SSL Certificate.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Configuration and status of a self-managed SSL certificate.
|
|
# Corresponds to the JSON property `selfManaged`
|
|
# @return [Google::Apis::ComputeAlpha::SslCertificateSelfManagedSslCertificate]
|
|
attr_accessor :self_managed
|
|
|
|
# [Output Only] Domains associated with the certificate via Subject Alternative
|
|
# Name.
|
|
# Corresponds to the JSON property `subjectAlternativeNames`
|
|
# @return [Array<String>]
|
|
attr_accessor :subject_alternative_names
|
|
|
|
# (Optional) Specifies the type of SSL certificate, either "SELF_MANAGED" or "
|
|
# MANAGED". If not specified, the certificate is self-managed and the fields
|
|
# certificate and private_key are used.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate = args[:certificate] if args.key?(:certificate)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@managed = args[:managed] if args.key?(:managed)
|
|
@name = args[:name] if args.key?(:name)
|
|
@private_key = args[:private_key] if args.key?(:private_key)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@self_managed = args[:self_managed] if args.key?(:self_managed)
|
|
@subject_alternative_names = args[:subject_alternative_names] if args.key?(:subject_alternative_names)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SslCertificateAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of SslCertificatesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::SslCertificatesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#sslCertificateAggregatedList
|
|
# for lists of SSL Certificates.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SslCertificateAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslCertificateAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of SslCertificate resources.
|
|
class SslCertificateList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of SslCertificate resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslCertificate>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SslCertificateList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslCertificateList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Configuration and status of a managed SSL certificate.
|
|
class SslCertificateManagedSslCertificate
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output only] Detailed statuses of the domains specified for managed
|
|
# certificate resource.
|
|
# Corresponds to the JSON property `domainStatus`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :domain_status
|
|
|
|
# The domains for which a managed SSL certificate will be generated. Each Google-
|
|
# managed SSL certificate supports up to the [maximum number of domains per
|
|
# Google-managed SSL certificate](/load-balancing/docs/quotas#ssl_certificates).
|
|
# Corresponds to the JSON property `domains`
|
|
# @return [Array<String>]
|
|
attr_accessor :domains
|
|
|
|
# [Output only] Status of the managed certificate resource.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@domain_status = args[:domain_status] if args.key?(:domain_status)
|
|
@domains = args[:domains] if args.key?(:domains)
|
|
@status = args[:status] if args.key?(:status)
|
|
end
|
|
end
|
|
|
|
# Configuration and status of a self-managed SSL certificate.
|
|
class SslCertificateSelfManagedSslCertificate
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A local certificate file. The certificate must be in PEM format. The
|
|
# certificate chain must be no greater than 5 certs long. The chain must include
|
|
# at least one intermediate cert.
|
|
# Corresponds to the JSON property `certificate`
|
|
# @return [String]
|
|
attr_accessor :certificate
|
|
|
|
# A write-only private key in PEM format. Only insert requests will include this
|
|
# field.
|
|
# Corresponds to the JSON property `privateKey`
|
|
# @return [String]
|
|
attr_accessor :private_key
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate = args[:certificate] if args.key?(:certificate)
|
|
@private_key = args[:private_key] if args.key?(:private_key)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SslCertificatesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of SslCertificates contained in this scope.
|
|
# Corresponds to the JSON property `sslCertificates`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslCertificate>]
|
|
attr_accessor :ssl_certificates
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SslCertificatesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslCertificatesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class SslPoliciesAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `etag`
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of SslPoliciesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::SslPoliciesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#sslPolicyAggregatedList for
|
|
# lists of SSL Policies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SslPoliciesAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslPoliciesAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class SslPoliciesList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of SslPolicy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslPolicy>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of the resource. Always compute#sslPoliciesList for lists
|
|
# of sslPolicies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SslPoliciesList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslPoliciesList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class SslPoliciesListAvailableFeaturesResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `features`
|
|
# @return [Array<String>]
|
|
attr_accessor :features
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@features = args[:features] if args.key?(:features)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SslPoliciesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of SslPolicies contained in this scope.
|
|
# Corresponds to the JSON property `sslPolicies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslPolicy>]
|
|
attr_accessor :ssl_policies
|
|
|
|
# Informational warning which replaces the list of SSL policies when the list is
|
|
# empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SslPoliciesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ssl_policies = args[:ssl_policies] if args.key?(:ssl_policies)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of SSL policies when the list is
|
|
# empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslPoliciesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents an SSL Policy resource. Use SSL policies to control the SSL
|
|
# features, such as versions and cipher suites, offered by an HTTPS or SSL Proxy
|
|
# load balancer. For more information, read SSL Policy Concepts.
|
|
class SslPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# A list of features enabled when the selected profile is CUSTOM. The method
|
|
# returns the set of features that can be specified in this list. This field
|
|
# must be empty if the profile is not CUSTOM.
|
|
# Corresponds to the JSON property `customFeatures`
|
|
# @return [Array<String>]
|
|
attr_accessor :custom_features
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The list of features enabled in the SSL policy.
|
|
# Corresponds to the JSON property `enabledFeatures`
|
|
# @return [Array<String>]
|
|
attr_accessor :enabled_features
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a SslPolicy. An up-to-date fingerprint must be provided in order to
|
|
# update the SslPolicy, otherwise the request will fail with error 412
|
|
# conditionNotMet. To see the latest fingerprint, make a get() request to
|
|
# retrieve an SslPolicy.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output only] Type of the resource. Always compute#sslPolicyfor SSL policies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The minimum version of SSL protocol that can be used by the clients to
|
|
# establish a connection with the load balancer. This can be one of TLS_1_0,
|
|
# TLS_1_1, TLS_1_2.
|
|
# Corresponds to the JSON property `minTlsVersion`
|
|
# @return [String]
|
|
attr_accessor :min_tls_version
|
|
|
|
# Name of the resource. The name must be 1-63 characters long, and comply with
|
|
# RFC1035. Specifically, the name must be 1-63 characters long and match the
|
|
# regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
|
# character must be a lowercase letter, and all following characters must be a
|
|
# dash, lowercase letter, or digit, except the last character, which cannot be a
|
|
# dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Profile specifies the set of SSL features that can be used by the load
|
|
# balancer when negotiating SSL with clients. This can be one of COMPATIBLE,
|
|
# MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of SSL features to
|
|
# enable must be specified in the customFeatures field.
|
|
# Corresponds to the JSON property `profile`
|
|
# @return [String]
|
|
attr_accessor :profile
|
|
|
|
# [Output Only] URL of the region where the regional SSL policy resides. This
|
|
# field is not applicable to global SSL policies.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# The TLS settings for the server.
|
|
# Corresponds to the JSON property `tlsSettings`
|
|
# @return [Google::Apis::ComputeAlpha::ServerTlsSettings]
|
|
attr_accessor :tls_settings
|
|
|
|
# [Output Only] If potential misconfigurations are detected for this SSL policy,
|
|
# this field will be populated with warning messages.
|
|
# Corresponds to the JSON property `warnings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslPolicy::Warning>]
|
|
attr_accessor :warnings
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@custom_features = args[:custom_features] if args.key?(:custom_features)
|
|
@description = args[:description] if args.key?(:description)
|
|
@enabled_features = args[:enabled_features] if args.key?(:enabled_features)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@min_tls_version = args[:min_tls_version] if args.key?(:min_tls_version)
|
|
@name = args[:name] if args.key?(:name)
|
|
@profile = args[:profile] if args.key?(:profile)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@tls_settings = args[:tls_settings] if args.key?(:tls_settings)
|
|
@warnings = args[:warnings] if args.key?(:warnings)
|
|
end
|
|
|
|
#
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SslPolicy::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class SslPolicyReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# URL of the SSL policy resource. Set this to empty string to clear any existing
|
|
# SSL policy associated with the target proxy resource.
|
|
# Corresponds to the JSON property `sslPolicy`
|
|
# @return [String]
|
|
attr_accessor :ssl_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy)
|
|
end
|
|
end
|
|
|
|
#
|
|
class StatefulPolicy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Configuration of preserved resources.
|
|
# Corresponds to the JSON property `preservedState`
|
|
# @return [Google::Apis::ComputeAlpha::StatefulPolicyPreservedState]
|
|
attr_accessor :preserved_state
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@preserved_state = args[:preserved_state] if args.key?(:preserved_state)
|
|
end
|
|
end
|
|
|
|
# Configuration of preserved resources.
|
|
class StatefulPolicyPreservedState
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Disks created on the instances that will be preserved on instance delete,
|
|
# update, etc. This map is keyed with the device names of the disks.
|
|
# Corresponds to the JSON property `disks`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateDiskDevice>]
|
|
attr_accessor :disks
|
|
|
|
# External network IPs assigned to the instances that will be preserved on
|
|
# instance delete, update, etc. This map is keyed with the network interface
|
|
# name.
|
|
# Corresponds to the JSON property `externalIPs`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateNetworkIp>]
|
|
attr_accessor :external_i_ps
|
|
|
|
# Internal network IPs assigned to the instances that will be preserved on
|
|
# instance delete, update, etc. This map is keyed with the network interface
|
|
# name.
|
|
# Corresponds to the JSON property `internalIPs`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::StatefulPolicyPreservedStateNetworkIp>]
|
|
attr_accessor :internal_i_ps
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@disks = args[:disks] if args.key?(:disks)
|
|
@external_i_ps = args[:external_i_ps] if args.key?(:external_i_ps)
|
|
@internal_i_ps = args[:internal_i_ps] if args.key?(:internal_i_ps)
|
|
end
|
|
end
|
|
|
|
#
|
|
class StatefulPolicyPreservedStateDiskDevice
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# These stateful disks will never be deleted during autohealing, update or VM
|
|
# instance recreate operations. This flag is used to configure if the disk
|
|
# should be deleted after it is no longer used by the group, e.g. when the given
|
|
# instance or the whole group is deleted. Note: disks attached in READ_ONLY mode
|
|
# cannot be auto-deleted.
|
|
# Corresponds to the JSON property `autoDelete`
|
|
# @return [String]
|
|
attr_accessor :auto_delete
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
|
end
|
|
end
|
|
|
|
#
|
|
class StatefulPolicyPreservedStateNetworkIp
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# These stateful IPs will never be released during autohealing, update or VM
|
|
# instance recreate operations. This flag is used to configure if the IP
|
|
# reservation should be deleted after it is no longer used by the group, e.g.
|
|
# when the given instance or the whole group is deleted.
|
|
# Corresponds to the JSON property `autoDelete`
|
|
# @return [String]
|
|
attr_accessor :auto_delete
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@auto_delete = args[:auto_delete] if args.key?(:auto_delete)
|
|
end
|
|
end
|
|
|
|
# Represents a Subnetwork resource. A subnetwork (also known as a subnet) is a
|
|
# logical partition of a Virtual Private Cloud network with one primary IP range
|
|
# and zero or more secondary IP ranges. For more information, read Virtual
|
|
# Private Cloud (VPC) Network.
|
|
class Subnetwork
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Can only be specified if VPC flow logging for this subnetwork is enabled. Sets
|
|
# the aggregation interval for collecting flow logs. Increasing the interval
|
|
# time reduces the amount of generated flow logs for long-lasting connections.
|
|
# Default is an interval of 5 seconds per connection. Valid values:
|
|
# INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN,
|
|
# INTERVAL_10_MIN, INTERVAL_15_MIN.
|
|
# Corresponds to the JSON property `aggregationInterval`
|
|
# @return [String]
|
|
attr_accessor :aggregation_interval
|
|
|
|
# Whether this subnetwork's ranges can conflict with existing static routes.
|
|
# Setting this to true allows this subnetwork's primary and secondary ranges to
|
|
# overlap with (and contain) static routes that have already been configured on
|
|
# the corresponding network. For example if a static route has range 10.1.0.0/16,
|
|
# a subnet range 10.0.0.0/8 could only be created if allow_conflicting_routes=
|
|
# true. Overlapping is only allowed on subnetwork operations; routes whose
|
|
# ranges conflict with this subnetwork's ranges won't be allowed unless route.
|
|
# allow_conflicting_subnetworks is set to true. Typically packets destined to
|
|
# IPs within the subnetwork (which may contain private/sensitive data) are
|
|
# prevented from leaving the virtual network. Setting this field to true will
|
|
# disable this feature. The default value is false and applies to all existing
|
|
# subnetworks and automatically created subnetworks. This field cannot be set to
|
|
# true at resource creation time.
|
|
# Corresponds to the JSON property `allowSubnetCidrRoutesOverlap`
|
|
# @return [Boolean]
|
|
attr_accessor :allow_subnet_cidr_routes_overlap
|
|
alias_method :allow_subnet_cidr_routes_overlap?, :allow_subnet_cidr_routes_overlap
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource. This field can be set only at resource creation time.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
|
# explicitly set, it will not appear in get listings. If not set the default
|
|
# behavior is determined by the org policy, if there is no org policy specified,
|
|
# then it will default to disabled. This field isn't supported with the purpose
|
|
# field set to INTERNAL_HTTPS_LOAD_BALANCER.
|
|
# Corresponds to the JSON property `enableFlowLogs`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_flow_logs
|
|
alias_method :enable_flow_logs?, :enable_flow_logs
|
|
|
|
# Enables Layer2 communication on the subnetwork.
|
|
# Corresponds to the JSON property `enableL2`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_l2
|
|
alias_method :enable_l2?, :enable_l2
|
|
|
|
# Deprecated in favor of enable in PrivateIpv6GoogleAccess. Whether the VMs in
|
|
# this subnet can directly access Google services via internal IPv6 addresses.
|
|
# This field can be both set at resource creation time and updated using patch.
|
|
# Corresponds to the JSON property `enablePrivateV6Access`
|
|
# @return [Boolean]
|
|
attr_accessor :enable_private_v6_access
|
|
alias_method :enable_private_v6_access?, :enable_private_v6_access
|
|
|
|
# [Output Only] The external IPv6 address range that is assigned to this
|
|
# subnetwork.
|
|
# Corresponds to the JSON property `externalIpv6Prefix`
|
|
# @return [String]
|
|
attr_accessor :external_ipv6_prefix
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a Subnetwork. An up-to-date fingerprint must be provided in order to
|
|
# update the Subnetwork, otherwise the request will fail with error 412
|
|
# conditionNotMet. To see the latest fingerprint, make a get() request to
|
|
# retrieve a Subnetwork.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# Can only be specified if VPC flow logging for this subnetwork is enabled. The
|
|
# value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
|
|
# within the subnetwork where 1.0 means all collected logs are reported and 0.0
|
|
# means no logs are reported. Default is 0.5 unless otherwise specified by the
|
|
# org policy, which means half of all collected logs are reported.
|
|
# Corresponds to the JSON property `flowSampling`
|
|
# @return [Float]
|
|
attr_accessor :flow_sampling
|
|
|
|
# [Output Only] The gateway address for default routes to reach destination
|
|
# addresses outside this subnetwork.
|
|
# Corresponds to the JSON property `gatewayAddress`
|
|
# @return [String]
|
|
attr_accessor :gateway_address
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] The internal IPv6 address range that is assigned to this
|
|
# subnetwork.
|
|
# Corresponds to the JSON property `internalIpv6Prefix`
|
|
# @return [String]
|
|
attr_accessor :internal_ipv6_prefix
|
|
|
|
# The range of internal addresses that are owned by this subnetwork. Provide
|
|
# this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.
|
|
# 64.0.0/10. Ranges must be unique and non-overlapping within a network. Only
|
|
# IPv4 is supported. This field is set at resource creation time. The range can
|
|
# be any range listed in the Valid ranges list. The range can be expanded after
|
|
# creation using expandIpCidrRange.
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
# The access type of IPv6 address this subnet holds. It's immutable and can only
|
|
# be specified during creation or the first time the subnet is updated into
|
|
# IPV4_IPV6 dual stack.
|
|
# Corresponds to the JSON property `ipv6AccessType`
|
|
# @return [String]
|
|
attr_accessor :ipv6_access_type
|
|
|
|
# [Output Only] This field is for internal use.
|
|
# Corresponds to the JSON property `ipv6CidrRange`
|
|
# @return [String]
|
|
attr_accessor :ipv6_cidr_range
|
|
|
|
# [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork
|
|
# resources.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# The available logging options for this subnetwork.
|
|
# Corresponds to the JSON property `logConfig`
|
|
# @return [Google::Apis::ComputeAlpha::SubnetworkLogConfig]
|
|
attr_accessor :log_config
|
|
|
|
# Can only be specified if VPC flow logging for this subnetwork is enabled.
|
|
# Configures whether metadata fields should be added to the reported VPC flow
|
|
# logs. Options are INCLUDE_ALL_METADATA, EXCLUDE_ALL_METADATA, and
|
|
# CUSTOM_METADATA. Default is EXCLUDE_ALL_METADATA.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [String]
|
|
attr_accessor :metadata
|
|
|
|
# The name of the resource, provided by the client when initially creating the
|
|
# resource. The name must be 1-63 characters long, and comply with RFC1035.
|
|
# Specifically, the name must be 1-63 characters long and match the regular
|
|
# expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must
|
|
# be a lowercase letter, and all following characters must be a dash, lowercase
|
|
# letter, or digit, except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The URL of the network to which this subnetwork belongs, provided by the
|
|
# client when initially creating the subnetwork. This field can be set only at
|
|
# resource creation time.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# Whether the VMs in this subnet can access Google services without assigned
|
|
# external IP addresses. This field can be both set at resource creation time
|
|
# and updated using setPrivateIpGoogleAccess.
|
|
# Corresponds to the JSON property `privateIpGoogleAccess`
|
|
# @return [Boolean]
|
|
attr_accessor :private_ip_google_access
|
|
alias_method :private_ip_google_access?, :private_ip_google_access
|
|
|
|
# This field is for internal use. This field can be both set at resource
|
|
# creation time and updated using patch.
|
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
|
# @return [String]
|
|
attr_accessor :private_ipv6_google_access
|
|
|
|
# Deprecated in favor of enable PrivateIpv6GoogleAccess on instance directly.
|
|
# The service accounts can be used to selectively turn on Private IPv6 Google
|
|
# Access only on the VMs primary service account matching the value. This value
|
|
# only takes effect when PrivateIpv6GoogleAccess is
|
|
# ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS or
|
|
# ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE_FOR_SERVICE_ACCOUNTS.
|
|
# Corresponds to the JSON property `privateIpv6GoogleAccessServiceAccounts`
|
|
# @return [Array<String>]
|
|
attr_accessor :private_ipv6_google_access_service_accounts
|
|
|
|
# The purpose of the resource. This field can be either PRIVATE_RFC_1918 or
|
|
# INTERNAL_HTTPS_LOAD_BALANCER. A subnetwork with purpose set to
|
|
# INTERNAL_HTTPS_LOAD_BALANCER is a user-created subnetwork that is reserved for
|
|
# Internal HTTP(S) Load Balancing. If unspecified, the purpose defaults to
|
|
# PRIVATE_RFC_1918. The enableFlowLogs field isn't supported with the purpose
|
|
# field set to INTERNAL_HTTPS_LOAD_BALANCER.
|
|
# Corresponds to the JSON property `purpose`
|
|
# @return [String]
|
|
attr_accessor :purpose
|
|
|
|
# URL of the region where the Subnetwork resides. This field can be set only at
|
|
# resource creation time.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# The URL of the reserved internal range.
|
|
# Corresponds to the JSON property `reservedInternalRange`
|
|
# @return [String]
|
|
attr_accessor :reserved_internal_range
|
|
|
|
# The role of subnetwork. Currently, this field is only used when purpose =
|
|
# INTERNAL_HTTPS_LOAD_BALANCER. The value can be set to ACTIVE or BACKUP. An
|
|
# ACTIVE subnetwork is one that is currently being used for Internal HTTP(S)
|
|
# Load Balancing. A BACKUP subnetwork is one that is ready to be promoted to
|
|
# ACTIVE or is currently draining. This field can be updated with a patch
|
|
# request.
|
|
# Corresponds to the JSON property `role`
|
|
# @return [String]
|
|
attr_accessor :role
|
|
|
|
# An array of configurations for secondary IP ranges for VM instances contained
|
|
# in this subnetwork. The primary IP of such VM must belong to the primary
|
|
# ipCidrRange of the subnetwork. The alias IPs may belong to either primary or
|
|
# secondary ranges. This field can be updated with a patch request.
|
|
# Corresponds to the JSON property `secondaryIpRanges`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SubnetworkSecondaryRange>]
|
|
attr_accessor :secondary_ip_ranges
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are
|
|
# assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can
|
|
# be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used.
|
|
# This field can be both set at resource creation time and updated using patch.
|
|
# Corresponds to the JSON property `stackType`
|
|
# @return [String]
|
|
attr_accessor :stack_type
|
|
|
|
# [Output Only] The state of the subnetwork, which can be one of the following
|
|
# values: READY: Subnetwork is created and ready to use DRAINING: only
|
|
# applicable to subnetworks that have the purpose set to
|
|
# INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load
|
|
# balancer are being drained. A subnetwork that is draining cannot be used or
|
|
# modified until it reaches a status of READY
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
# A repeated field indicating the VLAN IDs supported on this subnetwork. During
|
|
# Subnet creation, specifying vlan is valid only if enable_l2 is true. During
|
|
# Subnet Update, specifying vlan is allowed only for l2 enabled subnets.
|
|
# Restricted to only one VLAN.
|
|
# Corresponds to the JSON property `vlans`
|
|
# @return [Array<Fixnum>]
|
|
attr_accessor :vlans
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@aggregation_interval = args[:aggregation_interval] if args.key?(:aggregation_interval)
|
|
@allow_subnet_cidr_routes_overlap = args[:allow_subnet_cidr_routes_overlap] if args.key?(:allow_subnet_cidr_routes_overlap)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@enable_flow_logs = args[:enable_flow_logs] if args.key?(:enable_flow_logs)
|
|
@enable_l2 = args[:enable_l2] if args.key?(:enable_l2)
|
|
@enable_private_v6_access = args[:enable_private_v6_access] if args.key?(:enable_private_v6_access)
|
|
@external_ipv6_prefix = args[:external_ipv6_prefix] if args.key?(:external_ipv6_prefix)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@flow_sampling = args[:flow_sampling] if args.key?(:flow_sampling)
|
|
@gateway_address = args[:gateway_address] if args.key?(:gateway_address)
|
|
@id = args[:id] if args.key?(:id)
|
|
@internal_ipv6_prefix = args[:internal_ipv6_prefix] if args.key?(:internal_ipv6_prefix)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
@ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
|
|
@ipv6_cidr_range = args[:ipv6_cidr_range] if args.key?(:ipv6_cidr_range)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@log_config = args[:log_config] if args.key?(:log_config)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
|
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
|
@private_ipv6_google_access_service_accounts = args[:private_ipv6_google_access_service_accounts] if args.key?(:private_ipv6_google_access_service_accounts)
|
|
@purpose = args[:purpose] if args.key?(:purpose)
|
|
@region = args[:region] if args.key?(:region)
|
|
@reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
|
|
@role = args[:role] if args.key?(:role)
|
|
@secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
|
@state = args[:state] if args.key?(:state)
|
|
@vlans = args[:vlans] if args.key?(:vlans)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SubnetworkAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of SubnetworksScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::SubnetworksScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#subnetworkAggregatedList for
|
|
# aggregated lists of subnetworks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SubnetworkAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SubnetworkAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of Subnetwork resources.
|
|
class SubnetworkList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Subnetwork resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Subnetwork>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#subnetworkList for lists of
|
|
# subnetworks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SubnetworkList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SubnetworkList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# The available logging options for this subnetwork.
|
|
class SubnetworkLogConfig
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Can only be specified if VPC flow logging for this subnetwork is enabled.
|
|
# Toggles the aggregation interval for collecting flow logs. Increasing the
|
|
# interval time will reduce the amount of generated flow logs for long lasting
|
|
# connections. Default is an interval of 5 seconds per connection.
|
|
# Corresponds to the JSON property `aggregationInterval`
|
|
# @return [String]
|
|
attr_accessor :aggregation_interval
|
|
|
|
# Whether to enable flow logging for this subnetwork. If this field is not
|
|
# explicitly set, it will not appear in get listings. If not set the default
|
|
# behavior is determined by the org policy, if there is no org policy specified,
|
|
# then it will default to disabled.
|
|
# Corresponds to the JSON property `enable`
|
|
# @return [Boolean]
|
|
attr_accessor :enable
|
|
alias_method :enable?, :enable
|
|
|
|
# Can only be specified if VPC flow logs for this subnetwork is enabled. The
|
|
# filter expression is used to define which VPC flow logs should be exported to
|
|
# Cloud Logging.
|
|
# Corresponds to the JSON property `filterExpr`
|
|
# @return [String]
|
|
attr_accessor :filter_expr
|
|
|
|
# Can only be specified if VPC flow logging for this subnetwork is enabled. The
|
|
# value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs
|
|
# within the subnetwork where 1.0 means all collected logs are reported and 0.0
|
|
# means no logs are reported. Default is 0.5 unless otherwise specified by the
|
|
# org policy, which means half of all collected logs are reported.
|
|
# Corresponds to the JSON property `flowSampling`
|
|
# @return [Float]
|
|
attr_accessor :flow_sampling
|
|
|
|
# Can only be specified if VPC flow logs for this subnetwork is enabled.
|
|
# Configures whether all, none or a subset of metadata fields should be added to
|
|
# the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.
|
|
# Corresponds to the JSON property `metadata`
|
|
# @return [String]
|
|
attr_accessor :metadata
|
|
|
|
# Can only be specified if VPC flow logs for this subnetwork is enabled and "
|
|
# metadata" was set to CUSTOM_METADATA.
|
|
# Corresponds to the JSON property `metadataFields`
|
|
# @return [Array<String>]
|
|
attr_accessor :metadata_fields
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@aggregation_interval = args[:aggregation_interval] if args.key?(:aggregation_interval)
|
|
@enable = args[:enable] if args.key?(:enable)
|
|
@filter_expr = args[:filter_expr] if args.key?(:filter_expr)
|
|
@flow_sampling = args[:flow_sampling] if args.key?(:flow_sampling)
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
|
@metadata_fields = args[:metadata_fields] if args.key?(:metadata_fields)
|
|
end
|
|
end
|
|
|
|
# Represents a secondary IP range of a subnetwork.
|
|
class SubnetworkSecondaryRange
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The range of IP addresses belonging to this subnetwork secondary range.
|
|
# Provide this property when you create the subnetwork. Ranges must be unique
|
|
# and non-overlapping with all primary and secondary IP ranges within a network.
|
|
# Only IPv4 is supported. The range can be any range listed in the Valid ranges
|
|
# list.
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
# The name associated with this subnetwork secondary range, used when adding an
|
|
# alias IP range to a VM instance. The name must be 1-63 characters long, and
|
|
# comply with RFC1035. The name must be unique within the subnetwork.
|
|
# Corresponds to the JSON property `rangeName`
|
|
# @return [String]
|
|
attr_accessor :range_name
|
|
|
|
# The URL of the reserved internal range.
|
|
# Corresponds to the JSON property `reservedInternalRange`
|
|
# @return [String]
|
|
attr_accessor :reserved_internal_range
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
@range_name = args[:range_name] if args.key?(:range_name)
|
|
@reserved_internal_range = args[:reserved_internal_range] if args.key?(:reserved_internal_range)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SubnetworksExpandIpCidrRangeRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The IP (in CIDR format or netmask) of internal addresses that are legal on
|
|
# this Subnetwork. This range should be disjoint from other subnetworks within
|
|
# this network. This range can only be larger than (i.e. a superset of) the
|
|
# range previously defined before the update.
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
end
|
|
end
|
|
|
|
#
|
|
class SubnetworksScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of subnetworks contained in this scope.
|
|
# Corresponds to the JSON property `subnetworks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Subnetwork>]
|
|
attr_accessor :subnetworks
|
|
|
|
# An informational warning that appears when the list of addresses is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::SubnetworksScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@subnetworks = args[:subnetworks] if args.key?(:subnetworks)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# An informational warning that appears when the list of addresses is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::SubnetworksScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class SubnetworksSetPrivateIpGoogleAccessRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `privateIpGoogleAccess`
|
|
# @return [Boolean]
|
|
attr_accessor :private_ip_google_access
|
|
alias_method :private_ip_google_access?, :private_ip_google_access
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@private_ip_google_access = args[:private_ip_google_access] if args.key?(:private_ip_google_access)
|
|
end
|
|
end
|
|
|
|
# Subsetting configuration for this BackendService. Currently this is applicable
|
|
# only for Internal TCP/UDP load balancing, Internal HTTP(S) load balancing and
|
|
# Traffic Director.
|
|
class Subsetting
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `policy`
|
|
# @return [String]
|
|
attr_accessor :policy
|
|
|
|
# The number of backends per backend group assigned to each proxy instance or
|
|
# each service mesh client. An input parameter to the `
|
|
# CONSISTENT_HASH_SUBSETTING` algorithm. Can only be set if `policy` is set to `
|
|
# CONSISTENT_HASH_SUBSETTING`. Can only be set if load balancing scheme is `
|
|
# INTERNAL_MANAGED` or `INTERNAL_SELF_MANAGED`. `subset_size` is optional for
|
|
# Internal HTTP(S) load balancing and required for Traffic Director. If you do
|
|
# not provide this value, Cloud Load Balancing will calculate it dynamically to
|
|
# optimize the number of proxies/clients visible to each backend and vice versa.
|
|
# Must be greater than 0. If `subset_size` is larger than the number of backends/
|
|
# endpoints, then subsetting is disabled.
|
|
# Corresponds to the JSON property `subsetSize`
|
|
# @return [Fixnum]
|
|
attr_accessor :subset_size
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@policy = args[:policy] if args.key?(:policy)
|
|
@subset_size = args[:subset_size] if args.key?(:subset_size)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TcpHealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The TCP port number for the health check request. The default value is 80.
|
|
# Valid values are 1 through 65535.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# Port name as defined in InstanceGroup#NamedPort#name. If both port and
|
|
# port_name are defined, port takes precedence.
|
|
# Corresponds to the JSON property `portName`
|
|
# @return [String]
|
|
attr_accessor :port_name
|
|
|
|
# Specifies how port is selected for health checking, can be one of following
|
|
# values: USE_FIXED_PORT: The port number in port is used for health checking.
|
|
# USE_NAMED_PORT: The portName is used for health checking. USE_SERVING_PORT:
|
|
# For NetworkEndpointGroup, the port specified for each network endpoint is used
|
|
# for health checking. For other backends, the port or named port specified in
|
|
# the Backend Service is used for health checking. If not specified, TCP health
|
|
# check follows behavior specified in port and portName fields.
|
|
# Corresponds to the JSON property `portSpecification`
|
|
# @return [String]
|
|
attr_accessor :port_specification
|
|
|
|
# Specifies the type of proxy header to append before sending data to the
|
|
# backend, either NONE or PROXY_V1. The default is NONE.
|
|
# Corresponds to the JSON property `proxyHeader`
|
|
# @return [String]
|
|
attr_accessor :proxy_header
|
|
|
|
# The application data to send once the TCP connection has been established (
|
|
# default value is empty). If both request and response are empty, the
|
|
# connection establishment alone will indicate health. The request data can only
|
|
# be ASCII.
|
|
# Corresponds to the JSON property `request`
|
|
# @return [String]
|
|
attr_accessor :request
|
|
|
|
# The bytes to match against the beginning of the response data. If left empty (
|
|
# the default value), any response will indicate health. The response data can
|
|
# only be ASCII.
|
|
# Corresponds to the JSON property `response`
|
|
# @return [String]
|
|
attr_accessor :response
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@port = args[:port] if args.key?(:port)
|
|
@port_name = args[:port_name] if args.key?(:port_name)
|
|
@port_specification = args[:port_specification] if args.key?(:port_specification)
|
|
@proxy_header = args[:proxy_header] if args.key?(:proxy_header)
|
|
@request = args[:request] if args.key?(:request)
|
|
@response = args[:response] if args.key?(:response)
|
|
end
|
|
end
|
|
|
|
# A set of instance tags.
|
|
class Tags
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies a fingerprint for this request, which is essentially a hash of the
|
|
# tags' contents and used for optimistic locking. The fingerprint is initially
|
|
# generated by Compute Engine and changes after every request to modify or
|
|
# update tags. You must always provide an up-to-date fingerprint hash in order
|
|
# to update or change tags. To see the latest fingerprint, make get() request to
|
|
# the instance.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# An array of tags. Each tag must be 1-63 characters long, and comply with
|
|
# RFC1035.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<String>]
|
|
attr_accessor :items
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@items = args[:items] if args.key?(:items)
|
|
end
|
|
end
|
|
|
|
# Represents a Target gRPC Proxy resource. A target gRPC proxy is a component of
|
|
# load balancers intended for load balancing gRPC traffic. Only global
|
|
# forwarding rules with load balancing scheme INTERNAL_SELF_MANAGED can
|
|
# reference a target gRPC proxy. The target gRPC Proxy references a URL map that
|
|
# specifies how traffic is routed to gRPC backend services.
|
|
class TargetGrpcProxy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a TargetGrpcProxy. An up-to-date fingerprint must be provided in
|
|
# order to patch/update the TargetGrpcProxy; otherwise, the request will fail
|
|
# with error 412 conditionNotMet. To see the latest fingerprint, make a get()
|
|
# request to retrieve the TargetGrpcProxy.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# [Output Only] The unique identifier for the resource type. The server
|
|
# generates this identifier.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#targetGrpcProxy for target
|
|
# grpc proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL with id for the resource.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# URL to the UrlMap resource that defines the mapping from URL to the
|
|
# BackendService. The protocol field in the BackendService must be set to GRPC.
|
|
# Corresponds to the JSON property `urlMap`
|
|
# @return [String]
|
|
attr_accessor :url_map
|
|
|
|
# If true, indicates that the BackendServices referenced by the urlMap may be
|
|
# accessed by gRPC applications without using a sidecar proxy. This will enable
|
|
# configuration checks on urlMap and its referenced BackendServices to not allow
|
|
# unsupported features. A gRPC application must use "xds:///" scheme in the
|
|
# target URI of the service it is connecting to. If false, indicates that the
|
|
# BackendServices referenced by the urlMap will be accessed by gRPC applications
|
|
# via a sidecar proxy. In this case, a gRPC application must not use "xds:///"
|
|
# scheme in the target URI of the service it is connecting to
|
|
# Corresponds to the JSON property `validateForProxyless`
|
|
# @return [Boolean]
|
|
attr_accessor :validate_for_proxyless
|
|
alias_method :validate_for_proxyless?, :validate_for_proxyless
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@url_map = args[:url_map] if args.key?(:url_map)
|
|
@validate_for_proxyless = args[:validate_for_proxyless] if args.key?(:validate_for_proxyless)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetGrpcProxyList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetGrpcProxy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetGrpcProxy>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of the resource. Always compute#targetGrpcProxy for target
|
|
# grpc proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetGrpcProxyList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetGrpcProxyList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetHttpProxiesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of TargetHttpProxies contained in this scope.
|
|
# Corresponds to the JSON property `targetHttpProxies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpProxy>]
|
|
attr_accessor :target_http_proxies
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetHttpProxiesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@target_http_proxies = args[:target_http_proxies] if args.key?(:target_http_proxies)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpProxiesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Target HTTP Proxy resource. Google Compute Engine has two Target
|
|
# HTTP Proxy resources: * [Global](/compute/docs/reference/rest/alpha/
|
|
# targetHttpProxies) * [Regional](/compute/docs/reference/rest/alpha/
|
|
# regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load
|
|
# balancers. * targetHttpProxies are used by external HTTP load balancers and
|
|
# Traffic Director. * regionTargetHttpProxies are used by internal HTTP load
|
|
# balancers. Forwarding rules reference a target HTTP proxy, and the target
|
|
# proxy then references a URL map. For more information, read Using Target
|
|
# Proxies and Forwarding rule concepts.
|
|
class TargetHttpProxy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a TargetHttpProxy. An up-to-date fingerprint must be provided in
|
|
# order to patch/update the TargetHttpProxy; otherwise, the request will fail
|
|
# with error 412 conditionNotMet. To see the latest fingerprint, make a get()
|
|
# request to retrieve the TargetHttpProxy.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# URLs to networkservices.HttpFilter resources enabled for xDS clients using
|
|
# this configuration. For example, https://networkservices.googleapis.com/
|
|
# v1alpha1/projects/project/locations/ locationhttpFilters/httpFilter Only
|
|
# filters that handle outbound connection and stream events may be specified.
|
|
# These filters work in conjunction with a default set of HTTP filters that may
|
|
# already be configured by Traffic Director. Traffic Director will determine the
|
|
# final location of these filters within xDS configuration based on the name of
|
|
# the HTTP filter. If Traffic Director positions multiple filters at the same
|
|
# location, those filters will be in the same order as specified in this list.
|
|
# httpFilters only applies for loadbalancers with loadBalancingScheme set to
|
|
# INTERNAL_SELF_MANAGED. See ForwardingRule for more details.
|
|
# Corresponds to the JSON property `httpFilters`
|
|
# @return [Array<String>]
|
|
attr_accessor :http_filters
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of resource. Always compute#targetHttpProxy for target HTTP
|
|
# proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# This field only applies when the forwarding rule that references this target
|
|
# proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field
|
|
# is set to true, Envoy proxies set up inbound traffic interception and bind to
|
|
# the IP address and port specified in the forwarding rule. This is generally
|
|
# useful when using Traffic Director to configure Envoy as a gateway or middle
|
|
# proxy (in other words, not a sidecar proxy). The Envoy proxy listens for
|
|
# inbound requests and handles requests when it receives them. The default is
|
|
# false.
|
|
# Corresponds to the JSON property `proxyBind`
|
|
# @return [Boolean]
|
|
attr_accessor :proxy_bind
|
|
alias_method :proxy_bind?, :proxy_bind
|
|
|
|
# [Output Only] URL of the region where the regional Target HTTP Proxy resides.
|
|
# This field is not applicable to global Target HTTP Proxies.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# URL to the UrlMap resource that defines the mapping from URL to the
|
|
# BackendService.
|
|
# Corresponds to the JSON property `urlMap`
|
|
# @return [String]
|
|
attr_accessor :url_map
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@http_filters = args[:http_filters] if args.key?(:http_filters)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@url_map = args[:url_map] if args.key?(:url_map)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetHttpProxyAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetHttpProxiesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::TargetHttpProxiesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#targetHttpProxyAggregatedList
|
|
# for lists of Target HTTP Proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetHttpProxyAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpProxyAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# A list of TargetHttpProxy resources.
|
|
class TargetHttpProxyList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetHttpProxy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpProxy>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource. Always compute#targetHttpProxyList for lists of target HTTP
|
|
# proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetHttpProxyList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpProxyList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetHttpsProxiesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of TargetHttpsProxies contained in this scope.
|
|
# Corresponds to the JSON property `targetHttpsProxies`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpsProxy>]
|
|
attr_accessor :target_https_proxies
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetHttpsProxiesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@target_https_proxies = args[:target_https_proxies] if args.key?(:target_https_proxies)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpsProxiesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetHttpsProxiesSetCertificateMapRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# URL of the Certificate Map to associate with this TargetHttpsProxy.
|
|
# Corresponds to the JSON property `certificateMap`
|
|
# @return [String]
|
|
attr_accessor :certificate_map
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate_map = args[:certificate_map] if args.key?(:certificate_map)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetHttpsProxiesSetQuicOverrideRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# QUIC policy for the TargetHttpsProxy resource.
|
|
# Corresponds to the JSON property `quicOverride`
|
|
# @return [String]
|
|
attr_accessor :quic_override
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@quic_override = args[:quic_override] if args.key?(:quic_override)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetHttpsProxiesSetSslCertificatesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# New set of SslCertificate resources to associate with this TargetHttpsProxy
|
|
# resource. At least one SSL certificate must be specified. Currently, you may
|
|
# specify up to 15 SSL certificates.
|
|
# Corresponds to the JSON property `sslCertificates`
|
|
# @return [Array<String>]
|
|
attr_accessor :ssl_certificates
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
|
|
end
|
|
end
|
|
|
|
# Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target
|
|
# HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/
|
|
# targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/
|
|
# regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS
|
|
# load balancers. * targetHttpsProxies are used by external HTTPS load balancers.
|
|
# * regionTargetHttpsProxies are used by internal HTTPS load balancers.
|
|
# Forwarding rules reference a target HTTPS proxy, and the target proxy then
|
|
# references a URL map. For more information, read Using Target Proxies and
|
|
# Forwarding rule concepts.
|
|
class TargetHttpsProxy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] Use serverTlsPolicy instead.
|
|
# Corresponds to the JSON property `authentication`
|
|
# @return [String]
|
|
attr_accessor :authentication
|
|
|
|
# [Deprecated] Use authorizationPolicy instead.
|
|
# Corresponds to the JSON property `authorization`
|
|
# @return [String]
|
|
attr_accessor :authorization
|
|
|
|
# Optional. A URL referring to a networksecurity.AuthorizationPolicy resource
|
|
# that describes how the proxy should authorize inbound traffic. If left blank,
|
|
# access will not be restricted by an authorization policy. Refer to the
|
|
# AuthorizationPolicy resource for additional details. authorizationPolicy only
|
|
# applies to a global TargetHttpsProxy attached to globalForwardingRules with
|
|
# the loadBalancingScheme set to INTERNAL_SELF_MANAGED. Note: This field
|
|
# currently has no impact.
|
|
# Corresponds to the JSON property `authorizationPolicy`
|
|
# @return [String]
|
|
attr_accessor :authorization_policy
|
|
|
|
# URL of a certificate map that identifies a certificate map associated with the
|
|
# given target proxy. This field can only be set for global target proxies. If
|
|
# set, sslCertificates will be ignored.
|
|
# Corresponds to the JSON property `certificateMap`
|
|
# @return [String]
|
|
attr_accessor :certificate_map
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field will be ignored when
|
|
# inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in
|
|
# order to patch the TargetHttpsProxy; otherwise, the request will fail with
|
|
# error 412 conditionNotMet. To see the latest fingerprint, make a get() request
|
|
# to retrieve the TargetHttpsProxy.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# URLs to networkservices.HttpFilter resources enabled for xDS clients using
|
|
# this configuration. For example, https://networkservices.googleapis.com/beta/
|
|
# projects/project/locations/ locationhttpFilters/httpFilter Only filters that
|
|
# handle outbound connection and stream events may be specified. These filters
|
|
# work in conjunction with a default set of HTTP filters that may already be
|
|
# configured by Traffic Director. Traffic Director will determine the final
|
|
# location of these filters within xDS configuration based on the name of the
|
|
# HTTP filter. If Traffic Director positions multiple filters at the same
|
|
# location, those filters will be in the same order as specified in this list.
|
|
# httpFilters only applies for loadbalancers with loadBalancingScheme set to
|
|
# INTERNAL_SELF_MANAGED. See ForwardingRule for more details.
|
|
# Corresponds to the JSON property `httpFilters`
|
|
# @return [Array<String>]
|
|
attr_accessor :http_filters
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of resource. Always compute#targetHttpsProxy for target
|
|
# HTTPS proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# This field only applies when the forwarding rule that references this target
|
|
# proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field
|
|
# is set to true, Envoy proxies set up inbound traffic interception and bind to
|
|
# the IP address and port specified in the forwarding rule. This is generally
|
|
# useful when using Traffic Director to configure Envoy as a gateway or middle
|
|
# proxy (in other words, not a sidecar proxy). The Envoy proxy listens for
|
|
# inbound requests and handles requests when it receives them. The default is
|
|
# false.
|
|
# Corresponds to the JSON property `proxyBind`
|
|
# @return [Boolean]
|
|
attr_accessor :proxy_bind
|
|
alias_method :proxy_bind?, :proxy_bind
|
|
|
|
# Specifies the QUIC override policy for this TargetHttpsProxy resource. This
|
|
# setting determines whether the load balancer attempts to negotiate QUIC with
|
|
# clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set
|
|
# to NONE, Google manages whether QUIC is used. - When quic-override is set to
|
|
# ENABLE, the load balancer uses QUIC when possible. - When quic-override is set
|
|
# to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is
|
|
# not specified, NONE is implied.
|
|
# Corresponds to the JSON property `quicOverride`
|
|
# @return [String]
|
|
attr_accessor :quic_override
|
|
|
|
# [Output Only] URL of the region where the regional TargetHttpsProxy resides.
|
|
# This field is not applicable to global TargetHttpsProxies.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Optional. A URL referring to a networksecurity.ServerTlsPolicy resource that
|
|
# describes how the proxy should authenticate inbound traffic. serverTlsPolicy
|
|
# only applies to a global TargetHttpsProxy attached to globalForwardingRules
|
|
# with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank,
|
|
# communications are not encrypted. Note: This field currently has no impact.
|
|
# Corresponds to the JSON property `serverTlsPolicy`
|
|
# @return [String]
|
|
attr_accessor :server_tls_policy
|
|
|
|
# URLs to SslCertificate resources that are used to authenticate connections
|
|
# between users and the load balancer. At least one SSL certificate must be
|
|
# specified. Currently, you may specify up to 15 SSL certificates.
|
|
# sslCertificates do not apply when the load balancing scheme is set to
|
|
# INTERNAL_SELF_MANAGED.
|
|
# Corresponds to the JSON property `sslCertificates`
|
|
# @return [Array<String>]
|
|
attr_accessor :ssl_certificates
|
|
|
|
# URL of SslPolicy resource that will be associated with the TargetHttpsProxy
|
|
# resource. If not set, the TargetHttpsProxy resource has no SSL policy
|
|
# configured.
|
|
# Corresponds to the JSON property `sslPolicy`
|
|
# @return [String]
|
|
attr_accessor :ssl_policy
|
|
|
|
# A fully-qualified or valid partial URL to the UrlMap resource that defines the
|
|
# mapping from URL to the BackendService. For example, the following are all
|
|
# valid URLs for specifying a URL map: - https://www.googleapis.compute/v1/
|
|
# projects/project/global/urlMaps/ url-map - projects/project/global/urlMaps/url-
|
|
# map - global/urlMaps/url-map
|
|
# Corresponds to the JSON property `urlMap`
|
|
# @return [String]
|
|
attr_accessor :url_map
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@authentication = args[:authentication] if args.key?(:authentication)
|
|
@authorization = args[:authorization] if args.key?(:authorization)
|
|
@authorization_policy = args[:authorization_policy] if args.key?(:authorization_policy)
|
|
@certificate_map = args[:certificate_map] if args.key?(:certificate_map)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@http_filters = args[:http_filters] if args.key?(:http_filters)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind)
|
|
@quic_override = args[:quic_override] if args.key?(:quic_override)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@server_tls_policy = args[:server_tls_policy] if args.key?(:server_tls_policy)
|
|
@ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
|
|
@ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy)
|
|
@url_map = args[:url_map] if args.key?(:url_map)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetHttpsProxyAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetHttpsProxiesScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::TargetHttpsProxiesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#targetHttpsProxyAggregatedList
|
|
# for lists of Target HTTP Proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetHttpsProxyAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpsProxyAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of TargetHttpsProxy resources.
|
|
class TargetHttpsProxyList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetHttpsProxy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpsProxy>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource. Always compute#targetHttpsProxyList for lists of target
|
|
# HTTPS proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetHttpsProxyList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetHttpsProxyList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Target Instance resource. You can use a target instance to handle
|
|
# traffic for one or more forwarding rules, which is ideal for forwarding
|
|
# protocol traffic that is managed by a single source. For example, ESP, AH, TCP,
|
|
# or UDP. For more information, read Target instances.
|
|
class TargetInstance
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# A URL to the virtual machine instance that handles traffic for this target
|
|
# instance. When creating a target instance, you can provide the fully-qualified
|
|
# URL or a valid partial URL to the desired virtual machine. For example, the
|
|
# following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/
|
|
# project/zones/zone /instances/instance - projects/project/zones/zone/instances/
|
|
# instance - zones/zone/instances/instance
|
|
# Corresponds to the JSON property `instance`
|
|
# @return [String]
|
|
attr_accessor :instance
|
|
|
|
# [Output Only] The type of the resource. Always compute#targetInstance for
|
|
# target instances.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# NAT option controlling how IPs are NAT'ed to the instance. Currently only
|
|
# NO_NAT (default value) is supported.
|
|
# Corresponds to the JSON property `natPolicy`
|
|
# @return [String]
|
|
attr_accessor :nat_policy
|
|
|
|
# The URL of the network this target instance uses to forward traffic. If not
|
|
# specified, the traffic will be forwarded to the network that the default
|
|
# network interface belongs to.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# [Output Only] URL of the zone where the target instance resides. You must
|
|
# specify this field as part of the HTTP request URL. It is not settable as a
|
|
# field in the request body.
|
|
# Corresponds to the JSON property `zone`
|
|
# @return [String]
|
|
attr_accessor :zone
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@instance = args[:instance] if args.key?(:instance)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@nat_policy = args[:nat_policy] if args.key?(:nat_policy)
|
|
@network = args[:network] if args.key?(:network)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@zone = args[:zone] if args.key?(:zone)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetInstanceAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetInstance resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::TargetInstancesScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetInstanceAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetInstanceAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of TargetInstance resources.
|
|
class TargetInstanceList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetInstance resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetInstance>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetInstanceList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetInstanceList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetInstancesScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of target instances contained in this scope.
|
|
# Corresponds to the JSON property `targetInstances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetInstance>]
|
|
attr_accessor :target_instances
|
|
|
|
# Informational warning which replaces the list of addresses when the list is
|
|
# empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetInstancesScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@target_instances = args[:target_instances] if args.key?(:target_instances)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of addresses when the list is
|
|
# empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetInstancesScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Target Pool resource. Target pools are used for network TCP/UDP
|
|
# load balancing. A target pool references member instances, an associated
|
|
# legacy HttpHealthCheck resource, and, optionally, a backup target pool. For
|
|
# more information, read Using target pools.
|
|
class TargetPool
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The server-defined URL for the resource. This field is applicable only when
|
|
# the containing target pool is serving a forwarding rule as the primary pool,
|
|
# and its failoverRatio field is properly set to a value between [0, 1].
|
|
# backupPool and failoverRatio together define the fallback behavior of the
|
|
# primary target pool: if the ratio of the healthy instances in the primary pool
|
|
# is at or below failoverRatio, traffic arriving at the load-balanced IP will be
|
|
# directed to the backup pool. In case where failoverRatio and backupPool are
|
|
# not set, or all the instances in the backup pool are unhealthy, the traffic
|
|
# will be directed back to the primary pool in the "force" mode, where traffic
|
|
# will be spread to the healthy instances with the best effort, or to all
|
|
# instances when no instance is healthy.
|
|
# Corresponds to the JSON property `backupPool`
|
|
# @return [String]
|
|
attr_accessor :backup_pool
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# This field is applicable only when the containing target pool is serving a
|
|
# forwarding rule as the primary pool (i.e., not as a backup pool to some other
|
|
# target pool). The value of the field must be in [0, 1]. If set, backupPool
|
|
# must also be set. They together define the fallback behavior of the primary
|
|
# target pool: if the ratio of the healthy instances in the primary pool is at
|
|
# or below this number, traffic arriving at the load-balanced IP will be
|
|
# directed to the backup pool. In case where failoverRatio is not set or all the
|
|
# instances in the backup pool are unhealthy, the traffic will be directed back
|
|
# to the primary pool in the "force" mode, where traffic will be spread to the
|
|
# healthy instances with the best effort, or to all instances when no instance
|
|
# is healthy.
|
|
# Corresponds to the JSON property `failoverRatio`
|
|
# @return [Float]
|
|
attr_accessor :failover_ratio
|
|
|
|
# The URL of the HttpHealthCheck resource. A member instance in this pool is
|
|
# considered healthy if and only if the health checks pass. Only legacy
|
|
# HttpHealthChecks are supported. Only one health check may be specified.
|
|
# Corresponds to the JSON property `healthChecks`
|
|
# @return [Array<String>]
|
|
attr_accessor :health_checks
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# A list of resource URLs to the virtual machine instances serving this pool.
|
|
# They must live in zones contained in the same region as this pool.
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<String>]
|
|
attr_accessor :instances
|
|
|
|
# [Output Only] Type of the resource. Always compute#targetPool for target pools.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] URL of the region where the target pool resides.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Server-defined URL for this resource with the resource id.
|
|
# Corresponds to the JSON property `selfLinkWithId`
|
|
# @return [String]
|
|
attr_accessor :self_link_with_id
|
|
|
|
# Session affinity option, must be one of the following values: NONE:
|
|
# Connections from the same client IP may go to any instance in the pool.
|
|
# CLIENT_IP: Connections from the same client IP will go to the same instance in
|
|
# the pool while that instance remains healthy. CLIENT_IP_PROTO: Connections
|
|
# from the same client IP with the same IP protocol will go to the same instance
|
|
# in the pool while that instance remains healthy.
|
|
# Corresponds to the JSON property `sessionAffinity`
|
|
# @return [String]
|
|
attr_accessor :session_affinity
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@backup_pool = args[:backup_pool] if args.key?(:backup_pool)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@failover_ratio = args[:failover_ratio] if args.key?(:failover_ratio)
|
|
@health_checks = args[:health_checks] if args.key?(:health_checks)
|
|
@id = args[:id] if args.key?(:id)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id)
|
|
@session_affinity = args[:session_affinity] if args.key?(:session_affinity)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetPoolAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetPool resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::TargetPoolsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#targetPoolAggregatedList for
|
|
# aggregated lists of target pools.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetPoolAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetPoolAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetPoolInstanceHealth
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `healthStatus`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthStatus>]
|
|
attr_accessor :health_status
|
|
|
|
# [Output Only] Type of resource. Always compute#targetPoolInstanceHealth when
|
|
# checking the health of an instance.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@health_status = args[:health_status] if args.key?(:health_status)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
end
|
|
end
|
|
|
|
# Contains a list of TargetPool resources.
|
|
class TargetPoolList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetPool resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetPool>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#targetPoolList for lists of
|
|
# target pools.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetPoolList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetPoolList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetPoolsAddHealthCheckRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The HttpHealthCheck to add to the target pool.
|
|
# Corresponds to the JSON property `healthChecks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheckReference>]
|
|
attr_accessor :health_checks
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@health_checks = args[:health_checks] if args.key?(:health_checks)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetPoolsAddInstanceRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A full or partial URL to an instance to add to this target pool. This can be a
|
|
# full or partial URL. For example, the following are valid URLs: - https://www.
|
|
# googleapis.com/compute/v1/projects/project-id/zones/zone /instances/instance-
|
|
# name - projects/project-id/zones/zone/instances/instance-name - zones/zone/
|
|
# instances/instance-name
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceReference>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetPoolsRemoveHealthCheckRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Health check URL to be removed. This can be a full or valid partial URL. For
|
|
# example, the following are valid URLs: - https://www.googleapis.com/compute/
|
|
# beta/projects/project /global/httpHealthChecks/health-check - projects/project/
|
|
# global/httpHealthChecks/health-check - global/httpHealthChecks/health-check
|
|
# Corresponds to the JSON property `healthChecks`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HealthCheckReference>]
|
|
attr_accessor :health_checks
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@health_checks = args[:health_checks] if args.key?(:health_checks)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetPoolsRemoveInstanceRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# URLs of the instances to be removed from target pool.
|
|
# Corresponds to the JSON property `instances`
|
|
# @return [Array<Google::Apis::ComputeAlpha::InstanceReference>]
|
|
attr_accessor :instances
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instances = args[:instances] if args.key?(:instances)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetPoolsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of target pools contained in this scope.
|
|
# Corresponds to the JSON property `targetPools`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetPool>]
|
|
attr_accessor :target_pools
|
|
|
|
# Informational warning which replaces the list of addresses when the list is
|
|
# empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetPoolsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@target_pools = args[:target_pools] if args.key?(:target_pools)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of addresses when the list is
|
|
# empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetPoolsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `target`
|
|
# @return [String]
|
|
attr_accessor :target
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@target = args[:target] if args.key?(:target)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetSslProxiesSetBackendServiceRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the new BackendService resource for the targetSslProxy.
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@service = args[:service] if args.key?(:service)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetSslProxiesSetCertificateMapRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# URL of the Certificate Map to associate with this TargetSslProxy.
|
|
# Corresponds to the JSON property `certificateMap`
|
|
# @return [String]
|
|
attr_accessor :certificate_map
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate_map = args[:certificate_map] if args.key?(:certificate_map)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetSslProxiesSetProxyHeaderRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The new type of proxy header to append before sending data to the backend.
|
|
# NONE or PROXY_V1 are allowed.
|
|
# Corresponds to the JSON property `proxyHeader`
|
|
# @return [String]
|
|
attr_accessor :proxy_header
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@proxy_header = args[:proxy_header] if args.key?(:proxy_header)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetSslProxiesSetSslCertificatesRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# New set of URLs to SslCertificate resources to associate with this
|
|
# TargetSslProxy. At least one SSL certificate must be specified. Currently, you
|
|
# may specify up to 15 SSL certificates.
|
|
# Corresponds to the JSON property `sslCertificates`
|
|
# @return [Array<String>]
|
|
attr_accessor :ssl_certificates
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
|
|
end
|
|
end
|
|
|
|
# Represents a Target SSL Proxy resource. A target SSL proxy is a component of a
|
|
# SSL Proxy load balancer. Global forwarding rules reference a target SSL proxy,
|
|
# and the target proxy then references an external backend service. For more
|
|
# information, read Using Target Proxies.
|
|
class TargetSslProxy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# URL of a certificate map that identifies a certificate map associated with the
|
|
# given target proxy. This field can only be set for global target proxies. If
|
|
# set, sslCertificates will be ignored.
|
|
# Corresponds to the JSON property `certificateMap`
|
|
# @return [String]
|
|
attr_accessor :certificate_map
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#targetSslProxy for target
|
|
# SSL proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Specifies the type of proxy header to append before sending data to the
|
|
# backend, either NONE or PROXY_V1. The default is NONE.
|
|
# Corresponds to the JSON property `proxyHeader`
|
|
# @return [String]
|
|
attr_accessor :proxy_header
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# URL to the BackendService resource.
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
# URLs to SslCertificate resources that are used to authenticate connections to
|
|
# Backends. At least one SSL certificate must be specified. Currently, you may
|
|
# specify up to 15 SSL certificates. sslCertificates do not apply when the load
|
|
# balancing scheme is set to INTERNAL_SELF_MANAGED.
|
|
# Corresponds to the JSON property `sslCertificates`
|
|
# @return [Array<String>]
|
|
attr_accessor :ssl_certificates
|
|
|
|
# URL of SslPolicy resource that will be associated with the TargetSslProxy
|
|
# resource. If not set, the TargetSslProxy resource will not have any SSL policy
|
|
# configured.
|
|
# Corresponds to the JSON property `sslPolicy`
|
|
# @return [String]
|
|
attr_accessor :ssl_policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate_map = args[:certificate_map] if args.key?(:certificate_map)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@proxy_header = args[:proxy_header] if args.key?(:proxy_header)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@service = args[:service] if args.key?(:service)
|
|
@ssl_certificates = args[:ssl_certificates] if args.key?(:ssl_certificates)
|
|
@ssl_policy = args[:ssl_policy] if args.key?(:ssl_policy)
|
|
end
|
|
end
|
|
|
|
# Contains a list of TargetSslProxy resources.
|
|
class TargetSslProxyList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetSslProxy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetSslProxy>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetSslProxyList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetSslProxyList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetTcpProxiesSetBackendServiceRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The URL of the new BackendService resource for the targetTcpProxy.
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@service = args[:service] if args.key?(:service)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetTcpProxiesSetProxyHeaderRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The new type of proxy header to append before sending data to the backend.
|
|
# NONE or PROXY_V1 are allowed.
|
|
# Corresponds to the JSON property `proxyHeader`
|
|
# @return [String]
|
|
attr_accessor :proxy_header
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@proxy_header = args[:proxy_header] if args.key?(:proxy_header)
|
|
end
|
|
end
|
|
|
|
# Represents a Target TCP Proxy resource. A target TCP proxy is a component of a
|
|
# TCP Proxy load balancer. Global forwarding rules reference target TCP proxy,
|
|
# and the target proxy then references an external backend service. For more
|
|
# information, read TCP Proxy Load Balancing overview.
|
|
class TargetTcpProxy
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#targetTcpProxy for target
|
|
# TCP proxies.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# This field only applies when the forwarding rule that references this target
|
|
# proxy has a loadBalancingScheme set to INTERNAL_SELF_MANAGED. When this field
|
|
# is set to true, Envoy proxies set up inbound traffic interception and bind to
|
|
# the IP address and port specified in the forwarding rule. This is generally
|
|
# useful when using Traffic Director to configure Envoy as a gateway or middle
|
|
# proxy (in other words, not a sidecar proxy). The Envoy proxy listens for
|
|
# inbound requests and handles requests when it receives them. The default is
|
|
# false.
|
|
# Corresponds to the JSON property `proxyBind`
|
|
# @return [Boolean]
|
|
attr_accessor :proxy_bind
|
|
alias_method :proxy_bind?, :proxy_bind
|
|
|
|
# Specifies the type of proxy header to append before sending data to the
|
|
# backend, either NONE or PROXY_V1. The default is NONE.
|
|
# Corresponds to the JSON property `proxyHeader`
|
|
# @return [String]
|
|
attr_accessor :proxy_header
|
|
|
|
# [Output Only] URL of the region where the regional TCP proxy resides. This
|
|
# field is not applicable to global TCP proxy.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# URL to the BackendService resource.
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@proxy_bind = args[:proxy_bind] if args.key?(:proxy_bind)
|
|
@proxy_header = args[:proxy_header] if args.key?(:proxy_header)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@service = args[:service] if args.key?(:service)
|
|
end
|
|
end
|
|
|
|
# Contains a list of TargetTcpProxy resources.
|
|
class TargetTcpProxyList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetTcpProxy resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetTcpProxy>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetTcpProxyList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetTcpProxyList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Target VPN Gateway resource. The target VPN gateway resource
|
|
# represents a Classic Cloud VPN gateway. For more information, read the the
|
|
# Cloud VPN Overview.
|
|
class TargetVpnGateway
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] A list of URLs to the ForwardingRule resources. ForwardingRules
|
|
# are created using compute.forwardingRules.insert and associated with a VPN
|
|
# gateway.
|
|
# Corresponds to the JSON property `forwardingRules`
|
|
# @return [Array<String>]
|
|
attr_accessor :forwarding_rules
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN
|
|
# gateways.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this TargetVpnGateway, which is
|
|
# essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve a TargetVpnGateway.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels for this resource. These can only be added or modified by the setLabels
|
|
# method. Each label key/value pair must comply with RFC1035. Label values may
|
|
# be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# URL of the network to which this VPN gateway is attached. Provided by the
|
|
# client when the VPN gateway is created.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# [Output Only] URL of the region where the target VPN gateway resides. You must
|
|
# specify this field as part of the HTTP request URL. It is not settable as a
|
|
# field in the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] The status of the VPN gateway, which can be one of the following:
|
|
# CREATING, READY, FAILED, or DELETING.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] A list of URLs to VpnTunnel resources. VpnTunnels are created
|
|
# using the compute.vpntunnels.insert method and associated with a VPN gateway.
|
|
# Corresponds to the JSON property `tunnels`
|
|
# @return [Array<String>]
|
|
attr_accessor :tunnels
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@forwarding_rules = args[:forwarding_rules] if args.key?(:forwarding_rules)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@status = args[:status] if args.key?(:status)
|
|
@tunnels = args[:tunnels] if args.key?(:tunnels)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetVpnGatewayAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetVpnGateway resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::TargetVpnGatewaysScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN
|
|
# gateways.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetVpnGatewayAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetVpnGatewayAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of TargetVpnGateway resources.
|
|
class TargetVpnGatewayList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of TargetVpnGateway resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetVpnGateway>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#targetVpnGateway for target VPN
|
|
# gateways.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetVpnGatewayList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetVpnGatewayList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TargetVpnGatewaysScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of target VPN gateways contained in this scope.
|
|
# Corresponds to the JSON property `targetVpnGateways`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetVpnGateway>]
|
|
attr_accessor :target_vpn_gateways
|
|
|
|
# [Output Only] Informational warning which replaces the list of addresses when
|
|
# the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::TargetVpnGatewaysScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@target_vpn_gateways = args[:target_vpn_gateways] if args.key?(:target_vpn_gateways)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of addresses when
|
|
# the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TargetVpnGatewaysScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class TestFailure
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The actual output URL evaluated by a load balancer containing the scheme, host,
|
|
# path and query parameters.
|
|
# Corresponds to the JSON property `actualOutputUrl`
|
|
# @return [String]
|
|
attr_accessor :actual_output_url
|
|
|
|
# Actual HTTP status code for rule with `urlRedirect` calculated by load
|
|
# balancer
|
|
# Corresponds to the JSON property `actualRedirectResponseCode`
|
|
# @return [Fixnum]
|
|
attr_accessor :actual_redirect_response_code
|
|
|
|
# BackendService or BackendBucket returned by load balancer.
|
|
# Corresponds to the JSON property `actualService`
|
|
# @return [String]
|
|
attr_accessor :actual_service
|
|
|
|
# The expected output URL evaluated by a load balancer containing the scheme,
|
|
# host, path and query parameters.
|
|
# Corresponds to the JSON property `expectedOutputUrl`
|
|
# @return [String]
|
|
attr_accessor :expected_output_url
|
|
|
|
# Expected HTTP status code for rule with `urlRedirect` calculated by load
|
|
# balancer
|
|
# Corresponds to the JSON property `expectedRedirectResponseCode`
|
|
# @return [Fixnum]
|
|
attr_accessor :expected_redirect_response_code
|
|
|
|
# Expected BackendService or BackendBucket resource the given URL should be
|
|
# mapped to.
|
|
# Corresponds to the JSON property `expectedService`
|
|
# @return [String]
|
|
attr_accessor :expected_service
|
|
|
|
# HTTP headers of the request.
|
|
# Corresponds to the JSON property `headers`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UrlMapTestHeader>]
|
|
attr_accessor :headers
|
|
|
|
# Host portion of the URL.
|
|
# Corresponds to the JSON property `host`
|
|
# @return [String]
|
|
attr_accessor :host
|
|
|
|
# Path portion including query parameters in the URL.
|
|
# Corresponds to the JSON property `path`
|
|
# @return [String]
|
|
attr_accessor :path
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@actual_output_url = args[:actual_output_url] if args.key?(:actual_output_url)
|
|
@actual_redirect_response_code = args[:actual_redirect_response_code] if args.key?(:actual_redirect_response_code)
|
|
@actual_service = args[:actual_service] if args.key?(:actual_service)
|
|
@expected_output_url = args[:expected_output_url] if args.key?(:expected_output_url)
|
|
@expected_redirect_response_code = args[:expected_redirect_response_code] if args.key?(:expected_redirect_response_code)
|
|
@expected_service = args[:expected_service] if args.key?(:expected_service)
|
|
@headers = args[:headers] if args.key?(:headers)
|
|
@host = args[:host] if args.key?(:host)
|
|
@path = args[:path] if args.key?(:path)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TestPermissionsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The set of permissions to check for the 'resource'. Permissions with wildcards
|
|
# (such as '*' or 'storage.*') are not allowed.
|
|
# Corresponds to the JSON property `permissions`
|
|
# @return [Array<String>]
|
|
attr_accessor :permissions
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@permissions = args[:permissions] if args.key?(:permissions)
|
|
end
|
|
end
|
|
|
|
#
|
|
class TestPermissionsResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
|
|
# Corresponds to the JSON property `permissions`
|
|
# @return [Array<String>]
|
|
attr_accessor :permissions
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@permissions = args[:permissions] if args.key?(:permissions)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] Defines the mechanism to obtain the client or server certificate.
|
|
# Defines the mechanism to obtain the client or server certificate.
|
|
class TlsCertificateContext
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] The paths to the mounted TLS Certificates and private key. The
|
|
# paths to the mounted TLS Certificates and private key.
|
|
# Corresponds to the JSON property `certificatePaths`
|
|
# @return [Google::Apis::ComputeAlpha::TlsCertificatePaths]
|
|
attr_accessor :certificate_paths
|
|
|
|
# Defines how TLS certificates are obtained.
|
|
# Corresponds to the JSON property `certificateSource`
|
|
# @return [String]
|
|
attr_accessor :certificate_source
|
|
|
|
# [Deprecated] The configuration to access the SDS server. The configuration to
|
|
# access the SDS server.
|
|
# Corresponds to the JSON property `sdsConfig`
|
|
# @return [Google::Apis::ComputeAlpha::SdsConfig]
|
|
attr_accessor :sds_config
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate_paths = args[:certificate_paths] if args.key?(:certificate_paths)
|
|
@certificate_source = args[:certificate_source] if args.key?(:certificate_source)
|
|
@sds_config = args[:sds_config] if args.key?(:sds_config)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] The paths to the mounted TLS Certificates and private key. The
|
|
# paths to the mounted TLS Certificates and private key.
|
|
class TlsCertificatePaths
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The path to the file holding the client or server TLS certificate to use.
|
|
# Corresponds to the JSON property `certificatePath`
|
|
# @return [String]
|
|
attr_accessor :certificate_path
|
|
|
|
# The path to the file holding the client or server private key.
|
|
# Corresponds to the JSON property `privateKeyPath`
|
|
# @return [String]
|
|
attr_accessor :private_key_path
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate_path = args[:certificate_path] if args.key?(:certificate_path)
|
|
@private_key_path = args[:private_key_path] if args.key?(:private_key_path)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] The TLS settings for the client or server. The TLS settings for
|
|
# the client or server.
|
|
class TlsContext
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Deprecated] Defines the mechanism to obtain the client or server certificate.
|
|
# Defines the mechanism to obtain the client or server certificate.
|
|
# Corresponds to the JSON property `certificateContext`
|
|
# @return [Google::Apis::ComputeAlpha::TlsCertificateContext]
|
|
attr_accessor :certificate_context
|
|
|
|
# [Deprecated] Defines the mechanism to obtain the Certificate Authority
|
|
# certificate to validate the client/server certificate. validate the client/
|
|
# server certificate.
|
|
# Corresponds to the JSON property `validationContext`
|
|
# @return [Google::Apis::ComputeAlpha::TlsValidationContext]
|
|
attr_accessor :validation_context
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate_context = args[:certificate_context] if args.key?(:certificate_context)
|
|
@validation_context = args[:validation_context] if args.key?(:validation_context)
|
|
end
|
|
end
|
|
|
|
# [Deprecated] Defines the mechanism to obtain the Certificate Authority
|
|
# certificate to validate the client/server certificate. validate the client/
|
|
# server certificate.
|
|
class TlsValidationContext
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The path to the file holding the CA certificate to validate the client or
|
|
# server certificate.
|
|
# Corresponds to the JSON property `certificatePath`
|
|
# @return [String]
|
|
attr_accessor :certificate_path
|
|
|
|
# [Deprecated] The configuration to access the SDS server. The configuration to
|
|
# access the SDS server.
|
|
# Corresponds to the JSON property `sdsConfig`
|
|
# @return [Google::Apis::ComputeAlpha::SdsConfig]
|
|
attr_accessor :sds_config
|
|
|
|
# Defines how TLS certificates are obtained.
|
|
# Corresponds to the JSON property `validationSource`
|
|
# @return [String]
|
|
attr_accessor :validation_source
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@certificate_path = args[:certificate_path] if args.key?(:certificate_path)
|
|
@sds_config = args[:sds_config] if args.key?(:sds_config)
|
|
@validation_source = args[:validation_source] if args.key?(:validation_source)
|
|
end
|
|
end
|
|
|
|
#
|
|
class UdpHealthCheck
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The UDP port number for the health check request. Valid values are 1 through
|
|
# 65535.
|
|
# Corresponds to the JSON property `port`
|
|
# @return [Fixnum]
|
|
attr_accessor :port
|
|
|
|
# Port name as defined in InstanceGroup#NamedPort#name. If both port and
|
|
# port_name are defined, port takes precedence.
|
|
# Corresponds to the JSON property `portName`
|
|
# @return [String]
|
|
attr_accessor :port_name
|
|
|
|
# Raw data of request to send in payload of UDP packet. It is an error if this
|
|
# is empty. The request data can only be ASCII.
|
|
# Corresponds to the JSON property `request`
|
|
# @return [String]
|
|
attr_accessor :request
|
|
|
|
# The bytes to match against the beginning of the response data. It is an error
|
|
# if this is empty. The response data can only be ASCII.
|
|
# Corresponds to the JSON property `response`
|
|
# @return [String]
|
|
attr_accessor :response
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@port = args[:port] if args.key?(:port)
|
|
@port_name = args[:port_name] if args.key?(:port_name)
|
|
@request = args[:request] if args.key?(:request)
|
|
@response = args[:response] if args.key?(:response)
|
|
end
|
|
end
|
|
|
|
#
|
|
class Uint128
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `high`
|
|
# @return [Fixnum]
|
|
attr_accessor :high
|
|
|
|
#
|
|
# Corresponds to the JSON property `low`
|
|
# @return [Fixnum]
|
|
attr_accessor :low
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@high = args[:high] if args.key?(:high)
|
|
@low = args[:low] if args.key?(:low)
|
|
end
|
|
end
|
|
|
|
# Upcoming Maintenance notification information. TODO(b/196881882) Deprecate
|
|
# this proto once it's fully migrated to be under proto ResourceStatus.
|
|
# UpcomingMaintenance.
|
|
class UpcomingMaintenance
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Indicates if the maintenance can be customer triggered. From more detail, see
|
|
# go/sf-ctm-design.
|
|
# Corresponds to the JSON property `canReschedule`
|
|
# @return [Boolean]
|
|
attr_accessor :can_reschedule
|
|
alias_method :can_reschedule?, :can_reschedule
|
|
|
|
# [Output Only] The date when the maintenance will take place. This value is in
|
|
# RFC3339 text format. DEPRECATED: Use start_time_window instead.
|
|
# Corresponds to the JSON property `date`
|
|
# @return [String]
|
|
attr_accessor :date
|
|
|
|
# Represents a window of time using two timestamps: `earliest` and `latest`.
|
|
# This timestamp values are in RFC3339 text format.
|
|
# Corresponds to the JSON property `startTimeWindow`
|
|
# @return [Google::Apis::ComputeAlpha::UpcomingMaintenanceTimeWindow]
|
|
attr_accessor :start_time_window
|
|
|
|
# [Output Only] The time when the maintenance will take place. This value is in
|
|
# RFC3339 text format. DEPRECATED: Use start_time_window instead.
|
|
# Corresponds to the JSON property `time`
|
|
# @return [String]
|
|
attr_accessor :time
|
|
|
|
# Defines the type of maintenance.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
|
|
@date = args[:date] if args.key?(:date)
|
|
@start_time_window = args[:start_time_window] if args.key?(:start_time_window)
|
|
@time = args[:time] if args.key?(:time)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Represents a window of time using two timestamps: `earliest` and `latest`.
|
|
# This timestamp values are in RFC3339 text format.
|
|
class UpcomingMaintenanceTimeWindow
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `earliest`
|
|
# @return [String]
|
|
attr_accessor :earliest
|
|
|
|
#
|
|
# Corresponds to the JSON property `latest`
|
|
# @return [String]
|
|
attr_accessor :latest
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@earliest = args[:earliest] if args.key?(:earliest)
|
|
@latest = args[:latest] if args.key?(:latest)
|
|
end
|
|
end
|
|
|
|
# Represents a URL Map resource. Compute Engine has two URL Map resources: * [
|
|
# Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
|
|
# reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
|
|
# certain types of cloud load balancers and Traffic Director: * urlMaps are used
|
|
# by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
|
|
# used by internal HTTP(S) load balancers. For a list of supported URL map
|
|
# features by the load balancer type, see the Load balancing features: Routing
|
|
# and traffic management table. For a list of supported URL map features for
|
|
# Traffic Director, see the Traffic Director features: Routing and traffic
|
|
# management table. This resource defines mappings from hostnames and URL paths
|
|
# to either a backend service or a backend bucket. To use the global urlMaps
|
|
# resource, the backend service must have a loadBalancingScheme of either
|
|
# EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
|
|
# backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
|
|
# information, read URL Map Concepts.
|
|
class UrlMap
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# defaultRouteAction takes effect when none of the hostRules match. The load
|
|
# balancer performs advanced routing actions, such as URL rewrites and header
|
|
# transformations, before forwarding the request to the selected backend. If
|
|
# defaultRouteAction specifies any weightedBackendServices, defaultService must
|
|
# not be set. Conversely if defaultService is set, defaultRouteAction cannot
|
|
# contain any weightedBackendServices. Only one of defaultRouteAction or
|
|
# defaultUrlRedirect must be set. UrlMaps for external HTTP(S) load balancers
|
|
# support only the urlRewrite action within defaultRouteAction.
|
|
# defaultRouteAction has no effect when the URL map is bound to a target gRPC
|
|
# proxy that has the validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `defaultRouteAction`
|
|
# @return [Google::Apis::ComputeAlpha::HttpRouteAction]
|
|
attr_accessor :default_route_action
|
|
|
|
# The full or partial URL of the defaultService resource to which traffic is
|
|
# directed if none of the hostRules match. If defaultRouteAction is also
|
|
# specified, advanced routing actions, such as URL rewrites, take effect before
|
|
# sending the request to the backend. However, if defaultService is specified,
|
|
# defaultRouteAction cannot contain any weightedBackendServices. Conversely, if
|
|
# routeAction specifies any weightedBackendServices, service must not be
|
|
# specified. Only one of defaultService, defaultUrlRedirect , or
|
|
# defaultRouteAction.weightedBackendService must be set. defaultService has no
|
|
# effect when the URL map is bound to a target gRPC proxy that has the
|
|
# validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `defaultService`
|
|
# @return [String]
|
|
attr_accessor :default_service
|
|
|
|
# Specifies settings for an HTTP redirect.
|
|
# Corresponds to the JSON property `defaultUrlRedirect`
|
|
# @return [Google::Apis::ComputeAlpha::HttpRedirectAction]
|
|
attr_accessor :default_url_redirect
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# Fingerprint of this resource. A hash of the contents stored in this object.
|
|
# This field is used in optimistic locking. This field is ignored when inserting
|
|
# a UrlMap. An up-to-date fingerprint must be provided in order to update the
|
|
# UrlMap, otherwise the request will fail with error 412 conditionNotMet. To see
|
|
# the latest fingerprint, make a get() request to retrieve a UrlMap.
|
|
# Corresponds to the JSON property `fingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :fingerprint
|
|
|
|
# The request and response header transformations that take effect before the
|
|
# request is passed along to the selected backendService.
|
|
# Corresponds to the JSON property `headerAction`
|
|
# @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
|
|
attr_accessor :header_action
|
|
|
|
# The list of host rules to use against the URL.
|
|
# Corresponds to the JSON property `hostRules`
|
|
# @return [Array<Google::Apis::ComputeAlpha::HostRule>]
|
|
attr_accessor :host_rules
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#urlMaps for url maps.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# The list of named PathMatchers to use against the URL.
|
|
# Corresponds to the JSON property `pathMatchers`
|
|
# @return [Array<Google::Apis::ComputeAlpha::PathMatcher>]
|
|
attr_accessor :path_matchers
|
|
|
|
# [Output Only] URL of the region where the regional URL map resides. This field
|
|
# is not applicable to global URL maps. You must specify this field as part of
|
|
# the HTTP request URL. It is not settable as a field in the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# The list of expected URL mapping tests. Request to update the UrlMap succeeds
|
|
# only if all test cases pass. You can specify a maximum of 100 tests per UrlMap.
|
|
# Not supported when the URL map is bound to a target gRPC proxy that has
|
|
# validateForProxyless field set to true.
|
|
# Corresponds to the JSON property `tests`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UrlMapTest>]
|
|
attr_accessor :tests
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@default_route_action = args[:default_route_action] if args.key?(:default_route_action)
|
|
@default_service = args[:default_service] if args.key?(:default_service)
|
|
@default_url_redirect = args[:default_url_redirect] if args.key?(:default_url_redirect)
|
|
@description = args[:description] if args.key?(:description)
|
|
@fingerprint = args[:fingerprint] if args.key?(:fingerprint)
|
|
@header_action = args[:header_action] if args.key?(:header_action)
|
|
@host_rules = args[:host_rules] if args.key?(:host_rules)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@path_matchers = args[:path_matchers] if args.key?(:path_matchers)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@tests = args[:tests] if args.key?(:tests)
|
|
end
|
|
end
|
|
|
|
# Contains a list of UrlMap resources.
|
|
class UrlMapList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of UrlMap resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UrlMap>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::UrlMapList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UrlMapList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class UrlMapReference
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `urlMap`
|
|
# @return [String]
|
|
attr_accessor :url_map
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@url_map = args[:url_map] if args.key?(:url_map)
|
|
end
|
|
end
|
|
|
|
# Message for the expected URL mappings.
|
|
class UrlMapTest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The weight to use for the supplied host and path when using advanced routing
|
|
# rules that involve traffic splitting.
|
|
# Corresponds to the JSON property `backendServiceWeight`
|
|
# @return [Fixnum]
|
|
attr_accessor :backend_service_weight
|
|
|
|
# Description of this test case.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# The expected output URL evaluated by the load balancer containing the scheme,
|
|
# host, path and query parameters. For rules that forward requests to backends,
|
|
# the test passes only when expectedOutputUrl matches the request forwarded by
|
|
# the load balancer to backends. For rules with urlRewrite, the test verifies
|
|
# that the forwarded request matches hostRewrite and pathPrefixRewrite in the
|
|
# urlRewrite action. When service is specified, expectedOutputUrl`s scheme is
|
|
# ignored. For rules with urlRedirect, the test passes only if expectedOutputUrl
|
|
# matches the URL in the load balancer's redirect response. If urlRedirect
|
|
# specifies https_redirect, the test passes only if the scheme in
|
|
# expectedOutputUrl is also set to HTTPS. If urlRedirect specifies strip_query,
|
|
# the test passes only if expectedOutputUrl does not contain any query
|
|
# parameters. expectedOutputUrl is optional when service is specified.
|
|
# Corresponds to the JSON property `expectedOutputUrl`
|
|
# @return [String]
|
|
attr_accessor :expected_output_url
|
|
|
|
# For rules with urlRedirect, the test passes only if
|
|
# expectedRedirectResponseCode matches the HTTP status code in load balancer's
|
|
# redirect response. expectedRedirectResponseCode cannot be set when service is
|
|
# set.
|
|
# Corresponds to the JSON property `expectedRedirectResponseCode`
|
|
# @return [Fixnum]
|
|
attr_accessor :expected_redirect_response_code
|
|
|
|
# The expected URL that should be redirected to for the host and path being
|
|
# tested. [Deprecated] This field is deprecated. Use expected_output_url instead.
|
|
# Corresponds to the JSON property `expectedUrlRedirect`
|
|
# @return [String]
|
|
attr_accessor :expected_url_redirect
|
|
|
|
# HTTP headers for this request. If headers contains a host header, then host
|
|
# must also match the header value.
|
|
# Corresponds to the JSON property `headers`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UrlMapTestHeader>]
|
|
attr_accessor :headers
|
|
|
|
# Host portion of the URL. If headers contains a host header, then host must
|
|
# also match the header value.
|
|
# Corresponds to the JSON property `host`
|
|
# @return [String]
|
|
attr_accessor :host
|
|
|
|
# Path portion of the URL.
|
|
# Corresponds to the JSON property `path`
|
|
# @return [String]
|
|
attr_accessor :path
|
|
|
|
# Expected BackendService or BackendBucket resource the given URL should be
|
|
# mapped to. The service field cannot be set if expectedRedirectResponseCode is
|
|
# set.
|
|
# Corresponds to the JSON property `service`
|
|
# @return [String]
|
|
attr_accessor :service
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@backend_service_weight = args[:backend_service_weight] if args.key?(:backend_service_weight)
|
|
@description = args[:description] if args.key?(:description)
|
|
@expected_output_url = args[:expected_output_url] if args.key?(:expected_output_url)
|
|
@expected_redirect_response_code = args[:expected_redirect_response_code] if args.key?(:expected_redirect_response_code)
|
|
@expected_url_redirect = args[:expected_url_redirect] if args.key?(:expected_url_redirect)
|
|
@headers = args[:headers] if args.key?(:headers)
|
|
@host = args[:host] if args.key?(:host)
|
|
@path = args[:path] if args.key?(:path)
|
|
@service = args[:service] if args.key?(:service)
|
|
end
|
|
end
|
|
|
|
# HTTP headers used in UrlMapTests.
|
|
class UrlMapTestHeader
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Header name.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# Header value.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@name = args[:name] if args.key?(:name)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
|
|
# Message representing the validation result for a UrlMap.
|
|
class UrlMapValidationResult
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `loadErrors`
|
|
# @return [Array<String>]
|
|
attr_accessor :load_errors
|
|
|
|
# Whether the given UrlMap can be successfully loaded. If false, 'loadErrors'
|
|
# indicates the reasons.
|
|
# Corresponds to the JSON property `loadSucceeded`
|
|
# @return [Boolean]
|
|
attr_accessor :load_succeeded
|
|
alias_method :load_succeeded?, :load_succeeded
|
|
|
|
#
|
|
# Corresponds to the JSON property `testFailures`
|
|
# @return [Array<Google::Apis::ComputeAlpha::TestFailure>]
|
|
attr_accessor :test_failures
|
|
|
|
# If successfully loaded, this field indicates whether the test passed. If false,
|
|
# 'testFailures's indicate the reason of failure.
|
|
# Corresponds to the JSON property `testPassed`
|
|
# @return [Boolean]
|
|
attr_accessor :test_passed
|
|
alias_method :test_passed?, :test_passed
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@load_errors = args[:load_errors] if args.key?(:load_errors)
|
|
@load_succeeded = args[:load_succeeded] if args.key?(:load_succeeded)
|
|
@test_failures = args[:test_failures] if args.key?(:test_failures)
|
|
@test_passed = args[:test_passed] if args.key?(:test_passed)
|
|
end
|
|
end
|
|
|
|
#
|
|
class UrlMapsAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of UrlMapsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::UrlMapsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::UrlMapsAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UrlMapsAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class UrlMapsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of UrlMaps contained in this scope.
|
|
# Corresponds to the JSON property `urlMaps`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UrlMap>]
|
|
attr_accessor :url_maps
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::UrlMapsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@url_maps = args[:url_maps] if args.key?(:url_maps)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of backend services when the
|
|
# list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UrlMapsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class UrlMapsValidateRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Specifies the load balancer type(s) this validation request is for. Use
|
|
# EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced
|
|
# Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load
|
|
# Balancer. Other load balancer types are not supported. For more information,
|
|
# refer to Choosing a load balancer. If unspecified, the load balancing scheme
|
|
# will be inferred from the backend service resources this URL map references.
|
|
# If that can not be inferred (for example, this URL map only references backend
|
|
# buckets, or this Url map is for rewrites and redirects only and doesn't
|
|
# reference any backends), EXTERNAL will be used as the default type. If
|
|
# specified, the scheme(s) must not conflict with the load balancing scheme of
|
|
# the backend service resources this Url map references.
|
|
# Corresponds to the JSON property `loadBalancingSchemes`
|
|
# @return [Array<String>]
|
|
attr_accessor :load_balancing_schemes
|
|
|
|
# Represents a URL Map resource. Compute Engine has two URL Map resources: * [
|
|
# Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/
|
|
# reference/rest/alpha/regionUrlMaps) A URL map resource is a component of
|
|
# certain types of cloud load balancers and Traffic Director: * urlMaps are used
|
|
# by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are
|
|
# used by internal HTTP(S) load balancers. For a list of supported URL map
|
|
# features by the load balancer type, see the Load balancing features: Routing
|
|
# and traffic management table. For a list of supported URL map features for
|
|
# Traffic Director, see the Traffic Director features: Routing and traffic
|
|
# management table. This resource defines mappings from hostnames and URL paths
|
|
# to either a backend service or a backend bucket. To use the global urlMaps
|
|
# resource, the backend service must have a loadBalancingScheme of either
|
|
# EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the
|
|
# backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more
|
|
# information, read URL Map Concepts.
|
|
# Corresponds to the JSON property `resource`
|
|
# @return [Google::Apis::ComputeAlpha::UrlMap]
|
|
attr_accessor :resource
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@load_balancing_schemes = args[:load_balancing_schemes] if args.key?(:load_balancing_schemes)
|
|
@resource = args[:resource] if args.key?(:resource)
|
|
end
|
|
end
|
|
|
|
#
|
|
class UrlMapsValidateResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Message representing the validation result for a UrlMap.
|
|
# Corresponds to the JSON property `result`
|
|
# @return [Google::Apis::ComputeAlpha::UrlMapValidationResult]
|
|
attr_accessor :result
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@result = args[:result] if args.key?(:result)
|
|
end
|
|
end
|
|
|
|
# The spec for modifying the path before sending the request to the matched
|
|
# backend service.
|
|
class UrlRewrite
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Before forwarding the request to the selected service, the request's host
|
|
# header is replaced with contents of hostRewrite. The value must be from 1 to
|
|
# 255 characters.
|
|
# Corresponds to the JSON property `hostRewrite`
|
|
# @return [String]
|
|
attr_accessor :host_rewrite
|
|
|
|
# Before forwarding the request to the selected backend service, the matching
|
|
# portion of the request's path is replaced by pathPrefixRewrite. The value must
|
|
# be from 1 to 1024 characters.
|
|
# Corresponds to the JSON property `pathPrefixRewrite`
|
|
# @return [String]
|
|
attr_accessor :path_prefix_rewrite
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@host_rewrite = args[:host_rewrite] if args.key?(:host_rewrite)
|
|
@path_prefix_rewrite = args[:path_prefix_rewrite] if args.key?(:path_prefix_rewrite)
|
|
end
|
|
end
|
|
|
|
# Subnetwork which the current user has compute.subnetworks.use permission on.
|
|
class UsableSubnetwork
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The range of internal addresses that are owned by this subnetwork.
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
# Network URL.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# Secondary IP ranges.
|
|
# Corresponds to the JSON property `secondaryIpRanges`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UsableSubnetworkSecondaryRange>]
|
|
attr_accessor :secondary_ip_ranges
|
|
|
|
# Subnetwork URL.
|
|
# Corresponds to the JSON property `subnetwork`
|
|
# @return [String]
|
|
attr_accessor :subnetwork
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
@network = args[:network] if args.key?(:network)
|
|
@secondary_ip_ranges = args[:secondary_ip_ranges] if args.key?(:secondary_ip_ranges)
|
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
|
end
|
|
end
|
|
|
|
# Secondary IP range of a usable subnetwork.
|
|
class UsableSubnetworkSecondaryRange
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The range of IP addresses belonging to this subnetwork secondary range.
|
|
# Corresponds to the JSON property `ipCidrRange`
|
|
# @return [String]
|
|
attr_accessor :ip_cidr_range
|
|
|
|
# The name associated with this subnetwork secondary range, used when adding an
|
|
# alias IP range to a VM instance. The name must be 1-63 characters long, and
|
|
# comply with RFC1035. The name must be unique within the subnetwork.
|
|
# Corresponds to the JSON property `rangeName`
|
|
# @return [String]
|
|
attr_accessor :range_name
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@ip_cidr_range = args[:ip_cidr_range] if args.key?(:ip_cidr_range)
|
|
@range_name = args[:range_name] if args.key?(:range_name)
|
|
end
|
|
end
|
|
|
|
#
|
|
class UsableSubnetworksAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# [Output] A list of usable subnetwork URLs.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UsableSubnetwork>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#usableSubnetworksAggregatedList
|
|
# for aggregated lists of usable subnetworks.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results. In special cases listUsable may return 0
|
|
# subnetworks and nextPageToken which still should be used to get the next page
|
|
# of results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::UsableSubnetworksAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::UsableSubnetworksAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# The location in Cloud Storage and naming method of the daily usage report.
|
|
# Contains bucket_name and report_name prefix.
|
|
class UsageExportLocation
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The name of an existing bucket in Cloud Storage where the usage report object
|
|
# is stored. The Google Service Account is granted write access to this bucket.
|
|
# This can either be the bucket name by itself, such as example-bucket, or the
|
|
# bucket name with gs:// or https://storage.googleapis.com/ in front of it, such
|
|
# as gs://example-bucket.
|
|
# Corresponds to the JSON property `bucketName`
|
|
# @return [String]
|
|
attr_accessor :bucket_name
|
|
|
|
# An optional prefix for the name of the usage report object stored in
|
|
# bucketName. If not supplied, defaults to usage_gce. The report is stored as a
|
|
# CSV file named report_name_prefix_gce_YYYYMMDD.csv where YYYYMMDD is the day
|
|
# of the usage according to Pacific Time. If you supply a prefix, it should
|
|
# conform to Cloud Storage object naming conventions.
|
|
# Corresponds to the JSON property `reportNamePrefix`
|
|
# @return [String]
|
|
attr_accessor :report_name_prefix
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bucket_name = args[:bucket_name] if args.key?(:bucket_name)
|
|
@report_name_prefix = args[:report_name_prefix] if args.key?(:report_name_prefix)
|
|
end
|
|
end
|
|
|
|
# Contain information of Nat mapping for a VM endpoint (i.e., NIC).
|
|
class VmEndpointNatMappings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Name of the VM instance which the endpoint belongs to
|
|
# Corresponds to the JSON property `instanceName`
|
|
# @return [String]
|
|
attr_accessor :instance_name
|
|
|
|
#
|
|
# Corresponds to the JSON property `interfaceNatMappings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VmEndpointNatMappingsInterfaceNatMappings>]
|
|
attr_accessor :interface_nat_mappings
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@instance_name = args[:instance_name] if args.key?(:instance_name)
|
|
@interface_nat_mappings = args[:interface_nat_mappings] if args.key?(:interface_nat_mappings)
|
|
end
|
|
end
|
|
|
|
# Contain information of Nat mapping for an interface of this endpoint.
|
|
class VmEndpointNatMappingsInterfaceNatMappings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of all drain IP:port-range mappings assigned to this interface. These
|
|
# ranges are inclusive, that is, both the first and the last ports can be used
|
|
# for NAT. Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
|
|
# Corresponds to the JSON property `drainNatIpPortRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :drain_nat_ip_port_ranges
|
|
|
|
# A list of all IP:port-range mappings assigned to this interface. These ranges
|
|
# are inclusive, that is, both the first and the last ports can be used for NAT.
|
|
# Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
|
|
# Corresponds to the JSON property `natIpPortRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :nat_ip_port_ranges
|
|
|
|
# Total number of drain ports across all NAT IPs allocated to this interface. It
|
|
# equals to the aggregated port number in the field drain_nat_ip_port_ranges.
|
|
# Corresponds to the JSON property `numTotalDrainNatPorts`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_total_drain_nat_ports
|
|
|
|
# Total number of ports across all NAT IPs allocated to this interface. It
|
|
# equals to the aggregated port number in the field nat_ip_port_ranges.
|
|
# Corresponds to the JSON property `numTotalNatPorts`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_total_nat_ports
|
|
|
|
# Information about mappings provided by rules in this NAT.
|
|
# Corresponds to the JSON property `ruleMappings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings>]
|
|
attr_accessor :rule_mappings
|
|
|
|
# Alias IP range for this interface endpoint. It will be a private (RFC 1918) IP
|
|
# range. Examples: "10.33.4.55/32", or "192.168.5.0/24".
|
|
# Corresponds to the JSON property `sourceAliasIpRange`
|
|
# @return [String]
|
|
attr_accessor :source_alias_ip_range
|
|
|
|
# Primary IP of the VM for this NIC.
|
|
# Corresponds to the JSON property `sourceVirtualIp`
|
|
# @return [String]
|
|
attr_accessor :source_virtual_ip
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@drain_nat_ip_port_ranges = args[:drain_nat_ip_port_ranges] if args.key?(:drain_nat_ip_port_ranges)
|
|
@nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges)
|
|
@num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports)
|
|
@num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports)
|
|
@rule_mappings = args[:rule_mappings] if args.key?(:rule_mappings)
|
|
@source_alias_ip_range = args[:source_alias_ip_range] if args.key?(:source_alias_ip_range)
|
|
@source_virtual_ip = args[:source_virtual_ip] if args.key?(:source_virtual_ip)
|
|
end
|
|
end
|
|
|
|
# Contains information of NAT Mappings provided by a NAT Rule.
|
|
class VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of all drain IP:port-range mappings assigned to this interface by this
|
|
# rule. These ranges are inclusive, that is, both the first and the last ports
|
|
# can be used for NAT. Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
|
|
# Corresponds to the JSON property `drainNatIpPortRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :drain_nat_ip_port_ranges
|
|
|
|
# A list of all IP:port-range mappings assigned to this interface by this rule.
|
|
# These ranges are inclusive, that is, both the first and the last ports can be
|
|
# used for NAT. Example: ["2.2.2.2:12345-12355", "1.1.1.1:2234-2234"].
|
|
# Corresponds to the JSON property `natIpPortRanges`
|
|
# @return [Array<String>]
|
|
attr_accessor :nat_ip_port_ranges
|
|
|
|
# Total number of drain ports across all NAT IPs allocated to this interface by
|
|
# this rule. It equals the aggregated port number in the field
|
|
# drain_nat_ip_port_ranges.
|
|
# Corresponds to the JSON property `numTotalDrainNatPorts`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_total_drain_nat_ports
|
|
|
|
# Total number of ports across all NAT IPs allocated to this interface by this
|
|
# rule. It equals the aggregated port number in the field nat_ip_port_ranges.
|
|
# Corresponds to the JSON property `numTotalNatPorts`
|
|
# @return [Fixnum]
|
|
attr_accessor :num_total_nat_ports
|
|
|
|
# Rule number of the NAT Rule.
|
|
# Corresponds to the JSON property `ruleNumber`
|
|
# @return [Fixnum]
|
|
attr_accessor :rule_number
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@drain_nat_ip_port_ranges = args[:drain_nat_ip_port_ranges] if args.key?(:drain_nat_ip_port_ranges)
|
|
@nat_ip_port_ranges = args[:nat_ip_port_ranges] if args.key?(:nat_ip_port_ranges)
|
|
@num_total_drain_nat_ports = args[:num_total_drain_nat_ports] if args.key?(:num_total_drain_nat_ports)
|
|
@num_total_nat_ports = args[:num_total_nat_ports] if args.key?(:num_total_nat_ports)
|
|
@rule_number = args[:rule_number] if args.key?(:rule_number)
|
|
end
|
|
end
|
|
|
|
# Contains a list of VmEndpointNatMappings.
|
|
class VmEndpointNatMappingsList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of resource. Always compute#vmEndpointNatMappingsList for
|
|
# lists of Nat mappings of VM endpoints.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] A list of Nat mapping information of VM endpoints.
|
|
# Corresponds to the JSON property `result`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VmEndpointNatMappings>]
|
|
attr_accessor :result
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::VmEndpointNatMappingsList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@result = args[:result] if args.key?(:result)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VmEndpointNatMappingsList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a HA VPN gateway. HA VPN is a high-availability (HA) Cloud VPN
|
|
# solution that lets you securely connect your on-premises network to your
|
|
# Google Cloud Virtual Private Cloud network through an IPsec VPN connection in
|
|
# a single region. For more information about Cloud HA VPN solutions, see Cloud
|
|
# VPN topologies .
|
|
class VpnGateway
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this VpnGateway, which is
|
|
# essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve an VpnGateway.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels for this resource. These can only be added or modified by the setLabels
|
|
# method. Each label key/value pair must comply with RFC1035. Label values may
|
|
# be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# URL of the network to which this VPN gateway is attached. Provided by the
|
|
# client when the VPN gateway is created.
|
|
# Corresponds to the JSON property `network`
|
|
# @return [String]
|
|
attr_accessor :network
|
|
|
|
# [Output Only] URL of the region where the VPN gateway resides.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# The stack type for this VPN gateway to identify the IP protocols that are
|
|
# enabled. If not specified, IPV4_ONLY will be used.
|
|
# Corresponds to the JSON property `stackType`
|
|
# @return [String]
|
|
attr_accessor :stack_type
|
|
|
|
# The list of VPN interfaces associated with this VPN gateway.
|
|
# Corresponds to the JSON property `vpnInterfaces`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnGatewayVpnGatewayInterface>]
|
|
attr_accessor :vpn_interfaces
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@name = args[:name] if args.key?(:name)
|
|
@network = args[:network] if args.key?(:network)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
|
@vpn_interfaces = args[:vpn_interfaces] if args.key?(:vpn_interfaces)
|
|
end
|
|
end
|
|
|
|
#
|
|
class VpnGatewayAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of VpnGateway resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::VpnGatewaysScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::VpnGatewayAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnGatewayAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of VpnGateway resources.
|
|
class VpnGatewayList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of VpnGateway resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnGateway>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#vpnGateway for VPN gateways.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::VpnGatewayList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnGatewayList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class VpnGatewayStatus
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# List of VPN connection for this VpnGateway.
|
|
# Corresponds to the JSON property `vpnConnections`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnGatewayStatusVpnConnection>]
|
|
attr_accessor :vpn_connections
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@vpn_connections = args[:vpn_connections] if args.key?(:vpn_connections)
|
|
end
|
|
end
|
|
|
|
# Describes the high availability requirement state for the VPN connection
|
|
# between this Cloud VPN gateway and a peer gateway.
|
|
class VpnGatewayStatusHighAvailabilityRequirementState
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Indicates the high availability requirement state for the VPN connection.
|
|
# Valid values are CONNECTION_REDUNDANCY_MET, CONNECTION_REDUNDANCY_NOT_MET.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [String]
|
|
attr_accessor :state
|
|
|
|
# Indicates the reason why the VPN connection does not meet the high
|
|
# availability redundancy criteria/requirement. Valid values is
|
|
# INCOMPLETE_TUNNELS_COVERAGE.
|
|
# Corresponds to the JSON property `unsatisfiedReason`
|
|
# @return [String]
|
|
attr_accessor :unsatisfied_reason
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@state = args[:state] if args.key?(:state)
|
|
@unsatisfied_reason = args[:unsatisfied_reason] if args.key?(:unsatisfied_reason)
|
|
end
|
|
end
|
|
|
|
# Contains some information about a VPN tunnel.
|
|
class VpnGatewayStatusTunnel
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The VPN gateway interface this VPN tunnel is associated with.
|
|
# Corresponds to the JSON property `localGatewayInterface`
|
|
# @return [Fixnum]
|
|
attr_accessor :local_gateway_interface
|
|
|
|
# The peer gateway interface this VPN tunnel is connected to, the peer gateway
|
|
# could either be an external VPN gateway or GCP VPN gateway.
|
|
# Corresponds to the JSON property `peerGatewayInterface`
|
|
# @return [Fixnum]
|
|
attr_accessor :peer_gateway_interface
|
|
|
|
# URL reference to the VPN tunnel.
|
|
# Corresponds to the JSON property `tunnelUrl`
|
|
# @return [String]
|
|
attr_accessor :tunnel_url
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@local_gateway_interface = args[:local_gateway_interface] if args.key?(:local_gateway_interface)
|
|
@peer_gateway_interface = args[:peer_gateway_interface] if args.key?(:peer_gateway_interface)
|
|
@tunnel_url = args[:tunnel_url] if args.key?(:tunnel_url)
|
|
end
|
|
end
|
|
|
|
# A VPN connection contains all VPN tunnels connected from this VpnGateway to
|
|
# the same peer gateway. The peer gateway could either be a external VPN gateway
|
|
# or GCP VPN gateway.
|
|
class VpnGatewayStatusVpnConnection
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# URL reference to the peer external VPN gateways to which the VPN tunnels in
|
|
# this VPN connection are connected. This field is mutually exclusive with
|
|
# peer_gcp_gateway.
|
|
# Corresponds to the JSON property `peerExternalGateway`
|
|
# @return [String]
|
|
attr_accessor :peer_external_gateway
|
|
|
|
# URL reference to the peer side VPN gateways to which the VPN tunnels in this
|
|
# VPN connection are connected. This field is mutually exclusive with
|
|
# peer_gcp_gateway.
|
|
# Corresponds to the JSON property `peerGcpGateway`
|
|
# @return [String]
|
|
attr_accessor :peer_gcp_gateway
|
|
|
|
# Describes the high availability requirement state for the VPN connection
|
|
# between this Cloud VPN gateway and a peer gateway.
|
|
# Corresponds to the JSON property `state`
|
|
# @return [Google::Apis::ComputeAlpha::VpnGatewayStatusHighAvailabilityRequirementState]
|
|
attr_accessor :state
|
|
|
|
# List of VPN tunnels that are in this VPN connection.
|
|
# Corresponds to the JSON property `tunnels`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnGatewayStatusTunnel>]
|
|
attr_accessor :tunnels
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@peer_external_gateway = args[:peer_external_gateway] if args.key?(:peer_external_gateway)
|
|
@peer_gcp_gateway = args[:peer_gcp_gateway] if args.key?(:peer_gcp_gateway)
|
|
@state = args[:state] if args.key?(:state)
|
|
@tunnels = args[:tunnels] if args.key?(:tunnels)
|
|
end
|
|
end
|
|
|
|
# A VPN gateway interface.
|
|
class VpnGatewayVpnGatewayInterface
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Numeric identifier for this VPN interface associated with the
|
|
# VPN gateway.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# URL of the VLAN attachment (interconnectAttachment) resource for this VPN
|
|
# gateway interface. When the value of this field is present, the VPN gateway is
|
|
# used for IPsec-encrypted Cloud Interconnect; all egress or ingress traffic for
|
|
# this VPN gateway interface goes through the specified VLAN attachment resource.
|
|
# Not currently available publicly.
|
|
# Corresponds to the JSON property `interconnectAttachment`
|
|
# @return [String]
|
|
attr_accessor :interconnect_attachment
|
|
|
|
# [Output Only] IP address for this VPN interface associated with the VPN
|
|
# gateway. The IP address could be either a regional external IP address or a
|
|
# regional internal IP address. The two IP addresses for a VPN gateway must be
|
|
# all regional external or regional internal IP addresses. There cannot be a mix
|
|
# of regional external IP addresses and regional internal IP addresses. For
|
|
# IPsec-encrypted Cloud Interconnect, the IP addresses for both interfaces could
|
|
# either be regional internal IP addresses or regional external IP addresses.
|
|
# For regular (non IPsec-encrypted Cloud Interconnect) HA VPN tunnels, the IP
|
|
# address must be a regional external IP address.
|
|
# Corresponds to the JSON property `ipAddress`
|
|
# @return [String]
|
|
attr_accessor :ip_address
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@interconnect_attachment = args[:interconnect_attachment] if args.key?(:interconnect_attachment)
|
|
@ip_address = args[:ip_address] if args.key?(:ip_address)
|
|
end
|
|
end
|
|
|
|
#
|
|
class VpnGatewaysGetStatusResponse
|
|
include Google::Apis::Core::Hashable
|
|
|
|
#
|
|
# Corresponds to the JSON property `result`
|
|
# @return [Google::Apis::ComputeAlpha::VpnGatewayStatus]
|
|
attr_accessor :result
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@result = args[:result] if args.key?(:result)
|
|
end
|
|
end
|
|
|
|
#
|
|
class VpnGatewaysScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A list of VPN gateways contained in this scope.
|
|
# Corresponds to the JSON property `vpnGateways`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnGateway>]
|
|
attr_accessor :vpn_gateways
|
|
|
|
# [Output Only] Informational warning which replaces the list of addresses when
|
|
# the list is empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::VpnGatewaysScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@vpn_gateways = args[:vpn_gateways] if args.key?(:vpn_gateways)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning which replaces the list of addresses when
|
|
# the list is empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnGatewaysScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Represents a Cloud VPN Tunnel resource. For more information about VPN, read
|
|
# the the Cloud VPN Overview.
|
|
class VpnTunnel
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# An optional description of this resource. Provide this property when you
|
|
# create the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] Detailed status message for the VPN tunnel.
|
|
# Corresponds to the JSON property `detailedStatus`
|
|
# @return [String]
|
|
attr_accessor :detailed_status
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# IKE protocol version to use when establishing the VPN tunnel with the peer VPN
|
|
# gateway. Acceptable IKE versions are 1 or 2. The default version is 2.
|
|
# Corresponds to the JSON property `ikeVersion`
|
|
# @return [Fixnum]
|
|
attr_accessor :ike_version
|
|
|
|
# [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# A fingerprint for the labels being applied to this VpnTunnel, which is
|
|
# essentially a hash of the labels set used for optimistic locking. The
|
|
# fingerprint is initially generated by Compute Engine and changes after every
|
|
# request to modify or update labels. You must always provide an up-to-date
|
|
# fingerprint hash in order to update or change labels, otherwise the request
|
|
# will fail with error 412 conditionNotMet. To see the latest fingerprint, make
|
|
# a get() request to retrieve a VpnTunnel.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# Labels for this resource. These can only be added or modified by the setLabels
|
|
# method. Each label key/value pair must comply with RFC1035. Label values may
|
|
# be empty.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
# Local traffic selector to use when establishing the VPN tunnel with the peer
|
|
# VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
|
|
# 0.0/16. The ranges must be disjoint. Only IPv4 is supported.
|
|
# Corresponds to the JSON property `localTrafficSelector`
|
|
# @return [Array<String>]
|
|
attr_accessor :local_traffic_selector
|
|
|
|
# Name of the resource. Provided by the client when the resource is created. The
|
|
# name must be 1-63 characters long, and comply with RFC1035. Specifically, the
|
|
# name must be 1-63 characters long and match the regular expression `[a-z]([-a-
|
|
# z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter,
|
|
# and all following characters must be a dash, lowercase letter, or digit,
|
|
# except the last character, which cannot be a dash.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# URL of the peer side external VPN gateway to which this VPN tunnel is
|
|
# connected. Provided by the client when the VPN tunnel is created. This field
|
|
# is exclusive with the field peerGcpGateway.
|
|
# Corresponds to the JSON property `peerExternalGateway`
|
|
# @return [String]
|
|
attr_accessor :peer_external_gateway
|
|
|
|
# The interface ID of the external VPN gateway to which this VPN tunnel is
|
|
# connected. Provided by the client when the VPN tunnel is created.
|
|
# Corresponds to the JSON property `peerExternalGatewayInterface`
|
|
# @return [Fixnum]
|
|
attr_accessor :peer_external_gateway_interface
|
|
|
|
# URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected.
|
|
# Provided by the client when the VPN tunnel is created. This field can be used
|
|
# when creating highly available VPN from VPC network to VPC network, the field
|
|
# is exclusive with the field peerExternalGateway. If provided, the VPN tunnel
|
|
# will automatically use the same vpnGatewayInterface ID in the peer GCP VPN
|
|
# gateway.
|
|
# Corresponds to the JSON property `peerGcpGateway`
|
|
# @return [String]
|
|
attr_accessor :peer_gcp_gateway
|
|
|
|
# IP address of the peer VPN gateway. Only IPv4 is supported.
|
|
# Corresponds to the JSON property `peerIp`
|
|
# @return [String]
|
|
attr_accessor :peer_ip
|
|
|
|
# [Output Only] URL of the region where the VPN tunnel resides. You must specify
|
|
# this field as part of the HTTP request URL. It is not settable as a field in
|
|
# the request body.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# Remote traffic selectors to use when establishing the VPN tunnel with the peer
|
|
# VPN gateway. The value should be a CIDR formatted string, for example: 192.168.
|
|
# 0.0/16. The ranges should be disjoint. Only IPv4 is supported.
|
|
# Corresponds to the JSON property `remoteTrafficSelector`
|
|
# @return [Array<String>]
|
|
attr_accessor :remote_traffic_selector
|
|
|
|
# URL of the router resource to be used for dynamic routing.
|
|
# Corresponds to the JSON property `router`
|
|
# @return [String]
|
|
attr_accessor :router
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# Shared secret used to set the secure session between the Cloud VPN gateway and
|
|
# the peer VPN gateway.
|
|
# Corresponds to the JSON property `sharedSecret`
|
|
# @return [String]
|
|
attr_accessor :shared_secret
|
|
|
|
# Hash of the shared secret.
|
|
# Corresponds to the JSON property `sharedSecretHash`
|
|
# @return [String]
|
|
attr_accessor :shared_secret_hash
|
|
|
|
# [Output Only] The status of the VPN tunnel, which can be one of the following:
|
|
# - PROVISIONING: Resource is being allocated for the VPN tunnel. -
|
|
# WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs from the
|
|
# user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route
|
|
# resources are needed to setup the VPN tunnel. - FIRST_HANDSHAKE: Successful
|
|
# first handshake with the peer VPN. - ESTABLISHED: Secure session is
|
|
# successfully established with the peer VPN. - NETWORK_ERROR: Deprecated,
|
|
# replaced by NO_INCOMING_PACKETS - AUTHORIZATION_ERROR: Auth error (for example,
|
|
# bad shared secret). - NEGOTIATION_FAILURE: Handshake failed. - DEPROVISIONING:
|
|
# Resources are being deallocated for the VPN tunnel. - FAILED: Tunnel creation
|
|
# has failed and the tunnel is not ready to be used. - NO_INCOMING_PACKETS: No
|
|
# incoming packets from peer. - REJECTED: Tunnel configuration was rejected, can
|
|
# be result of being denied access. - ALLOCATING_RESOURCES: Cloud VPN is in the
|
|
# process of allocating all required resources. - STOPPED: Tunnel is stopped due
|
|
# to its Forwarding Rules being deleted for Classic VPN tunnels or the project
|
|
# is in frozen state. - PEER_IDENTITY_MISMATCH: Peer identity does not match
|
|
# peer IP, probably behind NAT. - TS_NARROWING_NOT_ALLOWED: Traffic selector
|
|
# narrowing not allowed for an HA-VPN tunnel.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# URL of the Target VPN gateway with which this VPN tunnel is associated.
|
|
# Provided by the client when the VPN tunnel is created.
|
|
# Corresponds to the JSON property `targetVpnGateway`
|
|
# @return [String]
|
|
attr_accessor :target_vpn_gateway
|
|
|
|
# URL of the VPN gateway with which this VPN tunnel is associated. Provided by
|
|
# the client when the VPN tunnel is created. This must be used (instead of
|
|
# target_vpn_gateway) if a High Availability VPN gateway resource is created.
|
|
# Corresponds to the JSON property `vpnGateway`
|
|
# @return [String]
|
|
attr_accessor :vpn_gateway
|
|
|
|
# The interface ID of the VPN gateway with which this VPN tunnel is associated.
|
|
# Corresponds to the JSON property `vpnGatewayInterface`
|
|
# @return [Fixnum]
|
|
attr_accessor :vpn_gateway_interface
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@description = args[:description] if args.key?(:description)
|
|
@detailed_status = args[:detailed_status] if args.key?(:detailed_status)
|
|
@id = args[:id] if args.key?(:id)
|
|
@ike_version = args[:ike_version] if args.key?(:ike_version)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
@local_traffic_selector = args[:local_traffic_selector] if args.key?(:local_traffic_selector)
|
|
@name = args[:name] if args.key?(:name)
|
|
@peer_external_gateway = args[:peer_external_gateway] if args.key?(:peer_external_gateway)
|
|
@peer_external_gateway_interface = args[:peer_external_gateway_interface] if args.key?(:peer_external_gateway_interface)
|
|
@peer_gcp_gateway = args[:peer_gcp_gateway] if args.key?(:peer_gcp_gateway)
|
|
@peer_ip = args[:peer_ip] if args.key?(:peer_ip)
|
|
@region = args[:region] if args.key?(:region)
|
|
@remote_traffic_selector = args[:remote_traffic_selector] if args.key?(:remote_traffic_selector)
|
|
@router = args[:router] if args.key?(:router)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@shared_secret = args[:shared_secret] if args.key?(:shared_secret)
|
|
@shared_secret_hash = args[:shared_secret_hash] if args.key?(:shared_secret_hash)
|
|
@status = args[:status] if args.key?(:status)
|
|
@target_vpn_gateway = args[:target_vpn_gateway] if args.key?(:target_vpn_gateway)
|
|
@vpn_gateway = args[:vpn_gateway] if args.key?(:vpn_gateway)
|
|
@vpn_gateway_interface = args[:vpn_gateway_interface] if args.key?(:vpn_gateway_interface)
|
|
end
|
|
end
|
|
|
|
#
|
|
class VpnTunnelAggregatedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of VpnTunnelsScopedList resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Hash<String,Google::Apis::ComputeAlpha::VpnTunnelsScopedList>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Unreachable resources.
|
|
# Corresponds to the JSON property `unreachables`
|
|
# @return [Array<String>]
|
|
attr_accessor :unreachables
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::VpnTunnelAggregatedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@unreachables = args[:unreachables] if args.key?(:unreachables)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnTunnelAggregatedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Contains a list of VpnTunnel resources.
|
|
class VpnTunnelList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of VpnTunnel resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnTunnel>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#vpnTunnel for VPN tunnels.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::VpnTunnelList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnTunnelList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class VpnTunnelsScopedList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of VPN tunnels contained in this scope.
|
|
# Corresponds to the JSON property `vpnTunnels`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnTunnel>]
|
|
attr_accessor :vpn_tunnels
|
|
|
|
# Informational warning which replaces the list of addresses when the list is
|
|
# empty.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::VpnTunnelsScopedList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@vpn_tunnels = args[:vpn_tunnels] if args.key?(:vpn_tunnels)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# Informational warning which replaces the list of addresses when the list is
|
|
# empty.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::VpnTunnelsScopedList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class WafExpressionSet
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# A list of alternate IDs. The format should be: - E.g. XSS-stable Generic
|
|
# suffix like "stable" is particularly useful if a policy likes to avail newer
|
|
# set of expressions without having to change the policy. A given alias name can'
|
|
# t be used for more than one entity set.
|
|
# Corresponds to the JSON property `aliases`
|
|
# @return [Array<String>]
|
|
attr_accessor :aliases
|
|
|
|
# List of available expressions.
|
|
# Corresponds to the JSON property `expressions`
|
|
# @return [Array<Google::Apis::ComputeAlpha::WafExpressionSetExpression>]
|
|
attr_accessor :expressions
|
|
|
|
# Google specified expression set ID. The format should be: - E.g. XSS-20170329
|
|
# required
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@aliases = args[:aliases] if args.key?(:aliases)
|
|
@expressions = args[:expressions] if args.key?(:expressions)
|
|
@id = args[:id] if args.key?(:id)
|
|
end
|
|
end
|
|
|
|
#
|
|
class WafExpressionSetExpression
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Expression ID should uniquely identify the origin of the expression. E.g.
|
|
# owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule
|
|
# id 973337. The ID could be used to determine the individual attack definition
|
|
# that has been detected. It could also be used to exclude it from the policy in
|
|
# case of false positive. required
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
end
|
|
end
|
|
|
|
# In contrast to a single BackendService in HttpRouteAction to which all
|
|
# matching traffic is directed to, WeightedBackendService allows traffic to be
|
|
# split across multiple backend services. The volume of traffic for each backend
|
|
# service is proportional to the weight specified in each WeightedBackendService
|
|
class WeightedBackendService
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The full or partial URL to the default BackendService resource. Before
|
|
# forwarding the request to backendService, the load balancer applies any
|
|
# relevant headerActions specified as part of this backendServiceWeight.
|
|
# Corresponds to the JSON property `backendService`
|
|
# @return [String]
|
|
attr_accessor :backend_service
|
|
|
|
# The request and response header transformations that take effect before the
|
|
# request is passed along to the selected backendService.
|
|
# Corresponds to the JSON property `headerAction`
|
|
# @return [Google::Apis::ComputeAlpha::HttpHeaderAction]
|
|
attr_accessor :header_action
|
|
|
|
# Specifies the fraction of traffic sent to a backend service, computed as
|
|
# weight / (sum of all weightedBackendService weights in routeAction) . The
|
|
# selection of a backend service is determined only for new traffic. Once a user'
|
|
# s request has been directed to a backend service, subsequent requests are sent
|
|
# to the same backend service as determined by the backend service's session
|
|
# affinity policy. The value must be from 0 to 1000.
|
|
# Corresponds to the JSON property `weight`
|
|
# @return [Fixnum]
|
|
attr_accessor :weight
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@backend_service = args[:backend_service] if args.key?(:backend_service)
|
|
@header_action = args[:header_action] if args.key?(:header_action)
|
|
@weight = args[:weight] if args.key?(:weight)
|
|
end
|
|
end
|
|
|
|
#
|
|
class XpnHostList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] A list of shared VPC host project URLs.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Project>]
|
|
attr_accessor :items
|
|
|
|
# [Output Only] Type of resource. Always compute#xpnHostList for lists of shared
|
|
# VPC hosts.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::XpnHostList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::XpnHostList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
# Service resource (a.k.a service project) ID.
|
|
class XpnResourceId
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The ID of the service resource. In the case of projects, this field supports
|
|
# project id (e.g., my-project-123) and project number (e.g. 12345678).
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# The type of the service resource.
|
|
# Corresponds to the JSON property `type`
|
|
# @return [String]
|
|
attr_accessor :type
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@type = args[:type] if args.key?(:type)
|
|
end
|
|
end
|
|
|
|
# Represents a Zone resource. A zone is a deployment area. These deployment
|
|
# areas are subsets of a region. For example the zone us-east1-a is located in
|
|
# the us-east1 region. For more information, read Regions and Zones.
|
|
class Zone
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Available cpu/platform selections for the zone.
|
|
# Corresponds to the JSON property `availableCpuPlatforms`
|
|
# @return [Array<String>]
|
|
attr_accessor :available_cpu_platforms
|
|
|
|
# [Output Only] Creation timestamp in RFC3339 text format.
|
|
# Corresponds to the JSON property `creationTimestamp`
|
|
# @return [String]
|
|
attr_accessor :creation_timestamp
|
|
|
|
# Deprecation status for a public resource.
|
|
# Corresponds to the JSON property `deprecated`
|
|
# @return [Google::Apis::ComputeAlpha::DeprecationStatus]
|
|
attr_accessor :deprecated
|
|
|
|
# [Output Only] Textual description of the resource.
|
|
# Corresponds to the JSON property `description`
|
|
# @return [String]
|
|
attr_accessor :description
|
|
|
|
# [Output Only] The unique identifier for the resource. This identifier is
|
|
# defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [Fixnum]
|
|
attr_accessor :id
|
|
|
|
# [Output Only] Type of the resource. Always compute#zone for zones.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] Name of the resource.
|
|
# Corresponds to the JSON property `name`
|
|
# @return [String]
|
|
attr_accessor :name
|
|
|
|
# [Output Only] Full URL reference to the region which hosts the zone.
|
|
# Corresponds to the JSON property `region`
|
|
# @return [String]
|
|
attr_accessor :region
|
|
|
|
# [Output Only] Server-defined URL for the resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Status of the zone, either UP or DOWN.
|
|
# Corresponds to the JSON property `status`
|
|
# @return [String]
|
|
attr_accessor :status
|
|
|
|
# [Output Only] Reserved for future use.
|
|
# Corresponds to the JSON property `supportsPzs`
|
|
# @return [Boolean]
|
|
attr_accessor :supports_pzs
|
|
alias_method :supports_pzs?, :supports_pzs
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@available_cpu_platforms = args[:available_cpu_platforms] if args.key?(:available_cpu_platforms)
|
|
@creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
|
|
@deprecated = args[:deprecated] if args.key?(:deprecated)
|
|
@description = args[:description] if args.key?(:description)
|
|
@id = args[:id] if args.key?(:id)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@name = args[:name] if args.key?(:name)
|
|
@region = args[:region] if args.key?(:region)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@status = args[:status] if args.key?(:status)
|
|
@supports_pzs = args[:supports_pzs] if args.key?(:supports_pzs)
|
|
end
|
|
end
|
|
|
|
# Contains a list of zone resources.
|
|
class ZoneList
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] Unique identifier for the resource; defined by the server.
|
|
# Corresponds to the JSON property `id`
|
|
# @return [String]
|
|
attr_accessor :id
|
|
|
|
# A list of Zone resources.
|
|
# Corresponds to the JSON property `items`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Zone>]
|
|
attr_accessor :items
|
|
|
|
# Type of resource.
|
|
# Corresponds to the JSON property `kind`
|
|
# @return [String]
|
|
attr_accessor :kind
|
|
|
|
# [Output Only] This token allows you to get the next page of results for list
|
|
# requests. If the number of results is larger than maxResults, use the
|
|
# nextPageToken as a value for the query parameter pageToken in the next list
|
|
# request. Subsequent list requests will have their own nextPageToken to
|
|
# continue paging through the results.
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
# @return [String]
|
|
attr_accessor :next_page_token
|
|
|
|
# [Output Only] Server-defined URL for this resource.
|
|
# Corresponds to the JSON property `selfLink`
|
|
# @return [String]
|
|
attr_accessor :self_link
|
|
|
|
# [Output Only] Informational warning message.
|
|
# Corresponds to the JSON property `warning`
|
|
# @return [Google::Apis::ComputeAlpha::ZoneList::Warning]
|
|
attr_accessor :warning
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@id = args[:id] if args.key?(:id)
|
|
@items = args[:items] if args.key?(:items)
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
@self_link = args[:self_link] if args.key?(:self_link)
|
|
@warning = args[:warning] if args.key?(:warning)
|
|
end
|
|
|
|
# [Output Only] Informational warning message.
|
|
class Warning
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A warning code, if applicable. For example, Compute Engine
|
|
# returns NO_RESULTS_ON_PAGE if there are no results in the response.
|
|
# Corresponds to the JSON property `code`
|
|
# @return [String]
|
|
attr_accessor :code
|
|
|
|
# [Output Only] Metadata about this warning in key: value format. For example: "
|
|
# data": [ ` "key": "scope", "value": "zones/us-east1-d" `
|
|
# Corresponds to the JSON property `data`
|
|
# @return [Array<Google::Apis::ComputeAlpha::ZoneList::Warning::Datum>]
|
|
attr_accessor :data
|
|
|
|
# [Output Only] A human-readable description of the warning code.
|
|
# Corresponds to the JSON property `message`
|
|
# @return [String]
|
|
attr_accessor :message
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@code = args[:code] if args.key?(:code)
|
|
@data = args[:data] if args.key?(:data)
|
|
@message = args[:message] if args.key?(:message)
|
|
end
|
|
|
|
#
|
|
class Datum
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# [Output Only] A key that provides more detail on the warning being returned.
|
|
# For example, for warnings where there are no results in a list request for a
|
|
# particular zone, this key might be scope and the key value might be the zone
|
|
# name. Other examples might be a key indicating a deprecated resource and a
|
|
# suggested replacement, or a warning about invalid network settings (for
|
|
# example, if an instance attempts to perform IP forwarding but is not enabled
|
|
# for IP forwarding).
|
|
# Corresponds to the JSON property `key`
|
|
# @return [String]
|
|
attr_accessor :key
|
|
|
|
# [Output Only] A warning data value corresponding to the key.
|
|
# Corresponds to the JSON property `value`
|
|
# @return [String]
|
|
attr_accessor :value
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@key = args[:key] if args.key?(:key)
|
|
@value = args[:value] if args.key?(:value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
#
|
|
class ZoneSetLabelsRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# The fingerprint of the previous set of labels for this resource, used to
|
|
# detect conflicts. The fingerprint is initially generated by Compute Engine and
|
|
# changes after every request to modify or update labels. You must always
|
|
# provide an up-to-date fingerprint hash in order to update or change labels.
|
|
# Make a get() request to the resource to get the latest fingerprint.
|
|
# Corresponds to the JSON property `labelFingerprint`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :label_fingerprint
|
|
|
|
# The labels to set for this resource.
|
|
# Corresponds to the JSON property `labels`
|
|
# @return [Hash<String,String>]
|
|
attr_accessor :labels
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint)
|
|
@labels = args[:labels] if args.key?(:labels)
|
|
end
|
|
end
|
|
|
|
#
|
|
class ZoneSetPolicyRequest
|
|
include Google::Apis::Core::Hashable
|
|
|
|
# Flatten Policy to create a backwacd compatible wire-format. Deprecated. Use '
|
|
# policy' to specify bindings.
|
|
# Corresponds to the JSON property `bindings`
|
|
# @return [Array<Google::Apis::ComputeAlpha::Binding>]
|
|
attr_accessor :bindings
|
|
|
|
# Flatten Policy to create a backward compatible wire-format. Deprecated. Use '
|
|
# policy' to specify the etag.
|
|
# Corresponds to the JSON property `etag`
|
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
|
# @return [String]
|
|
attr_accessor :etag
|
|
|
|
# An Identity and Access Management (IAM) policy, which specifies access
|
|
# controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
|
|
# A `binding` binds one or more `members`, or principals, to a single `role`.
|
|
# Principals can be user accounts, service accounts, Google groups, and domains (
|
|
# such as G Suite). A `role` is a named list of permissions; each `role` can be
|
|
# an IAM predefined role or a user-created custom role. For some types of Google
|
|
# Cloud resources, a `binding` can also specify a `condition`, which is a
|
|
# logical expression that allows access to a resource only if the expression
|
|
# evaluates to `true`. A condition can add constraints based on attributes of
|
|
# the request, the resource, or both. To learn which resources support
|
|
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
|
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
|
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
|
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
|
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
|
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
|
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
|
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
|
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
|
|
# bindings: - members: - user:mike@example.com - group:admins@example.com -
|
|
# domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
|
# role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
|
|
# com role: roles/resourcemanager.organizationViewer condition: title: expirable
|
|
# access description: Does not grant access after Sep 2020 expression: request.
|
|
# time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
|
|
# a description of IAM and its features, see the [IAM documentation](https://
|
|
# cloud.google.com/iam/docs/).
|
|
# Corresponds to the JSON property `policy`
|
|
# @return [Google::Apis::ComputeAlpha::Policy]
|
|
attr_accessor :policy
|
|
|
|
def initialize(**args)
|
|
update!(**args)
|
|
end
|
|
|
|
# Update properties of this object
|
|
def update!(**args)
|
|
@bindings = args[:bindings] if args.key?(:bindings)
|
|
@etag = args[:etag] if args.key?(:etag)
|
|
@policy = args[:policy] if args.key?(:policy)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|