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
LINT.IfChange 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.
34231 34232 34233 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34231 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
33962 33963 33964 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33962 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
33988 33989 33990 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33988 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
34001 34002 34003 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34001 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
34014 34015 34016 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34014 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
34020 34021 34022 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34020 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
34026 34027 34028 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34026 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
34031 34032 34033 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34031 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
34043 34044 34045 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34043 def candidate_subnets @candidate_subnets end |
#cloud_router_ipv6_interface_id ⇒ String
This field is not available.
Corresponds to the JSON property cloudRouterIpv6InterfaceId
34048 34049 34050 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34048 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
34053 34054 34055 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34053 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
34058 34059 34060 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34058 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
34074 34075 34076 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34074 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
34092 34093 34094 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34092 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
34098 34099 34100 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34098 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
34116 34117 34118 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34116 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
34121 34122 34123 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34121 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
34128 34129 34130 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34128 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
34134 34135 34136 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34134 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
34147 34148 34149 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34147 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
34156 34157 34158 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34156 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
34164 34165 34166 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34164 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
34171 34172 34173 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34171 def @partner_metadata end |
#region ⇒ String
The region that the Attachment is in.
Corresponds to the JSON property region
34176 34177 34178 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34176 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
34184 34185 34186 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34184 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
34193 34194 34195 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34193 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
34211 34212 34213 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34211 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
34223 34224 34225 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34223 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
34229 34230 34231 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34229 def vlan_tag8021q @vlan_tag8021q end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
34236 34237 34238 34239 34240 34241 34242 34243 34244 34245 34246 34247 34248 34249 34250 34251 34252 34253 34254 34255 34256 34257 34258 34259 34260 34261 34262 34263 34264 34265 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34236 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 |