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}',
],
],