diff --git a/Container/metadata/V1/ClusterService.php b/Container/metadata/V1/ClusterService.php index 7bf83a004fb1..0e3d89572fb6 100644 Binary files a/Container/metadata/V1/ClusterService.php and b/Container/metadata/V1/ClusterService.php differ diff --git a/Container/src/V1/AdditionalIPRangesConfig.php b/Container/src/V1/AdditionalIPRangesConfig.php index c2a24da84482..6ab477ee43c8 100644 --- a/Container/src/V1/AdditionalIPRangesConfig.php +++ b/Container/src/V1/AdditionalIPRangesConfig.php @@ -34,6 +34,12 @@ class AdditionalIPRangesConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field repeated string pod_ipv4_range_names = 2; */ private $pod_ipv4_range_names; + /** + * Draining status of the additional subnet. + * + * Generated from protobuf field .google.container.v1.AdditionalIPRangesConfig.Status status = 3; + */ + protected $status = 0; /** * Constructor. @@ -51,6 +57,8 @@ class AdditionalIPRangesConfig extends \Google\Protobuf\Internal\Message * pod IPs. * Example1: gke-pod-range1 * Example2: gke-pod-range1,gke-pod-range2 + * @type int $status + * Draining status of the additional subnet. * } */ public function __construct($data = NULL) { @@ -122,5 +130,31 @@ public function setPodIpv4RangeNames($var) return $this; } + /** + * Draining status of the additional subnet. + * + * Generated from protobuf field .google.container.v1.AdditionalIPRangesConfig.Status status = 3; + * @return int + */ + public function getStatus() + { + return $this->status; + } + + /** + * Draining status of the additional subnet. + * + * Generated from protobuf field .google.container.v1.AdditionalIPRangesConfig.Status status = 3; + * @param int $var + * @return $this + */ + public function setStatus($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Container\V1\AdditionalIPRangesConfig\Status::class); + $this->status = $var; + + return $this; + } + } diff --git a/Container/src/V1/AdditionalIPRangesConfig/Status.php b/Container/src/V1/AdditionalIPRangesConfig/Status.php new file mode 100644 index 000000000000..5102441977a9 --- /dev/null +++ b/Container/src/V1/AdditionalIPRangesConfig/Status.php @@ -0,0 +1,69 @@ +google.container.v1.AdditionalIPRangesConfig.Status + */ +class Status +{ + /** + * Not set, same as ACTIVE. + * + * Generated from protobuf enum STATUS_UNSPECIFIED = 0; + */ + const STATUS_UNSPECIFIED = 0; + /** + * ACTIVE status indicates that the subnet is available for new node pool + * creation. + * + * Generated from protobuf enum ACTIVE = 1; + */ + const ACTIVE = 1; + /** + * DRAINING status indicates that the subnet is not used for new node pool + * creation. + * + * Generated from protobuf enum DRAINING = 2; + */ + const DRAINING = 2; + + private static $valueToName = [ + self::STATUS_UNSPECIFIED => 'STATUS_UNSPECIFIED', + self::ACTIVE => 'ACTIVE', + self::DRAINING => 'DRAINING', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + + diff --git a/Container/src/V1/AddonsConfig.php b/Container/src/V1/AddonsConfig.php index 22f6a7d67f4c..dcb24ed011a4 100644 --- a/Container/src/V1/AddonsConfig.php +++ b/Container/src/V1/AddonsConfig.php @@ -125,6 +125,12 @@ class AddonsConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.LustreCsiDriverConfig lustre_csi_driver_config = 23; */ protected $lustre_csi_driver_config = null; + /** + * Optional. Configuration for the slice controller add-on. + * + * Generated from protobuf field .google.container.v1.SliceControllerConfig slice_controller_config = 26 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $slice_controller_config = null; /** * Constructor. @@ -176,6 +182,8 @@ class AddonsConfig extends \Google\Protobuf\Internal\Message * Configuration for the High Scale Checkpointing add-on. * @type \Google\Cloud\Container\V1\LustreCsiDriverConfig $lustre_csi_driver_config * Configuration for the Lustre CSI driver. + * @type \Google\Cloud\Container\V1\SliceControllerConfig $slice_controller_config + * Optional. Configuration for the slice controller add-on. * } */ public function __construct($data = NULL) { @@ -793,5 +801,41 @@ public function setLustreCsiDriverConfig($var) return $this; } + /** + * Optional. Configuration for the slice controller add-on. + * + * Generated from protobuf field .google.container.v1.SliceControllerConfig slice_controller_config = 26 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Container\V1\SliceControllerConfig|null + */ + public function getSliceControllerConfig() + { + return $this->slice_controller_config; + } + + public function hasSliceControllerConfig() + { + return isset($this->slice_controller_config); + } + + public function clearSliceControllerConfig() + { + unset($this->slice_controller_config); + } + + /** + * Optional. Configuration for the slice controller add-on. + * + * Generated from protobuf field .google.container.v1.SliceControllerConfig slice_controller_config = 26 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Container\V1\SliceControllerConfig $var + * @return $this + */ + public function setSliceControllerConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\SliceControllerConfig::class); + $this->slice_controller_config = $var; + + return $this; + } + } diff --git a/Container/src/V1/Client/ClusterManagerClient.php b/Container/src/V1/Client/ClusterManagerClient.php index d245ab10b4fb..59b292a73e3a 100644 --- a/Container/src/V1/Client/ClusterManagerClient.php +++ b/Container/src/V1/Client/ClusterManagerClient.php @@ -225,6 +225,25 @@ public static function cryptoKeyVersionName( ]); } + /** + * Formats a string containing the fully-qualified path to represent a subnetwork + * resource. + * + * @param string $project + * @param string $region + * @param string $subnetwork + * + * @return string The formatted subnetwork resource. + */ + public static function subnetworkName(string $project, string $region, string $subnetwork): string + { + return self::getPathTemplate('subnetwork')->render([ + 'project' => $project, + 'region' => $region, + 'subnetwork' => $subnetwork, + ]); + } + /** * Formats a string containing the fully-qualified path to represent a topic * resource. @@ -248,6 +267,7 @@ public static function topicName(string $project, string $topic): string * Template: Pattern * - caPool: projects/{project}/locations/{location}/caPools/{ca_pool} * - cryptoKeyVersion: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version} + * - subnetwork: projects/{project}/regions/{region}/subnetworks/{subnetwork} * - topic: projects/{project}/topics/{topic} * * The optional $template argument can be supplied to specify a particular pattern, diff --git a/Container/src/V1/Cluster.php b/Container/src/V1/Cluster.php index 18584eba4464..04730db16652 100644 --- a/Container/src/V1/Cluster.php +++ b/Container/src/V1/Cluster.php @@ -113,7 +113,7 @@ class Cluster extends \Google\Protobuf\Internal\Message protected $network = ''; /** * The IP address range of the container pods in this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `10.96.0.0/14`). Leave blank to have * one automatically chosen or specify a `/14` block in `10.0.0.0/8`. * @@ -427,7 +427,7 @@ class Cluster extends \Google\Protobuf\Internal\Message /** * Output only. The IP address range of the Kubernetes services in * this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `1.2.3.4/29`). Service addresses are * typically put in the last `/16` from the container CIDR. * @@ -477,7 +477,7 @@ class Cluster extends \Google\Protobuf\Internal\Message protected $enable_tpu = false; /** * Output only. The IP address range of the Cloud TPUs in this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `1.2.3.4/29`). * This field is deprecated due to the deprecation of 2VM TPU. The end of life * date for 2VM TPU is 2025-04-25. @@ -627,6 +627,12 @@ class Cluster extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.AnonymousAuthenticationConfig anonymous_authentication_config = 164; */ protected $anonymous_authentication_config = null; + /** + * Configuration for Managed OpenTelemetry pipeline. + * + * Generated from protobuf field .google.container.v1.ManagedOpenTelemetryConfig managed_opentelemetry_config = 168; + */ + protected $managed_opentelemetry_config = null; /** * Constructor. @@ -698,7 +704,7 @@ class Cluster extends \Google\Protobuf\Internal\Message * network will be used. * @type string $cluster_ipv4_cidr * The IP address range of the container pods in this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `10.96.0.0/14`). Leave blank to have * one automatically chosen or specify a `/14` block in `10.0.0.0/8`. * @type \Google\Cloud\Container\V1\AddonsConfig $addons_config @@ -844,7 +850,7 @@ class Cluster extends \Google\Protobuf\Internal\Message * @type string $services_ipv4_cidr * Output only. The IP address range of the Kubernetes services in * this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `1.2.3.4/29`). Service addresses are * typically put in the last `/16` from the container CIDR. * @type array|\Google\Protobuf\Internal\RepeatedField $instance_group_urls @@ -867,7 +873,7 @@ class Cluster extends \Google\Protobuf\Internal\Message * date for 2VM TPU is 2025-04-25. * @type string $tpu_ipv4_cidr_block * Output only. The IP address range of the Cloud TPUs in this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `1.2.3.4/29`). * This field is deprecated due to the deprecation of 2VM TPU. The end of life * date for 2VM TPU is 2025-04-25. @@ -923,6 +929,8 @@ class Cluster extends \Google\Protobuf\Internal\Message * @type \Google\Cloud\Container\V1\AnonymousAuthenticationConfig $anonymous_authentication_config * Configuration for limiting anonymous access to all endpoints except the * health checks. + * @type \Google\Cloud\Container\V1\ManagedOpenTelemetryConfig $managed_opentelemetry_config + * Configuration for Managed OpenTelemetry pipeline. * } */ public function __construct($data = NULL) { @@ -1268,7 +1276,7 @@ public function setNetwork($var) /** * The IP address range of the container pods in this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `10.96.0.0/14`). Leave blank to have * one automatically chosen or specify a `/14` block in `10.0.0.0/8`. * @@ -1282,7 +1290,7 @@ public function getClusterIpv4Cidr() /** * The IP address range of the container pods in this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `10.96.0.0/14`). Leave blank to have * one automatically chosen or specify a `/14` block in `10.0.0.0/8`. * @@ -2719,7 +2727,7 @@ public function setNodeIpv4CidrSize($var) /** * Output only. The IP address range of the Kubernetes services in * this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `1.2.3.4/29`). Service addresses are * typically put in the last `/16` from the container CIDR. * @@ -2734,7 +2742,7 @@ public function getServicesIpv4Cidr() /** * Output only. The IP address range of the Kubernetes services in * this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `1.2.3.4/29`). Service addresses are * typically put in the last `/16` from the container CIDR. * @@ -2918,7 +2926,7 @@ public function setEnableTpu($var) /** * Output only. The IP address range of the Cloud TPUs in this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `1.2.3.4/29`). * This field is deprecated due to the deprecation of 2VM TPU. The end of life * date for 2VM TPU is 2025-04-25. @@ -2937,7 +2945,7 @@ public function getTpuIpv4CidrBlock() /** * Output only. The IP address range of the Cloud TPUs in this cluster, in - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) * notation (e.g. `1.2.3.4/29`). * This field is deprecated due to the deprecation of 2VM TPU. The end of life * date for 2VM TPU is 2025-04-25. @@ -3744,5 +3752,41 @@ public function setAnonymousAuthenticationConfig($var) return $this; } + /** + * Configuration for Managed OpenTelemetry pipeline. + * + * Generated from protobuf field .google.container.v1.ManagedOpenTelemetryConfig managed_opentelemetry_config = 168; + * @return \Google\Cloud\Container\V1\ManagedOpenTelemetryConfig|null + */ + public function getManagedOpentelemetryConfig() + { + return $this->managed_opentelemetry_config; + } + + public function hasManagedOpentelemetryConfig() + { + return isset($this->managed_opentelemetry_config); + } + + public function clearManagedOpentelemetryConfig() + { + unset($this->managed_opentelemetry_config); + } + + /** + * Configuration for Managed OpenTelemetry pipeline. + * + * Generated from protobuf field .google.container.v1.ManagedOpenTelemetryConfig managed_opentelemetry_config = 168; + * @param \Google\Cloud\Container\V1\ManagedOpenTelemetryConfig $var + * @return $this + */ + public function setManagedOpentelemetryConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\ManagedOpenTelemetryConfig::class); + $this->managed_opentelemetry_config = $var; + + return $this; + } + } diff --git a/Container/src/V1/ClusterAutoscaling.php b/Container/src/V1/ClusterAutoscaling.php index 600faff1bf25..b83413ac2ff2 100644 --- a/Container/src/V1/ClusterAutoscaling.php +++ b/Container/src/V1/ClusterAutoscaling.php @@ -58,6 +58,13 @@ class ClusterAutoscaling extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.DefaultComputeClassConfig default_compute_class_config = 9; */ protected $default_compute_class_config = null; + /** + * Autopilot general profile for the cluster, which defines the + * configuration for the cluster. + * + * Generated from protobuf field .google.container.v1.ClusterAutoscaling.AutopilotGeneralProfile autopilot_general_profile = 14; + */ + protected $autopilot_general_profile = 0; /** * Constructor. @@ -81,6 +88,9 @@ class ClusterAutoscaling extends \Google\Protobuf\Internal\Message * in which the NodePool's nodes can be created by NAP. * @type \Google\Cloud\Container\V1\DefaultComputeClassConfig $default_compute_class_config * Default compute class is a configuration for default compute class. + * @type int $autopilot_general_profile + * Autopilot general profile for the cluster, which defines the + * configuration for the cluster. * } */ public function __construct($data = NULL) { @@ -272,5 +282,33 @@ public function setDefaultComputeClassConfig($var) return $this; } + /** + * Autopilot general profile for the cluster, which defines the + * configuration for the cluster. + * + * Generated from protobuf field .google.container.v1.ClusterAutoscaling.AutopilotGeneralProfile autopilot_general_profile = 14; + * @return int + */ + public function getAutopilotGeneralProfile() + { + return $this->autopilot_general_profile; + } + + /** + * Autopilot general profile for the cluster, which defines the + * configuration for the cluster. + * + * Generated from protobuf field .google.container.v1.ClusterAutoscaling.AutopilotGeneralProfile autopilot_general_profile = 14; + * @param int $var + * @return $this + */ + public function setAutopilotGeneralProfile($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Container\V1\ClusterAutoscaling\AutopilotGeneralProfile::class); + $this->autopilot_general_profile = $var; + + return $this; + } + } diff --git a/Container/src/V1/ClusterAutoscaling/AutopilotGeneralProfile.php b/Container/src/V1/ClusterAutoscaling/AutopilotGeneralProfile.php new file mode 100644 index 000000000000..8267b2869b61 --- /dev/null +++ b/Container/src/V1/ClusterAutoscaling/AutopilotGeneralProfile.php @@ -0,0 +1,55 @@ +google.container.v1.ClusterAutoscaling.AutopilotGeneralProfile + */ +class AutopilotGeneralProfile +{ + /** + * Use default configuration. + * + * Generated from protobuf enum AUTOPILOT_GENERAL_PROFILE_UNSPECIFIED = 0; + */ + const AUTOPILOT_GENERAL_PROFILE_UNSPECIFIED = 0; + /** + * Avoid extra IP consumption. + * + * Generated from protobuf enum NO_PERFORMANCE = 1; + */ + const NO_PERFORMANCE = 1; + + private static $valueToName = [ + self::AUTOPILOT_GENERAL_PROFILE_UNSPECIFIED => 'AUTOPILOT_GENERAL_PROFILE_UNSPECIFIED', + self::NO_PERFORMANCE => 'NO_PERFORMANCE', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + + diff --git a/Container/src/V1/ClusterUpdate.php b/Container/src/V1/ClusterUpdate.php index 05e0a238d02d..e9490faa5fc1 100644 --- a/Container/src/V1/ClusterUpdate.php +++ b/Container/src/V1/ClusterUpdate.php @@ -538,6 +538,18 @@ class ClusterUpdate extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.NetworkTierConfig desired_network_tier_config = 155; */ protected $desired_network_tier_config = null; + /** + * The desired privileged admission config for the cluster. + * + * Generated from protobuf field .google.container.v1.PrivilegedAdmissionConfig desired_privileged_admission_config = 159; + */ + protected $desired_privileged_admission_config = null; + /** + * The desired managed open telemetry configuration. + * + * Generated from protobuf field .google.container.v1.ManagedOpenTelemetryConfig desired_managed_opentelemetry_config = 163; + */ + protected $desired_managed_opentelemetry_config = null; /** * Constructor. @@ -773,6 +785,10 @@ class ClusterUpdate extends \Google\Protobuf\Internal\Message * Configuration for GKE auto upgrade. * @type \Google\Cloud\Container\V1\NetworkTierConfig $desired_network_tier_config * The desired network tier configuration for the cluster. + * @type \Google\Cloud\Container\V1\PrivilegedAdmissionConfig $desired_privileged_admission_config + * The desired privileged admission config for the cluster. + * @type \Google\Cloud\Container\V1\ManagedOpenTelemetryConfig $desired_managed_opentelemetry_config + * The desired managed open telemetry configuration. * } */ public function __construct($data = NULL) { @@ -3480,5 +3496,77 @@ public function setDesiredNetworkTierConfig($var) return $this; } + /** + * The desired privileged admission config for the cluster. + * + * Generated from protobuf field .google.container.v1.PrivilegedAdmissionConfig desired_privileged_admission_config = 159; + * @return \Google\Cloud\Container\V1\PrivilegedAdmissionConfig|null + */ + public function getDesiredPrivilegedAdmissionConfig() + { + return $this->desired_privileged_admission_config; + } + + public function hasDesiredPrivilegedAdmissionConfig() + { + return isset($this->desired_privileged_admission_config); + } + + public function clearDesiredPrivilegedAdmissionConfig() + { + unset($this->desired_privileged_admission_config); + } + + /** + * The desired privileged admission config for the cluster. + * + * Generated from protobuf field .google.container.v1.PrivilegedAdmissionConfig desired_privileged_admission_config = 159; + * @param \Google\Cloud\Container\V1\PrivilegedAdmissionConfig $var + * @return $this + */ + public function setDesiredPrivilegedAdmissionConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\PrivilegedAdmissionConfig::class); + $this->desired_privileged_admission_config = $var; + + return $this; + } + + /** + * The desired managed open telemetry configuration. + * + * Generated from protobuf field .google.container.v1.ManagedOpenTelemetryConfig desired_managed_opentelemetry_config = 163; + * @return \Google\Cloud\Container\V1\ManagedOpenTelemetryConfig|null + */ + public function getDesiredManagedOpentelemetryConfig() + { + return $this->desired_managed_opentelemetry_config; + } + + public function hasDesiredManagedOpentelemetryConfig() + { + return isset($this->desired_managed_opentelemetry_config); + } + + public function clearDesiredManagedOpentelemetryConfig() + { + unset($this->desired_managed_opentelemetry_config); + } + + /** + * The desired managed open telemetry configuration. + * + * Generated from protobuf field .google.container.v1.ManagedOpenTelemetryConfig desired_managed_opentelemetry_config = 163; + * @param \Google\Cloud\Container\V1\ManagedOpenTelemetryConfig $var + * @return $this + */ + public function setDesiredManagedOpentelemetryConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\ManagedOpenTelemetryConfig::class); + $this->desired_managed_opentelemetry_config = $var; + + return $this; + } + } diff --git a/Container/src/V1/ContainerdConfig.php b/Container/src/V1/ContainerdConfig.php index 9f4576097526..ec42f563f8c4 100644 --- a/Container/src/V1/ContainerdConfig.php +++ b/Container/src/V1/ContainerdConfig.php @@ -29,6 +29,14 @@ class ContainerdConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.ContainerdConfig.WritableCgroups writable_cgroups = 2 [(.google.api.field_behavior) = OPTIONAL]; */ protected $writable_cgroups = null; + /** + * RegistryHostConfig configures containerd registry host configuration. + * Each registry_hosts represents a hosts.toml file. + * At most 25 registry_hosts are allowed. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig registry_hosts = 3; + */ + private $registry_hosts; /** * Constructor. @@ -42,6 +50,10 @@ class ContainerdConfig extends \Google\Protobuf\Internal\Message * @type \Google\Cloud\Container\V1\ContainerdConfig\WritableCgroups $writable_cgroups * Optional. WritableCgroups defines writable cgroups configuration for the * node pool. + * @type array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig>|\Google\Protobuf\Internal\RepeatedField $registry_hosts + * RegistryHostConfig configures containerd registry host configuration. + * Each registry_hosts represents a hosts.toml file. + * At most 25 registry_hosts are allowed. * } */ public function __construct($data = NULL) { @@ -125,5 +137,35 @@ public function setWritableCgroups($var) return $this; } + /** + * RegistryHostConfig configures containerd registry host configuration. + * Each registry_hosts represents a hosts.toml file. + * At most 25 registry_hosts are allowed. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig registry_hosts = 3; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getRegistryHosts() + { + return $this->registry_hosts; + } + + /** + * RegistryHostConfig configures containerd registry host configuration. + * Each registry_hosts represents a hosts.toml file. + * At most 25 registry_hosts are allowed. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig registry_hosts = 3; + * @param array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setRegistryHosts($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig::class); + $this->registry_hosts = $arr; + + return $this; + } + } diff --git a/Container/src/V1/ContainerdConfig/PrivateRegistryAccessConfig/CertificateAuthorityDomainConfig.php b/Container/src/V1/ContainerdConfig/PrivateRegistryAccessConfig/CertificateAuthorityDomainConfig.php index f83dc91368eb..4c8805307353 100644 --- a/Container/src/V1/ContainerdConfig/PrivateRegistryAccessConfig/CertificateAuthorityDomainConfig.php +++ b/Container/src/V1/ContainerdConfig/PrivateRegistryAccessConfig/CertificateAuthorityDomainConfig.php @@ -43,7 +43,7 @@ class CertificateAuthorityDomainConfig extends \Google\Protobuf\Internal\Message * - my.customdomain.com * - 10.0.1.2:5000 * @type \Google\Cloud\Container\V1\ContainerdConfig\PrivateRegistryAccessConfig\CertificateAuthorityDomainConfig\GCPSecretManagerCertificateConfig $gcp_secret_manager_certificate_config - * Google Secret Manager (GCP) certificate configuration. + * Secret Manager certificate configuration. * } */ public function __construct($data = NULL) { @@ -88,7 +88,7 @@ public function setFqdns($var) } /** - * Google Secret Manager (GCP) certificate configuration. + * Secret Manager certificate configuration. * * Generated from protobuf field .google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig gcp_secret_manager_certificate_config = 2; * @return \Google\Cloud\Container\V1\ContainerdConfig\PrivateRegistryAccessConfig\CertificateAuthorityDomainConfig\GCPSecretManagerCertificateConfig|null @@ -104,7 +104,7 @@ public function hasGcpSecretManagerCertificateConfig() } /** - * Google Secret Manager (GCP) certificate configuration. + * Secret Manager certificate configuration. * * Generated from protobuf field .google.container.v1.ContainerdConfig.PrivateRegistryAccessConfig.CertificateAuthorityDomainConfig.GCPSecretManagerCertificateConfig gcp_secret_manager_certificate_config = 2; * @param \Google\Cloud\Container\V1\ContainerdConfig\PrivateRegistryAccessConfig\CertificateAuthorityDomainConfig\GCPSecretManagerCertificateConfig $var diff --git a/Container/src/V1/ContainerdConfig/RegistryHostConfig.php b/Container/src/V1/ContainerdConfig/RegistryHostConfig.php new file mode 100644 index 000000000000..7c1c279a8dab --- /dev/null +++ b/Container/src/V1/ContainerdConfig/RegistryHostConfig.php @@ -0,0 +1,141 @@ +google.container.v1.ContainerdConfig.RegistryHostConfig + */ +class RegistryHostConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Defines the host name of the registry server, which will be used to + * create configuration file as /etc/containerd/hosts.d//hosts.toml. + * It supports fully qualified domain names (FQDN) and IP addresses: + * Specifying port is supported. + * Wildcards are NOT supported. + * Examples: + * - my.customdomain.com + * - 10.0.1.2:5000 + * + * Generated from protobuf field string server = 1; + */ + protected $server = ''; + /** + * HostConfig configures a list of host-specific configurations for the + * server. + * Each server can have at most 10 host configurations. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.HostConfig hosts = 2; + */ + private $hosts; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $server + * Defines the host name of the registry server, which will be used to + * create configuration file as /etc/containerd/hosts.d//hosts.toml. + * It supports fully qualified domain names (FQDN) and IP addresses: + * Specifying port is supported. + * Wildcards are NOT supported. + * Examples: + * - my.customdomain.com + * - 10.0.1.2:5000 + * @type array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\HostConfig>|\Google\Protobuf\Internal\RepeatedField $hosts + * HostConfig configures a list of host-specific configurations for the + * server. + * Each server can have at most 10 host configurations. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Defines the host name of the registry server, which will be used to + * create configuration file as /etc/containerd/hosts.d//hosts.toml. + * It supports fully qualified domain names (FQDN) and IP addresses: + * Specifying port is supported. + * Wildcards are NOT supported. + * Examples: + * - my.customdomain.com + * - 10.0.1.2:5000 + * + * Generated from protobuf field string server = 1; + * @return string + */ + public function getServer() + { + return $this->server; + } + + /** + * Defines the host name of the registry server, which will be used to + * create configuration file as /etc/containerd/hosts.d//hosts.toml. + * It supports fully qualified domain names (FQDN) and IP addresses: + * Specifying port is supported. + * Wildcards are NOT supported. + * Examples: + * - my.customdomain.com + * - 10.0.1.2:5000 + * + * Generated from protobuf field string server = 1; + * @param string $var + * @return $this + */ + public function setServer($var) + { + GPBUtil::checkString($var, True); + $this->server = $var; + + return $this; + } + + /** + * HostConfig configures a list of host-specific configurations for the + * server. + * Each server can have at most 10 host configurations. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.HostConfig hosts = 2; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getHosts() + { + return $this->hosts; + } + + /** + * HostConfig configures a list of host-specific configurations for the + * server. + * Each server can have at most 10 host configurations. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.HostConfig hosts = 2; + * @param array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\HostConfig>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setHosts($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\HostConfig::class); + $this->hosts = $arr; + + return $this; + } + +} + + diff --git a/Container/src/V1/ContainerdConfig/RegistryHostConfig/CertificateConfig.php b/Container/src/V1/ContainerdConfig/RegistryHostConfig/CertificateConfig.php new file mode 100644 index 000000000000..d43568aa7a7b --- /dev/null +++ b/Container/src/V1/ContainerdConfig/RegistryHostConfig/CertificateConfig.php @@ -0,0 +1,94 @@ +google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig + */ +class CertificateConfig extends \Google\Protobuf\Internal\Message +{ + protected $certificate; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $gcp_secret_manager_secret_uri + * The URI configures a secret from + * [Secret Manager](https://cloud.google.com/secret-manager) + * in the format + * "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION" for + * global secret or + * "projects/$PROJECT_ID/locations/$REGION/secrets/$SECRET_NAME/versions/$VERSION" + * for regional secret. Version can be fixed (e.g. "2") or "latest" + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * The URI configures a secret from + * [Secret Manager](https://cloud.google.com/secret-manager) + * in the format + * "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION" for + * global secret or + * "projects/$PROJECT_ID/locations/$REGION/secrets/$SECRET_NAME/versions/$VERSION" + * for regional secret. Version can be fixed (e.g. "2") or "latest" + * + * Generated from protobuf field string gcp_secret_manager_secret_uri = 1; + * @return string + */ + public function getGcpSecretManagerSecretUri() + { + return $this->readOneof(1); + } + + public function hasGcpSecretManagerSecretUri() + { + return $this->hasOneof(1); + } + + /** + * The URI configures a secret from + * [Secret Manager](https://cloud.google.com/secret-manager) + * in the format + * "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION" for + * global secret or + * "projects/$PROJECT_ID/locations/$REGION/secrets/$SECRET_NAME/versions/$VERSION" + * for regional secret. Version can be fixed (e.g. "2") or "latest" + * + * Generated from protobuf field string gcp_secret_manager_secret_uri = 1; + * @param string $var + * @return $this + */ + public function setGcpSecretManagerSecretUri($var) + { + GPBUtil::checkString($var, True); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * @return string + */ + public function getCertificate() + { + return $this->whichOneof("certificate"); + } + +} + + diff --git a/Container/src/V1/ContainerdConfig/RegistryHostConfig/CertificateConfigPair.php b/Container/src/V1/ContainerdConfig/RegistryHostConfig/CertificateConfigPair.php new file mode 100644 index 000000000000..ae3f3c07bc15 --- /dev/null +++ b/Container/src/V1/ContainerdConfig/RegistryHostConfig/CertificateConfigPair.php @@ -0,0 +1,123 @@ +google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfigPair + */ +class CertificateConfigPair extends \Google\Protobuf\Internal\Message +{ + /** + * Cert configures the client certificate. + * + * Generated from protobuf field .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig cert = 1; + */ + protected $cert = null; + /** + * Key configures the client private key. Optional. + * + * Generated from protobuf field .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig key = 2; + */ + protected $key = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig $cert + * Cert configures the client certificate. + * @type \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig $key + * Key configures the client private key. Optional. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Cert configures the client certificate. + * + * Generated from protobuf field .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig cert = 1; + * @return \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig|null + */ + public function getCert() + { + return $this->cert; + } + + public function hasCert() + { + return isset($this->cert); + } + + public function clearCert() + { + unset($this->cert); + } + + /** + * Cert configures the client certificate. + * + * Generated from protobuf field .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig cert = 1; + * @param \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig $var + * @return $this + */ + public function setCert($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig::class); + $this->cert = $var; + + return $this; + } + + /** + * Key configures the client private key. Optional. + * + * Generated from protobuf field .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig key = 2; + * @return \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig|null + */ + public function getKey() + { + return $this->key; + } + + public function hasKey() + { + return isset($this->key); + } + + public function clearKey() + { + unset($this->key); + } + + /** + * Key configures the client private key. Optional. + * + * Generated from protobuf field .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig key = 2; + * @param \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig $var + * @return $this + */ + public function setKey($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig::class); + $this->key = $var; + + return $this; + } + +} + + diff --git a/Container/src/V1/ContainerdConfig/RegistryHostConfig/HostCapability.php b/Container/src/V1/ContainerdConfig/RegistryHostConfig/HostCapability.php new file mode 100644 index 000000000000..cfd4b8b2f5c7 --- /dev/null +++ b/Container/src/V1/ContainerdConfig/RegistryHostConfig/HostCapability.php @@ -0,0 +1,69 @@ +google.container.v1.ContainerdConfig.RegistryHostConfig.HostCapability + */ +class HostCapability +{ + /** + * UNKNOWN should never be set. + * + * Generated from protobuf enum HOST_CAPABILITY_UNSPECIFIED = 0; + */ + const HOST_CAPABILITY_UNSPECIFIED = 0; + /** + * Pull represents the capability to fetch manifests and blobs by digest. + * + * Generated from protobuf enum HOST_CAPABILITY_PULL = 1; + */ + const HOST_CAPABILITY_PULL = 1; + /** + * Resolve represents the capability to fetch manifests by name. + * + * Generated from protobuf enum HOST_CAPABILITY_RESOLVE = 2; + */ + const HOST_CAPABILITY_RESOLVE = 2; + /** + * Push represents the capability to push blobs and manifests. + * + * Generated from protobuf enum HOST_CAPABILITY_PUSH = 3; + */ + const HOST_CAPABILITY_PUSH = 3; + + private static $valueToName = [ + self::HOST_CAPABILITY_UNSPECIFIED => 'HOST_CAPABILITY_UNSPECIFIED', + self::HOST_CAPABILITY_PULL => 'HOST_CAPABILITY_PULL', + self::HOST_CAPABILITY_RESOLVE => 'HOST_CAPABILITY_RESOLVE', + self::HOST_CAPABILITY_PUSH => 'HOST_CAPABILITY_PUSH', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + + diff --git a/Container/src/V1/ContainerdConfig/RegistryHostConfig/HostConfig.php b/Container/src/V1/ContainerdConfig/RegistryHostConfig/HostConfig.php new file mode 100644 index 000000000000..8153a1d42374 --- /dev/null +++ b/Container/src/V1/ContainerdConfig/RegistryHostConfig/HostConfig.php @@ -0,0 +1,346 @@ +google.container.v1.ContainerdConfig.RegistryHostConfig.HostConfig + */ +class HostConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Host configures the registry host/mirror. + * It supports fully qualified domain names (FQDN) and IP addresses: + * Specifying port is supported. + * Wildcards are NOT supported. + * Examples: + * - my.customdomain.com + * - 10.0.1.2:5000 + * + * Generated from protobuf field string host = 1; + */ + protected $host = ''; + /** + * Capabilities represent the capabilities of the registry host, + * specifying what operations a host is capable of performing. + * If not set, containerd enables all capabilities by default. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.HostCapability capabilities = 2; + */ + private $capabilities; + /** + * OverridePath is used to indicate the host's API root endpoint is + * defined in the URL path rather than by the API specification. This may + * be used with non-compliant OCI registries which are missing the /v2 + * prefix. + * If not set, containerd sets default false. + * + * Generated from protobuf field bool override_path = 3; + */ + protected $override_path = false; + /** + * Header configures the registry host headers. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.RegistryHeader header = 4; + */ + private $header; + /** + * CA configures the registry host certificate. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig ca = 5; + */ + private $ca; + /** + * Client configures the registry host client certificate and key. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfigPair client = 6; + */ + private $client; + /** + * Specifies the maximum duration allowed for a connection attempt to + * complete. A shorter timeout helps reduce delays when falling back to + * the original registry if the mirror is unreachable. + * Maximum allowed value is 180s. If not set, containerd sets default 30s. + * The value should be a decimal number of seconds with an `s` suffix. + * + * Generated from protobuf field .google.protobuf.Duration dial_timeout = 7; + */ + protected $dial_timeout = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $host + * Host configures the registry host/mirror. + * It supports fully qualified domain names (FQDN) and IP addresses: + * Specifying port is supported. + * Wildcards are NOT supported. + * Examples: + * - my.customdomain.com + * - 10.0.1.2:5000 + * @type array|\Google\Protobuf\Internal\RepeatedField $capabilities + * Capabilities represent the capabilities of the registry host, + * specifying what operations a host is capable of performing. + * If not set, containerd enables all capabilities by default. + * @type bool $override_path + * OverridePath is used to indicate the host's API root endpoint is + * defined in the URL path rather than by the API specification. This may + * be used with non-compliant OCI registries which are missing the /v2 + * prefix. + * If not set, containerd sets default false. + * @type array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\RegistryHeader>|\Google\Protobuf\Internal\RepeatedField $header + * Header configures the registry host headers. + * @type array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig>|\Google\Protobuf\Internal\RepeatedField $ca + * CA configures the registry host certificate. + * @type array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfigPair>|\Google\Protobuf\Internal\RepeatedField $client + * Client configures the registry host client certificate and key. + * @type \Google\Protobuf\Duration $dial_timeout + * Specifies the maximum duration allowed for a connection attempt to + * complete. A shorter timeout helps reduce delays when falling back to + * the original registry if the mirror is unreachable. + * Maximum allowed value is 180s. If not set, containerd sets default 30s. + * The value should be a decimal number of seconds with an `s` suffix. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Host configures the registry host/mirror. + * It supports fully qualified domain names (FQDN) and IP addresses: + * Specifying port is supported. + * Wildcards are NOT supported. + * Examples: + * - my.customdomain.com + * - 10.0.1.2:5000 + * + * Generated from protobuf field string host = 1; + * @return string + */ + public function getHost() + { + return $this->host; + } + + /** + * Host configures the registry host/mirror. + * It supports fully qualified domain names (FQDN) and IP addresses: + * Specifying port is supported. + * Wildcards are NOT supported. + * Examples: + * - my.customdomain.com + * - 10.0.1.2:5000 + * + * Generated from protobuf field string host = 1; + * @param string $var + * @return $this + */ + public function setHost($var) + { + GPBUtil::checkString($var, True); + $this->host = $var; + + return $this; + } + + /** + * Capabilities represent the capabilities of the registry host, + * specifying what operations a host is capable of performing. + * If not set, containerd enables all capabilities by default. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.HostCapability capabilities = 2; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getCapabilities() + { + return $this->capabilities; + } + + /** + * Capabilities represent the capabilities of the registry host, + * specifying what operations a host is capable of performing. + * If not set, containerd enables all capabilities by default. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.HostCapability capabilities = 2; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setCapabilities($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\HostCapability::class); + $this->capabilities = $arr; + + return $this; + } + + /** + * OverridePath is used to indicate the host's API root endpoint is + * defined in the URL path rather than by the API specification. This may + * be used with non-compliant OCI registries which are missing the /v2 + * prefix. + * If not set, containerd sets default false. + * + * Generated from protobuf field bool override_path = 3; + * @return bool + */ + public function getOverridePath() + { + return $this->override_path; + } + + /** + * OverridePath is used to indicate the host's API root endpoint is + * defined in the URL path rather than by the API specification. This may + * be used with non-compliant OCI registries which are missing the /v2 + * prefix. + * If not set, containerd sets default false. + * + * Generated from protobuf field bool override_path = 3; + * @param bool $var + * @return $this + */ + public function setOverridePath($var) + { + GPBUtil::checkBool($var); + $this->override_path = $var; + + return $this; + } + + /** + * Header configures the registry host headers. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.RegistryHeader header = 4; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getHeader() + { + return $this->header; + } + + /** + * Header configures the registry host headers. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.RegistryHeader header = 4; + * @param array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\RegistryHeader>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setHeader($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\RegistryHeader::class); + $this->header = $arr; + + return $this; + } + + /** + * CA configures the registry host certificate. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig ca = 5; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getCa() + { + return $this->ca; + } + + /** + * CA configures the registry host certificate. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfig ca = 5; + * @param array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setCa($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfig::class); + $this->ca = $arr; + + return $this; + } + + /** + * Client configures the registry host client certificate and key. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfigPair client = 6; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getClient() + { + return $this->client; + } + + /** + * Client configures the registry host client certificate and key. + * + * Generated from protobuf field repeated .google.container.v1.ContainerdConfig.RegistryHostConfig.CertificateConfigPair client = 6; + * @param array<\Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfigPair>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setClient($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Container\V1\ContainerdConfig\RegistryHostConfig\CertificateConfigPair::class); + $this->client = $arr; + + return $this; + } + + /** + * Specifies the maximum duration allowed for a connection attempt to + * complete. A shorter timeout helps reduce delays when falling back to + * the original registry if the mirror is unreachable. + * Maximum allowed value is 180s. If not set, containerd sets default 30s. + * The value should be a decimal number of seconds with an `s` suffix. + * + * Generated from protobuf field .google.protobuf.Duration dial_timeout = 7; + * @return \Google\Protobuf\Duration|null + */ + public function getDialTimeout() + { + return $this->dial_timeout; + } + + public function hasDialTimeout() + { + return isset($this->dial_timeout); + } + + public function clearDialTimeout() + { + unset($this->dial_timeout); + } + + /** + * Specifies the maximum duration allowed for a connection attempt to + * complete. A shorter timeout helps reduce delays when falling back to + * the original registry if the mirror is unreachable. + * Maximum allowed value is 180s. If not set, containerd sets default 30s. + * The value should be a decimal number of seconds with an `s` suffix. + * + * Generated from protobuf field .google.protobuf.Duration dial_timeout = 7; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setDialTimeout($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->dial_timeout = $var; + + return $this; + } + +} + + diff --git a/Container/src/V1/ContainerdConfig/RegistryHostConfig/RegistryHeader.php b/Container/src/V1/ContainerdConfig/RegistryHostConfig/RegistryHeader.php new file mode 100644 index 000000000000..0f2a2d437c9c --- /dev/null +++ b/Container/src/V1/ContainerdConfig/RegistryHostConfig/RegistryHeader.php @@ -0,0 +1,102 @@ +google.container.v1.ContainerdConfig.RegistryHostConfig.RegistryHeader + */ +class RegistryHeader extends \Google\Protobuf\Internal\Message +{ + /** + * Key configures the header key. + * + * Generated from protobuf field string key = 1; + */ + protected $key = ''; + /** + * Value configures the header value. + * + * Generated from protobuf field repeated string value = 2; + */ + private $value; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $key + * Key configures the header key. + * @type array|\Google\Protobuf\Internal\RepeatedField $value + * Value configures the header value. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Key configures the header key. + * + * Generated from protobuf field string key = 1; + * @return string + */ + public function getKey() + { + return $this->key; + } + + /** + * Key configures the header key. + * + * Generated from protobuf field string key = 1; + * @param string $var + * @return $this + */ + public function setKey($var) + { + GPBUtil::checkString($var, True); + $this->key = $var; + + return $this; + } + + /** + * Value configures the header value. + * + * Generated from protobuf field repeated string value = 2; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getValue() + { + return $this->value; + } + + /** + * Value configures the header value. + * + * Generated from protobuf field repeated string value = 2; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setValue($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->value = $arr; + + return $this; + } + +} + + diff --git a/Container/src/V1/DisruptionEvent.php b/Container/src/V1/DisruptionEvent.php new file mode 100644 index 000000000000..cd358203f43e --- /dev/null +++ b/Container/src/V1/DisruptionEvent.php @@ -0,0 +1,200 @@ +google.container.v1.DisruptionEvent + */ +class DisruptionEvent extends \Google\Protobuf\Internal\Message +{ + /** + * The type of the disruption event. + * + * Generated from protobuf field .google.container.v1.DisruptionEvent.DisruptionType disruption_type = 1; + */ + protected $disruption_type = 0; + /** + * The node whose drain is blocked by PDB. This field is set for both + * POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event. + * + * Generated from protobuf field string pdb_blocked_node = 2; + */ + protected $pdb_blocked_node = ''; + /** + * The pods whose evictions are blocked by PDB. This field is set for + * both POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event. + * + * Generated from protobuf field repeated .google.container.v1.DisruptionEvent.PdbBlockedPod pdb_blocked_pod = 3; + */ + private $pdb_blocked_pod; + /** + * The timeout in seconds for which the node drain is blocked by PDB. + * After this timeout, pods are forcefully evicted. + * This field is only populated when event_type is + * POD_PDB_VIOLATION. + * + * Generated from protobuf field optional .google.protobuf.Duration pdb_violation_timeout = 4; + */ + protected $pdb_violation_timeout = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $disruption_type + * The type of the disruption event. + * @type string $pdb_blocked_node + * The node whose drain is blocked by PDB. This field is set for both + * POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event. + * @type array<\Google\Cloud\Container\V1\DisruptionEvent\PdbBlockedPod>|\Google\Protobuf\Internal\RepeatedField $pdb_blocked_pod + * The pods whose evictions are blocked by PDB. This field is set for + * both POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event. + * @type \Google\Protobuf\Duration $pdb_violation_timeout + * The timeout in seconds for which the node drain is blocked by PDB. + * After this timeout, pods are forcefully evicted. + * This field is only populated when event_type is + * POD_PDB_VIOLATION. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * The type of the disruption event. + * + * Generated from protobuf field .google.container.v1.DisruptionEvent.DisruptionType disruption_type = 1; + * @return int + */ + public function getDisruptionType() + { + return $this->disruption_type; + } + + /** + * The type of the disruption event. + * + * Generated from protobuf field .google.container.v1.DisruptionEvent.DisruptionType disruption_type = 1; + * @param int $var + * @return $this + */ + public function setDisruptionType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Container\V1\DisruptionEvent\DisruptionType::class); + $this->disruption_type = $var; + + return $this; + } + + /** + * The node whose drain is blocked by PDB. This field is set for both + * POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event. + * + * Generated from protobuf field string pdb_blocked_node = 2; + * @return string + */ + public function getPdbBlockedNode() + { + return $this->pdb_blocked_node; + } + + /** + * The node whose drain is blocked by PDB. This field is set for both + * POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event. + * + * Generated from protobuf field string pdb_blocked_node = 2; + * @param string $var + * @return $this + */ + public function setPdbBlockedNode($var) + { + GPBUtil::checkString($var, True); + $this->pdb_blocked_node = $var; + + return $this; + } + + /** + * The pods whose evictions are blocked by PDB. This field is set for + * both POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event. + * + * Generated from protobuf field repeated .google.container.v1.DisruptionEvent.PdbBlockedPod pdb_blocked_pod = 3; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getPdbBlockedPod() + { + return $this->pdb_blocked_pod; + } + + /** + * The pods whose evictions are blocked by PDB. This field is set for + * both POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event. + * + * Generated from protobuf field repeated .google.container.v1.DisruptionEvent.PdbBlockedPod pdb_blocked_pod = 3; + * @param array<\Google\Cloud\Container\V1\DisruptionEvent\PdbBlockedPod>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setPdbBlockedPod($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Container\V1\DisruptionEvent\PdbBlockedPod::class); + $this->pdb_blocked_pod = $arr; + + return $this; + } + + /** + * The timeout in seconds for which the node drain is blocked by PDB. + * After this timeout, pods are forcefully evicted. + * This field is only populated when event_type is + * POD_PDB_VIOLATION. + * + * Generated from protobuf field optional .google.protobuf.Duration pdb_violation_timeout = 4; + * @return \Google\Protobuf\Duration|null + */ + public function getPdbViolationTimeout() + { + return $this->pdb_violation_timeout; + } + + public function hasPdbViolationTimeout() + { + return isset($this->pdb_violation_timeout); + } + + public function clearPdbViolationTimeout() + { + unset($this->pdb_violation_timeout); + } + + /** + * The timeout in seconds for which the node drain is blocked by PDB. + * After this timeout, pods are forcefully evicted. + * This field is only populated when event_type is + * POD_PDB_VIOLATION. + * + * Generated from protobuf field optional .google.protobuf.Duration pdb_violation_timeout = 4; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setPdbViolationTimeout($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->pdb_violation_timeout = $var; + + return $this; + } + +} + diff --git a/Container/src/V1/DisruptionEvent/DisruptionType.php b/Container/src/V1/DisruptionEvent/DisruptionType.php new file mode 100644 index 000000000000..be1a7daf37c2 --- /dev/null +++ b/Container/src/V1/DisruptionEvent/DisruptionType.php @@ -0,0 +1,64 @@ +google.container.v1.DisruptionEvent.DisruptionType + */ +class DisruptionType +{ + /** + * DISRUPTION_TYPE_UNSPECIFIED indicates the disruption type is unspecified. + * + * Generated from protobuf enum DISRUPTION_TYPE_UNSPECIFIED = 0; + */ + const DISRUPTION_TYPE_UNSPECIFIED = 0; + /** + * POD_NOT_ENOUGH_PDB indicates there are still running pods + * on the node during node drain because their evictions are blocked by PDB. + * + * Generated from protobuf enum POD_NOT_ENOUGH_PDB = 1; + */ + const POD_NOT_ENOUGH_PDB = 1; + /** + * POD_PDB_VIOLATION indicates that there are force pod + * evictions during node drain which violate the PDB. + * + * Generated from protobuf enum POD_PDB_VIOLATION = 2; + */ + const POD_PDB_VIOLATION = 2; + + private static $valueToName = [ + self::DISRUPTION_TYPE_UNSPECIFIED => 'DISRUPTION_TYPE_UNSPECIFIED', + self::POD_NOT_ENOUGH_PDB => 'POD_NOT_ENOUGH_PDB', + self::POD_PDB_VIOLATION => 'POD_PDB_VIOLATION', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + + diff --git a/Container/src/V1/DisruptionEvent/PdbBlockedPod.php b/Container/src/V1/DisruptionEvent/PdbBlockedPod.php new file mode 100644 index 000000000000..77649ad7c8e9 --- /dev/null +++ b/Container/src/V1/DisruptionEvent/PdbBlockedPod.php @@ -0,0 +1,102 @@ +google.container.v1.DisruptionEvent.PdbBlockedPod + */ +class PdbBlockedPod extends \Google\Protobuf\Internal\Message +{ + /** + * The namespace of the pod. + * + * Generated from protobuf field string namespace = 1; + */ + protected $namespace = ''; + /** + * The name of the pod. + * + * Generated from protobuf field string name = 2; + */ + protected $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $namespace + * The namespace of the pod. + * @type string $name + * The name of the pod. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * The namespace of the pod. + * + * Generated from protobuf field string namespace = 1; + * @return string + */ + public function getNamespace() + { + return $this->namespace; + } + + /** + * The namespace of the pod. + * + * Generated from protobuf field string namespace = 1; + * @param string $var + * @return $this + */ + public function setNamespace($var) + { + GPBUtil::checkString($var, True); + $this->namespace = $var; + + return $this; + } + + /** + * The name of the pod. + * + * Generated from protobuf field string name = 2; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * The name of the pod. + * + * Generated from protobuf field string name = 2; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + + diff --git a/Container/src/V1/GPUDirectConfig.php b/Container/src/V1/GPUDirectConfig.php new file mode 100644 index 000000000000..759b860a0f78 --- /dev/null +++ b/Container/src/V1/GPUDirectConfig.php @@ -0,0 +1,77 @@ +google.container.v1.GPUDirectConfig + */ +class GPUDirectConfig extends \Google\Protobuf\Internal\Message +{ + /** + * The type of GPU direct strategy to enable on the node pool. + * + * Generated from protobuf field optional .google.container.v1.GPUDirectConfig.GPUDirectStrategy gpu_direct_strategy = 1; + */ + protected $gpu_direct_strategy = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $gpu_direct_strategy + * The type of GPU direct strategy to enable on the node pool. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * The type of GPU direct strategy to enable on the node pool. + * + * Generated from protobuf field optional .google.container.v1.GPUDirectConfig.GPUDirectStrategy gpu_direct_strategy = 1; + * @return int + */ + public function getGpuDirectStrategy() + { + return isset($this->gpu_direct_strategy) ? $this->gpu_direct_strategy : 0; + } + + public function hasGpuDirectStrategy() + { + return isset($this->gpu_direct_strategy); + } + + public function clearGpuDirectStrategy() + { + unset($this->gpu_direct_strategy); + } + + /** + * The type of GPU direct strategy to enable on the node pool. + * + * Generated from protobuf field optional .google.container.v1.GPUDirectConfig.GPUDirectStrategy gpu_direct_strategy = 1; + * @param int $var + * @return $this + */ + public function setGpuDirectStrategy($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Container\V1\GPUDirectConfig\GPUDirectStrategy::class); + $this->gpu_direct_strategy = $var; + + return $this; + } + +} + diff --git a/Container/src/V1/GPUDirectConfig/GPUDirectStrategy.php b/Container/src/V1/GPUDirectConfig/GPUDirectStrategy.php new file mode 100644 index 000000000000..dc02e9077f07 --- /dev/null +++ b/Container/src/V1/GPUDirectConfig/GPUDirectStrategy.php @@ -0,0 +1,55 @@ +google.container.v1.GPUDirectConfig.GPUDirectStrategy + */ +class GPUDirectStrategy +{ + /** + * Default value. No GPU Direct strategy is enabled on the node. + * + * Generated from protobuf enum GPU_DIRECT_STRATEGY_UNSPECIFIED = 0; + */ + const GPU_DIRECT_STRATEGY_UNSPECIFIED = 0; + /** + * GPUDirect-RDMA on A3 Ultra, and A4 machine types + * + * Generated from protobuf enum RDMA = 2; + */ + const RDMA = 2; + + private static $valueToName = [ + self::GPU_DIRECT_STRATEGY_UNSPECIFIED => 'GPU_DIRECT_STRATEGY_UNSPECIFIED', + self::RDMA => 'RDMA', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + + diff --git a/Container/src/V1/IPAllocationPolicy.php b/Container/src/V1/IPAllocationPolicy.php index a4845841bcb1..8f0c1c78d6ce 100644 --- a/Container/src/V1/IPAllocationPolicy.php +++ b/Container/src/V1/IPAllocationPolicy.php @@ -90,7 +90,7 @@ class IPAllocationPolicy extends \Google\Protobuf\Internal\Message * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -105,7 +105,7 @@ class IPAllocationPolicy extends \Google\Protobuf\Internal\Message * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -121,7 +121,7 @@ class IPAllocationPolicy extends \Google\Protobuf\Internal\Message * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -137,7 +137,7 @@ class IPAllocationPolicy extends \Google\Protobuf\Internal\Message * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -284,7 +284,7 @@ class IPAllocationPolicy extends \Google\Protobuf\Internal\Message * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -295,7 +295,7 @@ class IPAllocationPolicy extends \Google\Protobuf\Internal\Message * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -307,7 +307,7 @@ class IPAllocationPolicy extends \Google\Protobuf\Internal\Message * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -319,7 +319,7 @@ class IPAllocationPolicy extends \Google\Protobuf\Internal\Message * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -643,7 +643,7 @@ public function setServicesSecondaryRangeName($var) * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -664,7 +664,7 @@ public function getClusterIpv4CidrBlock() * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -688,7 +688,7 @@ public function setClusterIpv4CidrBlock($var) * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -708,7 +708,7 @@ public function getNodeIpv4CidrBlock() * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -733,7 +733,7 @@ public function setNodeIpv4CidrBlock($var) * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -754,7 +754,7 @@ public function getServicesIpv4CidrBlock() * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -779,7 +779,7 @@ public function setServicesIpv4CidrBlock($var) * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. @@ -806,7 +806,7 @@ public function getTpuIpv4CidrBlock() * Set to /netmask (e.g. `/14`) to have a range chosen with a specific * netmask. * Set to a - * [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + * [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. diff --git a/Container/src/V1/LinuxNodeConfig.php b/Container/src/V1/LinuxNodeConfig.php index 96fcf320aa3b..583b67ceaea0 100644 --- a/Container/src/V1/LinuxNodeConfig.php +++ b/Container/src/V1/LinuxNodeConfig.php @@ -31,7 +31,12 @@ class LinuxNodeConfig extends \Google\Protobuf\Internal\Message * net.ipv4.tcp_rmem * net.ipv4.tcp_wmem * net.ipv4.tcp_tw_reuse + * net.ipv4.tcp_mtu_probing * net.ipv4.tcp_max_orphans + * net.ipv4.tcp_max_tw_buckets + * net.ipv4.tcp_syn_retries + * net.ipv4.tcp_ecn + * net.ipv4.tcp_congestion_control * net.netfilter.nf_conntrack_max * net.netfilter.nf_conntrack_buckets * net.netfilter.nf_conntrack_tcp_timeout_close_wait @@ -41,14 +46,23 @@ class LinuxNodeConfig extends \Google\Protobuf\Internal\Message * kernel.shmmni * kernel.shmmax * kernel.shmall + * kernel.perf_event_paranoid + * kernel.sched_rt_runtime_us + * kernel.softlockup_panic + * kernel.yama.ptrace_scope + * kernel.kptr_restrict + * kernel.dmesg_restrict + * kernel.sysrq * fs.aio-max-nr * fs.file-max * fs.inotify.max_user_instances * fs.inotify.max_user_watches * fs.nr_open * vm.dirty_background_ratio + * vm.dirty_background_bytes * vm.dirty_expire_centisecs * vm.dirty_ratio + * vm.dirty_bytes * vm.dirty_writeback_centisecs * vm.max_map_count * vm.overcommit_memory @@ -95,6 +109,13 @@ class LinuxNodeConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.LinuxNodeConfig.TransparentHugepageDefrag transparent_hugepage_defrag = 5 [(.google.api.field_behavior) = OPTIONAL]; */ protected $transparent_hugepage_defrag = 0; + /** + * Optional. Enables and configures swap space on nodes. + * If omitted, swap is disabled. + * + * Generated from protobuf field optional .google.container.v1.LinuxNodeConfig.SwapConfig swap_config = 12 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $swap_config = null; /** * Optional. Configuration for kernel module loading on nodes. * When enabled, the node pool will be provisioned with a Container-Optimized @@ -126,7 +147,12 @@ class LinuxNodeConfig extends \Google\Protobuf\Internal\Message * net.ipv4.tcp_rmem * net.ipv4.tcp_wmem * net.ipv4.tcp_tw_reuse + * net.ipv4.tcp_mtu_probing * net.ipv4.tcp_max_orphans + * net.ipv4.tcp_max_tw_buckets + * net.ipv4.tcp_syn_retries + * net.ipv4.tcp_ecn + * net.ipv4.tcp_congestion_control * net.netfilter.nf_conntrack_max * net.netfilter.nf_conntrack_buckets * net.netfilter.nf_conntrack_tcp_timeout_close_wait @@ -136,14 +162,23 @@ class LinuxNodeConfig extends \Google\Protobuf\Internal\Message * kernel.shmmni * kernel.shmmax * kernel.shmall + * kernel.perf_event_paranoid + * kernel.sched_rt_runtime_us + * kernel.softlockup_panic + * kernel.yama.ptrace_scope + * kernel.kptr_restrict + * kernel.dmesg_restrict + * kernel.sysrq * fs.aio-max-nr * fs.file-max * fs.inotify.max_user_instances * fs.inotify.max_user_watches * fs.nr_open * vm.dirty_background_ratio + * vm.dirty_background_bytes * vm.dirty_expire_centisecs * vm.dirty_ratio + * vm.dirty_bytes * vm.dirty_writeback_centisecs * vm.max_map_count * vm.overcommit_memory @@ -170,6 +205,9 @@ class LinuxNodeConfig extends \Google\Protobuf\Internal\Message * immediate allocation only. * See https://docs.kernel.org/admin-guide/mm/transhuge.html * for more details. + * @type \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig $swap_config + * Optional. Enables and configures swap space on nodes. + * If omitted, swap is disabled. * @type \Google\Cloud\Container\V1\LinuxNodeConfig\NodeKernelModuleLoading $node_kernel_module_loading * Optional. Configuration for kernel module loading on nodes. * When enabled, the node pool will be provisioned with a Container-Optimized @@ -197,7 +235,12 @@ public function __construct($data = NULL) { * net.ipv4.tcp_rmem * net.ipv4.tcp_wmem * net.ipv4.tcp_tw_reuse + * net.ipv4.tcp_mtu_probing * net.ipv4.tcp_max_orphans + * net.ipv4.tcp_max_tw_buckets + * net.ipv4.tcp_syn_retries + * net.ipv4.tcp_ecn + * net.ipv4.tcp_congestion_control * net.netfilter.nf_conntrack_max * net.netfilter.nf_conntrack_buckets * net.netfilter.nf_conntrack_tcp_timeout_close_wait @@ -207,14 +250,23 @@ public function __construct($data = NULL) { * kernel.shmmni * kernel.shmmax * kernel.shmall + * kernel.perf_event_paranoid + * kernel.sched_rt_runtime_us + * kernel.softlockup_panic + * kernel.yama.ptrace_scope + * kernel.kptr_restrict + * kernel.dmesg_restrict + * kernel.sysrq * fs.aio-max-nr * fs.file-max * fs.inotify.max_user_instances * fs.inotify.max_user_watches * fs.nr_open * vm.dirty_background_ratio + * vm.dirty_background_bytes * vm.dirty_expire_centisecs * vm.dirty_ratio + * vm.dirty_bytes * vm.dirty_writeback_centisecs * vm.max_map_count * vm.overcommit_memory @@ -248,7 +300,12 @@ public function getSysctls() * net.ipv4.tcp_rmem * net.ipv4.tcp_wmem * net.ipv4.tcp_tw_reuse + * net.ipv4.tcp_mtu_probing * net.ipv4.tcp_max_orphans + * net.ipv4.tcp_max_tw_buckets + * net.ipv4.tcp_syn_retries + * net.ipv4.tcp_ecn + * net.ipv4.tcp_congestion_control * net.netfilter.nf_conntrack_max * net.netfilter.nf_conntrack_buckets * net.netfilter.nf_conntrack_tcp_timeout_close_wait @@ -258,14 +315,23 @@ public function getSysctls() * kernel.shmmni * kernel.shmmax * kernel.shmall + * kernel.perf_event_paranoid + * kernel.sched_rt_runtime_us + * kernel.softlockup_panic + * kernel.yama.ptrace_scope + * kernel.kptr_restrict + * kernel.dmesg_restrict + * kernel.sysrq * fs.aio-max-nr * fs.file-max * fs.inotify.max_user_instances * fs.inotify.max_user_watches * fs.nr_open * vm.dirty_background_ratio + * vm.dirty_background_bytes * vm.dirty_expire_centisecs * vm.dirty_ratio + * vm.dirty_bytes * vm.dirty_writeback_centisecs * vm.max_map_count * vm.overcommit_memory @@ -421,6 +487,44 @@ public function setTransparentHugepageDefrag($var) return $this; } + /** + * Optional. Enables and configures swap space on nodes. + * If omitted, swap is disabled. + * + * Generated from protobuf field optional .google.container.v1.LinuxNodeConfig.SwapConfig swap_config = 12 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig|null + */ + public function getSwapConfig() + { + return $this->swap_config; + } + + public function hasSwapConfig() + { + return isset($this->swap_config); + } + + public function clearSwapConfig() + { + unset($this->swap_config); + } + + /** + * Optional. Enables and configures swap space on nodes. + * If omitted, swap is disabled. + * + * Generated from protobuf field optional .google.container.v1.LinuxNodeConfig.SwapConfig swap_config = 12 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig $var + * @return $this + */ + public function setSwapConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig::class); + $this->swap_config = $var; + + return $this; + } + /** * Optional. Configuration for kernel module loading on nodes. * When enabled, the node pool will be provisioned with a Container-Optimized diff --git a/Container/src/V1/LinuxNodeConfig/SwapConfig.php b/Container/src/V1/LinuxNodeConfig/SwapConfig.php new file mode 100644 index 000000000000..5bb7b228efbb --- /dev/null +++ b/Container/src/V1/LinuxNodeConfig/SwapConfig.php @@ -0,0 +1,230 @@ +google.container.v1.LinuxNodeConfig.SwapConfig + */ +class SwapConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Enables or disables swap for the node pool. + * + * Generated from protobuf field optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $enabled = null; + /** + * Optional. If omitted, swap space is encrypted by default. + * + * Generated from protobuf field optional .google.container.v1.LinuxNodeConfig.SwapConfig.EncryptionConfig encryption_config = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $encryption_config = null; + protected $performance_profile; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $enabled + * Optional. Enables or disables swap for the node pool. + * @type \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\EncryptionConfig $encryption_config + * Optional. If omitted, swap space is encrypted by default. + * @type \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\BootDiskProfile $boot_disk_profile + * Swap on the node's boot disk. + * @type \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\EphemeralLocalSsdProfile $ephemeral_local_ssd_profile + * Swap on the local SSD shared with pod ephemeral storage. + * @type \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\DedicatedLocalSsdProfile $dedicated_local_ssd_profile + * Provisions a new, separate local NVMe SSD exclusively for swap. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Enables or disables swap for the node pool. + * + * Generated from protobuf field optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getEnabled() + { + return isset($this->enabled) ? $this->enabled : false; + } + + public function hasEnabled() + { + return isset($this->enabled); + } + + public function clearEnabled() + { + unset($this->enabled); + } + + /** + * Optional. Enables or disables swap for the node pool. + * + * Generated from protobuf field optional bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setEnabled($var) + { + GPBUtil::checkBool($var); + $this->enabled = $var; + + return $this; + } + + /** + * Optional. If omitted, swap space is encrypted by default. + * + * Generated from protobuf field optional .google.container.v1.LinuxNodeConfig.SwapConfig.EncryptionConfig encryption_config = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\EncryptionConfig|null + */ + public function getEncryptionConfig() + { + return $this->encryption_config; + } + + public function hasEncryptionConfig() + { + return isset($this->encryption_config); + } + + public function clearEncryptionConfig() + { + unset($this->encryption_config); + } + + /** + * Optional. If omitted, swap space is encrypted by default. + * + * Generated from protobuf field optional .google.container.v1.LinuxNodeConfig.SwapConfig.EncryptionConfig encryption_config = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\EncryptionConfig $var + * @return $this + */ + public function setEncryptionConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\EncryptionConfig::class); + $this->encryption_config = $var; + + return $this; + } + + /** + * Swap on the node's boot disk. + * + * Generated from protobuf field .google.container.v1.LinuxNodeConfig.SwapConfig.BootDiskProfile boot_disk_profile = 3; + * @return \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\BootDiskProfile|null + */ + public function getBootDiskProfile() + { + return $this->readOneof(3); + } + + public function hasBootDiskProfile() + { + return $this->hasOneof(3); + } + + /** + * Swap on the node's boot disk. + * + * Generated from protobuf field .google.container.v1.LinuxNodeConfig.SwapConfig.BootDiskProfile boot_disk_profile = 3; + * @param \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\BootDiskProfile $var + * @return $this + */ + public function setBootDiskProfile($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\BootDiskProfile::class); + $this->writeOneof(3, $var); + + return $this; + } + + /** + * Swap on the local SSD shared with pod ephemeral storage. + * + * Generated from protobuf field .google.container.v1.LinuxNodeConfig.SwapConfig.EphemeralLocalSsdProfile ephemeral_local_ssd_profile = 4; + * @return \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\EphemeralLocalSsdProfile|null + */ + public function getEphemeralLocalSsdProfile() + { + return $this->readOneof(4); + } + + public function hasEphemeralLocalSsdProfile() + { + return $this->hasOneof(4); + } + + /** + * Swap on the local SSD shared with pod ephemeral storage. + * + * Generated from protobuf field .google.container.v1.LinuxNodeConfig.SwapConfig.EphemeralLocalSsdProfile ephemeral_local_ssd_profile = 4; + * @param \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\EphemeralLocalSsdProfile $var + * @return $this + */ + public function setEphemeralLocalSsdProfile($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\EphemeralLocalSsdProfile::class); + $this->writeOneof(4, $var); + + return $this; + } + + /** + * Provisions a new, separate local NVMe SSD exclusively for swap. + * + * Generated from protobuf field .google.container.v1.LinuxNodeConfig.SwapConfig.DedicatedLocalSsdProfile dedicated_local_ssd_profile = 5; + * @return \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\DedicatedLocalSsdProfile|null + */ + public function getDedicatedLocalSsdProfile() + { + return $this->readOneof(5); + } + + public function hasDedicatedLocalSsdProfile() + { + return $this->hasOneof(5); + } + + /** + * Provisions a new, separate local NVMe SSD exclusively for swap. + * + * Generated from protobuf field .google.container.v1.LinuxNodeConfig.SwapConfig.DedicatedLocalSsdProfile dedicated_local_ssd_profile = 5; + * @param \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\DedicatedLocalSsdProfile $var + * @return $this + */ + public function setDedicatedLocalSsdProfile($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\LinuxNodeConfig\SwapConfig\DedicatedLocalSsdProfile::class); + $this->writeOneof(5, $var); + + return $this; + } + + /** + * @return string + */ + public function getPerformanceProfile() + { + return $this->whichOneof("performance_profile"); + } + +} + + diff --git a/Container/src/V1/LinuxNodeConfig/SwapConfig/BootDiskProfile.php b/Container/src/V1/LinuxNodeConfig/SwapConfig/BootDiskProfile.php new file mode 100644 index 000000000000..daba6040567a --- /dev/null +++ b/Container/src/V1/LinuxNodeConfig/SwapConfig/BootDiskProfile.php @@ -0,0 +1,112 @@ +google.container.v1.LinuxNodeConfig.SwapConfig.BootDiskProfile + */ +class BootDiskProfile extends \Google\Protobuf\Internal\Message +{ + protected $swap_size; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $swap_size_gib + * Specifies the size of the swap space in gibibytes (GiB). + * @type int $swap_size_percent + * Specifies the size of the swap space as a percentage of the boot disk + * size. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Specifies the size of the swap space in gibibytes (GiB). + * + * Generated from protobuf field int64 swap_size_gib = 1; + * @return int|string + */ + public function getSwapSizeGib() + { + return $this->readOneof(1); + } + + public function hasSwapSizeGib() + { + return $this->hasOneof(1); + } + + /** + * Specifies the size of the swap space in gibibytes (GiB). + * + * Generated from protobuf field int64 swap_size_gib = 1; + * @param int|string $var + * @return $this + */ + public function setSwapSizeGib($var) + { + GPBUtil::checkInt64($var); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Specifies the size of the swap space as a percentage of the boot disk + * size. + * + * Generated from protobuf field int32 swap_size_percent = 2; + * @return int + */ + public function getSwapSizePercent() + { + return $this->readOneof(2); + } + + public function hasSwapSizePercent() + { + return $this->hasOneof(2); + } + + /** + * Specifies the size of the swap space as a percentage of the boot disk + * size. + * + * Generated from protobuf field int32 swap_size_percent = 2; + * @param int $var + * @return $this + */ + public function setSwapSizePercent($var) + { + GPBUtil::checkInt32($var); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getSwapSize() + { + return $this->whichOneof("swap_size"); + } + +} + + diff --git a/Container/src/V1/LinuxNodeConfig/SwapConfig/DedicatedLocalSsdProfile.php b/Container/src/V1/LinuxNodeConfig/SwapConfig/DedicatedLocalSsdProfile.php new file mode 100644 index 000000000000..f480850c6629 --- /dev/null +++ b/Container/src/V1/LinuxNodeConfig/SwapConfig/DedicatedLocalSsdProfile.php @@ -0,0 +1,68 @@ +google.container.v1.LinuxNodeConfig.SwapConfig.DedicatedLocalSsdProfile + */ +class DedicatedLocalSsdProfile extends \Google\Protobuf\Internal\Message +{ + /** + * The number of physical local NVMe SSD disks to attach. + * + * Generated from protobuf field int64 disk_count = 1; + */ + protected $disk_count = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $disk_count + * The number of physical local NVMe SSD disks to attach. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * The number of physical local NVMe SSD disks to attach. + * + * Generated from protobuf field int64 disk_count = 1; + * @return int|string + */ + public function getDiskCount() + { + return $this->disk_count; + } + + /** + * The number of physical local NVMe SSD disks to attach. + * + * Generated from protobuf field int64 disk_count = 1; + * @param int|string $var + * @return $this + */ + public function setDiskCount($var) + { + GPBUtil::checkInt64($var); + $this->disk_count = $var; + + return $this; + } + +} + + diff --git a/Container/src/V1/LinuxNodeConfig/SwapConfig/EncryptionConfig.php b/Container/src/V1/LinuxNodeConfig/SwapConfig/EncryptionConfig.php new file mode 100644 index 000000000000..e09c3f8abee9 --- /dev/null +++ b/Container/src/V1/LinuxNodeConfig/SwapConfig/EncryptionConfig.php @@ -0,0 +1,82 @@ +google.container.v1.LinuxNodeConfig.SwapConfig.EncryptionConfig + */ +class EncryptionConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. If true, swap space will not be encrypted. + * Defaults to false (encrypted). + * + * Generated from protobuf field optional bool disabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $disabled = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $disabled + * Optional. If true, swap space will not be encrypted. + * Defaults to false (encrypted). + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Optional. If true, swap space will not be encrypted. + * Defaults to false (encrypted). + * + * Generated from protobuf field optional bool disabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getDisabled() + { + return isset($this->disabled) ? $this->disabled : false; + } + + public function hasDisabled() + { + return isset($this->disabled); + } + + public function clearDisabled() + { + unset($this->disabled); + } + + /** + * Optional. If true, swap space will not be encrypted. + * Defaults to false (encrypted). + * + * Generated from protobuf field optional bool disabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setDisabled($var) + { + GPBUtil::checkBool($var); + $this->disabled = $var; + + return $this; + } + +} + + diff --git a/Container/src/V1/LinuxNodeConfig/SwapConfig/EphemeralLocalSsdProfile.php b/Container/src/V1/LinuxNodeConfig/SwapConfig/EphemeralLocalSsdProfile.php new file mode 100644 index 000000000000..77765f58eb7d --- /dev/null +++ b/Container/src/V1/LinuxNodeConfig/SwapConfig/EphemeralLocalSsdProfile.php @@ -0,0 +1,112 @@ +google.container.v1.LinuxNodeConfig.SwapConfig.EphemeralLocalSsdProfile + */ +class EphemeralLocalSsdProfile extends \Google\Protobuf\Internal\Message +{ + protected $swap_size; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $swap_size_gib + * Specifies the size of the swap space in gibibytes (GiB). + * @type int $swap_size_percent + * Specifies the size of the swap space as a percentage of the ephemeral + * local SSD capacity. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Specifies the size of the swap space in gibibytes (GiB). + * + * Generated from protobuf field int64 swap_size_gib = 1; + * @return int|string + */ + public function getSwapSizeGib() + { + return $this->readOneof(1); + } + + public function hasSwapSizeGib() + { + return $this->hasOneof(1); + } + + /** + * Specifies the size of the swap space in gibibytes (GiB). + * + * Generated from protobuf field int64 swap_size_gib = 1; + * @param int|string $var + * @return $this + */ + public function setSwapSizeGib($var) + { + GPBUtil::checkInt64($var); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * Specifies the size of the swap space as a percentage of the ephemeral + * local SSD capacity. + * + * Generated from protobuf field int32 swap_size_percent = 2; + * @return int + */ + public function getSwapSizePercent() + { + return $this->readOneof(2); + } + + public function hasSwapSizePercent() + { + return $this->hasOneof(2); + } + + /** + * Specifies the size of the swap space as a percentage of the ephemeral + * local SSD capacity. + * + * Generated from protobuf field int32 swap_size_percent = 2; + * @param int $var + * @return $this + */ + public function setSwapSizePercent($var) + { + GPBUtil::checkInt32($var); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getSwapSize() + { + return $this->whichOneof("swap_size"); + } + +} + + diff --git a/Container/src/V1/ManagedOpenTelemetryConfig.php b/Container/src/V1/ManagedOpenTelemetryConfig.php new file mode 100644 index 000000000000..99c1051badab --- /dev/null +++ b/Container/src/V1/ManagedOpenTelemetryConfig.php @@ -0,0 +1,78 @@ +google.container.v1.ManagedOpenTelemetryConfig + */ +class ManagedOpenTelemetryConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Scope of the Managed OpenTelemetry pipeline. + * + * Generated from protobuf field optional .google.container.v1.ManagedOpenTelemetryConfig.Scope scope = 1; + */ + protected $scope = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int $scope + * Scope of the Managed OpenTelemetry pipeline. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Scope of the Managed OpenTelemetry pipeline. + * + * Generated from protobuf field optional .google.container.v1.ManagedOpenTelemetryConfig.Scope scope = 1; + * @return int + */ + public function getScope() + { + return isset($this->scope) ? $this->scope : 0; + } + + public function hasScope() + { + return isset($this->scope); + } + + public function clearScope() + { + unset($this->scope); + } + + /** + * Scope of the Managed OpenTelemetry pipeline. + * + * Generated from protobuf field optional .google.container.v1.ManagedOpenTelemetryConfig.Scope scope = 1; + * @param int $var + * @return $this + */ + public function setScope($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Container\V1\ManagedOpenTelemetryConfig\Scope::class); + $this->scope = $var; + + return $this; + } + +} + diff --git a/Container/src/V1/ManagedOpenTelemetryConfig/Scope.php b/Container/src/V1/ManagedOpenTelemetryConfig/Scope.php new file mode 100644 index 000000000000..96c5b6369977 --- /dev/null +++ b/Container/src/V1/ManagedOpenTelemetryConfig/Scope.php @@ -0,0 +1,63 @@ +google.container.v1.ManagedOpenTelemetryConfig.Scope + */ +class Scope +{ + /** + * SCOPE_UNSPECIFIED is when the scope is not set. + * + * Generated from protobuf enum SCOPE_UNSPECIFIED = 0; + */ + const SCOPE_UNSPECIFIED = 0; + /** + * NONE is used to disable the Managed OpenTelemetry pipeline. + * + * Generated from protobuf enum NONE = 1; + */ + const NONE = 1; + /** + * COLLECTION_AND_INSTRUMENTATION_COMPONENTS is used to enable the Managed + * OpenTelemetry pipeline for collection and instrumentation components. + * + * Generated from protobuf enum COLLECTION_AND_INSTRUMENTATION_COMPONENTS = 2; + */ + const COLLECTION_AND_INSTRUMENTATION_COMPONENTS = 2; + + private static $valueToName = [ + self::SCOPE_UNSPECIFIED => 'SCOPE_UNSPECIFIED', + self::NONE => 'NONE', + self::COLLECTION_AND_INSTRUMENTATION_COMPONENTS => 'COLLECTION_AND_INSTRUMENTATION_COMPONENTS', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + + diff --git a/Container/src/V1/NodeConfig.php b/Container/src/V1/NodeConfig.php index 496a19828979..7ee451243c25 100644 --- a/Container/src/V1/NodeConfig.php +++ b/Container/src/V1/NodeConfig.php @@ -349,6 +349,12 @@ class NodeConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field optional .google.container.v1.SecondaryBootDiskUpdateStrategy secondary_boot_disk_update_strategy = 50; */ protected $secondary_boot_disk_update_strategy = null; + /** + * The configuration for GPU Direct + * + * Generated from protobuf field optional .google.container.v1.GPUDirectConfig gpu_direct_config = 51; + */ + protected $gpu_direct_config = null; /** * The maximum duration for the nodes to exist. * If unspecified, the nodes can exist indefinitely. @@ -384,6 +390,14 @@ class NodeConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.BootDisk boot_disk = 57; */ protected $boot_disk = null; + /** + * Consolidation delay defines duration after which the Cluster Autoscaler can + * scale down underutilized nodes. If not set, nodes are scaled down by + * default behavior, i.e. according to the chosen autoscaling profile. + * + * Generated from protobuf field .google.protobuf.Duration consolidation_delay = 60; + */ + protected $consolidation_delay = null; /** * Constructor. @@ -561,6 +575,8 @@ class NodeConfig extends \Google\Protobuf\Internal\Message * List of Storage Pools where boot disks are provisioned. * @type \Google\Cloud\Container\V1\SecondaryBootDiskUpdateStrategy $secondary_boot_disk_update_strategy * Secondary boot disk update strategy. + * @type \Google\Cloud\Container\V1\GPUDirectConfig $gpu_direct_config + * The configuration for GPU Direct * @type \Google\Protobuf\Duration $max_run_duration * The maximum duration for the nodes to exist. * If unspecified, the nodes can exist indefinitely. @@ -576,6 +592,10 @@ class NodeConfig extends \Google\Protobuf\Internal\Message * Flex Start flag for enabling Flex Start VM. * @type \Google\Cloud\Container\V1\BootDisk $boot_disk * The boot disk configuration for the node pool. + * @type \Google\Protobuf\Duration $consolidation_delay + * Consolidation delay defines duration after which the Cluster Autoscaler can + * scale down underutilized nodes. If not set, nodes are scaled down by + * default behavior, i.e. according to the chosen autoscaling profile. * } */ public function __construct($data = NULL) { @@ -1993,6 +2013,42 @@ public function setSecondaryBootDiskUpdateStrategy($var) return $this; } + /** + * The configuration for GPU Direct + * + * Generated from protobuf field optional .google.container.v1.GPUDirectConfig gpu_direct_config = 51; + * @return \Google\Cloud\Container\V1\GPUDirectConfig|null + */ + public function getGpuDirectConfig() + { + return $this->gpu_direct_config; + } + + public function hasGpuDirectConfig() + { + return isset($this->gpu_direct_config); + } + + public function clearGpuDirectConfig() + { + unset($this->gpu_direct_config); + } + + /** + * The configuration for GPU Direct + * + * Generated from protobuf field optional .google.container.v1.GPUDirectConfig gpu_direct_config = 51; + * @param \Google\Cloud\Container\V1\GPUDirectConfig $var + * @return $this + */ + public function setGpuDirectConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\GPUDirectConfig::class); + $this->gpu_direct_config = $var; + + return $this; + } + /** * The maximum duration for the nodes to exist. * If unspecified, the nodes can exist indefinitely. @@ -2173,5 +2229,45 @@ public function setBootDisk($var) return $this; } + /** + * Consolidation delay defines duration after which the Cluster Autoscaler can + * scale down underutilized nodes. If not set, nodes are scaled down by + * default behavior, i.e. according to the chosen autoscaling profile. + * + * Generated from protobuf field .google.protobuf.Duration consolidation_delay = 60; + * @return \Google\Protobuf\Duration|null + */ + public function getConsolidationDelay() + { + return $this->consolidation_delay; + } + + public function hasConsolidationDelay() + { + return isset($this->consolidation_delay); + } + + public function clearConsolidationDelay() + { + unset($this->consolidation_delay); + } + + /** + * Consolidation delay defines duration after which the Cluster Autoscaler can + * scale down underutilized nodes. If not set, nodes are scaled down by + * default behavior, i.e. according to the chosen autoscaling profile. + * + * Generated from protobuf field .google.protobuf.Duration consolidation_delay = 60; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setConsolidationDelay($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->consolidation_delay = $var; + + return $this; + } + } diff --git a/Container/src/V1/NodeKubeletConfig.php b/Container/src/V1/NodeKubeletConfig.php index c5596e99aead..66b0f935eb27 100644 --- a/Container/src/V1/NodeKubeletConfig.php +++ b/Container/src/V1/NodeKubeletConfig.php @@ -226,6 +226,30 @@ class NodeKubeletConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field optional bool single_process_oom_kill = 22 [(.google.api.field_behavior) = OPTIONAL]; */ protected $single_process_oom_kill = null; + /** + * Optional. shutdown_grace_period_seconds is the maximum allowed grace period + * (in seconds) the total duration that the node should delay the shutdown + * during a graceful shutdown. This is the total grace period for pod + * termination for both regular and critical pods. + * https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ + * If set to 0, node will not enable the graceful node shutdown functionality. + * This field is only valid for Spot VMs. + * Allowed values: 0, 30, 120. + * + * Generated from protobuf field optional int32 shutdown_grace_period_seconds = 26 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $shutdown_grace_period_seconds = null; + /** + * Optional. shutdown_grace_period_critical_pods_seconds is the maximum + * allowed grace period (in seconds) used to terminate critical pods during a + * node shutdown. This value should be <= shutdown_grace_period_seconds, and + * is only valid if shutdown_grace_period_seconds is set. + * https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ + * Range: [0, 120]. + * + * Generated from protobuf field optional int32 shutdown_grace_period_critical_pods_seconds = 27 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $shutdown_grace_period_critical_pods_seconds = null; /** * Constructor. @@ -364,6 +388,22 @@ class NodeKubeletConfig extends \Google\Protobuf\Internal\Message * If true, will prevent the memory.oom.group flag from being set for * container cgroups in cgroups v2. This causes processes in the container to * be OOM killed individually instead of as a group. + * @type int $shutdown_grace_period_seconds + * Optional. shutdown_grace_period_seconds is the maximum allowed grace period + * (in seconds) the total duration that the node should delay the shutdown + * during a graceful shutdown. This is the total grace period for pod + * termination for both regular and critical pods. + * https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ + * If set to 0, node will not enable the graceful node shutdown functionality. + * This field is only valid for Spot VMs. + * Allowed values: 0, 30, 120. + * @type int $shutdown_grace_period_critical_pods_seconds + * Optional. shutdown_grace_period_critical_pods_seconds is the maximum + * allowed grace period (in seconds) used to terminate critical pods during a + * node shutdown. This value should be <= shutdown_grace_period_seconds, and + * is only valid if shutdown_grace_period_seconds is set. + * https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ + * Range: [0, 120]. * } */ public function __construct($data = NULL) { @@ -1194,5 +1234,101 @@ public function setSingleProcessOomKill($var) return $this; } + /** + * Optional. shutdown_grace_period_seconds is the maximum allowed grace period + * (in seconds) the total duration that the node should delay the shutdown + * during a graceful shutdown. This is the total grace period for pod + * termination for both regular and critical pods. + * https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ + * If set to 0, node will not enable the graceful node shutdown functionality. + * This field is only valid for Spot VMs. + * Allowed values: 0, 30, 120. + * + * Generated from protobuf field optional int32 shutdown_grace_period_seconds = 26 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getShutdownGracePeriodSeconds() + { + return isset($this->shutdown_grace_period_seconds) ? $this->shutdown_grace_period_seconds : 0; + } + + public function hasShutdownGracePeriodSeconds() + { + return isset($this->shutdown_grace_period_seconds); + } + + public function clearShutdownGracePeriodSeconds() + { + unset($this->shutdown_grace_period_seconds); + } + + /** + * Optional. shutdown_grace_period_seconds is the maximum allowed grace period + * (in seconds) the total duration that the node should delay the shutdown + * during a graceful shutdown. This is the total grace period for pod + * termination for both regular and critical pods. + * https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ + * If set to 0, node will not enable the graceful node shutdown functionality. + * This field is only valid for Spot VMs. + * Allowed values: 0, 30, 120. + * + * Generated from protobuf field optional int32 shutdown_grace_period_seconds = 26 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setShutdownGracePeriodSeconds($var) + { + GPBUtil::checkInt32($var); + $this->shutdown_grace_period_seconds = $var; + + return $this; + } + + /** + * Optional. shutdown_grace_period_critical_pods_seconds is the maximum + * allowed grace period (in seconds) used to terminate critical pods during a + * node shutdown. This value should be <= shutdown_grace_period_seconds, and + * is only valid if shutdown_grace_period_seconds is set. + * https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ + * Range: [0, 120]. + * + * Generated from protobuf field optional int32 shutdown_grace_period_critical_pods_seconds = 27 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getShutdownGracePeriodCriticalPodsSeconds() + { + return isset($this->shutdown_grace_period_critical_pods_seconds) ? $this->shutdown_grace_period_critical_pods_seconds : 0; + } + + public function hasShutdownGracePeriodCriticalPodsSeconds() + { + return isset($this->shutdown_grace_period_critical_pods_seconds); + } + + public function clearShutdownGracePeriodCriticalPodsSeconds() + { + unset($this->shutdown_grace_period_critical_pods_seconds); + } + + /** + * Optional. shutdown_grace_period_critical_pods_seconds is the maximum + * allowed grace period (in seconds) used to terminate critical pods during a + * node shutdown. This value should be <= shutdown_grace_period_seconds, and + * is only valid if shutdown_grace_period_seconds is set. + * https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/ + * Range: [0, 120]. + * + * Generated from protobuf field optional int32 shutdown_grace_period_critical_pods_seconds = 27 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setShutdownGracePeriodCriticalPodsSeconds($var) + { + GPBUtil::checkInt32($var); + $this->shutdown_grace_period_critical_pods_seconds = $var; + + return $this; + } + } diff --git a/Container/src/V1/NodeNetworkConfig.php b/Container/src/V1/NodeNetworkConfig.php index 5207e3d7ad80..98a459fd56c7 100644 --- a/Container/src/V1/NodeNetworkConfig.php +++ b/Container/src/V1/NodeNetworkConfig.php @@ -106,13 +106,17 @@ class NodeNetworkConfig extends \Google\Protobuf\Internal\Message */ protected $pod_ipv4_range_utilization = 0.0; /** - * Output only. The subnetwork path for the node pool. + * Optional. The subnetwork name/path for the node pool. * Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} - * If the cluster is associated with multiple subnetworks, the subnetwork for - * the node pool is picked based on the IP utilization during node pool - * creation and is immutable. + * If the cluster is associated with multiple subnetworks, the subnetwork can + * be either: + * 1. A user supplied subnetwork name/full path during node pool creation. + * Example1: my-subnet + * Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet + * 2. A subnetwork path picked based on the IP utilization during node pool + * creation and is immutable. * - * Generated from protobuf field string subnetwork = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * Generated from protobuf field string subnetwork = 19 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { */ protected $subnetwork = ''; /** @@ -185,11 +189,15 @@ class NodeNetworkConfig extends \Google\Protobuf\Internal\Message * The ratio is Usage/[Total number of IPs in the secondary range], * Usage=numNodes*numZones*podIPsPerNode. * @type string $subnetwork - * Output only. The subnetwork path for the node pool. + * Optional. The subnetwork name/path for the node pool. * Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} - * If the cluster is associated with multiple subnetworks, the subnetwork for - * the node pool is picked based on the IP utilization during node pool - * creation and is immutable. + * If the cluster is associated with multiple subnetworks, the subnetwork can + * be either: + * 1. A user supplied subnetwork name/full path during node pool creation. + * Example1: my-subnet + * Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet + * 2. A subnetwork path picked based on the IP utilization during node pool + * creation and is immutable. * @type \Google\Cloud\Container\V1\NetworkTierConfig $network_tier_config * Output only. The network tier configuration for the node pool inherits from * the cluster-level configuration and remains immutable throughout the node @@ -538,13 +546,17 @@ public function setPodIpv4RangeUtilization($var) } /** - * Output only. The subnetwork path for the node pool. + * Optional. The subnetwork name/path for the node pool. * Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} - * If the cluster is associated with multiple subnetworks, the subnetwork for - * the node pool is picked based on the IP utilization during node pool - * creation and is immutable. - * - * Generated from protobuf field string subnetwork = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * If the cluster is associated with multiple subnetworks, the subnetwork can + * be either: + * 1. A user supplied subnetwork name/full path during node pool creation. + * Example1: my-subnet + * Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet + * 2. A subnetwork path picked based on the IP utilization during node pool + * creation and is immutable. + * + * Generated from protobuf field string subnetwork = 19 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { * @return string */ public function getSubnetwork() @@ -553,13 +565,17 @@ public function getSubnetwork() } /** - * Output only. The subnetwork path for the node pool. + * Optional. The subnetwork name/path for the node pool. * Format: projects/{project}/regions/{region}/subnetworks/{subnetwork} - * If the cluster is associated with multiple subnetworks, the subnetwork for - * the node pool is picked based on the IP utilization during node pool - * creation and is immutable. - * - * Generated from protobuf field string subnetwork = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * If the cluster is associated with multiple subnetworks, the subnetwork can + * be either: + * 1. A user supplied subnetwork name/full path during node pool creation. + * Example1: my-subnet + * Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet + * 2. A subnetwork path picked based on the IP utilization during node pool + * creation and is immutable. + * + * Generated from protobuf field string subnetwork = 19 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { * @param string $var * @return $this */ diff --git a/Container/src/V1/NodePool.php b/Container/src/V1/NodePool.php index 8096ec0fd08a..7ce57cbc30da 100644 --- a/Container/src/V1/NodePool.php +++ b/Container/src/V1/NodePool.php @@ -172,6 +172,12 @@ class NodePool extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.BestEffortProvisioning best_effort_provisioning = 113; */ protected $best_effort_provisioning = null; + /** + * Specifies the node drain configuration for this node pool. + * + * Generated from protobuf field .google.container.v1.NodePool.NodeDrainConfig node_drain_config = 116; + */ + protected $node_drain_config = null; /** * Constructor. @@ -246,6 +252,8 @@ class NodePool extends \Google\Protobuf\Internal\Message * Specifies the configuration of queued provisioning. * @type \Google\Cloud\Container\V1\BestEffortProvisioning $best_effort_provisioning * Enable best effort provisioning for nodes + * @type \Google\Cloud\Container\V1\NodePool\NodeDrainConfig $node_drain_config + * Specifies the node drain configuration for this node pool. * } */ public function __construct($data = NULL) { @@ -955,5 +963,41 @@ public function setBestEffortProvisioning($var) return $this; } + /** + * Specifies the node drain configuration for this node pool. + * + * Generated from protobuf field .google.container.v1.NodePool.NodeDrainConfig node_drain_config = 116; + * @return \Google\Cloud\Container\V1\NodePool\NodeDrainConfig|null + */ + public function getNodeDrainConfig() + { + return $this->node_drain_config; + } + + public function hasNodeDrainConfig() + { + return isset($this->node_drain_config); + } + + public function clearNodeDrainConfig() + { + unset($this->node_drain_config); + } + + /** + * Specifies the node drain configuration for this node pool. + * + * Generated from protobuf field .google.container.v1.NodePool.NodeDrainConfig node_drain_config = 116; + * @param \Google\Cloud\Container\V1\NodePool\NodeDrainConfig $var + * @return $this + */ + public function setNodeDrainConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\NodePool\NodeDrainConfig::class); + $this->node_drain_config = $var; + + return $this; + } + } diff --git a/Container/src/V1/NodePool/NodeDrainConfig.php b/Container/src/V1/NodePool/NodeDrainConfig.php new file mode 100644 index 000000000000..88fb0f2281ef --- /dev/null +++ b/Container/src/V1/NodePool/NodeDrainConfig.php @@ -0,0 +1,79 @@ +google.container.v1.NodePool.NodeDrainConfig + */ +class NodeDrainConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Whether to respect PDB during node pool deletion. + * + * Generated from protobuf field optional bool respect_pdb_during_node_pool_deletion = 3; + */ + protected $respect_pdb_during_node_pool_deletion = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $respect_pdb_during_node_pool_deletion + * Whether to respect PDB during node pool deletion. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Whether to respect PDB during node pool deletion. + * + * Generated from protobuf field optional bool respect_pdb_during_node_pool_deletion = 3; + * @return bool + */ + public function getRespectPdbDuringNodePoolDeletion() + { + return isset($this->respect_pdb_during_node_pool_deletion) ? $this->respect_pdb_during_node_pool_deletion : false; + } + + public function hasRespectPdbDuringNodePoolDeletion() + { + return isset($this->respect_pdb_during_node_pool_deletion); + } + + public function clearRespectPdbDuringNodePoolDeletion() + { + unset($this->respect_pdb_during_node_pool_deletion); + } + + /** + * Whether to respect PDB during node pool deletion. + * + * Generated from protobuf field optional bool respect_pdb_during_node_pool_deletion = 3; + * @param bool $var + * @return $this + */ + public function setRespectPdbDuringNodePoolDeletion($var) + { + GPBUtil::checkBool($var); + $this->respect_pdb_during_node_pool_deletion = $var; + + return $this; + } + +} + + diff --git a/Container/src/V1/NodePoolUpdateStrategy.php b/Container/src/V1/NodePoolUpdateStrategy.php index 0879bfb66d87..ae1948ff1f9a 100644 --- a/Container/src/V1/NodePoolUpdateStrategy.php +++ b/Container/src/V1/NodePoolUpdateStrategy.php @@ -33,11 +33,20 @@ class NodePoolUpdateStrategy * Generated from protobuf enum SURGE = 3; */ const SURGE = 3; + /** + * SHORT_LIVED is the dedicated upgrade strategy for + * QueuedProvisioning and flex start nodepools scaled up only by enqueueing to + * the Dynamic Workload Scheduler (DWS). + * + * Generated from protobuf enum SHORT_LIVED = 5; + */ + const SHORT_LIVED = 5; private static $valueToName = [ self::NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED => 'NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED', self::BLUE_GREEN => 'BLUE_GREEN', self::SURGE => 'SURGE', + self::SHORT_LIVED => 'SHORT_LIVED', ]; public static function name($value) diff --git a/Container/src/V1/RecurringTimeWindow.php b/Container/src/V1/RecurringTimeWindow.php index d048032ea79c..f0952de71d03 100644 --- a/Container/src/V1/RecurringTimeWindow.php +++ b/Container/src/V1/RecurringTimeWindow.php @@ -23,7 +23,7 @@ class RecurringTimeWindow extends \Google\Protobuf\Internal\Message protected $window = null; /** * An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how - * this window reccurs. They go on for the span of time between the start and + * this window recurs. They go on for the span of time between the start and * end time. * For example, to have something repeat every weekday, you'd use: * `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` @@ -63,7 +63,7 @@ class RecurringTimeWindow extends \Google\Protobuf\Internal\Message * The window of the first recurrence. * @type string $recurrence * An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how - * this window reccurs. They go on for the span of time between the start and + * this window recurs. They go on for the span of time between the start and * end time. * For example, to have something repeat every weekday, you'd use: * `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` @@ -133,7 +133,7 @@ public function setWindow($var) /** * An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how - * this window reccurs. They go on for the span of time between the start and + * this window recurs. They go on for the span of time between the start and * end time. * For example, to have something repeat every weekday, you'd use: * `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` @@ -169,7 +169,7 @@ public function getRecurrence() /** * An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how - * this window reccurs. They go on for the span of time between the start and + * this window recurs. They go on for the span of time between the start and * end time. * For example, to have something repeat every weekday, you'd use: * `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` diff --git a/Container/src/V1/SliceControllerConfig.php b/Container/src/V1/SliceControllerConfig.php new file mode 100644 index 000000000000..1ad30ebe7107 --- /dev/null +++ b/Container/src/V1/SliceControllerConfig.php @@ -0,0 +1,67 @@ +google.container.v1.SliceControllerConfig + */ +class SliceControllerConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Indicates whether Slice Controller is enabled in the cluster. + * + * Generated from protobuf field bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $enabled = false; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $enabled + * Optional. Indicates whether Slice Controller is enabled in the cluster. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Container\V1\ClusterService::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Indicates whether Slice Controller is enabled in the cluster. + * + * Generated from protobuf field bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getEnabled() + { + return $this->enabled; + } + + /** + * Optional. Indicates whether Slice Controller is enabled in the cluster. + * + * Generated from protobuf field bool enabled = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setEnabled($var) + { + GPBUtil::checkBool($var); + $this->enabled = $var; + + return $this; + } + +} + diff --git a/Container/src/V1/UpdateNodePoolRequest.php b/Container/src/V1/UpdateNodePoolRequest.php index 034534668acc..2ede5ef82e3b 100644 --- a/Container/src/V1/UpdateNodePoolRequest.php +++ b/Container/src/V1/UpdateNodePoolRequest.php @@ -289,6 +289,20 @@ class UpdateNodePoolRequest extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.BootDisk boot_disk = 47; */ protected $boot_disk = null; + /** + * The desired node drain configuration for nodes in the node pool. + * + * Generated from protobuf field .google.container.v1.NodePool.NodeDrainConfig node_drain_config = 48; + */ + protected $node_drain_config = null; + /** + * Consolidation delay defines duration after which the Cluster Autoscaler can + * scale down underutilized nodes. If not set, nodes are scaled down by + * default behavior, i.e. according to the chosen autoscaling profile. + * + * Generated from protobuf field .google.protobuf.Duration consolidation_delay = 49; + */ + protected $consolidation_delay = null; /** * Constructor. @@ -426,6 +440,12 @@ class UpdateNodePoolRequest extends \Google\Protobuf\Internal\Message * The desired boot disk config for nodes in the node pool. * Initiates an upgrade operation that migrates the nodes in the * node pool to the specified boot disk config. + * @type \Google\Cloud\Container\V1\NodePool\NodeDrainConfig $node_drain_config + * The desired node drain configuration for nodes in the node pool. + * @type \Google\Protobuf\Duration $consolidation_delay + * Consolidation delay defines duration after which the Cluster Autoscaler can + * scale down underutilized nodes. If not set, nodes are scaled down by + * default behavior, i.e. according to the chosen autoscaling profile. * } */ public function __construct($data = NULL) { @@ -1697,5 +1717,81 @@ public function setBootDisk($var) return $this; } + /** + * The desired node drain configuration for nodes in the node pool. + * + * Generated from protobuf field .google.container.v1.NodePool.NodeDrainConfig node_drain_config = 48; + * @return \Google\Cloud\Container\V1\NodePool\NodeDrainConfig|null + */ + public function getNodeDrainConfig() + { + return $this->node_drain_config; + } + + public function hasNodeDrainConfig() + { + return isset($this->node_drain_config); + } + + public function clearNodeDrainConfig() + { + unset($this->node_drain_config); + } + + /** + * The desired node drain configuration for nodes in the node pool. + * + * Generated from protobuf field .google.container.v1.NodePool.NodeDrainConfig node_drain_config = 48; + * @param \Google\Cloud\Container\V1\NodePool\NodeDrainConfig $var + * @return $this + */ + public function setNodeDrainConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\NodePool\NodeDrainConfig::class); + $this->node_drain_config = $var; + + return $this; + } + + /** + * Consolidation delay defines duration after which the Cluster Autoscaler can + * scale down underutilized nodes. If not set, nodes are scaled down by + * default behavior, i.e. according to the chosen autoscaling profile. + * + * Generated from protobuf field .google.protobuf.Duration consolidation_delay = 49; + * @return \Google\Protobuf\Duration|null + */ + public function getConsolidationDelay() + { + return $this->consolidation_delay; + } + + public function hasConsolidationDelay() + { + return isset($this->consolidation_delay); + } + + public function clearConsolidationDelay() + { + unset($this->consolidation_delay); + } + + /** + * Consolidation delay defines duration after which the Cluster Autoscaler can + * scale down underutilized nodes. If not set, nodes are scaled down by + * default behavior, i.e. according to the chosen autoscaling profile. + * + * Generated from protobuf field .google.protobuf.Duration consolidation_delay = 49; + * @param \Google\Protobuf\Duration $var + * @return $this + */ + public function setConsolidationDelay($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Duration::class); + $this->consolidation_delay = $var; + + return $this; + } + } diff --git a/Container/src/V1/UpgradeInfoEvent.php b/Container/src/V1/UpgradeInfoEvent.php index 5b415738c8fb..a77b67b180d8 100644 --- a/Container/src/V1/UpgradeInfoEvent.php +++ b/Container/src/V1/UpgradeInfoEvent.php @@ -89,6 +89,13 @@ class UpgradeInfoEvent extends \Google\Protobuf\Internal\Message * Generated from protobuf field .google.container.v1.UpgradeInfoEvent.EventType event_type = 12; */ protected $event_type = 0; + /** + * The information about the disruption event. This field is only populated + * when event_type is DISRUPTION_EVENT. + * + * Generated from protobuf field optional .google.container.v1.DisruptionEvent disruption_event = 14; + */ + protected $disruption_event = null; /** * Constructor. @@ -121,6 +128,9 @@ class UpgradeInfoEvent extends \Google\Protobuf\Internal\Message * A brief description of the event. * @type int $event_type * The type of the event. + * @type \Google\Cloud\Container\V1\DisruptionEvent $disruption_event + * The information about the disruption event. This field is only populated + * when event_type is DISRUPTION_EVENT. * } */ public function __construct($data = NULL) { @@ -482,5 +492,43 @@ public function setEventType($var) return $this; } + /** + * The information about the disruption event. This field is only populated + * when event_type is DISRUPTION_EVENT. + * + * Generated from protobuf field optional .google.container.v1.DisruptionEvent disruption_event = 14; + * @return \Google\Cloud\Container\V1\DisruptionEvent|null + */ + public function getDisruptionEvent() + { + return $this->disruption_event; + } + + public function hasDisruptionEvent() + { + return isset($this->disruption_event); + } + + public function clearDisruptionEvent() + { + unset($this->disruption_event); + } + + /** + * The information about the disruption event. This field is only populated + * when event_type is DISRUPTION_EVENT. + * + * Generated from protobuf field optional .google.container.v1.DisruptionEvent disruption_event = 14; + * @param \Google\Cloud\Container\V1\DisruptionEvent $var + * @return $this + */ + public function setDisruptionEvent($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Container\V1\DisruptionEvent::class); + $this->disruption_event = $var; + + return $this; + } + } diff --git a/Container/src/V1/UpgradeInfoEvent/EventType.php b/Container/src/V1/UpgradeInfoEvent/EventType.php index 4520a9b7fdff..a1166ed071f2 100644 --- a/Container/src/V1/UpgradeInfoEvent/EventType.php +++ b/Container/src/V1/UpgradeInfoEvent/EventType.php @@ -40,12 +40,19 @@ class EventType * Generated from protobuf enum UPGRADE_LIFECYCLE = 3; */ const UPGRADE_LIFECYCLE = 3; + /** + * DISRUPTION_EVENT indicates the event is about the disruption. + * + * Generated from protobuf enum DISRUPTION_EVENT = 4; + */ + const DISRUPTION_EVENT = 4; private static $valueToName = [ self::EVENT_TYPE_UNSPECIFIED => 'EVENT_TYPE_UNSPECIFIED', self::END_OF_SUPPORT => 'END_OF_SUPPORT', self::COS_MILESTONE_VERSION_UPDATE => 'COS_MILESTONE_VERSION_UPDATE', self::UPGRADE_LIFECYCLE => 'UPGRADE_LIFECYCLE', + self::DISRUPTION_EVENT => 'DISRUPTION_EVENT', ]; public static function name($value) diff --git a/Container/src/V1/UserManagedKeysConfig.php b/Container/src/V1/UserManagedKeysConfig.php index 60c2e5353c30..68985ac04e36 100644 --- a/Container/src/V1/UserManagedKeysConfig.php +++ b/Container/src/V1/UserManagedKeysConfig.php @@ -69,6 +69,13 @@ class UserManagedKeysConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field string control_plane_disk_encryption_key = 16 [(.google.api.resource_reference) = { */ protected $control_plane_disk_encryption_key = ''; + /** + * Output only. All of the versions of the Cloud KMS cryptoKey that are used + * by Confidential Hyperdisks on the control plane nodes. + * + * Generated from protobuf field repeated string control_plane_disk_encryption_key_versions = 18 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + private $control_plane_disk_encryption_key_versions; /** * Resource path of the Cloud KMS cryptoKey to use for encryption of internal * etcd backups. @@ -108,6 +115,9 @@ class UserManagedKeysConfig extends \Google\Protobuf\Internal\Message * @type string $control_plane_disk_encryption_key * The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control * plane nodes. + * @type array|\Google\Protobuf\Internal\RepeatedField $control_plane_disk_encryption_key_versions + * Output only. All of the versions of the Cloud KMS cryptoKey that are used + * by Confidential Hyperdisks on the control plane nodes. * @type string $gkeops_etcd_backup_encryption_key * Resource path of the Cloud KMS cryptoKey to use for encryption of internal * etcd backups. @@ -322,6 +332,34 @@ public function setControlPlaneDiskEncryptionKey($var) return $this; } + /** + * Output only. All of the versions of the Cloud KMS cryptoKey that are used + * by Confidential Hyperdisks on the control plane nodes. + * + * Generated from protobuf field repeated string control_plane_disk_encryption_key_versions = 18 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getControlPlaneDiskEncryptionKeyVersions() + { + return $this->control_plane_disk_encryption_key_versions; + } + + /** + * Output only. All of the versions of the Cloud KMS cryptoKey that are used + * by Confidential Hyperdisks on the control plane nodes. + * + * Generated from protobuf field repeated string control_plane_disk_encryption_key_versions = 18 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setControlPlaneDiskEncryptionKeyVersions($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->control_plane_disk_encryption_key_versions = $arr; + + return $this; + } + /** * Resource path of the Cloud KMS cryptoKey to use for encryption of internal * etcd backups. diff --git a/Container/src/V1/resources/cluster_manager_descriptor_config.php b/Container/src/V1/resources/cluster_manager_descriptor_config.php index 37755bbd9d19..b2ba7011dd74 100644 --- a/Container/src/V1/resources/cluster_manager_descriptor_config.php +++ b/Container/src/V1/resources/cluster_manager_descriptor_config.php @@ -1024,6 +1024,7 @@ 'templateMap' => [ 'caPool' => 'projects/{project}/locations/{location}/caPools/{ca_pool}', 'cryptoKeyVersion' => 'projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}', + 'subnetwork' => 'projects/{project}/regions/{region}/subnetworks/{subnetwork}', 'topic' => 'projects/{project}/topics/{topic}', ], ],