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.
35300 35301 35302 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35300 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
35031 35032 35033 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35031 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
35057 35058 35059 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35057 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
35070 35071 35072 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35070 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
35083 35084 35085 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35083 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
35089 35090 35091 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35089 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
35095 35096 35097 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35095 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
35100 35101 35102 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35100 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
35112 35113 35114 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35112 def candidate_subnets @candidate_subnets end |
#cloud_router_ipv6_interface_id ⇒ String
This field is not available.
Corresponds to the JSON property cloudRouterIpv6InterfaceId
35117 35118 35119 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35117 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
35122 35123 35124 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35122 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
35127 35128 35129 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35127 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
35143 35144 35145 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35143 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
35161 35162 35163 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35161 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
35167 35168 35169 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35167 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
35185 35186 35187 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35185 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
35190 35191 35192 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35190 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
35197 35198 35199 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35197 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
35203 35204 35205 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35203 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
35216 35217 35218 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35216 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
35225 35226 35227 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35225 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
35233 35234 35235 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35233 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
35240 35241 35242 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35240 def @partner_metadata end |
#region ⇒ String
The region that the Attachment is in.
Corresponds to the JSON property region
35245 35246 35247 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35245 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
35253 35254 35255 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35253 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
35262 35263 35264 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35262 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
35280 35281 35282 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35280 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
35292 35293 35294 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35292 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
35298 35299 35300 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35298 def vlan_tag8021q @vlan_tag8021q end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
35305 35306 35307 35308 35309 35310 35311 35312 35313 35314 35315 35316 35317 35318 35319 35320 35321 35322 35323 35324 35325 35326 35327 35328 35329 35330 35331 35332 35333 35334 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35305 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 |