aaiEnabled = $aaiEnabled; } /** * @return bool */ public function getAaiEnabled() { return $this->aaiEnabled; } /** * 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. * * @param bool $adminEnabled */ public function setAdminEnabled($adminEnabled) { $this->adminEnabled = $adminEnabled; } /** * @return bool */ public function getAdminEnabled() { return $this->adminEnabled; } /** * Configuration information for application awareness on this Cloud * Interconnect. * * @param InterconnectApplicationAwareInterconnect $applicationAwareInterconnect */ public function setApplicationAwareInterconnect(InterconnectApplicationAwareInterconnect $applicationAwareInterconnect) { $this->applicationAwareInterconnect = $applicationAwareInterconnect; } /** * @return InterconnectApplicationAwareInterconnect */ public function getApplicationAwareInterconnect() { return $this->applicationAwareInterconnect; } /** * [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. * * @param string[] $availableFeatures */ public function setAvailableFeatures($availableFeatures) { $this->availableFeatures = $availableFeatures; } /** * @return string[] */ public function getAvailableFeatures() { return $this->availableFeatures; } /** * Output only. [Output Only] A list of CircuitInfo objects, that describe the * individual circuits in this LAG. * * @param InterconnectCircuitInfo[] $circuitInfos */ public function setCircuitInfos($circuitInfos) { $this->circuitInfos = $circuitInfos; } /** * @return InterconnectCircuitInfo[] */ public function getCircuitInfos() { return $this->circuitInfos; } /** * 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; } /** * Customer name, to put in the Letter of Authorization as the party * authorized to request a crossconnect. * * @param string $customerName */ public function setCustomerName($customerName) { $this->customerName = $customerName; } /** * @return string */ public function getCustomerName() { return $this->customerName; } /** * An optional description of this resource. Provide this property when you * create the resource. * * @param string $description */ public function setDescription($description) { $this->description = $description; } /** * @return string */ public function getDescription() { return $this->description; } /** * Output only. [Output Only] A list of outages expected for this * Interconnect. * * @param InterconnectOutageNotification[] $expectedOutages */ public function setExpectedOutages($expectedOutages) { $this->expectedOutages = $expectedOutages; } /** * @return InterconnectOutageNotification[] */ public function getExpectedOutages() { return $this->expectedOutages; } /** * Output only. [Output Only] IP address configured on the Google side of the * Interconnect link. This can be used only for ping tests. * * @param string $googleIpAddress */ public function setGoogleIpAddress($googleIpAddress) { $this->googleIpAddress = $googleIpAddress; } /** * @return string */ public function getGoogleIpAddress() { return $this->googleIpAddress; } /** * Output only. [Output Only] Google reference ID to be used when raising * support tickets with Google or otherwise to debug backend connectivity * issues. * * @param string $googleReferenceId */ public function setGoogleReferenceId($googleReferenceId) { $this->googleReferenceId = $googleReferenceId; } /** * @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; } /** * Output only. [Output Only] A list of the URLs of all * InterconnectAttachments configured to use this Interconnect. * * @param string[] $interconnectAttachments */ public function setInterconnectAttachments($interconnectAttachments) { $this->interconnectAttachments = $interconnectAttachments; } /** * @return string[] */ public function getInterconnectAttachments() { return $this->interconnectAttachments; } /** * Output only. [Output Only] URLs of InterconnectGroups that include this * Interconnect. Order is arbitrary and items are unique. * * @param string[] $interconnectGroups */ public function setInterconnectGroups($interconnectGroups) { $this->interconnectGroups = $interconnectGroups; } /** * @return string[] */ public function getInterconnectGroups() { return $this->interconnectGroups; } /** * 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. * * Accepted values: DEDICATED, IT_PRIVATE, PARTNER * * @param self::INTERCONNECT_TYPE_* $interconnectType */ public function setInterconnectType($interconnectType) { $this->interconnectType = $interconnectType; } /** * @return self::INTERCONNECT_TYPE_* */ public function getInterconnectType() { return $this->interconnectType; } /** * Output only. [Output Only] Type of the resource. Alwayscompute#interconnect * for interconnects. * * @param string $kind */ public function setKind($kind) { $this->kind = $kind; } /** * @return string */ public function getKind() { return $this->kind; } /** * 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. * * @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; } /** * 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. * * Accepted values: LINK_TYPE_ETHERNET_100G_LR, LINK_TYPE_ETHERNET_10G_LR, * LINK_TYPE_ETHERNET_400G_LR4 * * @param self::LINK_TYPE_* $linkType */ public function setLinkType($linkType) { $this->linkType = $linkType; } /** * @return self::LINK_TYPE_* */ public function getLinkType() { return $this->linkType; } /** * URL of the InterconnectLocation object that represents where this * connection is to be provisioned. * * @param string $location */ public function setLocation($location) { $this->location = $location; } /** * @return string */ public function getLocation() { return $this->location; } /** * Configuration that enables Media Access Control security (MACsec) on the * Cloud Interconnect connection between Google and your on-premises router. * * @param InterconnectMacsec $macsec */ public function setMacsec(InterconnectMacsec $macsec) { $this->macsec = $macsec; } /** * @return InterconnectMacsec */ public function getMacsec() { return $this->macsec; } /** * Enable or disable MACsec on this Interconnect connection. MACsec enablement * fails if the MACsec object is not specified. * * @param bool $macsecEnabled */ public function setMacsecEnabled($macsecEnabled) { $this->macsecEnabled = $macsecEnabled; } /** * @return bool */ public function getMacsecEnabled() { return $this->macsecEnabled; } /** * 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; } /** * 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. * * @param string $nocContactEmail */ public function setNocContactEmail($nocContactEmail) { $this->nocContactEmail = $nocContactEmail; } /** * @return string */ public function getNocContactEmail() { return $this->nocContactEmail; } /** * 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. * * 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; } /** * Input only. [Input Only] Additional params passed with the request, but not * persisted as part of resource payload. * * @param InterconnectParams $params */ public function setParams(InterconnectParams $params) { $this->params = $params; } /** * @return InterconnectParams */ public function getParams() { return $this->params; } /** * 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. * * @param string $peerIpAddress */ public function setPeerIpAddress($peerIpAddress) { $this->peerIpAddress = $peerIpAddress; } /** * @return string */ public function getPeerIpAddress() { return $this->peerIpAddress; } /** * Output only. [Output Only] Number of links actually provisioned in this * interconnect. * * @param int $provisionedLinkCount */ public function setProvisionedLinkCount($provisionedLinkCount) { $this->provisionedLinkCount = $provisionedLinkCount; } /** * @return int */ public function getProvisionedLinkCount() { return $this->provisionedLinkCount; } /** * Indicates that this is a Cross-Cloud Interconnect. This field specifies the * location outside of Google's network that the interconnect is connected to. * * @param string $remoteLocation */ public function setRemoteLocation($remoteLocation) { $this->remoteLocation = $remoteLocation; } /** * @return string */ public function getRemoteLocation() { return $this->remoteLocation; } /** * 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. * * @param string[] $requestedFeatures */ public function setRequestedFeatures($requestedFeatures) { $this->requestedFeatures = $requestedFeatures; } /** * @return string[] */ public function getRequestedFeatures() { return $this->requestedFeatures; } /** * Target number of physical links in the link bundle, as requested by the * customer. * * @param int $requestedLinkCount */ public function setRequestedLinkCount($requestedLinkCount) { $this->requestedLinkCount = $requestedLinkCount; } /** * @return int */ public function getRequestedLinkCount() { return $this->requestedLinkCount; } /** * 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; } /** * 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. * * Accepted values: ACTIVE, UNPROVISIONED * * @param self::STATE_* $state */ public function setState($state) { $this->state = $state; } /** * @return self::STATE_* */ public function getState() { return $this->state; } /** * To be deprecated. * * Accepted values: SUBZONE_A, SUBZONE_B * * @param self::SUBZONE_* $subzone */ public function setSubzone($subzone) { $this->subzone = $subzone; } /** * @return self::SUBZONE_* */ public function getSubzone() { return $this->subzone; } /** * 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. * * @param string[] $wireGroups */ public function setWireGroups($wireGroups) { $this->wireGroups = $wireGroups; } /** * @return string[] */ public function getWireGroups() { return $this->wireGroups; } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(Interconnect::class, 'Google_Service_Compute_Interconnect');