google-cloud-container-v1 1.14.0 → 1.16.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.
@@ -38,6 +38,9 @@ module Google
38
38
  # net.core.wmem_max
39
39
  # net.core.optmem_max
40
40
  # net.core.somaxconn
41
+ # net.ipv4.neigh.default.gc_thresh1
42
+ # net.ipv4.neigh.default.gc_thresh2
43
+ # net.ipv4.neigh.default.gc_thresh3
41
44
  # net.ipv4.tcp_rmem
42
45
  # net.ipv4.tcp_wmem
43
46
  # net.ipv4.tcp_tw_reuse
@@ -53,6 +56,8 @@ module Google
53
56
  # net.netfilter.nf_conntrack_tcp_timeout_time_wait
54
57
  # net.netfilter.nf_conntrack_tcp_timeout_established
55
58
  # net.netfilter.nf_conntrack_acct
59
+ # kernel.keys.maxkeys
60
+ # kernel.keys.maxbytes
56
61
  # kernel.shmmni
57
62
  # kernel.shmmax
58
63
  # kernel.shmall
@@ -105,6 +110,10 @@ module Google
105
110
  #
106
111
  # See https://docs.kernel.org/admin-guide/mm/transhuge.html
107
112
  # for more details.
113
+ # @!attribute [rw] custom_node_init
114
+ # @return [::Google::Cloud::Container::V1::LinuxNodeConfig::CustomNodeInit]
115
+ # Optional. Allow users to run arbitrary bash script or container on the
116
+ # node.
108
117
  # @!attribute [rw] swap_config
109
118
  # @return [::Google::Cloud::Container::V1::LinuxNodeConfig::SwapConfig]
110
119
  # Optional. Enables and configures swap space on nodes.
@@ -114,6 +123,9 @@ module Google
114
123
  # Optional. Configuration for kernel module loading on nodes.
115
124
  # When enabled, the node pool will be provisioned with a Container-Optimized
116
125
  # OS image that enforces kernel module signature verification.
126
+ # @!attribute [rw] accurate_time_config
127
+ # @return [::Google::Cloud::Container::V1::LinuxNodeConfig::AccurateTimeConfig]
128
+ # Optional. The accurate time configuration for the node pool.
117
129
  class LinuxNodeConfig
118
130
  include ::Google::Protobuf::MessageExts
119
131
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -130,6 +142,50 @@ module Google
130
142
  extend ::Google::Protobuf::MessageExts::ClassMethods
131
143
  end
132
144
 
145
+ # Support for running custom init code while bootstrapping nodes.
146
+ # @!attribute [rw] init_script
147
+ # @return [::Google::Cloud::Container::V1::LinuxNodeConfig::CustomNodeInit::InitScript]
148
+ # Optional. The init script to be executed on the node.
149
+ class CustomNodeInit
150
+ include ::Google::Protobuf::MessageExts
151
+ extend ::Google::Protobuf::MessageExts::ClassMethods
152
+
153
+ # InitScript provide a simply bash script to be executed on the node.
154
+ # @!attribute [rw] gcs_uri
155
+ # @return [::String]
156
+ # The Cloud Storage URI for storing the init script.
157
+ # Format: gs://BUCKET_NAME/OBJECT_NAME
158
+ # The service account on the node pool must have read access to the
159
+ # object.
160
+ # User can't configure both gcs_uri and gcp_secret_manager_secret_uri.
161
+ # @!attribute [rw] gcs_generation
162
+ # @return [::Integer]
163
+ # The generation of the init script stored in Gloud Storage.
164
+ # This is the required field to identify the version of the
165
+ # init script.
166
+ # User can get the genetaion from
167
+ # `gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME
168
+ # --format="value(generation)"` or from the "Version history" tab of the
169
+ # object in the Cloud Console UI.
170
+ # @!attribute [rw] args
171
+ # @return [::Array<::String>]
172
+ # Optional. The optional arguments line to be passed to the init script.
173
+ # @!attribute [rw] gcp_secret_manager_secret_uri
174
+ # @return [::String]
175
+ # The resource name of the secret manager secret hosting the init script.
176
+ # Both global and regional secrets are supported with format below:
177
+ # Global secret: projects/\\{project}/secrets/\\{secret}/versions/\\{version}
178
+ # Regional secret:
179
+ # projects/\\{project}/locations/\\{location}/secrets/\\{secret}/versions/\\{version}
180
+ # Example: projects/1234567890/secrets/script_1/versions/1.
181
+ # Accept version number only, not support version alias.
182
+ # User can't configure both gcp_secret_manager_secret_uri and gcs_uri.
183
+ class InitScript
184
+ include ::Google::Protobuf::MessageExts
185
+ extend ::Google::Protobuf::MessageExts::ClassMethods
186
+ end
187
+ end
188
+
133
189
  # Configuration for swap memory on a node pool.
134
190
  # @!attribute [rw] enabled
135
191
  # @return [::Boolean]
@@ -218,7 +274,7 @@ module Google
218
274
  include ::Google::Protobuf::MessageExts
219
275
  extend ::Google::Protobuf::MessageExts::ClassMethods
220
276
 
221
- # Defines the kernel module loading policy for nodes in the nodepool.
277
+ # Defines the kernel module loading policy for nodes in the node pool.
222
278
  module Policy
223
279
  # Default behavior. GKE selects the image based on node type.
224
280
  # For CPU and TPU nodes, the image will not allow loading external
@@ -243,6 +299,16 @@ module Google
243
299
  end
244
300
  end
245
301
 
302
+ # AccurateTimeConfig contains configuration for the accurate time
303
+ # synchronization feature.
304
+ # @!attribute [rw] enable_ptp_kvm_time_sync
305
+ # @return [::Boolean]
306
+ # Enables enhanced time synchronization using PTP-KVM.
307
+ class AccurateTimeConfig
308
+ include ::Google::Protobuf::MessageExts
309
+ extend ::Google::Protobuf::MessageExts::ClassMethods
310
+ end
311
+
246
312
  # @!attribute [rw] key
247
313
  # @return [::String]
248
314
  # @!attribute [rw] value
@@ -515,6 +581,10 @@ module Google
515
581
  # If true, will prevent the memory.oom.group flag from being set for
516
582
  # container cgroups in cgroups v2. This causes processes in the container to
517
583
  # be OOM killed individually instead of as a group.
584
+ # @!attribute [rw] crash_loop_back_off
585
+ # @return [::Google::Cloud::Container::V1::NodeKubeletConfig::CrashLoopBackOffConfig]
586
+ # Optional. Contains configuration options to modify node-level parameters
587
+ # for container restart behavior.
518
588
  # @!attribute [rw] shutdown_grace_period_seconds
519
589
  # @return [::Integer]
520
590
  # Optional. shutdown_grace_period_seconds is the maximum allowed grace period
@@ -536,6 +606,26 @@ module Google
536
606
  class NodeKubeletConfig
537
607
  include ::Google::Protobuf::MessageExts
538
608
  extend ::Google::Protobuf::MessageExts::ClassMethods
609
+
610
+ # Contains config to modify node-level parameters for container restart
611
+ # behavior.
612
+ # @!attribute [rw] max_container_restart_period
613
+ # @return [::String]
614
+ # Optional. The maximum duration the backoff delay can accrue to for
615
+ # container restarts, minimum 1 second, maximum 300 seconds. If not set,
616
+ # defaults to the internal crashloopbackoff maximum.
617
+ #
618
+ # The string must be a sequence of decimal numbers, each with optional
619
+ # fraction and a unit suffix, such as "300ms".
620
+ # Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
621
+ #
622
+ # See
623
+ # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#configurable-container-restart-delay
624
+ # for more details.
625
+ class CrashLoopBackOffConfig
626
+ include ::Google::Protobuf::MessageExts
627
+ extend ::Google::Protobuf::MessageExts::ClassMethods
628
+ end
539
629
  end
540
630
 
541
631
  # TopologyManager defines the configuration options for Topology Manager
@@ -809,16 +899,29 @@ module Google
809
899
  # the latest version of it will be used. Please see
810
900
  # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
811
901
  # for available image types.
902
+ # @!attribute [rw] node_image_config
903
+ # @return [::Google::Cloud::Container::V1::CustomImageConfig]
904
+ # The node image configuration to use for this node pool. Note that this is
905
+ # only applicable for node pools using image_type=CUSTOM.
812
906
  # @!attribute [rw] labels
813
907
  # @return [::Google::Protobuf::Map{::String => ::String}]
814
- # The map of Kubernetes labels (key/value pairs) to be applied to each node.
815
- # These will added in addition to any default label(s) that
816
- # Kubernetes may apply to the node.
817
- # In case of conflict in label keys, the applied set may differ depending on
818
- # the Kubernetes version -- it's best to assume the behavior is undefined
819
- # and conflicts should be avoided.
820
- # For more information, including usage and the valid values, see:
821
- # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
908
+ # The Kubernetes labels (key/value pairs) to apply to each node. The values
909
+ # in this field are added to the set of default labels Kubernetes applies to
910
+ # nodes.
911
+ #
912
+ # This field has the following restrictions:
913
+ #
914
+ # * Labels must use a valid Kubernetes syntax and character set, as defined
915
+ # in
916
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set.
917
+ # * This field supports up to 1,024 total characters in a single request.
918
+ #
919
+ # Depending on the Kubernetes version, keys in this field might conflict with
920
+ # the keys of the default labels, which might change which of your labels
921
+ # are applied to the nodes. Assume that the behavior is unpredictable and
922
+ # avoid label key conflicts. For more information about the default labels,
923
+ # see:
924
+ # https://kubernetes.io/docs/reference/labels-annotations-taints/
822
925
  # @!attribute [rw] local_ssd_count
823
926
  # @return [::Integer]
824
927
  # The number of local SSD disks to be attached to the node.
@@ -986,6 +1089,9 @@ module Google
986
1089
  # Consolidation delay defines duration after which the Cluster Autoscaler can
987
1090
  # scale down underutilized nodes. If not set, nodes are scaled down by
988
1091
  # default behavior, i.e. according to the chosen autoscaling profile.
1092
+ # @!attribute [rw] taint_config
1093
+ # @return [::Google::Cloud::Container::V1::TaintConfig]
1094
+ # Optional. The taint configuration for the node pool.
989
1095
  class NodeConfig
990
1096
  include ::Google::Protobuf::MessageExts
991
1097
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1053,6 +1159,28 @@ module Google
1053
1159
  end
1054
1160
  end
1055
1161
 
1162
+ # TaintConfig contains the configuration for the taints of the node pool.
1163
+ # @!attribute [rw] architecture_taint_behavior
1164
+ # @return [::Google::Cloud::Container::V1::TaintConfig::ArchitectureTaintBehavior]
1165
+ # Optional. Controls architecture tainting behavior.
1166
+ class TaintConfig
1167
+ include ::Google::Protobuf::MessageExts
1168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1169
+
1170
+ # Controls architecture tainting behavior for a node pool.
1171
+ # New values may be added in the future.
1172
+ module ArchitectureTaintBehavior
1173
+ # Specifies that the behavior is unspecified, defaults to ARM.
1174
+ ARCHITECTURE_TAINT_BEHAVIOR_UNSPECIFIED = 0
1175
+
1176
+ # Disables default architecture taints on the node pool.
1177
+ NONE = 1
1178
+
1179
+ # Taints all the nodes in the node pool with the default ARM taint.
1180
+ ARM = 2
1181
+ end
1182
+ end
1183
+
1056
1184
  # Specifies options for controlling advanced machine features.
1057
1185
  # @!attribute [rw] threads_per_core
1058
1186
  # @return [::Integer]
@@ -1139,7 +1267,7 @@ module Google
1139
1267
  # @!attribute [rw] pod_cidr_overprovision_config
1140
1268
  # @return [::Google::Cloud::Container::V1::PodCIDROverprovisionConfig]
1141
1269
  # [PRIVATE FIELD]
1142
- # Pod CIDR size overprovisioning config for the nodepool.
1270
+ # Pod CIDR size overprovisioning config for the node pool.
1143
1271
  #
1144
1272
  # Pod CIDR size per node depends on max_pods_per_node. By default, the value
1145
1273
  # of max_pods_per_node is rounded off to next power of 2 and we then double
@@ -1169,16 +1297,25 @@ module Google
1169
1297
  # Format: projects/\\{project}/regions/\\{region}/subnetworks/\\{subnetwork}
1170
1298
  # If the cluster is associated with multiple subnetworks, the subnetwork can
1171
1299
  # be either:
1172
- # 1. A user supplied subnetwork name/full path during node pool creation.
1173
- # Example1: my-subnet
1174
- # Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet
1175
- # 2. A subnetwork path picked based on the IP utilization during node pool
1176
- # creation and is immutable.
1300
+ # - A user supplied subnetwork name during node pool creation (e.g.,
1301
+ # `my-subnet`). The name must be between 1 and 63 characters long, start
1302
+ # with a letter, contain only letters, numbers, and hyphens, and end with a
1303
+ # letter or a number.
1304
+ # - A full subnetwork path during node pool creation, such as
1305
+ # `projects/gke-project/regions/us-central1/subnetworks/my-subnet`
1306
+ # - A subnetwork path picked based on the IP utilization during node pool
1307
+ # creation and is immutable.
1177
1308
  # @!attribute [r] network_tier_config
1178
1309
  # @return [::Google::Cloud::Container::V1::NetworkTierConfig]
1179
1310
  # Output only. The network tier configuration for the node pool inherits from
1180
1311
  # the cluster-level configuration and remains immutable throughout the node
1181
1312
  # pool's lifecycle, including during upgrades.
1313
+ # @!attribute [rw] accelerator_network_profile
1314
+ # @return [::String]
1315
+ # Immutable. The accelerator network profile for the node pool. For now the
1316
+ # only valid value is "auto". If specified, the network configuration of the
1317
+ # nodes in this node pool will be managed by this profile for the supported
1318
+ # machine types, zone, etc.
1182
1319
  class NodeNetworkConfig
1183
1320
  include ::Google::Protobuf::MessageExts
1184
1321
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1253,6 +1390,18 @@ module Google
1253
1390
  extend ::Google::Protobuf::MessageExts::ClassMethods
1254
1391
  end
1255
1392
 
1393
+ # CustomImageConfig contains the information r
1394
+ # @!attribute [rw] image
1395
+ # @return [::String]
1396
+ # The name of the image to use for this node.
1397
+ # @!attribute [rw] image_project
1398
+ # @return [::String]
1399
+ # The project containing the image to use for this node.
1400
+ class CustomImageConfig
1401
+ include ::Google::Protobuf::MessageExts
1402
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1403
+ end
1404
+
1256
1405
  # SandboxConfig contains configurations of the sandbox to use for the node.
1257
1406
  # @!attribute [rw] type
1258
1407
  # @return [::Google::Cloud::Container::V1::SandboxConfig::Type]
@@ -1400,8 +1549,8 @@ module Google
1400
1549
  # Specifying port is supported.
1401
1550
  # Wildcards are NOT supported.
1402
1551
  # Examples:
1403
- # - my.customdomain.com
1404
- # - 10.0.1.2:5000
1552
+ # - `my.customdomain.com`
1553
+ # - `10.0.1.2:5000`
1405
1554
  # @!attribute [rw] gcp_secret_manager_certificate_config
1406
1555
  # @return [::Google::Cloud::Container::V1::ContainerdConfig::PrivateRegistryAccessConfig::CertificateAuthorityDomainConfig::GCPSecretManagerCertificateConfig]
1407
1556
  # Secret Manager certificate configuration.
@@ -1441,11 +1590,11 @@ module Google
1441
1590
  # Defines the host name of the registry server, which will be used to
1442
1591
  # create configuration file as /etc/containerd/hosts.d/<server>/hosts.toml.
1443
1592
  # It supports fully qualified domain names (FQDN) and IP addresses:
1444
- # Specifying port is supported.
1593
+ # Specifying port is supported, while scheme and path are NOT supported.
1445
1594
  # Wildcards are NOT supported.
1446
1595
  # Examples:
1447
- # - my.customdomain.com
1448
- # - 10.0.1.2:5000
1596
+ # - `my.customdomain.com`
1597
+ # - `10.0.1.2:5000`
1449
1598
  # @!attribute [rw] hosts
1450
1599
  # @return [::Array<::Google::Cloud::Container::V1::ContainerdConfig::RegistryHostConfig::HostConfig>]
1451
1600
  # HostConfig configures a list of host-specific configurations for the
@@ -1499,12 +1648,14 @@ module Google
1499
1648
  # @!attribute [rw] host
1500
1649
  # @return [::String]
1501
1650
  # Host configures the registry host/mirror.
1502
- # It supports fully qualified domain names (FQDN) and IP addresses:
1503
- # Specifying port is supported.
1651
+ # It supports fully qualified domain names (FQDNs) and IP addresses.
1652
+ # Specifying scheme, port or path is supported. Scheme can only be http
1653
+ # or https.
1504
1654
  # Wildcards are NOT supported.
1505
1655
  # Examples:
1506
- # - my.customdomain.com
1507
- # - 10.0.1.2:5000
1656
+ # - `my.customdomain.com`
1657
+ # - `https://my.customdomain.com/path`
1658
+ # - `10.0.1.2:5000`
1508
1659
  # @!attribute [rw] capabilities
1509
1660
  # @return [::Array<::Google::Cloud::Container::V1::ContainerdConfig::RegistryHostConfig::HostCapability>]
1510
1661
  # Capabilities represent the capabilities of the registry host,
@@ -1769,9 +1920,21 @@ module Google
1769
1920
  # @!attribute [rw] lustre_csi_driver_config
1770
1921
  # @return [::Google::Cloud::Container::V1::LustreCsiDriverConfig]
1771
1922
  # Configuration for the Lustre CSI driver.
1923
+ # @!attribute [rw] pod_snapshot_config
1924
+ # @return [::Google::Cloud::Container::V1::PodSnapshotConfig]
1925
+ # Optional. Configuration for the Pod Snapshot feature.
1926
+ # @!attribute [rw] slurm_operator_config
1927
+ # @return [::Google::Cloud::Container::V1::SlurmOperatorConfig]
1928
+ # Configuration for the Slurm Operator.
1772
1929
  # @!attribute [rw] slice_controller_config
1773
1930
  # @return [::Google::Cloud::Container::V1::SliceControllerConfig]
1774
1931
  # Optional. Configuration for the slice controller add-on.
1932
+ # @!attribute [rw] agent_sandbox_config
1933
+ # @return [::Google::Cloud::Container::V1::AgentSandboxConfig]
1934
+ # Optional. Configuration for the AgentSandbox addon.
1935
+ # @!attribute [rw] node_readiness_config
1936
+ # @return [::Google::Cloud::Container::V1::NodeReadinessConfig]
1937
+ # Optional. Configuration for NodeReadinessController add-on.
1775
1938
  class AddonsConfig
1776
1939
  include ::Google::Protobuf::MessageExts
1777
1940
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2019,11 +2182,47 @@ module Google
2019
2182
  # Deprecated: This flag is no longer required as of GKE node version
2020
2183
  # 1.33.2-gke.4655000, unless you are connecting to a Lustre instance
2021
2184
  # that has the `gke-support-enabled` flag.
2185
+ # @!attribute [rw] disable_multi_nic
2186
+ # @return [::Boolean]
2187
+ # When set to true, this disables multi-NIC support for the Lustre CSI
2188
+ # driver.
2189
+ # By default, GKE enables multi-NIC support, which allows the Lustre
2190
+ # CSI driver to automatically detect and configure all suitable network
2191
+ # interfaces on a node to maximize I/O performance for demanding workloads.
2022
2192
  class LustreCsiDriverConfig
2023
2193
  include ::Google::Protobuf::MessageExts
2024
2194
  extend ::Google::Protobuf::MessageExts::ClassMethods
2025
2195
  end
2026
2196
 
2197
+ # Configuration for the Slurm Operator.
2198
+ # @!attribute [rw] enabled
2199
+ # @return [::Boolean]
2200
+ # When enabled, it runs a Slurm Operator that manages the set of compute pods
2201
+ # for Slurm Cluster.
2202
+ class SlurmOperatorConfig
2203
+ include ::Google::Protobuf::MessageExts
2204
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2205
+ end
2206
+
2207
+ # Configuration for the AgentSandbox addon.
2208
+ # @!attribute [rw] enabled
2209
+ # @return [::Boolean]
2210
+ # Optional. Whether AgentSandbox is enabled for this cluster.
2211
+ class AgentSandboxConfig
2212
+ include ::Google::Protobuf::MessageExts
2213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2214
+ end
2215
+
2216
+ # Configuration for the GKE Node Readiness Controller.
2217
+ # @!attribute [rw] enabled
2218
+ # @return [::Boolean]
2219
+ # Optional. Whether the GKE Node Readiness Controller is enabled for this
2220
+ # cluster.
2221
+ class NodeReadinessConfig
2222
+ include ::Google::Protobuf::MessageExts
2223
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2224
+ end
2225
+
2027
2226
  # Configuration for the Slice Controller.
2028
2227
  # @!attribute [rw] enabled
2029
2228
  # @return [::Boolean]
@@ -2710,7 +2909,7 @@ module Google
2710
2909
  # Fleet information for the cluster.
2711
2910
  # @!attribute [rw] security_posture_config
2712
2911
  # @return [::Google::Cloud::Container::V1::SecurityPostureConfig]
2713
- # Enable/Disable Security Posture API features for the cluster.
2912
+ # Optional. Enable/Disable Security Posture API features for the cluster.
2714
2913
  # @!attribute [rw] control_plane_endpoints_config
2715
2914
  # @return [::Google::Cloud::Container::V1::ControlPlaneEndpointsConfig]
2716
2915
  # Configuration for all cluster's control plane endpoints.
@@ -2728,7 +2927,12 @@ module Google
2728
2927
  # @return [::Google::Cloud::Container::V1::SecretManagerConfig]
2729
2928
  # Secret CSI driver configuration.
2730
2929
  # @!attribute [rw] compliance_posture_config
2930
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2731
2931
  # @return [::Google::Cloud::Container::V1::CompliancePostureConfig]
2932
+ # Optional. Deprecated: Compliance Posture is no longer supported.
2933
+ # For more details, see
2934
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
2935
+ #
2732
2936
  # Enable/Disable Compliance Posture features for the cluster.
2733
2937
  # @!attribute [r] satisfies_pzs
2734
2938
  # @return [::Boolean]
@@ -2750,9 +2954,24 @@ module Google
2750
2954
  # @return [::Google::Cloud::Container::V1::AnonymousAuthenticationConfig]
2751
2955
  # Configuration for limiting anonymous access to all endpoints except the
2752
2956
  # health checks.
2957
+ # @!attribute [rw] schedule_upgrade_config
2958
+ # @return [::Google::Cloud::Container::V1::ScheduleUpgradeConfig]
2959
+ # Optional. Configuration for scheduled upgrades.
2960
+ # @!attribute [rw] secret_sync_config
2961
+ # @return [::Google::Cloud::Container::V1::SecretSyncConfig]
2962
+ # Configuration for sync Secret Manager secrets as k8s secrets.
2753
2963
  # @!attribute [rw] managed_opentelemetry_config
2754
2964
  # @return [::Google::Cloud::Container::V1::ManagedOpenTelemetryConfig]
2755
2965
  # Configuration for Managed OpenTelemetry pipeline.
2966
+ # @!attribute [rw] control_plane_egress
2967
+ # @return [::Google::Cloud::Container::V1::ControlPlaneEgress]
2968
+ # Configuration for control plane egress control.
2969
+ # @!attribute [rw] managed_machine_learning_diagnostics_config
2970
+ # @return [::Google::Cloud::Container::V1::ManagedMachineLearningDiagnosticsConfig]
2971
+ # Configuration for Managed Machine Learning Diagnostics.
2972
+ # @!attribute [rw] node_creation_config
2973
+ # @return [::Google::Cloud::Container::V1::NodeCreationConfig]
2974
+ # Optional. Configuration for Node Creation Mode.
2756
2975
  class Cluster
2757
2976
  include ::Google::Protobuf::MessageExts
2758
2977
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2796,6 +3015,50 @@ module Google
2796
3015
  end
2797
3016
  end
2798
3017
 
3018
+ # NodeCreationConfig defines the settings of node creation mode.
3019
+ # @!attribute [rw] node_creation_mode
3020
+ # @return [::Google::Cloud::Container::V1::NodeCreationConfig::Mode]
3021
+ # The mode of node creation.
3022
+ class NodeCreationConfig
3023
+ include ::Google::Protobuf::MessageExts
3024
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3025
+
3026
+ # The mode of node creation.
3027
+ module Mode
3028
+ # When no user input is provided.
3029
+ MODE_UNSPECIFIED = 0
3030
+
3031
+ # Kubelet registers itself.
3032
+ VIA_KUBELET = 1
3033
+
3034
+ # gcp-controller-manager automatically creates the node object after
3035
+ # CSR approval.
3036
+ VIA_CONTROL_PLANE = 2
3037
+ end
3038
+ end
3039
+
3040
+ # ControlPlaneEgress defines the settings needed to enable
3041
+ # control plane egress control.
3042
+ # @!attribute [rw] mode
3043
+ # @return [::Google::Cloud::Container::V1::ControlPlaneEgress::Mode]
3044
+ # Defines the mode of control plane egress.
3045
+ class ControlPlaneEgress
3046
+ include ::Google::Protobuf::MessageExts
3047
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3048
+
3049
+ # Mode defines the mode of control plane egress.
3050
+ module Mode
3051
+ # Default value not specified.
3052
+ MODE_UNSPECIFIED = 0
3053
+
3054
+ # Control plane has public IP and no restriction on egress.
3055
+ VIA_CONTROL_PLANE = 1
3056
+
3057
+ # No public IP on control plane and only internal allowlisted egress.
3058
+ NONE = 2
3059
+ end
3060
+ end
3061
+
2799
3062
  # RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
2800
3063
  # that can be created.
2801
3064
  # @!attribute [rw] enable_insecure_binding_system_unauthenticated
@@ -2883,8 +3146,13 @@ module Google
2883
3146
  end
2884
3147
  end
2885
3148
 
3149
+ # Deprecated: Compliance Posture is no longer supported.
3150
+ # For more details, see
3151
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
3152
+ #
2886
3153
  # CompliancePostureConfig defines the settings needed to enable/disable
2887
3154
  # features for the Compliance Posture.
3155
+ # @deprecated This message is deprecated and may be removed in the next major version update.
2888
3156
  # @!attribute [rw] mode
2889
3157
  # @return [::Google::Cloud::Container::V1::CompliancePostureConfig::Mode]
2890
3158
  # Defines the enablement mode for Compliance Posture.
@@ -2949,6 +3217,10 @@ module Google
2949
3217
  # Applies Security Posture features on the cluster.
2950
3218
  BASIC = 2
2951
3219
 
3220
+ # Deprecated: Security Posture Enterprise features are no longer supported.
3221
+ # For more details, see
3222
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
3223
+ #
2952
3224
  # Applies the Security Posture off cluster Enterprise level features.
2953
3225
  ENTERPRISE = 3
2954
3226
  end
@@ -2961,6 +3233,10 @@ module Google
2961
3233
  # Disables vulnerability scanning on the cluster.
2962
3234
  VULNERABILITY_DISABLED = 1
2963
3235
 
3236
+ # Deprecated: Basic vulnerability scanning is no longer supported.
3237
+ # For more details, see
3238
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
3239
+ #
2964
3240
  # Applies basic vulnerability scanning on the cluster.
2965
3241
  VULNERABILITY_BASIC = 2
2966
3242
 
@@ -3066,6 +3342,16 @@ module Google
3066
3342
  # @return [::String]
3067
3343
  # The desired image type for the node pool.
3068
3344
  # NOTE: Set the "desired_node_pool" field as well.
3345
+ # @!attribute [rw] desired_image
3346
+ # @return [::String]
3347
+ # The desired name of the image to use for this node.
3348
+ # This is used to create clusters using a custom image.
3349
+ # NOTE: Set the "desired_node_pool" field as well.
3350
+ # @!attribute [rw] desired_image_project
3351
+ # @return [::String]
3352
+ # The project containing the desired image to use for this node.
3353
+ # This is used to create clusters using a custom image.
3354
+ # NOTE: Set the "desired_node_pool" field as well.
3069
3355
  # @!attribute [rw] desired_database_encryption
3070
3356
  # @return [::Google::Cloud::Container::V1::DatabaseEncryption]
3071
3357
  # Configuration of etcd encryption.
@@ -3291,7 +3577,12 @@ module Google
3291
3577
  # @return [::Google::Cloud::Container::V1::SecretManagerConfig]
3292
3578
  # Enable/Disable Secret Manager Config.
3293
3579
  # @!attribute [rw] desired_compliance_posture_config
3580
+ # @deprecated This field is deprecated and may be removed in the next major version update.
3294
3581
  # @return [::Google::Cloud::Container::V1::CompliancePostureConfig]
3582
+ # Deprecated: Compliance Posture is no longer supported.
3583
+ # For more details, see
3584
+ # https://cloud.google.com/kubernetes-engine/docs/deprecations/posture-management-deprecation.
3585
+ #
3295
3586
  # Enable/Disable Compliance Posture features for the cluster.
3296
3587
  # @!attribute [rw] desired_node_kubelet_config
3297
3588
  # @return [::Google::Cloud::Container::V1::NodeKubeletConfig]
@@ -3348,12 +3639,27 @@ module Google
3348
3639
  # @!attribute [rw] desired_network_tier_config
3349
3640
  # @return [::Google::Cloud::Container::V1::NetworkTierConfig]
3350
3641
  # The desired network tier configuration for the cluster.
3642
+ # @!attribute [rw] desired_secret_sync_config
3643
+ # @return [::Google::Cloud::Container::V1::SecretSyncConfig]
3644
+ # Configuration for sync Secret Manager secrets as k8s secrets.
3351
3645
  # @!attribute [rw] desired_privileged_admission_config
3352
3646
  # @return [::Google::Cloud::Container::V1::PrivilegedAdmissionConfig]
3353
3647
  # The desired privileged admission config for the cluster.
3648
+ # @!attribute [rw] desired_control_plane_egress
3649
+ # @return [::Google::Cloud::Container::V1::ControlPlaneEgress]
3650
+ # The desired control plane egress control config for the cluster.
3354
3651
  # @!attribute [rw] desired_managed_opentelemetry_config
3355
3652
  # @return [::Google::Cloud::Container::V1::ManagedOpenTelemetryConfig]
3356
3653
  # The desired managed open telemetry configuration.
3654
+ # @!attribute [rw] desired_autopilot_cluster_policy_config
3655
+ # @return [::Google::Cloud::Container::V1::ClusterPolicyConfig]
3656
+ # The desired autopilot cluster policies that to be enforced in the cluster.
3657
+ # @!attribute [rw] desired_managed_machine_learning_diagnostics_config
3658
+ # @return [::Google::Cloud::Container::V1::ManagedMachineLearningDiagnosticsConfig]
3659
+ # The desired managed machine learning diagnostics configuration.
3660
+ # @!attribute [rw] desired_node_creation_config
3661
+ # @return [::Google::Cloud::Container::V1::NodeCreationConfig]
3662
+ # Optional. The desired NodeCreationConfig for the cluster.
3357
3663
  class ClusterUpdate
3358
3664
  include ::Google::Protobuf::MessageExts
3359
3665
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3395,7 +3701,7 @@ module Google
3395
3701
 
3396
3702
  # Additional subnet with DRAINING status will not be selected during new node
3397
3703
  # pool creation. To undrain the draining status, update the cluster to set
3398
- # the sunbet to ACTIVE status. To remove the additional subnet, use the
3704
+ # the subnet to ACTIVE status. To remove the additional subnet, use the
3399
3705
  # update cluster API to remove the subnet from the
3400
3706
  # desired_additional_ip_ranges list. IP ranges can be removed regardless of
3401
3707
  # its status, as long as no node pools are using them.
@@ -3867,6 +4173,14 @@ module Google
3867
4173
  # The name (project, location, cluster, node pool) of the node pool to
3868
4174
  # update. Specified in the format
3869
4175
  # `projects/*/locations/*/clusters/*/nodePools/*`.
4176
+ # @!attribute [rw] image
4177
+ # @return [::String]
4178
+ # The desired name of the image name to use for this node.
4179
+ # This is used to create clusters using a custom image.
4180
+ # @!attribute [rw] image_project
4181
+ # @return [::String]
4182
+ # The project containing the desired image to use for this node pool.
4183
+ # This is used to create clusters using a custom image.
3870
4184
  # @!attribute [rw] locations
3871
4185
  # @return [::Array<::String>]
3872
4186
  # The desired list of Google Compute Engine
@@ -4001,6 +4315,9 @@ module Google
4001
4315
  # Consolidation delay defines duration after which the Cluster Autoscaler can
4002
4316
  # scale down underutilized nodes. If not set, nodes are scaled down by
4003
4317
  # default behavior, i.e. according to the chosen autoscaling profile.
4318
+ # @!attribute [rw] taint_config
4319
+ # @return [::Google::Cloud::Container::V1::TaintConfig]
4320
+ # The taint configuration for the node pool.
4004
4321
  class UpdateNodePoolRequest
4005
4322
  include ::Google::Protobuf::MessageExts
4006
4323
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4790,6 +5107,9 @@ module Google
4790
5107
  # @!attribute [rw] node_drain_config
4791
5108
  # @return [::Google::Cloud::Container::V1::NodePool::NodeDrainConfig]
4792
5109
  # Specifies the node drain configuration for this node pool.
5110
+ # @!attribute [rw] maintenance_policy
5111
+ # @return [::Google::Cloud::Container::V1::NodePool::NodePoolMaintenancePolicy]
5112
+ # Optional. Specifies the maintenance policy for the node pool.
4793
5113
  class NodePool
4794
5114
  include ::Google::Protobuf::MessageExts
4795
5115
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4955,7 +5275,7 @@ module Google
4955
5275
  # QueuedProvisioning defines the queued provisioning used by the node pool.
4956
5276
  # @!attribute [rw] enabled
4957
5277
  # @return [::Boolean]
4958
- # Denotes that this nodepool is QRM specific, meaning nodes can be only
5278
+ # Denotes that this node pool is QRM specific, meaning nodes can be only
4959
5279
  # obtained through queuing via the Cluster Autoscaler ProvisioningRequest
4960
5280
  # API.
4961
5281
  class QueuedProvisioning
@@ -4964,7 +5284,13 @@ module Google
4964
5284
  end
4965
5285
 
4966
5286
  # NodeDrainConfig contains the node drain related configurations for this
4967
- # nodepool.
5287
+ # node pool.
5288
+ # @!attribute [rw] pdb_timeout_duration
5289
+ # @return [::Google::Protobuf::Duration]
5290
+ # The duration of the PDB timeout period for node drain.
5291
+ # @!attribute [rw] grace_termination_duration
5292
+ # @return [::Google::Protobuf::Duration]
5293
+ # The duration of the grace termination period for node drain.
4968
5294
  # @!attribute [rw] respect_pdb_during_node_pool_deletion
4969
5295
  # @return [::Boolean]
4970
5296
  # Whether to respect PDB during node pool deletion.
@@ -4973,6 +5299,34 @@ module Google
4973
5299
  extend ::Google::Protobuf::MessageExts::ClassMethods
4974
5300
  end
4975
5301
 
5302
+ # Defines the maintenance exclusion for the node pool.
5303
+ # @!attribute [rw] enabled
5304
+ # @return [::Boolean]
5305
+ # Optional. Indicates whether the exclusion is enabled.
5306
+ # @!attribute [r] start_time
5307
+ # @return [::Google::Protobuf::Timestamp]
5308
+ # Output only. The start time of the maintenance exclusion. It is output
5309
+ # only. It is the exclusion creation time.
5310
+ # @!attribute [r] end_time
5311
+ # @return [::Google::Protobuf::Timestamp]
5312
+ # Output only. The end time of the maintenance exclusion. It is output
5313
+ # only. It is the cluster control plane version's end of support time, or
5314
+ # end of extended support time when the cluster is on extended support
5315
+ # channel.
5316
+ class ExclusionUntilEndOfSupport
5317
+ include ::Google::Protobuf::MessageExts
5318
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5319
+ end
5320
+
5321
+ # Defines the maintenance policy for the node pool.
5322
+ # @!attribute [rw] exclusion_until_end_of_support
5323
+ # @return [::Google::Cloud::Container::V1::NodePool::ExclusionUntilEndOfSupport]
5324
+ # Optional. The exclusion until end of support for the node pool.
5325
+ class NodePoolMaintenancePolicy
5326
+ include ::Google::Protobuf::MessageExts
5327
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5328
+ end
5329
+
4976
5330
  # The current status of the node pool instance.
4977
5331
  module Status
4978
5332
  # Not set.
@@ -5069,24 +5423,57 @@ module Google
5069
5423
  # of the API unaware of some fields won't accidentally remove other fields).
5070
5424
  # Make a `get()` request to the cluster to get the current
5071
5425
  # resource version and include it with requests to set the policy.
5426
+ # @!attribute [rw] disruption_budget
5427
+ # @return [::Google::Cloud::Container::V1::DisruptionBudget]
5428
+ # Optional. The upgrade disruption budget for the cluster control plane.
5072
5429
  class MaintenancePolicy
5073
5430
  include ::Google::Protobuf::MessageExts
5074
5431
  extend ::Google::Protobuf::MessageExts::ClassMethods
5075
5432
  end
5076
5433
 
5434
+ # DisruptionBudget defines the upgrade disruption budget for the cluster
5435
+ # control plane.
5436
+ # @!attribute [rw] minor_version_disruption_interval
5437
+ # @return [::Google::Protobuf::Duration]
5438
+ # Optional. The minimum duration between two minor version upgrades of the
5439
+ # control plane.
5440
+ # @!attribute [rw] patch_version_disruption_interval
5441
+ # @return [::Google::Protobuf::Duration]
5442
+ # Optional. The minimum duration between two patch version upgrades of the
5443
+ # control plane.
5444
+ # @!attribute [r] last_minor_version_disruption_time
5445
+ # @return [::Google::Protobuf::Timestamp]
5446
+ # Output only. The last time a minor version upgrade was performed on the
5447
+ # control plane.
5448
+ # @!attribute [r] last_disruption_time
5449
+ # @return [::Google::Protobuf::Timestamp]
5450
+ # Output only. The last time a disruption was performed on the control plane.
5451
+ class DisruptionBudget
5452
+ include ::Google::Protobuf::MessageExts
5453
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5454
+ end
5455
+
5077
5456
  # MaintenanceWindow defines the maintenance window to be used for the cluster.
5078
5457
  # @!attribute [rw] daily_maintenance_window
5079
5458
  # @return [::Google::Cloud::Container::V1::DailyMaintenanceWindow]
5080
5459
  # DailyMaintenanceWindow specifies a daily maintenance operation window.
5081
5460
  #
5082
- # 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.
5461
+ # 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.
5083
5462
  # @!attribute [rw] recurring_window
5084
5463
  # @return [::Google::Cloud::Container::V1::RecurringTimeWindow]
5085
5464
  # RecurringWindow specifies some number of recurring time periods for
5086
5465
  # maintenance to occur. The time windows may be overlapping. If no
5087
5466
  # maintenance windows are set, maintenance can occur at any time.
5088
5467
  #
5089
- # 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.
5468
+ # 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.
5469
+ # @!attribute [rw] recurring_maintenance_window
5470
+ # @return [::Google::Cloud::Container::V1::RecurringMaintenanceWindow]
5471
+ # RecurringMaintenanceWindow specifies some number of recurring time
5472
+ # periods for maintenance to occur. The time windows may be overlapping.
5473
+ # If no maintenance windows are set, maintenance can occur at any time.
5474
+ # Alternative to RecurringWindow, with renamed fields.
5475
+ #
5476
+ # 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.
5090
5477
  # @!attribute [rw] maintenance_exclusions
5091
5478
  # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Container::V1::TimeWindow}]
5092
5479
  # Exceptions to maintenance window. Non-emergency maintenance should not
@@ -5206,6 +5593,41 @@ module Google
5206
5593
  extend ::Google::Protobuf::MessageExts::ClassMethods
5207
5594
  end
5208
5595
 
5596
+ # Represents an arbitrary window of time that recurs.
5597
+ # Will replace RecurringTimeWindow.
5598
+ # @!attribute [rw] delay_until
5599
+ # @return [::Google::Type::Date]
5600
+ # Optional. Specifies the date before which will not be scheduled.
5601
+ # Depending on the recurrence, this may be the date the first window appears.
5602
+ # Days are measured in the UTC timezone. This setting must be used when
5603
+ # INTERVAL>1 or FREQ=WEEKLY/MONTHLY and no BYDAY specified.
5604
+ # @!attribute [rw] window_start_time
5605
+ # @return [::Google::Type::TimeOfDay]
5606
+ # Required. Start time of the window on days that it is scheduled,
5607
+ # assuming UTC timezone.
5608
+ # @!attribute [rw] window_duration
5609
+ # @return [::Google::Protobuf::Duration]
5610
+ # Required. Duration of the window.
5611
+ # @!attribute [rw] recurrence
5612
+ # @return [::String]
5613
+ # Required. An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3)
5614
+ # for how this window recurs.
5615
+ #
5616
+ # For example, to have something repeat every weekday, you'd use:
5617
+ # `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`
5618
+ #
5619
+ # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
5620
+ # `FREQ=DAILY`
5621
+ #
5622
+ # For the first weekend of every month:
5623
+ # `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
5624
+ #
5625
+ # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
5626
+ class RecurringMaintenanceWindow
5627
+ include ::Google::Protobuf::MessageExts
5628
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5629
+ end
5630
+
5209
5631
  # Time window specified for daily maintenance operations.
5210
5632
  # @!attribute [rw] start_time
5211
5633
  # @return [::String]
@@ -5412,6 +5834,9 @@ module Google
5412
5834
 
5413
5835
  # Avoid extra IP consumption.
5414
5836
  NO_PERFORMANCE = 1
5837
+
5838
+ # Use default configuration.
5839
+ NONE = 2
5415
5840
  end
5416
5841
  end
5417
5842
 
@@ -5523,7 +5948,7 @@ module Google
5523
5948
  # Can this node pool be deleted automatically.
5524
5949
  # @!attribute [rw] location_policy
5525
5950
  # @return [::Google::Cloud::Container::V1::NodePoolAutoscaling::LocationPolicy]
5526
- # Location policy used when scaling up a nodepool.
5951
+ # Location policy used when scaling up a node pool.
5527
5952
  # @!attribute [rw] total_min_node_count
5528
5953
  # @return [::Integer]
5529
5954
  # Minimum number of nodes in the node pool. Must be greater than or equal
@@ -5541,7 +5966,7 @@ module Google
5541
5966
  extend ::Google::Protobuf::MessageExts::ClassMethods
5542
5967
 
5543
5968
  # Location policy specifies how zones are picked when scaling up the
5544
- # nodepool.
5969
+ # node pool.
5545
5970
  module LocationPolicy
5546
5971
  # Not set.
5547
5972
  LOCATION_POLICY_UNSPECIFIED = 0
@@ -5978,6 +6403,9 @@ module Google
5978
6403
  # and this field at the same time.
5979
6404
  # To update the default setting, use
5980
6405
  # {::Google::Cloud::Container::V1::ClusterUpdate#desired_default_enable_private_nodes ClusterUpdate.desired_default_enable_private_nodes}
6406
+ # @!attribute [rw] dataplane_v2_config
6407
+ # @return [::Google::Cloud::Container::V1::DataplaneV2Config]
6408
+ # Optional. DataplaneV2Config specifies the DPv2 configuration.
5981
6409
  # @!attribute [rw] disable_l4_lb_firewall_reconciliation
5982
6410
  # @return [::Boolean]
5983
6411
  # Disable L4 load balancer VPC firewalls to enable firewall policies.
@@ -6413,6 +6841,11 @@ module Google
6413
6841
  # Secrets in etcd are stored in plain text (at etcd level) - this is
6414
6842
  # unrelated to Compute Engine level full disk encryption.
6415
6843
  DECRYPTED = 2
6844
+
6845
+ # Encryption of all objects in the storage is enabled. There is no
6846
+ # guarantee that all objects in the storage are encrypted, but eventually
6847
+ # they will be.
6848
+ ALL_OBJECTS_ENCRYPTION_ENABLED = 3
6416
6849
  end
6417
6850
 
6418
6851
  # Current State of etcd encryption.
@@ -6440,6 +6873,17 @@ module Google
6440
6873
 
6441
6874
  # De-crypting Secrets to plain text in etcd encountered an error.
6442
6875
  CURRENT_STATE_DECRYPTION_ERROR = 6
6876
+
6877
+ # Encryption of all objects in the storage is enabled.
6878
+ # It does not guarantee that all objects in the storage are encrypted,
6879
+ # but eventually they will be.
6880
+ CURRENT_STATE_ALL_OBJECTS_ENCRYPTION_ENABLED = 8
6881
+
6882
+ # Enablement of the encryption of all objects in storage is pending.
6883
+ CURRENT_STATE_ALL_OBJECTS_ENCRYPTION_PENDING = 9
6884
+
6885
+ # Enabling encryption of all objects in storage encountered an error.
6886
+ CURRENT_STATE_ALL_OBJECTS_ENCRYPTION_ERROR = 10
6443
6887
  end
6444
6888
  end
6445
6889
 
@@ -6818,6 +7262,9 @@ module Google
6818
7262
  # STATE_UNSPECIFIED indicates the state is unspecified.
6819
7263
  STATE_UNSPECIFIED = 0
6820
7264
 
7265
+ # SCHEDULED indicates the upgrade was scheduled.
7266
+ SCHEDULED = 1
7267
+
6821
7268
  # STARTED indicates the upgrade has started.
6822
7269
  STARTED = 3
6823
7270
 
@@ -6983,11 +7430,35 @@ module Google
6983
7430
  # @return [::Google::Cloud::Container::V1::PrivilegedAdmissionConfig]
6984
7431
  # PrivilegedAdmissionConfig is the configuration related to privileged
6985
7432
  # admission control.
7433
+ # @!attribute [rw] cluster_policy_config
7434
+ # @return [::Google::Cloud::Container::V1::ClusterPolicyConfig]
7435
+ # ClusterPolicyConfig denotes cluster level policies that are enforced for
7436
+ # the cluster.
6986
7437
  class Autopilot
6987
7438
  include ::Google::Protobuf::MessageExts
6988
7439
  extend ::Google::Protobuf::MessageExts::ClassMethods
6989
7440
  end
6990
7441
 
7442
+ # ClusterPolicyConfig stores the configuration for cluster wide policies.
7443
+ # @!attribute [rw] no_system_mutation
7444
+ # @return [::Boolean]
7445
+ # Denotes that preventing creation and mutation of resources in GKE
7446
+ # managed namespaces and cluster-scoped GKE managed resources .
7447
+ # @!attribute [rw] no_system_impersonation
7448
+ # @return [::Boolean]
7449
+ # Denotes preventing impersonation and CSRs for GKE System users.
7450
+ # @!attribute [rw] no_unsafe_webhooks
7451
+ # @return [::Boolean]
7452
+ # Denotes preventing unsafe webhooks.
7453
+ # @!attribute [rw] no_standard_node_pools
7454
+ # @return [::Boolean]
7455
+ # Denotes preventing standard node pools and requiring only autopilot node
7456
+ # pools.
7457
+ class ClusterPolicyConfig
7458
+ include ::Google::Protobuf::MessageExts
7459
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7460
+ end
7461
+
6991
7462
  # PrivilegedAdmissionConfig stores the list of authorized allowlist
6992
7463
  # paths for the cluster.
6993
7464
  # @!attribute [rw] allowlist_paths
@@ -7135,7 +7606,7 @@ module Google
7135
7606
  extend ::Google::Protobuf::MessageExts::ClassMethods
7136
7607
  end
7137
7608
 
7138
- # NodePoolLoggingConfig specifies logging configuration for nodepools.
7609
+ # NodePoolLoggingConfig specifies logging configuration for node pools.
7139
7610
  # @!attribute [rw] variant_config
7140
7611
  # @return [::Google::Cloud::Container::V1::LoggingVariantConfig]
7141
7612
  # Logging variant configuration.
@@ -7223,6 +7694,27 @@ module Google
7223
7694
  end
7224
7695
  end
7225
7696
 
7697
+ # DataplaneV2Config is the configuration for DPv2.
7698
+ # @!attribute [rw] scalability_mode
7699
+ # @return [::Google::Cloud::Container::V1::DataplaneV2Config::ScalabilityMode]
7700
+ # Optional. Scalability mode for the cluster.
7701
+ class DataplaneV2Config
7702
+ include ::Google::Protobuf::MessageExts
7703
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7704
+
7705
+ # Options on how to scale the cluster.
7706
+ module ScalabilityMode
7707
+ # Default value.
7708
+ SCALABILITY_MODE_UNSPECIFIED = 0
7709
+
7710
+ # Disables the scale optimized mode for DPv2.
7711
+ DISABLED = 3
7712
+
7713
+ # Enables the scale optimized mode for DPv2.
7714
+ SCALE_OPTIMIZED = 4
7715
+ end
7716
+ end
7717
+
7226
7718
  # ManagedPrometheusConfig defines the configuration for
7227
7719
  # Google Cloud Managed Service for Prometheus.
7228
7720
  # @!attribute [rw] enabled
@@ -7532,7 +8024,7 @@ module Google
7532
8024
  end
7533
8025
  end
7534
8026
 
7535
- # BootDisk specifies the boot disk configuration for nodepools.
8027
+ # BootDisk specifies the boot disk configuration for node pools.
7536
8028
  # @!attribute [rw] disk_type
7537
8029
  # @return [::String]
7538
8030
  # Disk type of the boot disk.
@@ -7725,10 +8217,10 @@ module Google
7725
8217
  end
7726
8218
 
7727
8219
  # FetchNodePoolUpgradeInfoRequest fetches the upgrade information of a
7728
- # nodepool.
8220
+ # node pool.
7729
8221
  # @!attribute [rw] name
7730
8222
  # @return [::String]
7731
- # Required. The name (project, location, cluster, nodepool) of the nodepool
8223
+ # Required. The name (project, location, cluster, node pool) of the node pool
7732
8224
  # to get. Specified in the format
7733
8225
  # `projects/*/locations/*/clusters/*/nodePools/*` or
7734
8226
  # `projects/*/zones/*/clusters/*/nodePools/*`.
@@ -7740,7 +8232,7 @@ module Google
7740
8232
  extend ::Google::Protobuf::MessageExts::ClassMethods
7741
8233
  end
7742
8234
 
7743
- # NodePoolUpgradeInfo contains the upgrade information of a nodepool.
8235
+ # NodePoolUpgradeInfo contains the upgrade information of a node pool.
7744
8236
  # @!attribute [rw] minor_target_version
7745
8237
  # @return [::String]
7746
8238
  # minor_target_version indicates the target version for minor upgrade.
@@ -7758,10 +8250,10 @@ module Google
7758
8250
  # The list of past auto upgrades.
7759
8251
  # @!attribute [rw] end_of_standard_support_timestamp
7760
8252
  # @return [::String]
7761
- # The nodepool's current minor version's end of standard support timestamp.
8253
+ # The node pool's current minor version's end of standard support timestamp.
7762
8254
  # @!attribute [rw] end_of_extended_support_timestamp
7763
8255
  # @return [::String]
7764
- # The nodepool's current minor version's end of extended support timestamp.
8256
+ # The node pool's current minor version's end of extended support timestamp.
7765
8257
  class NodePoolUpgradeInfo
7766
8258
  include ::Google::Protobuf::MessageExts
7767
8259
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -7805,6 +8297,15 @@ module Google
7805
8297
  end
7806
8298
  end
7807
8299
 
8300
+ # Configuration for scheduled upgrades on the cluster.
8301
+ # @!attribute [rw] enabled
8302
+ # @return [::Boolean]
8303
+ # Optional. Whether or not scheduled upgrades are enabled.
8304
+ class ScheduleUpgradeConfig
8305
+ include ::Google::Protobuf::MessageExts
8306
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8307
+ end
8308
+
7808
8309
  # GkeAutoUpgradeConfig is the configuration for GKE auto upgrades.
7809
8310
  # @!attribute [rw] patch_mode
7810
8311
  # @return [::Google::Cloud::Container::V1::GkeAutoUpgradeConfig::PatchMode]
@@ -7858,6 +8359,31 @@ module Google
7858
8359
  end
7859
8360
  end
7860
8361
 
8362
+ # Configuration for sync Secret Manager secrets as k8s secrets.
8363
+ # @!attribute [rw] enabled
8364
+ # @return [::Boolean]
8365
+ # Enable/Disable Secret Sync Config.
8366
+ # @!attribute [rw] rotation_config
8367
+ # @return [::Google::Cloud::Container::V1::SecretSyncConfig::SyncRotationConfig]
8368
+ # Rotation config for secret manager.
8369
+ class SecretSyncConfig
8370
+ include ::Google::Protobuf::MessageExts
8371
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8372
+
8373
+ # SyncRotationConfig is config for secret manager auto rotation.
8374
+ # @!attribute [rw] enabled
8375
+ # @return [::Boolean]
8376
+ # Whether the rotation is enabled.
8377
+ # @!attribute [rw] rotation_interval
8378
+ # @return [::Google::Protobuf::Duration]
8379
+ # The interval between two consecutive rotations. Default rotation interval
8380
+ # is 2 minutes.
8381
+ class SyncRotationConfig
8382
+ include ::Google::Protobuf::MessageExts
8383
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8384
+ end
8385
+ end
8386
+
7861
8387
  # ManagedOpenTelemetryConfig is the configuration for the GKE Managed
7862
8388
  # OpenTelemetry pipeline.
7863
8389
  # @!attribute [rw] scope
@@ -7881,6 +8407,25 @@ module Google
7881
8407
  end
7882
8408
  end
7883
8409
 
8410
+ # ManagedMachineLearningDiagnosticsConfig is the configuration for the GKE
8411
+ # Managed Machine Learning Diagnostics pipeline.
8412
+ # @!attribute [rw] enabled
8413
+ # @return [::Boolean]
8414
+ # Enable/Disable Managed Machine Learning Diagnostics.
8415
+ class ManagedMachineLearningDiagnosticsConfig
8416
+ include ::Google::Protobuf::MessageExts
8417
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8418
+ end
8419
+
8420
+ # PodSnapshotConfig is the configuration for GKE Pod Snapshots feature.
8421
+ # @!attribute [rw] enabled
8422
+ # @return [::Boolean]
8423
+ # Whether or not the Pod Snapshots feature is enabled.
8424
+ class PodSnapshotConfig
8425
+ include ::Google::Protobuf::MessageExts
8426
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8427
+ end
8428
+
7884
8429
  # PrivateIPv6GoogleAccess controls whether and how the pods can communicate
7885
8430
  # with Google Services through gRPC over IPv6.
7886
8431
  module PrivateIPv6GoogleAccess
@@ -7940,8 +8485,8 @@ module Google
7940
8485
  SURGE = 3
7941
8486
 
7942
8487
  # SHORT_LIVED is the dedicated upgrade strategy for
7943
- # QueuedProvisioning and flex start nodepools scaled up only by enqueueing to
7944
- # the Dynamic Workload Scheduler (DWS).
8488
+ # QueuedProvisioning and flex start node pools scaled up only by enqueueing
8489
+ # to the Dynamic Workload Scheduler (DWS).
7945
8490
  SHORT_LIVED = 5
7946
8491
  end
7947
8492