Class: Google::Apis::ComputeAlpha::InterconnectAttachmentGroupsCreateMembersInterconnectAttachmentInput
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::InterconnectAttachmentGroupsCreateMembersInterconnectAttachmentInput
- Includes:
- Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
- Defined in:
- lib/google/apis/compute_alpha/classes.rb,
lib/google/apis/compute_alpha/representations.rb,
lib/google/apis/compute_alpha/representations.rb
Overview
Parameters used to create an InterconnectAttachment. This is similar to InterconnectAttachment, but the region field used here is not output only and all other output only fields are excluded.
Instance Attribute Summary collapse
-
#admin_enabled ⇒ Boolean
(also: #admin_enabled?)
Determines whether this Attachment will carry packets.
-
#bandwidth ⇒ String
Provisioned bandwidth capacity for the interconnect attachment.
-
#candidate_cloud_router_ip_address ⇒ String
Single IPv4 address + prefix length to be configured on the cloud router interface for this interconnect attachment.
-
#candidate_cloud_router_ipv6_address ⇒ String
Single IPv6 address + prefix length to be configured on the cloud router interface for this interconnect attachment.
-
#candidate_customer_router_ip_address ⇒ String
Single IPv4 address + prefix length to be configured on the customer router interface for this interconnect attachment.
-
#candidate_customer_router_ipv6_address ⇒ String
Single IPv6 address + prefix length to be configured on the customer router interface for this interconnect attachment.
-
#candidate_ipv6_subnets ⇒ Array<String>
This field is not available.
-
#candidate_subnets ⇒ Array<String>
Input only.
-
#cloud_router_ipv6_interface_id ⇒ String
This field is not available.
-
#customer_router_ipv6_interface_id ⇒ String
This field is not available.
-
#description ⇒ String
An optional description of this resource.
-
#edge_availability_domain ⇒ String
Input only.
-
#encryption ⇒ String
Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment).
-
#interconnect ⇒ String
URL of the underlying Interconnect object that this attachment's traffic will traverse through.
-
#ipsec_internal_addresses ⇒ Array<String>
A list of URLs of addresses that have been reserved for the VLAN attachment.
-
#l2_forwarding ⇒ Google::Apis::ComputeAlpha::InterconnectAttachmentL2Forwarding
L2 Interconnect Attachment related configuration.
-
#mtu ⇒ Fixnum
Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment.
-
#multicast_enabled ⇒ Boolean
(also: #multicast_enabled?)
Whether or not to permit multicast traffic for this attachment.
-
#name ⇒ String
Name of the resource.
-
#pairing_key ⇒ String
[Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED].
-
#partner_asn ⇒ Fixnum
Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer.
-
#partner_metadata ⇒ Google::Apis::ComputeAlpha::InterconnectAttachmentPartnerMetadata
Informational metadata about Partner attachments from Partners to display to customers.
-
#region ⇒ String
The region that the Attachment is in.
-
#router ⇒ String
URL of the Cloud Router to be used for dynamic routing.
-
#stack_type ⇒ String
The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not.
-
#subnet_length ⇒ Fixnum
Input only.
-
#type ⇒ String
The type of interconnect attachment this is, which can take one of the following values:.
-
#vlan_tag8021q ⇒ Fixnum
The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093.
Instance Method Summary collapse
-
#initialize(**args) ⇒ InterconnectAttachmentGroupsCreateMembersInterconnectAttachmentInput
constructor
A new instance of InterconnectAttachmentGroupsCreateMembersInterconnectAttachmentInput.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ InterconnectAttachmentGroupsCreateMembersInterconnectAttachmentInput
Returns a new instance of InterconnectAttachmentGroupsCreateMembersInterconnectAttachmentInput.
36331 36332 36333 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36331 def initialize(**args) update!(**args) end |
Instance Attribute Details
#admin_enabled ⇒ Boolean Also known as: admin_enabled?
Determines whether this Attachment will carry packets.
Not present for PARTNER_PROVIDER.
Corresponds to the JSON property adminEnabled
36062 36063 36064 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36062 def admin_enabled @admin_enabled end |
#bandwidth ⇒ String
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
- BPS_100G: 100 Gbit/s
- BPS_400G: 400 Gbit/s
Corresponds to the JSON property
bandwidth
36088 36089 36090 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36088 def bandwidth @bandwidth end |
#candidate_cloud_router_ip_address ⇒ String
Single IPv4 address + prefix length to be configured on the cloud router interface for this interconnect attachment.
- Both candidate_cloud_router_ip_address and candidate_customer_router_ip_address fields must be set or both must be unset.
- Prefix length of both candidate_cloud_router_ip_address and candidate_customer_router_ip_address must be the same.
- Max prefix length is 31.
Corresponds to the JSON property
candidateCloudRouterIpAddress
36101 36102 36103 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36101 def candidate_cloud_router_ip_address @candidate_cloud_router_ip_address end |
#candidate_cloud_router_ipv6_address ⇒ String
Single IPv6 address + prefix length to be configured on the cloud router interface for this interconnect attachment.
- Both candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address fields must be set or both must be unset.
- Prefix length of both candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address must be the same.
- Max prefix length is 126.
Corresponds to the JSON property
candidateCloudRouterIpv6Address
36114 36115 36116 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36114 def candidate_cloud_router_ipv6_address @candidate_cloud_router_ipv6_address end |
#candidate_customer_router_ip_address ⇒ String
Single IPv4 address + prefix length to be configured on the customer
router interface for this interconnect attachment.
Corresponds to the JSON property candidateCustomerRouterIpAddress
36120 36121 36122 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36120 def candidate_customer_router_ip_address @candidate_customer_router_ip_address end |
#candidate_customer_router_ipv6_address ⇒ String
Single IPv6 address + prefix length to be configured on the customer
router interface for this interconnect attachment.
Corresponds to the JSON property candidateCustomerRouterIpv6Address
36126 36127 36128 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36126 def candidate_customer_router_ipv6_address @candidate_customer_router_ipv6_address end |
#candidate_ipv6_subnets ⇒ Array<String>
This field is not available.
Corresponds to the JSON property candidateIpv6Subnets
36131 36132 36133 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36131 def candidate_ipv6_subnets @candidate_ipv6_subnets end |
#candidate_subnets ⇒ Array<String>
Input only. 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
36143 36144 36145 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36143 def candidate_subnets @candidate_subnets end |
#cloud_router_ipv6_interface_id ⇒ String
This field is not available.
Corresponds to the JSON property cloudRouterIpv6InterfaceId
36148 36149 36150 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36148 def cloud_router_ipv6_interface_id @cloud_router_ipv6_interface_id end |
#customer_router_ipv6_interface_id ⇒ String
This field is not available.
Corresponds to the JSON property customerRouterIpv6InterfaceId
36153 36154 36155 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36153 def customer_router_ipv6_interface_id @customer_router_ipv6_interface_id end |
#description ⇒ String
An optional description of this resource.
Corresponds to the JSON property description
36158 36159 36160 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36158 def description @description end |
#edge_availability_domain ⇒ String
Input only. 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
36174 36175 36176 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36174 def edge_availability_domain @edge_availability_domain end |
#encryption ⇒ String
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:
- alpha - 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 HA VPN over Cloud
Interconnect, the VLAN attachment must be created with this
option.
Corresponds to the JSON property
encryption
36192 36193 36194 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36192 def encryption @encryption end |
#interconnect ⇒ String
URL of the underlying Interconnect object that this attachment's traffic
will traverse through.
Corresponds to the JSON property interconnect
36198 36199 36200 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36198 def interconnect @interconnect end |
#ipsec_internal_addresses ⇒ Array<String>
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.
Corresponds to the JSON property ipsecInternalAddresses
36216 36217 36218 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36216 def ipsec_internal_addresses @ipsec_internal_addresses end |
#l2_forwarding ⇒ Google::Apis::ComputeAlpha::InterconnectAttachmentL2Forwarding
L2 Interconnect Attachment related configuration.
Corresponds to the JSON property l2Forwarding
36221 36222 36223 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36221 def l2_forwarding @l2_forwarding end |
#mtu ⇒ Fixnum
Maximum Transmission Unit (MTU), in bytes, of packets passing through
this interconnect attachment. Valid values are 1440, 1460,
1500, or 8896. If not specified, the value will default to 1440.
Corresponds to the JSON property mtu
36228 36229 36230 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36228 def mtu @mtu end |
#multicast_enabled ⇒ Boolean Also known as: multicast_enabled?
Whether or not to permit multicast traffic for this attachment. Multicast
packets will be dropped if this is not enabled.
Corresponds to the JSON property multicastEnabled
36234 36235 36236 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36234 def multicast_enabled @multicast_enabled end |
#name ⇒ String
Name of the resource. Provided by the client when the resource is
created. Must be set on either the template_attachment or on each
specific attachment. If set, 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
36247 36248 36249 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36247 def name @name end |
#pairing_key ⇒ String
[Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not
present for DEDICATED].
The opaque identifier of a PARTNER attachment used to initiate
provisioning with a selected partner.
Of the form "XXXXX/region/domain"
Corresponds to the JSON property pairingKey
36256 36257 36258 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36256 def pairing_key @pairing_key end |
#partner_asn ⇒ Fixnum
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
36264 36265 36266 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36264 def partner_asn @partner_asn end |
#partner_metadata ⇒ Google::Apis::ComputeAlpha::InterconnectAttachmentPartnerMetadata
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
36271 36272 36273 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36271 def @partner_metadata end |
#region ⇒ String
The region that the Attachment is in.
Corresponds to the JSON property region
36276 36277 36278 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36276 def region @region end |
#router ⇒ String
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
36284 36285 36286 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36284 def router @router end |
#stack_type ⇒ String
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
36293 36294 36295 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36293 def stack_type @stack_type end |
#subnet_length ⇒ Fixnum
Input only. Length of the IPv4 subnet mask. Allowed values:
- 29 (default)
- 30
The default value is 29, except for Cross-Cloud Interconnect
connections that use an InterconnectRemoteLocation with a
constraints.subnetLengthRange.min equal to 30. For example,
connections that use an Azure remote location fall into this
category. In these cases, the default value is 30, and requesting
29 returns an error.
Where both 29 and 30 are allowed, 29 is preferred, because it gives
Google Cloud Support more debugging visibility.
Corresponds to the JSON property
subnetLength
36311 36312 36313 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36311 def subnet_length @subnet_length end |
#type ⇒ String
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
36323 36324 36325 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36323 def type @type end |
#vlan_tag8021q ⇒ Fixnum
The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093.
Only specified at creation time.
Corresponds to the JSON property vlanTag8021q
36329 36330 36331 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36329 def vlan_tag8021q @vlan_tag8021q end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
36336 36337 36338 36339 36340 36341 36342 36343 36344 36345 36346 36347 36348 36349 36350 36351 36352 36353 36354 36355 36356 36357 36358 36359 36360 36361 36362 36363 36364 36365 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36336 def update!(**args) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @bandwidth = args[:bandwidth] if args.key?(:bandwidth) @candidate_cloud_router_ip_address = args[:candidate_cloud_router_ip_address] if args.key?(:candidate_cloud_router_ip_address) @candidate_cloud_router_ipv6_address = args[:candidate_cloud_router_ipv6_address] if args.key?(:candidate_cloud_router_ipv6_address) @candidate_customer_router_ip_address = args[:candidate_customer_router_ip_address] if args.key?(:candidate_customer_router_ip_address) @candidate_customer_router_ipv6_address = args[:candidate_customer_router_ipv6_address] if args.key?(:candidate_customer_router_ipv6_address) @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_ipv6_interface_id = args[:cloud_router_ipv6_interface_id] if args.key?(:cloud_router_ipv6_interface_id) @customer_router_ipv6_interface_id = args[:customer_router_ipv6_interface_id] if args.key?(:customer_router_ipv6_interface_id) @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) @interconnect = args[:interconnect] if args.key?(:interconnect) @ipsec_internal_addresses = args[:ipsec_internal_addresses] if args.key?(:ipsec_internal_addresses) @l2_forwarding = args[:l2_forwarding] if args.key?(:l2_forwarding) @mtu = args[:mtu] if args.key?(:mtu) @multicast_enabled = args[:multicast_enabled] if args.key?(:multicast_enabled) @name = args[:name] if args.key?(:name) @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) @region = args[:region] if args.key?(:region) @router = args[:router] if args.key?(:router) @stack_type = args[:stack_type] if args.key?(:stack_type) @subnet_length = args[:subnet_length] if args.key?(:subnet_length) @type = args[:type] if args.key?(:type) @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q) end |