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');