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.
35086 35087 35088 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35086 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
34817 34818 34819 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34817 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
34843 34844 34845 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34843 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
34856 34857 34858 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34856 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
34869 34870 34871 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34869 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
34875 34876 34877 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34875 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
34881 34882 34883 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34881 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
34886 34887 34888 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34886 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
34898 34899 34900 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34898 def candidate_subnets @candidate_subnets end |
#cloud_router_ipv6_interface_id ⇒ String
This field is not available.
Corresponds to the JSON property cloudRouterIpv6InterfaceId
34903 34904 34905 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34903 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
34908 34909 34910 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34908 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
34913 34914 34915 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34913 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
34929 34930 34931 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34929 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
34947 34948 34949 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34947 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
34953 34954 34955 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34953 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
34971 34972 34973 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34971 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
34976 34977 34978 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34976 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
34983 34984 34985 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34983 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
34989 34990 34991 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 34989 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
35002 35003 35004 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35002 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
35011 35012 35013 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35011 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
35019 35020 35021 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35019 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
35026 35027 35028 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35026 def @partner_metadata end |
#region ⇒ String
The region that the Attachment is in.
Corresponds to the JSON property region
35031 35032 35033 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35031 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
35039 35040 35041 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35039 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
35048 35049 35050 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35048 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
35066 35067 35068 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35066 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
35078 35079 35080 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35078 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
35084 35085 35086 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35084 def vlan_tag8021q @vlan_tag8021q end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
35091 35092 35093 35094 35095 35096 35097 35098 35099 35100 35101 35102 35103 35104 35105 35106 35107 35108 35109 35110 35111 35112 35113 35114 35115 35116 35117 35118 35119 35120 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 35091 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 |