google-cloud-container-v1beta1 0.46.0 → 0.48.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.
@@ -33,6 +33,7 @@ module Google
33
33
  # net.core.busy_read
34
34
  # net.core.netdev_max_backlog
35
35
  # net.core.rmem_max
36
+ # net.core.rmem_default
36
37
  # net.core.wmem_default
37
38
  # net.core.wmem_max
38
39
  # net.core.optmem_max
@@ -40,12 +41,56 @@ module Google
40
41
  # net.ipv4.tcp_rmem
41
42
  # net.ipv4.tcp_wmem
42
43
  # net.ipv4.tcp_tw_reuse
44
+ # net.ipv4.tcp_max_orphans
45
+ # net.netfilter.nf_conntrack_max
46
+ # net.netfilter.nf_conntrack_buckets
47
+ # net.netfilter.nf_conntrack_tcp_timeout_close_wait
48
+ # net.netfilter.nf_conntrack_tcp_timeout_time_wait
49
+ # net.netfilter.nf_conntrack_tcp_timeout_established
50
+ # net.netfilter.nf_conntrack_acct
51
+ # kernel.shmmni
52
+ # kernel.shmmax
53
+ # kernel.shmall
54
+ # fs.aio-max-nr
55
+ # fs.file-max
56
+ # fs.inotify.max_user_instances
57
+ # fs.inotify.max_user_watches
58
+ # fs.nr_open
59
+ # vm.dirty_background_ratio
60
+ # vm.dirty_expire_centisecs
61
+ # vm.dirty_ratio
62
+ # vm.dirty_writeback_centisecs
63
+ # vm.max_map_count
64
+ # vm.overcommit_memory
65
+ # vm.overcommit_ratio
66
+ # vm.vfs_cache_pressure
67
+ # vm.swappiness
68
+ # vm.watermark_scale_factor
69
+ # vm.min_free_kbytes
43
70
  # @!attribute [rw] cgroup_mode
44
71
  # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig::CgroupMode]
45
72
  # cgroup_mode specifies the cgroup mode to be used on the node.
46
73
  # @!attribute [rw] hugepages
47
74
  # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig::HugepagesConfig]
48
75
  # Optional. Amounts for 2M and 1G hugepages
76
+ # @!attribute [rw] transparent_hugepage_enabled
77
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig::TransparentHugepageEnabled]
78
+ # Optional. Transparent hugepage support for anonymous memory can be entirely
79
+ # disabled (mostly for debugging purposes) or only enabled inside
80
+ # MADV_HUGEPAGE regions (to avoid the risk of consuming more memory
81
+ # resources) or enabled system wide.
82
+ #
83
+ # See https://docs.kernel.org/admin-guide/mm/transhuge.html
84
+ # for more details.
85
+ # @!attribute [rw] transparent_hugepage_defrag
86
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig::TransparentHugepageDefrag]
87
+ # Optional. Defines the transparent hugepage defrag configuration on the
88
+ # node. VM hugepage allocation can be managed by either limiting
89
+ # defragmentation for delayed allocation or skipping it entirely for
90
+ # immediate allocation only.
91
+ #
92
+ # See https://docs.kernel.org/admin-guide/mm/transhuge.html
93
+ # for more details.
49
94
  class LinuxNodeConfig
50
95
  include ::Google::Protobuf::MessageExts
51
96
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -85,14 +130,63 @@ module Google
85
130
  # the node image.
86
131
  CGROUP_MODE_V2 = 2
87
132
  end
133
+
134
+ # Possible values for transparent hugepage enabled support.
135
+ module TransparentHugepageEnabled
136
+ # Default value. GKE will not modify the kernel configuration.
137
+ TRANSPARENT_HUGEPAGE_ENABLED_UNSPECIFIED = 0
138
+
139
+ # Transparent hugepage support for anonymous memory is enabled system wide.
140
+ TRANSPARENT_HUGEPAGE_ENABLED_ALWAYS = 1
141
+
142
+ # Transparent hugepage support for anonymous memory is enabled inside
143
+ # MADV_HUGEPAGE regions. This is the default kernel configuration.
144
+ TRANSPARENT_HUGEPAGE_ENABLED_MADVISE = 2
145
+
146
+ # Transparent hugepage support for anonymous memory is disabled.
147
+ TRANSPARENT_HUGEPAGE_ENABLED_NEVER = 3
148
+ end
149
+
150
+ # Possible values for transparent hugepage defrag support.
151
+ module TransparentHugepageDefrag
152
+ # Default value. GKE will not modify the kernel configuration.
153
+ TRANSPARENT_HUGEPAGE_DEFRAG_UNSPECIFIED = 0
154
+
155
+ # It means that an application requesting THP will stall on allocation
156
+ # failure and directly reclaim pages and compact memory in an effort to
157
+ # allocate a THP immediately.
158
+ TRANSPARENT_HUGEPAGE_DEFRAG_ALWAYS = 1
159
+
160
+ # It means that an application will wake kswapd in the background to
161
+ # reclaim pages and wake kcompactd to compact memory so that THP is
162
+ # available in the near future. It’s the responsibility of khugepaged to
163
+ # then install the THP pages later.
164
+ TRANSPARENT_HUGEPAGE_DEFRAG_DEFER = 2
165
+
166
+ # It means that an application will enter direct reclaim and compaction
167
+ # like always, but only for regions that have used madvise(MADV_HUGEPAGE);
168
+ # all other regions will wake kswapd in the background to reclaim pages and
169
+ # wake kcompactd to compact memory so that THP is available in the near
170
+ # future.
171
+ TRANSPARENT_HUGEPAGE_DEFRAG_DEFER_WITH_MADVISE = 3
172
+
173
+ # It means that an application will enter direct reclaim like always but
174
+ # only for regions that are have used madvise(MADV_HUGEPAGE). This is the
175
+ # default kernel configuration.
176
+ TRANSPARENT_HUGEPAGE_DEFRAG_MADVISE = 4
177
+
178
+ # It means that an application will never enter direct reclaim or
179
+ # compaction.
180
+ TRANSPARENT_HUGEPAGE_DEFRAG_NEVER = 5
181
+ end
88
182
  end
89
183
 
90
184
  # Parameters that can be configured on Windows nodes.
91
185
  # Windows Node Config that define the parameters that will be used to
92
- # configure the Windows node pool settings
186
+ # configure the Windows node pool settings.
93
187
  # @!attribute [rw] os_version
94
188
  # @return [::Google::Cloud::Container::V1beta1::WindowsNodeConfig::OSVersion]
95
- # OSVersion specifies the Windows node config to be used on the node
189
+ # OSVersion specifies the Windows node config to be used on the node.
96
190
  class WindowsNodeConfig
97
191
  include ::Google::Protobuf::MessageExts
98
192
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -102,10 +196,10 @@ module Google
102
196
  # When OSVersion is not specified
103
197
  OS_VERSION_UNSPECIFIED = 0
104
198
 
105
- # LTSC2019 specifies to use LTSC2019 as the Windows Servercore Base Image
199
+ # LTSC2019 specifies to use LTSC2019 as the Windows Servercore Base Image.
106
200
  OS_VERSION_LTSC2019 = 1
107
201
 
108
- # LTSC2022 specifies to use LTSC2022 as the Windows Servercore Base Image
202
+ # LTSC2022 specifies to use LTSC2022 as the Windows Servercore Base Image.
109
203
  OS_VERSION_LTSC2022 = 2
110
204
  end
111
205
  end
@@ -122,6 +216,16 @@ module Google
122
216
  # * "static": allows pods with certain resource characteristics to be granted
123
217
  # increased CPU affinity and exclusivity on the node.
124
218
  # The default value is 'none' if unspecified.
219
+ # @!attribute [rw] topology_manager
220
+ # @return [::Google::Cloud::Container::V1beta1::TopologyManager]
221
+ # Optional. Controls Topology Manager configuration on the node.
222
+ # For more information, see:
223
+ # https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/
224
+ # @!attribute [rw] memory_manager
225
+ # @return [::Google::Cloud::Container::V1beta1::MemoryManager]
226
+ # Optional. Controls NUMA-aware Memory Manager configuration on the
227
+ # node. For more information, see:
228
+ # https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/
125
229
  # @!attribute [rw] cpu_cfs_quota
126
230
  # @return [::Google::Protobuf::BoolValue]
127
231
  # Enable CPU CFS quota enforcement for containers that specify CPU limits.
@@ -153,11 +257,321 @@ module Google
153
257
  # @!attribute [rw] insecure_kubelet_readonly_port_enabled
154
258
  # @return [::Boolean]
155
259
  # Enable or disable Kubelet read only port.
260
+ # @!attribute [rw] image_gc_low_threshold_percent
261
+ # @return [::Integer]
262
+ # Optional. Defines the percent of disk usage before which image garbage
263
+ # collection is never run. Lowest disk usage to garbage collect to. The
264
+ # percent is calculated as this field value out of 100.
265
+ #
266
+ # The value must be between 10 and 85, inclusive and smaller than
267
+ # image_gc_high_threshold_percent.
268
+ #
269
+ # The default value is 80 if unspecified.
270
+ # @!attribute [rw] image_gc_high_threshold_percent
271
+ # @return [::Integer]
272
+ # Optional. Defines the percent of disk usage after which image garbage
273
+ # collection is always run. The percent is calculated as this field value out
274
+ # of 100.
275
+ #
276
+ # The value must be between 10 and 85, inclusive and greater than
277
+ # image_gc_low_threshold_percent.
278
+ #
279
+ # The default value is 85 if unspecified.
280
+ # @!attribute [rw] image_minimum_gc_age
281
+ # @return [::String]
282
+ # Optional. Defines the minimum age for an unused image before it is garbage
283
+ # collected.
284
+ #
285
+ # The string must be a sequence of decimal numbers, each with optional
286
+ # fraction and a unit suffix, such as "300s", "1.5h", and "2h45m". Valid time
287
+ # units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
288
+ #
289
+ # The value must be a positive duration less than or equal to 2 minutes.
290
+ #
291
+ # The default value is "2m0s" if unspecified.
292
+ # @!attribute [rw] image_maximum_gc_age
293
+ # @return [::String]
294
+ # Optional. Defines the maximum age an image can be unused before it is
295
+ # garbage collected. The string must be a sequence of decimal numbers, each
296
+ # with optional fraction and a unit suffix, such as "300s", "1.5h", and
297
+ # "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
298
+ #
299
+ # The value must be a positive duration greater than image_minimum_gc_age
300
+ # or "0s".
301
+ #
302
+ # The default value is "0s" if unspecified, which disables this field,
303
+ # meaning images won't be garbage collected based on being unused for too
304
+ # long.
305
+ # @!attribute [rw] container_log_max_size
306
+ # @return [::String]
307
+ # Optional. Defines the maximum size of the container log file before it is
308
+ # rotated. See
309
+ # https://kubernetes.io/docs/concepts/cluster-administration/logging/#log-rotation
310
+ #
311
+ # Valid format is positive number + unit, e.g. 100Ki, 10Mi. Valid units are
312
+ # Ki, Mi, Gi.
313
+ # The value must be between 10Mi and 500Mi, inclusive.
314
+ #
315
+ # Note that the total container log size (container_log_max_size *
316
+ # container_log_max_files) cannot exceed 1% of the total
317
+ # storage of the node, to avoid disk pressure caused by log files.
318
+ #
319
+ # The default value is 10Mi if unspecified.
320
+ # @!attribute [rw] container_log_max_files
321
+ # @return [::Integer]
322
+ # Optional. Defines the maximum number of container log files that can be
323
+ # present for a container. See
324
+ # https://kubernetes.io/docs/concepts/cluster-administration/logging/#log-rotation
325
+ #
326
+ # The value must be an integer between 2 and 10, inclusive.
327
+ # The default value is 5 if unspecified.
328
+ # @!attribute [rw] allowed_unsafe_sysctls
329
+ # @return [::Array<::String>]
330
+ # Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl
331
+ # patterns (ending in `*`).
332
+ #
333
+ # The unsafe namespaced sysctl groups are `kernel.shm*`, `kernel.msg*`,
334
+ # `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this allowlist empty
335
+ # means they cannot be set on Pods.
336
+ #
337
+ # To allow certain sysctls or sysctl patterns to be set on Pods, list them
338
+ # separated by commas.
339
+ # For example: `kernel.msg*,net.ipv4.route.min_pmtu`.
340
+ #
341
+ # See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/
342
+ # for more details.
343
+ # @!attribute [rw] eviction_soft
344
+ # @return [::Google::Cloud::Container::V1beta1::EvictionSignals]
345
+ # Optional. eviction_soft is a map of signal names to quantities that defines
346
+ # soft eviction thresholds. Each signal is compared to its corresponding
347
+ # threshold to determine if a pod eviction should occur.
348
+ # @!attribute [rw] eviction_soft_grace_period
349
+ # @return [::Google::Cloud::Container::V1beta1::EvictionGracePeriod]
350
+ # Optional. eviction_soft_grace_period is a map of signal names to quantities
351
+ # that defines grace periods for each soft eviction signal. The grace period
352
+ # is the amount of time that a pod must be under pressure before an eviction
353
+ # occurs.
354
+ # @!attribute [rw] eviction_minimum_reclaim
355
+ # @return [::Google::Cloud::Container::V1beta1::EvictionMinimumReclaim]
356
+ # Optional. eviction_minimum_reclaim is a map of signal names to quantities
357
+ # that defines minimum reclaims, which describe the minimum amount of a given
358
+ # resource the kubelet will reclaim when performing a pod eviction while that
359
+ # resource is under pressure.
360
+ # @!attribute [rw] eviction_max_pod_grace_period_seconds
361
+ # @return [::Integer]
362
+ # Optional. eviction_max_pod_grace_period_seconds is the maximum allowed
363
+ # grace period (in seconds) to use when terminating pods in response to a
364
+ # soft eviction threshold being met. This value effectively caps the Pod's
365
+ # terminationGracePeriodSeconds value during soft evictions. Default: 0.
366
+ # Range: [0, 300].
367
+ # @!attribute [rw] max_parallel_image_pulls
368
+ # @return [::Integer]
369
+ # Optional. Defines the maximum number of image pulls in parallel.
370
+ # The range is 2 to 5, inclusive.
371
+ # The default value is 2 or 3 depending on the disk type.
372
+ #
373
+ # See
374
+ # https://kubernetes.io/docs/concepts/containers/images/#maximum-parallel-image-pulls
375
+ # for more details.
376
+ # @!attribute [rw] single_process_oom_kill
377
+ # @return [::Boolean]
378
+ # Optional. Defines whether to enable single process OOM killer.
379
+ # If true, will prevent the memory.oom.group flag from being set for
380
+ # container cgroups in cgroups v2. This causes processes in the container to
381
+ # be OOM killed individually instead of as a group.
156
382
  class NodeKubeletConfig
157
383
  include ::Google::Protobuf::MessageExts
158
384
  extend ::Google::Protobuf::MessageExts::ClassMethods
159
385
  end
160
386
 
387
+ # TopologyManager defines the configuration options for Topology Manager
388
+ # feature. See
389
+ # https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/
390
+ # @!attribute [rw] policy
391
+ # @return [::String]
392
+ # Configures the strategy for resource alignment.
393
+ # Allowed values are:
394
+ #
395
+ # * none: the default policy, and does not perform any topology alignment.
396
+ # * restricted: the topology manager stores the preferred NUMA node affinity
397
+ # for the container, and will reject the pod if the affinity if not
398
+ # preferred.
399
+ # * best-effort: the topology manager stores the preferred NUMA node affinity
400
+ # for the container. If the affinity is not preferred, the topology manager
401
+ # will admit the pod to the node anyway.
402
+ # * single-numa-node: the topology manager determines if the single NUMA node
403
+ # affinity is possible. If it is, Topology Manager will store this and the
404
+ # Hint Providers can then use this information when making the resource
405
+ # allocation decision. If, however, this is not possible then the
406
+ # Topology Manager will reject the pod from the node. This will result in a
407
+ # pod in a Terminated state with a pod admission failure.
408
+ #
409
+ # The default policy value is 'none' if unspecified.
410
+ # Details about each strategy can be found
411
+ # [here](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/#topology-manager-policies).
412
+ # @!attribute [rw] scope
413
+ # @return [::String]
414
+ # The Topology Manager aligns resources in following scopes:
415
+ #
416
+ # * container
417
+ # * pod
418
+ #
419
+ # The default scope is 'container' if unspecified.
420
+ # See
421
+ # https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/#topology-manager-scopes
422
+ class TopologyManager
423
+ include ::Google::Protobuf::MessageExts
424
+ extend ::Google::Protobuf::MessageExts::ClassMethods
425
+ end
426
+
427
+ # The option enables the Kubernetes NUMA-aware Memory Manager feature.
428
+ # Detailed description about the feature can be found
429
+ # [here](https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/).
430
+ # @!attribute [rw] policy
431
+ # @return [::String]
432
+ # Controls the memory management policy on the Node.
433
+ # See
434
+ # https://kubernetes.io/docs/tasks/administer-cluster/memory-manager/#policies
435
+ #
436
+ # The following values are allowed.
437
+ # * "none"
438
+ # * "static"
439
+ # The default value is 'none' if unspecified.
440
+ class MemoryManager
441
+ include ::Google::Protobuf::MessageExts
442
+ extend ::Google::Protobuf::MessageExts::ClassMethods
443
+ end
444
+
445
+ # Eviction signals are the current state of a particular resource at a specific
446
+ # point in time. The kubelet uses eviction signals to make eviction decisions
447
+ # by comparing the signals to eviction thresholds, which are the minimum amount
448
+ # of the resource that should be available on the node.
449
+ # @!attribute [rw] memory_available
450
+ # @return [::String]
451
+ # Optional. Memory available (i.e. capacity - workingSet), in bytes. Defines
452
+ # the amount of "memory.available" signal in kubelet. Default is unset, if
453
+ # not specified in the kubelet config. Format: positive number + unit, e.g.
454
+ # 100Ki, 10Mi, 5Gi. Valid units are Ki, Mi, Gi. Must be >= 100Mi and <= 50%
455
+ # of the node's memory. See
456
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
457
+ # @!attribute [rw] nodefs_available
458
+ # @return [::String]
459
+ # Optional. Amount of storage available on filesystem that kubelet uses for
460
+ # volumes, daemon logs, etc. Defines the amount of "nodefs.available" signal
461
+ # in kubelet. Default is unset, if not specified in the kubelet config.
462
+ # Sample format: "30%". Must be >= 10%. See
463
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
464
+ # @!attribute [rw] nodefs_inodes_free
465
+ # @return [::String]
466
+ # Optional. Amount of inodes available on filesystem that kubelet uses for
467
+ # volumes, daemon logs, etc. Defines the amount of "nodefs.inodesFree" signal
468
+ # in kubelet. Default is unset, if not specified in the kubelet config. Linux
469
+ # only. It takses percentage value for now. Sample format: "30%". Must be >=
470
+ # 5% and <= 50%. See
471
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
472
+ # @!attribute [rw] imagefs_available
473
+ # @return [::String]
474
+ # Optional. Amount of storage available on filesystem that container runtime
475
+ # uses for storing images layers. If the container filesystem and image
476
+ # filesystem are not separate, then imagefs can store both image layers and
477
+ # writeable layers. Defines the amount of "imagefs.available" signal in
478
+ # kubelet. Default is unset, if not specified in the kubelet config. Sample
479
+ # format: "30%". Must be >= 15%. See
480
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
481
+ # @!attribute [rw] imagefs_inodes_free
482
+ # @return [::String]
483
+ # Optional. Amount of inodes available on filesystem that container runtime
484
+ # uses for storing images layers. Defines the amount of "imagefs.inodesFree"
485
+ # signal in kubelet. Default is unset, if not specified in the kubelet
486
+ # config. Linux only. Sample format: "30%". Must be >= 5%. See
487
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
488
+ # @!attribute [rw] pid_available
489
+ # @return [::String]
490
+ # Optional. Amount of PID available for pod allocation. Defines the amount of
491
+ # "pid.available" signal in kubelet. Default is unset, if not specified in
492
+ # the kubelet config. Sample format: "30%". Must be >= 10%. See
493
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
494
+ class EvictionSignals
495
+ include ::Google::Protobuf::MessageExts
496
+ extend ::Google::Protobuf::MessageExts::ClassMethods
497
+ end
498
+
499
+ # Eviction grace periods are grace periods for each eviction signal.
500
+ # @!attribute [rw] memory_available
501
+ # @return [::String]
502
+ # Optional. Grace period for eviction due to memory available signal. Sample
503
+ # format: "10s". Must be >= 0. See
504
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
505
+ # @!attribute [rw] nodefs_available
506
+ # @return [::String]
507
+ # Optional. Grace period for eviction due to nodefs available signal. Sample
508
+ # format: "10s". Must be >= 0. See
509
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
510
+ # @!attribute [rw] nodefs_inodes_free
511
+ # @return [::String]
512
+ # Optional. Grace period for eviction due to nodefs inodes free signal.
513
+ # Sample format: "10s". Must be >= 0. See
514
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
515
+ # @!attribute [rw] imagefs_available
516
+ # @return [::String]
517
+ # Optional. Grace period for eviction due to imagefs available signal. Sample
518
+ # format: "10s". Must be >= 0. See
519
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
520
+ # @!attribute [rw] imagefs_inodes_free
521
+ # @return [::String]
522
+ # Optional. Grace period for eviction due to imagefs inodes free signal.
523
+ # Sample format: "10s". Must be >= 0. See
524
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
525
+ # @!attribute [rw] pid_available
526
+ # @return [::String]
527
+ # Optional. Grace period for eviction due to pid available signal. Sample
528
+ # format: "10s". Must be >= 0. See
529
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
530
+ class EvictionGracePeriod
531
+ include ::Google::Protobuf::MessageExts
532
+ extend ::Google::Protobuf::MessageExts::ClassMethods
533
+ end
534
+
535
+ # Eviction minimum reclaims are the resource amounts of minimum reclaims for
536
+ # each eviction signal.
537
+ # @!attribute [rw] memory_available
538
+ # @return [::String]
539
+ # Optional. Minimum reclaim for eviction due to memory available signal. Only
540
+ # take percentage value for now. Sample format: "10%". Must be <=10%. See
541
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
542
+ # @!attribute [rw] nodefs_available
543
+ # @return [::String]
544
+ # Optional. Minimum reclaim for eviction due to nodefs available signal. Only
545
+ # take percentage value for now. Sample format: "10%". Must be <=10%. See
546
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
547
+ # @!attribute [rw] nodefs_inodes_free
548
+ # @return [::String]
549
+ # Optional. Minimum reclaim for eviction due to nodefs inodes free signal.
550
+ # Only take percentage value for now. Sample format: "10%". Must be <=10%.
551
+ # See
552
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
553
+ # @!attribute [rw] imagefs_available
554
+ # @return [::String]
555
+ # Optional. Minimum reclaim for eviction due to imagefs available signal.
556
+ # Only take percentage value for now. Sample format: "10%". Must be <=10%.
557
+ # See
558
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
559
+ # @!attribute [rw] imagefs_inodes_free
560
+ # @return [::String]
561
+ # Optional. Minimum reclaim for eviction due to imagefs inodes free signal.
562
+ # Only take percentage value for now. Sample format: "10%". Must be <=10%.
563
+ # See
564
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
565
+ # @!attribute [rw] pid_available
566
+ # @return [::String]
567
+ # Optional. Minimum reclaim for eviction due to pid available signal. Only
568
+ # take percentage value for now. Sample format: "10%". Must be <=10%. See
569
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
570
+ class EvictionMinimumReclaim
571
+ include ::Google::Protobuf::MessageExts
572
+ extend ::Google::Protobuf::MessageExts::ClassMethods
573
+ end
574
+
161
575
  # Parameters that describe the nodes in a cluster.
162
576
  #
163
577
  # GKE Autopilot clusters do not
@@ -237,8 +651,8 @@ module Google
237
651
  # @return [::String]
238
652
  # The image type to use for this node. Note that for a given image type,
239
653
  # the latest version of it will be used. Please see
240
- # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
241
- # available image types.
654
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
655
+ # for available image types.
242
656
  # @!attribute [rw] labels
243
657
  # @return [::Google::Protobuf::Map{::String => ::String}]
244
658
  # The map of Kubernetes labels (key/value pairs) to be applied to each node.
@@ -266,13 +680,14 @@ module Google
266
680
  # @!attribute [rw] preemptible
267
681
  # @return [::Boolean]
268
682
  # Whether the nodes are created as preemptible VM instances. See:
269
- # https://cloud.google.com/compute/docs/instances/preemptible for more
270
- # information about preemptible VM instances.
683
+ # https://cloud.google.com/compute/docs/instances/preemptible
684
+ # for more information about preemptible VM instances.
271
685
  # @!attribute [rw] accelerators
272
686
  # @return [::Array<::Google::Cloud::Container::V1beta1::AcceleratorConfig>]
273
687
  # A list of hardware accelerators to be attached to each node.
274
- # See https://cloud.google.com/compute/docs/gpus for more information about
275
- # support for GPUs.
688
+ # See
689
+ # https://cloud.google.com/compute/docs/gpus
690
+ # for more information about support for GPUs.
276
691
  # @!attribute [rw] sandbox_config
277
692
  # @return [::Google::Cloud::Container::V1beta1::SandboxConfig]
278
693
  # Sandbox configuration for this node.
@@ -390,9 +805,32 @@ module Google
390
805
  # @!attribute [rw] secondary_boot_disks
391
806
  # @return [::Array<::Google::Cloud::Container::V1beta1::SecondaryBootDisk>]
392
807
  # List of secondary boot disks attached to the nodes.
808
+ # @!attribute [rw] storage_pools
809
+ # @return [::Array<::String>]
810
+ # List of Storage Pools where boot disks are provisioned.
393
811
  # @!attribute [rw] secondary_boot_disk_update_strategy
394
812
  # @return [::Google::Cloud::Container::V1beta1::SecondaryBootDiskUpdateStrategy]
395
813
  # Secondary boot disk update strategy.
814
+ # @!attribute [rw] max_run_duration
815
+ # @return [::Google::Protobuf::Duration]
816
+ # The maximum duration for the nodes to exist.
817
+ # If unspecified, the nodes can exist indefinitely.
818
+ # @!attribute [rw] local_ssd_encryption_mode
819
+ # @return [::Google::Cloud::Container::V1beta1::NodeConfig::LocalSsdEncryptionMode]
820
+ # Specifies which method should be used for encrypting the
821
+ # Local SSDs attached to the node.
822
+ # @!attribute [r] effective_cgroup_mode
823
+ # @return [::Google::Cloud::Container::V1beta1::NodeConfig::EffectiveCgroupMode]
824
+ # Output only. effective_cgroup_mode is the cgroup mode actually used by the
825
+ # node pool. It is determined by the cgroup mode specified in the
826
+ # LinuxNodeConfig or the default cgroup mode based on the cluster creation
827
+ # version.
828
+ # @!attribute [rw] flex_start
829
+ # @return [::Boolean]
830
+ # Flex Start flag for enabling Flex Start VM.
831
+ # @!attribute [rw] boot_disk
832
+ # @return [::Google::Cloud::Container::V1beta1::BootDisk]
833
+ # Boot disk configuration for the node pool.
396
834
  class NodeConfig
397
835
  include ::Google::Protobuf::MessageExts
398
836
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -423,6 +861,41 @@ module Google
423
861
  include ::Google::Protobuf::MessageExts
424
862
  extend ::Google::Protobuf::MessageExts::ClassMethods
425
863
  end
864
+
865
+ # LocalSsdEncryptionMode specifies the method used for encrypting the Local
866
+ # SSDs attached to the node.
867
+ module LocalSsdEncryptionMode
868
+ # The given node will be encrypted using keys managed by Google
869
+ # infrastructure and the keys will be deleted when the node is
870
+ # deleted.
871
+ LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED = 0
872
+
873
+ # The given node will be encrypted using keys managed by Google
874
+ # infrastructure and the keys will be deleted when the node is
875
+ # deleted.
876
+ STANDARD_ENCRYPTION = 1
877
+
878
+ # The given node will opt-in for using ephemeral key for
879
+ # encryption of Local SSDs.
880
+ # The Local SSDs will not be able to recover data in case of node
881
+ # crash.
882
+ EPHEMERAL_KEY_ENCRYPTION = 2
883
+ end
884
+
885
+ # Possible effective cgroup modes for the node.
886
+ module EffectiveCgroupMode
887
+ # EFFECTIVE_CGROUP_MODE_UNSPECIFIED means the cgroup configuration for the
888
+ # node pool is unspecified, i.e. the node pool is a Windows node pool.
889
+ EFFECTIVE_CGROUP_MODE_UNSPECIFIED = 0
890
+
891
+ # CGROUP_MODE_V1 means the node pool is configured to use cgroupv1 for the
892
+ # cgroup configuration.
893
+ EFFECTIVE_CGROUP_MODE_V1 = 1
894
+
895
+ # CGROUP_MODE_V2 means the node pool is configured to use cgroupv2 for the
896
+ # cgroup configuration.
897
+ EFFECTIVE_CGROUP_MODE_V2 = 2
898
+ end
426
899
  end
427
900
 
428
901
  # Specifies options for controlling advanced machine features.
@@ -434,9 +907,28 @@ module Google
434
907
  # @!attribute [rw] enable_nested_virtualization
435
908
  # @return [::Boolean]
436
909
  # Whether or not to enable nested virtualization (defaults to false).
910
+ # @!attribute [rw] performance_monitoring_unit
911
+ # @return [::Google::Cloud::Container::V1beta1::AdvancedMachineFeatures::PerformanceMonitoringUnit]
912
+ # Type of Performance Monitoring Unit (PMU) requested on node pool instances.
913
+ # If unset, PMU will not be available to the node.
437
914
  class AdvancedMachineFeatures
438
915
  include ::Google::Protobuf::MessageExts
439
916
  extend ::Google::Protobuf::MessageExts::ClassMethods
917
+
918
+ # Level of PMU access.
919
+ module PerformanceMonitoringUnit
920
+ # PMU not enabled.
921
+ PERFORMANCE_MONITORING_UNIT_UNSPECIFIED = 0
922
+
923
+ # Architecturally defined non-LLC events.
924
+ ARCHITECTURAL = 1
925
+
926
+ # Most documented core/L2 events.
927
+ STANDARD = 2
928
+
929
+ # Most documented core/L2 and LLC events.
930
+ ENHANCED = 3
931
+ end
440
932
  end
441
933
 
442
934
  # Parameters for node pool-level network config.
@@ -485,7 +977,7 @@ module Google
485
977
  # @return [::Boolean]
486
978
  # Whether nodes have internal IP addresses only.
487
979
  # If enable_private_nodes is not specified, then the value is derived from
488
- # [cluster.privateClusterConfig.enablePrivateNodes][google.container.v1beta1.PrivateClusterConfig.enablePrivateNodes]
980
+ # [Cluster.NetworkConfig.default_enable_private_nodes][]
489
981
  # @!attribute [rw] network_performance_config
490
982
  # @return [::Google::Cloud::Container::V1beta1::NodeNetworkConfig::NetworkPerformanceConfig]
491
983
  # Network bandwidth tier configuration.
@@ -516,6 +1008,13 @@ module Google
516
1008
  # Output only. The utilization of the IPv4 range for the pod.
517
1009
  # The ratio is Usage/[Total number of IPs in the secondary range],
518
1010
  # Usage=numNodes*numZones*podIPsPerNode.
1011
+ # @!attribute [r] subnetwork
1012
+ # @return [::String]
1013
+ # Output only. The subnetwork path for the node pool.
1014
+ # Format: projects/\\{project}/regions/\\{region}/subnetworks/\\{subnetwork}
1015
+ # If the cluster is associated with multiple subnetworks, the subnetwork for
1016
+ # the node pool is picked based on the IP utilization during node pool
1017
+ # creation and is immutable.
519
1018
  class NodeNetworkConfig
520
1019
  include ::Google::Protobuf::MessageExts
521
1020
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -689,6 +1188,9 @@ module Google
689
1188
  # ssds), 0 will be provisioned. See
690
1189
  # https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
691
1190
  # for more info.
1191
+ # @!attribute [rw] data_cache_count
1192
+ # @return [::Integer]
1193
+ # Number of local SSDs to use for GKE Data Cache.
692
1194
  class EphemeralStorageLocalSsdConfig
693
1195
  include ::Google::Protobuf::MessageExts
694
1196
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -744,6 +1246,11 @@ module Google
744
1246
  # @!attribute [rw] node_affinities
745
1247
  # @return [::Array<::Google::Cloud::Container::V1beta1::SoleTenantConfig::NodeAffinity>]
746
1248
  # NodeAffinities used to match to a shared sole tenant node group.
1249
+ # @!attribute [rw] min_node_cpus
1250
+ # @return [::Integer]
1251
+ # Optional. The minimum number of virtual CPUs this instance will consume
1252
+ # when running on a sole-tenant node. This field can only be set if the node
1253
+ # pool is created in a shared sole-tenant node group.
747
1254
  class SoleTenantConfig
748
1255
  include ::Google::Protobuf::MessageExts
749
1256
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -806,7 +1313,7 @@ module Google
806
1313
  # @return [::Array<::String>]
807
1314
  # List of fully qualified domain names (FQDN).
808
1315
  # Specifying port is supported.
809
- # Wilcards are NOT supported.
1316
+ # Wildcards are NOT supported.
810
1317
  # Examples:
811
1318
  # - my.customdomain.com
812
1319
  # - 10.0.1.2:5000
@@ -818,7 +1325,8 @@ module Google
818
1325
  extend ::Google::Protobuf::MessageExts::ClassMethods
819
1326
 
820
1327
  # GCPSecretManagerCertificateConfig configures a secret from
821
- # [Google Secret Manager](https://cloud.google.com/secret-manager).
1328
+ # [Google Secret
1329
+ # Manager](https://cloud.google.com/secret-manager).
822
1330
  # @!attribute [rw] secret_uri
823
1331
  # @return [::String]
824
1332
  # Secret URI, in the form
@@ -1019,7 +1527,8 @@ module Google
1019
1527
  # @!attribute [r] client_certificate
1020
1528
  # @return [::String]
1021
1529
  # Output only. Base64-encoded public certificate used by clients to
1022
- # authenticate to the cluster endpoint.
1530
+ # authenticate to the cluster endpoint. Issued only if
1531
+ # client_certificate_config is set.
1023
1532
  # @!attribute [r] client_key
1024
1533
  # @return [::String]
1025
1534
  # Output only. Base64-encoded private key used by clients to authenticate
@@ -1099,9 +1608,18 @@ module Google
1099
1608
  # @!attribute [rw] stateful_ha_config
1100
1609
  # @return [::Google::Cloud::Container::V1beta1::StatefulHAConfig]
1101
1610
  # Optional. Configuration for the StatefulHA add-on.
1611
+ # @!attribute [rw] parallelstore_csi_driver_config
1612
+ # @return [::Google::Cloud::Container::V1beta1::ParallelstoreCsiDriverConfig]
1613
+ # Configuration for the Cloud Storage Parallelstore CSI driver.
1102
1614
  # @!attribute [rw] ray_operator_config
1103
1615
  # @return [::Google::Cloud::Container::V1beta1::RayOperatorConfig]
1104
1616
  # Optional. Configuration for Ray Operator addon.
1617
+ # @!attribute [rw] high_scale_checkpointing_config
1618
+ # @return [::Google::Cloud::Container::V1beta1::HighScaleCheckpointingConfig]
1619
+ # Configuration for the High Scale Checkpointing add-on.
1620
+ # @!attribute [rw] lustre_csi_driver_config
1621
+ # @return [::Google::Cloud::Container::V1beta1::LustreCsiDriverConfig]
1622
+ # Configuration for the Lustre CSI driver.
1105
1623
  class AddonsConfig
1106
1624
  include ::Google::Protobuf::MessageExts
1107
1625
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1225,6 +1743,39 @@ module Google
1225
1743
  extend ::Google::Protobuf::MessageExts::ClassMethods
1226
1744
  end
1227
1745
 
1746
+ # Configuration for the Cloud Storage Parallelstore CSI driver.
1747
+ # @!attribute [rw] enabled
1748
+ # @return [::Boolean]
1749
+ # Whether the Cloud Storage Parallelstore CSI driver is enabled for this
1750
+ # cluster.
1751
+ class ParallelstoreCsiDriverConfig
1752
+ include ::Google::Protobuf::MessageExts
1753
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1754
+ end
1755
+
1756
+ # Configuration for the High Scale Checkpointing.
1757
+ # @!attribute [rw] enabled
1758
+ # @return [::Boolean]
1759
+ # Whether the High Scale Checkpointing is enabled for this
1760
+ # cluster.
1761
+ class HighScaleCheckpointingConfig
1762
+ include ::Google::Protobuf::MessageExts
1763
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1764
+ end
1765
+
1766
+ # Configuration for the Lustre CSI driver.
1767
+ # @!attribute [rw] enabled
1768
+ # @return [::Boolean]
1769
+ # Whether the Lustre CSI driver is enabled for this cluster.
1770
+ # @!attribute [rw] enable_legacy_lustre_port
1771
+ # @return [::Boolean]
1772
+ # If set to true, the Lustre CSI driver will install Lustre kernel modules
1773
+ # using port 6988.
1774
+ class LustreCsiDriverConfig
1775
+ include ::Google::Protobuf::MessageExts
1776
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1777
+ end
1778
+
1228
1779
  # Configuration options for the Ray Operator add-on.
1229
1780
  # @!attribute [rw] enabled
1230
1781
  # @return [::Boolean]
@@ -1251,13 +1802,23 @@ module Google
1251
1802
 
1252
1803
  # Configuration options for private clusters.
1253
1804
  # @!attribute [rw] enable_private_nodes
1805
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1254
1806
  # @return [::Boolean]
1255
1807
  # Whether nodes have internal IP addresses only. If enabled, all nodes are
1256
1808
  # given only RFC 1918 private addresses and communicate with the master via
1257
1809
  # private networking.
1810
+ #
1811
+ # Deprecated: Use
1812
+ # {::Google::Cloud::Container::V1beta1::NetworkConfig#default_enable_private_nodes NetworkConfig.default_enable_private_nodes}
1813
+ # instead.
1258
1814
  # @!attribute [rw] enable_private_endpoint
1815
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1259
1816
  # @return [::Boolean]
1260
1817
  # Whether the master's internal IP address is used as the cluster endpoint.
1818
+ # Use
1819
+ # {::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig::IPEndpointsConfig#enable_public_endpoint ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint}
1820
+ # instead. Note that the value of enable_public_endpoint is reversed: if
1821
+ # enable_private_endpoint is false, then enable_public_endpoint will be true.
1261
1822
  # @!attribute [rw] master_ipv4_cidr_block
1262
1823
  # @return [::String]
1263
1824
  # The IP range in CIDR notation to use for the hosted master network. This
@@ -1265,21 +1826,41 @@ module Google
1265
1826
  # set of masters, as well as the ILB VIP. This range must not overlap with
1266
1827
  # any other ranges in use within the cluster's network.
1267
1828
  # @!attribute [r] private_endpoint
1829
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1268
1830
  # @return [::String]
1269
1831
  # Output only. The internal IP address of this cluster's master endpoint.
1832
+ #
1833
+ # Deprecated: Use
1834
+ # {::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig::IPEndpointsConfig#private_endpoint ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint}
1835
+ # instead.
1270
1836
  # @!attribute [r] public_endpoint
1837
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1271
1838
  # @return [::String]
1272
1839
  # Output only. The external IP address of this cluster's master endpoint.
1840
+ #
1841
+ # Deprecated: Use
1842
+ # {::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig::IPEndpointsConfig#public_endpoint ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint}
1843
+ # instead.
1273
1844
  # @!attribute [r] peering_name
1274
1845
  # @return [::String]
1275
1846
  # Output only. The peering name in the customer VPC used by this cluster.
1276
1847
  # @!attribute [rw] master_global_access_config
1848
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1277
1849
  # @return [::Google::Cloud::Container::V1beta1::PrivateClusterMasterGlobalAccessConfig]
1278
1850
  # Controls master global access settings.
1851
+ #
1852
+ # Deprecated: Use
1853
+ # [ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access][]
1854
+ # instead.
1279
1855
  # @!attribute [rw] private_endpoint_subnetwork
1856
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1280
1857
  # @return [::String]
1281
1858
  # Subnet to provision the master's private endpoint during cluster creation.
1282
1859
  # Specified in projects/*/regions/*/subnetworks/* format.
1860
+ #
1861
+ # Deprecated: Use
1862
+ # {::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig::IPEndpointsConfig#private_endpoint_subnetwork ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork}
1863
+ # instead.
1283
1864
  class PrivateClusterConfig
1284
1865
  include ::Google::Protobuf::MessageExts
1285
1866
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1345,7 +1926,10 @@ module Google
1345
1926
  # Kubernetes master through HTTPS.
1346
1927
  # @!attribute [rw] gcp_public_cidrs_access_enabled
1347
1928
  # @return [::Boolean]
1348
- # Whether master is accessbile via Google Compute Engine Public IP addresses.
1929
+ # Whether master is accessible via Google Compute Engine Public IP addresses.
1930
+ # @!attribute [rw] private_endpoint_enforcement_enabled
1931
+ # @return [::Boolean]
1932
+ # Whether master authorized networks is enforced on private endpoint or not.
1349
1933
  class MasterAuthorizedNetworksConfig
1350
1934
  include ::Google::Protobuf::MessageExts
1351
1935
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1521,6 +2105,7 @@ module Google
1521
2105
  # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
1522
2106
  # fully-specified.
1523
2107
  # @!attribute [rw] tpu_ipv4_cidr_block
2108
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1524
2109
  # @return [::String]
1525
2110
  # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
1526
2111
  # range will be automatically chosen with the default size.
@@ -1581,6 +2166,16 @@ module Google
1581
2166
  # Output only. The utilization of the cluster default IPv4 range for the
1582
2167
  # pod. The ratio is Usage/[Total number of IPs in the secondary range],
1583
2168
  # Usage=numNodes*numZones*podIPsPerNode.
2169
+ # @!attribute [r] additional_ip_ranges_configs
2170
+ # @return [::Array<::Google::Cloud::Container::V1beta1::AdditionalIPRangesConfig>]
2171
+ # Output only. The additional IP ranges that are added to the cluster.
2172
+ # These IP ranges can be used by new node pools to allocate node and pod IPs
2173
+ # automatically.
2174
+ # Each AdditionalIPRangesConfig corresponds to a single subnetwork.
2175
+ # Once a range is removed it will not show up in IPAllocationPolicy.
2176
+ # @!attribute [rw] auto_ipam_config
2177
+ # @return [::Google::Cloud::Container::V1beta1::AutoIpamConfig]
2178
+ # Optional. AutoIpamConfig contains all information related to Auto IPAM
1584
2179
  class IPAllocationPolicy
1585
2180
  include ::Google::Protobuf::MessageExts
1586
2181
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1728,7 +2323,8 @@ module Google
1728
2323
  # @deprecated This field is deprecated and may be removed in the next major version update.
1729
2324
  # @return [::Integer]
1730
2325
  # The number of nodes to create in this cluster. You must ensure that your
1731
- # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
2326
+ # Compute Engine [resource
2327
+ # quota](https://cloud.google.com/compute/quotas)
1732
2328
  # is sufficient for this number of instances. You must also have available
1733
2329
  # firewall and routes quota.
1734
2330
  # For requests, this field should only be used in lieu of a
@@ -1776,7 +2372,7 @@ module Google
1776
2372
  # The monitoring service the cluster should use to write metrics.
1777
2373
  # Currently available options:
1778
2374
  #
1779
- # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
2375
+ # * `monitoring.googleapis.com/kubernetes` - The Cloud Monitoring
1780
2376
  # service with a Kubernetes-native resource model
1781
2377
  # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
1782
2378
  # longer available as of GKE 1.15).
@@ -1803,9 +2399,9 @@ module Google
1803
2399
  # @!attribute [rw] subnetwork
1804
2400
  # @return [::String]
1805
2401
  # The name of the Google Compute Engine
1806
- # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
1807
- # the cluster is connected. On output this shows the subnetwork ID instead of
1808
- # the name.
2402
+ # [subnetwork](https://cloud.google.com/compute/docs/subnetworks)
2403
+ # to which the cluster is connected. On output this shows the subnetwork ID
2404
+ # instead of the name.
1809
2405
  # @!attribute [rw] node_pools
1810
2406
  # @return [::Array<::Google::Cloud::Container::V1beta1::NodePool>]
1811
2407
  # The node pools associated with this cluster.
@@ -1814,8 +2410,8 @@ module Google
1814
2410
  # @!attribute [rw] locations
1815
2411
  # @return [::Array<::String>]
1816
2412
  # The list of Google Compute Engine
1817
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
1818
- # cluster's nodes should be located.
2413
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
2414
+ # in which the cluster's nodes should be located.
1819
2415
  #
1820
2416
  # This field provides a default value if
1821
2417
  # [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations)
@@ -1832,6 +2428,11 @@ module Google
1832
2428
  # The cluster has no SLA for uptime and master/node upgrades are disabled.
1833
2429
  # Alpha enabled clusters are automatically deleted thirty days after
1834
2430
  # creation.
2431
+ # @!attribute [rw] alpha_cluster_feature_gates
2432
+ # @return [::Array<::String>]
2433
+ # The list of user specified Kubernetes feature gates.
2434
+ # Each string represents the activation status of a feature gate (e.g.
2435
+ # "featureX=true" or "featureX=false")
1835
2436
  # @!attribute [rw] enable_k8s_beta_apis
1836
2437
  # @return [::Google::Cloud::Container::V1beta1::K8sBetaAPIConfig]
1837
2438
  # Kubernetes open source beta apis enabled on the cluster. Only beta apis.
@@ -1852,8 +2453,13 @@ module Google
1852
2453
  # @return [::Google::Cloud::Container::V1beta1::IPAllocationPolicy]
1853
2454
  # Configuration for cluster IP allocation.
1854
2455
  # @!attribute [rw] master_authorized_networks_config
2456
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1855
2457
  # @return [::Google::Cloud::Container::V1beta1::MasterAuthorizedNetworksConfig]
1856
2458
  # The configuration options for master authorized networks feature.
2459
+ #
2460
+ # Deprecated: Use
2461
+ # {::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig::IPEndpointsConfig#authorized_networks_config ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config}
2462
+ # instead.
1857
2463
  # @!attribute [rw] maintenance_policy
1858
2464
  # @return [::Google::Cloud::Container::V1beta1::MaintenancePolicy]
1859
2465
  # Configure the maintenance policy for this cluster.
@@ -1936,8 +2542,11 @@ module Google
1936
2542
  # @return [::Google::Cloud::Container::V1beta1::ClusterTelemetry]
1937
2543
  # Telemetry integration for the cluster.
1938
2544
  # @!attribute [rw] tpu_config
2545
+ # @deprecated This field is deprecated and may be removed in the next major version update.
1939
2546
  # @return [::Google::Cloud::Container::V1beta1::TpuConfig]
1940
2547
  # Configuration for Cloud TPU support;
2548
+ # This field is deprecated due to the deprecation of 2VM TPU. The end of life
2549
+ # date for 2VM TPU is 2025-04-25.
1941
2550
  # @!attribute [rw] notification_config
1942
2551
  # @return [::Google::Cloud::Container::V1beta1::NotificationConfig]
1943
2552
  # Notification configuration of the cluster.
@@ -1955,8 +2564,9 @@ module Google
1955
2564
  # @deprecated This field is deprecated and may be removed in the next major version update.
1956
2565
  # @return [::String]
1957
2566
  # Output only. The name of the Google Compute Engine
1958
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1959
- # cluster resides. This field is deprecated, use location instead.
2567
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
2568
+ # in which the cluster resides. This field is deprecated, use location
2569
+ # instead.
1960
2570
  # @!attribute [r] endpoint
1961
2571
  # @return [::String]
1962
2572
  # Output only. The IP address of this cluster's master endpoint.
@@ -2038,14 +2648,20 @@ module Google
2038
2648
  # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
2039
2649
  # in which the cluster resides.
2040
2650
  # @!attribute [rw] enable_tpu
2651
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2041
2652
  # @return [::Boolean]
2042
2653
  # Enable the ability to use Cloud TPUs in this cluster.
2043
2654
  # This field is deprecated, use tpu_config.enabled instead.
2655
+ # This field is deprecated due to the deprecation of 2VM TPU. The end of life
2656
+ # date for 2VM TPU is 2025-04-25.
2044
2657
  # @!attribute [r] tpu_ipv4_cidr_block
2658
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2045
2659
  # @return [::String]
2046
2660
  # Output only. The IP address range of the Cloud TPUs in this cluster, in
2047
2661
  # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2048
2662
  # notation (e.g. `1.2.3.4/29`).
2663
+ # This field is deprecated due to the deprecation of 2VM TPU. The end of life
2664
+ # date for 2VM TPU is 2025-04-25.
2049
2665
  # @!attribute [rw] database_encryption
2050
2666
  # @return [::Google::Cloud::Container::V1beta1::DatabaseEncryption]
2051
2667
  # Configuration of etcd encryption.
@@ -2080,6 +2696,9 @@ module Google
2080
2696
  # @return [::Google::Cloud::Container::V1beta1::ProtectConfig]
2081
2697
  # Deprecated: Use SecurityPostureConfig instead.
2082
2698
  # Enable/Disable Protect API features for the cluster.
2699
+ # @!attribute [rw] pod_autoscaling
2700
+ # @return [::Google::Cloud::Container::V1beta1::PodAutoscaling]
2701
+ # The config for pod autoscaling.
2083
2702
  # @!attribute [rw] etag
2084
2703
  # @return [::String]
2085
2704
  # This checksum is computed by the server based on the value of cluster
@@ -2091,6 +2710,9 @@ module Google
2091
2710
  # @!attribute [rw] security_posture_config
2092
2711
  # @return [::Google::Cloud::Container::V1beta1::SecurityPostureConfig]
2093
2712
  # Enable/Disable Security Posture API features for the cluster.
2713
+ # @!attribute [rw] control_plane_endpoints_config
2714
+ # @return [::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig]
2715
+ # Configuration for all cluster's control plane endpoints.
2094
2716
  # @!attribute [rw] enterprise_config
2095
2717
  # @return [::Google::Cloud::Container::V1beta1::EnterpriseConfig]
2096
2718
  # GKE Enterprise Configuration.
@@ -2106,6 +2728,20 @@ module Google
2106
2728
  # @!attribute [r] satisfies_pzi
2107
2729
  # @return [::Boolean]
2108
2730
  # Output only. Reserved for future use.
2731
+ # @!attribute [rw] user_managed_keys_config
2732
+ # @return [::Google::Cloud::Container::V1beta1::UserManagedKeysConfig]
2733
+ # The Custom keys configuration for the cluster.
2734
+ # @!attribute [rw] rbac_binding_config
2735
+ # @return [::Google::Cloud::Container::V1beta1::RBACBindingConfig]
2736
+ # RBACBindingConfig allows user to restrict ClusterRoleBindings an
2737
+ # RoleBindings that can be created.
2738
+ # @!attribute [rw] gke_auto_upgrade_config
2739
+ # @return [::Google::Cloud::Container::V1beta1::GkeAutoUpgradeConfig]
2740
+ # Configuration for GKE auto upgrades.
2741
+ # @!attribute [rw] anonymous_authentication_config
2742
+ # @return [::Google::Cloud::Container::V1beta1::AnonymousAuthenticationConfig]
2743
+ # Configuration for limiting anonymous access to all endpoints except the
2744
+ # health checks.
2109
2745
  class Cluster
2110
2746
  include ::Google::Protobuf::MessageExts
2111
2747
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2149,6 +2785,89 @@ module Google
2149
2785
  end
2150
2786
  end
2151
2787
 
2788
+ # RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
2789
+ # that can be created.
2790
+ # @!attribute [rw] enable_insecure_binding_system_unauthenticated
2791
+ # @return [::Boolean]
2792
+ # Setting this to true will allow any ClusterRoleBinding and RoleBinding
2793
+ # with subjets system:anonymous or system:unauthenticated.
2794
+ # @!attribute [rw] enable_insecure_binding_system_authenticated
2795
+ # @return [::Boolean]
2796
+ # Setting this to true will allow any ClusterRoleBinding and RoleBinding
2797
+ # with subjects system:authenticated.
2798
+ class RBACBindingConfig
2799
+ include ::Google::Protobuf::MessageExts
2800
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2801
+ end
2802
+
2803
+ # UserManagedKeysConfig holds the resource address to Keys which are used
2804
+ # for signing certs and token that are used for communication within cluster.
2805
+ # @!attribute [rw] cluster_ca
2806
+ # @return [::String]
2807
+ # The Certificate Authority Service caPool to use for the cluster CA in this
2808
+ # cluster.
2809
+ # @!attribute [rw] etcd_api_ca
2810
+ # @return [::String]
2811
+ # Resource path of the Certificate Authority Service caPool to use for the
2812
+ # etcd API CA in this cluster.
2813
+ # @!attribute [rw] etcd_peer_ca
2814
+ # @return [::String]
2815
+ # Resource path of the Certificate Authority Service caPool to use for the
2816
+ # etcd peer CA in this cluster.
2817
+ # @!attribute [rw] service_account_signing_keys
2818
+ # @return [::Array<::String>]
2819
+ # The Cloud KMS cryptoKeyVersions to use for signing service account JWTs
2820
+ # issued by this cluster.
2821
+ #
2822
+ # Format:
2823
+ # `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion}`
2824
+ # @!attribute [rw] service_account_verification_keys
2825
+ # @return [::Array<::String>]
2826
+ # The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs
2827
+ # issued by this cluster.
2828
+ #
2829
+ # Format:
2830
+ # `projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{cryptoKey}/cryptoKeyVersions/{cryptoKeyVersion}`
2831
+ # @!attribute [rw] aggregation_ca
2832
+ # @return [::String]
2833
+ # The Certificate Authority Service caPool to use for the aggregation CA in
2834
+ # this cluster.
2835
+ # @!attribute [rw] control_plane_disk_encryption_key
2836
+ # @return [::String]
2837
+ # The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control
2838
+ # plane nodes.
2839
+ # @!attribute [rw] gkeops_etcd_backup_encryption_key
2840
+ # @return [::String]
2841
+ # Resource path of the Cloud KMS cryptoKey to use for encryption of internal
2842
+ # etcd backups.
2843
+ class UserManagedKeysConfig
2844
+ include ::Google::Protobuf::MessageExts
2845
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2846
+ end
2847
+
2848
+ # AnonymousAuthenticationConfig defines the settings needed to limit endpoints
2849
+ # that allow anonymous authentication.
2850
+ # @!attribute [rw] mode
2851
+ # @return [::Google::Cloud::Container::V1beta1::AnonymousAuthenticationConfig::Mode]
2852
+ # Defines the mode of limiting anonymous access in the cluster.
2853
+ class AnonymousAuthenticationConfig
2854
+ include ::Google::Protobuf::MessageExts
2855
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2856
+
2857
+ # Mode defines the mode of anonymous authentication
2858
+ # allowed in the cluster.
2859
+ module Mode
2860
+ # Default value not specified.
2861
+ MODE_UNSPECIFIED = 0
2862
+
2863
+ # Anonymous authentication is allowed for all endpoints.
2864
+ ENABLED = 1
2865
+
2866
+ # Anonymous authentication is allowed for only health check endpoints.
2867
+ LIMITED = 2
2868
+ end
2869
+ end
2870
+
2152
2871
  # CompliancePostureConfig defines the settings needed to enable/disable
2153
2872
  # features for the Compliance Posture.
2154
2873
  # @!attribute [rw] mode
@@ -2343,6 +3062,9 @@ module Google
2343
3062
  # NodeKubeletConfig controls the defaults for autoprovisioned node-pools.
2344
3063
  #
2345
3064
  # Currently only `insecure_kubelet_readonly_port_enabled` can be set here.
3065
+ # @!attribute [r] linux_node_config
3066
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig]
3067
+ # Output only. Configuration options for Linux nodes.
2346
3068
  class NodePoolAutoConfig
2347
3069
  include ::Google::Protobuf::MessageExts
2348
3070
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2369,7 +3091,7 @@ module Google
2369
3091
  # The monitoring service the cluster should use to write metrics.
2370
3092
  # Currently available options:
2371
3093
  #
2372
- # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
3094
+ # * `monitoring.googleapis.com/kubernetes` - The Cloud Monitoring
2373
3095
  # service with a Kubernetes-native resource model
2374
3096
  # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
2375
3097
  # longer available as of GKE 1.15).
@@ -2399,16 +3121,21 @@ module Google
2399
3121
  # @!attribute [rw] desired_locations
2400
3122
  # @return [::Array<::String>]
2401
3123
  # The desired list of Google Compute Engine
2402
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
2403
- # cluster's nodes should be located.
3124
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
3125
+ # in which the cluster's nodes should be located.
2404
3126
  #
2405
3127
  # This list must always include the cluster's primary zone.
2406
3128
  #
2407
3129
  # Warning: changing cluster locations will update the locations of all node
2408
3130
  # pools and will result in nodes being added and/or removed.
2409
3131
  # @!attribute [rw] desired_master_authorized_networks_config
3132
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2410
3133
  # @return [::Google::Cloud::Container::V1beta1::MasterAuthorizedNetworksConfig]
2411
3134
  # The desired configuration options for master authorized networks feature.
3135
+ #
3136
+ # Deprecated: Use
3137
+ # desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config
3138
+ # instead.
2412
3139
  # @!attribute [rw] desired_pod_security_policy_config
2413
3140
  # @return [::Google::Cloud::Container::V1beta1::PodSecurityPolicyConfig]
2414
3141
  # The desired configuration options for the PodSecurityPolicy feature.
@@ -2438,6 +3165,7 @@ module Google
2438
3165
  # @return [::Google::Cloud::Container::V1beta1::VerticalPodAutoscaling]
2439
3166
  # Cluster-level Vertical Pod Autoscaling configuration.
2440
3167
  # @!attribute [rw] desired_private_cluster_config
3168
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2441
3169
  # @return [::Google::Cloud::Container::V1beta1::PrivateClusterConfig]
2442
3170
  # The desired private cluster configuration. master_global_access_config is
2443
3171
  # the only field that can be changed via this field.
@@ -2445,6 +3173,10 @@ module Google
2445
3173
  # {::Google::Cloud::Container::V1beta1::ClusterUpdate#desired_enable_private_endpoint ClusterUpdate.desired_enable_private_endpoint}
2446
3174
  # for modifying other fields within
2447
3175
  # {::Google::Cloud::Container::V1beta1::PrivateClusterConfig PrivateClusterConfig}.
3176
+ #
3177
+ # Deprecated: Use
3178
+ # desired_control_plane_endpoints_config.ip_endpoints_config.global_access
3179
+ # instead.
2448
3180
  # @!attribute [rw] desired_intra_node_visibility_config
2449
3181
  # @return [::Google::Cloud::Container::V1beta1::IntraNodeVisibilityConfig]
2450
3182
  # The desired config of Intra-node visibility.
@@ -2464,8 +3196,11 @@ module Google
2464
3196
  # {::Google::Cloud::Container::V1beta1::ClusterUpdate#desired_private_cluster_config desired_private_cluster_config}
2465
3197
  # instead.
2466
3198
  # @!attribute [rw] desired_tpu_config
3199
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2467
3200
  # @return [::Google::Cloud::Container::V1beta1::TpuConfig]
2468
3201
  # The desired Cloud TPU configuration.
3202
+ # This field is deprecated due to the deprecation of 2VM TPU. The end of life
3203
+ # date for 2VM TPU is 2025-04-25.
2469
3204
  # @!attribute [rw] desired_l4ilb_subsetting_config
2470
3205
  # @return [::Google::Cloud::Container::V1beta1::ILBSubsettingConfig]
2471
3206
  # The desired L4 Internal Load Balancer Subsetting configuration.
@@ -2541,8 +3276,24 @@ module Google
2541
3276
  # @return [::Google::Cloud::Container::V1beta1::IdentityServiceConfig]
2542
3277
  # The desired Identity Service component configuration.
2543
3278
  # @!attribute [rw] desired_enable_private_endpoint
3279
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2544
3280
  # @return [::Boolean]
2545
3281
  # Enable/Disable private endpoint for the cluster's master.
3282
+ #
3283
+ # Deprecated: Use
3284
+ # desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint
3285
+ # instead. Note that the value of enable_public_endpoint is reversed: if
3286
+ # enable_private_endpoint is false, then enable_public_endpoint will be true.
3287
+ # @!attribute [rw] desired_default_enable_private_nodes
3288
+ # @return [::Boolean]
3289
+ # Override the default setting of whether future created
3290
+ # nodes have private IP addresses only, namely
3291
+ # {::Google::Cloud::Container::V1beta1::NetworkConfig#default_enable_private_nodes NetworkConfig.default_enable_private_nodes}
3292
+ # @!attribute [rw] desired_control_plane_endpoints_config
3293
+ # @return [::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig]
3294
+ # [Control plane
3295
+ # endpoints][google.container.v1beta1.Cluster.control_plane_endpoints_config]
3296
+ # configuration.
2546
3297
  # @!attribute [rw] desired_node_pool_auto_config_network_tags
2547
3298
  # @return [::Google::Cloud::Container::V1beta1::NetworkTags]
2548
3299
  # The desired network tags that apply to all auto-provisioned node pools
@@ -2552,6 +3303,9 @@ module Google
2552
3303
  # @return [::Google::Cloud::Container::V1beta1::ProtectConfig]
2553
3304
  # Deprecated: Use DesiredSecurityPostureConfig instead.
2554
3305
  # Enable/Disable Protect API features for the cluster.
3306
+ # @!attribute [rw] desired_pod_autoscaling
3307
+ # @return [::Google::Cloud::Container::V1beta1::PodAutoscaling]
3308
+ # The desired config for pod autoscaling.
2555
3309
  # @!attribute [rw] desired_gateway_api_config
2556
3310
  # @return [::Google::Cloud::Container::V1beta1::GatewayAPIConfig]
2557
3311
  # The desired config of Gateway API on this cluster.
@@ -2594,7 +3348,7 @@ module Google
2594
3348
  # Enable/Disable FQDN Network Policy for the cluster.
2595
3349
  # @!attribute [rw] desired_autopilot_workload_policy_config
2596
3350
  # @return [::Google::Cloud::Container::V1beta1::WorkloadPolicyConfig]
2597
- # The desired workload policy configuration for the autopilot cluster.
3351
+ # WorkloadPolicyConfig is the configuration related to GCW workload policy
2598
3352
  # @!attribute [rw] desired_k8s_beta_apis
2599
3353
  # @return [::Google::Cloud::Container::V1beta1::K8sBetaAPIConfig]
2600
3354
  # Beta APIs enabled for cluster.
@@ -2622,6 +3376,9 @@ module Google
2622
3376
  # @!attribute [rw] desired_secret_manager_config
2623
3377
  # @return [::Google::Cloud::Container::V1beta1::SecretManagerConfig]
2624
3378
  # Enable/Disable Secret Manager Config.
3379
+ # @!attribute [rw] desired_compliance_posture_config
3380
+ # @return [::Google::Cloud::Container::V1beta1::CompliancePostureConfig]
3381
+ # Enable/Disable Compliance Posture features for the cluster.
2625
3382
  # @!attribute [rw] desired_node_kubelet_config
2626
3383
  # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
2627
3384
  # The desired node kubelet config for the cluster.
@@ -2629,6 +3386,47 @@ module Google
2629
3386
  # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
2630
3387
  # The desired node kubelet config for all auto-provisioned node pools
2631
3388
  # in autopilot clusters and node auto-provisioning enabled clusters.
3389
+ # @!attribute [rw] user_managed_keys_config
3390
+ # @deprecated This field is deprecated and may be removed in the next major version update.
3391
+ # @return [::Google::Cloud::Container::V1beta1::UserManagedKeysConfig]
3392
+ # The Custom keys configuration for the cluster.
3393
+ #
3394
+ # This field is deprecated.
3395
+ # Use
3396
+ # {::Google::Cloud::Container::V1beta1::ClusterUpdate#desired_user_managed_keys_config ClusterUpdate.desired_user_managed_keys_config}
3397
+ # instead.
3398
+ # @!attribute [rw] desired_rbac_binding_config
3399
+ # @return [::Google::Cloud::Container::V1beta1::RBACBindingConfig]
3400
+ # RBACBindingConfig allows user to restrict ClusterRoleBindings an
3401
+ # RoleBindings that can be created.
3402
+ # @!attribute [rw] desired_additional_ip_ranges_config
3403
+ # @return [::Google::Cloud::Container::V1beta1::DesiredAdditionalIPRangesConfig]
3404
+ # The desired config for additional subnetworks attached to the cluster.
3405
+ # @!attribute [rw] desired_enterprise_config
3406
+ # @return [::Google::Cloud::Container::V1beta1::DesiredEnterpriseConfig]
3407
+ # The desired enterprise configuration for the cluster.
3408
+ # @!attribute [rw] desired_auto_ipam_config
3409
+ # @return [::Google::Cloud::Container::V1beta1::AutoIpamConfig]
3410
+ # AutoIpamConfig contains all information related to Auto IPAM
3411
+ # @!attribute [rw] desired_disable_l4_lb_firewall_reconciliation
3412
+ # @return [::Boolean]
3413
+ # Enable/Disable L4 LB VPC firewall reconciliation for the cluster.
3414
+ # @!attribute [rw] desired_node_pool_auto_config_linux_node_config
3415
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig]
3416
+ # The desired Linux node config for all auto-provisioned node pools
3417
+ # in autopilot clusters and node auto-provisioning enabled clusters.
3418
+ #
3419
+ # Currently only `cgroup_mode` can be set here.
3420
+ # @!attribute [rw] desired_user_managed_keys_config
3421
+ # @return [::Google::Cloud::Container::V1beta1::UserManagedKeysConfig]
3422
+ # The desired user managed keys config for the cluster.
3423
+ # @!attribute [rw] desired_anonymous_authentication_config
3424
+ # @return [::Google::Cloud::Container::V1beta1::AnonymousAuthenticationConfig]
3425
+ # Configuration for limiting anonymous access to all endpoints except the
3426
+ # health checks.
3427
+ # @!attribute [rw] gke_auto_upgrade_config
3428
+ # @return [::Google::Cloud::Container::V1beta1::GkeAutoUpgradeConfig]
3429
+ # Configuration for GKE auto upgrade.
2632
3430
  class ClusterUpdate
2633
3431
  include ::Google::Protobuf::MessageExts
2634
3432
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2647,6 +3445,42 @@ module Google
2647
3445
  extend ::Google::Protobuf::MessageExts::ClassMethods
2648
3446
  end
2649
3447
 
3448
+ # AdditionalIPRangesConfig is the configuration for individual additional
3449
+ # subnetwork attached to the cluster
3450
+ # @!attribute [rw] subnetwork
3451
+ # @return [::String]
3452
+ # Name of the subnetwork. This can be the full path of the subnetwork or
3453
+ # just the name.
3454
+ # Example1: my-subnet
3455
+ # Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet
3456
+ # @!attribute [rw] pod_ipv4_range_names
3457
+ # @return [::Array<::String>]
3458
+ # List of secondary ranges names within this subnetwork that can be used for
3459
+ # pod IPs.
3460
+ # Example1: gke-pod-range1
3461
+ # Example2: gke-pod-range1,gke-pod-range2
3462
+ class AdditionalIPRangesConfig
3463
+ include ::Google::Protobuf::MessageExts
3464
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3465
+ end
3466
+
3467
+ # DesiredAdditionalIPRangesConfig is a wrapper used for cluster update
3468
+ # operation and contains multiple AdditionalIPRangesConfigs.
3469
+ # @!attribute [rw] additional_ip_ranges_configs
3470
+ # @return [::Array<::Google::Cloud::Container::V1beta1::AdditionalIPRangesConfig>]
3471
+ # List of additional IP ranges configs where each AdditionalIPRangesConfig
3472
+ # corresponds to one subnetwork's IP ranges
3473
+ class DesiredAdditionalIPRangesConfig
3474
+ include ::Google::Protobuf::MessageExts
3475
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3476
+ end
3477
+
3478
+ # AutoIpamConfig contains all information related to Auto IPAM
3479
+ class AutoIpamConfig
3480
+ include ::Google::Protobuf::MessageExts
3481
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3482
+ end
3483
+
2650
3484
  # RangeInfo contains the range name and the range utilization by this cluster.
2651
3485
  # @!attribute [r] range_name
2652
3486
  # @return [::String]
@@ -2659,6 +3493,15 @@ module Google
2659
3493
  extend ::Google::Protobuf::MessageExts::ClassMethods
2660
3494
  end
2661
3495
 
3496
+ # DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
3497
+ # @!attribute [rw] desired_tier
3498
+ # @return [::Google::Cloud::Container::V1beta1::EnterpriseConfig::ClusterTier]
3499
+ # desired_tier specifies the desired tier of the cluster.
3500
+ class DesiredEnterpriseConfig
3501
+ include ::Google::Protobuf::MessageExts
3502
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3503
+ end
3504
+
2662
3505
  # This operation resource represents operations that may have happened or are
2663
3506
  # happening on the cluster. All fields are output only.
2664
3507
  # @!attribute [r] name
@@ -2668,8 +3511,9 @@ module Google
2668
3511
  # @deprecated This field is deprecated and may be removed in the next major version update.
2669
3512
  # @return [::String]
2670
3513
  # Output only. The name of the Google Compute Engine
2671
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2672
- # operation is taking place. This field is deprecated, use location instead.
3514
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3515
+ # in which the operation is taking place. This field is deprecated, use
3516
+ # location instead.
2673
3517
  # @!attribute [r] operation_type
2674
3518
  # @return [::Google::Cloud::Container::V1beta1::Operation::Type]
2675
3519
  # Output only. The operation type.
@@ -2938,16 +3782,16 @@ module Google
2938
3782
  # @!attribute [rw] project_id
2939
3783
  # @deprecated This field is deprecated and may be removed in the next major version update.
2940
3784
  # @return [::String]
2941
- # Required. Deprecated. The Google Developers Console [project ID or project
3785
+ # Deprecated. The Google Developers Console [project ID or project
2942
3786
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2943
3787
  # This field has been deprecated and replaced by the parent field.
2944
3788
  # @!attribute [rw] zone
2945
3789
  # @deprecated This field is deprecated and may be removed in the next major version update.
2946
3790
  # @return [::String]
2947
- # Required. Deprecated. The name of the Google Compute Engine
2948
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2949
- # cluster resides. This field has been deprecated and replaced by the parent
2950
- # field.
3791
+ # Deprecated. The name of the Google Compute Engine
3792
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3793
+ # in which the cluster resides. This field has been deprecated and replaced
3794
+ # by the parent field.
2951
3795
  # @!attribute [rw] cluster
2952
3796
  # @return [::Google::Cloud::Container::V1beta1::Cluster]
2953
3797
  # Required. A [cluster
@@ -2965,20 +3809,20 @@ module Google
2965
3809
  # @!attribute [rw] project_id
2966
3810
  # @deprecated This field is deprecated and may be removed in the next major version update.
2967
3811
  # @return [::String]
2968
- # Required. Deprecated. The Google Developers Console [project ID or project
3812
+ # Deprecated. The Google Developers Console [project ID or project
2969
3813
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2970
3814
  # This field has been deprecated and replaced by the name field.
2971
3815
  # @!attribute [rw] zone
2972
3816
  # @deprecated This field is deprecated and may be removed in the next major version update.
2973
3817
  # @return [::String]
2974
- # Required. Deprecated. The name of the Google Compute Engine
2975
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2976
- # cluster resides. This field has been deprecated and replaced by the name
2977
- # field.
3818
+ # Deprecated. The name of the Google Compute Engine
3819
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3820
+ # in which the cluster resides. This field has been deprecated and replaced
3821
+ # by the name field.
2978
3822
  # @!attribute [rw] cluster_id
2979
3823
  # @deprecated This field is deprecated and may be removed in the next major version update.
2980
3824
  # @return [::String]
2981
- # Required. Deprecated. The name of the cluster to retrieve.
3825
+ # Deprecated. The name of the cluster to retrieve.
2982
3826
  # This field has been deprecated and replaced by the name field.
2983
3827
  # @!attribute [rw] name
2984
3828
  # @return [::String]
@@ -2993,20 +3837,20 @@ module Google
2993
3837
  # @!attribute [rw] project_id
2994
3838
  # @deprecated This field is deprecated and may be removed in the next major version update.
2995
3839
  # @return [::String]
2996
- # Required. Deprecated. The Google Developers Console [project ID or project
3840
+ # Deprecated. The Google Developers Console [project ID or project
2997
3841
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2998
3842
  # This field has been deprecated and replaced by the name field.
2999
3843
  # @!attribute [rw] zone
3000
3844
  # @deprecated This field is deprecated and may be removed in the next major version update.
3001
3845
  # @return [::String]
3002
- # Required. Deprecated. The name of the Google Compute Engine
3003
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3004
- # cluster resides. This field has been deprecated and replaced by the name
3005
- # field.
3846
+ # Deprecated. The name of the Google Compute Engine
3847
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3848
+ # in which the cluster resides. This field has been deprecated and replaced
3849
+ # by the name field.
3006
3850
  # @!attribute [rw] cluster_id
3007
3851
  # @deprecated This field is deprecated and may be removed in the next major version update.
3008
3852
  # @return [::String]
3009
- # Required. Deprecated. The name of the cluster to upgrade.
3853
+ # Deprecated. The name of the cluster to upgrade.
3010
3854
  # This field has been deprecated and replaced by the name field.
3011
3855
  # @!attribute [rw] update
3012
3856
  # @return [::Google::Cloud::Container::V1beta1::ClusterUpdate]
@@ -3024,25 +3868,25 @@ module Google
3024
3868
  # @!attribute [rw] project_id
3025
3869
  # @deprecated This field is deprecated and may be removed in the next major version update.
3026
3870
  # @return [::String]
3027
- # Required. Deprecated. The Google Developers Console [project ID or project
3871
+ # Deprecated. The Google Developers Console [project ID or project
3028
3872
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3029
3873
  # This field has been deprecated and replaced by the name field.
3030
3874
  # @!attribute [rw] zone
3031
3875
  # @deprecated This field is deprecated and may be removed in the next major version update.
3032
3876
  # @return [::String]
3033
- # Required. Deprecated. The name of the Google Compute Engine
3034
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3035
- # cluster resides. This field has been deprecated and replaced by the name
3036
- # field.
3877
+ # Deprecated. The name of the Google Compute Engine
3878
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3879
+ # in which the cluster resides. This field has been deprecated and replaced
3880
+ # by the name field.
3037
3881
  # @!attribute [rw] cluster_id
3038
3882
  # @deprecated This field is deprecated and may be removed in the next major version update.
3039
3883
  # @return [::String]
3040
- # Required. Deprecated. The name of the cluster to upgrade.
3884
+ # Deprecated. The name of the cluster to upgrade.
3041
3885
  # This field has been deprecated and replaced by the name field.
3042
3886
  # @!attribute [rw] node_pool_id
3043
3887
  # @deprecated This field is deprecated and may be removed in the next major version update.
3044
3888
  # @return [::String]
3045
- # Required. Deprecated. The name of the node pool to upgrade.
3889
+ # Deprecated. The name of the node pool to upgrade.
3046
3890
  # This field has been deprecated and replaced by the name field.
3047
3891
  # @!attribute [rw] node_version
3048
3892
  # @return [::String]
@@ -3060,15 +3904,15 @@ module Google
3060
3904
  # @!attribute [rw] image_type
3061
3905
  # @return [::String]
3062
3906
  # Required. The desired image type for the node pool. Please see
3063
- # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
3064
- # available image types.
3907
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
3908
+ # for available image types.
3065
3909
  # @!attribute [rw] locations
3066
3910
  # @return [::Array<::String>]
3067
3911
  # The desired list of Google Compute Engine
3068
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3069
- # node pool's nodes should be located. Changing the locations for a node pool
3070
- # will result in nodes being either created or removed from the node pool,
3071
- # depending on whether locations are being added or removed.
3912
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
3913
+ # in which the node pool's nodes should be located. Changing the locations
3914
+ # for a node pool will result in nodes being either created or removed from
3915
+ # the node pool, depending on whether locations are being added or removed.
3072
3916
  # @!attribute [rw] workload_metadata_config
3073
3917
  # @return [::Google::Cloud::Container::V1beta1::WorkloadMetadataConfig]
3074
3918
  # The desired workload metadata config for the node pool.
@@ -3135,8 +3979,9 @@ module Google
3135
3979
  # @!attribute [rw] accelerators
3136
3980
  # @return [::Array<::Google::Cloud::Container::V1beta1::AcceleratorConfig>]
3137
3981
  # A list of hardware accelerators to be attached to each node.
3138
- # See https://cloud.google.com/compute/docs/gpus for more information about
3139
- # support for GPUs.
3982
+ # See
3983
+ # https://cloud.google.com/compute/docs/gpus
3984
+ # for more information about support for GPUs.
3140
3985
  # @!attribute [rw] machine_type
3141
3986
  # @return [::String]
3142
3987
  # Optional. The desired machine type for nodes in the node pool.
@@ -3165,6 +4010,22 @@ module Google
3165
4010
  # @!attribute [rw] queued_provisioning
3166
4011
  # @return [::Google::Cloud::Container::V1beta1::NodePool::QueuedProvisioning]
3167
4012
  # Specifies the configuration of queued provisioning.
4013
+ # @!attribute [rw] storage_pools
4014
+ # @return [::Array<::String>]
4015
+ # List of Storage Pools where boot disks are provisioned.
4016
+ # Existing Storage Pools will be replaced with storage-pools.
4017
+ # @!attribute [rw] max_run_duration
4018
+ # @return [::Google::Protobuf::Duration]
4019
+ # The maximum duration for the nodes to exist.
4020
+ # If unspecified, the nodes can exist indefinitely.
4021
+ # @!attribute [rw] flex_start
4022
+ # @return [::Boolean]
4023
+ # Flex Start flag for enabling Flex Start VM.
4024
+ # @!attribute [rw] boot_disk
4025
+ # @return [::Google::Cloud::Container::V1beta1::BootDisk]
4026
+ # The desired boot disk config for nodes in the node pool.
4027
+ # Initiates an upgrade operation that migrates the nodes in the
4028
+ # node pool to the specified boot disk config.
3168
4029
  class UpdateNodePoolRequest
3169
4030
  include ::Google::Protobuf::MessageExts
3170
4031
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3174,25 +4035,25 @@ module Google
3174
4035
  # @!attribute [rw] project_id
3175
4036
  # @deprecated This field is deprecated and may be removed in the next major version update.
3176
4037
  # @return [::String]
3177
- # Required. Deprecated. The Google Developers Console [project ID or project
4038
+ # Deprecated. The Google Developers Console [project ID or project
3178
4039
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3179
4040
  # This field has been deprecated and replaced by the name field.
3180
4041
  # @!attribute [rw] zone
3181
4042
  # @deprecated This field is deprecated and may be removed in the next major version update.
3182
4043
  # @return [::String]
3183
- # Required. Deprecated. The name of the Google Compute Engine
3184
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3185
- # cluster resides. This field has been deprecated and replaced by the name
3186
- # field.
4044
+ # Deprecated. The name of the Google Compute Engine
4045
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4046
+ # in which the cluster resides. This field has been deprecated and replaced
4047
+ # by the name field.
3187
4048
  # @!attribute [rw] cluster_id
3188
4049
  # @deprecated This field is deprecated and may be removed in the next major version update.
3189
4050
  # @return [::String]
3190
- # Required. Deprecated. The name of the cluster to upgrade.
4051
+ # Deprecated. The name of the cluster to upgrade.
3191
4052
  # This field has been deprecated and replaced by the name field.
3192
4053
  # @!attribute [rw] node_pool_id
3193
4054
  # @deprecated This field is deprecated and may be removed in the next major version update.
3194
4055
  # @return [::String]
3195
- # Required. Deprecated. The name of the node pool to upgrade.
4056
+ # Deprecated. The name of the node pool to upgrade.
3196
4057
  # This field has been deprecated and replaced by the name field.
3197
4058
  # @!attribute [rw] autoscaling
3198
4059
  # @return [::Google::Cloud::Container::V1beta1::NodePoolAutoscaling]
@@ -3211,20 +4072,20 @@ module Google
3211
4072
  # @!attribute [rw] project_id
3212
4073
  # @deprecated This field is deprecated and may be removed in the next major version update.
3213
4074
  # @return [::String]
3214
- # Required. Deprecated. The Google Developers Console [project ID or project
4075
+ # Deprecated. The Google Developers Console [project ID or project
3215
4076
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3216
4077
  # This field has been deprecated and replaced by the name field.
3217
4078
  # @!attribute [rw] zone
3218
4079
  # @deprecated This field is deprecated and may be removed in the next major version update.
3219
4080
  # @return [::String]
3220
- # Required. Deprecated. The name of the Google Compute Engine
3221
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3222
- # cluster resides. This field has been deprecated and replaced by the name
3223
- # field.
4081
+ # Deprecated. The name of the Google Compute Engine
4082
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4083
+ # in which the cluster resides. This field has been deprecated and replaced
4084
+ # by the name field.
3224
4085
  # @!attribute [rw] cluster_id
3225
4086
  # @deprecated This field is deprecated and may be removed in the next major version update.
3226
4087
  # @return [::String]
3227
- # Required. Deprecated. The name of the cluster to upgrade.
4088
+ # Deprecated. The name of the cluster to upgrade.
3228
4089
  # This field has been deprecated and replaced by the name field.
3229
4090
  # @!attribute [rw] logging_service
3230
4091
  # @return [::String]
@@ -3252,27 +4113,27 @@ module Google
3252
4113
  # @!attribute [rw] project_id
3253
4114
  # @deprecated This field is deprecated and may be removed in the next major version update.
3254
4115
  # @return [::String]
3255
- # Required. Deprecated. The Google Developers Console [project ID or project
4116
+ # Deprecated. The Google Developers Console [project ID or project
3256
4117
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3257
4118
  # This field has been deprecated and replaced by the name field.
3258
4119
  # @!attribute [rw] zone
3259
4120
  # @deprecated This field is deprecated and may be removed in the next major version update.
3260
4121
  # @return [::String]
3261
- # Required. Deprecated. The name of the Google Compute Engine
3262
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3263
- # cluster resides. This field has been deprecated and replaced by the name
3264
- # field.
4122
+ # Deprecated. The name of the Google Compute Engine
4123
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4124
+ # in which the cluster resides. This field has been deprecated and replaced
4125
+ # by the name field.
3265
4126
  # @!attribute [rw] cluster_id
3266
4127
  # @deprecated This field is deprecated and may be removed in the next major version update.
3267
4128
  # @return [::String]
3268
- # Required. Deprecated. The name of the cluster to upgrade.
4129
+ # Deprecated. The name of the cluster to upgrade.
3269
4130
  # This field has been deprecated and replaced by the name field.
3270
4131
  # @!attribute [rw] monitoring_service
3271
4132
  # @return [::String]
3272
4133
  # Required. The monitoring service the cluster should use to write metrics.
3273
4134
  # Currently available options:
3274
4135
  #
3275
- # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
4136
+ # * `monitoring.googleapis.com/kubernetes` - The Cloud Monitoring
3276
4137
  # service with a Kubernetes-native resource model
3277
4138
  # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
3278
4139
  # longer available as of GKE 1.15).
@@ -3293,20 +4154,20 @@ module Google
3293
4154
  # @!attribute [rw] project_id
3294
4155
  # @deprecated This field is deprecated and may be removed in the next major version update.
3295
4156
  # @return [::String]
3296
- # Required. Deprecated. The Google Developers Console [project ID or project
4157
+ # Deprecated. The Google Developers Console [project ID or project
3297
4158
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3298
4159
  # This field has been deprecated and replaced by the name field.
3299
4160
  # @!attribute [rw] zone
3300
4161
  # @deprecated This field is deprecated and may be removed in the next major version update.
3301
4162
  # @return [::String]
3302
- # Required. Deprecated. The name of the Google Compute Engine
3303
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3304
- # cluster resides. This field has been deprecated and replaced by the name
3305
- # field.
4163
+ # Deprecated. The name of the Google Compute Engine
4164
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4165
+ # in which the cluster resides. This field has been deprecated and replaced
4166
+ # by the name field.
3306
4167
  # @!attribute [rw] cluster_id
3307
4168
  # @deprecated This field is deprecated and may be removed in the next major version update.
3308
4169
  # @return [::String]
3309
- # Required. Deprecated. The name of the cluster to upgrade.
4170
+ # Deprecated. The name of the cluster to upgrade.
3310
4171
  # This field has been deprecated and replaced by the name field.
3311
4172
  # @!attribute [rw] addons_config
3312
4173
  # @return [::Google::Cloud::Container::V1beta1::AddonsConfig]
@@ -3325,28 +4186,28 @@ module Google
3325
4186
  # @!attribute [rw] project_id
3326
4187
  # @deprecated This field is deprecated and may be removed in the next major version update.
3327
4188
  # @return [::String]
3328
- # Required. Deprecated. The Google Developers Console [project ID or project
4189
+ # Deprecated. The Google Developers Console [project ID or project
3329
4190
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3330
4191
  # This field has been deprecated and replaced by the name field.
3331
4192
  # @!attribute [rw] zone
3332
4193
  # @deprecated This field is deprecated and may be removed in the next major version update.
3333
4194
  # @return [::String]
3334
- # Required. Deprecated. The name of the Google Compute Engine
3335
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3336
- # cluster resides. This field has been deprecated and replaced by the name
3337
- # field.
4195
+ # Deprecated. The name of the Google Compute Engine
4196
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4197
+ # in which the cluster resides. This field has been deprecated and replaced
4198
+ # by the name field.
3338
4199
  # @!attribute [rw] cluster_id
3339
4200
  # @deprecated This field is deprecated and may be removed in the next major version update.
3340
4201
  # @return [::String]
3341
- # Required. Deprecated. The name of the cluster to upgrade.
4202
+ # Deprecated. The name of the cluster to upgrade.
3342
4203
  # This field has been deprecated and replaced by the name field.
3343
4204
  # @!attribute [rw] locations
3344
4205
  # @return [::Array<::String>]
3345
4206
  # Required. The desired list of Google Compute Engine
3346
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3347
- # cluster's nodes should be located. Changing the locations a cluster is in
3348
- # will result in nodes being either created or removed from the cluster,
3349
- # depending on whether locations are being added or removed.
4207
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
4208
+ # in which the cluster's nodes should be located. Changing the locations a
4209
+ # cluster is in will result in nodes being either created or removed from the
4210
+ # cluster, depending on whether locations are being added or removed.
3350
4211
  #
3351
4212
  # This list must always include the cluster's primary zone.
3352
4213
  # @!attribute [rw] name
@@ -3362,20 +4223,20 @@ module Google
3362
4223
  # @!attribute [rw] project_id
3363
4224
  # @deprecated This field is deprecated and may be removed in the next major version update.
3364
4225
  # @return [::String]
3365
- # Required. Deprecated. The Google Developers Console [project ID or project
4226
+ # Deprecated. The Google Developers Console [project ID or project
3366
4227
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3367
4228
  # This field has been deprecated and replaced by the name field.
3368
4229
  # @!attribute [rw] zone
3369
4230
  # @deprecated This field is deprecated and may be removed in the next major version update.
3370
4231
  # @return [::String]
3371
- # Required. Deprecated. The name of the Google Compute Engine
3372
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3373
- # cluster resides. This field has been deprecated and replaced by the name
3374
- # field.
4232
+ # Deprecated. The name of the Google Compute Engine
4233
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4234
+ # in which the cluster resides. This field has been deprecated and replaced
4235
+ # by the name field.
3375
4236
  # @!attribute [rw] cluster_id
3376
4237
  # @deprecated This field is deprecated and may be removed in the next major version update.
3377
4238
  # @return [::String]
3378
- # Required. Deprecated. The name of the cluster to upgrade.
4239
+ # Deprecated. The name of the cluster to upgrade.
3379
4240
  # This field has been deprecated and replaced by the name field.
3380
4241
  # @!attribute [rw] master_version
3381
4242
  # @return [::String]
@@ -3402,20 +4263,20 @@ module Google
3402
4263
  # @!attribute [rw] project_id
3403
4264
  # @deprecated This field is deprecated and may be removed in the next major version update.
3404
4265
  # @return [::String]
3405
- # Required. Deprecated. The Google Developers Console [project ID or project
4266
+ # Deprecated. The Google Developers Console [project ID or project
3406
4267
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3407
4268
  # This field has been deprecated and replaced by the name field.
3408
4269
  # @!attribute [rw] zone
3409
4270
  # @deprecated This field is deprecated and may be removed in the next major version update.
3410
4271
  # @return [::String]
3411
- # Required. Deprecated. The name of the Google Compute Engine
3412
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3413
- # cluster resides. This field has been deprecated and replaced by the name
3414
- # field.
4272
+ # Deprecated. The name of the Google Compute Engine
4273
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4274
+ # in which the cluster resides. This field has been deprecated and replaced
4275
+ # by the name field.
3415
4276
  # @!attribute [rw] cluster_id
3416
4277
  # @deprecated This field is deprecated and may be removed in the next major version update.
3417
4278
  # @return [::String]
3418
- # Required. Deprecated. The name of the cluster to upgrade.
4279
+ # Deprecated. The name of the cluster to upgrade.
3419
4280
  # This field has been deprecated and replaced by the name field.
3420
4281
  # @!attribute [rw] action
3421
4282
  # @return [::Google::Cloud::Container::V1beta1::SetMasterAuthRequest::Action]
@@ -3454,20 +4315,20 @@ module Google
3454
4315
  # @!attribute [rw] project_id
3455
4316
  # @deprecated This field is deprecated and may be removed in the next major version update.
3456
4317
  # @return [::String]
3457
- # Required. Deprecated. The Google Developers Console [project ID or project
4318
+ # Deprecated. The Google Developers Console [project ID or project
3458
4319
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3459
4320
  # This field has been deprecated and replaced by the name field.
3460
4321
  # @!attribute [rw] zone
3461
4322
  # @deprecated This field is deprecated and may be removed in the next major version update.
3462
4323
  # @return [::String]
3463
- # Required. Deprecated. The name of the Google Compute Engine
3464
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3465
- # cluster resides. This field has been deprecated and replaced by the name
3466
- # field.
4324
+ # Deprecated. The name of the Google Compute Engine
4325
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4326
+ # in which the cluster resides. This field has been deprecated and replaced
4327
+ # by the name field.
3467
4328
  # @!attribute [rw] cluster_id
3468
4329
  # @deprecated This field is deprecated and may be removed in the next major version update.
3469
4330
  # @return [::String]
3470
- # Required. Deprecated. The name of the cluster to delete.
4331
+ # Deprecated. The name of the cluster to delete.
3471
4332
  # This field has been deprecated and replaced by the name field.
3472
4333
  # @!attribute [rw] name
3473
4334
  # @return [::String]
@@ -3482,16 +4343,16 @@ module Google
3482
4343
  # @!attribute [rw] project_id
3483
4344
  # @deprecated This field is deprecated and may be removed in the next major version update.
3484
4345
  # @return [::String]
3485
- # Required. Deprecated. The Google Developers Console [project ID or project
4346
+ # Deprecated. The Google Developers Console [project ID or project
3486
4347
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3487
4348
  # This field has been deprecated and replaced by the parent field.
3488
4349
  # @!attribute [rw] zone
3489
4350
  # @deprecated This field is deprecated and may be removed in the next major version update.
3490
4351
  # @return [::String]
3491
- # Required. Deprecated. The name of the Google Compute Engine
3492
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3493
- # cluster resides, or "-" for all zones. This field has been deprecated and
3494
- # replaced by the parent field.
4352
+ # Deprecated. The name of the Google Compute Engine
4353
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4354
+ # in which the cluster resides, or "-" for all zones. This field has been
4355
+ # deprecated and replaced by the parent field.
3495
4356
  # @!attribute [rw] parent
3496
4357
  # @return [::String]
3497
4358
  # The parent (project and location) where the clusters will be listed.
@@ -3520,20 +4381,20 @@ module Google
3520
4381
  # @!attribute [rw] project_id
3521
4382
  # @deprecated This field is deprecated and may be removed in the next major version update.
3522
4383
  # @return [::String]
3523
- # Required. Deprecated. The Google Developers Console [project ID or project
4384
+ # Deprecated. The Google Developers Console [project ID or project
3524
4385
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3525
4386
  # This field has been deprecated and replaced by the name field.
3526
4387
  # @!attribute [rw] zone
3527
4388
  # @deprecated This field is deprecated and may be removed in the next major version update.
3528
4389
  # @return [::String]
3529
- # Required. Deprecated. The name of the Google Compute Engine
3530
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3531
- # cluster resides. This field has been deprecated and replaced by the name
3532
- # field.
4390
+ # Deprecated. The name of the Google Compute Engine
4391
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4392
+ # in which the cluster resides. This field has been deprecated and replaced
4393
+ # by the name field.
3533
4394
  # @!attribute [rw] operation_id
3534
4395
  # @deprecated This field is deprecated and may be removed in the next major version update.
3535
4396
  # @return [::String]
3536
- # Required. Deprecated. The server-assigned `name` of the operation.
4397
+ # Deprecated. The server-assigned `name` of the operation.
3537
4398
  # This field has been deprecated and replaced by the name field.
3538
4399
  # @!attribute [rw] name
3539
4400
  # @return [::String]
@@ -3548,16 +4409,16 @@ module Google
3548
4409
  # @!attribute [rw] project_id
3549
4410
  # @deprecated This field is deprecated and may be removed in the next major version update.
3550
4411
  # @return [::String]
3551
- # Required. Deprecated. The Google Developers Console [project ID or project
4412
+ # Deprecated. The Google Developers Console [project ID or project
3552
4413
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3553
4414
  # This field has been deprecated and replaced by the parent field.
3554
4415
  # @!attribute [rw] zone
3555
4416
  # @deprecated This field is deprecated and may be removed in the next major version update.
3556
4417
  # @return [::String]
3557
- # Required. Deprecated. The name of the Google Compute Engine
3558
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return
3559
- # operations for, or `-` for all zones. This field has been deprecated and
3560
- # replaced by the parent field.
4418
+ # Deprecated. The name of the Google Compute Engine
4419
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4420
+ # to return operations for, or `-` for all zones. This field has been
4421
+ # deprecated and replaced by the parent field.
3561
4422
  # @!attribute [rw] parent
3562
4423
  # @return [::String]
3563
4424
  # The parent (project and location) where the operations will be listed.
@@ -3572,20 +4433,20 @@ module Google
3572
4433
  # @!attribute [rw] project_id
3573
4434
  # @deprecated This field is deprecated and may be removed in the next major version update.
3574
4435
  # @return [::String]
3575
- # Required. Deprecated. The Google Developers Console [project ID or project
4436
+ # Deprecated. The Google Developers Console [project ID or project
3576
4437
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3577
4438
  # This field has been deprecated and replaced by the name field.
3578
4439
  # @!attribute [rw] zone
3579
4440
  # @deprecated This field is deprecated and may be removed in the next major version update.
3580
4441
  # @return [::String]
3581
- # Required. Deprecated. The name of the Google Compute Engine
3582
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3583
- # operation resides. This field has been deprecated and replaced by the name
3584
- # field.
4442
+ # Deprecated. The name of the Google Compute Engine
4443
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4444
+ # in which the operation resides. This field has been deprecated and replaced
4445
+ # by the name field.
3585
4446
  # @!attribute [rw] operation_id
3586
4447
  # @deprecated This field is deprecated and may be removed in the next major version update.
3587
4448
  # @return [::String]
3588
- # Required. Deprecated. The server-assigned `name` of the operation.
4449
+ # Deprecated. The server-assigned `name` of the operation.
3589
4450
  # This field has been deprecated and replaced by the name field.
3590
4451
  # @!attribute [rw] name
3591
4452
  # @return [::String]
@@ -3613,16 +4474,16 @@ module Google
3613
4474
  # @!attribute [rw] project_id
3614
4475
  # @deprecated This field is deprecated and may be removed in the next major version update.
3615
4476
  # @return [::String]
3616
- # Required. Deprecated. The Google Developers Console [project ID or project
4477
+ # Deprecated. The Google Developers Console [project ID or project
3617
4478
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3618
4479
  # This field has been deprecated and replaced by the name field.
3619
4480
  # @!attribute [rw] zone
3620
4481
  # @deprecated This field is deprecated and may be removed in the next major version update.
3621
4482
  # @return [::String]
3622
- # Required. Deprecated. The name of the Google Compute Engine
3623
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return
3624
- # operations for. This field has been deprecated and replaced by the name
3625
- # field.
4483
+ # Deprecated. The name of the Google Compute Engine
4484
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4485
+ # to return operations for. This field has been deprecated and replaced by
4486
+ # the name field.
3626
4487
  # @!attribute [rw] name
3627
4488
  # @return [::String]
3628
4489
  # The name (project and location) of the server config to get,
@@ -3674,6 +4535,9 @@ module Google
3674
4535
  # @!attribute [rw] valid_versions
3675
4536
  # @return [::Array<::String>]
3676
4537
  # List of valid versions for the channel.
4538
+ # @!attribute [rw] upgrade_target_version
4539
+ # @return [::String]
4540
+ # The auto upgrade target version for clusters on the channel.
3677
4541
  class ReleaseChannelConfig
3678
4542
  include ::Google::Protobuf::MessageExts
3679
4543
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3746,20 +4610,20 @@ module Google
3746
4610
  # @!attribute [rw] project_id
3747
4611
  # @deprecated This field is deprecated and may be removed in the next major version update.
3748
4612
  # @return [::String]
3749
- # Required. Deprecated. The Google Developers Console [project ID or project
4613
+ # Deprecated. The Google Developers Console [project ID or project
3750
4614
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3751
4615
  # This field has been deprecated and replaced by the parent field.
3752
4616
  # @!attribute [rw] zone
3753
4617
  # @deprecated This field is deprecated and may be removed in the next major version update.
3754
4618
  # @return [::String]
3755
- # Required. Deprecated. The name of the Google Compute Engine
3756
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3757
- # cluster resides. This field has been deprecated and replaced by the parent
3758
- # field.
4619
+ # Deprecated. The name of the Google Compute Engine
4620
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4621
+ # in which the cluster resides. This field has been deprecated and replaced
4622
+ # by the parent field.
3759
4623
  # @!attribute [rw] cluster_id
3760
4624
  # @deprecated This field is deprecated and may be removed in the next major version update.
3761
4625
  # @return [::String]
3762
- # Required. Deprecated. The name of the cluster.
4626
+ # Deprecated. The name of the cluster.
3763
4627
  # This field has been deprecated and replaced by the parent field.
3764
4628
  # @!attribute [rw] node_pool
3765
4629
  # @return [::Google::Cloud::Container::V1beta1::NodePool]
@@ -3778,25 +4642,25 @@ module Google
3778
4642
  # @!attribute [rw] project_id
3779
4643
  # @deprecated This field is deprecated and may be removed in the next major version update.
3780
4644
  # @return [::String]
3781
- # Required. Deprecated. The Google Developers Console [project ID or project
4645
+ # Deprecated. The Google Developers Console [project ID or project
3782
4646
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3783
4647
  # This field has been deprecated and replaced by the name field.
3784
4648
  # @!attribute [rw] zone
3785
4649
  # @deprecated This field is deprecated and may be removed in the next major version update.
3786
4650
  # @return [::String]
3787
- # Required. Deprecated. The name of the Google Compute Engine
3788
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3789
- # cluster resides. This field has been deprecated and replaced by the name
3790
- # field.
4651
+ # Deprecated. The name of the Google Compute Engine
4652
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4653
+ # in which the cluster resides. This field has been deprecated and replaced
4654
+ # by the name field.
3791
4655
  # @!attribute [rw] cluster_id
3792
4656
  # @deprecated This field is deprecated and may be removed in the next major version update.
3793
4657
  # @return [::String]
3794
- # Required. Deprecated. The name of the cluster.
4658
+ # Deprecated. The name of the cluster.
3795
4659
  # This field has been deprecated and replaced by the name field.
3796
4660
  # @!attribute [rw] node_pool_id
3797
4661
  # @deprecated This field is deprecated and may be removed in the next major version update.
3798
4662
  # @return [::String]
3799
- # Required. Deprecated. The name of the node pool to delete.
4663
+ # Deprecated. The name of the node pool to delete.
3800
4664
  # This field has been deprecated and replaced by the name field.
3801
4665
  # @!attribute [rw] name
3802
4666
  # @return [::String]
@@ -3812,20 +4676,20 @@ module Google
3812
4676
  # @!attribute [rw] project_id
3813
4677
  # @deprecated This field is deprecated and may be removed in the next major version update.
3814
4678
  # @return [::String]
3815
- # Required. Deprecated. The Google Developers Console [project ID or project
4679
+ # Deprecated. The Google Developers Console [project ID or project
3816
4680
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3817
4681
  # This field has been deprecated and replaced by the parent field.
3818
4682
  # @!attribute [rw] zone
3819
4683
  # @deprecated This field is deprecated and may be removed in the next major version update.
3820
4684
  # @return [::String]
3821
- # Required. Deprecated. The name of the Google Compute Engine
3822
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3823
- # cluster resides. This field has been deprecated and replaced by the parent
3824
- # field.
4685
+ # Deprecated. The name of the Google Compute Engine
4686
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4687
+ # in which the cluster resides. This field has been deprecated and replaced
4688
+ # by the parent field.
3825
4689
  # @!attribute [rw] cluster_id
3826
4690
  # @deprecated This field is deprecated and may be removed in the next major version update.
3827
4691
  # @return [::String]
3828
- # Required. Deprecated. The name of the cluster.
4692
+ # Deprecated. The name of the cluster.
3829
4693
  # This field has been deprecated and replaced by the parent field.
3830
4694
  # @!attribute [rw] parent
3831
4695
  # @return [::String]
@@ -3840,25 +4704,25 @@ module Google
3840
4704
  # @!attribute [rw] project_id
3841
4705
  # @deprecated This field is deprecated and may be removed in the next major version update.
3842
4706
  # @return [::String]
3843
- # Required. Deprecated. The Google Developers Console [project ID or project
4707
+ # Deprecated. The Google Developers Console [project ID or project
3844
4708
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3845
4709
  # This field has been deprecated and replaced by the name field.
3846
4710
  # @!attribute [rw] zone
3847
4711
  # @deprecated This field is deprecated and may be removed in the next major version update.
3848
4712
  # @return [::String]
3849
- # Required. Deprecated. The name of the Google Compute Engine
3850
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3851
- # cluster resides. This field has been deprecated and replaced by the name
3852
- # field.
4713
+ # Deprecated. The name of the Google Compute Engine
4714
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4715
+ # in which the cluster resides. This field has been deprecated and replaced
4716
+ # by the name field.
3853
4717
  # @!attribute [rw] cluster_id
3854
4718
  # @deprecated This field is deprecated and may be removed in the next major version update.
3855
4719
  # @return [::String]
3856
- # Required. Deprecated. The name of the cluster.
4720
+ # Deprecated. The name of the cluster.
3857
4721
  # This field has been deprecated and replaced by the name field.
3858
4722
  # @!attribute [rw] node_pool_id
3859
4723
  # @deprecated This field is deprecated and may be removed in the next major version update.
3860
4724
  # @return [::String]
3861
- # Required. Deprecated. The name of the node pool.
4725
+ # Deprecated. The name of the node pool.
3862
4726
  # This field has been deprecated and replaced by the name field.
3863
4727
  # @!attribute [rw] name
3864
4728
  # @return [::String]
@@ -3932,14 +4796,15 @@ module Google
3932
4796
  # @!attribute [rw] initial_node_count
3933
4797
  # @return [::Integer]
3934
4798
  # The initial node count for the pool. You must ensure that your
3935
- # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
4799
+ # Compute Engine [resource
4800
+ # quota](https://cloud.google.com/compute/quotas)
3936
4801
  # is sufficient for this number of instances. You must also have available
3937
4802
  # firewall and routes quota.
3938
4803
  # @!attribute [rw] locations
3939
4804
  # @return [::Array<::String>]
3940
4805
  # The list of Google Compute Engine
3941
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3942
- # NodePool's nodes should be located.
4806
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
4807
+ # in which the NodePool's nodes should be located.
3943
4808
  #
3944
4809
  # If this value is unspecified during node pool creation, the
3945
4810
  # [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
@@ -4406,25 +5271,25 @@ module Google
4406
5271
  # @!attribute [rw] project_id
4407
5272
  # @deprecated This field is deprecated and may be removed in the next major version update.
4408
5273
  # @return [::String]
4409
- # Required. Deprecated. The Google Developers Console [project ID or project
5274
+ # Deprecated. The Google Developers Console [project ID or project
4410
5275
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4411
5276
  # This field has been deprecated and replaced by the name field.
4412
5277
  # @!attribute [rw] zone
4413
5278
  # @deprecated This field is deprecated and may be removed in the next major version update.
4414
5279
  # @return [::String]
4415
- # Required. Deprecated. The name of the Google Compute Engine
4416
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4417
- # cluster resides. This field has been deprecated and replaced by the name
4418
- # field.
5280
+ # Deprecated. The name of the Google Compute Engine
5281
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5282
+ # in which the cluster resides. This field has been deprecated and replaced
5283
+ # by the name field.
4419
5284
  # @!attribute [rw] cluster_id
4420
5285
  # @deprecated This field is deprecated and may be removed in the next major version update.
4421
5286
  # @return [::String]
4422
- # Required. Deprecated. The name of the cluster to update.
5287
+ # Deprecated. The name of the cluster to update.
4423
5288
  # This field has been deprecated and replaced by the name field.
4424
5289
  # @!attribute [rw] node_pool_id
4425
5290
  # @deprecated This field is deprecated and may be removed in the next major version update.
4426
5291
  # @return [::String]
4427
- # Required. Deprecated. The name of the node pool to update.
5292
+ # Deprecated. The name of the node pool to update.
4428
5293
  # This field has been deprecated and replaced by the name field.
4429
5294
  # @!attribute [rw] management
4430
5295
  # @return [::Google::Cloud::Container::V1beta1::NodeManagement]
@@ -4443,25 +5308,25 @@ module Google
4443
5308
  # @!attribute [rw] project_id
4444
5309
  # @deprecated This field is deprecated and may be removed in the next major version update.
4445
5310
  # @return [::String]
4446
- # Required. Deprecated. The Google Developers Console [project ID or project
5311
+ # Deprecated. The Google Developers Console [project ID or project
4447
5312
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4448
5313
  # This field has been deprecated and replaced by the name field.
4449
5314
  # @!attribute [rw] zone
4450
5315
  # @deprecated This field is deprecated and may be removed in the next major version update.
4451
5316
  # @return [::String]
4452
- # Required. Deprecated. The name of the Google Compute Engine
4453
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4454
- # cluster resides. This field has been deprecated and replaced by the name
4455
- # field.
5317
+ # Deprecated. The name of the Google Compute Engine
5318
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5319
+ # in which the cluster resides. This field has been deprecated and replaced
5320
+ # by the name field.
4456
5321
  # @!attribute [rw] cluster_id
4457
5322
  # @deprecated This field is deprecated and may be removed in the next major version update.
4458
5323
  # @return [::String]
4459
- # Required. Deprecated. The name of the cluster to update.
5324
+ # Deprecated. The name of the cluster to update.
4460
5325
  # This field has been deprecated and replaced by the name field.
4461
5326
  # @!attribute [rw] node_pool_id
4462
5327
  # @deprecated This field is deprecated and may be removed in the next major version update.
4463
5328
  # @return [::String]
4464
- # Required. Deprecated. The name of the node pool to update.
5329
+ # Deprecated. The name of the node pool to update.
4465
5330
  # This field has been deprecated and replaced by the name field.
4466
5331
  # @!attribute [rw] node_count
4467
5332
  # @return [::Integer]
@@ -4489,30 +5354,30 @@ module Google
4489
5354
  end
4490
5355
 
4491
5356
  # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
4492
- # NodePool upgrade. This will be an no-op if the last upgrade successfully
4493
- # completed.
5357
+ # NodePool upgrade. This will be an no-op if the last upgrade successfully
5358
+ # completed.
4494
5359
  # @!attribute [rw] project_id
4495
5360
  # @deprecated This field is deprecated and may be removed in the next major version update.
4496
5361
  # @return [::String]
4497
- # Required. Deprecated. The Google Developers Console [project ID or project
5362
+ # Deprecated. The Google Developers Console [project ID or project
4498
5363
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4499
5364
  # This field has been deprecated and replaced by the name field.
4500
5365
  # @!attribute [rw] zone
4501
5366
  # @deprecated This field is deprecated and may be removed in the next major version update.
4502
5367
  # @return [::String]
4503
- # Required. Deprecated. The name of the Google Compute Engine
4504
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4505
- # cluster resides. This field has been deprecated and replaced by the name
4506
- # field.
5368
+ # Deprecated. The name of the Google Compute Engine
5369
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5370
+ # in which the cluster resides. This field has been deprecated and replaced
5371
+ # by the name field.
4507
5372
  # @!attribute [rw] cluster_id
4508
5373
  # @deprecated This field is deprecated and may be removed in the next major version update.
4509
5374
  # @return [::String]
4510
- # Required. Deprecated. The name of the cluster to rollback.
5375
+ # Deprecated. The name of the cluster to rollback.
4511
5376
  # This field has been deprecated and replaced by the name field.
4512
5377
  # @!attribute [rw] node_pool_id
4513
5378
  # @deprecated This field is deprecated and may be removed in the next major version update.
4514
5379
  # @return [::String]
4515
- # Required. Deprecated. The name of the node pool to rollback.
5380
+ # Deprecated. The name of the node pool to rollback.
4516
5381
  # This field has been deprecated and replaced by the name field.
4517
5382
  # @!attribute [rw] name
4518
5383
  # @return [::String]
@@ -4558,8 +5423,11 @@ module Google
4558
5423
  # @!attribute [rw] autoprovisioning_locations
4559
5424
  # @return [::Array<::String>]
4560
5425
  # The list of Google Compute Engine
4561
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
4562
- # NodePool's nodes can be created by NAP.
5426
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
5427
+ # in which the NodePool's nodes can be created by NAP.
5428
+ # @!attribute [rw] default_compute_class_config
5429
+ # @return [::Google::Cloud::Container::V1beta1::DefaultComputeClassConfig]
5430
+ # Default compute class is a configuration for default compute class.
4563
5431
  class ClusterAutoscaling
4564
5432
  include ::Google::Protobuf::MessageExts
4565
5433
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4647,11 +5515,11 @@ module Google
4647
5515
  # @!attribute [rw] image_type
4648
5516
  # @return [::String]
4649
5517
  # The image type to use for NAP created node. Please see
4650
- # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
4651
- # available image types.
5518
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
5519
+ # for available image types.
4652
5520
  # @!attribute [rw] insecure_kubelet_readonly_port_enabled
4653
5521
  # @return [::Boolean]
4654
- # Enable or disable Kubelet read only port.
5522
+ # DEPRECATED. Use NodePoolAutoConfig.NodeKubeletConfig instead.
4655
5523
  class AutoprovisioningNodePoolDefaults
4656
5524
  include ::Google::Protobuf::MessageExts
4657
5525
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4673,6 +5541,16 @@ module Google
4673
5541
  extend ::Google::Protobuf::MessageExts::ClassMethods
4674
5542
  end
4675
5543
 
5544
+ # DefaultComputeClassConfig defines default compute class
5545
+ # configuration.
5546
+ # @!attribute [rw] enabled
5547
+ # @return [::Boolean]
5548
+ # Enables default compute class.
5549
+ class DefaultComputeClassConfig
5550
+ include ::Google::Protobuf::MessageExts
5551
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5552
+ end
5553
+
4676
5554
  # NodePoolAutoscaling contains information required by cluster autoscaler to
4677
5555
  # adjust the size of the node pool to the current cluster usage.
4678
5556
  # @!attribute [rw] enabled
@@ -4680,11 +5558,11 @@ module Google
4680
5558
  # Is autoscaling enabled for this node pool.
4681
5559
  # @!attribute [rw] min_node_count
4682
5560
  # @return [::Integer]
4683
- # Minimum number of nodes for one location in the NodePool. Must be >= 1 and
4684
- # <= max_node_count.
5561
+ # Minimum number of nodes for one location in the node pool. Must be greater
5562
+ # than or equal to 0 and less than or equal to max_node_count.
4685
5563
  # @!attribute [rw] max_node_count
4686
5564
  # @return [::Integer]
4687
- # Maximum number of nodes for one location in the NodePool. Must be >=
5565
+ # Maximum number of nodes for one location in the node pool. Must be >=
4688
5566
  # min_node_count. There has to be enough quota to scale up the cluster.
4689
5567
  # @!attribute [rw] autoprovisioned
4690
5568
  # @return [::Boolean]
@@ -4694,13 +5572,13 @@ module Google
4694
5572
  # Location policy used when scaling up a nodepool.
4695
5573
  # @!attribute [rw] total_min_node_count
4696
5574
  # @return [::Integer]
4697
- # Minimum number of nodes in the node pool. Must be greater than 1 less than
4698
- # total_max_node_count.
5575
+ # Minimum number of nodes in the node pool. Must be greater than or equal
5576
+ # to 0 and less than or equal to total_max_node_count.
4699
5577
  # The total_*_node_count fields are mutually exclusive with the *_node_count
4700
5578
  # fields.
4701
5579
  # @!attribute [rw] total_max_node_count
4702
5580
  # @return [::Integer]
4703
- # Maximum number of nodes in the node pool. Must be greater than
5581
+ # Maximum number of nodes in the node pool. Must be greater than or equal to
4704
5582
  # total_min_node_count. There has to be enough quota to scale up the cluster.
4705
5583
  # The total_*_node_count fields are mutually exclusive with the *_node_count
4706
5584
  # fields.
@@ -4729,20 +5607,20 @@ module Google
4729
5607
  # @!attribute [rw] project_id
4730
5608
  # @deprecated This field is deprecated and may be removed in the next major version update.
4731
5609
  # @return [::String]
4732
- # Required. Deprecated. The Google Developers Console [project ID or project
5610
+ # Deprecated. The Google Developers Console [project ID or project
4733
5611
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4734
5612
  # This field has been deprecated and replaced by the name field.
4735
5613
  # @!attribute [rw] zone
4736
5614
  # @deprecated This field is deprecated and may be removed in the next major version update.
4737
5615
  # @return [::String]
4738
- # Required. Deprecated. The name of the Google Compute Engine
4739
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4740
- # cluster resides. This field has been deprecated and replaced by the name
4741
- # field.
5616
+ # Deprecated. The name of the Google Compute Engine
5617
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5618
+ # in which the cluster resides. This field has been deprecated and replaced
5619
+ # by the name field.
4742
5620
  # @!attribute [rw] cluster_id
4743
5621
  # @deprecated This field is deprecated and may be removed in the next major version update.
4744
5622
  # @return [::String]
4745
- # Required. Deprecated. The name of the cluster.
5623
+ # Deprecated. The name of the cluster.
4746
5624
  # This field has been deprecated and replaced by the name field.
4747
5625
  # @!attribute [rw] resource_labels
4748
5626
  # @return [::Google::Protobuf::Map{::String => ::String}]
@@ -4778,20 +5656,20 @@ module Google
4778
5656
  # @!attribute [rw] project_id
4779
5657
  # @deprecated This field is deprecated and may be removed in the next major version update.
4780
5658
  # @return [::String]
4781
- # Required. Deprecated. The Google Developers Console [project ID or project
5659
+ # Deprecated. The Google Developers Console [project ID or project
4782
5660
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4783
5661
  # This field has been deprecated and replaced by the name field.
4784
5662
  # @!attribute [rw] zone
4785
5663
  # @deprecated This field is deprecated and may be removed in the next major version update.
4786
5664
  # @return [::String]
4787
- # Required. Deprecated. The name of the Google Compute Engine
4788
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4789
- # cluster resides. This field has been deprecated and replaced by the name
4790
- # field.
5665
+ # Deprecated. The name of the Google Compute Engine
5666
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5667
+ # in which the cluster resides. This field has been deprecated and replaced
5668
+ # by the name field.
4791
5669
  # @!attribute [rw] cluster_id
4792
5670
  # @deprecated This field is deprecated and may be removed in the next major version update.
4793
5671
  # @return [::String]
4794
- # Required. Deprecated. The name of the cluster to update.
5672
+ # Deprecated. The name of the cluster to update.
4795
5673
  # This field has been deprecated and replaced by the name field.
4796
5674
  # @!attribute [rw] enabled
4797
5675
  # @return [::Boolean]
@@ -4810,20 +5688,20 @@ module Google
4810
5688
  # @!attribute [rw] project_id
4811
5689
  # @deprecated This field is deprecated and may be removed in the next major version update.
4812
5690
  # @return [::String]
4813
- # Required. Deprecated. The Google Developers Console [project ID or project
5691
+ # Deprecated. The Google Developers Console [project ID or project
4814
5692
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4815
5693
  # This field has been deprecated and replaced by the name field.
4816
5694
  # @!attribute [rw] zone
4817
5695
  # @deprecated This field is deprecated and may be removed in the next major version update.
4818
5696
  # @return [::String]
4819
- # Required. Deprecated. The name of the Google Compute Engine
4820
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4821
- # cluster resides. This field has been deprecated and replaced by the name
4822
- # field.
5697
+ # Deprecated. The name of the Google Compute Engine
5698
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5699
+ # in which the cluster resides. This field has been deprecated and replaced
5700
+ # by the name field.
4823
5701
  # @!attribute [rw] cluster_id
4824
5702
  # @deprecated This field is deprecated and may be removed in the next major version update.
4825
5703
  # @return [::String]
4826
- # Required. Deprecated. The name of the cluster.
5704
+ # Deprecated. The name of the cluster.
4827
5705
  # This field has been deprecated and replaced by the name field.
4828
5706
  # @!attribute [rw] name
4829
5707
  # @return [::String]
@@ -4841,20 +5719,20 @@ module Google
4841
5719
  # @!attribute [rw] project_id
4842
5720
  # @deprecated This field is deprecated and may be removed in the next major version update.
4843
5721
  # @return [::String]
4844
- # Required. Deprecated. The Google Developers Console [project ID or project
5722
+ # Deprecated. The Google Developers Console [project ID or project
4845
5723
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4846
5724
  # This field has been deprecated and replaced by the name field.
4847
5725
  # @!attribute [rw] zone
4848
5726
  # @deprecated This field is deprecated and may be removed in the next major version update.
4849
5727
  # @return [::String]
4850
- # Required. Deprecated. The name of the Google Compute Engine
4851
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4852
- # cluster resides. This field has been deprecated and replaced by the name
4853
- # field.
5728
+ # Deprecated. The name of the Google Compute Engine
5729
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5730
+ # in which the cluster resides. This field has been deprecated and replaced
5731
+ # by the name field.
4854
5732
  # @!attribute [rw] cluster_id
4855
5733
  # @deprecated This field is deprecated and may be removed in the next major version update.
4856
5734
  # @return [::String]
4857
- # Required. Deprecated. The name of the cluster.
5735
+ # Deprecated. The name of the cluster.
4858
5736
  # This field has been deprecated and replaced by the name field.
4859
5737
  # @!attribute [rw] name
4860
5738
  # @return [::String]
@@ -4948,11 +5826,36 @@ module Google
4948
5826
  # @!attribute [rw] enabled
4949
5827
  # @return [::Boolean]
4950
5828
  # Enable Managed Collection.
5829
+ # @!attribute [rw] auto_monitoring_config
5830
+ # @return [::Google::Cloud::Container::V1beta1::AutoMonitoringConfig]
5831
+ # GKE Workload Auto-Monitoring Configuration.
4951
5832
  class ManagedPrometheusConfig
4952
5833
  include ::Google::Protobuf::MessageExts
4953
5834
  extend ::Google::Protobuf::MessageExts::ClassMethods
4954
5835
  end
4955
5836
 
5837
+ # AutoMonitoringConfig defines the configuration for GKE Workload
5838
+ # Auto-Monitoring.
5839
+ # @!attribute [rw] scope
5840
+ # @return [::Google::Cloud::Container::V1beta1::AutoMonitoringConfig::Scope]
5841
+ # Scope for GKE Workload Auto-Monitoring.
5842
+ class AutoMonitoringConfig
5843
+ include ::Google::Protobuf::MessageExts
5844
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5845
+
5846
+ # Scope for applications monitored by Auto-Monitoring
5847
+ module Scope
5848
+ # Not set.
5849
+ SCOPE_UNSPECIFIED = 0
5850
+
5851
+ # Auto-Monitoring is enabled for all supported applications.
5852
+ ALL = 1
5853
+
5854
+ # Disable Auto-Monitoring.
5855
+ NONE = 2
5856
+ end
5857
+ end
5858
+
4956
5859
  # WorkloadMetadataConfig defines the metadata configuration to expose to
4957
5860
  # workloads on the node pool.
4958
5861
  # @!attribute [rw] node_metadata
@@ -5017,20 +5920,20 @@ module Google
5017
5920
  # @!attribute [rw] project_id
5018
5921
  # @deprecated This field is deprecated and may be removed in the next major version update.
5019
5922
  # @return [::String]
5020
- # Required. Deprecated. The Google Developers Console [project ID or project
5923
+ # Deprecated. The Google Developers Console [project ID or project
5021
5924
  # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
5022
5925
  # This field has been deprecated and replaced by the name field.
5023
5926
  # @!attribute [rw] zone
5024
5927
  # @deprecated This field is deprecated and may be removed in the next major version update.
5025
5928
  # @return [::String]
5026
- # Required. Deprecated. The name of the Google Compute Engine
5027
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
5028
- # cluster resides. This field has been deprecated and replaced by the name
5029
- # field.
5929
+ # Deprecated. The name of the Google Compute Engine
5930
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5931
+ # in which the cluster resides. This field has been deprecated and replaced
5932
+ # by the name field.
5030
5933
  # @!attribute [rw] cluster_id
5031
5934
  # @deprecated This field is deprecated and may be removed in the next major version update.
5032
5935
  # @return [::String]
5033
- # Required. Deprecated. The name of the cluster.
5936
+ # Deprecated. The name of the cluster.
5034
5937
  # This field has been deprecated and replaced by the name field.
5035
5938
  # @!attribute [rw] network_policy
5036
5939
  # @return [::Google::Cloud::Container::V1beta1::NetworkPolicy]
@@ -5052,8 +5955,8 @@ module Google
5052
5955
  # @!attribute [rw] zone
5053
5956
  # @return [::String]
5054
5957
  # Required. The name of the Google Compute Engine
5055
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
5056
- # cluster resides.
5958
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5959
+ # in which the cluster resides.
5057
5960
  # @!attribute [rw] cluster_id
5058
5961
  # @return [::String]
5059
5962
  # Required. The name of the cluster to update.
@@ -5169,8 +6072,14 @@ module Google
5169
6072
  CLOUD_KMS_KEY_ERROR = 7
5170
6073
 
5171
6074
  # Cluster CA is expiring soon.
5172
- # More codes TBA
5173
6075
  CA_EXPIRING = 9
6076
+
6077
+ # Node service account is missing permissions.
6078
+ NODE_SERVICE_ACCOUNT_MISSING_PERMISSIONS = 10
6079
+
6080
+ # Cloud KMS key version used for etcd level encryption has been destroyed.
6081
+ # This is a permanent error.
6082
+ CLOUD_KMS_KEY_DESTROYED = 11
5174
6083
  end
5175
6084
  end
5176
6085
 
@@ -5184,8 +6093,8 @@ module Google
5184
6093
  # @!attribute [r] subnetwork
5185
6094
  # @return [::String]
5186
6095
  # Output only. The relative name of the Google Compute Engine
5187
- # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
5188
- # cluster is connected. Example:
6096
+ # [subnetwork](https://cloud.google.com/compute/docs/vpc)
6097
+ # to which the cluster is connected. Example:
5189
6098
  # projects/my-project/regions/us-central1/subnetworks/my-subnet
5190
6099
  # @!attribute [rw] enable_intra_node_visibility
5191
6100
  # @return [::Boolean]
@@ -5235,6 +6144,16 @@ module Google
5235
6144
  # @!attribute [rw] enable_cilium_clusterwide_network_policy
5236
6145
  # @return [::Boolean]
5237
6146
  # Whether CiliumClusterWideNetworkPolicy is enabled on this cluster.
6147
+ # @!attribute [rw] default_enable_private_nodes
6148
+ # @return [::Boolean]
6149
+ # Controls whether by default nodes have private IP addresses only.
6150
+ # It is invalid to specify both [PrivateClusterConfig.enablePrivateNodes][]
6151
+ # and this field at the same time.
6152
+ # To update the default setting, use
6153
+ # {::Google::Cloud::Container::V1beta1::ClusterUpdate#desired_default_enable_private_nodes ClusterUpdate.desired_default_enable_private_nodes}
6154
+ # @!attribute [rw] disable_l4_lb_firewall_reconciliation
6155
+ # @return [::Boolean]
6156
+ # Disable L4 load balancer VPC firewalls to enable firewall policies.
5238
6157
  class NetworkConfig
5239
6158
  include ::Google::Protobuf::MessageExts
5240
6159
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -5791,7 +6710,7 @@ module Google
5791
6710
  extend ::Google::Protobuf::MessageExts::ClassMethods
5792
6711
  end
5793
6712
 
5794
- # GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517
6713
+ # GetJSONWebKeysResponse is a valid JSON Web Key Set as specified in rfc 7517
5795
6714
  # @!attribute [rw] keys
5796
6715
  # @return [::Array<::Google::Cloud::Container::V1beta1::Jwk>]
5797
6716
  # The public component of the keys used by the cluster to sign token
@@ -5828,7 +6747,7 @@ module Google
5828
6747
  # The name of the resources which are subject to this issue.
5829
6748
  # @!attribute [rw] documentation_url
5830
6749
  # @return [::String]
5831
- # A URL to a public documnetation, which addresses resolving this issue.
6750
+ # A URL to a public documentation, which addresses resolving this issue.
5832
6751
  # @!attribute [rw] description
5833
6752
  # @return [::String]
5834
6753
  # The description of the issue.
@@ -5919,6 +6838,9 @@ module Google
5919
6838
  end
5920
6839
 
5921
6840
  # Configuration for Cloud TPU.
6841
+ # This message is deprecated due to the deprecation of 2VM TPU. The end of life
6842
+ # date for 2VM TPU is 2025-04-25.
6843
+ # @deprecated This message is deprecated and may be removed in the next major version update.
5922
6844
  # @!attribute [rw] enabled
5923
6845
  # @return [::Boolean]
5924
6846
  # Whether Cloud TPU integration is enabled or not.
@@ -5964,7 +6886,7 @@ module Google
5964
6886
  # Enable Autopilot
5965
6887
  # @!attribute [rw] workload_policy_config
5966
6888
  # @return [::Google::Cloud::Container::V1beta1::WorkloadPolicyConfig]
5967
- # Workload policy configuration for Autopilot.
6889
+ # WorkloadPolicyConfig is the configuration related to GCW workload policy
5968
6890
  # @!attribute [r] conversion_status
5969
6891
  # @return [::Google::Cloud::Container::V1beta1::AutopilotConversionStatus]
5970
6892
  # Output only. ConversionStatus shows conversion status.
@@ -5973,11 +6895,14 @@ module Google
5973
6895
  extend ::Google::Protobuf::MessageExts::ClassMethods
5974
6896
  end
5975
6897
 
5976
- # WorkloadPolicyConfig is the configuration of workload policy for autopilot
5977
- # clusters.
6898
+ # WorkloadPolicyConfig is the configuration related to GCW workload policy
5978
6899
  # @!attribute [rw] allow_net_admin
5979
6900
  # @return [::Boolean]
5980
6901
  # If true, workloads can use NET_ADMIN capability.
6902
+ # @!attribute [rw] autopilot_compatibility_auditing_enabled
6903
+ # @return [::Boolean]
6904
+ # If true, enables the GCW Auditor that audits workloads on
6905
+ # standard clusters.
5981
6906
  class WorkloadPolicyConfig
5982
6907
  include ::Google::Protobuf::MessageExts
5983
6908
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -6035,6 +6960,9 @@ module Google
6035
6960
 
6036
6961
  # Corresponds with SecurityBulletinEvent.
6037
6962
  SECURITY_BULLETIN_EVENT = 3
6963
+
6964
+ # Corresponds with UpgradeInfoEvent.
6965
+ UPGRADE_INFO_EVENT = 4
6038
6966
  end
6039
6967
  end
6040
6968
 
@@ -6043,9 +6971,27 @@ module Google
6043
6971
  # @!attribute [rw] enabled
6044
6972
  # @return [::Boolean]
6045
6973
  # Whether Confidential Nodes feature is enabled.
6974
+ # @!attribute [rw] confidential_instance_type
6975
+ # @return [::Google::Cloud::Container::V1beta1::ConfidentialNodes::ConfidentialInstanceType]
6976
+ # Defines the type of technology used by the confidential node.
6046
6977
  class ConfidentialNodes
6047
6978
  include ::Google::Protobuf::MessageExts
6048
6979
  extend ::Google::Protobuf::MessageExts::ClassMethods
6980
+
6981
+ # The type of technology used by the confidential node.
6982
+ module ConfidentialInstanceType
6983
+ # No type specified. Do not use this value.
6984
+ CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED = 0
6985
+
6986
+ # AMD Secure Encrypted Virtualization.
6987
+ SEV = 1
6988
+
6989
+ # AMD Secure Encrypted Virtualization - Secure Nested Paging.
6990
+ SEV_SNP = 2
6991
+
6992
+ # Intel Trust Domain eXtension.
6993
+ TDX = 3
6994
+ end
6049
6995
  end
6050
6996
 
6051
6997
  # UpgradeEvent is a notification sent to customers by the cluster server when
@@ -6074,6 +7020,86 @@ module Google
6074
7020
  extend ::Google::Protobuf::MessageExts::ClassMethods
6075
7021
  end
6076
7022
 
7023
+ # UpgradeInfoEvent is a notification sent to customers about the upgrade
7024
+ # information of a resource.
7025
+ # @!attribute [rw] resource_type
7026
+ # @return [::Google::Cloud::Container::V1beta1::UpgradeResourceType]
7027
+ # The resource type associated with the upgrade.
7028
+ # @!attribute [rw] operation
7029
+ # @return [::String]
7030
+ # The operation associated with this upgrade.
7031
+ # @!attribute [rw] start_time
7032
+ # @return [::Google::Protobuf::Timestamp]
7033
+ # The time when the operation was started.
7034
+ # @!attribute [rw] end_time
7035
+ # @return [::Google::Protobuf::Timestamp]
7036
+ # The time when the operation ended.
7037
+ # @!attribute [rw] current_version
7038
+ # @return [::String]
7039
+ # The current version before the upgrade.
7040
+ # @!attribute [rw] target_version
7041
+ # @return [::String]
7042
+ # The target version for the upgrade.
7043
+ # @!attribute [rw] resource
7044
+ # @return [::String]
7045
+ # Optional relative path to the resource. For example in node pool upgrades,
7046
+ # the relative path of the node pool.
7047
+ # @!attribute [r] state
7048
+ # @return [::Google::Cloud::Container::V1beta1::UpgradeInfoEvent::State]
7049
+ # Output only. The state of the upgrade.
7050
+ # @!attribute [rw] standard_support_end_time
7051
+ # @return [::Google::Protobuf::Timestamp]
7052
+ # The end of standard support timestamp.
7053
+ # @!attribute [rw] extended_support_end_time
7054
+ # @return [::Google::Protobuf::Timestamp]
7055
+ # The end of extended support timestamp.
7056
+ # @!attribute [rw] description
7057
+ # @return [::String]
7058
+ # A brief description of the event.
7059
+ # @!attribute [rw] event_type
7060
+ # @return [::Google::Cloud::Container::V1beta1::UpgradeInfoEvent::EventType]
7061
+ # The type of the event.
7062
+ class UpgradeInfoEvent
7063
+ include ::Google::Protobuf::MessageExts
7064
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7065
+
7066
+ # The state of the upgrade.
7067
+ module State
7068
+ # STATE_UNSPECIFIED indicates the state is unspecified.
7069
+ STATE_UNSPECIFIED = 0
7070
+
7071
+ # STARTED indicates the upgrade has started.
7072
+ STARTED = 3
7073
+
7074
+ # SUCCEEDED indicates the upgrade has completed successfully.
7075
+ SUCCEEDED = 4
7076
+
7077
+ # FAILED indicates the upgrade has failed.
7078
+ FAILED = 5
7079
+
7080
+ # CANCELED indicates the upgrade has canceled.
7081
+ CANCELED = 6
7082
+ end
7083
+
7084
+ # The type of the event.
7085
+ module EventType
7086
+ # EVENT_TYPE_UNSPECIFIED indicates the event type is unspecified.
7087
+ EVENT_TYPE_UNSPECIFIED = 0
7088
+
7089
+ # END_OF_SUPPORT indicates GKE version reaches end of support, check
7090
+ # standard_support_end_time and extended_support_end_time for more details.
7091
+ END_OF_SUPPORT = 1
7092
+
7093
+ # COS_MILESTONE_VERSION_UPDATE indicates that the COS node image will
7094
+ # update COS milestone version for new patch versions starting with
7095
+ # the one in the description.
7096
+ COS_MILESTONE_VERSION_UPDATE = 2
7097
+
7098
+ # UPGRADE_LIFECYCLE indicates the event is about the upgrade lifecycle.
7099
+ UPGRADE_LIFECYCLE = 3
7100
+ end
7101
+ end
7102
+
6077
7103
  # UpgradeAvailableEvent is a notification sent to customers when a new
6078
7104
  # available version is released.
6079
7105
  # @!attribute [rw] version
@@ -6138,6 +7164,9 @@ module Google
6138
7164
  # @return [::Boolean]
6139
7165
  # If this field is specified, it means there are manual steps that the user
6140
7166
  # must take to make their clusters safe.
7167
+ # @!attribute [rw] mitigated_versions
7168
+ # @return [::Array<::String>]
7169
+ # The GKE versions where this vulnerability is mitigated.
6141
7170
  class SecurityBulletinEvent
6142
7171
  include ::Google::Protobuf::MessageExts
6143
7172
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -6189,6 +7218,15 @@ module Google
6189
7218
 
6190
7219
  # kube-controller-manager
6191
7220
  CONTROLLER_MANAGER = 5
7221
+
7222
+ # kcp-sshd
7223
+ KCP_SSHD = 7
7224
+
7225
+ # kcp connection logs
7226
+ KCP_CONNECTION = 8
7227
+
7228
+ # horizontal pod autoscaler decision logs
7229
+ KCP_HPA = 9
6192
7230
  end
6193
7231
  end
6194
7232
 
@@ -6343,6 +7381,33 @@ module Google
6343
7381
 
6344
7382
  # NVIDIA Data Center GPU Manager (DCGM)
6345
7383
  DCGM = 15
7384
+
7385
+ # JobSet
7386
+ JOBSET = 16
7387
+ end
7388
+ end
7389
+
7390
+ # PodAutoscaling is used for configuration of parameters
7391
+ # for workload autoscaling.
7392
+ # @!attribute [rw] hpa_profile
7393
+ # @return [::Google::Cloud::Container::V1beta1::PodAutoscaling::HPAProfile]
7394
+ # Selected Horizontal Pod Autoscaling profile.
7395
+ class PodAutoscaling
7396
+ include ::Google::Protobuf::MessageExts
7397
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7398
+
7399
+ # Possible types of Horizontal Pod Autoscaling profile.
7400
+ module HPAProfile
7401
+ # HPA_PROFILE_UNSPECIFIED is used when no custom HPA profile is set.
7402
+ HPA_PROFILE_UNSPECIFIED = 0
7403
+
7404
+ # Customers explicitly opt-out of HPA profiles.
7405
+ NONE = 1
7406
+
7407
+ # PERFORMANCE is used when customers opt-in to the performance HPA profile.
7408
+ # In this profile we support a higher number of HPAs per cluster and faster
7409
+ # metrics collection for workload autoscaling.
7410
+ PERFORMANCE = 2
6346
7411
  end
6347
7412
  end
6348
7413
 
@@ -6366,6 +7431,79 @@ module Google
6366
7431
  extend ::Google::Protobuf::MessageExts::ClassMethods
6367
7432
  end
6368
7433
 
7434
+ # Configuration for all of the cluster's control plane endpoints.
7435
+ # @!attribute [rw] dns_endpoint_config
7436
+ # @return [::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig::DNSEndpointConfig]
7437
+ # DNS endpoint configuration.
7438
+ # @!attribute [rw] ip_endpoints_config
7439
+ # @return [::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig::IPEndpointsConfig]
7440
+ # IP endpoints configuration.
7441
+ class ControlPlaneEndpointsConfig
7442
+ include ::Google::Protobuf::MessageExts
7443
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7444
+
7445
+ # Describes the configuration of a DNS endpoint.
7446
+ # @!attribute [r] endpoint
7447
+ # @return [::String]
7448
+ # Output only. The cluster's DNS endpoint configuration.
7449
+ # A DNS format address. This is accessible from the public internet.
7450
+ # Ex: uid.us-central1.gke.goog.
7451
+ # Always present, but the behavior may change according to the value of
7452
+ # {::Google::Cloud::Container::V1beta1::ControlPlaneEndpointsConfig::DNSEndpointConfig#allow_external_traffic DNSEndpointConfig.allow_external_traffic}.
7453
+ # @!attribute [rw] allow_external_traffic
7454
+ # @return [::Boolean]
7455
+ # Controls whether user traffic is allowed over this endpoint. Note that
7456
+ # GCP-managed services may still use the endpoint even if this is false.
7457
+ class DNSEndpointConfig
7458
+ include ::Google::Protobuf::MessageExts
7459
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7460
+ end
7461
+
7462
+ # IP endpoints configuration.
7463
+ # @!attribute [rw] enabled
7464
+ # @return [::Boolean]
7465
+ # Controls whether to allow direct IP access.
7466
+ # @!attribute [rw] enable_public_endpoint
7467
+ # @return [::Boolean]
7468
+ # Controls whether the control plane allows access through a public IP.
7469
+ # It is invalid to specify both
7470
+ # [PrivateClusterConfig.enablePrivateEndpoint][] and this field at the same
7471
+ # time.
7472
+ # @!attribute [rw] global_access
7473
+ # @return [::Boolean]
7474
+ # Controls whether the control plane's private endpoint is accessible from
7475
+ # sources in other regions.
7476
+ # It is invalid to specify both
7477
+ # {::Google::Cloud::Container::V1beta1::PrivateClusterMasterGlobalAccessConfig#enabled PrivateClusterMasterGlobalAccessConfig.enabled}
7478
+ # and this field at the same time.
7479
+ # @!attribute [rw] authorized_networks_config
7480
+ # @return [::Google::Cloud::Container::V1beta1::MasterAuthorizedNetworksConfig]
7481
+ # Configuration of authorized networks. If enabled, restricts access to the
7482
+ # control plane based on source IP.
7483
+ # It is invalid to specify both
7484
+ # [Cluster.masterAuthorizedNetworksConfig][] and this field at the same
7485
+ # time.
7486
+ # @!attribute [r] public_endpoint
7487
+ # @return [::String]
7488
+ # Output only. The external IP address of this cluster's control plane.
7489
+ # Only populated if enabled.
7490
+ # @!attribute [r] private_endpoint
7491
+ # @return [::String]
7492
+ # Output only. The internal IP address of this cluster's control plane.
7493
+ # Only populated if enabled.
7494
+ # @!attribute [rw] private_endpoint_subnetwork
7495
+ # @return [::String]
7496
+ # Subnet to provision the master's private endpoint during cluster
7497
+ # creation. Specified in projects/*/regions/*/subnetworks/* format. It is
7498
+ # invalid to specify both
7499
+ # [PrivateClusterConfig.privateEndpointSubnetwork][] and this field at the
7500
+ # same time.
7501
+ class IPEndpointsConfig
7502
+ include ::Google::Protobuf::MessageExts
7503
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7504
+ end
7505
+ end
7506
+
6369
7507
  # A map of resource manager tag keys and values to be attached to the nodes
6370
7508
  # for managing Compute Engine firewalls using Network Firewall Policies.
6371
7509
  # Tags must be according to specifications in
@@ -6395,7 +7533,10 @@ module Google
6395
7533
  # EnterpriseConfig is the cluster enterprise configuration.
6396
7534
  # @!attribute [r] cluster_tier
6397
7535
  # @return [::Google::Cloud::Container::V1beta1::EnterpriseConfig::ClusterTier]
6398
- # Output only. cluster_tier specifies the premium tier of the cluster.
7536
+ # Output only. cluster_tier indicates the effective tier of the cluster.
7537
+ # @!attribute [rw] desired_tier
7538
+ # @return [::Google::Cloud::Container::V1beta1::EnterpriseConfig::ClusterTier]
7539
+ # desired_tier specifies the desired tier of the cluster.
6399
7540
  class EnterpriseConfig
6400
7541
  include ::Google::Protobuf::MessageExts
6401
7542
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -6416,10 +7557,45 @@ module Google
6416
7557
  # SecretManagerConfig is config for secret manager enablement.
6417
7558
  # @!attribute [rw] enabled
6418
7559
  # @return [::Boolean]
6419
- # Whether the cluster is configured to use secret manager CSI component.
7560
+ # Enable/Disable Secret Manager Config.
7561
+ # @!attribute [rw] rotation_config
7562
+ # @return [::Google::Cloud::Container::V1beta1::SecretManagerConfig::RotationConfig]
7563
+ # Rotation config for secret manager.
6420
7564
  class SecretManagerConfig
6421
7565
  include ::Google::Protobuf::MessageExts
6422
7566
  extend ::Google::Protobuf::MessageExts::ClassMethods
7567
+
7568
+ # RotationConfig is config for secret manager auto rotation.
7569
+ # @!attribute [rw] enabled
7570
+ # @return [::Boolean]
7571
+ # Whether the rotation is enabled.
7572
+ # @!attribute [rw] rotation_interval
7573
+ # @return [::Google::Protobuf::Duration]
7574
+ # The interval between two consecutive rotations. Default rotation interval
7575
+ # is 2 minutes.
7576
+ class RotationConfig
7577
+ include ::Google::Protobuf::MessageExts
7578
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7579
+ end
7580
+ end
7581
+
7582
+ # BootDisk specifies the boot disk configuration for nodepools.
7583
+ # @!attribute [rw] disk_type
7584
+ # @return [::String]
7585
+ # Disk type of the boot disk.
7586
+ # (i.e. Hyperdisk-Balanced, PD-Balanced, etc.)
7587
+ # @!attribute [rw] size_gb
7588
+ # @return [::Integer]
7589
+ # Disk size in GB. Replaces NodeConfig.disk_size_gb
7590
+ # @!attribute [rw] provisioned_iops
7591
+ # @return [::Integer]
7592
+ # For Hyperdisk-Balanced only, the provisioned IOPS config value.
7593
+ # @!attribute [rw] provisioned_throughput
7594
+ # @return [::Integer]
7595
+ # For Hyperdisk-Balanced only, the provisioned throughput config value.
7596
+ class BootDisk
7597
+ include ::Google::Protobuf::MessageExts
7598
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6423
7599
  end
6424
7600
 
6425
7601
  # SecondaryBootDisk represents a persistent disk attached to a node
@@ -6453,6 +7629,252 @@ module Google
6453
7629
  extend ::Google::Protobuf::MessageExts::ClassMethods
6454
7630
  end
6455
7631
 
7632
+ # FetchClusterUpgradeInfoRequest fetches the upgrade information of a cluster.
7633
+ # @!attribute [rw] name
7634
+ # @return [::String]
7635
+ # Required. The name (project, location, cluster) of the cluster to get.
7636
+ # Specified in the format `projects/*/locations/*/clusters/*` or
7637
+ # `projects/*/zones/*/clusters/*`.
7638
+ # @!attribute [rw] version
7639
+ # @return [::String]
7640
+ # API request version that initiates this operation.
7641
+ class FetchClusterUpgradeInfoRequest
7642
+ include ::Google::Protobuf::MessageExts
7643
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7644
+ end
7645
+
7646
+ # ClusterUpgradeInfo contains the upgrade information of a cluster.
7647
+ # @!attribute [rw] minor_target_version
7648
+ # @return [::String]
7649
+ # minor_target_version indicates the target version for minor upgrade.
7650
+ # @!attribute [rw] patch_target_version
7651
+ # @return [::String]
7652
+ # patch_target_version indicates the target version for patch upgrade.
7653
+ # @!attribute [rw] auto_upgrade_status
7654
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ClusterUpgradeInfo::AutoUpgradeStatus>]
7655
+ # The auto upgrade status.
7656
+ # @!attribute [rw] paused_reason
7657
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ClusterUpgradeInfo::AutoUpgradePausedReason>]
7658
+ # The auto upgrade paused reason.
7659
+ # @!attribute [rw] upgrade_details
7660
+ # @return [::Array<::Google::Cloud::Container::V1beta1::UpgradeDetails>]
7661
+ # The list of past auto upgrades.
7662
+ # @!attribute [rw] end_of_standard_support_timestamp
7663
+ # @return [::String]
7664
+ # The cluster's current minor version's end of standard support timestamp.
7665
+ # @!attribute [rw] end_of_extended_support_timestamp
7666
+ # @return [::String]
7667
+ # The cluster's current minor version's end of extended support timestamp.
7668
+ class ClusterUpgradeInfo
7669
+ include ::Google::Protobuf::MessageExts
7670
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7671
+
7672
+ # AutoUpgradeStatus indicates the status of auto upgrade.
7673
+ module AutoUpgradeStatus
7674
+ # UNKNOWN indicates an unknown status.
7675
+ UNKNOWN = 0
7676
+
7677
+ # ACTIVE indicates an active status.
7678
+ ACTIVE = 1
7679
+
7680
+ # MINOR_UPGRADE_PAUSED indicates the minor version upgrade is
7681
+ # paused.
7682
+ MINOR_UPGRADE_PAUSED = 4
7683
+
7684
+ # UPGRADE_PAUSED indicates the upgrade is paused.
7685
+ UPGRADE_PAUSED = 5
7686
+ end
7687
+
7688
+ # AutoUpgradePausedReason indicates the reason for auto upgrade paused
7689
+ # status.
7690
+ module AutoUpgradePausedReason
7691
+ # AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED indicates an unspecified reason.
7692
+ AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED = 0
7693
+
7694
+ # MAINTENANCE_WINDOW indicates the cluster is outside customer maintenance
7695
+ # window.
7696
+ MAINTENANCE_WINDOW = 1
7697
+
7698
+ # MAINTENANCE_EXCLUSION_NO_UPGRADES indicates the cluster is in a
7699
+ # maintenance exclusion with scope NO_UPGRADES.
7700
+ MAINTENANCE_EXCLUSION_NO_UPGRADES = 5
7701
+
7702
+ # MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES indicates the cluster is in a
7703
+ # maintenance exclusion with scope NO_MINOR_UPGRADES.
7704
+ MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES = 6
7705
+
7706
+ # CLUSTER_DISRUPTION_BUDGET indicates the cluster is outside the cluster
7707
+ # disruption budget.
7708
+ CLUSTER_DISRUPTION_BUDGET = 4
7709
+
7710
+ # CLUSTER_DISRUPTION_BUDGET_MINOR_UPGRADE indicates the cluster is outside
7711
+ # the cluster disruption budget for minor version upgrade.
7712
+ CLUSTER_DISRUPTION_BUDGET_MINOR_UPGRADE = 7
7713
+
7714
+ # SYSTEM_CONFIG indicates the cluster upgrade is paused by system config.
7715
+ SYSTEM_CONFIG = 8
7716
+ end
7717
+ end
7718
+
7719
+ # UpgradeDetails contains detailed information of each individual upgrade
7720
+ # operation.
7721
+ # @!attribute [r] state
7722
+ # @return [::Google::Cloud::Container::V1beta1::UpgradeDetails::State]
7723
+ # Output only. The state of the upgrade.
7724
+ # @!attribute [rw] start_time
7725
+ # @return [::Google::Protobuf::Timestamp]
7726
+ # The start timestamp of the upgrade.
7727
+ # @!attribute [rw] end_time
7728
+ # @return [::Google::Protobuf::Timestamp]
7729
+ # The end timestamp of the upgrade.
7730
+ # @!attribute [rw] initial_version
7731
+ # @return [::String]
7732
+ # The version before the upgrade.
7733
+ # @!attribute [rw] target_version
7734
+ # @return [::String]
7735
+ # The version after the upgrade.
7736
+ # @!attribute [rw] start_type
7737
+ # @return [::Google::Cloud::Container::V1beta1::UpgradeDetails::StartType]
7738
+ # The start type of the upgrade.
7739
+ class UpgradeDetails
7740
+ include ::Google::Protobuf::MessageExts
7741
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7742
+
7743
+ # State indicates the state of the upgrade.
7744
+ module State
7745
+ # Upgrade state is unknown.
7746
+ UNKNOWN = 0
7747
+
7748
+ # Upgrade has failed with an error.
7749
+ FAILED = 1
7750
+
7751
+ # Upgrade has succeeded.
7752
+ SUCCEEDED = 2
7753
+
7754
+ # Upgrade has been canceled.
7755
+ CANCELED = 3
7756
+
7757
+ # Upgrade is running.
7758
+ RUNNING = 4
7759
+ end
7760
+
7761
+ # StartType indicates the type of starting the upgrade.
7762
+ module StartType
7763
+ # Upgrade start type is unspecified.
7764
+ START_TYPE_UNSPECIFIED = 0
7765
+
7766
+ # Upgrade started automatically.
7767
+ AUTOMATIC = 1
7768
+
7769
+ # Upgrade started manually.
7770
+ MANUAL = 2
7771
+ end
7772
+ end
7773
+
7774
+ # FetchNodePoolUpgradeInfoRequest fetches the upgrade information of a
7775
+ # nodepool.
7776
+ # @!attribute [rw] name
7777
+ # @return [::String]
7778
+ # Required. The name (project, location, cluster, nodepool) of the nodepool
7779
+ # to get. Specified in the format
7780
+ # `projects/*/locations/*/clusters/*/nodePools/*` or
7781
+ # `projects/*/zones/*/clusters/*/nodePools/*`.
7782
+ # @!attribute [rw] version
7783
+ # @return [::String]
7784
+ # API request version that initiates this operation.
7785
+ class FetchNodePoolUpgradeInfoRequest
7786
+ include ::Google::Protobuf::MessageExts
7787
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7788
+ end
7789
+
7790
+ # NodePoolUpgradeInfo contains the upgrade information of a nodepool.
7791
+ # @!attribute [rw] minor_target_version
7792
+ # @return [::String]
7793
+ # minor_target_version indicates the target version for minor upgrade.
7794
+ # @!attribute [rw] patch_target_version
7795
+ # @return [::String]
7796
+ # patch_target_version indicates the target version for patch upgrade.
7797
+ # @!attribute [rw] auto_upgrade_status
7798
+ # @return [::Array<::Google::Cloud::Container::V1beta1::NodePoolUpgradeInfo::AutoUpgradeStatus>]
7799
+ # The auto upgrade status.
7800
+ # @!attribute [rw] paused_reason
7801
+ # @return [::Array<::Google::Cloud::Container::V1beta1::NodePoolUpgradeInfo::AutoUpgradePausedReason>]
7802
+ # The auto upgrade paused reason.
7803
+ # @!attribute [rw] upgrade_details
7804
+ # @return [::Array<::Google::Cloud::Container::V1beta1::UpgradeDetails>]
7805
+ # The list of past auto upgrades.
7806
+ # @!attribute [rw] end_of_standard_support_timestamp
7807
+ # @return [::String]
7808
+ # The nodepool's current minor version's end of standard support timestamp.
7809
+ # @!attribute [rw] end_of_extended_support_timestamp
7810
+ # @return [::String]
7811
+ # The nodepool's current minor version's end of extended support timestamp.
7812
+ class NodePoolUpgradeInfo
7813
+ include ::Google::Protobuf::MessageExts
7814
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7815
+
7816
+ # AutoUpgradeStatus indicates the status of auto upgrade.
7817
+ module AutoUpgradeStatus
7818
+ # UNKNOWN indicates an unknown status.
7819
+ UNKNOWN = 0
7820
+
7821
+ # ACTIVE indicates an active status.
7822
+ ACTIVE = 1
7823
+
7824
+ # MINOR_UPGRADE_PAUSED indicates the minor version upgrade is
7825
+ # paused.
7826
+ MINOR_UPGRADE_PAUSED = 2
7827
+
7828
+ # UPGRADE_PAUSED indicates the upgrade is paused.
7829
+ UPGRADE_PAUSED = 3
7830
+ end
7831
+
7832
+ # AutoUpgradePausedReason indicates the reason for auto upgrade paused
7833
+ # status.
7834
+ module AutoUpgradePausedReason
7835
+ # AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED indicates an unspecified reason.
7836
+ AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED = 0
7837
+
7838
+ # MAINTENANCE_WINDOW indicates the cluster is outside customer maintenance
7839
+ # window.
7840
+ MAINTENANCE_WINDOW = 1
7841
+
7842
+ # MAINTENANCE_EXCLUSION_NO_UPGRADES indicates the cluster is in a
7843
+ # maintenance exclusion with scope NO_UPGRADES.
7844
+ MAINTENANCE_EXCLUSION_NO_UPGRADES = 2
7845
+
7846
+ # MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES indicates the cluster is in a
7847
+ # maintenance exclusion with scope NO_MINOR_UPGRADES.
7848
+ MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES = 3
7849
+
7850
+ # SYSTEM_CONFIG indicates the cluster upgrade is paused by system config.
7851
+ SYSTEM_CONFIG = 4
7852
+ end
7853
+ end
7854
+
7855
+ # GkeAutoUpgradeConfig is the configuration for GKE auto upgrades.
7856
+ # @!attribute [rw] patch_mode
7857
+ # @return [::Google::Cloud::Container::V1beta1::GkeAutoUpgradeConfig::PatchMode]
7858
+ # PatchMode specifies how auto upgrade patch builds should be
7859
+ # selected.
7860
+ class GkeAutoUpgradeConfig
7861
+ include ::Google::Protobuf::MessageExts
7862
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7863
+
7864
+ # PatchMode specifies how auto upgrade patch builds should be
7865
+ # selected.
7866
+ module PatchMode
7867
+ # PATCH_MODE_UNSPECIFIED defaults to using the upgrade target from the
7868
+ # channel's patch upgrade targets as the upgrade target for the
7869
+ # version.
7870
+ PATCH_MODE_UNSPECIFIED = 0
7871
+
7872
+ # ACCELERATED denotes that the latest patch build in the channel should be
7873
+ # used as the upgrade target for the version.
7874
+ ACCELERATED = 1
7875
+ end
7876
+ end
7877
+
6456
7878
  # PrivateIPv6GoogleAccess controls whether and how the pods can communicate
6457
7879
  # with Google Services through gRPC over IPv6.
6458
7880
  module PrivateIPv6GoogleAccess