Class: Google::Apis::ComputeV1::InterconnectAttachment

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/compute_v1/classes.rb,
generated/google/apis/compute_v1/representations.rb,
generated/google/apis/compute_v1/representations.rb

Overview

Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments. (== resource_for beta. interconnectAttachments ==) (== resource_for v1.interconnectAttachments ==)

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ InterconnectAttachment

Returns a new instance of InterconnectAttachment



12443
12444
12445
# File 'generated/google/apis/compute_v1/classes.rb', line 12443

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#admin_enabledBoolean Also known as: admin_enabled?

Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER. Corresponds to the JSON property adminEnabled

Returns:

  • (Boolean)


12242
12243
12244
# File 'generated/google/apis/compute_v1/classes.rb', line 12242

def admin_enabled
  @admin_enabled
end

#bandwidthString

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 Corresponds to the JSON property bandwidth

Returns:

  • (String)


12264
12265
12266
# File 'generated/google/apis/compute_v1/classes.rb', line 12264

def bandwidth
  @bandwidth
end

#candidate_subnetsArray<String>

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

Returns:

  • (Array<String>)


12275
12276
12277
# File 'generated/google/apis/compute_v1/classes.rb', line 12275

def candidate_subnets
  @candidate_subnets
end

#cloud_router_ip_addressString

[Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment. Corresponds to the JSON property cloudRouterIpAddress

Returns:

  • (String)


12281
12282
12283
# File 'generated/google/apis/compute_v1/classes.rb', line 12281

def cloud_router_ip_address
  @cloud_router_ip_address
end

#creation_timestampString

[Output Only] Creation timestamp in RFC3339 text format. Corresponds to the JSON property creationTimestamp

Returns:

  • (String)


12286
12287
12288
# File 'generated/google/apis/compute_v1/classes.rb', line 12286

def creation_timestamp
  @creation_timestamp
end

#customer_router_ip_addressString

[Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment. Corresponds to the JSON property customerRouterIpAddress

Returns:

  • (String)


12292
12293
12294
# File 'generated/google/apis/compute_v1/classes.rb', line 12292

def customer_router_ip_address
  @customer_router_ip_address
end

#descriptionString

An optional description of this resource. Corresponds to the JSON property description

Returns:

  • (String)


12297
12298
12299
# File 'generated/google/apis/compute_v1/classes.rb', line 12297

def description
  @description
end

#edge_availability_domainString

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

Returns:

  • (String)


12310
12311
12312
# File 'generated/google/apis/compute_v1/classes.rb', line 12310

def edge_availability_domain
  @edge_availability_domain
end

#google_reference_idString

[Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used. Corresponds to the JSON property googleReferenceId

Returns:

  • (String)


12317
12318
12319
# File 'generated/google/apis/compute_v1/classes.rb', line 12317

def google_reference_id
  @google_reference_id
end

#idFixnum

[Output Only] The unique identifier for the resource. This identifier is defined by the server. Corresponds to the JSON property id

Returns:

  • (Fixnum)


12323
12324
12325
# File 'generated/google/apis/compute_v1/classes.rb', line 12323

def id
  @id
end

#interconnectString

URL of the underlying Interconnect object that this attachment's traffic will traverse through. Corresponds to the JSON property interconnect

Returns:

  • (String)


12329
12330
12331
# File 'generated/google/apis/compute_v1/classes.rb', line 12329

def interconnect
  @interconnect
end

#kindString

[Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments. Corresponds to the JSON property kind

Returns:

  • (String)


12335
12336
12337
# File 'generated/google/apis/compute_v1/classes.rb', line 12335

def kind
  @kind
end

#nameString

Name of the resource. Provided by the client when the resource is created. 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

Returns:

  • (String)


12345
12346
12347
# File 'generated/google/apis/compute_v1/classes.rb', line 12345

def name
  @name
end

#operational_statusString

[Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values:

  • OS_ACTIVE: The attachment has been turned up and is ready to use.
  • OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. Corresponds to the JSON property operationalStatus

Returns:

  • (String)


12354
12355
12356
# File 'generated/google/apis/compute_v1/classes.rb', line 12354

def operational_status
  @operational_status
end

#pairing_keyString

[Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/ domain" Corresponds to the JSON property pairingKey

Returns:

  • (String)


12362
12363
12364
# File 'generated/google/apis/compute_v1/classes.rb', line 12362

def pairing_key
  @pairing_key
end

#partner_asnFixnum

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

Returns:

  • (Fixnum)


12369
12370
12371
# File 'generated/google/apis/compute_v1/classes.rb', line 12369

def partner_asn
  @partner_asn
end

#partner_metadataGoogle::Apis::ComputeV1::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



12376
12377
12378
# File 'generated/google/apis/compute_v1/classes.rb', line 12376

def 
  @partner_metadata
end

#private_interconnect_infoGoogle::Apis::ComputeV1::InterconnectAttachmentPrivateInfo

Information for an interconnect attachment when this belongs to an interconnect of type DEDICATED. Corresponds to the JSON property privateInterconnectInfo



12382
12383
12384
# File 'generated/google/apis/compute_v1/classes.rb', line 12382

def private_interconnect_info
  @private_interconnect_info
end

#regionString

[Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. Corresponds to the JSON property region

Returns:

  • (String)


12389
12390
12391
# File 'generated/google/apis/compute_v1/classes.rb', line 12389

def region
  @region
end

#routerString

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

Returns:

  • (String)


12397
12398
12399
# File 'generated/google/apis/compute_v1/classes.rb', line 12397

def router
  @router
end

[Output Only] Server-defined URL for the resource. Corresponds to the JSON property selfLink

Returns:

  • (String)


12402
12403
12404
# File 'generated/google/apis/compute_v1/classes.rb', line 12402

def self_link
  @self_link
end

#stateString

[Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values:

  • ACTIVE: The attachment has been turned up and is ready to use.
  • UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete.
  • PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side.
  • PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it.
  • PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it.
  • DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted. Corresponds to the JSON property state

Returns:

  • (String)


12425
12426
12427
# File 'generated/google/apis/compute_v1/classes.rb', line 12425

def state
  @state
end

#typeString

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

Returns:

  • (String)


12435
12436
12437
# File 'generated/google/apis/compute_v1/classes.rb', line 12435

def type
  @type
end

#vlan_tag8021qFixnum

The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. Only specified at creation time. Corresponds to the JSON property vlanTag8021q

Returns:

  • (Fixnum)


12441
12442
12443
# File 'generated/google/apis/compute_v1/classes.rb', line 12441

def vlan_tag8021q
  @vlan_tag8021q
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
# File 'generated/google/apis/compute_v1/classes.rb', line 12448

def update!(**args)
  @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled)
  @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
  @candidate_subnets = args[:candidate_subnets] if args.key?(:candidate_subnets)
  @cloud_router_ip_address = args[:cloud_router_ip_address] if args.key?(:cloud_router_ip_address)
  @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp)
  @customer_router_ip_address = args[:customer_router_ip_address] if args.key?(:customer_router_ip_address)
  @description = args[:description] if args.key?(:description)
  @edge_availability_domain = args[:edge_availability_domain] if args.key?(:edge_availability_domain)
  @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id)
  @id = args[:id] if args.key?(:id)
  @interconnect = args[:interconnect] if args.key?(:interconnect)
  @kind = args[:kind] if args.key?(:kind)
  @name = args[:name] if args.key?(:name)
  @operational_status = args[:operational_status] if args.key?(:operational_status)
  @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)
  @private_interconnect_info = args[:private_interconnect_info] if args.key?(:private_interconnect_info)
  @region = args[:region] if args.key?(:region)
  @router = args[:router] if args.key?(:router)
  @self_link = args[:self_link] if args.key?(:self_link)
  @state = args[:state] if args.key?(:state)
  @type = args[:type] if args.key?(:type)
  @vlan_tag8021q = args[:vlan_tag8021q] if args.key?(:vlan_tag8021q)
end