google-cloud-container-v1beta1 0.47.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.
@@ -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::V1beta1::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::V1beta1::LinuxNodeConfig::HugepagesConfig]
59
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.
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::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.
260
382
  class NodeKubeletConfig
261
383
  include ::Google::Protobuf::MessageExts
262
384
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -320,6 +442,136 @@ 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.
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
+
323
575
  # Parameters that describe the nodes in a cluster.
324
576
  #
325
577
  # GKE Autopilot clusters do not
@@ -337,6 +589,7 @@ module Google
337
589
  # @return [::Integer]
338
590
  # Size of the disk attached to each node, specified in GB.
339
591
  # The smallest allowed disk size is 10GB.
592
+ #
340
593
  # If unspecified, the default disk size is 100GB.
341
594
  # @!attribute [rw] oauth_scopes
342
595
  # @return [::Array<::String>]
@@ -398,8 +651,8 @@ module Google
398
651
  # @return [::String]
399
652
  # The image type to use for this node. Note that for a given image type,
400
653
  # 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.
654
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
655
+ # for available image types.
403
656
  # @!attribute [rw] labels
404
657
  # @return [::Google::Protobuf::Map{::String => ::String}]
405
658
  # The map of Kubernetes labels (key/value pairs) to be applied to each node.
@@ -427,13 +680,14 @@ module Google
427
680
  # @!attribute [rw] preemptible
428
681
  # @return [::Boolean]
429
682
  # 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.
683
+ # https://cloud.google.com/compute/docs/instances/preemptible
684
+ # for more information about preemptible VM instances.
432
685
  # @!attribute [rw] accelerators
433
686
  # @return [::Array<::Google::Cloud::Container::V1beta1::AcceleratorConfig>]
434
687
  # 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.
688
+ # See
689
+ # https://cloud.google.com/compute/docs/gpus
690
+ # for more information about support for GPUs.
437
691
  # @!attribute [rw] sandbox_config
438
692
  # @return [::Google::Cloud::Container::V1beta1::SandboxConfig]
439
693
  # Sandbox configuration for this node.
@@ -574,6 +828,9 @@ module Google
574
828
  # @!attribute [rw] flex_start
575
829
  # @return [::Boolean]
576
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.
577
834
  class NodeConfig
578
835
  include ::Google::Protobuf::MessageExts
579
836
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -658,7 +915,7 @@ module Google
658
915
  include ::Google::Protobuf::MessageExts
659
916
  extend ::Google::Protobuf::MessageExts::ClassMethods
660
917
 
661
- # Level of PMU access
918
+ # Level of PMU access.
662
919
  module PerformanceMonitoringUnit
663
920
  # PMU not enabled.
664
921
  PERFORMANCE_MONITORING_UNIT_UNSPECIFIED = 0
@@ -751,6 +1008,13 @@ module Google
751
1008
  # Output only. The utilization of the IPv4 range for the pod.
752
1009
  # The ratio is Usage/[Total number of IPs in the secondary range],
753
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.
754
1018
  class NodeNetworkConfig
755
1019
  include ::Google::Protobuf::MessageExts
756
1020
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -982,6 +1246,11 @@ module Google
982
1246
  # @!attribute [rw] node_affinities
983
1247
  # @return [::Array<::Google::Cloud::Container::V1beta1::SoleTenantConfig::NodeAffinity>]
984
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.
985
1254
  class SoleTenantConfig
986
1255
  include ::Google::Protobuf::MessageExts
987
1256
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1056,7 +1325,8 @@ module Google
1056
1325
  extend ::Google::Protobuf::MessageExts::ClassMethods
1057
1326
 
1058
1327
  # GCPSecretManagerCertificateConfig configures a secret from
1059
- # [Google Secret Manager](https://cloud.google.com/secret-manager).
1328
+ # [Google Secret
1329
+ # Manager](https://cloud.google.com/secret-manager).
1060
1330
  # @!attribute [rw] secret_uri
1061
1331
  # @return [::String]
1062
1332
  # Secret URI, in the form
@@ -1347,6 +1617,9 @@ module Google
1347
1617
  # @!attribute [rw] high_scale_checkpointing_config
1348
1618
  # @return [::Google::Cloud::Container::V1beta1::HighScaleCheckpointingConfig]
1349
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.
1350
1623
  class AddonsConfig
1351
1624
  include ::Google::Protobuf::MessageExts
1352
1625
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1490,6 +1763,19 @@ module Google
1490
1763
  extend ::Google::Protobuf::MessageExts::ClassMethods
1491
1764
  end
1492
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
+
1493
1779
  # Configuration options for the Ray Operator add-on.
1494
1780
  # @!attribute [rw] enabled
1495
1781
  # @return [::Boolean]
@@ -1880,6 +2166,16 @@ module Google
1880
2166
  # Output only. The utilization of the cluster default IPv4 range for the
1881
2167
  # pod. The ratio is Usage/[Total number of IPs in the secondary range],
1882
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
1883
2179
  class IPAllocationPolicy
1884
2180
  include ::Google::Protobuf::MessageExts
1885
2181
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2027,7 +2323,8 @@ module Google
2027
2323
  # @deprecated This field is deprecated and may be removed in the next major version update.
2028
2324
  # @return [::Integer]
2029
2325
  # The number of nodes to create in this cluster. You must ensure that your
2030
- # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
2326
+ # Compute Engine [resource
2327
+ # quota](https://cloud.google.com/compute/quotas)
2031
2328
  # is sufficient for this number of instances. You must also have available
2032
2329
  # firewall and routes quota.
2033
2330
  # For requests, this field should only be used in lieu of a
@@ -2102,9 +2399,9 @@ module Google
2102
2399
  # @!attribute [rw] subnetwork
2103
2400
  # @return [::String]
2104
2401
  # The name of the Google Compute Engine
2105
- # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
2106
- # the cluster is connected. On output this shows the subnetwork ID instead of
2107
- # 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.
2108
2405
  # @!attribute [rw] node_pools
2109
2406
  # @return [::Array<::Google::Cloud::Container::V1beta1::NodePool>]
2110
2407
  # The node pools associated with this cluster.
@@ -2113,8 +2410,8 @@ module Google
2113
2410
  # @!attribute [rw] locations
2114
2411
  # @return [::Array<::String>]
2115
2412
  # The list of Google Compute Engine
2116
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
2117
- # 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.
2118
2415
  #
2119
2416
  # This field provides a default value if
2120
2417
  # [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations)
@@ -2267,8 +2564,9 @@ module Google
2267
2564
  # @deprecated This field is deprecated and may be removed in the next major version update.
2268
2565
  # @return [::String]
2269
2566
  # Output only. The name of the Google Compute Engine
2270
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2271
- # 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.
2272
2570
  # @!attribute [r] endpoint
2273
2571
  # @return [::String]
2274
2572
  # Output only. The IP address of this cluster's master endpoint.
@@ -2437,6 +2735,9 @@ module Google
2437
2735
  # @return [::Google::Cloud::Container::V1beta1::RBACBindingConfig]
2438
2736
  # RBACBindingConfig allows user to restrict ClusterRoleBindings an
2439
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.
2440
2741
  # @!attribute [rw] anonymous_authentication_config
2441
2742
  # @return [::Google::Cloud::Container::V1beta1::AnonymousAuthenticationConfig]
2442
2743
  # Configuration for limiting anonymous access to all endpoints except the
@@ -2546,9 +2847,25 @@ module Google
2546
2847
 
2547
2848
  # AnonymousAuthenticationConfig defines the settings needed to limit endpoints
2548
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.
2549
2853
  class AnonymousAuthenticationConfig
2550
2854
  include ::Google::Protobuf::MessageExts
2551
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
2552
2869
  end
2553
2870
 
2554
2871
  # CompliancePostureConfig defines the settings needed to enable/disable
@@ -2804,8 +3121,8 @@ module Google
2804
3121
  # @!attribute [rw] desired_locations
2805
3122
  # @return [::Array<::String>]
2806
3123
  # The desired list of Google Compute Engine
2807
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
2808
- # 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.
2809
3126
  #
2810
3127
  # This list must always include the cluster's primary zone.
2811
3128
  #
@@ -3070,15 +3387,27 @@ module Google
3070
3387
  # The desired node kubelet config for all auto-provisioned node pools
3071
3388
  # in autopilot clusters and node auto-provisioning enabled clusters.
3072
3389
  # @!attribute [rw] user_managed_keys_config
3390
+ # @deprecated This field is deprecated and may be removed in the next major version update.
3073
3391
  # @return [::Google::Cloud::Container::V1beta1::UserManagedKeysConfig]
3074
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.
3075
3398
  # @!attribute [rw] desired_rbac_binding_config
3076
3399
  # @return [::Google::Cloud::Container::V1beta1::RBACBindingConfig]
3077
3400
  # RBACBindingConfig allows user to restrict ClusterRoleBindings an
3078
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.
3079
3405
  # @!attribute [rw] desired_enterprise_config
3080
3406
  # @return [::Google::Cloud::Container::V1beta1::DesiredEnterpriseConfig]
3081
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
3082
3411
  # @!attribute [rw] desired_disable_l4_lb_firewall_reconciliation
3083
3412
  # @return [::Boolean]
3084
3413
  # Enable/Disable L4 LB VPC firewall reconciliation for the cluster.
@@ -3088,10 +3417,16 @@ module Google
3088
3417
  # in autopilot clusters and node auto-provisioning enabled clusters.
3089
3418
  #
3090
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.
3091
3423
  # @!attribute [rw] desired_anonymous_authentication_config
3092
3424
  # @return [::Google::Cloud::Container::V1beta1::AnonymousAuthenticationConfig]
3093
3425
  # Configuration for limiting anonymous access to all endpoints except the
3094
3426
  # health checks.
3427
+ # @!attribute [rw] gke_auto_upgrade_config
3428
+ # @return [::Google::Cloud::Container::V1beta1::GkeAutoUpgradeConfig]
3429
+ # Configuration for GKE auto upgrade.
3095
3430
  class ClusterUpdate
3096
3431
  include ::Google::Protobuf::MessageExts
3097
3432
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3110,6 +3445,42 @@ module Google
3110
3445
  extend ::Google::Protobuf::MessageExts::ClassMethods
3111
3446
  end
3112
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
+
3113
3484
  # RangeInfo contains the range name and the range utilization by this cluster.
3114
3485
  # @!attribute [r] range_name
3115
3486
  # @return [::String]
@@ -3140,8 +3511,9 @@ module Google
3140
3511
  # @deprecated This field is deprecated and may be removed in the next major version update.
3141
3512
  # @return [::String]
3142
3513
  # Output only. The name of the Google Compute Engine
3143
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3144
- # 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.
3145
3517
  # @!attribute [r] operation_type
3146
3518
  # @return [::Google::Cloud::Container::V1beta1::Operation::Type]
3147
3519
  # Output only. The operation type.
@@ -3417,9 +3789,9 @@ module Google
3417
3789
  # @deprecated This field is deprecated and may be removed in the next major version update.
3418
3790
  # @return [::String]
3419
3791
  # Deprecated. The name of the Google Compute Engine
3420
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3421
- # cluster resides. This field has been deprecated and replaced by the parent
3422
- # field.
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.
3423
3795
  # @!attribute [rw] cluster
3424
3796
  # @return [::Google::Cloud::Container::V1beta1::Cluster]
3425
3797
  # Required. A [cluster
@@ -3444,9 +3816,9 @@ module Google
3444
3816
  # @deprecated This field is deprecated and may be removed in the next major version update.
3445
3817
  # @return [::String]
3446
3818
  # Deprecated. The name of the Google Compute Engine
3447
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3448
- # cluster resides. This field has been deprecated and replaced by the name
3449
- # field.
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.
3450
3822
  # @!attribute [rw] cluster_id
3451
3823
  # @deprecated This field is deprecated and may be removed in the next major version update.
3452
3824
  # @return [::String]
@@ -3472,9 +3844,9 @@ module Google
3472
3844
  # @deprecated This field is deprecated and may be removed in the next major version update.
3473
3845
  # @return [::String]
3474
3846
  # Deprecated. The name of the Google Compute Engine
3475
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3476
- # cluster resides. This field has been deprecated and replaced by the name
3477
- # field.
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.
3478
3850
  # @!attribute [rw] cluster_id
3479
3851
  # @deprecated This field is deprecated and may be removed in the next major version update.
3480
3852
  # @return [::String]
@@ -3503,9 +3875,9 @@ module Google
3503
3875
  # @deprecated This field is deprecated and may be removed in the next major version update.
3504
3876
  # @return [::String]
3505
3877
  # Deprecated. The name of the Google Compute Engine
3506
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3507
- # cluster resides. This field has been deprecated and replaced by the name
3508
- # field.
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.
3509
3881
  # @!attribute [rw] cluster_id
3510
3882
  # @deprecated This field is deprecated and may be removed in the next major version update.
3511
3883
  # @return [::String]
@@ -3532,15 +3904,15 @@ module Google
3532
3904
  # @!attribute [rw] image_type
3533
3905
  # @return [::String]
3534
3906
  # Required. The desired image type for the node pool. Please see
3535
- # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
3536
- # available image types.
3907
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
3908
+ # for available image types.
3537
3909
  # @!attribute [rw] locations
3538
3910
  # @return [::Array<::String>]
3539
3911
  # The desired list of Google Compute Engine
3540
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3541
- # node pool's nodes should be located. Changing the locations for a node pool
3542
- # will result in nodes being either created or removed from the node pool,
3543
- # 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.
3544
3916
  # @!attribute [rw] workload_metadata_config
3545
3917
  # @return [::Google::Cloud::Container::V1beta1::WorkloadMetadataConfig]
3546
3918
  # The desired workload metadata config for the node pool.
@@ -3607,8 +3979,9 @@ module Google
3607
3979
  # @!attribute [rw] accelerators
3608
3980
  # @return [::Array<::Google::Cloud::Container::V1beta1::AcceleratorConfig>]
3609
3981
  # A list of hardware accelerators to be attached to each node.
3610
- # See https://cloud.google.com/compute/docs/gpus for more information about
3611
- # support for GPUs.
3982
+ # See
3983
+ # https://cloud.google.com/compute/docs/gpus
3984
+ # for more information about support for GPUs.
3612
3985
  # @!attribute [rw] machine_type
3613
3986
  # @return [::String]
3614
3987
  # Optional. The desired machine type for nodes in the node pool.
@@ -3648,6 +4021,11 @@ module Google
3648
4021
  # @!attribute [rw] flex_start
3649
4022
  # @return [::Boolean]
3650
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.
3651
4029
  class UpdateNodePoolRequest
3652
4030
  include ::Google::Protobuf::MessageExts
3653
4031
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3664,9 +4042,9 @@ module Google
3664
4042
  # @deprecated This field is deprecated and may be removed in the next major version update.
3665
4043
  # @return [::String]
3666
4044
  # Deprecated. The name of the Google Compute Engine
3667
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3668
- # cluster resides. This field has been deprecated and replaced by the name
3669
- # field.
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.
3670
4048
  # @!attribute [rw] cluster_id
3671
4049
  # @deprecated This field is deprecated and may be removed in the next major version update.
3672
4050
  # @return [::String]
@@ -3701,9 +4079,9 @@ module Google
3701
4079
  # @deprecated This field is deprecated and may be removed in the next major version update.
3702
4080
  # @return [::String]
3703
4081
  # Deprecated. The name of the Google Compute Engine
3704
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3705
- # cluster resides. This field has been deprecated and replaced by the name
3706
- # field.
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.
3707
4085
  # @!attribute [rw] cluster_id
3708
4086
  # @deprecated This field is deprecated and may be removed in the next major version update.
3709
4087
  # @return [::String]
@@ -3742,9 +4120,9 @@ module Google
3742
4120
  # @deprecated This field is deprecated and may be removed in the next major version update.
3743
4121
  # @return [::String]
3744
4122
  # Deprecated. The name of the Google Compute Engine
3745
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3746
- # cluster resides. This field has been deprecated and replaced by the name
3747
- # field.
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.
3748
4126
  # @!attribute [rw] cluster_id
3749
4127
  # @deprecated This field is deprecated and may be removed in the next major version update.
3750
4128
  # @return [::String]
@@ -3783,9 +4161,9 @@ module Google
3783
4161
  # @deprecated This field is deprecated and may be removed in the next major version update.
3784
4162
  # @return [::String]
3785
4163
  # Deprecated. The name of the Google Compute Engine
3786
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3787
- # cluster resides. This field has been deprecated and replaced by the name
3788
- # field.
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.
3789
4167
  # @!attribute [rw] cluster_id
3790
4168
  # @deprecated This field is deprecated and may be removed in the next major version update.
3791
4169
  # @return [::String]
@@ -3815,9 +4193,9 @@ module Google
3815
4193
  # @deprecated This field is deprecated and may be removed in the next major version update.
3816
4194
  # @return [::String]
3817
4195
  # Deprecated. The name of the Google Compute Engine
3818
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3819
- # cluster resides. This field has been deprecated and replaced by the name
3820
- # field.
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.
3821
4199
  # @!attribute [rw] cluster_id
3822
4200
  # @deprecated This field is deprecated and may be removed in the next major version update.
3823
4201
  # @return [::String]
@@ -3826,10 +4204,10 @@ module Google
3826
4204
  # @!attribute [rw] locations
3827
4205
  # @return [::Array<::String>]
3828
4206
  # Required. The desired list of Google Compute Engine
3829
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3830
- # cluster's nodes should be located. Changing the locations a cluster is in
3831
- # will result in nodes being either created or removed from the cluster,
3832
- # 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.
3833
4211
  #
3834
4212
  # This list must always include the cluster's primary zone.
3835
4213
  # @!attribute [rw] name
@@ -3852,9 +4230,9 @@ module Google
3852
4230
  # @deprecated This field is deprecated and may be removed in the next major version update.
3853
4231
  # @return [::String]
3854
4232
  # Deprecated. The name of the Google Compute Engine
3855
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3856
- # cluster resides. This field has been deprecated and replaced by the name
3857
- # field.
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.
3858
4236
  # @!attribute [rw] cluster_id
3859
4237
  # @deprecated This field is deprecated and may be removed in the next major version update.
3860
4238
  # @return [::String]
@@ -3892,9 +4270,9 @@ module Google
3892
4270
  # @deprecated This field is deprecated and may be removed in the next major version update.
3893
4271
  # @return [::String]
3894
4272
  # Deprecated. The name of the Google Compute Engine
3895
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3896
- # cluster resides. This field has been deprecated and replaced by the name
3897
- # field.
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.
3898
4276
  # @!attribute [rw] cluster_id
3899
4277
  # @deprecated This field is deprecated and may be removed in the next major version update.
3900
4278
  # @return [::String]
@@ -3944,9 +4322,9 @@ module Google
3944
4322
  # @deprecated This field is deprecated and may be removed in the next major version update.
3945
4323
  # @return [::String]
3946
4324
  # Deprecated. The name of the Google Compute Engine
3947
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3948
- # cluster resides. This field has been deprecated and replaced by the name
3949
- # field.
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.
3950
4328
  # @!attribute [rw] cluster_id
3951
4329
  # @deprecated This field is deprecated and may be removed in the next major version update.
3952
4330
  # @return [::String]
@@ -3972,9 +4350,9 @@ module Google
3972
4350
  # @deprecated This field is deprecated and may be removed in the next major version update.
3973
4351
  # @return [::String]
3974
4352
  # Deprecated. The name of the Google Compute Engine
3975
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3976
- # cluster resides, or "-" for all zones. This field has been deprecated and
3977
- # replaced by the parent field.
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.
3978
4356
  # @!attribute [rw] parent
3979
4357
  # @return [::String]
3980
4358
  # The parent (project and location) where the clusters will be listed.
@@ -4010,9 +4388,9 @@ module Google
4010
4388
  # @deprecated This field is deprecated and may be removed in the next major version update.
4011
4389
  # @return [::String]
4012
4390
  # Deprecated. The name of the Google Compute Engine
4013
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4014
- # cluster resides. This field has been deprecated and replaced by the name
4015
- # field.
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.
4016
4394
  # @!attribute [rw] operation_id
4017
4395
  # @deprecated This field is deprecated and may be removed in the next major version update.
4018
4396
  # @return [::String]
@@ -4038,9 +4416,9 @@ module Google
4038
4416
  # @deprecated This field is deprecated and may be removed in the next major version update.
4039
4417
  # @return [::String]
4040
4418
  # Deprecated. The name of the Google Compute Engine
4041
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return
4042
- # operations for, or `-` for all zones. This field has been deprecated and
4043
- # replaced by the parent field.
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.
4044
4422
  # @!attribute [rw] parent
4045
4423
  # @return [::String]
4046
4424
  # The parent (project and location) where the operations will be listed.
@@ -4062,9 +4440,9 @@ module Google
4062
4440
  # @deprecated This field is deprecated and may be removed in the next major version update.
4063
4441
  # @return [::String]
4064
4442
  # Deprecated. The name of the Google Compute Engine
4065
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4066
- # operation resides. This field has been deprecated and replaced by the name
4067
- # field.
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.
4068
4446
  # @!attribute [rw] operation_id
4069
4447
  # @deprecated This field is deprecated and may be removed in the next major version update.
4070
4448
  # @return [::String]
@@ -4103,9 +4481,9 @@ module Google
4103
4481
  # @deprecated This field is deprecated and may be removed in the next major version update.
4104
4482
  # @return [::String]
4105
4483
  # Deprecated. The name of the Google Compute Engine
4106
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return
4107
- # operations for. This field has been deprecated and replaced by the name
4108
- # field.
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.
4109
4487
  # @!attribute [rw] name
4110
4488
  # @return [::String]
4111
4489
  # The name (project and location) of the server config to get,
@@ -4239,9 +4617,9 @@ module Google
4239
4617
  # @deprecated This field is deprecated and may be removed in the next major version update.
4240
4618
  # @return [::String]
4241
4619
  # Deprecated. The name of the Google Compute Engine
4242
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4243
- # cluster resides. This field has been deprecated and replaced by the parent
4244
- # field.
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.
4245
4623
  # @!attribute [rw] cluster_id
4246
4624
  # @deprecated This field is deprecated and may be removed in the next major version update.
4247
4625
  # @return [::String]
@@ -4271,9 +4649,9 @@ module Google
4271
4649
  # @deprecated This field is deprecated and may be removed in the next major version update.
4272
4650
  # @return [::String]
4273
4651
  # Deprecated. The name of the Google Compute Engine
4274
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4275
- # cluster resides. This field has been deprecated and replaced by the name
4276
- # field.
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.
4277
4655
  # @!attribute [rw] cluster_id
4278
4656
  # @deprecated This field is deprecated and may be removed in the next major version update.
4279
4657
  # @return [::String]
@@ -4305,9 +4683,9 @@ module Google
4305
4683
  # @deprecated This field is deprecated and may be removed in the next major version update.
4306
4684
  # @return [::String]
4307
4685
  # Deprecated. The name of the Google Compute Engine
4308
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4309
- # cluster resides. This field has been deprecated and replaced by the parent
4310
- # field.
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.
4311
4689
  # @!attribute [rw] cluster_id
4312
4690
  # @deprecated This field is deprecated and may be removed in the next major version update.
4313
4691
  # @return [::String]
@@ -4333,9 +4711,9 @@ module Google
4333
4711
  # @deprecated This field is deprecated and may be removed in the next major version update.
4334
4712
  # @return [::String]
4335
4713
  # Deprecated. The name of the Google Compute Engine
4336
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4337
- # cluster resides. This field has been deprecated and replaced by the name
4338
- # field.
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.
4339
4717
  # @!attribute [rw] cluster_id
4340
4718
  # @deprecated This field is deprecated and may be removed in the next major version update.
4341
4719
  # @return [::String]
@@ -4418,14 +4796,15 @@ module Google
4418
4796
  # @!attribute [rw] initial_node_count
4419
4797
  # @return [::Integer]
4420
4798
  # The initial node count for the pool. You must ensure that your
4421
- # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
4799
+ # Compute Engine [resource
4800
+ # quota](https://cloud.google.com/compute/quotas)
4422
4801
  # is sufficient for this number of instances. You must also have available
4423
4802
  # firewall and routes quota.
4424
4803
  # @!attribute [rw] locations
4425
4804
  # @return [::Array<::String>]
4426
4805
  # The list of Google Compute Engine
4427
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
4428
- # 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.
4429
4808
  #
4430
4809
  # If this value is unspecified during node pool creation, the
4431
4810
  # [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
@@ -4899,9 +5278,9 @@ module Google
4899
5278
  # @deprecated This field is deprecated and may be removed in the next major version update.
4900
5279
  # @return [::String]
4901
5280
  # Deprecated. The name of the Google Compute Engine
4902
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4903
- # cluster resides. This field has been deprecated and replaced by the name
4904
- # field.
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.
4905
5284
  # @!attribute [rw] cluster_id
4906
5285
  # @deprecated This field is deprecated and may be removed in the next major version update.
4907
5286
  # @return [::String]
@@ -4936,9 +5315,9 @@ module Google
4936
5315
  # @deprecated This field is deprecated and may be removed in the next major version update.
4937
5316
  # @return [::String]
4938
5317
  # Deprecated. The name of the Google Compute Engine
4939
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4940
- # cluster resides. This field has been deprecated and replaced by the name
4941
- # field.
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.
4942
5321
  # @!attribute [rw] cluster_id
4943
5322
  # @deprecated This field is deprecated and may be removed in the next major version update.
4944
5323
  # @return [::String]
@@ -4987,9 +5366,9 @@ module Google
4987
5366
  # @deprecated This field is deprecated and may be removed in the next major version update.
4988
5367
  # @return [::String]
4989
5368
  # Deprecated. The name of the Google Compute Engine
4990
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4991
- # cluster resides. This field has been deprecated and replaced by the name
4992
- # field.
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.
4993
5372
  # @!attribute [rw] cluster_id
4994
5373
  # @deprecated This field is deprecated and may be removed in the next major version update.
4995
5374
  # @return [::String]
@@ -5044,8 +5423,11 @@ module Google
5044
5423
  # @!attribute [rw] autoprovisioning_locations
5045
5424
  # @return [::Array<::String>]
5046
5425
  # The list of Google Compute Engine
5047
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
5048
- # 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.
5049
5431
  class ClusterAutoscaling
5050
5432
  include ::Google::Protobuf::MessageExts
5051
5433
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -5133,8 +5515,8 @@ module Google
5133
5515
  # @!attribute [rw] image_type
5134
5516
  # @return [::String]
5135
5517
  # The image type to use for NAP created node. Please see
5136
- # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
5137
- # available image types.
5518
+ # https://cloud.google.com/kubernetes-engine/docs/concepts/node-images
5519
+ # for available image types.
5138
5520
  # @!attribute [rw] insecure_kubelet_readonly_port_enabled
5139
5521
  # @return [::Boolean]
5140
5522
  # DEPRECATED. Use NodePoolAutoConfig.NodeKubeletConfig instead.
@@ -5159,6 +5541,16 @@ module Google
5159
5541
  extend ::Google::Protobuf::MessageExts::ClassMethods
5160
5542
  end
5161
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
+
5162
5554
  # NodePoolAutoscaling contains information required by cluster autoscaler to
5163
5555
  # adjust the size of the node pool to the current cluster usage.
5164
5556
  # @!attribute [rw] enabled
@@ -5222,9 +5614,9 @@ module Google
5222
5614
  # @deprecated This field is deprecated and may be removed in the next major version update.
5223
5615
  # @return [::String]
5224
5616
  # Deprecated. The name of the Google Compute Engine
5225
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
5226
- # cluster resides. This field has been deprecated and replaced by the name
5227
- # field.
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.
5228
5620
  # @!attribute [rw] cluster_id
5229
5621
  # @deprecated This field is deprecated and may be removed in the next major version update.
5230
5622
  # @return [::String]
@@ -5271,9 +5663,9 @@ module Google
5271
5663
  # @deprecated This field is deprecated and may be removed in the next major version update.
5272
5664
  # @return [::String]
5273
5665
  # Deprecated. The name of the Google Compute Engine
5274
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
5275
- # cluster resides. This field has been deprecated and replaced by the name
5276
- # field.
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.
5277
5669
  # @!attribute [rw] cluster_id
5278
5670
  # @deprecated This field is deprecated and may be removed in the next major version update.
5279
5671
  # @return [::String]
@@ -5303,9 +5695,9 @@ module Google
5303
5695
  # @deprecated This field is deprecated and may be removed in the next major version update.
5304
5696
  # @return [::String]
5305
5697
  # Deprecated. The name of the Google Compute Engine
5306
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
5307
- # cluster resides. This field has been deprecated and replaced by the name
5308
- # field.
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.
5309
5701
  # @!attribute [rw] cluster_id
5310
5702
  # @deprecated This field is deprecated and may be removed in the next major version update.
5311
5703
  # @return [::String]
@@ -5334,9 +5726,9 @@ module Google
5334
5726
  # @deprecated This field is deprecated and may be removed in the next major version update.
5335
5727
  # @return [::String]
5336
5728
  # Deprecated. The name of the Google Compute Engine
5337
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
5338
- # cluster resides. This field has been deprecated and replaced by the name
5339
- # field.
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.
5340
5732
  # @!attribute [rw] cluster_id
5341
5733
  # @deprecated This field is deprecated and may be removed in the next major version update.
5342
5734
  # @return [::String]
@@ -5535,9 +5927,9 @@ module Google
5535
5927
  # @deprecated This field is deprecated and may be removed in the next major version update.
5536
5928
  # @return [::String]
5537
5929
  # Deprecated. The name of the Google Compute Engine
5538
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
5539
- # cluster resides. This field has been deprecated and replaced by the name
5540
- # field.
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.
5541
5933
  # @!attribute [rw] cluster_id
5542
5934
  # @deprecated This field is deprecated and may be removed in the next major version update.
5543
5935
  # @return [::String]
@@ -5563,8 +5955,8 @@ module Google
5563
5955
  # @!attribute [rw] zone
5564
5956
  # @return [::String]
5565
5957
  # Required. The name of the Google Compute Engine
5566
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
5567
- # cluster resides.
5958
+ # [zone](https://cloud.google.com/compute/docs/zones#available)
5959
+ # in which the cluster resides.
5568
5960
  # @!attribute [rw] cluster_id
5569
5961
  # @return [::String]
5570
5962
  # Required. The name of the cluster to update.
@@ -5684,6 +6076,10 @@ module Google
5684
6076
 
5685
6077
  # Node service account is missing permissions.
5686
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
5687
6083
  end
5688
6084
  end
5689
6085
 
@@ -5697,8 +6093,8 @@ module Google
5697
6093
  # @!attribute [r] subnetwork
5698
6094
  # @return [::String]
5699
6095
  # Output only. The relative name of the Google Compute Engine
5700
- # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
5701
- # cluster is connected. Example:
6096
+ # [subnetwork](https://cloud.google.com/compute/docs/vpc)
6097
+ # to which the cluster is connected. Example:
5702
6098
  # projects/my-project/regions/us-central1/subnetworks/my-subnet
5703
6099
  # @!attribute [rw] enable_intra_node_visibility
5704
6100
  # @return [::Boolean]
@@ -7183,6 +7579,25 @@ module Google
7183
7579
  end
7184
7580
  end
7185
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
7599
+ end
7600
+
7186
7601
  # SecondaryBootDisk represents a persistent disk attached to a node
7187
7602
  # with special configurations based on its mode.
7188
7603
  # @!attribute [rw] mode
@@ -7437,6 +7852,29 @@ module Google
7437
7852
  end
7438
7853
  end
7439
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
+
7440
7878
  # PrivateIPv6GoogleAccess controls whether and how the pods can communicate
7441
7879
  # with Google Services through gRPC over IPv6.
7442
7880
  module PrivateIPv6GoogleAccess