google-cloud-container-v1 1.8.0 → 1.9.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.
@@ -41,6 +41,7 @@ module Google
41
41
  # net.ipv4.tcp_rmem
42
42
  # net.ipv4.tcp_wmem
43
43
  # net.ipv4.tcp_tw_reuse
44
+ # net.ipv4.tcp_max_orphans
44
45
  # net.netfilter.nf_conntrack_max
45
46
  # net.netfilter.nf_conntrack_buckets
46
47
  # net.netfilter.nf_conntrack_tcp_timeout_close_wait
@@ -50,13 +51,46 @@ module Google
50
51
  # kernel.shmmni
51
52
  # kernel.shmmax
52
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
53
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
54
70
  # @!attribute [rw] cgroup_mode
55
71
  # @return [::Google::Cloud::Container::V1::LinuxNodeConfig::CgroupMode]
56
72
  # cgroup_mode specifies the cgroup mode to be used on the node.
57
73
  # @!attribute [rw] hugepages
58
74
  # @return [::Google::Cloud::Container::V1::LinuxNodeConfig::HugepagesConfig]
59
75
  # Optional. Amounts for 2M and 1G hugepages
76
+ # @!attribute [rw] transparent_hugepage_enabled
77
+ # @return [::Google::Cloud::Container::V1::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::V1::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.
60
94
  class LinuxNodeConfig
61
95
  include ::Google::Protobuf::MessageExts
62
96
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -96,6 +130,55 @@ module Google
96
130
  # the node image.
97
131
  CGROUP_MODE_V2 = 2
98
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
99
182
  end
100
183
 
101
184
  # Parameters that can be configured on Windows nodes.
@@ -257,6 +340,45 @@ module Google
257
340
  #
258
341
  # See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/
259
342
  # for more details.
343
+ # @!attribute [rw] eviction_soft
344
+ # @return [::Google::Cloud::Container::V1::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::V1::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::V1::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.
260
382
  class NodeKubeletConfig
261
383
  include ::Google::Protobuf::MessageExts
262
384
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -320,6 +442,140 @@ module Google
320
442
  extend ::Google::Protobuf::MessageExts::ClassMethods
321
443
  end
322
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. It
462
+ # takses percentage value for now. Sample format: "30%". Must be >= 10% and
463
+ # <= 50%. See
464
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
465
+ # @!attribute [rw] nodefs_inodes_free
466
+ # @return [::String]
467
+ # Optional. Amount of inodes available on filesystem that kubelet uses for
468
+ # volumes, daemon logs, etc. Defines the amount of "nodefs.inodesFree" signal
469
+ # in kubelet. Default is unset, if not specified in the kubelet config. Linux
470
+ # only. It takses percentage value for now. Sample format: "30%". Must be >=
471
+ # 5% and <= 50%. See
472
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
473
+ # @!attribute [rw] imagefs_available
474
+ # @return [::String]
475
+ # Optional. Amount of storage available on filesystem that container runtime
476
+ # uses for storing images layers. If the container filesystem and image
477
+ # filesystem are not separate, then imagefs can store both image layers and
478
+ # writeable layers. Defines the amount of "imagefs.available" signal in
479
+ # kubelet. Default is unset, if not specified in the kubelet config. It
480
+ # takses percentage value for now. Sample format: "30%". Must be >= 15% and
481
+ # <= 50%. See
482
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
483
+ # @!attribute [rw] imagefs_inodes_free
484
+ # @return [::String]
485
+ # Optional. Amount of inodes available on filesystem that container runtime
486
+ # uses for storing images layers. Defines the amount of "imagefs.inodesFree"
487
+ # signal in kubelet. Default is unset, if not specified in the kubelet
488
+ # config. Linux only. It takses percentage value for now. Sample format:
489
+ # "30%". Must be >= 5% and <= 50%. See
490
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
491
+ # @!attribute [rw] pid_available
492
+ # @return [::String]
493
+ # Optional. Amount of PID available for pod allocation. Defines the amount of
494
+ # "pid.available" signal in kubelet. Default is unset, if not specified in
495
+ # the kubelet config. It takses percentage value for now. Sample format:
496
+ # "30%". Must be >= 10% and <= 50%. See
497
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
498
+ class EvictionSignals
499
+ include ::Google::Protobuf::MessageExts
500
+ extend ::Google::Protobuf::MessageExts::ClassMethods
501
+ end
502
+
503
+ # Eviction grace periods are grace periods for each eviction signal.
504
+ # @!attribute [rw] memory_available
505
+ # @return [::String]
506
+ # Optional. Grace period for eviction due to memory available signal. Sample
507
+ # format: "10s". Must be >= 0. See
508
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
509
+ # @!attribute [rw] nodefs_available
510
+ # @return [::String]
511
+ # Optional. Grace period for eviction due to nodefs available signal. Sample
512
+ # format: "10s". Must be >= 0. See
513
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
514
+ # @!attribute [rw] nodefs_inodes_free
515
+ # @return [::String]
516
+ # Optional. Grace period for eviction due to nodefs inodes free signal.
517
+ # Sample format: "10s". Must be >= 0. See
518
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
519
+ # @!attribute [rw] imagefs_available
520
+ # @return [::String]
521
+ # Optional. Grace period for eviction due to imagefs available signal. Sample
522
+ # format: "10s". Must be >= 0. See
523
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
524
+ # @!attribute [rw] imagefs_inodes_free
525
+ # @return [::String]
526
+ # Optional. Grace period for eviction due to imagefs inodes free signal.
527
+ # Sample format: "10s". Must be >= 0. See
528
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
529
+ # @!attribute [rw] pid_available
530
+ # @return [::String]
531
+ # Optional. Grace period for eviction due to pid available signal. Sample
532
+ # format: "10s". Must be >= 0. See
533
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
534
+ class EvictionGracePeriod
535
+ include ::Google::Protobuf::MessageExts
536
+ extend ::Google::Protobuf::MessageExts::ClassMethods
537
+ end
538
+
539
+ # Eviction minimum reclaims are the resource amounts of minimum reclaims for
540
+ # each eviction signal.
541
+ # @!attribute [rw] memory_available
542
+ # @return [::String]
543
+ # Optional. Minimum reclaim for eviction due to memory available signal. Only
544
+ # take percentage value for now. Sample format: "10%". Must be <=10%. See
545
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
546
+ # @!attribute [rw] nodefs_available
547
+ # @return [::String]
548
+ # Optional. Minimum reclaim for eviction due to nodefs available signal. Only
549
+ # take percentage value for now. Sample format: "10%". Must be <=10%. See
550
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
551
+ # @!attribute [rw] nodefs_inodes_free
552
+ # @return [::String]
553
+ # Optional. Minimum reclaim for eviction due to nodefs inodes free signal.
554
+ # Only take percentage value for now. Sample format: "10%". Must be <=10%.
555
+ # See
556
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
557
+ # @!attribute [rw] imagefs_available
558
+ # @return [::String]
559
+ # Optional. Minimum reclaim for eviction due to imagefs available signal.
560
+ # Only take percentage value for now. Sample format: "10%". Must be <=10%.
561
+ # See
562
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
563
+ # @!attribute [rw] imagefs_inodes_free
564
+ # @return [::String]
565
+ # Optional. Minimum reclaim for eviction due to imagefs inodes free signal.
566
+ # Only take percentage value for now. Sample format: "10%". Must be <=10%.
567
+ # See
568
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
569
+ # @!attribute [rw] pid_available
570
+ # @return [::String]
571
+ # Optional. Minimum reclaim for eviction due to pid available signal. Only
572
+ # take percentage value for now. Sample format: "10%". Must be <=10%. See
573
+ # https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#eviction-signals
574
+ class EvictionMinimumReclaim
575
+ include ::Google::Protobuf::MessageExts
576
+ extend ::Google::Protobuf::MessageExts::ClassMethods
577
+ end
578
+
323
579
  # Parameters that describe the nodes in a cluster.
324
580
  #
325
581
  # GKE Autopilot clusters do not
@@ -398,8 +654,8 @@ module Google
398
654
  # @return [::String]
399
655
  # The image type to use for this node. Note that for a given image type,
400
656
  # the latest version of it will be used. Please see
401
- # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
402
- # available image types.
657
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
658
+ # for available image types.
403
659
  # @!attribute [rw] labels
404
660
  # @return [::Google::Protobuf::Map{::String => ::String}]
405
661
  # The map of Kubernetes labels (key/value pairs) to be applied to each node.
@@ -427,13 +683,14 @@ module Google
427
683
  # @!attribute [rw] preemptible
428
684
  # @return [::Boolean]
429
685
  # Whether the nodes are created as preemptible VM instances. See:
430
- # https://cloud.google.com/compute/docs/instances/preemptible for more
431
- # information about preemptible VM instances.
686
+ # https://cloud.google.com/compute/docs/instances/preemptible
687
+ # for more information about preemptible VM instances.
432
688
  # @!attribute [rw] accelerators
433
689
  # @return [::Array<::Google::Cloud::Container::V1::AcceleratorConfig>]
434
690
  # A list of hardware accelerators to be attached to each node.
435
- # See https://cloud.google.com/compute/docs/gpus for more information about
436
- # support for GPUs.
691
+ # See
692
+ # https://cloud.google.com/compute/docs/gpus
693
+ # for more information about support for GPUs.
437
694
  # @!attribute [rw] disk_type
438
695
  # @return [::String]
439
696
  # Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or
@@ -565,6 +822,9 @@ module Google
565
822
  # @!attribute [rw] flex_start
566
823
  # @return [::Boolean]
567
824
  # Flex Start flag for enabling Flex Start VM.
825
+ # @!attribute [rw] boot_disk
826
+ # @return [::Google::Cloud::Container::V1::BootDisk]
827
+ # The boot disk configuration for the node pool.
568
828
  class NodeConfig
569
829
  include ::Google::Protobuf::MessageExts
570
830
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -649,7 +909,7 @@ module Google
649
909
  include ::Google::Protobuf::MessageExts
650
910
  extend ::Google::Protobuf::MessageExts::ClassMethods
651
911
 
652
- # Level of PMU access
912
+ # Level of PMU access.
653
913
  module PerformanceMonitoringUnit
654
914
  # PMU not enabled.
655
915
  PERFORMANCE_MONITORING_UNIT_UNSPECIFIED = 0
@@ -742,6 +1002,13 @@ module Google
742
1002
  # Output only. The utilization of the IPv4 range for the pod.
743
1003
  # The ratio is Usage/[Total number of IPs in the secondary range],
744
1004
  # Usage=numNodes*numZones*podIPsPerNode.
1005
+ # @!attribute [r] subnetwork
1006
+ # @return [::String]
1007
+ # Output only. The subnetwork path for the node pool.
1008
+ # Format: projects/\\{project}/regions/\\{region}/subnetworks/\\{subnetwork}
1009
+ # If the cluster is associated with multiple subnetworks, the subnetwork for
1010
+ # the node pool is picked based on the IP utilization during node pool
1011
+ # creation and is immutable.
745
1012
  class NodeNetworkConfig
746
1013
  include ::Google::Protobuf::MessageExts
747
1014
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -885,6 +1152,11 @@ module Google
885
1152
  # @!attribute [rw] node_affinities
886
1153
  # @return [::Array<::Google::Cloud::Container::V1::SoleTenantConfig::NodeAffinity>]
887
1154
  # NodeAffinities used to match to a shared sole tenant node group.
1155
+ # @!attribute [rw] min_node_cpus
1156
+ # @return [::Integer]
1157
+ # Optional. The minimum number of virtual CPUs this instance will consume
1158
+ # when running on a sole-tenant node. This field can only be set if the node
1159
+ # pool is created in a shared sole-tenant node group.
888
1160
  class SoleTenantConfig
889
1161
  include ::Google::Protobuf::MessageExts
890
1162
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -959,7 +1231,8 @@ module Google
959
1231
  extend ::Google::Protobuf::MessageExts::ClassMethods
960
1232
 
961
1233
  # GCPSecretManagerCertificateConfig configures a secret from
962
- # [Google Secret Manager](https://cloud.google.com/secret-manager).
1234
+ # [Google Secret
1235
+ # Manager](https://cloud.google.com/secret-manager).
963
1236
  # @!attribute [rw] secret_uri
964
1237
  # @return [::String]
965
1238
  # Secret URI, in the form
@@ -1183,6 +1456,9 @@ module Google
1183
1456
  # @!attribute [rw] high_scale_checkpointing_config
1184
1457
  # @return [::Google::Cloud::Container::V1::HighScaleCheckpointingConfig]
1185
1458
  # Configuration for the High Scale Checkpointing add-on.
1459
+ # @!attribute [rw] lustre_csi_driver_config
1460
+ # @return [::Google::Cloud::Container::V1::LustreCsiDriverConfig]
1461
+ # Configuration for the Lustre CSI driver.
1186
1462
  class AddonsConfig
1187
1463
  include ::Google::Protobuf::MessageExts
1188
1464
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1412,6 +1688,19 @@ module Google
1412
1688
  extend ::Google::Protobuf::MessageExts::ClassMethods
1413
1689
  end
1414
1690
 
1691
+ # Configuration for the Lustre CSI driver.
1692
+ # @!attribute [rw] enabled
1693
+ # @return [::Boolean]
1694
+ # Whether the Lustre CSI driver is enabled for this cluster.
1695
+ # @!attribute [rw] enable_legacy_lustre_port
1696
+ # @return [::Boolean]
1697
+ # If set to true, the Lustre CSI driver will install Lustre kernel modules
1698
+ # using port 6988.
1699
+ class LustreCsiDriverConfig
1700
+ include ::Google::Protobuf::MessageExts
1701
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1702
+ end
1703
+
1415
1704
  # Configuration options for the Ray Operator add-on.
1416
1705
  # @!attribute [rw] enabled
1417
1706
  # @return [::Boolean]
@@ -1716,6 +2005,16 @@ module Google
1716
2005
  # Output only. The utilization of the cluster default IPv4 range for the
1717
2006
  # pod. The ratio is Usage/[Total number of IPs in the secondary range],
1718
2007
  # Usage=numNodes*numZones*podIPsPerNode.
2008
+ # @!attribute [r] additional_ip_ranges_configs
2009
+ # @return [::Array<::Google::Cloud::Container::V1::AdditionalIPRangesConfig>]
2010
+ # Output only. The additional IP ranges that are added to the cluster.
2011
+ # These IP ranges can be used by new node pools to allocate node and pod IPs
2012
+ # automatically.
2013
+ # Each AdditionalIPRangesConfig corresponds to a single subnetwork.
2014
+ # Once a range is removed it will not show up in IPAllocationPolicy.
2015
+ # @!attribute [rw] auto_ipam_config
2016
+ # @return [::Google::Cloud::Container::V1::AutoIpamConfig]
2017
+ # Optional. AutoIpamConfig contains all information related to Auto IPAM
1719
2018
  class IPAllocationPolicy
1720
2019
  include ::Google::Protobuf::MessageExts
1721
2020
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1738,7 +2037,8 @@ module Google
1738
2037
  # @deprecated This field is deprecated and may be removed in the next major version update.
1739
2038
  # @return [::Integer]
1740
2039
  # The number of nodes to create in this cluster. You must ensure that your
1741
- # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
2040
+ # Compute Engine [resource
2041
+ # quota](https://cloud.google.com/compute/quotas)
1742
2042
  # is sufficient for this number of instances. You must also have available
1743
2043
  # firewall and routes quota.
1744
2044
  # For requests, this field should only be used in lieu of a
@@ -1812,8 +2112,8 @@ module Google
1812
2112
  # @!attribute [rw] subnetwork
1813
2113
  # @return [::String]
1814
2114
  # The name of the Google Compute Engine
1815
- # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
1816
- # the cluster is connected.
2115
+ # [subnetwork](https://cloud.google.com/compute/docs/subnetworks)
2116
+ # to which the cluster is connected.
1817
2117
  # @!attribute [rw] node_pools
1818
2118
  # @return [::Array<::Google::Cloud::Container::V1::NodePool>]
1819
2119
  # The node pools associated with this cluster.
@@ -1822,8 +2122,8 @@ module Google
1822
2122
  # @!attribute [rw] locations
1823
2123
  # @return [::Array<::String>]
1824
2124
  # The list of Google Compute Engine
1825
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
1826
- # cluster's nodes should be located.
2125
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
2126
+ # in which the cluster's nodes should be located.
1827
2127
  #
1828
2128
  # This field provides a default value if
1829
2129
  # [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations)
@@ -1941,8 +2241,9 @@ module Google
1941
2241
  # @deprecated This field is deprecated and may be removed in the next major version update.
1942
2242
  # @return [::String]
1943
2243
  # Output only. The name of the Google Compute Engine
1944
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1945
- # cluster resides. This field is deprecated, use location instead.
2244
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
2245
+ # in which the cluster resides. This field is deprecated, use location
2246
+ # instead.
1946
2247
  # @!attribute [r] endpoint
1947
2248
  # @return [::String]
1948
2249
  # Output only. The IP address of this cluster's master endpoint.
@@ -2102,6 +2403,9 @@ module Google
2102
2403
  # @return [::Google::Cloud::Container::V1::RBACBindingConfig]
2103
2404
  # RBACBindingConfig allows user to restrict ClusterRoleBindings an
2104
2405
  # RoleBindings that can be created.
2406
+ # @!attribute [rw] gke_auto_upgrade_config
2407
+ # @return [::Google::Cloud::Container::V1::GkeAutoUpgradeConfig]
2408
+ # Configuration for GKE auto upgrades.
2105
2409
  # @!attribute [rw] anonymous_authentication_config
2106
2410
  # @return [::Google::Cloud::Container::V1::AnonymousAuthenticationConfig]
2107
2411
  # Configuration for limiting anonymous access to all endpoints except the
@@ -2211,9 +2515,25 @@ module Google
2211
2515
 
2212
2516
  # AnonymousAuthenticationConfig defines the settings needed to limit endpoints
2213
2517
  # that allow anonymous authentication.
2518
+ # @!attribute [rw] mode
2519
+ # @return [::Google::Cloud::Container::V1::AnonymousAuthenticationConfig::Mode]
2520
+ # Defines the mode of limiting anonymous access in the cluster.
2214
2521
  class AnonymousAuthenticationConfig
2215
2522
  include ::Google::Protobuf::MessageExts
2216
2523
  extend ::Google::Protobuf::MessageExts::ClassMethods
2524
+
2525
+ # Mode defines the mode of anonymous authentication
2526
+ # allowed in the cluster.
2527
+ module Mode
2528
+ # Default value not specified.
2529
+ MODE_UNSPECIFIED = 0
2530
+
2531
+ # Anonymous authentication is allowed for all endpoints.
2532
+ ENABLED = 1
2533
+
2534
+ # Anonymous authentication is allowed for only health check endpoints.
2535
+ LIMITED = 2
2536
+ end
2217
2537
  end
2218
2538
 
2219
2539
  # CompliancePostureConfig defines the settings needed to enable/disable
@@ -2427,8 +2747,8 @@ module Google
2427
2747
  # @!attribute [rw] desired_locations
2428
2748
  # @return [::Array<::String>]
2429
2749
  # The desired list of Google Compute Engine
2430
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
2431
- # cluster's nodes should be located.
2750
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
2751
+ # in which the cluster's nodes should be located.
2432
2752
  #
2433
2753
  # This list must always include the cluster's primary zone.
2434
2754
  #
@@ -2634,15 +2954,27 @@ module Google
2634
2954
  # The desired node kubelet config for all auto-provisioned node pools
2635
2955
  # in autopilot clusters and node auto-provisioning enabled clusters.
2636
2956
  # @!attribute [rw] user_managed_keys_config
2957
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2637
2958
  # @return [::Google::Cloud::Container::V1::UserManagedKeysConfig]
2638
2959
  # The Custom keys configuration for the cluster.
2960
+ #
2961
+ # This field is deprecated.
2962
+ # Use
2963
+ # {::Google::Cloud::Container::V1::ClusterUpdate#desired_user_managed_keys_config ClusterUpdate.desired_user_managed_keys_config}
2964
+ # instead.
2639
2965
  # @!attribute [rw] desired_rbac_binding_config
2640
2966
  # @return [::Google::Cloud::Container::V1::RBACBindingConfig]
2641
2967
  # RBACBindingConfig allows user to restrict ClusterRoleBindings an
2642
2968
  # RoleBindings that can be created.
2969
+ # @!attribute [rw] desired_additional_ip_ranges_config
2970
+ # @return [::Google::Cloud::Container::V1::DesiredAdditionalIPRangesConfig]
2971
+ # The desired config for additional subnetworks attached to the cluster.
2643
2972
  # @!attribute [rw] desired_enterprise_config
2644
2973
  # @return [::Google::Cloud::Container::V1::DesiredEnterpriseConfig]
2645
2974
  # The desired enterprise configuration for the cluster.
2975
+ # @!attribute [rw] desired_auto_ipam_config
2976
+ # @return [::Google::Cloud::Container::V1::AutoIpamConfig]
2977
+ # AutoIpamConfig contains all information related to Auto IPAM
2646
2978
  # @!attribute [rw] desired_disable_l4_lb_firewall_reconciliation
2647
2979
  # @return [::Boolean]
2648
2980
  # Enable/Disable L4 LB VPC firewall reconciliation for the cluster.
@@ -2652,10 +2984,16 @@ module Google
2652
2984
  # in autopilot clusters and node auto-provisioning enabled clusters.
2653
2985
  #
2654
2986
  # Currently only `cgroup_mode` can be set here.
2987
+ # @!attribute [rw] desired_user_managed_keys_config
2988
+ # @return [::Google::Cloud::Container::V1::UserManagedKeysConfig]
2989
+ # The desired user managed keys config for the cluster.
2655
2990
  # @!attribute [rw] desired_anonymous_authentication_config
2656
2991
  # @return [::Google::Cloud::Container::V1::AnonymousAuthenticationConfig]
2657
2992
  # Configuration for limiting anonymous access to all endpoints except the
2658
2993
  # health checks.
2994
+ # @!attribute [rw] gke_auto_upgrade_config
2995
+ # @return [::Google::Cloud::Container::V1::GkeAutoUpgradeConfig]
2996
+ # Configuration for GKE auto upgrade.
2659
2997
  class ClusterUpdate
2660
2998
  include ::Google::Protobuf::MessageExts
2661
2999
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2674,6 +3012,42 @@ module Google
2674
3012
  extend ::Google::Protobuf::MessageExts::ClassMethods
2675
3013
  end
2676
3014
 
3015
+ # AdditionalIPRangesConfig is the configuration for individual additional
3016
+ # subnetwork attached to the cluster
3017
+ # @!attribute [rw] subnetwork
3018
+ # @return [::String]
3019
+ # Name of the subnetwork. This can be the full path of the subnetwork or
3020
+ # just the name.
3021
+ # Example1: my-subnet
3022
+ # Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet
3023
+ # @!attribute [rw] pod_ipv4_range_names
3024
+ # @return [::Array<::String>]
3025
+ # List of secondary ranges names within this subnetwork that can be used for
3026
+ # pod IPs.
3027
+ # Example1: gke-pod-range1
3028
+ # Example2: gke-pod-range1,gke-pod-range2
3029
+ class AdditionalIPRangesConfig
3030
+ include ::Google::Protobuf::MessageExts
3031
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3032
+ end
3033
+
3034
+ # DesiredAdditionalIPRangesConfig is a wrapper used for cluster update
3035
+ # operation and contains multiple AdditionalIPRangesConfigs.
3036
+ # @!attribute [rw] additional_ip_ranges_configs
3037
+ # @return [::Array<::Google::Cloud::Container::V1::AdditionalIPRangesConfig>]
3038
+ # List of additional IP ranges configs where each AdditionalIPRangesConfig
3039
+ # corresponds to one subnetwork's IP ranges
3040
+ class DesiredAdditionalIPRangesConfig
3041
+ include ::Google::Protobuf::MessageExts
3042
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3043
+ end
3044
+
3045
+ # AutoIpamConfig contains all information related to Auto IPAM
3046
+ class AutoIpamConfig
3047
+ include ::Google::Protobuf::MessageExts
3048
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3049
+ end
3050
+
2677
3051
  # RangeInfo contains the range name and the range utilization by this cluster.
2678
3052
  # @!attribute [r] range_name
2679
3053
  # @return [::String]
@@ -2704,8 +3078,9 @@ module Google
2704
3078
  # @deprecated This field is deprecated and may be removed in the next major version update.
2705
3079
  # @return [::String]
2706
3080
  # Output only. The name of the Google Compute Engine
2707
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2708
- # operation is taking place. This field is deprecated, use location instead.
3081
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3082
+ # in which the operation is taking place. This field is deprecated, use
3083
+ # location instead.
2709
3084
  # @!attribute [r] operation_type
2710
3085
  # @return [::Google::Cloud::Container::V1::Operation::Type]
2711
3086
  # Output only. The operation type.
@@ -2981,9 +3356,9 @@ module Google
2981
3356
  # @deprecated This field is deprecated and may be removed in the next major version update.
2982
3357
  # @return [::String]
2983
3358
  # Deprecated. The name of the Google Compute Engine
2984
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2985
- # cluster resides. This field has been deprecated and replaced by the parent
2986
- # field.
3359
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3360
+ # in which the cluster resides. This field has been deprecated and replaced
3361
+ # by the parent field.
2987
3362
  # @!attribute [rw] cluster
2988
3363
  # @return [::Google::Cloud::Container::V1::Cluster]
2989
3364
  # Required. A [cluster
@@ -3008,9 +3383,9 @@ module Google
3008
3383
  # @deprecated This field is deprecated and may be removed in the next major version update.
3009
3384
  # @return [::String]
3010
3385
  # Deprecated. The name of the Google Compute Engine
3011
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3012
- # cluster resides. This field has been deprecated and replaced by the name
3013
- # field.
3386
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3387
+ # in which the cluster resides. This field has been deprecated and replaced
3388
+ # by the name field.
3014
3389
  # @!attribute [rw] cluster_id
3015
3390
  # @deprecated This field is deprecated and may be removed in the next major version update.
3016
3391
  # @return [::String]
@@ -3036,9 +3411,9 @@ module Google
3036
3411
  # @deprecated This field is deprecated and may be removed in the next major version update.
3037
3412
  # @return [::String]
3038
3413
  # Deprecated. The name of the Google Compute Engine
3039
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3040
- # cluster resides. This field has been deprecated and replaced by the name
3041
- # field.
3414
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3415
+ # in which the cluster resides. This field has been deprecated and replaced
3416
+ # by the name field.
3042
3417
  # @!attribute [rw] cluster_id
3043
3418
  # @deprecated This field is deprecated and may be removed in the next major version update.
3044
3419
  # @return [::String]
@@ -3067,9 +3442,9 @@ module Google
3067
3442
  # @deprecated This field is deprecated and may be removed in the next major version update.
3068
3443
  # @return [::String]
3069
3444
  # Deprecated. The name of the Google Compute Engine
3070
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3071
- # cluster resides. This field has been deprecated and replaced by the name
3072
- # field.
3445
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3446
+ # in which the cluster resides. This field has been deprecated and replaced
3447
+ # by the name field.
3073
3448
  # @!attribute [rw] cluster_id
3074
3449
  # @deprecated This field is deprecated and may be removed in the next major version update.
3075
3450
  # @return [::String]
@@ -3096,8 +3471,8 @@ module Google
3096
3471
  # @!attribute [rw] image_type
3097
3472
  # @return [::String]
3098
3473
  # Required. The desired image type for the node pool. Please see
3099
- # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
3100
- # available image types.
3474
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
3475
+ # for available image types.
3101
3476
  # @!attribute [rw] name
3102
3477
  # @return [::String]
3103
3478
  # The name (project, location, cluster, node pool) of the node pool to
@@ -3106,10 +3481,10 @@ module Google
3106
3481
  # @!attribute [rw] locations
3107
3482
  # @return [::Array<::String>]
3108
3483
  # The desired list of Google Compute Engine
3109
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3110
- # node pool's nodes should be located. Changing the locations for a node pool
3111
- # will result in nodes being either created or removed from the node pool,
3112
- # depending on whether locations are being added or removed.
3484
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
3485
+ # in which the node pool's nodes should be located. Changing the locations
3486
+ # for a node pool will result in nodes being either created or removed from
3487
+ # the node pool, depending on whether locations are being added or removed.
3113
3488
  # @!attribute [rw] workload_metadata_config
3114
3489
  # @return [::Google::Cloud::Container::V1::WorkloadMetadataConfig]
3115
3490
  # The desired workload metadata config for the node pool.
@@ -3171,14 +3546,15 @@ module Google
3171
3546
  # @!attribute [rw] accelerators
3172
3547
  # @return [::Array<::Google::Cloud::Container::V1::AcceleratorConfig>]
3173
3548
  # A list of hardware accelerators to be attached to each node.
3174
- # See https://cloud.google.com/compute/docs/gpus for more information about
3175
- # support for GPUs.
3549
+ # See
3550
+ # https://cloud.google.com/compute/docs/gpus
3551
+ # for more information about support for GPUs.
3176
3552
  # @!attribute [rw] machine_type
3177
3553
  # @return [::String]
3178
3554
  # Optional. The desired [Google Compute Engine machine
3179
- # type](https://cloud.google.com/compute/docs/machine-types) for nodes in the
3180
- # node pool. Initiates an upgrade operation that migrates the nodes in the
3181
- # node pool to the specified machine type.
3555
+ # type](https://cloud.google.com/compute/docs/machine-types)
3556
+ # for nodes in the node pool. Initiates an upgrade operation that migrates
3557
+ # the nodes in the node pool to the specified machine type.
3182
3558
  # @!attribute [rw] disk_type
3183
3559
  # @return [::String]
3184
3560
  # Optional. The desired disk type (e.g. 'pd-standard', 'pd-ssd' or
@@ -3215,6 +3591,11 @@ module Google
3215
3591
  # @!attribute [rw] flex_start
3216
3592
  # @return [::Boolean]
3217
3593
  # Flex Start flag for enabling Flex Start VM.
3594
+ # @!attribute [rw] boot_disk
3595
+ # @return [::Google::Cloud::Container::V1::BootDisk]
3596
+ # The desired boot disk config for nodes in the node pool.
3597
+ # Initiates an upgrade operation that migrates the nodes in the
3598
+ # node pool to the specified boot disk config.
3218
3599
  class UpdateNodePoolRequest
3219
3600
  include ::Google::Protobuf::MessageExts
3220
3601
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3231,9 +3612,9 @@ module Google
3231
3612
  # @deprecated This field is deprecated and may be removed in the next major version update.
3232
3613
  # @return [::String]
3233
3614
  # Deprecated. The name of the Google Compute Engine
3234
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3235
- # cluster resides. This field has been deprecated and replaced by the name
3236
- # field.
3615
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3616
+ # in which the cluster resides. This field has been deprecated and replaced
3617
+ # by the name field.
3237
3618
  # @!attribute [rw] cluster_id
3238
3619
  # @deprecated This field is deprecated and may be removed in the next major version update.
3239
3620
  # @return [::String]
@@ -3268,9 +3649,9 @@ module Google
3268
3649
  # @deprecated This field is deprecated and may be removed in the next major version update.
3269
3650
  # @return [::String]
3270
3651
  # Deprecated. The name of the Google Compute Engine
3271
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3272
- # cluster resides. This field has been deprecated and replaced by the name
3273
- # field.
3652
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3653
+ # in which the cluster resides. This field has been deprecated and replaced
3654
+ # by the name field.
3274
3655
  # @!attribute [rw] cluster_id
3275
3656
  # @deprecated This field is deprecated and may be removed in the next major version update.
3276
3657
  # @return [::String]
@@ -3309,9 +3690,9 @@ module Google
3309
3690
  # @deprecated This field is deprecated and may be removed in the next major version update.
3310
3691
  # @return [::String]
3311
3692
  # Deprecated. The name of the Google Compute Engine
3312
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3313
- # cluster resides. This field has been deprecated and replaced by the name
3314
- # field.
3693
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3694
+ # in which the cluster resides. This field has been deprecated and replaced
3695
+ # by the name field.
3315
3696
  # @!attribute [rw] cluster_id
3316
3697
  # @deprecated This field is deprecated and may be removed in the next major version update.
3317
3698
  # @return [::String]
@@ -3350,9 +3731,9 @@ module Google
3350
3731
  # @deprecated This field is deprecated and may be removed in the next major version update.
3351
3732
  # @return [::String]
3352
3733
  # Deprecated. The name of the Google Compute Engine
3353
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3354
- # cluster resides. This field has been deprecated and replaced by the name
3355
- # field.
3734
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3735
+ # in which the cluster resides. This field has been deprecated and replaced
3736
+ # by the name field.
3356
3737
  # @!attribute [rw] cluster_id
3357
3738
  # @deprecated This field is deprecated and may be removed in the next major version update.
3358
3739
  # @return [::String]
@@ -3382,9 +3763,9 @@ module Google
3382
3763
  # @deprecated This field is deprecated and may be removed in the next major version update.
3383
3764
  # @return [::String]
3384
3765
  # Deprecated. The name of the Google Compute Engine
3385
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3386
- # cluster resides. This field has been deprecated and replaced by the name
3387
- # field.
3766
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3767
+ # in which the cluster resides. This field has been deprecated and replaced
3768
+ # by the name field.
3388
3769
  # @!attribute [rw] cluster_id
3389
3770
  # @deprecated This field is deprecated and may be removed in the next major version update.
3390
3771
  # @return [::String]
@@ -3393,10 +3774,10 @@ module Google
3393
3774
  # @!attribute [rw] locations
3394
3775
  # @return [::Array<::String>]
3395
3776
  # Required. The desired list of Google Compute Engine
3396
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3397
- # cluster's nodes should be located. Changing the locations a cluster is in
3398
- # will result in nodes being either created or removed from the cluster,
3399
- # depending on whether locations are being added or removed.
3777
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
3778
+ # in which the cluster's nodes should be located. Changing the locations a
3779
+ # cluster is in will result in nodes being either created or removed from the
3780
+ # cluster, depending on whether locations are being added or removed.
3400
3781
  #
3401
3782
  # This list must always include the cluster's primary zone.
3402
3783
  # @!attribute [rw] name
@@ -3419,9 +3800,9 @@ module Google
3419
3800
  # @deprecated This field is deprecated and may be removed in the next major version update.
3420
3801
  # @return [::String]
3421
3802
  # Deprecated. The name of the Google Compute Engine
3422
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3423
- # cluster resides. This field has been deprecated and replaced by the name
3424
- # field.
3803
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3804
+ # in which the cluster resides. This field has been deprecated and replaced
3805
+ # by the name field.
3425
3806
  # @!attribute [rw] cluster_id
3426
3807
  # @deprecated This field is deprecated and may be removed in the next major version update.
3427
3808
  # @return [::String]
@@ -3459,9 +3840,9 @@ module Google
3459
3840
  # @deprecated This field is deprecated and may be removed in the next major version update.
3460
3841
  # @return [::String]
3461
3842
  # Deprecated. The name of the Google Compute Engine
3462
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3463
- # cluster resides. This field has been deprecated and replaced by the name
3464
- # field.
3843
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3844
+ # in which the cluster resides. This field has been deprecated and replaced
3845
+ # by the name field.
3465
3846
  # @!attribute [rw] cluster_id
3466
3847
  # @deprecated This field is deprecated and may be removed in the next major version update.
3467
3848
  # @return [::String]
@@ -3511,9 +3892,9 @@ module Google
3511
3892
  # @deprecated This field is deprecated and may be removed in the next major version update.
3512
3893
  # @return [::String]
3513
3894
  # Deprecated. The name of the Google Compute Engine
3514
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3515
- # cluster resides. This field has been deprecated and replaced by the name
3516
- # field.
3895
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3896
+ # in which the cluster resides. This field has been deprecated and replaced
3897
+ # by the name field.
3517
3898
  # @!attribute [rw] cluster_id
3518
3899
  # @deprecated This field is deprecated and may be removed in the next major version update.
3519
3900
  # @return [::String]
@@ -3539,9 +3920,9 @@ module Google
3539
3920
  # @deprecated This field is deprecated and may be removed in the next major version update.
3540
3921
  # @return [::String]
3541
3922
  # Deprecated. The name of the Google Compute Engine
3542
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3543
- # cluster resides, or "-" for all zones. This field has been deprecated and
3544
- # replaced by the parent field.
3923
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3924
+ # in which the cluster resides, or "-" for all zones. This field has been
3925
+ # deprecated and replaced by the parent field.
3545
3926
  # @!attribute [rw] parent
3546
3927
  # @return [::String]
3547
3928
  # The parent (project and location) where the clusters will be listed.
@@ -3577,9 +3958,9 @@ module Google
3577
3958
  # @deprecated This field is deprecated and may be removed in the next major version update.
3578
3959
  # @return [::String]
3579
3960
  # Deprecated. The name of the Google Compute Engine
3580
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3581
- # cluster resides. This field has been deprecated and replaced by the name
3582
- # field.
3961
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3962
+ # in which the cluster resides. This field has been deprecated and replaced
3963
+ # by the name field.
3583
3964
  # @!attribute [rw] operation_id
3584
3965
  # @deprecated This field is deprecated and may be removed in the next major version update.
3585
3966
  # @return [::String]
@@ -3605,9 +3986,9 @@ module Google
3605
3986
  # @deprecated This field is deprecated and may be removed in the next major version update.
3606
3987
  # @return [::String]
3607
3988
  # Deprecated. The name of the Google Compute Engine
3608
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return
3609
- # operations for, or `-` for all zones. This field has been deprecated and
3610
- # replaced by the parent field.
3989
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
3990
+ # to return operations for, or `-` for all zones. This field has been
3991
+ # deprecated and replaced by the parent field.
3611
3992
  # @!attribute [rw] parent
3612
3993
  # @return [::String]
3613
3994
  # The parent (project and location) where the operations will be listed.
@@ -3629,9 +4010,9 @@ module Google
3629
4010
  # @deprecated This field is deprecated and may be removed in the next major version update.
3630
4011
  # @return [::String]
3631
4012
  # Deprecated. The name of the Google Compute Engine
3632
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3633
- # operation resides. This field has been deprecated and replaced by the name
3634
- # field.
4013
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4014
+ # in which the operation resides. This field has been deprecated and replaced
4015
+ # by the name field.
3635
4016
  # @!attribute [rw] operation_id
3636
4017
  # @deprecated This field is deprecated and may be removed in the next major version update.
3637
4018
  # @return [::String]
@@ -3670,9 +4051,9 @@ module Google
3670
4051
  # @deprecated This field is deprecated and may be removed in the next major version update.
3671
4052
  # @return [::String]
3672
4053
  # Deprecated. The name of the Google Compute Engine
3673
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return
3674
- # operations for. This field has been deprecated and replaced by the name
3675
- # field.
4054
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4055
+ # to return operations for. This field has been deprecated and replaced by
4056
+ # the name field.
3676
4057
  # @!attribute [rw] name
3677
4058
  # @return [::String]
3678
4059
  # The name (project and location) of the server config to get,
@@ -3735,9 +4116,9 @@ module Google
3735
4116
  # @deprecated This field is deprecated and may be removed in the next major version update.
3736
4117
  # @return [::String]
3737
4118
  # Deprecated. The name of the Google Compute Engine
3738
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3739
- # cluster resides. This field has been deprecated and replaced by the parent
3740
- # field.
4119
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4120
+ # in which the cluster resides. This field has been deprecated and replaced
4121
+ # by the parent field.
3741
4122
  # @!attribute [rw] cluster_id
3742
4123
  # @deprecated This field is deprecated and may be removed in the next major version update.
3743
4124
  # @return [::String]
@@ -3767,9 +4148,9 @@ module Google
3767
4148
  # @deprecated This field is deprecated and may be removed in the next major version update.
3768
4149
  # @return [::String]
3769
4150
  # Deprecated. The name of the Google Compute Engine
3770
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3771
- # cluster resides. This field has been deprecated and replaced by the name
3772
- # field.
4151
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4152
+ # in which the cluster resides. This field has been deprecated and replaced
4153
+ # by the name field.
3773
4154
  # @!attribute [rw] cluster_id
3774
4155
  # @deprecated This field is deprecated and may be removed in the next major version update.
3775
4156
  # @return [::String]
@@ -3801,9 +4182,9 @@ module Google
3801
4182
  # @deprecated This field is deprecated and may be removed in the next major version update.
3802
4183
  # @return [::String]
3803
4184
  # Deprecated. The name of the Google Compute Engine
3804
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3805
- # cluster resides. This field has been deprecated and replaced by the parent
3806
- # field.
4185
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4186
+ # in which the cluster resides. This field has been deprecated and replaced
4187
+ # by the parent field.
3807
4188
  # @!attribute [rw] cluster_id
3808
4189
  # @deprecated This field is deprecated and may be removed in the next major version update.
3809
4190
  # @return [::String]
@@ -3829,9 +4210,9 @@ module Google
3829
4210
  # @deprecated This field is deprecated and may be removed in the next major version update.
3830
4211
  # @return [::String]
3831
4212
  # Deprecated. The name of the Google Compute Engine
3832
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3833
- # cluster resides. This field has been deprecated and replaced by the name
3834
- # field.
4213
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4214
+ # in which the cluster resides. This field has been deprecated and replaced
4215
+ # by the name field.
3835
4216
  # @!attribute [rw] cluster_id
3836
4217
  # @deprecated This field is deprecated and may be removed in the next major version update.
3837
4218
  # @return [::String]
@@ -3900,14 +4281,15 @@ module Google
3900
4281
  # @!attribute [rw] initial_node_count
3901
4282
  # @return [::Integer]
3902
4283
  # The initial node count for the pool. You must ensure that your
3903
- # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
4284
+ # Compute Engine [resource
4285
+ # quota](https://cloud.google.com/compute/quotas)
3904
4286
  # is sufficient for this number of instances. You must also have available
3905
4287
  # firewall and routes quota.
3906
4288
  # @!attribute [rw] locations
3907
4289
  # @return [::Array<::String>]
3908
4290
  # The list of Google Compute Engine
3909
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3910
- # NodePool's nodes should be located.
4291
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
4292
+ # in which the NodePool's nodes should be located.
3911
4293
  #
3912
4294
  # If this value is unspecified during node pool creation, the
3913
4295
  # [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
@@ -4402,9 +4784,9 @@ module Google
4402
4784
  # @deprecated This field is deprecated and may be removed in the next major version update.
4403
4785
  # @return [::String]
4404
4786
  # Deprecated. The name of the Google Compute Engine
4405
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4406
- # cluster resides. This field has been deprecated and replaced by the name
4407
- # field.
4787
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4788
+ # in which the cluster resides. This field has been deprecated and replaced
4789
+ # by the name field.
4408
4790
  # @!attribute [rw] cluster_id
4409
4791
  # @deprecated This field is deprecated and may be removed in the next major version update.
4410
4792
  # @return [::String]
@@ -4439,9 +4821,9 @@ module Google
4439
4821
  # @deprecated This field is deprecated and may be removed in the next major version update.
4440
4822
  # @return [::String]
4441
4823
  # Deprecated. The name of the Google Compute Engine
4442
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4443
- # cluster resides. This field has been deprecated and replaced by the name
4444
- # field.
4824
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4825
+ # in which the cluster resides. This field has been deprecated and replaced
4826
+ # by the name field.
4445
4827
  # @!attribute [rw] cluster_id
4446
4828
  # @deprecated This field is deprecated and may be removed in the next major version update.
4447
4829
  # @return [::String]
@@ -4490,9 +4872,9 @@ module Google
4490
4872
  # @deprecated This field is deprecated and may be removed in the next major version update.
4491
4873
  # @return [::String]
4492
4874
  # Deprecated. The name of the Google Compute Engine
4493
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4494
- # cluster resides. This field has been deprecated and replaced by the name
4495
- # field.
4875
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
4876
+ # in which the cluster resides. This field has been deprecated and replaced
4877
+ # by the name field.
4496
4878
  # @!attribute [rw] cluster_id
4497
4879
  # @deprecated This field is deprecated and may be removed in the next major version update.
4498
4880
  # @return [::String]
@@ -4547,8 +4929,11 @@ module Google
4547
4929
  # @!attribute [rw] autoprovisioning_locations
4548
4930
  # @return [::Array<::String>]
4549
4931
  # The list of Google Compute Engine
4550
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
4551
- # NodePool's nodes can be created by NAP.
4932
+ # [zones](https://cloud.google.com/compute/docs/zones#available)
4933
+ # in which the NodePool's nodes can be created by NAP.
4934
+ # @!attribute [rw] default_compute_class_config
4935
+ # @return [::Google::Cloud::Container::V1::DefaultComputeClassConfig]
4936
+ # Default compute class is a configuration for default compute class.
4552
4937
  class ClusterAutoscaling
4553
4938
  include ::Google::Protobuf::MessageExts
4554
4939
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4620,8 +5005,8 @@ module Google
4620
5005
  # @!attribute [rw] image_type
4621
5006
  # @return [::String]
4622
5007
  # The image type to use for NAP created node. Please see
4623
- # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
4624
- # available image types.
5008
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
5009
+ # for available image types.
4625
5010
  # @!attribute [rw] insecure_kubelet_readonly_port_enabled
4626
5011
  # @return [::Boolean]
4627
5012
  # DEPRECATED. Use NodePoolAutoConfig.NodeKubeletConfig instead.
@@ -4646,6 +5031,16 @@ module Google
4646
5031
  extend ::Google::Protobuf::MessageExts::ClassMethods
4647
5032
  end
4648
5033
 
5034
+ # DefaultComputeClassConfig defines default compute class
5035
+ # configuration.
5036
+ # @!attribute [rw] enabled
5037
+ # @return [::Boolean]
5038
+ # Enables default compute class.
5039
+ class DefaultComputeClassConfig
5040
+ include ::Google::Protobuf::MessageExts
5041
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5042
+ end
5043
+
4649
5044
  # NodePoolAutoscaling contains information required by cluster autoscaler to
4650
5045
  # adjust the size of the node pool to the current cluster usage.
4651
5046
  # @!attribute [rw] enabled
@@ -4709,9 +5104,9 @@ module Google
4709
5104
  # @deprecated This field is deprecated and may be removed in the next major version update.
4710
5105
  # @return [::String]
4711
5106
  # Deprecated. The name of the Google Compute Engine
4712
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4713
- # cluster resides. This field has been deprecated and replaced by the name
4714
- # field.
5107
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5108
+ # in which the cluster resides. This field has been deprecated and replaced
5109
+ # by the name field.
4715
5110
  # @!attribute [rw] cluster_id
4716
5111
  # @deprecated This field is deprecated and may be removed in the next major version update.
4717
5112
  # @return [::String]
@@ -4758,9 +5153,9 @@ module Google
4758
5153
  # @deprecated This field is deprecated and may be removed in the next major version update.
4759
5154
  # @return [::String]
4760
5155
  # Deprecated. The name of the Google Compute Engine
4761
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4762
- # cluster resides. This field has been deprecated and replaced by the name
4763
- # field.
5156
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5157
+ # in which the cluster resides. This field has been deprecated and replaced
5158
+ # by the name field.
4764
5159
  # @!attribute [rw] cluster_id
4765
5160
  # @deprecated This field is deprecated and may be removed in the next major version update.
4766
5161
  # @return [::String]
@@ -4790,9 +5185,9 @@ module Google
4790
5185
  # @deprecated This field is deprecated and may be removed in the next major version update.
4791
5186
  # @return [::String]
4792
5187
  # Deprecated. The name of the Google Compute Engine
4793
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4794
- # cluster resides. This field has been deprecated and replaced by the name
4795
- # field.
5188
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5189
+ # in which the cluster resides. This field has been deprecated and replaced
5190
+ # by the name field.
4796
5191
  # @!attribute [rw] cluster_id
4797
5192
  # @deprecated This field is deprecated and may be removed in the next major version update.
4798
5193
  # @return [::String]
@@ -4821,9 +5216,9 @@ module Google
4821
5216
  # @deprecated This field is deprecated and may be removed in the next major version update.
4822
5217
  # @return [::String]
4823
5218
  # Deprecated. The name of the Google Compute Engine
4824
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4825
- # cluster resides. This field has been deprecated and replaced by the name
4826
- # field.
5219
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5220
+ # in which the cluster resides. This field has been deprecated and replaced
5221
+ # by the name field.
4827
5222
  # @!attribute [rw] cluster_id
4828
5223
  # @deprecated This field is deprecated and may be removed in the next major version update.
4829
5224
  # @return [::String]
@@ -4951,9 +5346,9 @@ module Google
4951
5346
  # @deprecated This field is deprecated and may be removed in the next major version update.
4952
5347
  # @return [::String]
4953
5348
  # Deprecated. The name of the Google Compute Engine
4954
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4955
- # cluster resides. This field has been deprecated and replaced by the name
4956
- # field.
5349
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5350
+ # in which the cluster resides. This field has been deprecated and replaced
5351
+ # by the name field.
4957
5352
  # @!attribute [rw] cluster_id
4958
5353
  # @deprecated This field is deprecated and may be removed in the next major version update.
4959
5354
  # @return [::String]
@@ -4979,8 +5374,8 @@ module Google
4979
5374
  # @!attribute [rw] zone
4980
5375
  # @return [::String]
4981
5376
  # Required. The name of the Google Compute Engine
4982
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4983
- # cluster resides.
5377
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5378
+ # in which the cluster resides.
4984
5379
  # @!attribute [rw] cluster_id
4985
5380
  # @return [::String]
4986
5381
  # Required. The name of the cluster to update.
@@ -5043,6 +5438,10 @@ module Google
5043
5438
 
5044
5439
  # Node service account is missing permissions.
5045
5440
  NODE_SERVICE_ACCOUNT_MISSING_PERMISSIONS = 10
5441
+
5442
+ # Cloud KMS key version used for etcd level encryption has been destroyed.
5443
+ # This is a permanent error.
5444
+ CLOUD_KMS_KEY_DESTROYED = 11
5046
5445
  end
5047
5446
  end
5048
5447
 
@@ -5056,8 +5455,8 @@ module Google
5056
5455
  # @!attribute [r] subnetwork
5057
5456
  # @return [::String]
5058
5457
  # Output only. The relative name of the Google Compute Engine
5059
- # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
5060
- # cluster is connected. Example:
5458
+ # [subnetwork](https://cloud.google.com/compute/docs/vpc)
5459
+ # to which the cluster is connected. Example:
5061
5460
  # projects/my-project/regions/us-central1/subnetworks/my-subnet
5062
5461
  # @!attribute [rw] enable_intra_node_visibility
5063
5462
  # @return [::Boolean]
@@ -6528,6 +6927,25 @@ module Google
6528
6927
  extend ::Google::Protobuf::MessageExts::ClassMethods
6529
6928
  end
6530
6929
 
6930
+ # BootDisk specifies the boot disk configuration for nodepools.
6931
+ # @!attribute [rw] disk_type
6932
+ # @return [::String]
6933
+ # Disk type of the boot disk.
6934
+ # (i.e. Hyperdisk-Balanced, PD-Balanced, etc.)
6935
+ # @!attribute [rw] size_gb
6936
+ # @return [::Integer]
6937
+ # Disk size in GB. Replaces NodeConfig.disk_size_gb
6938
+ # @!attribute [rw] provisioned_iops
6939
+ # @return [::Integer]
6940
+ # For Hyperdisk-Balanced only, the provisioned IOPS config value.
6941
+ # @!attribute [rw] provisioned_throughput
6942
+ # @return [::Integer]
6943
+ # For Hyperdisk-Balanced only, the provisioned throughput config value.
6944
+ class BootDisk
6945
+ include ::Google::Protobuf::MessageExts
6946
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6947
+ end
6948
+
6531
6949
  # SecondaryBootDisk represents a persistent disk attached to a node
6532
6950
  # with special configurations based on its mode.
6533
6951
  # @!attribute [rw] mode
@@ -6782,6 +7200,29 @@ module Google
6782
7200
  end
6783
7201
  end
6784
7202
 
7203
+ # GkeAutoUpgradeConfig is the configuration for GKE auto upgrades.
7204
+ # @!attribute [rw] patch_mode
7205
+ # @return [::Google::Cloud::Container::V1::GkeAutoUpgradeConfig::PatchMode]
7206
+ # PatchMode specifies how auto upgrade patch builds should be
7207
+ # selected.
7208
+ class GkeAutoUpgradeConfig
7209
+ include ::Google::Protobuf::MessageExts
7210
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7211
+
7212
+ # PatchMode specifies how auto upgrade patch builds should be
7213
+ # selected.
7214
+ module PatchMode
7215
+ # PATCH_MODE_UNSPECIFIED defaults to using the upgrade target from the
7216
+ # channel's patch upgrade targets as the upgrade target for the
7217
+ # version.
7218
+ PATCH_MODE_UNSPECIFIED = 0
7219
+
7220
+ # ACCELERATED denotes that the latest patch build in the channel should be
7221
+ # used as the upgrade target for the version.
7222
+ ACCELERATED = 1
7223
+ end
7224
+ end
7225
+
6785
7226
  # PrivateIPv6GoogleAccess controls whether and how the pods can communicate
6786
7227
  # with Google Services through gRPC over IPv6.
6787
7228
  module PrivateIPv6GoogleAccess