📂 File Browser

AgentAI/vendor/google/apiclient-services/src/Networkconnectivity
🌙 Dark Mode
🎯 Quick Launch:

📁 Directories

📁 Resource/ 🔓 Open

📄 Files

🐘 AcceptHubSpokeRequest.php
▶ Open 📄 View Source
🐘 AcceptHubSpokeResponse.php
▶ Open 📄 View Source
🐘 AcceptSpokeRequest.php
▶ Open 📄 View Source
🐘 AcceptSpokeUpdateRequest.php
▶ Open 📄 View Source
🐘 AllocationOptions.php
▶ Open 📄 View Source
🐘 AttributeValue.php
▶ Open 📄 View Source
🐘 Attributes.php
▶ Open 📄 View Source
🐘 AuditConfig.php
▶ Open 📄 View Source
🐘 AuditLogConfig.php
▶ Open 📄 View Source
🐘 AutoAccept.php
▶ Open 📄 View Source
🐘 AutoCreatedSubnetworkInfo.php
▶ Open 📄 View Source
🐘 AutomatedDnsCreationSpec.php
▶ Open 📄 View Source
🐘 AutomatedDnsRecord.php
▶ Open 📄 View Source
🐘 BillingView.php
▶ Open 📄 View Source
🐘 Binding.php
▶ Open 📄 View Source
🐘 CheckConsumerConfigRequest.php
▶ Open 📄 View Source
🐘 CheckConsumerConfigResponse.php
▶ Open 📄 View Source
🐘 Config.php
▶ Open 📄 View Source
🐘 ConsumerPscConfig.php
▶ Open 📄 View Source
🐘 ConsumerPscConnection.php
▶ Open 📄 View Source
🐘 Destination.php
▶ Open 📄 View Source
🐘 DestinationEndpoint.php
▶ Open 📄 View Source
🐘 Distribution.php
▶ Open 📄 View Source
🐘 DnsAutomationStatus.php
▶ Open 📄 View Source
🐘 Exemplar.php
▶ Open 📄 View Source
🐘 ExplicitBuckets.php
▶ Open 📄 View Source
🐘 ExponentialBuckets.php
▶ Open 📄 View Source
🐘 Expr.php
▶ Open 📄 View Source
🐘 Filter.php
▶ Open 📄 View Source
🐘 GoogleLongrunningCancelOperationRequest.php
▶ Open 📄 View Source
🐘 GoogleLongrunningListOperationsResponse.php
▶ Open 📄 View Source
🐘 GoogleLongrunningOperation.php
▶ Open 📄 View Source
🐘 GoogleRpcErrorInfo.php
▶ Open 📄 View Source
🐘 GoogleRpcStatus.php
▶ Open 📄 View Source
🐘 Group.php
▶ Open 📄 View Source
🐘 HttpRequest.php
▶ Open 📄 View Source
🐘 Hub.php
▶ Open 📄 View Source
🐘 HubStatusEntry.php
▶ Open 📄 View Source
🐘 InterconnectAttachment.php
▶ Open 📄 View Source
🐘 InternalRange.php
▶ Open 📄 View Source
🐘 LinearBuckets.php
▶ Open 📄 View Source
🐘 LinkedInterconnectAttachments.php
▶ Open 📄 View Source
🐘 LinkedProducerVpcNetwork.php
▶ Open 📄 View Source
🐘 LinkedRouterApplianceInstances.php
▶ Open 📄 View Source
🐘 LinkedVpcNetwork.php
▶ Open 📄 View Source
🐘 LinkedVpnTunnels.php
▶ Open 📄 View Source
🐘 ListAutomatedDnsRecordsResponse.php
▶ Open 📄 View Source
🐘 ListDestinationsResponse.php
▶ Open 📄 View Source
🐘 ListGroupsResponse.php
▶ Open 📄 View Source
🐘 ListHubSpokesResponse.php
▶ Open 📄 View Source
🐘 ListHubsResponse.php
▶ Open 📄 View Source
🐘 ListInternalRangesResponse.php
▶ Open 📄 View Source
🐘 ListLocationsResponse.php
▶ Open 📄 View Source
🐘 ListMulticloudDataTransferConfigsResponse.php
▶ Open 📄 View Source
🐘 ListMulticloudDataTransferSupportedServicesResponse.php
▶ Open 📄 View Source
🐘 ListPolicyBasedRoutesResponse.php
▶ Open 📄 View Source
🐘 ListRegionalEndpointsResponse.php
▶ Open 📄 View Source
🐘 ListRemoteTransportProfilesResponse.php
▶ Open 📄 View Source
🐘 ListRouteTablesResponse.php
▶ Open 📄 View Source
🐘 ListRoutesResponse.php
▶ Open 📄 View Source
🐘 ListServiceClassesResponse.php
▶ Open 📄 View Source
🐘 ListServiceConnectionMapsResponse.php
▶ Open 📄 View Source
🐘 ListServiceConnectionPoliciesResponse.php
▶ Open 📄 View Source
🐘 ListServiceConnectionTokensResponse.php
▶ Open 📄 View Source
🐘 ListSpokesResponse.php
▶ Open 📄 View Source
🐘 ListTransportsResponse.php
▶ Open 📄 View Source
🐘 Location.php
▶ Open 📄 View Source
🐘 LocationMetadata.php
▶ Open 📄 View Source
🐘 LogEntry.php
▶ Open 📄 View Source
🐘 LogEntryOperation.php
▶ Open 📄 View Source
🐘 LogEntrySourceLocation.php
▶ Open 📄 View Source
🐘 MetricValue.php
▶ Open 📄 View Source
🐘 MetricValueSet.php
▶ Open 📄 View Source
🐘 Migration.php
▶ Open 📄 View Source
🐘 Money.php
▶ Open 📄 View Source
🐘 MulticloudDataTransferConfig.php
▶ Open 📄 View Source
🐘 MulticloudDataTransferSupportedService.php
▶ Open 📄 View Source
🐘 NetworkconnectivityEmpty.php
▶ Open 📄 View Source
🐘 NextHopInterconnectAttachment.php
▶ Open 📄 View Source
🐘 NextHopRouterApplianceInstance.php
▶ Open 📄 View Source
🐘 NextHopSpoke.php
▶ Open 📄 View Source
🐘 NextHopVPNTunnel.php
▶ Open 📄 View Source
🐘 NextHopVpcNetwork.php
▶ Open 📄 View Source
🐘 Operation.php
▶ Open 📄 View Source
🐘 OperationMetadata.php
▶ Open 📄 View Source
🐘 Policy.php
▶ Open 📄 View Source
🐘 PolicyBasedRoute.php
▶ Open 📄 View Source
🐘 ProducerPscConfig.php
▶ Open 📄 View Source
🐘 PscConfig.php
▶ Open 📄 View Source
🐘 PscConnection.php
▶ Open 📄 View Source
🐘 PscPropagationStatus.php
▶ Open 📄 View Source
🐘 QueryHubStatusResponse.php
▶ Open 📄 View Source
🐘 QuotaProperties.php
▶ Open 📄 View Source
🐘 RegionalEndpoint.php
▶ Open 📄 View Source
🐘 RejectHubSpokeRequest.php
▶ Open 📄 View Source
🐘 RejectHubSpokeResponse.php
▶ Open 📄 View Source
🐘 RejectSpokeRequest.php
▶ Open 📄 View Source
🐘 RejectSpokeUpdateRequest.php
▶ Open 📄 View Source
🐘 RemoteTransportProfile.php
▶ Open 📄 View Source
🐘 ReportRequest.php
▶ Open 📄 View Source
🐘 ResourceInfo.php
▶ Open 📄 View Source
🐘 Route.php
▶ Open 📄 View Source
🐘 RouteTable.php
▶ Open 📄 View Source
🐘 RouterApplianceInstance.php
▶ Open 📄 View Source
🐘 RoutingVPC.php
▶ Open 📄 View Source
🐘 ServiceClass.php
▶ Open 📄 View Source
🐘 ServiceConfig.php
▶ Open 📄 View Source
🐘 ServiceConnectionMap.php
▶ Open 📄 View Source
🐘 ServiceConnectionPolicy.php
▶ Open 📄 View Source
🐘 ServiceConnectionToken.php
▶ Open 📄 View Source
🐘 SetIamPolicyRequest.php
▶ Open 📄 View Source
🐘 Spoke.php
▶ Open 📄 View Source
🐘 SpokeStateCount.php
▶ Open 📄 View Source
🐘 SpokeStateReasonCount.php
▶ Open 📄 View Source
🐘 SpokeSummary.php
▶ Open 📄 View Source
🐘 SpokeTypeCount.php
▶ Open 📄 View Source
🐘 StateMetadata.php
▶ Open 📄 View Source
🐘 StateReason.php
▶ Open 📄 View Source
🐘 StateTimeline.php
▶ Open 📄 View Source
🐘 TestIamPermissionsRequest.php
▶ Open 📄 View Source
🐘 TestIamPermissionsResponse.php
▶ Open 📄 View Source
🐘 TraceSpan.php
▶ Open 📄 View Source
🐘 Transport.php
▶ Open 📄 View Source
🐘 TruncatableString.php
▶ Open 📄 View Source
🐘 VirtualMachine.php
▶ Open 📄 View Source
🐘 Warnings.php
▶ Open 📄 View Source

📄 Source: InternalRange.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\Networkconnectivity;

class InternalRange extends \Google\Collection
{
  /**
   * If Peering is left unspecified in CreateInternalRange or
   * UpdateInternalRange, it will be defaulted to FOR_SELF.
   */
  public const PEERING_PEERING_UNSPECIFIED = 'PEERING_UNSPECIFIED';
  /**
   * This is the default behavior and represents the case that this internal
   * range is intended to be used in the VPC in which it is created and is
   * accessible from its peers. This implies that peers or peers-of-peers cannot
   * use this range.
   */
  public const PEERING_FOR_SELF = 'FOR_SELF';
  /**
   * This behavior can be set when the internal range is being reserved for
   * usage by peers. This means that no resource within the VPC in which it is
   * being created can use this to associate with a VPC resource, but one of the
   * peers can. This represents donating a range for peers to use.
   */
  public const PEERING_FOR_PEER = 'FOR_PEER';
  /**
   * This behavior can be set when the internal range is being reserved for
   * usage by the VPC in which it is created, but not shared with peers. In a
   * sense, it is local to the VPC. This can be used to create internal ranges
   * for various purposes like HTTP_INTERNAL_LOAD_BALANCER or for Interconnect
   * routes that are not shared with peers. This also implies that peers cannot
   * use this range in a way that is visible to this VPC, but can re-use this
   * range as long as it is NOT_SHARED from the peer VPC, too.
   */
  public const PEERING_NOT_SHARED = 'NOT_SHARED';
  /**
   * Unspecified usage is allowed in calls which identify the resource by other
   * fields and do not need Usage set to complete. These are, i.e.:
   * GetInternalRange and DeleteInternalRange. Usage needs to be specified
   * explicitly in CreateInternalRange or UpdateInternalRange calls.
   */
  public const USAGE_USAGE_UNSPECIFIED = 'USAGE_UNSPECIFIED';
  /**
   * A VPC resource can use the reserved CIDR block by associating it with the
   * internal range resource if usage is set to FOR_VPC.
   */
  public const USAGE_FOR_VPC = 'FOR_VPC';
  /**
   * Ranges created with EXTERNAL_TO_VPC cannot be associated with VPC resources
   * and are meant to block out address ranges for various use cases, like for
   * example, usage on-prem, with dynamic route announcements via interconnect.
   */
  public const USAGE_EXTERNAL_TO_VPC = 'EXTERNAL_TO_VPC';
  /**
   * Ranges created FOR_MIGRATION can be used to lock a CIDR range between a
   * source and target subnet. If usage is set to FOR_MIGRATION, the peering
   * value has to be set to FOR_SELF or default to FOR_SELF when unset.
   */
  public const USAGE_FOR_MIGRATION = 'FOR_MIGRATION';
  protected $collection_key = 'users';
  protected $allocationOptionsType = AllocationOptions::class;
  protected $allocationOptionsDataType = '';
  /**
   * Output only. Time when the internal range was created.
   *
   * @var string
   */
  public $createTime;
  /**
   * Optional. A description of this resource.
   *
   * @var string
   */
  public $description;
  /**
   * Optional. ExcludeCidrRanges flag. Specifies a set of CIDR blocks that
   * allows exclusion of particular CIDR ranges from the auto-allocation
   * process, without having to reserve these blocks
   *
   * @var string[]
   */
  public $excludeCidrRanges;
  /**
   * Optional. Immutable ranges cannot have their fields modified, except for
   * labels and description.
   *
   * @var bool
   */
  public $immutable;
  /**
   * Optional. The IP range that this internal range defines. NOTE: IPv6 ranges
   * are limited to usage=EXTERNAL_TO_VPC and peering=FOR_SELF. NOTE: For IPv6
   * Ranges this field is compulsory, i.e. the address range must be specified
   * explicitly.
   *
   * @var string
   */
  public $ipCidrRange;
  /**
   * User-defined labels.
   *
   * @var string[]
   */
  public $labels;
  protected $migrationType = Migration::class;
  protected $migrationDataType = '';
  /**
   * Identifier. The name of an internal range. Format:
   * projects/{project}/locations/{location}/internalRanges/{internal_range}
   * See: https://google.aip.dev/122#fields-representing-resource-names
   *
   * @var string
   */
  public $name;
  /**
   * Immutable. The URL or resource ID of the network in which to reserve the
   * internal range. The network cannot be deleted if there are any reserved
   * internal ranges referring to it. Legacy networks are not supported. For
   * example: https://www.googleapis.com/compute/v1/projects/{project}/locations
   * /global/networks/{network}
   * projects/{project}/locations/global/networks/{network} {network}
   *
   * @var string
   */
  public $network;
  /**
   * Optional. Types of resources that are allowed to overlap with the current
   * internal range.
   *
   * @var string[]
   */
  public $overlaps;
  /**
   * Optional. The type of peering set for this internal range.
   *
   * @var string
   */
  public $peering;
  /**
   * Optional. An alternate to ip_cidr_range. Can be set when trying to create
   * an IPv4 reservation that automatically finds a free range of the given
   * size. If both ip_cidr_range and prefix_length are set, there is an error if
   * the range sizes do not match. Can also be used during updates to change the
   * range size. NOTE: For IPv6 this field only works if ip_cidr_range is set as
   * well, and both fields must match. In other words, with IPv6 this field only
   * works as a redundant parameter.
   *
   * @var int
   */
  public $prefixLength;
  /**
   * Optional. Can be set to narrow down or pick a different address space while
   * searching for a free range. If not set, defaults to the ["10.0.0.0/8",
   * "172.16.0.0/12", "192.168.0.0/16"] address space (for auto-mode networks,
   * the "10.0.0.0/9" range is used instead of "10.0.0.0/8"). This can be used
   * to target the search in other rfc-1918 address spaces like "172.16.0.0/12"
   * and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC.
   *
   * @var string[]
   */
  public $targetCidrRange;
  /**
   * Output only. Time when the internal range was updated.
   *
   * @var string
   */
  public $updateTime;
  /**
   * Optional. The type of usage set for this InternalRange.
   *
   * @var string
   */
  public $usage;
  /**
   * Output only. The list of resources that refer to this internal range.
   * Resources that use the internal range for their range allocation are
   * referred to as users of the range. Other resources mark themselves as users
   * while doing so by creating a reference to this internal range. Having a
   * user, based on this reference, prevents deletion of the internal range
   * referred to. Can be empty.
   *
   * @var string[]
   */
  public $users;

  /**
   * Optional. Range auto-allocation options, may be set only when auto-
   * allocation is selected by not setting ip_cidr_range (and setting
   * prefix_length).
   *
   * @param AllocationOptions $allocationOptions
   */
  public function setAllocationOptions(AllocationOptions $allocationOptions)
  {
    $this->allocationOptions = $allocationOptions;
  }
  /**
   * @return AllocationOptions
   */
  public function getAllocationOptions()
  {
    return $this->allocationOptions;
  }
  /**
   * Output only. Time when the internal range was created.
   *
   * @param string $createTime
   */
  public function setCreateTime($createTime)
  {
    $this->createTime = $createTime;
  }
  /**
   * @return string
   */
  public function getCreateTime()
  {
    return $this->createTime;
  }
  /**
   * Optional. A description of this resource.
   *
   * @param string $description
   */
  public function setDescription($description)
  {
    $this->description = $description;
  }
  /**
   * @return string
   */
  public function getDescription()
  {
    return $this->description;
  }
  /**
   * Optional. ExcludeCidrRanges flag. Specifies a set of CIDR blocks that
   * allows exclusion of particular CIDR ranges from the auto-allocation
   * process, without having to reserve these blocks
   *
   * @param string[] $excludeCidrRanges
   */
  public function setExcludeCidrRanges($excludeCidrRanges)
  {
    $this->excludeCidrRanges = $excludeCidrRanges;
  }
  /**
   * @return string[]
   */
  public function getExcludeCidrRanges()
  {
    return $this->excludeCidrRanges;
  }
  /**
   * Optional. Immutable ranges cannot have their fields modified, except for
   * labels and description.
   *
   * @param bool $immutable
   */
  public function setImmutable($immutable)
  {
    $this->immutable = $immutable;
  }
  /**
   * @return bool
   */
  public function getImmutable()
  {
    return $this->immutable;
  }
  /**
   * Optional. The IP range that this internal range defines. NOTE: IPv6 ranges
   * are limited to usage=EXTERNAL_TO_VPC and peering=FOR_SELF. NOTE: For IPv6
   * Ranges this field is compulsory, i.e. the address range must be specified
   * explicitly.
   *
   * @param string $ipCidrRange
   */
  public function setIpCidrRange($ipCidrRange)
  {
    $this->ipCidrRange = $ipCidrRange;
  }
  /**
   * @return string
   */
  public function getIpCidrRange()
  {
    return $this->ipCidrRange;
  }
  /**
   * User-defined labels.
   *
   * @param string[] $labels
   */
  public function setLabels($labels)
  {
    $this->labels = $labels;
  }
  /**
   * @return string[]
   */
  public function getLabels()
  {
    return $this->labels;
  }
  /**
   * Optional. Must be present if usage is set to FOR_MIGRATION.
   *
   * @param Migration $migration
   */
  public function setMigration(Migration $migration)
  {
    $this->migration = $migration;
  }
  /**
   * @return Migration
   */
  public function getMigration()
  {
    return $this->migration;
  }
  /**
   * Identifier. The name of an internal range. Format:
   * projects/{project}/locations/{location}/internalRanges/{internal_range}
   * See: https://google.aip.dev/122#fields-representing-resource-names
   *
   * @param string $name
   */
  public function setName($name)
  {
    $this->name = $name;
  }
  /**
   * @return string
   */
  public function getName()
  {
    return $this->name;
  }
  /**
   * Immutable. The URL or resource ID of the network in which to reserve the
   * internal range. The network cannot be deleted if there are any reserved
   * internal ranges referring to it. Legacy networks are not supported. For
   * example: https://www.googleapis.com/compute/v1/projects/{project}/locations
   * /global/networks/{network}
   * projects/{project}/locations/global/networks/{network} {network}
   *
   * @param string $network
   */
  public function setNetwork($network)
  {
    $this->network = $network;
  }
  /**
   * @return string
   */
  public function getNetwork()
  {
    return $this->network;
  }
  /**
   * Optional. Types of resources that are allowed to overlap with the current
   * internal range.
   *
   * @param string[] $overlaps
   */
  public function setOverlaps($overlaps)
  {
    $this->overlaps = $overlaps;
  }
  /**
   * @return string[]
   */
  public function getOverlaps()
  {
    return $this->overlaps;
  }
  /**
   * Optional. The type of peering set for this internal range.
   *
   * Accepted values: PEERING_UNSPECIFIED, FOR_SELF, FOR_PEER, NOT_SHARED
   *
   * @param self::PEERING_* $peering
   */
  public function setPeering($peering)
  {
    $this->peering = $peering;
  }
  /**
   * @return self::PEERING_*
   */
  public function getPeering()
  {
    return $this->peering;
  }
  /**
   * Optional. An alternate to ip_cidr_range. Can be set when trying to create
   * an IPv4 reservation that automatically finds a free range of the given
   * size. If both ip_cidr_range and prefix_length are set, there is an error if
   * the range sizes do not match. Can also be used during updates to change the
   * range size. NOTE: For IPv6 this field only works if ip_cidr_range is set as
   * well, and both fields must match. In other words, with IPv6 this field only
   * works as a redundant parameter.
   *
   * @param int $prefixLength
   */
  public function setPrefixLength($prefixLength)
  {
    $this->prefixLength = $prefixLength;
  }
  /**
   * @return int
   */
  public function getPrefixLength()
  {
    return $this->prefixLength;
  }
  /**
   * Optional. Can be set to narrow down or pick a different address space while
   * searching for a free range. If not set, defaults to the ["10.0.0.0/8",
   * "172.16.0.0/12", "192.168.0.0/16"] address space (for auto-mode networks,
   * the "10.0.0.0/9" range is used instead of "10.0.0.0/8"). This can be used
   * to target the search in other rfc-1918 address spaces like "172.16.0.0/12"
   * and "192.168.0.0/16" or non-rfc-1918 address spaces used in the VPC.
   *
   * @param string[] $targetCidrRange
   */
  public function setTargetCidrRange($targetCidrRange)
  {
    $this->targetCidrRange = $targetCidrRange;
  }
  /**
   * @return string[]
   */
  public function getTargetCidrRange()
  {
    return $this->targetCidrRange;
  }
  /**
   * Output only. Time when the internal range was updated.
   *
   * @param string $updateTime
   */
  public function setUpdateTime($updateTime)
  {
    $this->updateTime = $updateTime;
  }
  /**
   * @return string
   */
  public function getUpdateTime()
  {
    return $this->updateTime;
  }
  /**
   * Optional. The type of usage set for this InternalRange.
   *
   * Accepted values: USAGE_UNSPECIFIED, FOR_VPC, EXTERNAL_TO_VPC, FOR_MIGRATION
   *
   * @param self::USAGE_* $usage
   */
  public function setUsage($usage)
  {
    $this->usage = $usage;
  }
  /**
   * @return self::USAGE_*
   */
  public function getUsage()
  {
    return $this->usage;
  }
  /**
   * Output only. The list of resources that refer to this internal range.
   * Resources that use the internal range for their range allocation are
   * referred to as users of the range. Other resources mark themselves as users
   * while doing so by creating a reference to this internal range. Having a
   * user, based on this reference, prevents deletion of the internal range
   * referred to. Can be empty.
   *
   * @param string[] $users
   */
  public function setUsers($users)
  {
    $this->users = $users;
  }
  /**
   * @return string[]
   */
  public function getUsers()
  {
    return $this->users;
  }
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(InternalRange::class, 'Google_Service_Networkconnectivity_InternalRange');
← Back