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.
36555 36556 36557 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36555 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
36286 36287 36288 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36286 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
36312 36313 36314 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36312 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
36325 36326 36327 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36325 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
36338 36339 36340 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36338 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
36344 36345 36346 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36344 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
36350 36351 36352 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36350 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
36355 36356 36357 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36355 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
36367 36368 36369 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36367 def candidate_subnets @candidate_subnets end |
#cloud_router_ipv6_interface_id ⇒ String
This field is not available.
Corresponds to the JSON property cloudRouterIpv6InterfaceId
36372 36373 36374 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36372 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
36377 36378 36379 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36377 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
36382 36383 36384 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36382 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
36398 36399 36400 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36398 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
36416 36417 36418 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36416 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
36422 36423 36424 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36422 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
36440 36441 36442 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36440 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
36445 36446 36447 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36445 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
36452 36453 36454 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36452 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
36458 36459 36460 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36458 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
36471 36472 36473 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36471 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
36480 36481 36482 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36480 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
36488 36489 36490 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36488 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
36495 36496 36497 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36495 def @partner_metadata end |
#region ⇒ String
The region that the Attachment is in.
Corresponds to the JSON property region
36500 36501 36502 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36500 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
36508 36509 36510 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36508 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
36517 36518 36519 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36517 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
36535 36536 36537 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36535 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
36547 36548 36549 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36547 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
36553 36554 36555 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36553 def vlan_tag8021q @vlan_tag8021q end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
36560 36561 36562 36563 36564 36565 36566 36567 36568 36569 36570 36571 36572 36573 36574 36575 36576 36577 36578 36579 36580 36581 36582 36583 36584 36585 36586 36587 36588 36589 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 36560 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 |