📂 File Browser

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

📁 Directories

📁 Resource/ 🔓 Open

📄 Files

🐘 AcceleratorConfig.php
▶ Open 📄 View Source
🐘 AccurateTimeConfig.php
▶ Open 📄 View Source
🐘 AdditionalIPRangesConfig.php
▶ Open 📄 View Source
🐘 AdditionalNodeNetworkConfig.php
▶ Open 📄 View Source
🐘 AdditionalPodNetworkConfig.php
▶ Open 📄 View Source
🐘 AdditionalPodRangesConfig.php
▶ Open 📄 View Source
🐘 AddonsConfig.php
▶ Open 📄 View Source
🐘 AdvancedDatapathObservabilityConfig.php
▶ Open 📄 View Source
🐘 AdvancedMachineFeatures.php
▶ Open 📄 View Source
🐘 AnonymousAuthenticationConfig.php
▶ Open 📄 View Source
🐘 AuthenticatorGroupsConfig.php
▶ Open 📄 View Source
🐘 AutoIpamConfig.php
▶ Open 📄 View Source
🐘 AutoMonitoringConfig.php
▶ Open 📄 View Source
🐘 AutoUpgradeOptions.php
▶ Open 📄 View Source
🐘 Autopilot.php
▶ Open 📄 View Source
🐘 AutopilotCompatibilityIssue.php
▶ Open 📄 View Source
🐘 AutopilotConfig.php
▶ Open 📄 View Source
🐘 AutoprovisioningNodePoolDefaults.php
▶ Open 📄 View Source
🐘 AutoscaledRolloutPolicy.php
▶ Open 📄 View Source
🐘 BestEffortProvisioning.php
▶ Open 📄 View Source
🐘 BigQueryDestination.php
▶ Open 📄 View Source
🐘 BinaryAuthorization.php
▶ Open 📄 View Source
🐘 BlueGreenInfo.php
▶ Open 📄 View Source
🐘 BlueGreenSettings.php
▶ Open 📄 View Source
🐘 BootDisk.php
▶ Open 📄 View Source
🐘 BootDiskProfile.php
▶ Open 📄 View Source
🐘 CancelOperationRequest.php
▶ Open 📄 View Source
🐘 CertificateAuthorityDomainConfig.php
▶ Open 📄 View Source
🐘 CertificateConfig.php
▶ Open 📄 View Source
🐘 CertificateConfigPair.php
▶ Open 📄 View Source
🐘 CheckAutopilotCompatibilityResponse.php
▶ Open 📄 View Source
🐘 CidrBlock.php
▶ Open 📄 View Source
🐘 ClientCertificateConfig.php
▶ Open 📄 View Source
🐘 CloudRunConfig.php
▶ Open 📄 View Source
🐘 Cluster.php
▶ Open 📄 View Source
🐘 ClusterAutoscaling.php
▶ Open 📄 View Source
🐘 ClusterNetworkPerformanceConfig.php
▶ Open 📄 View Source
🐘 ClusterPolicyConfig.php
▶ Open 📄 View Source
🐘 ClusterUpdate.php
▶ Open 📄 View Source
🐘 ClusterUpgradeInfo.php
▶ Open 📄 View Source
🐘 CompleteIPRotationRequest.php
▶ Open 📄 View Source
🐘 CompleteNodePoolUpgradeRequest.php
▶ Open 📄 View Source
🐘 CompliancePostureConfig.php
▶ Open 📄 View Source
🐘 ComplianceStandard.php
▶ Open 📄 View Source
🐘 ConfidentialNodes.php
▶ Open 📄 View Source
🐘 ConfigConnectorConfig.php
▶ Open 📄 View Source
🐘 ConsumptionMeteringConfig.php
▶ Open 📄 View Source
🐘 ContainerEmpty.php
▶ Open 📄 View Source
🐘 ContainerdConfig.php
▶ Open 📄 View Source
🐘 ControlPlaneEgress.php
▶ Open 📄 View Source
🐘 ControlPlaneEndpointsConfig.php
▶ Open 📄 View Source
🐘 CostManagementConfig.php
▶ Open 📄 View Source
🐘 CrashLoopBackOffConfig.php
▶ Open 📄 View Source
🐘 CreateClusterRequest.php
▶ Open 📄 View Source
🐘 CreateNodePoolRequest.php
▶ Open 📄 View Source
🐘 DNSConfig.php
▶ Open 📄 View Source
🐘 DNSEndpointConfig.php
▶ Open 📄 View Source
🐘 DailyMaintenanceWindow.php
▶ Open 📄 View Source
🐘 DatabaseEncryption.php
▶ Open 📄 View Source
🐘 DedicatedLocalSsdProfile.php
▶ Open 📄 View Source
🐘 DefaultComputeClassConfig.php
▶ Open 📄 View Source
🐘 DefaultSnatStatus.php
▶ Open 📄 View Source
🐘 DesiredAdditionalIPRangesConfig.php
▶ Open 📄 View Source
🐘 DesiredEnterpriseConfig.php
▶ Open 📄 View Source
🐘 DisruptionBudget.php
▶ Open 📄 View Source
🐘 DisruptionEvent.php
▶ Open 📄 View Source
🐘 DnsCacheConfig.php
▶ Open 📄 View Source
🐘 EncryptionConfig.php
▶ Open 📄 View Source
🐘 EnterpriseConfig.php
▶ Open 📄 View Source
🐘 EphemeralLocalSsdProfile.php
▶ Open 📄 View Source
🐘 EphemeralStorageLocalSsdConfig.php
▶ Open 📄 View Source
🐘 EvictionGracePeriod.php
▶ Open 📄 View Source
🐘 EvictionMinimumReclaim.php
▶ Open 📄 View Source
🐘 EvictionSignals.php
▶ Open 📄 View Source
🐘 FastSocket.php
▶ Open 📄 View Source
🐘 Filter.php
▶ Open 📄 View Source
🐘 Fleet.php
▶ Open 📄 View Source
🐘 GCPSecretManagerCertificateConfig.php
▶ Open 📄 View Source
🐘 GPUDirectConfig.php
▶ Open 📄 View Source
🐘 GPUDriverInstallationConfig.php
▶ Open 📄 View Source
🐘 GPUSharingConfig.php
▶ Open 📄 View Source
🐘 GatewayAPIConfig.php
▶ Open 📄 View Source
🐘 GcePersistentDiskCsiDriverConfig.php
▶ Open 📄 View Source
🐘 GcfsConfig.php
▶ Open 📄 View Source
🐘 GcpFilestoreCsiDriverConfig.php
▶ Open 📄 View Source
🐘 GcsFuseCsiDriverConfig.php
▶ Open 📄 View Source
🐘 GetJSONWebKeysResponse.php
▶ Open 📄 View Source
🐘 GetOpenIDConfigResponse.php
▶ Open 📄 View Source
🐘 GkeAutoUpgradeConfig.php
▶ Open 📄 View Source
🐘 GkeBackupAgentConfig.php
▶ Open 📄 View Source
🐘 HighScaleCheckpointingConfig.php
▶ Open 📄 View Source
🐘 HorizontalPodAutoscaling.php
▶ Open 📄 View Source
🐘 HostConfig.php
▶ Open 📄 View Source
🐘 HttpCacheControlResponseHeader.php
▶ Open 📄 View Source
🐘 HttpLoadBalancing.php
▶ Open 📄 View Source
🐘 HugepagesConfig.php
▶ Open 📄 View Source
🐘 ILBSubsettingConfig.php
▶ Open 📄 View Source
🐘 IPAllocationPolicy.php
▶ Open 📄 View Source
🐘 IPEndpointsConfig.php
▶ Open 📄 View Source
🐘 IdentityServiceConfig.php
▶ Open 📄 View Source
🐘 IntraNodeVisibilityConfig.php
▶ Open 📄 View Source
🐘 Jwk.php
▶ Open 📄 View Source
🐘 K8sBetaAPIConfig.php
▶ Open 📄 View Source
🐘 KubernetesDashboard.php
▶ Open 📄 View Source
🐘 LegacyAbac.php
▶ Open 📄 View Source
🐘 LinuxNodeConfig.php
▶ Open 📄 View Source
🐘 ListClustersResponse.php
▶ Open 📄 View Source
🐘 ListNodePoolsResponse.php
▶ Open 📄 View Source
🐘 ListOperationsResponse.php
▶ Open 📄 View Source
🐘 ListUsableSubnetworksResponse.php
▶ Open 📄 View Source
🐘 LocalNvmeSsdBlockConfig.php
▶ Open 📄 View Source
🐘 LoggingComponentConfig.php
▶ Open 📄 View Source
🐘 LoggingConfig.php
▶ Open 📄 View Source
🐘 LoggingVariantConfig.php
▶ Open 📄 View Source
🐘 LustreCsiDriverConfig.php
▶ Open 📄 View Source
🐘 MaintenanceExclusionOptions.php
▶ Open 📄 View Source
🐘 MaintenancePolicy.php
▶ Open 📄 View Source
🐘 MaintenanceWindow.php
▶ Open 📄 View Source
🐘 ManagedMachineLearningDiagnosticsConfig.php
▶ Open 📄 View Source
🐘 ManagedOpenTelemetryConfig.php
▶ Open 📄 View Source
🐘 ManagedPrometheusConfig.php
▶ Open 📄 View Source
🐘 MasterAuth.php
▶ Open 📄 View Source
🐘 MasterAuthorizedNetworksConfig.php
▶ Open 📄 View Source
🐘 MaxPodsConstraint.php
▶ Open 📄 View Source
🐘 MemoryManager.php
▶ Open 📄 View Source
🐘 MeshCertificates.php
▶ Open 📄 View Source
🐘 Metric.php
▶ Open 📄 View Source
🐘 MonitoringComponentConfig.php
▶ Open 📄 View Source
🐘 MonitoringConfig.php
▶ Open 📄 View Source
🐘 NetworkConfig.php
▶ Open 📄 View Source
🐘 NetworkPerformanceConfig.php
▶ Open 📄 View Source
🐘 NetworkPolicy.php
▶ Open 📄 View Source
🐘 NetworkPolicyConfig.php
▶ Open 📄 View Source
🐘 NetworkTags.php
▶ Open 📄 View Source
🐘 NetworkTierConfig.php
▶ Open 📄 View Source
🐘 NodeAffinity.php
▶ Open 📄 View Source
🐘 NodeConfig.php
▶ Open 📄 View Source
🐘 NodeConfigDefaults.php
▶ Open 📄 View Source
🐘 NodeDrainConfig.php
▶ Open 📄 View Source
🐘 NodeKernelModuleLoading.php
▶ Open 📄 View Source
🐘 NodeKubeletConfig.php
▶ Open 📄 View Source
🐘 NodeLabels.php
▶ Open 📄 View Source
🐘 NodeManagement.php
▶ Open 📄 View Source
🐘 NodeNetworkConfig.php
▶ Open 📄 View Source
🐘 NodePool.php
▶ Open 📄 View Source
🐘 NodePoolAutoConfig.php
▶ Open 📄 View Source
🐘 NodePoolAutoscaling.php
▶ Open 📄 View Source
🐘 NodePoolDefaults.php
▶ Open 📄 View Source
🐘 NodePoolLoggingConfig.php
▶ Open 📄 View Source
🐘 NodePoolUpgradeInfo.php
▶ Open 📄 View Source
🐘 NodeTaint.php
▶ Open 📄 View Source
🐘 NodeTaints.php
▶ Open 📄 View Source
🐘 NotificationConfig.php
▶ Open 📄 View Source
🐘 Operation.php
▶ Open 📄 View Source
🐘 OperationError.php
▶ Open 📄 View Source
🐘 OperationProgress.php
▶ Open 📄 View Source
🐘 ParallelstoreCsiDriverConfig.php
▶ Open 📄 View Source
🐘 ParentProductConfig.php
▶ Open 📄 View Source
🐘 PdbBlockedPod.php
▶ Open 📄 View Source
🐘 PlacementPolicy.php
▶ Open 📄 View Source
🐘 PodAutoscaling.php
▶ Open 📄 View Source
🐘 PodCIDROverprovisionConfig.php
▶ Open 📄 View Source
🐘 PodSnapshotConfig.php
▶ Open 📄 View Source
🐘 PrivateClusterConfig.php
▶ Open 📄 View Source
🐘 PrivateClusterMasterGlobalAccessConfig.php
▶ Open 📄 View Source
🐘 PrivateRegistryAccessConfig.php
▶ Open 📄 View Source
🐘 PrivilegedAdmissionConfig.php
▶ Open 📄 View Source
🐘 PubSub.php
▶ Open 📄 View Source
🐘 QueuedProvisioning.php
▶ Open 📄 View Source
🐘 RBACBindingConfig.php
▶ Open 📄 View Source
🐘 RangeInfo.php
▶ Open 📄 View Source
🐘 RayClusterLoggingConfig.php
▶ Open 📄 View Source
🐘 RayClusterMonitoringConfig.php
▶ Open 📄 View Source
🐘 RayOperatorConfig.php
▶ Open 📄 View Source
🐘 RecurringTimeWindow.php
▶ Open 📄 View Source
🐘 RegistryHeader.php
▶ Open 📄 View Source
🐘 RegistryHostConfig.php
▶ Open 📄 View Source
🐘 ReleaseChannel.php
▶ Open 📄 View Source
🐘 ReleaseChannelConfig.php
▶ Open 📄 View Source
🐘 ReservationAffinity.php
▶ Open 📄 View Source
🐘 ResourceLabels.php
▶ Open 📄 View Source
🐘 ResourceLimit.php
▶ Open 📄 View Source
🐘 ResourceManagerTags.php
▶ Open 📄 View Source
🐘 ResourceUsageExportConfig.php
▶ Open 📄 View Source
🐘 RollbackNodePoolUpgradeRequest.php
▶ Open 📄 View Source
🐘 RotationConfig.php
▶ Open 📄 View Source
🐘 SandboxConfig.php
▶ Open 📄 View Source
🐘 ScheduleUpgradeConfig.php
▶ Open 📄 View Source
🐘 SecondaryBootDisk.php
▶ Open 📄 View Source
🐘 SecondaryBootDiskUpdateStrategy.php
▶ Open 📄 View Source
🐘 SecretManagerConfig.php
▶ Open 📄 View Source
🐘 SecretSyncConfig.php
▶ Open 📄 View Source
🐘 SecurityBulletinEvent.php
▶ Open 📄 View Source
🐘 SecurityPostureConfig.php
▶ Open 📄 View Source
🐘 ServerConfig.php
▶ Open 📄 View Source
🐘 ServiceExternalIPsConfig.php
▶ Open 📄 View Source
🐘 SetAddonsConfigRequest.php
▶ Open 📄 View Source
🐘 SetLabelsRequest.php
▶ Open 📄 View Source
🐘 SetLegacyAbacRequest.php
▶ Open 📄 View Source
🐘 SetLocationsRequest.php
▶ Open 📄 View Source
🐘 SetLoggingServiceRequest.php
▶ Open 📄 View Source
🐘 SetMaintenancePolicyRequest.php
▶ Open 📄 View Source
🐘 SetMasterAuthRequest.php
▶ Open 📄 View Source
🐘 SetMonitoringServiceRequest.php
▶ Open 📄 View Source
🐘 SetNetworkPolicyRequest.php
▶ Open 📄 View Source
🐘 SetNodePoolAutoscalingRequest.php
▶ Open 📄 View Source
🐘 SetNodePoolManagementRequest.php
▶ Open 📄 View Source
🐘 SetNodePoolSizeRequest.php
▶ Open 📄 View Source
🐘 ShieldedInstanceConfig.php
▶ Open 📄 View Source
🐘 ShieldedNodes.php
▶ Open 📄 View Source
🐘 SliceControllerConfig.php
▶ Open 📄 View Source
🐘 SlurmOperatorConfig.php
▶ Open 📄 View Source
🐘 SoleTenantConfig.php
▶ Open 📄 View Source
🐘 StandardRolloutPolicy.php
▶ Open 📄 View Source
🐘 StartIPRotationRequest.php
▶ Open 📄 View Source
🐘 StatefulHAConfig.php
▶ Open 📄 View Source
🐘 Status.php
▶ Open 📄 View Source
🐘 StatusCondition.php
▶ Open 📄 View Source
🐘 SwapConfig.php
▶ Open 📄 View Source
🐘 SyncRotationConfig.php
▶ Open 📄 View Source
🐘 TaintConfig.php
▶ Open 📄 View Source
🐘 TimeWindow.php
▶ Open 📄 View Source
🐘 TopologyManager.php
▶ Open 📄 View Source
🐘 UpdateClusterRequest.php
▶ Open 📄 View Source
🐘 UpdateInfo.php
▶ Open 📄 View Source
🐘 UpdateMasterRequest.php
▶ Open 📄 View Source
🐘 UpdateNodePoolRequest.php
▶ Open 📄 View Source
🐘 UpgradeAvailableEvent.php
▶ Open 📄 View Source
🐘 UpgradeDetails.php
▶ Open 📄 View Source
🐘 UpgradeEvent.php
▶ Open 📄 View Source
🐘 UpgradeInfoEvent.php
▶ Open 📄 View Source
🐘 UpgradeSettings.php
▶ Open 📄 View Source
🐘 UsableSubnetwork.php
▶ Open 📄 View Source
🐘 UsableSubnetworkSecondaryRange.php
▶ Open 📄 View Source
🐘 UserManagedKeysConfig.php
▶ Open 📄 View Source
🐘 VerticalPodAutoscaling.php
▶ Open 📄 View Source
🐘 VirtualNIC.php
▶ Open 📄 View Source
🐘 WindowsNodeConfig.php
▶ Open 📄 View Source
🐘 WorkloadIdentityConfig.php
▶ Open 📄 View Source
🐘 WorkloadMetadataConfig.php
▶ Open 📄 View Source
🐘 WorkloadPolicyConfig.php
▶ Open 📄 View Source
🐘 WritableCgroups.php
▶ Open 📄 View Source

📄 Source: IPAllocationPolicy.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\Container;

class IPAllocationPolicy extends \Google\Collection
{
  /**
   * Default value, will be defaulted as type external.
   */
  public const IPV6_ACCESS_TYPE_IPV6_ACCESS_TYPE_UNSPECIFIED = 'IPV6_ACCESS_TYPE_UNSPECIFIED';
  /**
   * Access type internal (all v6 addresses are internal IPs)
   */
  public const IPV6_ACCESS_TYPE_INTERNAL = 'INTERNAL';
  /**
   * Access type external (all v6 addresses are external IPs)
   */
  public const IPV6_ACCESS_TYPE_EXTERNAL = 'EXTERNAL';
  /**
   * Default value, will be defaulted as IPV4 only
   */
  public const STACK_TYPE_STACK_TYPE_UNSPECIFIED = 'STACK_TYPE_UNSPECIFIED';
  /**
   * Cluster is IPV4 only
   */
  public const STACK_TYPE_IPV4 = 'IPV4';
  /**
   * Cluster can use both IPv4 and IPv6
   */
  public const STACK_TYPE_IPV4_IPV6 = 'IPV4_IPV6';
  protected $collection_key = 'additionalIpRangesConfigs';
  protected $additionalIpRangesConfigsType = AdditionalIPRangesConfig::class;
  protected $additionalIpRangesConfigsDataType = 'array';
  protected $additionalPodRangesConfigType = AdditionalPodRangesConfig::class;
  protected $additionalPodRangesConfigDataType = '';
  protected $autoIpamConfigType = AutoIpamConfig::class;
  protected $autoIpamConfigDataType = '';
  /**
   * This field is deprecated, use cluster_ipv4_cidr_block.
   *
   * @deprecated
   * @var string
   */
  public $clusterIpv4Cidr;
  /**
   * The IP address range for the cluster pod IPs. If this field is set, then
   * `cluster.cluster_ipv4_cidr` must be left blank. This field is only
   * applicable when `use_ip_aliases` is true. Set to blank to have a range
   * chosen with the default size. Set to /netmask (e.g. `/14`) to have a range
   * chosen with a specific netmask. Set to a
   * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
   * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
   * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
   * to use.
   *
   * @var string
   */
  public $clusterIpv4CidrBlock;
  /**
   * The name of the secondary range to be used for the cluster CIDR block. The
   * secondary range will be used for pod IP addresses. This must be an existing
   * secondary range associated with the cluster subnetwork. This field is only
   * applicable with use_ip_aliases is true and create_subnetwork is false.
   *
   * @var string
   */
  public $clusterSecondaryRangeName;
  /**
   * Whether a new subnetwork will be created automatically for the cluster.
   * This field is only applicable when `use_ip_aliases` is true.
   *
   * @var bool
   */
  public $createSubnetwork;
  /**
   * Output only. The utilization of the cluster default IPv4 range for the pod.
   * The ratio is Usage/[Total number of IPs in the secondary range],
   * Usage=numNodes*numZones*podIPsPerNode.
   *
   * @var 
   */
  public $defaultPodIpv4RangeUtilization;
  /**
   * The ipv6 access type (internal or external) when create_subnetwork is true
   *
   * @var string
   */
  public $ipv6AccessType;
  protected $networkTierConfigType = NetworkTierConfig::class;
  protected $networkTierConfigDataType = '';
  /**
   * This field is deprecated, use node_ipv4_cidr_block.
   *
   * @deprecated
   * @var string
   */
  public $nodeIpv4Cidr;
  /**
   * The IP address range of the instance IPs in this cluster. This is
   * applicable only if `create_subnetwork` is true. Set to blank to have a
   * range chosen with the default size. Set to /netmask (e.g. `/14`) to have a
   * range chosen with a specific netmask. Set to a
   * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
   * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
   * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
   * to use.
   *
   * @var string
   */
  public $nodeIpv4CidrBlock;
  protected $podCidrOverprovisionConfigType = PodCIDROverprovisionConfig::class;
  protected $podCidrOverprovisionConfigDataType = '';
  /**
   * This field is deprecated, use services_ipv4_cidr_block.
   *
   * @deprecated
   * @var string
   */
  public $servicesIpv4Cidr;
  /**
   * The IP address range of the services IPs in this cluster. If blank, a range
   * will be automatically chosen with the default size. This field is only
   * applicable when `use_ip_aliases` is true. Set to blank to have a range
   * chosen with the default size. Set to /netmask (e.g. `/14`) to have a range
   * chosen with a specific netmask. Set to a
   * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
   * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
   * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
   * to use.
   *
   * @var string
   */
  public $servicesIpv4CidrBlock;
  /**
   * Output only. The services IPv6 CIDR block for the cluster.
   *
   * @var string
   */
  public $servicesIpv6CidrBlock;
  /**
   * The name of the secondary range to be used as for the services CIDR block.
   * The secondary range will be used for service ClusterIPs. This must be an
   * existing secondary range associated with the cluster subnetwork. This field
   * is only applicable with use_ip_aliases is true and create_subnetwork is
   * false.
   *
   * @var string
   */
  public $servicesSecondaryRangeName;
  /**
   * The IP stack type of the cluster
   *
   * @var string
   */
  public $stackType;
  /**
   * Output only. The subnet's IPv6 CIDR block used by nodes and pods.
   *
   * @var string
   */
  public $subnetIpv6CidrBlock;
  /**
   * A custom subnetwork name to be used if `create_subnetwork` is true. If this
   * field is empty, then an automatic name will be chosen for the new
   * subnetwork.
   *
   * @var string
   */
  public $subnetworkName;
  /**
   * The IP address range of the Cloud TPUs in this cluster. If unspecified, a
   * range will be automatically chosen with the default size. This field is
   * only applicable when `use_ip_aliases` is true. If unspecified, the range
   * will use the default size. Set to /netmask (e.g. `/14`) to have a range
   * chosen with a specific netmask. Set to a
   * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
   * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
   * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
   * to use. This field is deprecated due to the deprecation of 2VM TPU. The end
   * of life date for 2VM TPU is 2025-04-25.
   *
   * @deprecated
   * @var string
   */
  public $tpuIpv4CidrBlock;
  /**
   * Whether alias IPs will be used for pod IPs in the cluster. This is used in
   * conjunction with use_routes. It cannot be true if use_routes is true. If
   * both use_ip_aliases and use_routes are false, then the server picks the
   * default IP allocation mode
   *
   * @var bool
   */
  public $useIpAliases;
  /**
   * Whether routes will be used for pod IPs in the cluster. This is used in
   * conjunction with use_ip_aliases. It cannot be true if use_ip_aliases is
   * true. If both use_ip_aliases and use_routes are false, then the server
   * picks the default IP allocation mode
   *
   * @var bool
   */
  public $useRoutes;

  /**
   * Output only. The additional IP ranges that are added to the cluster. These
   * IP ranges can be used by new node pools to allocate node and pod IPs
   * automatically. Each AdditionalIPRangesConfig corresponds to a single
   * subnetwork. Once a range is removed it will not show up in
   * IPAllocationPolicy.
   *
   * @param AdditionalIPRangesConfig[] $additionalIpRangesConfigs
   */
  public function setAdditionalIpRangesConfigs($additionalIpRangesConfigs)
  {
    $this->additionalIpRangesConfigs = $additionalIpRangesConfigs;
  }
  /**
   * @return AdditionalIPRangesConfig[]
   */
  public function getAdditionalIpRangesConfigs()
  {
    return $this->additionalIpRangesConfigs;
  }
  /**
   * Output only. The additional pod ranges that are added to the cluster. These
   * pod ranges can be used by new node pools to allocate pod IPs automatically.
   * Once the range is removed it will not show up in IPAllocationPolicy.
   *
   * @param AdditionalPodRangesConfig $additionalPodRangesConfig
   */
  public function setAdditionalPodRangesConfig(AdditionalPodRangesConfig $additionalPodRangesConfig)
  {
    $this->additionalPodRangesConfig = $additionalPodRangesConfig;
  }
  /**
   * @return AdditionalPodRangesConfig
   */
  public function getAdditionalPodRangesConfig()
  {
    return $this->additionalPodRangesConfig;
  }
  /**
   * Optional. AutoIpamConfig contains all information related to Auto IPAM
   *
   * @param AutoIpamConfig $autoIpamConfig
   */
  public function setAutoIpamConfig(AutoIpamConfig $autoIpamConfig)
  {
    $this->autoIpamConfig = $autoIpamConfig;
  }
  /**
   * @return AutoIpamConfig
   */
  public function getAutoIpamConfig()
  {
    return $this->autoIpamConfig;
  }
  /**
   * This field is deprecated, use cluster_ipv4_cidr_block.
   *
   * @deprecated
   * @param string $clusterIpv4Cidr
   */
  public function setClusterIpv4Cidr($clusterIpv4Cidr)
  {
    $this->clusterIpv4Cidr = $clusterIpv4Cidr;
  }
  /**
   * @deprecated
   * @return string
   */
  public function getClusterIpv4Cidr()
  {
    return $this->clusterIpv4Cidr;
  }
  /**
   * The IP address range for the cluster pod IPs. If this field is set, then
   * `cluster.cluster_ipv4_cidr` must be left blank. This field is only
   * applicable when `use_ip_aliases` is true. Set to blank to have a range
   * chosen with the default size. Set to /netmask (e.g. `/14`) to have a range
   * chosen with a specific netmask. Set to a
   * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
   * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
   * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
   * to use.
   *
   * @param string $clusterIpv4CidrBlock
   */
  public function setClusterIpv4CidrBlock($clusterIpv4CidrBlock)
  {
    $this->clusterIpv4CidrBlock = $clusterIpv4CidrBlock;
  }
  /**
   * @return string
   */
  public function getClusterIpv4CidrBlock()
  {
    return $this->clusterIpv4CidrBlock;
  }
  /**
   * The name of the secondary range to be used for the cluster CIDR block. The
   * secondary range will be used for pod IP addresses. This must be an existing
   * secondary range associated with the cluster subnetwork. This field is only
   * applicable with use_ip_aliases is true and create_subnetwork is false.
   *
   * @param string $clusterSecondaryRangeName
   */
  public function setClusterSecondaryRangeName($clusterSecondaryRangeName)
  {
    $this->clusterSecondaryRangeName = $clusterSecondaryRangeName;
  }
  /**
   * @return string
   */
  public function getClusterSecondaryRangeName()
  {
    return $this->clusterSecondaryRangeName;
  }
  /**
   * Whether a new subnetwork will be created automatically for the cluster.
   * This field is only applicable when `use_ip_aliases` is true.
   *
   * @param bool $createSubnetwork
   */
  public function setCreateSubnetwork($createSubnetwork)
  {
    $this->createSubnetwork = $createSubnetwork;
  }
  /**
   * @return bool
   */
  public function getCreateSubnetwork()
  {
    return $this->createSubnetwork;
  }
  public function setDefaultPodIpv4RangeUtilization($defaultPodIpv4RangeUtilization)
  {
    $this->defaultPodIpv4RangeUtilization = $defaultPodIpv4RangeUtilization;
  }
  public function getDefaultPodIpv4RangeUtilization()
  {
    return $this->defaultPodIpv4RangeUtilization;
  }
  /**
   * The ipv6 access type (internal or external) when create_subnetwork is true
   *
   * Accepted values: IPV6_ACCESS_TYPE_UNSPECIFIED, INTERNAL, EXTERNAL
   *
   * @param self::IPV6_ACCESS_TYPE_* $ipv6AccessType
   */
  public function setIpv6AccessType($ipv6AccessType)
  {
    $this->ipv6AccessType = $ipv6AccessType;
  }
  /**
   * @return self::IPV6_ACCESS_TYPE_*
   */
  public function getIpv6AccessType()
  {
    return $this->ipv6AccessType;
  }
  /**
   * Cluster-level network tier configuration is used to determine the default
   * network tier for external IP addresses on cluster resources, such as node
   * pools and load balancers.
   *
   * @param NetworkTierConfig $networkTierConfig
   */
  public function setNetworkTierConfig(NetworkTierConfig $networkTierConfig)
  {
    $this->networkTierConfig = $networkTierConfig;
  }
  /**
   * @return NetworkTierConfig
   */
  public function getNetworkTierConfig()
  {
    return $this->networkTierConfig;
  }
  /**
   * This field is deprecated, use node_ipv4_cidr_block.
   *
   * @deprecated
   * @param string $nodeIpv4Cidr
   */
  public function setNodeIpv4Cidr($nodeIpv4Cidr)
  {
    $this->nodeIpv4Cidr = $nodeIpv4Cidr;
  }
  /**
   * @deprecated
   * @return string
   */
  public function getNodeIpv4Cidr()
  {
    return $this->nodeIpv4Cidr;
  }
  /**
   * The IP address range of the instance IPs in this cluster. This is
   * applicable only if `create_subnetwork` is true. Set to blank to have a
   * range chosen with the default size. Set to /netmask (e.g. `/14`) to have a
   * range chosen with a specific netmask. Set to a
   * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
   * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
   * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
   * to use.
   *
   * @param string $nodeIpv4CidrBlock
   */
  public function setNodeIpv4CidrBlock($nodeIpv4CidrBlock)
  {
    $this->nodeIpv4CidrBlock = $nodeIpv4CidrBlock;
  }
  /**
   * @return string
   */
  public function getNodeIpv4CidrBlock()
  {
    return $this->nodeIpv4CidrBlock;
  }
  /**
   * [PRIVATE FIELD] Pod CIDR size overprovisioning config for the cluster. Pod
   * CIDR size per node depends on max_pods_per_node. By default, the value of
   * max_pods_per_node is doubled and then rounded off to next power of 2 to get
   * the size of pod CIDR block per node. Example: max_pods_per_node of 30 would
   * result in 64 IPs (/26). This config can disable the doubling of IPs (we
   * still round off to next power of 2) Example: max_pods_per_node of 30 will
   * result in 32 IPs (/27) when overprovisioning is disabled.
   *
   * @param PodCIDROverprovisionConfig $podCidrOverprovisionConfig
   */
  public function setPodCidrOverprovisionConfig(PodCIDROverprovisionConfig $podCidrOverprovisionConfig)
  {
    $this->podCidrOverprovisionConfig = $podCidrOverprovisionConfig;
  }
  /**
   * @return PodCIDROverprovisionConfig
   */
  public function getPodCidrOverprovisionConfig()
  {
    return $this->podCidrOverprovisionConfig;
  }
  /**
   * This field is deprecated, use services_ipv4_cidr_block.
   *
   * @deprecated
   * @param string $servicesIpv4Cidr
   */
  public function setServicesIpv4Cidr($servicesIpv4Cidr)
  {
    $this->servicesIpv4Cidr = $servicesIpv4Cidr;
  }
  /**
   * @deprecated
   * @return string
   */
  public function getServicesIpv4Cidr()
  {
    return $this->servicesIpv4Cidr;
  }
  /**
   * The IP address range of the services IPs in this cluster. If blank, a range
   * will be automatically chosen with the default size. This field is only
   * applicable when `use_ip_aliases` is true. Set to blank to have a range
   * chosen with the default size. Set to /netmask (e.g. `/14`) to have a range
   * chosen with a specific netmask. Set to a
   * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
   * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
   * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
   * to use.
   *
   * @param string $servicesIpv4CidrBlock
   */
  public function setServicesIpv4CidrBlock($servicesIpv4CidrBlock)
  {
    $this->servicesIpv4CidrBlock = $servicesIpv4CidrBlock;
  }
  /**
   * @return string
   */
  public function getServicesIpv4CidrBlock()
  {
    return $this->servicesIpv4CidrBlock;
  }
  /**
   * Output only. The services IPv6 CIDR block for the cluster.
   *
   * @param string $servicesIpv6CidrBlock
   */
  public function setServicesIpv6CidrBlock($servicesIpv6CidrBlock)
  {
    $this->servicesIpv6CidrBlock = $servicesIpv6CidrBlock;
  }
  /**
   * @return string
   */
  public function getServicesIpv6CidrBlock()
  {
    return $this->servicesIpv6CidrBlock;
  }
  /**
   * The name of the secondary range to be used as for the services CIDR block.
   * The secondary range will be used for service ClusterIPs. This must be an
   * existing secondary range associated with the cluster subnetwork. This field
   * is only applicable with use_ip_aliases is true and create_subnetwork is
   * false.
   *
   * @param string $servicesSecondaryRangeName
   */
  public function setServicesSecondaryRangeName($servicesSecondaryRangeName)
  {
    $this->servicesSecondaryRangeName = $servicesSecondaryRangeName;
  }
  /**
   * @return string
   */
  public function getServicesSecondaryRangeName()
  {
    return $this->servicesSecondaryRangeName;
  }
  /**
   * The IP stack type of the cluster
   *
   * Accepted values: STACK_TYPE_UNSPECIFIED, IPV4, IPV4_IPV6
   *
   * @param self::STACK_TYPE_* $stackType
   */
  public function setStackType($stackType)
  {
    $this->stackType = $stackType;
  }
  /**
   * @return self::STACK_TYPE_*
   */
  public function getStackType()
  {
    return $this->stackType;
  }
  /**
   * Output only. The subnet's IPv6 CIDR block used by nodes and pods.
   *
   * @param string $subnetIpv6CidrBlock
   */
  public function setSubnetIpv6CidrBlock($subnetIpv6CidrBlock)
  {
    $this->subnetIpv6CidrBlock = $subnetIpv6CidrBlock;
  }
  /**
   * @return string
   */
  public function getSubnetIpv6CidrBlock()
  {
    return $this->subnetIpv6CidrBlock;
  }
  /**
   * A custom subnetwork name to be used if `create_subnetwork` is true. If this
   * field is empty, then an automatic name will be chosen for the new
   * subnetwork.
   *
   * @param string $subnetworkName
   */
  public function setSubnetworkName($subnetworkName)
  {
    $this->subnetworkName = $subnetworkName;
  }
  /**
   * @return string
   */
  public function getSubnetworkName()
  {
    return $this->subnetworkName;
  }
  /**
   * The IP address range of the Cloud TPUs in this cluster. If unspecified, a
   * range will be automatically chosen with the default size. This field is
   * only applicable when `use_ip_aliases` is true. If unspecified, the range
   * will use the default size. Set to /netmask (e.g. `/14`) to have a range
   * chosen with a specific netmask. Set to a
   * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
   * notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
   * `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
   * to use. This field is deprecated due to the deprecation of 2VM TPU. The end
   * of life date for 2VM TPU is 2025-04-25.
   *
   * @deprecated
   * @param string $tpuIpv4CidrBlock
   */
  public function setTpuIpv4CidrBlock($tpuIpv4CidrBlock)
  {
    $this->tpuIpv4CidrBlock = $tpuIpv4CidrBlock;
  }
  /**
   * @deprecated
   * @return string
   */
  public function getTpuIpv4CidrBlock()
  {
    return $this->tpuIpv4CidrBlock;
  }
  /**
   * Whether alias IPs will be used for pod IPs in the cluster. This is used in
   * conjunction with use_routes. It cannot be true if use_routes is true. If
   * both use_ip_aliases and use_routes are false, then the server picks the
   * default IP allocation mode
   *
   * @param bool $useIpAliases
   */
  public function setUseIpAliases($useIpAliases)
  {
    $this->useIpAliases = $useIpAliases;
  }
  /**
   * @return bool
   */
  public function getUseIpAliases()
  {
    return $this->useIpAliases;
  }
  /**
   * Whether routes will be used for pod IPs in the cluster. This is used in
   * conjunction with use_ip_aliases. It cannot be true if use_ip_aliases is
   * true. If both use_ip_aliases and use_routes are false, then the server
   * picks the default IP allocation mode
   *
   * @param bool $useRoutes
   */
  public function setUseRoutes($useRoutes)
  {
    $this->useRoutes = $useRoutes;
  }
  /**
   * @return bool
   */
  public function getUseRoutes()
  {
    return $this->useRoutes;
  }
}

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