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:.
-
#circuit_infos ⇒ Array<Google::Apis::ComputeAlpha::InterconnectCircuitInfo>
Output only.
-
#creation_timestamp ⇒ String
Output only.
-
#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.
-
#effective_location ⇒ String
Output only.
-
#expected_outages ⇒ Array<Google::Apis::ComputeAlpha::InterconnectOutageNotification>
Output only.
-
#google_ip_address ⇒ String
Output only.
-
#google_reference_id ⇒ String
Output only.
-
#id ⇒ Fixnum
Output only.
-
#interconnect_attachments ⇒ Array<String>
Output only.
-
#interconnect_groups ⇒ Array<String>
Output only.
-
#interconnect_type ⇒ String
Type of interconnect, which can take one of the following values:.
-
#kind ⇒ String
Output only.
-
#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:.
-
#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.
-
#params ⇒ Google::Apis::ComputeAlpha::InterconnectParams
Additional interconnect parameters.
-
#peer_ip_address ⇒ String
Output only.
-
#provisioned_link_count ⇒ Fixnum
Output only.
-
#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.
-
#self_link ⇒ String
Output only.
-
#self_link_with_id ⇒ String
Output only.
-
#state ⇒ String
Output only.
-
#subzone ⇒ String
To be deprecated.
-
#wire_groups ⇒ Array<String>
Output only.
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.
33507 33508 33509 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33507 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
33207 33208 33209 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33207 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
33216 33217 33218 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33216 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
33223 33224 33225 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33223 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. Any attempt to enable MACsec will fail.
- IF_CROSS_SITE_NETWORK: If present, then the Interconnect connection is
provisioned exclusively for Cross-Site Networking. Any attempt to configure
VLAN attachments will fail. If not present, then the Interconnect
connection is not provisioned for Cross-Site Networking. Any attempt to use
it for Cross-Site Networking will fail.
Corresponds to the JSON property
availableFeatures
33239 33240 33241 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33239 def available_features @available_features end |
#circuit_infos ⇒ Array<Google::Apis::ComputeAlpha::InterconnectCircuitInfo>
Output only. [Output Only] A list of CircuitInfo objects, that describe the
individual
circuits in this LAG.
Corresponds to the JSON property circuitInfos
33246 33247 33248 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33246 def circuit_infos @circuit_infos end |
#creation_timestamp ⇒ String
Output only. [Output Only] Creation timestamp inRFC3339
text format.
Corresponds to the JSON property creationTimestamp
33252 33253 33254 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33252 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
33258 33259 33260 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33258 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
33264 33265 33266 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33264 def description @description end |
#effective_location ⇒ String
Output only. [Output Only] URL of the InterconnectLocation object that
represents where
this connection is to be provisioned. By default it will be the same as the
location field.
Corresponds to the JSON property effectiveLocation
33272 33273 33274 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33272 def effective_location @effective_location end |
#expected_outages ⇒ Array<Google::Apis::ComputeAlpha::InterconnectOutageNotification>
Output only. [Output Only] A list of outages expected for this Interconnect.
Corresponds to the JSON property expectedOutages
33277 33278 33279 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33277 def expected_outages @expected_outages end |
#google_ip_address ⇒ String
Output only. [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
33284 33285 33286 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33284 def google_ip_address @google_ip_address end |
#google_reference_id ⇒ String
Output only. [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
33291 33292 33293 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33291 def google_reference_id @google_reference_id end |
#id ⇒ Fixnum
Output only. [Output Only] The unique identifier for the resource. This
identifier is
defined by the server.
Corresponds to the JSON property id
33298 33299 33300 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33298 def id @id end |
#interconnect_attachments ⇒ Array<String>
Output only. [Output Only] A list of the URLs of all InterconnectAttachments
configured
to use this Interconnect.
Corresponds to the JSON property interconnectAttachments
33305 33306 33307 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33305 def @interconnect_attachments end |
#interconnect_groups ⇒ Array<String>
Output only. [Output Only] URLs of InterconnectGroups that include this
Interconnect.
Order is arbitrary and items are unique.
Corresponds to the JSON property interconnectGroups
33312 33313 33314 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33312 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
33323 33324 33325 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33323 def interconnect_type @interconnect_type end |
#kind ⇒ String
Output only. [Output Only] Type of the resource. Alwayscompute#interconnect
for interconnects.
Corresponds to the JSON property kind
33329 33330 33331 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33329 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 error412 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.
33342 33343 33344 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33342 def label_fingerprint @label_fingerprint end |
#labels ⇒ Hash<String,String>
Labels for this resource. These can only be added or modified by thesetLabels
method. Each label key/value pair must comply withRFC1035.
Label values may be empty.
Corresponds to the JSON property labels
33349 33350 33351 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33349 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.
- LINK_TYPE_ETHERNET_400G_LR4: A 400G Ethernet with LR4 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
33360 33361 33362 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33360 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
33366 33367 33368 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33366 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
33373 33374 33375 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33373 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
33379 33380 33381 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33379 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 withRFC1035.
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
33391 33392 33393 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33391 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
33401 33402 33403 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33401 def noc_contact_email @noc_contact_email end |
#operational_status ⇒ String
Output only. [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
33416 33417 33418 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33416 def operational_status @operational_status end |
#params ⇒ Google::Apis::ComputeAlpha::InterconnectParams
Additional interconnect parameters.
Corresponds to the JSON property params
33421 33422 33423 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33421 def params @params end |
#peer_ip_address ⇒ String
Output only. [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
33428 33429 33430 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33428 def peer_ip_address @peer_ip_address end |
#provisioned_link_count ⇒ Fixnum
Output only. [Output Only] Number of links actually provisioned in this
interconnect.
Corresponds to the JSON property provisionedLinkCount
33434 33435 33436 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33434 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
33440 33441 33442 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33440 def remote_location @remote_location end |
#requested_features ⇒ Array<String>
Optional. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH. 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, non-MACsec capable ports will also be considered.
- IF_CROSS_SITE_NETWORK: If specified, then the connection is created
exclusively for Cross-Site Networking. The connection can not be used for
Cross-Site Networking unless this feature is specified.
Corresponds to the JSON property
requestedFeatures
33454 33455 33456 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33454 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
33460 33461 33462 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33460 def requested_link_count @requested_link_count end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
Output only. [Output Only] Reserved for future use.
Corresponds to the JSON property satisfiesPzs
33465 33466 33467 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33465 def satisfies_pzs @satisfies_pzs end |
#self_link ⇒ String
Output only. [Output Only] Server-defined URL for the resource.
Corresponds to the JSON property selfLink
33471 33472 33473 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33471 def self_link @self_link end |
#self_link_with_id ⇒ String
Output only. [Output Only] Server-defined URL for this resource with the
resource id.
Corresponds to the JSON property selfLinkWithId
33477 33478 33479 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33477 def self_link_with_id @self_link_with_id end |
#state ⇒ String
Output only. [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
33492 33493 33494 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33492 def state @state end |
#subzone ⇒ String
To be deprecated.
Corresponds to the JSON property subzone
33497 33498 33499 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33497 def subzone @subzone end |
#wire_groups ⇒ Array<String>
Output only. [Output Only] A list of the URLs of all CrossSiteNetwork
WireGroups
configured to use this Interconnect. The Interconnect cannot be deleted if
this list is non-empty.
Corresponds to the JSON property wireGroups
33505 33506 33507 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33505 def wire_groups @wire_groups end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
33512 33513 33514 33515 33516 33517 33518 33519 33520 33521 33522 33523 33524 33525 33526 33527 33528 33529 33530 33531 33532 33533 33534 33535 33536 33537 33538 33539 33540 33541 33542 33543 33544 33545 33546 33547 33548 33549 33550 33551 |
# File 'lib/google/apis/compute_alpha/classes.rb', line 33512 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) @effective_location = args[:effective_location] if args.key?(:effective_location) @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) @params = args[:params] if args.key?(:params) @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) @subzone = args[:subzone] if args.key?(:subzone) @wire_groups = args[:wire_groups] if args.key?(:wire_groups) end |