google-cloud-container-v1beta1 0.54.0 → 0.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52,6 +52,9 @@ module Google
52
52
  # net.core.wmem_max
53
53
  # net.core.optmem_max
54
54
  # net.core.somaxconn
55
+ # net.ipv4.neigh.default.gc_thresh1
56
+ # net.ipv4.neigh.default.gc_thresh2
57
+ # net.ipv4.neigh.default.gc_thresh3
55
58
  # net.ipv4.tcp_rmem
56
59
  # net.ipv4.tcp_wmem
57
60
  # net.ipv4.tcp_tw_reuse
@@ -67,6 +70,8 @@ module Google
67
70
  # net.netfilter.nf_conntrack_tcp_timeout_time_wait
68
71
  # net.netfilter.nf_conntrack_tcp_timeout_established
69
72
  # net.netfilter.nf_conntrack_acct
73
+ # kernel.keys.maxkeys
74
+ # kernel.keys.maxbytes
70
75
  # kernel.shmmni
71
76
  # kernel.shmmax
72
77
  # kernel.shmall
@@ -119,6 +124,10 @@ module Google
119
124
  #
120
125
  # See https://docs.kernel.org/admin-guide/mm/transhuge.html
121
126
  # for more details.
127
+ # @!attribute [rw] custom_node_init
128
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig::CustomNodeInit]
129
+ # Optional. Allow users to run arbitrary bash script or container on the
130
+ # node.
122
131
  # @!attribute [rw] swap_config
123
132
  # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig::SwapConfig]
124
133
  # Optional. Enables and configures swap space on nodes.
@@ -128,6 +137,9 @@ module Google
128
137
  # Optional. Configuration for kernel module loading on nodes.
129
138
  # When enabled, the node pool will be provisioned with a Container-Optimized
130
139
  # OS image that enforces kernel module signature verification.
140
+ # @!attribute [rw] accurate_time_config
141
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig::AccurateTimeConfig]
142
+ # Optional. The accurate time configuration for the node pool.
131
143
  class LinuxNodeConfig
132
144
  include ::Google::Protobuf::MessageExts
133
145
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -144,6 +156,50 @@ module Google
144
156
  extend ::Google::Protobuf::MessageExts::ClassMethods
145
157
  end
146
158
 
159
+ # Support for running custom init code while bootstrapping nodes.
160
+ # @!attribute [rw] init_script
161
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig::CustomNodeInit::InitScript]
162
+ # Optional. The init script to be executed on the node.
163
+ class CustomNodeInit
164
+ include ::Google::Protobuf::MessageExts
165
+ extend ::Google::Protobuf::MessageExts::ClassMethods
166
+
167
+ # InitScript provide a simply bash script to be executed on the node.
168
+ # @!attribute [rw] gcs_uri
169
+ # @return [::String]
170
+ # The Cloud Storage URI for storing the init script.
171
+ # Format: gs://BUCKET_NAME/OBJECT_NAME
172
+ # The service account on the node pool must have read access to the
173
+ # object.
174
+ # User can't configure both gcs_uri and gcp_secret_manager_secret_uri.
175
+ # @!attribute [rw] gcs_generation
176
+ # @return [::Integer]
177
+ # The generation of the init script stored in Gloud Storage.
178
+ # This is the required field to identify the version of the
179
+ # init script.
180
+ # User can get the genetaion from
181
+ # `gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME
182
+ # --format="value(generation)"` or from the "Version history" tab of the
183
+ # object in the Cloud Console UI.
184
+ # @!attribute [rw] args
185
+ # @return [::Array<::String>]
186
+ # Optional. The optional arguments line to be passed to the init script.
187
+ # @!attribute [rw] gcp_secret_manager_secret_uri
188
+ # @return [::String]
189
+ # The resource name of the secret manager secret hosting the init script.
190
+ # Both global and regional secrets are supported with format below:
191
+ # Global secret: projects/\\{project}/secrets/\\{secret}/versions/\\{version}
192
+ # Regional secret:
193
+ # projects/\\{project}/locations/\\{location}/secrets/\\{secret}/versions/\\{version}
194
+ # Example: projects/1234567890/secrets/script_1/versions/1.
195
+ # Accept version number only, not support version alias.
196
+ # User can't configure both gcp_secret_manager_secret_uri and gcs_uri.
197
+ class InitScript
198
+ include ::Google::Protobuf::MessageExts
199
+ extend ::Google::Protobuf::MessageExts::ClassMethods
200
+ end
201
+ end
202
+
147
203
  # Configuration for swap memory on a node pool.
148
204
  # @!attribute [rw] enabled
149
205
  # @return [::Boolean]
@@ -232,7 +288,7 @@ module Google
232
288
  include ::Google::Protobuf::MessageExts
233
289
  extend ::Google::Protobuf::MessageExts::ClassMethods
234
290
 
235
- # Defines the kernel module loading policy for nodes in the nodepool.
291
+ # Defines the kernel module loading policy for nodes in the node pool.
236
292
  module Policy
237
293
  # Default behavior. GKE selects the image based on node type.
238
294
  # For CPU and TPU nodes, the image will not allow loading external
@@ -257,6 +313,16 @@ module Google
257
313
  end
258
314
  end
259
315
 
316
+ # AccurateTimeConfig contains configuration for the accurate time
317
+ # synchronization feature.
318
+ # @!attribute [rw] enable_ptp_kvm_time_sync
319
+ # @return [::Boolean]
320
+ # Enables enhanced time synchronization using PTP-KVM.
321
+ class AccurateTimeConfig
322
+ include ::Google::Protobuf::MessageExts
323
+ extend ::Google::Protobuf::MessageExts::ClassMethods
324
+ end
325
+
260
326
  # @!attribute [rw] key
261
327
  # @return [::String]
262
328
  # @!attribute [rw] value
@@ -529,6 +595,10 @@ module Google
529
595
  # If true, will prevent the memory.oom.group flag from being set for
530
596
  # container cgroups in cgroups v2. This causes processes in the container to
531
597
  # be OOM killed individually instead of as a group.
598
+ # @!attribute [rw] crash_loop_back_off
599
+ # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig::CrashLoopBackOffConfig]
600
+ # Optional. Contains configuration options to modify node-level parameters
601
+ # for container restart behavior.
532
602
  # @!attribute [rw] shutdown_grace_period_seconds
533
603
  # @return [::Integer]
534
604
  # Optional. shutdown_grace_period_seconds is the maximum allowed grace period
@@ -541,15 +611,35 @@ module Google
541
611
  # Allowed values: 0, 30, 120.
542
612
  # @!attribute [rw] shutdown_grace_period_critical_pods_seconds
543
613
  # @return [::Integer]
544
- # Optional. shutdown_grace_period_critical_pod_seconds is the maximum allowed
545
- # grace period (in seconds) used to terminate critical pods during a node
546
- # shutdown. This value should be <= shutdown_grace_period_seconds, and is
547
- # only valid if shutdown_grace_period_seconds is set.
614
+ # Optional. shutdown_grace_period_critical_pods_seconds is the maximum
615
+ # allowed grace period (in seconds) used to terminate critical pods during a
616
+ # node shutdown. This value should be <= shutdown_grace_period_seconds, and
617
+ # is only valid if shutdown_grace_period_seconds is set.
548
618
  # https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/
549
619
  # Range: [0, 120].
550
620
  class NodeKubeletConfig
551
621
  include ::Google::Protobuf::MessageExts
552
622
  extend ::Google::Protobuf::MessageExts::ClassMethods
623
+
624
+ # Contains config to modify node-level parameters for container restart
625
+ # behavior.
626
+ # @!attribute [rw] max_container_restart_period
627
+ # @return [::String]
628
+ # Optional. The maximum duration the backoff delay can accrue to for
629
+ # container restarts, minimum 1 second, maximum 300 seconds. If not set,
630
+ # defaults to the internal crashloopbackoff maximum.
631
+ #
632
+ # The string must be a sequence of decimal numbers, each with optional
633
+ # fraction and a unit suffix, such as "300ms".
634
+ # Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
635
+ #
636
+ # See
637
+ # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#configurable-container-restart-delay
638
+ # for more details.
639
+ class CrashLoopBackOffConfig
640
+ include ::Google::Protobuf::MessageExts
641
+ extend ::Google::Protobuf::MessageExts::ClassMethods
642
+ end
553
643
  end
554
644
 
555
645
  # TopologyManager defines the configuration options for Topology Manager
@@ -820,16 +910,29 @@ module Google
820
910
  # the latest version of it will be used. Please see
821
911
  # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
822
912
  # for available image types.
913
+ # @!attribute [rw] node_image_config
914
+ # @return [::Google::Cloud::Container::V1beta1::CustomImageConfig]
915
+ # The node image configuration to use for this node pool. Note that this is
916
+ # only applicable for node pools using image_type=CUSTOM.
823
917
  # @!attribute [rw] labels
824
918
  # @return [::Google::Protobuf::Map{::String => ::String}]
825
- # The map of Kubernetes labels (key/value pairs) to be applied to each node.
826
- # These will added in addition to any default label(s) that
827
- # Kubernetes may apply to the node.
828
- # In case of conflict in label keys, the applied set may differ depending on
829
- # the Kubernetes version -- it's best to assume the behavior is undefined
830
- # and conflicts should be avoided.
831
- # For more information, including usage and the valid values, see:
832
- # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
919
+ # The Kubernetes labels (key/value pairs) to apply to each node. The values
920
+ # in this field are added to the set of default labels Kubernetes applies to
921
+ # nodes.
922
+ #
923
+ # This field has the following restrictions:
924
+ #
925
+ # * Labels must use a valid Kubernetes syntax and character set, as defined
926
+ # in
927
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set.
928
+ # * This field supports up to 1,024 total characters in a single request.
929
+ #
930
+ # Depending on the Kubernetes version, keys in this field might conflict with
931
+ # the keys of the default labels, which might change which of your labels
932
+ # are applied to the nodes. Assume that the behavior is unpredictable and
933
+ # avoid label key conflicts. For more information about the default labels,
934
+ # see:
935
+ # https://kubernetes.io/docs/reference/labels-annotations-taints/
833
936
  # @!attribute [rw] local_ssd_count
834
937
  # @return [::Integer]
835
938
  # The number of local SSD disks to be attached to the node.
@@ -1006,6 +1109,9 @@ module Google
1006
1109
  # Consolidation delay defines duration after which the Cluster Autoscaler can
1007
1110
  # scale down underutilized nodes. If not set, nodes are scaled down by
1008
1111
  # default behavior, i.e. according to the chosen autoscaling profile.
1112
+ # @!attribute [rw] taint_config
1113
+ # @return [::Google::Cloud::Container::V1beta1::TaintConfig]
1114
+ # Optional. The taint configuration for the node pool.
1009
1115
  class NodeConfig
1010
1116
  include ::Google::Protobuf::MessageExts
1011
1117
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1073,6 +1179,28 @@ module Google
1073
1179
  end
1074
1180
  end
1075
1181
 
1182
+ # TaintConfig contains the configuration for the taints of the node pool.
1183
+ # @!attribute [rw] architecture_taint_behavior
1184
+ # @return [::Google::Cloud::Container::V1beta1::TaintConfig::ArchitectureTaintBehavior]
1185
+ # Optional. Controls architecture tainting behavior.
1186
+ class TaintConfig
1187
+ include ::Google::Protobuf::MessageExts
1188
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1189
+
1190
+ # Controls architecture tainting behavior for a node pool.
1191
+ # New values may be added in the future.
1192
+ module ArchitectureTaintBehavior
1193
+ # Specifies that the behavior is unspecified, defaults to ARM.
1194
+ ARCHITECTURE_TAINT_BEHAVIOR_UNSPECIFIED = 0
1195
+
1196
+ # Disables default architecture taints on the node pool.
1197
+ NONE = 1
1198
+
1199
+ # Taints all the nodes in the node pool with the default ARM taint.
1200
+ ARM = 2
1201
+ end
1202
+ end
1203
+
1076
1204
  # Specifies options for controlling advanced machine features.
1077
1205
  # @!attribute [rw] threads_per_core
1078
1206
  # @return [::Integer]
@@ -1159,7 +1287,7 @@ module Google
1159
1287
  # @!attribute [rw] pod_cidr_overprovision_config
1160
1288
  # @return [::Google::Cloud::Container::V1beta1::PodCIDROverprovisionConfig]
1161
1289
  # [PRIVATE FIELD]
1162
- # Pod CIDR size overprovisioning config for the nodepool.
1290
+ # Pod CIDR size overprovisioning config for the node pool.
1163
1291
  #
1164
1292
  # Pod CIDR size per node depends on max_pods_per_node. By default, the value
1165
1293
  # of max_pods_per_node is rounded off to next power of 2 and we then double
@@ -1189,11 +1317,14 @@ module Google
1189
1317
  # Format: projects/\\{project}/regions/\\{region}/subnetworks/\\{subnetwork}
1190
1318
  # If the cluster is associated with multiple subnetworks, the subnetwork can
1191
1319
  # be either:
1192
- # 1. A user supplied subnetwork name/full path during node pool creation.
1193
- # Example1: my-subnet
1194
- # Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet
1195
- # 2. A subnetwork path picked based on the IP utilization during node pool
1196
- # creation and is immutable.
1320
+ # - A user supplied subnetwork name during node pool creation (e.g.,
1321
+ # `my-subnet`). The name must be between 1 and 63 characters long, start
1322
+ # with a letter, contain only letters, numbers, and hyphens, and end with a
1323
+ # letter or a number.
1324
+ # - A full subnetwork path during node pool creation, such as
1325
+ # `projects/gke-project/regions/us-central1/subnetworks/my-subnet`
1326
+ # - A subnetwork path picked based on the IP utilization during node pool
1327
+ # creation and is immutable.
1197
1328
  # @!attribute [r] network_tier_config
1198
1329
  # @return [::Google::Cloud::Container::V1beta1::NetworkTierConfig]
1199
1330
  # Output only. The network tier configuration for the node pool inherits from
@@ -1283,6 +1414,18 @@ module Google
1283
1414
  extend ::Google::Protobuf::MessageExts::ClassMethods
1284
1415
  end
1285
1416
 
1417
+ # CustomImageConfig contains the information r
1418
+ # @!attribute [rw] image
1419
+ # @return [::String]
1420
+ # The name of the image to use for this node.
1421
+ # @!attribute [rw] image_project
1422
+ # @return [::String]
1423
+ # The project containing the image to use for this node.
1424
+ class CustomImageConfig
1425
+ include ::Google::Protobuf::MessageExts
1426
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1427
+ end
1428
+
1286
1429
  # SandboxConfig contains configurations of the sandbox to use for the node.
1287
1430
  # @!attribute [rw] sandbox_type
1288
1431
  # @deprecated This field is deprecated and may be removed in the next major version update.
@@ -1514,8 +1657,8 @@ module Google
1514
1657
  # Specifying port is supported.
1515
1658
  # Wildcards are NOT supported.
1516
1659
  # Examples:
1517
- # - my.customdomain.com
1518
- # - 10.0.1.2:5000
1660
+ # - `my.customdomain.com`
1661
+ # - `10.0.1.2:5000`
1519
1662
  # @!attribute [rw] gcp_secret_manager_certificate_config
1520
1663
  # @return [::Google::Cloud::Container::V1beta1::ContainerdConfig::PrivateRegistryAccessConfig::CertificateAuthorityDomainConfig::GCPSecretManagerCertificateConfig]
1521
1664
  # Secret Manager certificate configuration.
@@ -1555,11 +1698,11 @@ module Google
1555
1698
  # Defines the host name of the registry server, which will be used to
1556
1699
  # create configuration file as /etc/containerd/hosts.d/<server>/hosts.toml.
1557
1700
  # It supports fully qualified domain names (FQDN) and IP addresses:
1558
- # Specifying port is supported.
1701
+ # Specifying port is supported, while scheme and path are NOT supported.
1559
1702
  # Wildcards are NOT supported.
1560
1703
  # Examples:
1561
- # - my.customdomain.com
1562
- # - 10.0.1.2:5000
1704
+ # - `my.customdomain.com`
1705
+ # - `10.0.1.2:5000`
1563
1706
  # @!attribute [rw] hosts
1564
1707
  # @return [::Array<::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig::HostConfig>]
1565
1708
  # HostConfig configures a list of host-specific configurations for the
@@ -1613,12 +1756,14 @@ module Google
1613
1756
  # @!attribute [rw] host
1614
1757
  # @return [::String]
1615
1758
  # Host configures the registry host/mirror.
1616
- # It supports fully qualified domain names (FQDN) and IP addresses:
1617
- # Specifying port is supported.
1759
+ # It supports fully qualified domain names (FQDNs) and IP addresses.
1760
+ # Specifying scheme, port or path is supported. Scheme can only be http
1761
+ # or https.
1618
1762
  # Wildcards are NOT supported.
1619
1763
  # Examples:
1620
- # - my.customdomain.com
1621
- # - 10.0.1.2:5000
1764
+ # - `my.customdomain.com`
1765
+ # - `https://my.customdomain.com/path`
1766
+ # - `10.0.1.2:5000`
1622
1767
  # @!attribute [rw] capabilities
1623
1768
  # @return [::Array<::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig::HostCapability>]
1624
1769
  # Capabilities represent the capabilities of the registry host,
@@ -1953,9 +2098,18 @@ module Google
1953
2098
  # @!attribute [rw] pod_snapshot_config
1954
2099
  # @return [::Google::Cloud::Container::V1beta1::PodSnapshotConfig]
1955
2100
  # Configuration for the Pod Snapshot feature.
2101
+ # @!attribute [rw] slurm_operator_config
2102
+ # @return [::Google::Cloud::Container::V1beta1::SlurmOperatorConfig]
2103
+ # Configuration for the Slurm Operator.
1956
2104
  # @!attribute [rw] slice_controller_config
1957
2105
  # @return [::Google::Cloud::Container::V1beta1::SliceControllerConfig]
1958
2106
  # Optional. Configuration for the slice controller add-on.
2107
+ # @!attribute [rw] agent_sandbox_config
2108
+ # @return [::Google::Cloud::Container::V1beta1::AgentSandboxConfig]
2109
+ # Optional. Configuration for the AgentSandbox addon.
2110
+ # @!attribute [rw] node_readiness_config
2111
+ # @return [::Google::Cloud::Container::V1beta1::NodeReadinessConfig]
2112
+ # Optional. Configuration for NodeReadinessController add-on.
1959
2113
  class AddonsConfig
1960
2114
  include ::Google::Protobuf::MessageExts
1961
2115
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2117,11 +2271,46 @@ module Google
2117
2271
  # Deprecated: This flag is no longer required as of GKE node version
2118
2272
  # 1.33.2-gke.4655000, unless you are connecting to a Lustre instance
2119
2273
  # that has the `gke-support-enabled` flag.
2274
+ # @!attribute [rw] disable_multi_nic
2275
+ # @return [::Boolean]
2276
+ # When set to true, this disables multi-NIC support for the Lustre CSI
2277
+ # driver.
2278
+ # By default, GKE enables multi-NIC support, which allows the Lustre
2279
+ # CSI driver to automatically detect and configure all suitable network
2280
+ # interfaces on a node to maximize I/O performance for demanding workloads.
2120
2281
  class LustreCsiDriverConfig
2121
2282
  include ::Google::Protobuf::MessageExts
2122
2283
  extend ::Google::Protobuf::MessageExts::ClassMethods
2123
2284
  end
2124
2285
 
2286
+ # Configuration for the Slurm Operator.
2287
+ # @!attribute [rw] enabled
2288
+ # @return [::Boolean]
2289
+ # Whether the Slurm Operator is enabled in the cluster.
2290
+ class SlurmOperatorConfig
2291
+ include ::Google::Protobuf::MessageExts
2292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2293
+ end
2294
+
2295
+ # Configuration for the AgentSandbox addon.
2296
+ # @!attribute [rw] enabled
2297
+ # @return [::Boolean]
2298
+ # Optional. Whether AgentSandbox is enabled for this cluster.
2299
+ class AgentSandboxConfig
2300
+ include ::Google::Protobuf::MessageExts
2301
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2302
+ end
2303
+
2304
+ # Configuration for the GKE Node Readiness Controller.
2305
+ # @!attribute [rw] enabled
2306
+ # @return [::Boolean]
2307
+ # Optional. Whether the GKE Node Readiness Controller is enabled for this
2308
+ # cluster.
2309
+ class NodeReadinessConfig
2310
+ include ::Google::Protobuf::MessageExts
2311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2312
+ end
2313
+
2125
2314
  # Configuration for the Slice Controller.
2126
2315
  # @!attribute [rw] enabled
2127
2316
  # @return [::Boolean]
@@ -2963,6 +3152,10 @@ module Google
2963
3152
  # @return [::Google::Cloud::Container::V1beta1::RollbackSafeUpgrade]
2964
3153
  # The rollback safe upgrade information of the cluster.
2965
3154
  # This field is used when user manually triggers a rollback safe upgrade.
3155
+ # @!attribute [rw] node_pool_upgrade_concurrency_config
3156
+ # @return [::Google::Cloud::Container::V1beta1::NodePoolUpgradeConcurrencyConfig]
3157
+ # The node pool upgrade concurrency config of the cluster.
3158
+ # This field is used for auto upgrade.
2966
3159
  # @!attribute [r] current_node_version
2967
3160
  # @deprecated This field is deprecated and may be removed in the next major version update.
2968
3161
  # @return [::String]
@@ -3079,7 +3272,7 @@ module Google
3079
3272
  # Fleet information for the cluster.
3080
3273
  # @!attribute [rw] security_posture_config
3081
3274
  # @return [::Google::Cloud::Container::V1beta1::SecurityPostureConfig]
3082
- # Enable/Disable Security Posture API features for the cluster.
3275
+ # Optional. Enable/Disable Security Posture API features for the cluster.
3083
3276
  # @!attribute [rw] control_plane_endpoints_config
3084
3277
  # @return [::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig]
3085
3278
  # Configuration for all cluster's control plane endpoints.
@@ -3094,7 +3287,12 @@ module Google
3094
3287
  # @return [::Google::Cloud::Container::V1beta1::SecretManagerConfig]
3095
3288
  # Secret CSI driver configuration.
3096
3289
  # @!attribute [rw] compliance_posture_config
3290
+ # @deprecated This field is deprecated and may be removed in the next major version update.
3097
3291
  # @return [::Google::Cloud::Container::V1beta1::CompliancePostureConfig]
3292
+ # Optional. Deprecated: Compliance Posture is no longer supported.
3293
+ # For more details, see
3294
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
3295
+ #
3098
3296
  # Enable/Disable Compliance Posture features for the cluster.
3099
3297
  # @!attribute [r] satisfies_pzs
3100
3298
  # @return [::Boolean]
@@ -3116,12 +3314,24 @@ module Google
3116
3314
  # @return [::Google::Cloud::Container::V1beta1::AnonymousAuthenticationConfig]
3117
3315
  # Configuration for limiting anonymous access to all endpoints except the
3118
3316
  # health checks.
3317
+ # @!attribute [rw] schedule_upgrade_config
3318
+ # @return [::Google::Cloud::Container::V1beta1::ScheduleUpgradeConfig]
3319
+ # Optional. Configuration for scheduled upgrades.
3119
3320
  # @!attribute [rw] secret_sync_config
3120
3321
  # @return [::Google::Cloud::Container::V1beta1::SecretSyncConfig]
3121
3322
  # Configuration for sync Secret Manager secrets as k8s secrets.
3122
3323
  # @!attribute [rw] managed_opentelemetry_config
3123
3324
  # @return [::Google::Cloud::Container::V1beta1::ManagedOpenTelemetryConfig]
3124
3325
  # Configuration for Managed OpenTelemetry pipeline.
3326
+ # @!attribute [rw] control_plane_egress
3327
+ # @return [::Google::Cloud::Container::V1beta1::ControlPlaneEgress]
3328
+ # Configuration for control plane egress control.
3329
+ # @!attribute [rw] managed_machine_learning_diagnostics_config
3330
+ # @return [::Google::Cloud::Container::V1beta1::ManagedMachineLearningDiagnosticsConfig]
3331
+ # Configuration for managed machine learning diagnostics.
3332
+ # @!attribute [rw] node_creation_config
3333
+ # @return [::Google::Cloud::Container::V1beta1::NodeCreationConfig]
3334
+ # Optional. Configuration for Node Creation Mode.
3125
3335
  class Cluster
3126
3336
  include ::Google::Protobuf::MessageExts
3127
3337
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3165,6 +3375,50 @@ module Google
3165
3375
  end
3166
3376
  end
3167
3377
 
3378
+ # NodeCreationConfig defines the settings of node creation mode.
3379
+ # @!attribute [rw] node_creation_mode
3380
+ # @return [::Google::Cloud::Container::V1beta1::NodeCreationConfig::Mode]
3381
+ # The mode of node creation.
3382
+ class NodeCreationConfig
3383
+ include ::Google::Protobuf::MessageExts
3384
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3385
+
3386
+ # The mode of node creation.
3387
+ module Mode
3388
+ # When no user input is provided.
3389
+ MODE_UNSPECIFIED = 0
3390
+
3391
+ # Kubelet registers itself.
3392
+ VIA_KUBELET = 1
3393
+
3394
+ # gcp-controller-manager automatically creates the node object after
3395
+ # CSR approval.
3396
+ VIA_CONTROL_PLANE = 2
3397
+ end
3398
+ end
3399
+
3400
+ # ControlPlaneEgress defines the settings needed to enable
3401
+ # control plane egress control.
3402
+ # @!attribute [rw] mode
3403
+ # @return [::Google::Cloud::Container::V1beta1::ControlPlaneEgress::Mode]
3404
+ # Defines the mode of control plane egress.
3405
+ class ControlPlaneEgress
3406
+ include ::Google::Protobuf::MessageExts
3407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3408
+
3409
+ # Mode defines the mode of control plane egress.
3410
+ module Mode
3411
+ # Default value not specified.
3412
+ MODE_UNSPECIFIED = 0
3413
+
3414
+ # Control plane has public IP and no restriction on egress.
3415
+ VIA_CONTROL_PLANE = 1
3416
+
3417
+ # No public IP on control plane and only internal allowlisted egress.
3418
+ NONE = 2
3419
+ end
3420
+ end
3421
+
3168
3422
  # RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
3169
3423
  # that can be created.
3170
3424
  # @!attribute [rw] enable_insecure_binding_system_unauthenticated
@@ -3252,8 +3506,13 @@ module Google
3252
3506
  end
3253
3507
  end
3254
3508
 
3509
+ # Deprecated: Compliance Posture is no longer supported.
3510
+ # For more details, see
3511
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
3512
+ #
3255
3513
  # CompliancePostureConfig defines the settings needed to enable/disable
3256
3514
  # features for the Compliance Posture.
3515
+ # @deprecated This message is deprecated and may be removed in the next major version update.
3257
3516
  # @!attribute [rw] mode
3258
3517
  # @return [::Google::Cloud::Container::V1beta1::CompliancePostureConfig::Mode]
3259
3518
  # Defines the enablement mode for Compliance Posture.
@@ -3375,6 +3634,10 @@ module Google
3375
3634
  # Applies Security Posture features on the cluster.
3376
3635
  BASIC = 2
3377
3636
 
3637
+ # Deprecated: Security Posture Enterprise features are no longer supported.
3638
+ # For more details, see
3639
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
3640
+ #
3378
3641
  # Applies the Security Posture off cluster Enterprise level features.
3379
3642
  ENTERPRISE = 3
3380
3643
  end
@@ -3387,6 +3650,10 @@ module Google
3387
3650
  # Disables vulnerability scanning on the cluster.
3388
3651
  VULNERABILITY_DISABLED = 1
3389
3652
 
3653
+ # Deprecated: Basic vulnerability scanning is no longer supported.
3654
+ # For more details, see
3655
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
3656
+ #
3390
3657
  # Applies basic vulnerability scanning on the cluster.
3391
3658
  VULNERABILITY_BASIC = 2
3392
3659
 
@@ -3613,6 +3880,14 @@ module Google
3613
3880
  # @!attribute [rw] desired_gcfs_config
3614
3881
  # @return [::Google::Cloud::Container::V1beta1::GcfsConfig]
3615
3882
  # The desired GCFS config for the cluster.
3883
+ # @!attribute [rw] desired_image
3884
+ # @return [::String]
3885
+ # The desired name of the image to use for this node.
3886
+ # This is used to create clusters using a custom image.
3887
+ # @!attribute [rw] desired_image_project
3888
+ # @return [::String]
3889
+ # The project containing the desired image to use for this node.
3890
+ # This is used to create clusters using a custom image.
3616
3891
  # @!attribute [rw] desired_database_encryption
3617
3892
  # @return [::Google::Cloud::Container::V1beta1::DatabaseEncryption]
3618
3893
  # Configuration of etcd encryption.
@@ -3763,7 +4038,12 @@ module Google
3763
4038
  # @return [::Google::Cloud::Container::V1beta1::SecretManagerConfig]
3764
4039
  # Enable/Disable Secret Manager Config.
3765
4040
  # @!attribute [rw] desired_compliance_posture_config
4041
+ # @deprecated This field is deprecated and may be removed in the next major version update.
3766
4042
  # @return [::Google::Cloud::Container::V1beta1::CompliancePostureConfig]
4043
+ # Deprecated: Compliance Posture is no longer supported.
4044
+ # For more details, see
4045
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
4046
+ #
3767
4047
  # Enable/Disable Compliance Posture features for the cluster.
3768
4048
  # @!attribute [rw] desired_node_kubelet_config
3769
4049
  # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
@@ -3820,18 +4100,36 @@ module Google
3820
4100
  # @!attribute [rw] desired_network_tier_config
3821
4101
  # @return [::Google::Cloud::Container::V1beta1::NetworkTierConfig]
3822
4102
  # The desired network tier configuration for the cluster.
4103
+ # @!attribute [rw] desired_schedule_upgrade_config
4104
+ # @return [::Google::Cloud::Container::V1beta1::ScheduleUpgradeConfig]
4105
+ # Optional. The desired scheduled upgrades configuration for the cluster.
3823
4106
  # @!attribute [rw] desired_secret_sync_config
3824
4107
  # @return [::Google::Cloud::Container::V1beta1::SecretSyncConfig]
3825
4108
  # Configuration for sync Secret Manager secrets as k8s secrets.
3826
4109
  # @!attribute [rw] desired_privileged_admission_config
3827
4110
  # @return [::Google::Cloud::Container::V1beta1::PrivilegedAdmissionConfig]
3828
4111
  # The desired privileged admission config for the cluster.
4112
+ # @!attribute [rw] desired_control_plane_egress
4113
+ # @return [::Google::Cloud::Container::V1beta1::ControlPlaneEgress]
4114
+ # The desired control plane egress control config for the cluster.
3829
4115
  # @!attribute [rw] desired_rollback_safe_upgrade
3830
4116
  # @return [::Google::Cloud::Container::V1beta1::RollbackSafeUpgrade]
3831
4117
  # The desired rollback safe upgrade configuration.
4118
+ # @!attribute [rw] desired_node_pool_upgrade_concurrency_config
4119
+ # @return [::Google::Cloud::Container::V1beta1::NodePoolUpgradeConcurrencyConfig]
4120
+ # The desired node pool upgrade concurrency configuration.
3832
4121
  # @!attribute [rw] desired_managed_opentelemetry_config
3833
4122
  # @return [::Google::Cloud::Container::V1beta1::ManagedOpenTelemetryConfig]
3834
4123
  # The desired managed open telemetry configuration.
4124
+ # @!attribute [rw] desired_autopilot_cluster_policy_config
4125
+ # @return [::Google::Cloud::Container::V1beta1::ClusterPolicyConfig]
4126
+ # The desired autopilot cluster policies that to be enforced in the cluster.
4127
+ # @!attribute [rw] desired_managed_machine_learning_diagnostics_config
4128
+ # @return [::Google::Cloud::Container::V1beta1::ManagedMachineLearningDiagnosticsConfig]
4129
+ # The desired managed machine learning diagnostics configuration.
4130
+ # @!attribute [rw] desired_node_creation_config
4131
+ # @return [::Google::Cloud::Container::V1beta1::NodeCreationConfig]
4132
+ # Optional. The desired NodeCreationConfig for the cluster.
3835
4133
  class ClusterUpdate
3836
4134
  include ::Google::Protobuf::MessageExts
3837
4135
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3873,7 +4171,7 @@ module Google
3873
4171
 
3874
4172
  # Additional subnet with DRAINING status will not be selected during new node
3875
4173
  # pool creation. To undrain the draining status, update the cluster to set
3876
- # the sunbet to ACTIVE status. To remove the additional subnet, use the
4174
+ # the subnet to ACTIVE status. To remove the additional subnet, use the
3877
4175
  # update cluster API to remove the subnet from the
3878
4176
  # desired_additional_ip_ranges list. IP ranges can be removed regardless of
3879
4177
  # its status, as long as no node pools are using them.
@@ -4340,6 +4638,14 @@ module Google
4340
4638
  # Required. The desired image type for the node pool. Please see
4341
4639
  # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
4342
4640
  # for available image types.
4641
+ # @!attribute [rw] image
4642
+ # @return [::String]
4643
+ # The desired name of the image name to use for this node.
4644
+ # This is used to create clusters using a custom image.
4645
+ # @!attribute [rw] image_project
4646
+ # @return [::String]
4647
+ # The project containing the desired image to use for this node pool.
4648
+ # This is used to create clusters using a custom image.
4343
4649
  # @!attribute [rw] locations
4344
4650
  # @return [::Array<::String>]
4345
4651
  # The desired list of Google Compute Engine
@@ -4476,6 +4782,9 @@ module Google
4476
4782
  # Consolidation delay defines duration after which the Cluster Autoscaler can
4477
4783
  # scale down underutilized nodes. If not set, nodes are scaled down by
4478
4784
  # default behavior, i.e. according to the chosen autoscaling profile.
4785
+ # @!attribute [rw] taint_config
4786
+ # @return [::Google::Cloud::Container::V1beta1::TaintConfig]
4787
+ # The taint configuration for the node pool.
4479
4788
  class UpdateNodePoolRequest
4480
4789
  include ::Google::Protobuf::MessageExts
4481
4790
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -5336,6 +5645,9 @@ module Google
5336
5645
  # @!attribute [rw] node_drain_config
5337
5646
  # @return [::Google::Cloud::Container::V1beta1::NodePool::NodeDrainConfig]
5338
5647
  # Specifies the node drain configuration for this node pool.
5648
+ # @!attribute [rw] maintenance_policy
5649
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::NodePoolMaintenancePolicy]
5650
+ # Optional. Specifies the maintenance policy for the node pool.
5339
5651
  class NodePool
5340
5652
  include ::Google::Protobuf::MessageExts
5341
5653
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -5504,7 +5816,7 @@ module Google
5504
5816
  # QueuedProvisioning defines the queued provisioning used by the node pool.
5505
5817
  # @!attribute [rw] enabled
5506
5818
  # @return [::Boolean]
5507
- # Denotes that this nodepool is QRM specific, meaning nodes can be only
5819
+ # Denotes that this node pool is QRM specific, meaning nodes can be only
5508
5820
  # obtained through queuing via the Cluster Autoscaler ProvisioningRequest
5509
5821
  # API.
5510
5822
  class QueuedProvisioning
@@ -5513,7 +5825,13 @@ module Google
5513
5825
  end
5514
5826
 
5515
5827
  # NodeDrainConfig contains the node drain related configurations for this
5516
- # nodepool.
5828
+ # node pool.
5829
+ # @!attribute [rw] pdb_timeout_duration
5830
+ # @return [::Google::Protobuf::Duration]
5831
+ # The duration of the PDB timeout period for node drain.
5832
+ # @!attribute [rw] grace_termination_duration
5833
+ # @return [::Google::Protobuf::Duration]
5834
+ # The duration of the grace termination period for node drain.
5517
5835
  # @!attribute [rw] respect_pdb_during_node_pool_deletion
5518
5836
  # @return [::Boolean]
5519
5837
  # Whether to respect PDB during node pool deletion.
@@ -5522,6 +5840,34 @@ module Google
5522
5840
  extend ::Google::Protobuf::MessageExts::ClassMethods
5523
5841
  end
5524
5842
 
5843
+ # Defines the maintenance exclusion for the node pool.
5844
+ # @!attribute [rw] enabled
5845
+ # @return [::Boolean]
5846
+ # Optional. Indicates whether the exclusion is enabled.
5847
+ # @!attribute [r] start_time
5848
+ # @return [::Google::Protobuf::Timestamp]
5849
+ # Output only. The start time of the maintenance exclusion. It is output
5850
+ # only. It is the exclusion creation time.
5851
+ # @!attribute [r] end_time
5852
+ # @return [::Google::Protobuf::Timestamp]
5853
+ # Output only. The end time of the maintenance exclusion. It is output
5854
+ # only. It is the cluster control plane version's end of support time, or
5855
+ # end of extended support time when the cluster is on extended support
5856
+ # channel.
5857
+ class ExclusionUntilEndOfSupport
5858
+ include ::Google::Protobuf::MessageExts
5859
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5860
+ end
5861
+
5862
+ # Defines the maintenance policy for the node pool.
5863
+ # @!attribute [rw] exclusion_until_end_of_support
5864
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::ExclusionUntilEndOfSupport]
5865
+ # Optional. The exclusion until end of support for the node pool.
5866
+ class NodePoolMaintenancePolicy
5867
+ include ::Google::Protobuf::MessageExts
5868
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5869
+ end
5870
+
5525
5871
  # The current status of the node pool instance.
5526
5872
  module Status
5527
5873
  # Not set.
@@ -5597,24 +5943,57 @@ module Google
5597
5943
  # of the API unaware of some fields won't accidentally remove other fields).
5598
5944
  # Make a `get()` request to the cluster to get the current
5599
5945
  # resource version and include it with requests to set the policy.
5946
+ # @!attribute [rw] disruption_budget
5947
+ # @return [::Google::Cloud::Container::V1beta1::DisruptionBudget]
5948
+ # Optional. The upgrade disruption budget for the cluster control plane.
5600
5949
  class MaintenancePolicy
5601
5950
  include ::Google::Protobuf::MessageExts
5602
5951
  extend ::Google::Protobuf::MessageExts::ClassMethods
5603
5952
  end
5604
5953
 
5954
+ # DisruptionBudget defines the upgrade disruption budget for the cluster
5955
+ # control plane.
5956
+ # @!attribute [rw] minor_version_disruption_interval
5957
+ # @return [::Google::Protobuf::Duration]
5958
+ # Optional. The minimum duration between two minor version upgrades of the
5959
+ # control plane.
5960
+ # @!attribute [rw] patch_version_disruption_interval
5961
+ # @return [::Google::Protobuf::Duration]
5962
+ # Optional. The minimum duration between two patch version upgrades of the
5963
+ # control plane.
5964
+ # @!attribute [r] last_minor_version_disruption_time
5965
+ # @return [::Google::Protobuf::Timestamp]
5966
+ # Output only. The last time a minor version upgrade was performed on the
5967
+ # control plane.
5968
+ # @!attribute [r] last_disruption_time
5969
+ # @return [::Google::Protobuf::Timestamp]
5970
+ # Output only. The last time a disruption was performed on the control plane.
5971
+ class DisruptionBudget
5972
+ include ::Google::Protobuf::MessageExts
5973
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5974
+ end
5975
+
5605
5976
  # MaintenanceWindow defines the maintenance window to be used for the cluster.
5606
5977
  # @!attribute [rw] daily_maintenance_window
5607
5978
  # @return [::Google::Cloud::Container::V1beta1::DailyMaintenanceWindow]
5608
5979
  # DailyMaintenanceWindow specifies a daily maintenance operation window.
5609
5980
  #
5610
- # Note: The following fields are mutually exclusive: `daily_maintenance_window`, `recurring_window`. If a field in that set is populated, all other fields in the set will automatically be cleared.
5981
+ # Note: The following fields are mutually exclusive: `daily_maintenance_window`, `recurring_window`, `recurring_maintenance_window`. If a field in that set is populated, all other fields in the set will automatically be cleared.
5611
5982
  # @!attribute [rw] recurring_window
5612
5983
  # @return [::Google::Cloud::Container::V1beta1::RecurringTimeWindow]
5613
5984
  # RecurringWindow specifies some number of recurring time periods for
5614
5985
  # maintenance to occur. The time windows may be overlapping. If no
5615
5986
  # maintenance windows are set, maintenance can occur at any time.
5616
5987
  #
5617
- # Note: The following fields are mutually exclusive: `recurring_window`, `daily_maintenance_window`. If a field in that set is populated, all other fields in the set will automatically be cleared.
5988
+ # Note: The following fields are mutually exclusive: `recurring_window`, `daily_maintenance_window`, `recurring_maintenance_window`. If a field in that set is populated, all other fields in the set will automatically be cleared.
5989
+ # @!attribute [rw] recurring_maintenance_window
5990
+ # @return [::Google::Cloud::Container::V1beta1::RecurringMaintenanceWindow]
5991
+ # RecurringMaintenanceWindow specifies some number of recurring time
5992
+ # periods for maintenance to occur. The time windows may be overlapping.
5993
+ # If no maintenance windows are set, maintenance can occur at any time.
5994
+ # Alternative to RecurringWindow, with renamed fields.
5995
+ #
5996
+ # Note: The following fields are mutually exclusive: `recurring_maintenance_window`, `daily_maintenance_window`, `recurring_window`. If a field in that set is populated, all other fields in the set will automatically be cleared.
5618
5997
  # @!attribute [rw] maintenance_exclusions
5619
5998
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Container::V1beta1::TimeWindow}]
5620
5999
  # Exceptions to maintenance window. Non-emergency maintenance should not
@@ -5734,6 +6113,41 @@ module Google
5734
6113
  extend ::Google::Protobuf::MessageExts::ClassMethods
5735
6114
  end
5736
6115
 
6116
+ # Represents an arbitrary window of time that recurs.
6117
+ # Alternative to RecurringTimeWindow, with renamed fields.
6118
+ # @!attribute [rw] delay_until
6119
+ # @return [::Google::Type::Date]
6120
+ # Optional. Windows will not be scheduled before that day.
6121
+ # Depending on the recurrence, this may be the date the first window appears.
6122
+ # Days are measured in the UTC timezone. This setting must be used when
6123
+ # INTERVAL>1 or FREQ=WEEKLY/MONTHLY and no BYDAY specified.
6124
+ # @!attribute [rw] window_start_time
6125
+ # @return [::Google::Type::TimeOfDay]
6126
+ # Required. Start time of the window on days that it is scheduled,
6127
+ # assuming UTC timezone.
6128
+ # @!attribute [rw] window_duration
6129
+ # @return [::Google::Protobuf::Duration]
6130
+ # Required. Duration of the window.
6131
+ # @!attribute [rw] recurrence
6132
+ # @return [::String]
6133
+ # Required. An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3)
6134
+ # for how this window reccurs.
6135
+ #
6136
+ # For example, to have something repeat every weekday, you'd use:
6137
+ # `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`
6138
+ #
6139
+ # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
6140
+ # `FREQ=DAILY`
6141
+ #
6142
+ # For the first weekend of every month:
6143
+ # `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
6144
+ #
6145
+ # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
6146
+ class RecurringMaintenanceWindow
6147
+ include ::Google::Protobuf::MessageExts
6148
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6149
+ end
6150
+
5737
6151
  # Time window specified for daily maintenance operations.
5738
6152
  # @!attribute [rw] start_time
5739
6153
  # @return [::String]
@@ -5937,6 +6351,9 @@ module Google
5937
6351
 
5938
6352
  # Avoid extra IP consumption.
5939
6353
  NO_PERFORMANCE = 1
6354
+
6355
+ # Use default configuration.
6356
+ NONE = 2
5940
6357
  end
5941
6358
  end
5942
6359
 
@@ -6063,7 +6480,7 @@ module Google
6063
6480
  # Can this node pool be deleted automatically.
6064
6481
  # @!attribute [rw] location_policy
6065
6482
  # @return [::Google::Cloud::Container::V1beta1::NodePoolAutoscaling::LocationPolicy]
6066
- # Location policy used when scaling up a nodepool.
6483
+ # Location policy used when scaling up a node pool.
6067
6484
  # @!attribute [rw] total_min_node_count
6068
6485
  # @return [::Integer]
6069
6486
  # Minimum number of nodes in the node pool. Must be greater than or equal
@@ -6081,7 +6498,7 @@ module Google
6081
6498
  extend ::Google::Protobuf::MessageExts::ClassMethods
6082
6499
 
6083
6500
  # Location policy specifies how zones are picked when scaling up the
6084
- # nodepool.
6501
+ # node pool.
6085
6502
  module LocationPolicy
6086
6503
  # Not set.
6087
6504
  LOCATION_POLICY_UNSPECIFIED = 0
@@ -6645,6 +7062,9 @@ module Google
6645
7062
  # and this field at the same time.
6646
7063
  # To update the default setting, use
6647
7064
  # {::Google::Cloud::Container::V1beta1::ClusterUpdate#desired_default_enable_private_nodes ClusterUpdate.desired_default_enable_private_nodes}
7065
+ # @!attribute [rw] dataplane_v2_config
7066
+ # @return [::Google::Cloud::Container::V1beta1::DataplaneV2Config]
7067
+ # Optional. DataplaneV2Config specifies the DPv2 configuration.
6648
7068
  # @!attribute [rw] disable_l4_lb_firewall_reconciliation
6649
7069
  # @return [::Boolean]
6650
7070
  # Disable L4 load balancer VPC firewalls to enable firewall policies.
@@ -7027,6 +7447,11 @@ module Google
7027
7447
  # Secrets in etcd are stored in plain text (at etcd level) - this is
7028
7448
  # unrelated to Compute Engine level full disk encryption.
7029
7449
  DECRYPTED = 2
7450
+
7451
+ # Encryption of all objects in the storage is enabled. There is no
7452
+ # guarantee that all objects in the storage are encrypted, but eventually
7453
+ # they will be.
7454
+ ALL_OBJECTS_ENCRYPTION_ENABLED = 3
7030
7455
  end
7031
7456
 
7032
7457
  # Current State of etcd encryption.
@@ -7054,6 +7479,17 @@ module Google
7054
7479
 
7055
7480
  # De-crypting Secrets to plain text in etcd encountered an error.
7056
7481
  CURRENT_STATE_DECRYPTION_ERROR = 6
7482
+
7483
+ # Encryption of all objects in the storage is enabled.
7484
+ # It does not guarantee that all objects in the storage are encrypted,
7485
+ # but eventually they will be.
7486
+ CURRENT_STATE_ALL_OBJECTS_ENCRYPTION_ENABLED = 8
7487
+
7488
+ # Enablement of the encryption of all objects in storage is pending.
7489
+ CURRENT_STATE_ALL_OBJECTS_ENCRYPTION_PENDING = 9
7490
+
7491
+ # Enabling encryption of all objects in storage encountered an error.
7492
+ CURRENT_STATE_ALL_OBJECTS_ENCRYPTION_ERROR = 10
7057
7493
  end
7058
7494
  end
7059
7495
 
@@ -7438,11 +7874,35 @@ module Google
7438
7874
  # @return [::Google::Cloud::Container::V1beta1::PrivilegedAdmissionConfig]
7439
7875
  # PrivilegedAdmissionConfig is the configuration related to privileged
7440
7876
  # admission control.
7877
+ # @!attribute [rw] cluster_policy_config
7878
+ # @return [::Google::Cloud::Container::V1beta1::ClusterPolicyConfig]
7879
+ # ClusterPolicyConfig denotes cluster level policies that are enforced for
7880
+ # the cluster.
7441
7881
  class Autopilot
7442
7882
  include ::Google::Protobuf::MessageExts
7443
7883
  extend ::Google::Protobuf::MessageExts::ClassMethods
7444
7884
  end
7445
7885
 
7886
+ # ClusterPolicyConfig stores the configuration for cluster wide policies.
7887
+ # @!attribute [rw] no_system_mutation
7888
+ # @return [::Boolean]
7889
+ # Denotes that preventing creation and mutation of resources in GKE
7890
+ # managed namespaces and cluster-scoped GKE managed resources .
7891
+ # @!attribute [rw] no_system_impersonation
7892
+ # @return [::Boolean]
7893
+ # Denotes preventing impersonation and CSRs for GKE System users.
7894
+ # @!attribute [rw] no_unsafe_webhooks
7895
+ # @return [::Boolean]
7896
+ # Denotes preventing unsafe webhooks.
7897
+ # @!attribute [rw] no_standard_node_pools
7898
+ # @return [::Boolean]
7899
+ # Denotes preventing standard node pools and requiring only autopilot node
7900
+ # pools.
7901
+ class ClusterPolicyConfig
7902
+ include ::Google::Protobuf::MessageExts
7903
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7904
+ end
7905
+
7446
7906
  # PrivilegedAdmissionConfig stores the list of authorized allowlist
7447
7907
  # paths for the cluster.
7448
7908
  # @!attribute [rw] allowlist_paths
@@ -7476,6 +7936,16 @@ module Google
7476
7936
  extend ::Google::Protobuf::MessageExts::ClassMethods
7477
7937
  end
7478
7938
 
7939
+ # NodePoolUpgradeConcurrencyConfig is the configuration for the node pool
7940
+ # auto upgrade concurrency.
7941
+ # @!attribute [rw] max_count
7942
+ # @return [::Integer]
7943
+ # If set, no more than max_count node pools can be upgraded concurrently.
7944
+ class NodePoolUpgradeConcurrencyConfig
7945
+ include ::Google::Protobuf::MessageExts
7946
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7947
+ end
7948
+
7479
7949
  # NotificationConfig is the configuration of notifications.
7480
7950
  # @!attribute [rw] pubsub
7481
7951
  # @return [::Google::Cloud::Container::V1beta1::NotificationConfig::PubSub]
@@ -7652,6 +8122,9 @@ module Google
7652
8122
  # STATE_UNSPECIFIED indicates the state is unspecified.
7653
8123
  STATE_UNSPECIFIED = 0
7654
8124
 
8125
+ # SCHEDULED indicates the upgrade was scheduled.
8126
+ SCHEDULED = 1
8127
+
7655
8128
  # STARTED indicates the upgrade has started.
7656
8129
  STARTED = 3
7657
8130
 
@@ -7933,7 +8406,7 @@ module Google
7933
8406
  extend ::Google::Protobuf::MessageExts::ClassMethods
7934
8407
  end
7935
8408
 
7936
- # NodePoolLoggingConfig specifies logging configuration for nodepools.
8409
+ # NodePoolLoggingConfig specifies logging configuration for node pools.
7937
8410
  # @!attribute [rw] variant_config
7938
8411
  # @return [::Google::Cloud::Container::V1beta1::LoggingVariantConfig]
7939
8412
  # Logging variant configuration.
@@ -8024,6 +8497,27 @@ module Google
8024
8497
  end
8025
8498
  end
8026
8499
 
8500
+ # DataplaneV2Config is the configuration for DPv2.
8501
+ # @!attribute [rw] scalability_mode
8502
+ # @return [::Google::Cloud::Container::V1beta1::DataplaneV2Config::ScalabilityMode]
8503
+ # Optional. Scalability mode for the cluster.
8504
+ class DataplaneV2Config
8505
+ include ::Google::Protobuf::MessageExts
8506
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8507
+
8508
+ # Options on how to scale the cluster.
8509
+ module ScalabilityMode
8510
+ # Default value.
8511
+ SCALABILITY_MODE_UNSPECIFIED = 0
8512
+
8513
+ # Disables the scale optimized mode for DPv2.
8514
+ DISABLED = 3
8515
+
8516
+ # Enables the scale optimized mode for DPv2.
8517
+ SCALE_OPTIMIZED = 4
8518
+ end
8519
+ end
8520
+
8027
8521
  # PodAutoscaling is used for configuration of parameters
8028
8522
  # for workload autoscaling.
8029
8523
  # @!attribute [rw] hpa_profile
@@ -8244,7 +8738,7 @@ module Google
8244
8738
  end
8245
8739
  end
8246
8740
 
8247
- # BootDisk specifies the boot disk configuration for nodepools.
8741
+ # BootDisk specifies the boot disk configuration for node pools.
8248
8742
  # @!attribute [rw] disk_type
8249
8743
  # @return [::String]
8250
8744
  # Disk type of the boot disk.
@@ -8472,10 +8966,10 @@ module Google
8472
8966
  end
8473
8967
 
8474
8968
  # FetchNodePoolUpgradeInfoRequest fetches the upgrade information of a
8475
- # nodepool.
8969
+ # node pool.
8476
8970
  # @!attribute [rw] name
8477
8971
  # @return [::String]
8478
- # Required. The name (project, location, cluster, nodepool) of the nodepool
8972
+ # Required. The name (project, location, cluster, node pool) of the node pool
8479
8973
  # to get. Specified in the format
8480
8974
  # `projects/*/locations/*/clusters/*/nodePools/*` or
8481
8975
  # `projects/*/zones/*/clusters/*/nodePools/*`.
@@ -8487,7 +8981,7 @@ module Google
8487
8981
  extend ::Google::Protobuf::MessageExts::ClassMethods
8488
8982
  end
8489
8983
 
8490
- # NodePoolUpgradeInfo contains the upgrade information of a nodepool.
8984
+ # NodePoolUpgradeInfo contains the upgrade information of a node pool.
8491
8985
  # @!attribute [rw] minor_target_version
8492
8986
  # @return [::String]
8493
8987
  # minor_target_version indicates the target version for minor upgrade.
@@ -8505,10 +8999,10 @@ module Google
8505
8999
  # The list of past auto upgrades.
8506
9000
  # @!attribute [rw] end_of_standard_support_timestamp
8507
9001
  # @return [::String]
8508
- # The nodepool's current minor version's end of standard support timestamp.
9002
+ # The node pool's current minor version's end of standard support timestamp.
8509
9003
  # @!attribute [rw] end_of_extended_support_timestamp
8510
9004
  # @return [::String]
8511
- # The nodepool's current minor version's end of extended support timestamp.
9005
+ # The node pool's current minor version's end of extended support timestamp.
8512
9006
  class NodePoolUpgradeInfo
8513
9007
  include ::Google::Protobuf::MessageExts
8514
9008
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -8552,6 +9046,15 @@ module Google
8552
9046
  end
8553
9047
  end
8554
9048
 
9049
+ # Configuration for scheduled upgrades on the cluster.
9050
+ # @!attribute [rw] enabled
9051
+ # @return [::Boolean]
9052
+ # Optional. Whether or not scheduled upgrades are enabled.
9053
+ class ScheduleUpgradeConfig
9054
+ include ::Google::Protobuf::MessageExts
9055
+ extend ::Google::Protobuf::MessageExts::ClassMethods
9056
+ end
9057
+
8555
9058
  # GkeAutoUpgradeConfig is the configuration for GKE auto upgrades.
8556
9059
  # @!attribute [rw] patch_mode
8557
9060
  # @return [::Google::Cloud::Container::V1beta1::GkeAutoUpgradeConfig::PatchMode]
@@ -8653,6 +9156,16 @@ module Google
8653
9156
  end
8654
9157
  end
8655
9158
 
9159
+ # ManagedMachineLearningDiagnosticsConfig is the configuration for the GKE
9160
+ # Managed Machine Learning Diagnostics pipeline.
9161
+ # @!attribute [rw] enabled
9162
+ # @return [::Boolean]
9163
+ # Enable/Disable Managed Machine Learning Diagnostics.
9164
+ class ManagedMachineLearningDiagnosticsConfig
9165
+ include ::Google::Protobuf::MessageExts
9166
+ extend ::Google::Protobuf::MessageExts::ClassMethods
9167
+ end
9168
+
8656
9169
  # PodSnapshotConfig is the configuration for GKE Pod Snapshots feature.
8657
9170
  # @!attribute [rw] enabled
8658
9171
  # @return [::Boolean]
@@ -8705,8 +9218,8 @@ module Google
8705
9218
  SURGE = 3
8706
9219
 
8707
9220
  # SHORT_LIVED is the dedicated upgrade strategy for
8708
- # QueuedProvisioning and flex start nodepools scaled up only by enqueueing to
8709
- # the Dynamic Workload Scheduler (DWS).
9221
+ # QueuedProvisioning and flex start node pools scaled up only by enqueueing
9222
+ # to the Dynamic Workload Scheduler (DWS).
8710
9223
  SHORT_LIVED = 5
8711
9224
  end
8712
9225