1513 lines
48 KiB
PHP
1513 lines
48 KiB
PHP
<?php
|
|
/*
|
|
* Copyright 2014 Google Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
* use this file except in compliance with the License. You may obtain a copy of
|
|
* the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
* License for the specific language governing permissions and limitations under
|
|
* the License.
|
|
*/
|
|
|
|
namespace Google\Service\Compute;
|
|
|
|
class InterconnectAttachment extends \Google\Collection
|
|
{
|
|
/**
|
|
* 100 Gbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_100G = 'BPS_100G';
|
|
/**
|
|
* 100 Mbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_100M = 'BPS_100M';
|
|
/**
|
|
* 10 Gbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_10G = 'BPS_10G';
|
|
/**
|
|
* 1 Gbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_1G = 'BPS_1G';
|
|
/**
|
|
* 200 Mbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_200M = 'BPS_200M';
|
|
/**
|
|
* 20 Gbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_20G = 'BPS_20G';
|
|
/**
|
|
* 2 Gbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_2G = 'BPS_2G';
|
|
/**
|
|
* 300 Mbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_300M = 'BPS_300M';
|
|
/**
|
|
* 400 Gbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_400G = 'BPS_400G';
|
|
/**
|
|
* 400 Mbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_400M = 'BPS_400M';
|
|
/**
|
|
* 500 Mbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_500M = 'BPS_500M';
|
|
/**
|
|
* 50 Gbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_50G = 'BPS_50G';
|
|
/**
|
|
* 50 Mbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_50M = 'BPS_50M';
|
|
/**
|
|
* 5 Gbit/s
|
|
*/
|
|
public const BANDWIDTH_BPS_5G = 'BPS_5G';
|
|
public const EDGE_AVAILABILITY_DOMAIN_AVAILABILITY_DOMAIN_1 = 'AVAILABILITY_DOMAIN_1';
|
|
public const EDGE_AVAILABILITY_DOMAIN_AVAILABILITY_DOMAIN_2 = 'AVAILABILITY_DOMAIN_2';
|
|
public const EDGE_AVAILABILITY_DOMAIN_AVAILABILITY_DOMAIN_ANY = 'AVAILABILITY_DOMAIN_ANY';
|
|
/**
|
|
* The interconnect attachment will carry only encrypted traffic that is
|
|
* encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly
|
|
* send traffic to or receive traffic from such an interconnect attachment.
|
|
* To use HA VPN over Cloud Interconnect, the interconnect attachment must be
|
|
* created with this option.
|
|
*/
|
|
public const ENCRYPTION_IPSEC = 'IPSEC';
|
|
/**
|
|
* This is the default value, which means the Interconnect Attachment will
|
|
* carry unencrypted traffic. VMs will be able to send traffic to or receive
|
|
* traffic from such interconnect attachment.
|
|
*/
|
|
public const ENCRYPTION_NONE = 'NONE';
|
|
/**
|
|
* Indicates that attachment has been turned up and is ready to use.
|
|
*/
|
|
public const OPERATIONAL_STATUS_OS_ACTIVE = 'OS_ACTIVE';
|
|
/**
|
|
* Indicates that attachment is not ready to use yet, because turnup is not
|
|
* complete.
|
|
*/
|
|
public const OPERATIONAL_STATUS_OS_UNPROVISIONED = 'OS_UNPROVISIONED';
|
|
/**
|
|
* The interconnect attachment can have both IPv4 and IPv6 addresses.
|
|
*/
|
|
public const STACK_TYPE_IPV4_IPV6 = 'IPV4_IPV6';
|
|
/**
|
|
* The interconnect attachment will only be assigned IPv4 addresses.
|
|
*/
|
|
public const STACK_TYPE_IPV4_ONLY = 'IPV4_ONLY';
|
|
/**
|
|
* Indicates that attachment has been turned up and is ready to use.
|
|
*/
|
|
public const STATE_ACTIVE = 'ACTIVE';
|
|
/**
|
|
* The attachment was deleted externally and is no longer functional. This
|
|
* could be because the associated Interconnect was wiped out, or because the
|
|
* other side of a Partner attachment was deleted.
|
|
*/
|
|
public const STATE_DEFUNCT = 'DEFUNCT';
|
|
/**
|
|
* A PARTNER attachment is in the process of provisioning after a
|
|
* PARTNER_PROVIDER attachment was created that references it.
|
|
*/
|
|
public const STATE_PARTNER_REQUEST_RECEIVED = 'PARTNER_REQUEST_RECEIVED';
|
|
/**
|
|
* PARTNER or PARTNER_PROVIDER attachment that is waiting for the customer to
|
|
* activate.
|
|
*/
|
|
public const STATE_PENDING_CUSTOMER = 'PENDING_CUSTOMER';
|
|
/**
|
|
* A newly created PARTNER attachment that has not yet been configured on the
|
|
* Partner side.
|
|
*/
|
|
public const STATE_PENDING_PARTNER = 'PENDING_PARTNER';
|
|
public const STATE_STATE_UNSPECIFIED = 'STATE_UNSPECIFIED';
|
|
/**
|
|
* Indicates that attachment is not ready to use yet, because turnup is not
|
|
* complete.
|
|
*/
|
|
public const STATE_UNPROVISIONED = 'UNPROVISIONED';
|
|
/**
|
|
* Attachment to a dedicated interconnect.
|
|
*/
|
|
public const TYPE_DEDICATED = 'DEDICATED';
|
|
/**
|
|
* Attachment to a dedicated interconnect, forwarding L2 packets.
|
|
*/
|
|
public const TYPE_L2_DEDICATED = 'L2_DEDICATED';
|
|
/**
|
|
* Attachment to a partner interconnect, created by the customer.
|
|
*/
|
|
public const TYPE_PARTNER = 'PARTNER';
|
|
/**
|
|
* Attachment to a partner interconnect, created by the partner.
|
|
*/
|
|
public const TYPE_PARTNER_PROVIDER = 'PARTNER_PROVIDER';
|
|
protected $collection_key = 'ipsecInternalAddresses';
|
|
/**
|
|
* Determines whether this Attachment will carry packets. Not present for
|
|
* PARTNER_PROVIDER.
|
|
*
|
|
* @var bool
|
|
*/
|
|
public $adminEnabled;
|
|
/**
|
|
* Output only. [Output Only] URL of the AttachmentGroup that includes this
|
|
* Attachment.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $attachmentGroup;
|
|
/**
|
|
* 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
|
|
*
|
|
* @var string
|
|
*/
|
|
public $bandwidth;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $candidateCloudRouterIpAddress;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $candidateCloudRouterIpv6Address;
|
|
/**
|
|
* Single IPv4 address + prefix length to be configured on the customer router
|
|
* interface for this interconnect attachment.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $candidateCustomerRouterIpAddress;
|
|
/**
|
|
* Single IPv6 address + prefix length to be configured on the customer router
|
|
* interface for this interconnect attachment.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $candidateCustomerRouterIpv6Address;
|
|
/**
|
|
* This field is not available.
|
|
*
|
|
* @var string[]
|
|
*/
|
|
public $candidateIpv6Subnets;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string[]
|
|
*/
|
|
public $candidateSubnets;
|
|
/**
|
|
* Output only. [Output Only] IPv4 address + prefix length to be configured on
|
|
* Cloud Router Interface for this interconnect attachment.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $cloudRouterIpAddress;
|
|
/**
|
|
* Output only. [Output Only] IPv6 address + prefix length to be configured on
|
|
* Cloud Router Interface for this interconnect attachment.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $cloudRouterIpv6Address;
|
|
/**
|
|
* This field is not available.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $cloudRouterIpv6InterfaceId;
|
|
protected $configurationConstraintsType = InterconnectAttachmentConfigurationConstraints::class;
|
|
protected $configurationConstraintsDataType = '';
|
|
/**
|
|
* Output only. [Output Only] Creation timestamp inRFC3339 text format.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $creationTimestamp;
|
|
/**
|
|
* Output only. [Output Only] IPv4 address + prefix length to be configured on
|
|
* the customer router subinterface for this interconnect attachment.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $customerRouterIpAddress;
|
|
/**
|
|
* Output only. [Output Only] IPv6 address + prefix length to be configured on
|
|
* the customer router subinterface for this interconnect attachment.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $customerRouterIpv6Address;
|
|
/**
|
|
* This field is not available.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $customerRouterIpv6InterfaceId;
|
|
/**
|
|
* Output only. [Output Only] Dataplane version for this
|
|
* InterconnectAttachment. This field is only present for Dataplane version 2
|
|
* and higher. Absence of this field in the API output indicates that the
|
|
* Dataplane is version 1.
|
|
*
|
|
* @var int
|
|
*/
|
|
public $dataplaneVersion;
|
|
/**
|
|
* An optional description of this resource.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $description;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $edgeAvailabilityDomain;
|
|
/**
|
|
* 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: - NONE - 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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $encryption;
|
|
/**
|
|
* Output only. [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.
|
|
*
|
|
* @deprecated
|
|
* @var string
|
|
*/
|
|
public $googleReferenceId;
|
|
/**
|
|
* Output only. [Output Only] The unique identifier for the resource. This
|
|
* identifier is defined by the server.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $id;
|
|
/**
|
|
* URL of the underlying Interconnect object that this attachment's traffic
|
|
* will traverse through.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $interconnect;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string[]
|
|
*/
|
|
public $ipsecInternalAddresses;
|
|
/**
|
|
* Output only. [Output Only] Type of the resource.
|
|
* Alwayscompute#interconnectAttachment for interconnect attachments.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $kind;
|
|
protected $l2ForwardingType = InterconnectAttachmentL2Forwarding::class;
|
|
protected $l2ForwardingDataType = '';
|
|
/**
|
|
* A fingerprint for the labels being applied to this InterconnectAttachment,
|
|
* 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
|
|
* InterconnectAttachment.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $labelFingerprint;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string[]
|
|
*/
|
|
public $labels;
|
|
/**
|
|
* Maximum Transmission Unit (MTU), in bytes, of packets passing through this
|
|
* interconnect attachment. Valid values are 1440, 1460, 1500, and 8896. If
|
|
* not specified, the value will default to 1440.
|
|
*
|
|
* @var int
|
|
*/
|
|
public $mtu;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $name;
|
|
/**
|
|
* Output only. [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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $operationalStatus;
|
|
/**
|
|
* [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"
|
|
*
|
|
* @var string
|
|
*/
|
|
public $pairingKey;
|
|
protected $paramsType = InterconnectAttachmentParams::class;
|
|
protected $paramsDataType = '';
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $partnerAsn;
|
|
protected $partnerMetadataType = InterconnectAttachmentPartnerMetadata::class;
|
|
protected $partnerMetadataDataType = '';
|
|
protected $privateInterconnectInfoType = InterconnectAttachmentPrivateInfo::class;
|
|
protected $privateInterconnectInfoDataType = '';
|
|
/**
|
|
* Output only. [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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $region;
|
|
/**
|
|
* Output only. [Output Only] If the attachment is on a Cross-Cloud
|
|
* Interconnect connection, this field contains the interconnect's remote
|
|
* location service provider. Example values: "Amazon Web Services" "Microsoft
|
|
* Azure".
|
|
*
|
|
* The field is set only for attachments on Cross-Cloud Interconnect
|
|
* connections. Its value is copied from the InterconnectRemoteLocation
|
|
* remoteService field.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $remoteService;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $router;
|
|
/**
|
|
* Output only. [Output Only] Reserved for future use.
|
|
*
|
|
* @var bool
|
|
*/
|
|
public $satisfiesPzs;
|
|
/**
|
|
* Output only. [Output Only] Server-defined URL for the resource.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $selfLink;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $stackType;
|
|
/**
|
|
* Output only. [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.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $state;
|
|
/**
|
|
* 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.
|
|
*
|
|
* @var int
|
|
*/
|
|
public $subnetLength;
|
|
/**
|
|
* 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.
|
|
*
|
|
* - L2_DEDICATED: a L2 attachment to a Dedicated Interconnect.
|
|
*
|
|
* @var string
|
|
*/
|
|
public $type;
|
|
/**
|
|
* The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only
|
|
* specified at creation time.
|
|
*
|
|
* @var int
|
|
*/
|
|
public $vlanTag8021q;
|
|
|
|
/**
|
|
* Determines whether this Attachment will carry packets. Not present for
|
|
* PARTNER_PROVIDER.
|
|
*
|
|
* @param bool $adminEnabled
|
|
*/
|
|
public function setAdminEnabled($adminEnabled)
|
|
{
|
|
$this->adminEnabled = $adminEnabled;
|
|
}
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function getAdminEnabled()
|
|
{
|
|
return $this->adminEnabled;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] URL of the AttachmentGroup that includes this
|
|
* Attachment.
|
|
*
|
|
* @param string $attachmentGroup
|
|
*/
|
|
public function setAttachmentGroup($attachmentGroup)
|
|
{
|
|
$this->attachmentGroup = $attachmentGroup;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getAttachmentGroup()
|
|
{
|
|
return $this->attachmentGroup;
|
|
}
|
|
/**
|
|
* 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
|
|
*
|
|
* Accepted values: BPS_100G, BPS_100M, BPS_10G, BPS_1G, BPS_200M, BPS_20G,
|
|
* BPS_2G, BPS_300M, BPS_400G, BPS_400M, BPS_500M, BPS_50G, BPS_50M, BPS_5G
|
|
*
|
|
* @param self::BANDWIDTH_* $bandwidth
|
|
*/
|
|
public function setBandwidth($bandwidth)
|
|
{
|
|
$this->bandwidth = $bandwidth;
|
|
}
|
|
/**
|
|
* @return self::BANDWIDTH_*
|
|
*/
|
|
public function getBandwidth()
|
|
{
|
|
return $this->bandwidth;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param string $candidateCloudRouterIpAddress
|
|
*/
|
|
public function setCandidateCloudRouterIpAddress($candidateCloudRouterIpAddress)
|
|
{
|
|
$this->candidateCloudRouterIpAddress = $candidateCloudRouterIpAddress;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCandidateCloudRouterIpAddress()
|
|
{
|
|
return $this->candidateCloudRouterIpAddress;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param string $candidateCloudRouterIpv6Address
|
|
*/
|
|
public function setCandidateCloudRouterIpv6Address($candidateCloudRouterIpv6Address)
|
|
{
|
|
$this->candidateCloudRouterIpv6Address = $candidateCloudRouterIpv6Address;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCandidateCloudRouterIpv6Address()
|
|
{
|
|
return $this->candidateCloudRouterIpv6Address;
|
|
}
|
|
/**
|
|
* Single IPv4 address + prefix length to be configured on the customer router
|
|
* interface for this interconnect attachment.
|
|
*
|
|
* @param string $candidateCustomerRouterIpAddress
|
|
*/
|
|
public function setCandidateCustomerRouterIpAddress($candidateCustomerRouterIpAddress)
|
|
{
|
|
$this->candidateCustomerRouterIpAddress = $candidateCustomerRouterIpAddress;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCandidateCustomerRouterIpAddress()
|
|
{
|
|
return $this->candidateCustomerRouterIpAddress;
|
|
}
|
|
/**
|
|
* Single IPv6 address + prefix length to be configured on the customer router
|
|
* interface for this interconnect attachment.
|
|
*
|
|
* @param string $candidateCustomerRouterIpv6Address
|
|
*/
|
|
public function setCandidateCustomerRouterIpv6Address($candidateCustomerRouterIpv6Address)
|
|
{
|
|
$this->candidateCustomerRouterIpv6Address = $candidateCustomerRouterIpv6Address;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCandidateCustomerRouterIpv6Address()
|
|
{
|
|
return $this->candidateCustomerRouterIpv6Address;
|
|
}
|
|
/**
|
|
* This field is not available.
|
|
*
|
|
* @param string[] $candidateIpv6Subnets
|
|
*/
|
|
public function setCandidateIpv6Subnets($candidateIpv6Subnets)
|
|
{
|
|
$this->candidateIpv6Subnets = $candidateIpv6Subnets;
|
|
}
|
|
/**
|
|
* @return string[]
|
|
*/
|
|
public function getCandidateIpv6Subnets()
|
|
{
|
|
return $this->candidateIpv6Subnets;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param string[] $candidateSubnets
|
|
*/
|
|
public function setCandidateSubnets($candidateSubnets)
|
|
{
|
|
$this->candidateSubnets = $candidateSubnets;
|
|
}
|
|
/**
|
|
* @return string[]
|
|
*/
|
|
public function getCandidateSubnets()
|
|
{
|
|
return $this->candidateSubnets;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] IPv4 address + prefix length to be configured on
|
|
* Cloud Router Interface for this interconnect attachment.
|
|
*
|
|
* @param string $cloudRouterIpAddress
|
|
*/
|
|
public function setCloudRouterIpAddress($cloudRouterIpAddress)
|
|
{
|
|
$this->cloudRouterIpAddress = $cloudRouterIpAddress;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCloudRouterIpAddress()
|
|
{
|
|
return $this->cloudRouterIpAddress;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] IPv6 address + prefix length to be configured on
|
|
* Cloud Router Interface for this interconnect attachment.
|
|
*
|
|
* @param string $cloudRouterIpv6Address
|
|
*/
|
|
public function setCloudRouterIpv6Address($cloudRouterIpv6Address)
|
|
{
|
|
$this->cloudRouterIpv6Address = $cloudRouterIpv6Address;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCloudRouterIpv6Address()
|
|
{
|
|
return $this->cloudRouterIpv6Address;
|
|
}
|
|
/**
|
|
* This field is not available.
|
|
*
|
|
* @param string $cloudRouterIpv6InterfaceId
|
|
*/
|
|
public function setCloudRouterIpv6InterfaceId($cloudRouterIpv6InterfaceId)
|
|
{
|
|
$this->cloudRouterIpv6InterfaceId = $cloudRouterIpv6InterfaceId;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCloudRouterIpv6InterfaceId()
|
|
{
|
|
return $this->cloudRouterIpv6InterfaceId;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] Constraints for this attachment, if any. The
|
|
* attachment does not work if these constraints are not met.
|
|
*
|
|
* @param InterconnectAttachmentConfigurationConstraints $configurationConstraints
|
|
*/
|
|
public function setConfigurationConstraints(InterconnectAttachmentConfigurationConstraints $configurationConstraints)
|
|
{
|
|
$this->configurationConstraints = $configurationConstraints;
|
|
}
|
|
/**
|
|
* @return InterconnectAttachmentConfigurationConstraints
|
|
*/
|
|
public function getConfigurationConstraints()
|
|
{
|
|
return $this->configurationConstraints;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] Creation timestamp inRFC3339 text format.
|
|
*
|
|
* @param string $creationTimestamp
|
|
*/
|
|
public function setCreationTimestamp($creationTimestamp)
|
|
{
|
|
$this->creationTimestamp = $creationTimestamp;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCreationTimestamp()
|
|
{
|
|
return $this->creationTimestamp;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] IPv4 address + prefix length to be configured on
|
|
* the customer router subinterface for this interconnect attachment.
|
|
*
|
|
* @param string $customerRouterIpAddress
|
|
*/
|
|
public function setCustomerRouterIpAddress($customerRouterIpAddress)
|
|
{
|
|
$this->customerRouterIpAddress = $customerRouterIpAddress;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCustomerRouterIpAddress()
|
|
{
|
|
return $this->customerRouterIpAddress;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] IPv6 address + prefix length to be configured on
|
|
* the customer router subinterface for this interconnect attachment.
|
|
*
|
|
* @param string $customerRouterIpv6Address
|
|
*/
|
|
public function setCustomerRouterIpv6Address($customerRouterIpv6Address)
|
|
{
|
|
$this->customerRouterIpv6Address = $customerRouterIpv6Address;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCustomerRouterIpv6Address()
|
|
{
|
|
return $this->customerRouterIpv6Address;
|
|
}
|
|
/**
|
|
* This field is not available.
|
|
*
|
|
* @param string $customerRouterIpv6InterfaceId
|
|
*/
|
|
public function setCustomerRouterIpv6InterfaceId($customerRouterIpv6InterfaceId)
|
|
{
|
|
$this->customerRouterIpv6InterfaceId = $customerRouterIpv6InterfaceId;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getCustomerRouterIpv6InterfaceId()
|
|
{
|
|
return $this->customerRouterIpv6InterfaceId;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] Dataplane version for this
|
|
* InterconnectAttachment. This field is only present for Dataplane version 2
|
|
* and higher. Absence of this field in the API output indicates that the
|
|
* Dataplane is version 1.
|
|
*
|
|
* @param int $dataplaneVersion
|
|
*/
|
|
public function setDataplaneVersion($dataplaneVersion)
|
|
{
|
|
$this->dataplaneVersion = $dataplaneVersion;
|
|
}
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getDataplaneVersion()
|
|
{
|
|
return $this->dataplaneVersion;
|
|
}
|
|
/**
|
|
* An optional description of this resource.
|
|
*
|
|
* @param string $description
|
|
*/
|
|
public function setDescription($description)
|
|
{
|
|
$this->description = $description;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getDescription()
|
|
{
|
|
return $this->description;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* Accepted values: AVAILABILITY_DOMAIN_1, AVAILABILITY_DOMAIN_2,
|
|
* AVAILABILITY_DOMAIN_ANY
|
|
*
|
|
* @param self::EDGE_AVAILABILITY_DOMAIN_* $edgeAvailabilityDomain
|
|
*/
|
|
public function setEdgeAvailabilityDomain($edgeAvailabilityDomain)
|
|
{
|
|
$this->edgeAvailabilityDomain = $edgeAvailabilityDomain;
|
|
}
|
|
/**
|
|
* @return self::EDGE_AVAILABILITY_DOMAIN_*
|
|
*/
|
|
public function getEdgeAvailabilityDomain()
|
|
{
|
|
return $this->edgeAvailabilityDomain;
|
|
}
|
|
/**
|
|
* 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: - NONE - 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.
|
|
*
|
|
* Accepted values: IPSEC, NONE
|
|
*
|
|
* @param self::ENCRYPTION_* $encryption
|
|
*/
|
|
public function setEncryption($encryption)
|
|
{
|
|
$this->encryption = $encryption;
|
|
}
|
|
/**
|
|
* @return self::ENCRYPTION_*
|
|
*/
|
|
public function getEncryption()
|
|
{
|
|
return $this->encryption;
|
|
}
|
|
/**
|
|
* Output only. [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.
|
|
*
|
|
* @deprecated
|
|
* @param string $googleReferenceId
|
|
*/
|
|
public function setGoogleReferenceId($googleReferenceId)
|
|
{
|
|
$this->googleReferenceId = $googleReferenceId;
|
|
}
|
|
/**
|
|
* @deprecated
|
|
* @return string
|
|
*/
|
|
public function getGoogleReferenceId()
|
|
{
|
|
return $this->googleReferenceId;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] The unique identifier for the resource. This
|
|
* identifier is defined by the server.
|
|
*
|
|
* @param string $id
|
|
*/
|
|
public function setId($id)
|
|
{
|
|
$this->id = $id;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getId()
|
|
{
|
|
return $this->id;
|
|
}
|
|
/**
|
|
* URL of the underlying Interconnect object that this attachment's traffic
|
|
* will traverse through.
|
|
*
|
|
* @param string $interconnect
|
|
*/
|
|
public function setInterconnect($interconnect)
|
|
{
|
|
$this->interconnect = $interconnect;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getInterconnect()
|
|
{
|
|
return $this->interconnect;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param string[] $ipsecInternalAddresses
|
|
*/
|
|
public function setIpsecInternalAddresses($ipsecInternalAddresses)
|
|
{
|
|
$this->ipsecInternalAddresses = $ipsecInternalAddresses;
|
|
}
|
|
/**
|
|
* @return string[]
|
|
*/
|
|
public function getIpsecInternalAddresses()
|
|
{
|
|
return $this->ipsecInternalAddresses;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] Type of the resource.
|
|
* Alwayscompute#interconnectAttachment for interconnect attachments.
|
|
*
|
|
* @param string $kind
|
|
*/
|
|
public function setKind($kind)
|
|
{
|
|
$this->kind = $kind;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getKind()
|
|
{
|
|
return $this->kind;
|
|
}
|
|
/**
|
|
* L2 Interconnect Attachment related config. This field is required if the
|
|
* type is L2_DEDICATED.
|
|
*
|
|
* The configuration specifies how VLAN tags (like dot1q, qinq, or dot1ad)
|
|
* within L2 packets are mapped to the destination appliances IP addresses.
|
|
* The packet is then encapsulated with the appliance IP address and sent to
|
|
* the edge appliance.
|
|
*
|
|
* @param InterconnectAttachmentL2Forwarding $l2Forwarding
|
|
*/
|
|
public function setL2Forwarding(InterconnectAttachmentL2Forwarding $l2Forwarding)
|
|
{
|
|
$this->l2Forwarding = $l2Forwarding;
|
|
}
|
|
/**
|
|
* @return InterconnectAttachmentL2Forwarding
|
|
*/
|
|
public function getL2Forwarding()
|
|
{
|
|
return $this->l2Forwarding;
|
|
}
|
|
/**
|
|
* A fingerprint for the labels being applied to this InterconnectAttachment,
|
|
* 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
|
|
* InterconnectAttachment.
|
|
*
|
|
* @param string $labelFingerprint
|
|
*/
|
|
public function setLabelFingerprint($labelFingerprint)
|
|
{
|
|
$this->labelFingerprint = $labelFingerprint;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getLabelFingerprint()
|
|
{
|
|
return $this->labelFingerprint;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param string[] $labels
|
|
*/
|
|
public function setLabels($labels)
|
|
{
|
|
$this->labels = $labels;
|
|
}
|
|
/**
|
|
* @return string[]
|
|
*/
|
|
public function getLabels()
|
|
{
|
|
return $this->labels;
|
|
}
|
|
/**
|
|
* Maximum Transmission Unit (MTU), in bytes, of packets passing through this
|
|
* interconnect attachment. Valid values are 1440, 1460, 1500, and 8896. If
|
|
* not specified, the value will default to 1440.
|
|
*
|
|
* @param int $mtu
|
|
*/
|
|
public function setMtu($mtu)
|
|
{
|
|
$this->mtu = $mtu;
|
|
}
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getMtu()
|
|
{
|
|
return $this->mtu;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param string $name
|
|
*/
|
|
public function setName($name)
|
|
{
|
|
$this->name = $name;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getName()
|
|
{
|
|
return $this->name;
|
|
}
|
|
/**
|
|
* Output only. [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.
|
|
*
|
|
* Accepted values: OS_ACTIVE, OS_UNPROVISIONED
|
|
*
|
|
* @param self::OPERATIONAL_STATUS_* $operationalStatus
|
|
*/
|
|
public function setOperationalStatus($operationalStatus)
|
|
{
|
|
$this->operationalStatus = $operationalStatus;
|
|
}
|
|
/**
|
|
* @return self::OPERATIONAL_STATUS_*
|
|
*/
|
|
public function getOperationalStatus()
|
|
{
|
|
return $this->operationalStatus;
|
|
}
|
|
/**
|
|
* [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"
|
|
*
|
|
* @param string $pairingKey
|
|
*/
|
|
public function setPairingKey($pairingKey)
|
|
{
|
|
$this->pairingKey = $pairingKey;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPairingKey()
|
|
{
|
|
return $this->pairingKey;
|
|
}
|
|
/**
|
|
* Input only. [Input Only] Additional params passed with the request, but not
|
|
* persisted as part of resource payload.
|
|
*
|
|
* @param InterconnectAttachmentParams $params
|
|
*/
|
|
public function setParams(InterconnectAttachmentParams $params)
|
|
{
|
|
$this->params = $params;
|
|
}
|
|
/**
|
|
* @return InterconnectAttachmentParams
|
|
*/
|
|
public function getParams()
|
|
{
|
|
return $this->params;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param string $partnerAsn
|
|
*/
|
|
public function setPartnerAsn($partnerAsn)
|
|
{
|
|
$this->partnerAsn = $partnerAsn;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPartnerAsn()
|
|
{
|
|
return $this->partnerAsn;
|
|
}
|
|
/**
|
|
* Informational metadata about Partner attachments from Partners to display
|
|
* to customers. Output only for PARTNER type, mutable for PARTNER_PROVIDER,
|
|
* not available for DEDICATED.
|
|
*
|
|
* @param InterconnectAttachmentPartnerMetadata $partnerMetadata
|
|
*/
|
|
public function setPartnerMetadata(InterconnectAttachmentPartnerMetadata $partnerMetadata)
|
|
{
|
|
$this->partnerMetadata = $partnerMetadata;
|
|
}
|
|
/**
|
|
* @return InterconnectAttachmentPartnerMetadata
|
|
*/
|
|
public function getPartnerMetadata()
|
|
{
|
|
return $this->partnerMetadata;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] Information specific to an
|
|
* InterconnectAttachment. This property is populated if the interconnect that
|
|
* this is attached to is of type DEDICATED.
|
|
*
|
|
* @param InterconnectAttachmentPrivateInfo $privateInterconnectInfo
|
|
*/
|
|
public function setPrivateInterconnectInfo(InterconnectAttachmentPrivateInfo $privateInterconnectInfo)
|
|
{
|
|
$this->privateInterconnectInfo = $privateInterconnectInfo;
|
|
}
|
|
/**
|
|
* @return InterconnectAttachmentPrivateInfo
|
|
*/
|
|
public function getPrivateInterconnectInfo()
|
|
{
|
|
return $this->privateInterconnectInfo;
|
|
}
|
|
/**
|
|
* Output only. [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.
|
|
*
|
|
* @param string $region
|
|
*/
|
|
public function setRegion($region)
|
|
{
|
|
$this->region = $region;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getRegion()
|
|
{
|
|
return $this->region;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] If the attachment is on a Cross-Cloud
|
|
* Interconnect connection, this field contains the interconnect's remote
|
|
* location service provider. Example values: "Amazon Web Services" "Microsoft
|
|
* Azure".
|
|
*
|
|
* The field is set only for attachments on Cross-Cloud Interconnect
|
|
* connections. Its value is copied from the InterconnectRemoteLocation
|
|
* remoteService field.
|
|
*
|
|
* @param string $remoteService
|
|
*/
|
|
public function setRemoteService($remoteService)
|
|
{
|
|
$this->remoteService = $remoteService;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getRemoteService()
|
|
{
|
|
return $this->remoteService;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param string $router
|
|
*/
|
|
public function setRouter($router)
|
|
{
|
|
$this->router = $router;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getRouter()
|
|
{
|
|
return $this->router;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] Reserved for future use.
|
|
*
|
|
* @param bool $satisfiesPzs
|
|
*/
|
|
public function setSatisfiesPzs($satisfiesPzs)
|
|
{
|
|
$this->satisfiesPzs = $satisfiesPzs;
|
|
}
|
|
/**
|
|
* @return bool
|
|
*/
|
|
public function getSatisfiesPzs()
|
|
{
|
|
return $this->satisfiesPzs;
|
|
}
|
|
/**
|
|
* Output only. [Output Only] Server-defined URL for the resource.
|
|
*
|
|
* @param string $selfLink
|
|
*/
|
|
public function setSelfLink($selfLink)
|
|
{
|
|
$this->selfLink = $selfLink;
|
|
}
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getSelfLink()
|
|
{
|
|
return $this->selfLink;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* Accepted values: IPV4_IPV6, IPV4_ONLY
|
|
*
|
|
* @param self::STACK_TYPE_* $stackType
|
|
*/
|
|
public function setStackType($stackType)
|
|
{
|
|
$this->stackType = $stackType;
|
|
}
|
|
/**
|
|
* @return self::STACK_TYPE_*
|
|
*/
|
|
public function getStackType()
|
|
{
|
|
return $this->stackType;
|
|
}
|
|
/**
|
|
* Output only. [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.
|
|
*
|
|
* Accepted values: ACTIVE, DEFUNCT, PARTNER_REQUEST_RECEIVED,
|
|
* PENDING_CUSTOMER, PENDING_PARTNER, STATE_UNSPECIFIED, UNPROVISIONED
|
|
*
|
|
* @param self::STATE_* $state
|
|
*/
|
|
public function setState($state)
|
|
{
|
|
$this->state = $state;
|
|
}
|
|
/**
|
|
* @return self::STATE_*
|
|
*/
|
|
public function getState()
|
|
{
|
|
return $this->state;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param int $subnetLength
|
|
*/
|
|
public function setSubnetLength($subnetLength)
|
|
{
|
|
$this->subnetLength = $subnetLength;
|
|
}
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getSubnetLength()
|
|
{
|
|
return $this->subnetLength;
|
|
}
|
|
/**
|
|
* 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.
|
|
*
|
|
* - L2_DEDICATED: a L2 attachment to a Dedicated Interconnect.
|
|
*
|
|
* Accepted values: DEDICATED, L2_DEDICATED, PARTNER, PARTNER_PROVIDER
|
|
*
|
|
* @param self::TYPE_* $type
|
|
*/
|
|
public function setType($type)
|
|
{
|
|
$this->type = $type;
|
|
}
|
|
/**
|
|
* @return self::TYPE_*
|
|
*/
|
|
public function getType()
|
|
{
|
|
return $this->type;
|
|
}
|
|
/**
|
|
* The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only
|
|
* specified at creation time.
|
|
*
|
|
* @param int $vlanTag8021q
|
|
*/
|
|
public function setVlanTag8021q($vlanTag8021q)
|
|
{
|
|
$this->vlanTag8021q = $vlanTag8021q;
|
|
}
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getVlanTag8021q()
|
|
{
|
|
return $this->vlanTag8021q;
|
|
}
|
|
}
|
|
|
|
// Adding a class alias for backwards compatibility with the previous class name.
|
|
class_alias(InterconnectAttachment::class, 'Google_Service_Compute_InterconnectAttachment');
|