Class: Google::Apis::ComputeAlpha::Interconnect
- Inherits:
-
Object
- Object
- Google::Apis::ComputeAlpha::Interconnect
- 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
Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.
Instance Attribute Summary collapse
-
#aai_enabled ⇒ Boolean
(also: #aai_enabled?)
Enable or disable the application awareness feature on this Cloud Interconnect.
-
#admin_enabled ⇒ Boolean
(also: #admin_enabled?)
Administrative status of the interconnect.
-
#application_aware_interconnect ⇒ Google::Apis::ComputeAlpha::InterconnectApplicationAwareInterconnect
Configuration information for application awareness on this Cloud Interconnect.
-
#available_features ⇒ Array<String>
[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports.
-
#circuit_infos ⇒ Array<Google::Apis::ComputeAlpha::InterconnectCircuitInfo>
[Output Only] A list of CircuitInfo objects, that describe the individual circuits in this LAG.
-
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
-
#customer_name ⇒ String
Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect.
-
#description ⇒ String
An optional description of this resource.
-
#expected_outages ⇒ Array<Google::Apis::ComputeAlpha::InterconnectOutageNotification>
[Output Only] A list of outages expected for this Interconnect.
-
#google_ip_address ⇒ String
[Output Only] IP address configured on the Google side of the Interconnect link.
-
#google_reference_id ⇒ String
[Output Only] Google reference ID to be used when raising support tickets with Google or otherwise to debug backend connectivity issues.
-
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource.
-
#interconnect_attachments ⇒ Array<String>
[Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect.
-
#interconnect_groups ⇒ Array<String>
[Output Only] URLs of InterconnectGroups that include this Interconnect.
-
#interconnect_type ⇒ String
Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner.
-
#kind ⇒ String
[Output Only] Type of the resource.
-
#label_fingerprint ⇒ String
A fingerprint for the labels being applied to this Interconnect, which is essentially a hash of the labels set used for optimistic locking.
-
#labels ⇒ Hash<String,String>
Labels for this resource.
-
#link_type ⇒ String
Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics.
-
#location ⇒ String
URL of the InterconnectLocation object that represents where this connection is to be provisioned.
-
#macsec ⇒ Google::Apis::ComputeAlpha::InterconnectMacsec
Configuration information for enabling Media Access Control security (MACsec) on this Cloud Interconnect connection between Google and your on-premises router.
-
#macsec_enabled ⇒ Boolean
(also: #macsec_enabled?)
Enable or disable MACsec on this Interconnect connection.
-
#name ⇒ String
Name of the resource.
-
#noc_contact_email ⇒ String
Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect.
-
#operational_status ⇒ String
[Output Only] The current status of this Interconnect's functionality, which can take one of the following values: - OS_ACTIVE: A valid Interconnect, which is turned up and is ready to use.
-
#peer_ip_address ⇒ String
[Output Only] IP address configured on the customer side of the Interconnect link.
-
#provisioned_link_count ⇒ Fixnum
[Output Only] Number of links actually provisioned in this interconnect.
-
#remote_location ⇒ String
Indicates that this is a Cross-Cloud Interconnect.
-
#requested_features ⇒ Array<String>
Optional.
-
#requested_link_count ⇒ Fixnum
Target number of physical links in the link bundle, as requested by the customer.
-
#satisfies_pzs ⇒ Boolean
(also: #satisfies_pzs?)
[Output Only] Reserved for future use.
-
#self_link ⇒ String
[Output Only] Server-defined URL for the resource.
-
#self_link_with_id ⇒ String
[Output Only] Server-defined URL for this resource with the resource id.
-
#state ⇒ String
[Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Interconnect
constructor
A new instance of Interconnect.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Interconnect
Returns a new instance of Interconnect.
23564 23565 23566 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23564 def initialize(**args) update!(**args) end |
Instance Attribute Details
#aai_enabled ⇒ Boolean Also known as: aai_enabled?
Enable or disable the application awareness feature on this Cloud Interconnect.
Corresponds to the JSON property aaiEnabled
23327 23328 23329 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23327 def aai_enabled @aai_enabled end |
#admin_enabled ⇒ Boolean Also known as: admin_enabled?
Administrative status of the interconnect. When this is set to true, the
Interconnect is functional and can carry traffic. When set to false, no
packets can be carried over the interconnect and no BGP routes are exchanged
over it. By default, the status is set to true.
Corresponds to the JSON property adminEnabled
23336 23337 23338 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23336 def admin_enabled @admin_enabled end |
#application_aware_interconnect ⇒ Google::Apis::ComputeAlpha::InterconnectApplicationAwareInterconnect
Configuration information for application awareness on this Cloud Interconnect.
Corresponds to the JSON property applicationAwareInterconnect
23342 23343 23344 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23342 def application_aware_interconnect @application_aware_interconnect end |
#available_features ⇒ Array<String>
[Output only] List of features available for this Interconnect connection,
which can take one of the following values: - IF_MACSEC If present then the
Interconnect connection is provisioned on MACsec capable hardware ports. If
not present then the Interconnect connection is provisioned on non-MACsec
capable ports and MACsec isn't supported and enabling MACsec fails.
Corresponds to the JSON property availableFeatures
23351 23352 23353 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23351 def available_features @available_features end |
#circuit_infos ⇒ Array<Google::Apis::ComputeAlpha::InterconnectCircuitInfo>
[Output Only] A list of CircuitInfo objects, that describe the individual
circuits in this LAG.
Corresponds to the JSON property circuitInfos
23357 23358 23359 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23357 def circuit_infos @circuit_infos end |
#creation_timestamp ⇒ String
[Output Only] Creation timestamp in RFC3339 text format.
Corresponds to the JSON property creationTimestamp
23362 23363 23364 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23362 def @creation_timestamp end |
#customer_name ⇒ String
Customer name, to put in the Letter of Authorization as the party authorized
to request a crossconnect.
Corresponds to the JSON property customerName
23368 23369 23370 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23368 def customer_name @customer_name end |
#description ⇒ String
An optional description of this resource. Provide this property when you
create the resource.
Corresponds to the JSON property description
23374 23375 23376 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23374 def description @description end |
#expected_outages ⇒ Array<Google::Apis::ComputeAlpha::InterconnectOutageNotification>
[Output Only] A list of outages expected for this Interconnect.
Corresponds to the JSON property expectedOutages
23379 23380 23381 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23379 def expected_outages @expected_outages end |
#google_ip_address ⇒ String
[Output Only] IP address configured on the Google side of the Interconnect
link. This can be used only for ping tests.
Corresponds to the JSON property googleIpAddress
23385 23386 23387 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23385 def google_ip_address @google_ip_address end |
#google_reference_id ⇒ String
[Output Only] Google reference ID to be used when raising support tickets with
Google or otherwise to debug backend connectivity issues.
Corresponds to the JSON property googleReferenceId
23391 23392 23393 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23391 def google_reference_id @google_reference_id end |
#id ⇒ Fixnum
[Output Only] The unique identifier for the resource. This identifier is
defined by the server.
Corresponds to the JSON property id
23397 23398 23399 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23397 def id @id end |
#interconnect_attachments ⇒ Array<String>
[Output Only] A list of the URLs of all InterconnectAttachments configured to
use this Interconnect.
Corresponds to the JSON property interconnectAttachments
23403 23404 23405 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23403 def @interconnect_attachments end |
#interconnect_groups ⇒ Array<String>
[Output Only] URLs of InterconnectGroups that include this Interconnect. Order
is arbitrary and items are unique.
Corresponds to the JSON property interconnectGroups
23409 23410 23411 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23409 def interconnect_groups @interconnect_groups end |
#interconnect_type ⇒ String
Type of interconnect, which can take one of the following values: - PARTNER: A
partner-managed interconnection shared between customers though a partner. -
DEDICATED: A dedicated physical interconnection with the customer. Note that a
value IT_PRIVATE has been deprecated in favor of DEDICATED.
Corresponds to the JSON property interconnectType
23417 23418 23419 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23417 def interconnect_type @interconnect_type end |
#kind ⇒ String
[Output Only] Type of the resource. Always compute#interconnect for
interconnects.
Corresponds to the JSON property kind
23423 23424 23425 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23423 def kind @kind end |
#label_fingerprint ⇒ String
A fingerprint for the labels being applied to this Interconnect, which is
essentially a hash of the labels set used for optimistic locking. The
fingerprint is initially generated by Compute Engine and changes after every
request to modify or update labels. You must always provide an up-to-date
fingerprint hash in order to update or change labels, otherwise the request
will fail with error 412 conditionNotMet. To see the latest fingerprint, make
a get() request to retrieve an Interconnect.
Corresponds to the JSON property labelFingerprint
NOTE: Values are automatically base64 encoded/decoded in the client library.
23435 23436 23437 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23435 def label_fingerprint @label_fingerprint end |
#labels ⇒ Hash<String,String>
Labels for this resource. These can only be added or modified by the setLabels
method. Each label key/value pair must comply with RFC1035. Label values may
be empty.
Corresponds to the JSON property labels
23442 23443 23444 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23442 def labels @labels end |
#link_type ⇒ String
Type of link requested, which can take one of the following values: -
LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics -
LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this
field indicates the speed of each of the links in the bundle, not the speed of
the entire bundle.
Corresponds to the JSON property linkType
23451 23452 23453 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23451 def link_type @link_type end |
#location ⇒ String
URL of the InterconnectLocation object that represents where this connection
is to be provisioned.
Corresponds to the JSON property location
23457 23458 23459 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23457 def location @location end |
#macsec ⇒ Google::Apis::ComputeAlpha::InterconnectMacsec
Configuration information for enabling Media Access Control security (MACsec)
on this Cloud Interconnect connection between Google and your on-premises
router.
Corresponds to the JSON property macsec
23464 23465 23466 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23464 def macsec @macsec end |
#macsec_enabled ⇒ Boolean Also known as: macsec_enabled?
Enable or disable MACsec on this Interconnect connection. MACsec enablement
fails if the MACsec object is not specified.
Corresponds to the JSON property macsecEnabled
23470 23471 23472 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23470 def macsec_enabled @macsec_enabled end |
#name ⇒ String
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
23481 23482 23483 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23481 def name @name end |
#noc_contact_email ⇒ String
Email address to contact the customer NOC for operations and maintenance
notifications regarding this Interconnect. If specified, this will be used for
notifications in addition to all other forms described, such as Cloud
Monitoring logs alerting and Cloud Notifications. This field is required for
users who sign up for Cloud Interconnect using workforce identity federation.
Corresponds to the JSON property nocContactEmail
23490 23491 23492 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23490 def noc_contact_email @noc_contact_email end |
#operational_status ⇒ String
[Output Only] The current status of this Interconnect's functionality, which
can take one of the following values: - OS_ACTIVE: A valid Interconnect, which
is turned up and is ready to use. Attachments may be provisioned on this
Interconnect. - OS_UNPROVISIONED: An Interconnect that has not completed
turnup. No attachments may be provisioned on this Interconnect. -
OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal maintenance.
No attachments may be provisioned or updated on this Interconnect.
Corresponds to the JSON property operationalStatus
23501 23502 23503 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23501 def operational_status @operational_status end |
#peer_ip_address ⇒ String
[Output Only] IP address configured on the customer side of the Interconnect
link. The customer should configure this IP address during turnup when
prompted by Google NOC. This can be used only for ping tests.
Corresponds to the JSON property peerIpAddress
23508 23509 23510 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23508 def peer_ip_address @peer_ip_address end |
#provisioned_link_count ⇒ Fixnum
[Output Only] Number of links actually provisioned in this interconnect.
Corresponds to the JSON property provisionedLinkCount
23513 23514 23515 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23513 def provisioned_link_count @provisioned_link_count end |
#remote_location ⇒ String
Indicates that this is a Cross-Cloud Interconnect. This field specifies the
location outside of Google's network that the interconnect is connected to.
Corresponds to the JSON property remoteLocation
23519 23520 23521 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23519 def remote_location @remote_location end |
#requested_features ⇒ Array<String>
Optional. List of features requested for this Interconnect connection, which
can take one of the following values: - IF_MACSEC If specified then the
connection is created on MACsec capable hardware ports. If not specified, the
default value is false, which allocates non-MACsec capable ports first if
available. This parameter can be provided only with Interconnect INSERT. It
isn't valid for Interconnect PATCH.
Corresponds to the JSON property requestedFeatures
23529 23530 23531 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23529 def requested_features @requested_features end |
#requested_link_count ⇒ Fixnum
Target number of physical links in the link bundle, as requested by the
customer.
Corresponds to the JSON property requestedLinkCount
23535 23536 23537 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23535 def requested_link_count @requested_link_count end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
[Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzs
23540 23541 23542 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23540 def satisfies_pzs @satisfies_pzs end |
#self_link ⇒ String
[Output Only] Server-defined URL for the resource.
Corresponds to the JSON property selfLink
23546 23547 23548 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23546 def self_link @self_link end |
#self_link_with_id ⇒ String
[Output Only] Server-defined URL for this resource with the resource id.
Corresponds to the JSON property selfLinkWithId
23551 23552 23553 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23551 def self_link_with_id @self_link_with_id end |
#state ⇒ String
[Output Only] The current state of Interconnect functionality, which can take
one of the following values: - ACTIVE: The Interconnect is valid, turned up
and ready to use. Attachments may be provisioned on this Interconnect. -
UNPROVISIONED: The Interconnect has not completed turnup. No attachments may
be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is
undergoing internal maintenance. No attachments may be provisioned or updated
on this Interconnect.
Corresponds to the JSON property state
23562 23563 23564 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23562 def state @state end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
23569 23570 23571 23572 23573 23574 23575 23576 23577 23578 23579 23580 23581 23582 23583 23584 23585 23586 23587 23588 23589 23590 23591 23592 23593 23594 23595 23596 23597 23598 23599 23600 23601 23602 23603 23604 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 23569 def update!(**args) @aai_enabled = args[:aai_enabled] if args.key?(:aai_enabled) @admin_enabled = args[:admin_enabled] if args.key?(:admin_enabled) @application_aware_interconnect = args[:application_aware_interconnect] if args.key?(:application_aware_interconnect) @available_features = args[:available_features] if args.key?(:available_features) @circuit_infos = args[:circuit_infos] if args.key?(:circuit_infos) @creation_timestamp = args[:creation_timestamp] if args.key?(:creation_timestamp) @customer_name = args[:customer_name] if args.key?(:customer_name) @description = args[:description] if args.key?(:description) @expected_outages = args[:expected_outages] if args.key?(:expected_outages) @google_ip_address = args[:google_ip_address] if args.key?(:google_ip_address) @google_reference_id = args[:google_reference_id] if args.key?(:google_reference_id) @id = args[:id] if args.key?(:id) @interconnect_attachments = args[:interconnect_attachments] if args.key?(:interconnect_attachments) @interconnect_groups = args[:interconnect_groups] if args.key?(:interconnect_groups) @interconnect_type = args[:interconnect_type] if args.key?(:interconnect_type) @kind = args[:kind] if args.key?(:kind) @label_fingerprint = args[:label_fingerprint] if args.key?(:label_fingerprint) @labels = args[:labels] if args.key?(:labels) @link_type = args[:link_type] if args.key?(:link_type) @location = args[:location] if args.key?(:location) @macsec = args[:macsec] if args.key?(:macsec) @macsec_enabled = args[:macsec_enabled] if args.key?(:macsec_enabled) @name = args[:name] if args.key?(:name) @noc_contact_email = args[:noc_contact_email] if args.key?(:noc_contact_email) @operational_status = args[:operational_status] if args.key?(:operational_status) @peer_ip_address = args[:peer_ip_address] if args.key?(:peer_ip_address) @provisioned_link_count = args[:provisioned_link_count] if args.key?(:provisioned_link_count) @remote_location = args[:remote_location] if args.key?(:remote_location) @requested_features = args[:requested_features] if args.key?(:requested_features) @requested_link_count = args[:requested_link_count] if args.key?(:requested_link_count) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @self_link = args[:self_link] if args.key?(:self_link) @self_link_with_id = args[:self_link_with_id] if args.key?(:self_link_with_id) @state = args[:state] if args.key?(:state) end |