google-apis-container_v1beta1 0.43.0 → 0.80.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +153 -0
- data/OVERVIEW.md +3 -3
- data/lib/google/apis/container_v1beta1/classes.rb +2702 -156
- data/lib/google/apis/container_v1beta1/gem_version.rb +3 -3
- data/lib/google/apis/container_v1beta1/representations.rb +1011 -2
- data/lib/google/apis/container_v1beta1/service.rb +177 -6
- data/lib/google/apis/container_v1beta1.rb +1 -1
- metadata +7 -10
@@ -37,6 +37,12 @@ module Google
|
|
37
37
|
# @return [String]
|
38
38
|
attr_accessor :accelerator_type
|
39
39
|
|
40
|
+
# GPUDriverInstallationConfig specifies the version of GPU driver to be auto
|
41
|
+
# installed.
|
42
|
+
# Corresponds to the JSON property `gpuDriverInstallationConfig`
|
43
|
+
# @return [Google::Apis::ContainerV1beta1::GpuDriverInstallationConfig]
|
44
|
+
attr_accessor :gpu_driver_installation_config
|
45
|
+
|
40
46
|
# Size of partitions to create on the GPU. Valid values are described in the
|
41
47
|
# NVIDIA [mig user guide](https://docs.nvidia.com/datacenter/tesla/mig-user-
|
42
48
|
# guide/#partitioning).
|
@@ -63,12 +69,105 @@ module Google
|
|
63
69
|
def update!(**args)
|
64
70
|
@accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count)
|
65
71
|
@accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type)
|
72
|
+
@gpu_driver_installation_config = args[:gpu_driver_installation_config] if args.key?(:gpu_driver_installation_config)
|
66
73
|
@gpu_partition_size = args[:gpu_partition_size] if args.key?(:gpu_partition_size)
|
67
74
|
@gpu_sharing_config = args[:gpu_sharing_config] if args.key?(:gpu_sharing_config)
|
68
75
|
@max_time_shared_clients_per_gpu = args[:max_time_shared_clients_per_gpu] if args.key?(:max_time_shared_clients_per_gpu)
|
69
76
|
end
|
70
77
|
end
|
71
78
|
|
79
|
+
# AdditionalNodeNetworkConfig is the configuration for additional node networks
|
80
|
+
# within the NodeNetworkConfig message
|
81
|
+
class AdditionalNodeNetworkConfig
|
82
|
+
include Google::Apis::Core::Hashable
|
83
|
+
|
84
|
+
# Name of the VPC where the additional interface belongs
|
85
|
+
# Corresponds to the JSON property `network`
|
86
|
+
# @return [String]
|
87
|
+
attr_accessor :network
|
88
|
+
|
89
|
+
# Name of the subnetwork where the additional interface belongs
|
90
|
+
# Corresponds to the JSON property `subnetwork`
|
91
|
+
# @return [String]
|
92
|
+
attr_accessor :subnetwork
|
93
|
+
|
94
|
+
def initialize(**args)
|
95
|
+
update!(**args)
|
96
|
+
end
|
97
|
+
|
98
|
+
# Update properties of this object
|
99
|
+
def update!(**args)
|
100
|
+
@network = args[:network] if args.key?(:network)
|
101
|
+
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
# AdditionalPodNetworkConfig is the configuration for additional pod networks
|
106
|
+
# within the NodeNetworkConfig message
|
107
|
+
class AdditionalPodNetworkConfig
|
108
|
+
include Google::Apis::Core::Hashable
|
109
|
+
|
110
|
+
# Constraints applied to pods.
|
111
|
+
# Corresponds to the JSON property `maxPodsPerNode`
|
112
|
+
# @return [Google::Apis::ContainerV1beta1::MaxPodsConstraint]
|
113
|
+
attr_accessor :max_pods_per_node
|
114
|
+
|
115
|
+
# The name of the network attachment for pods to communicate to; cannot be
|
116
|
+
# specified along with subnetwork or secondary_pod_range.
|
117
|
+
# Corresponds to the JSON property `networkAttachment`
|
118
|
+
# @return [String]
|
119
|
+
attr_accessor :network_attachment
|
120
|
+
|
121
|
+
# The name of the secondary range on the subnet which provides IP address for
|
122
|
+
# this pod range.
|
123
|
+
# Corresponds to the JSON property `secondaryPodRange`
|
124
|
+
# @return [String]
|
125
|
+
attr_accessor :secondary_pod_range
|
126
|
+
|
127
|
+
# Name of the subnetwork where the additional pod network belongs.
|
128
|
+
# Corresponds to the JSON property `subnetwork`
|
129
|
+
# @return [String]
|
130
|
+
attr_accessor :subnetwork
|
131
|
+
|
132
|
+
def initialize(**args)
|
133
|
+
update!(**args)
|
134
|
+
end
|
135
|
+
|
136
|
+
# Update properties of this object
|
137
|
+
def update!(**args)
|
138
|
+
@max_pods_per_node = args[:max_pods_per_node] if args.key?(:max_pods_per_node)
|
139
|
+
@network_attachment = args[:network_attachment] if args.key?(:network_attachment)
|
140
|
+
@secondary_pod_range = args[:secondary_pod_range] if args.key?(:secondary_pod_range)
|
141
|
+
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
145
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
146
|
+
# ranges supporting the ClusterUpdate message.
|
147
|
+
class AdditionalPodRangesConfig
|
148
|
+
include Google::Apis::Core::Hashable
|
149
|
+
|
150
|
+
# Output only. Information for additional pod range.
|
151
|
+
# Corresponds to the JSON property `podRangeInfo`
|
152
|
+
# @return [Array<Google::Apis::ContainerV1beta1::RangeInfo>]
|
153
|
+
attr_accessor :pod_range_info
|
154
|
+
|
155
|
+
# Name for pod secondary ipv4 range which has the actual range defined ahead.
|
156
|
+
# Corresponds to the JSON property `podRangeNames`
|
157
|
+
# @return [Array<String>]
|
158
|
+
attr_accessor :pod_range_names
|
159
|
+
|
160
|
+
def initialize(**args)
|
161
|
+
update!(**args)
|
162
|
+
end
|
163
|
+
|
164
|
+
# Update properties of this object
|
165
|
+
def update!(**args)
|
166
|
+
@pod_range_info = args[:pod_range_info] if args.key?(:pod_range_info)
|
167
|
+
@pod_range_names = args[:pod_range_names] if args.key?(:pod_range_names)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
72
171
|
# Configuration for the addons that can be automatically spun up in the cluster,
|
73
172
|
# enabling additional functionality.
|
74
173
|
class AddonsConfig
|
@@ -99,6 +198,11 @@ module Google
|
|
99
198
|
# @return [Google::Apis::ContainerV1beta1::GcpFilestoreCsiDriverConfig]
|
100
199
|
attr_accessor :gcp_filestore_csi_driver_config
|
101
200
|
|
201
|
+
# Configuration for the Cloud Storage Fuse CSI driver.
|
202
|
+
# Corresponds to the JSON property `gcsFuseCsiDriverConfig`
|
203
|
+
# @return [Google::Apis::ContainerV1beta1::GcsFuseCsiDriverConfig]
|
204
|
+
attr_accessor :gcs_fuse_csi_driver_config
|
205
|
+
|
102
206
|
# Configuration for the Backup for GKE Agent.
|
103
207
|
# Corresponds to the JSON property `gkeBackupAgentConfig`
|
104
208
|
# @return [Google::Apis::ContainerV1beta1::GkeBackupAgentConfig]
|
@@ -139,6 +243,21 @@ module Google
|
|
139
243
|
# @return [Google::Apis::ContainerV1beta1::NetworkPolicyConfig]
|
140
244
|
attr_accessor :network_policy_config
|
141
245
|
|
246
|
+
# Configuration for the Cloud Storage Parallelstore CSI driver.
|
247
|
+
# Corresponds to the JSON property `parallelstoreCsiDriverConfig`
|
248
|
+
# @return [Google::Apis::ContainerV1beta1::ParallelstoreCsiDriverConfig]
|
249
|
+
attr_accessor :parallelstore_csi_driver_config
|
250
|
+
|
251
|
+
# Configuration options for the Ray Operator add-on.
|
252
|
+
# Corresponds to the JSON property `rayOperatorConfig`
|
253
|
+
# @return [Google::Apis::ContainerV1beta1::RayOperatorConfig]
|
254
|
+
attr_accessor :ray_operator_config
|
255
|
+
|
256
|
+
# Configuration for the Stateful HA add-on.
|
257
|
+
# Corresponds to the JSON property `statefulHaConfig`
|
258
|
+
# @return [Google::Apis::ContainerV1beta1::StatefulHaConfig]
|
259
|
+
attr_accessor :stateful_ha_config
|
260
|
+
|
142
261
|
def initialize(**args)
|
143
262
|
update!(**args)
|
144
263
|
end
|
@@ -150,6 +269,7 @@ module Google
|
|
150
269
|
@dns_cache_config = args[:dns_cache_config] if args.key?(:dns_cache_config)
|
151
270
|
@gce_persistent_disk_csi_driver_config = args[:gce_persistent_disk_csi_driver_config] if args.key?(:gce_persistent_disk_csi_driver_config)
|
152
271
|
@gcp_filestore_csi_driver_config = args[:gcp_filestore_csi_driver_config] if args.key?(:gcp_filestore_csi_driver_config)
|
272
|
+
@gcs_fuse_csi_driver_config = args[:gcs_fuse_csi_driver_config] if args.key?(:gcs_fuse_csi_driver_config)
|
153
273
|
@gke_backup_agent_config = args[:gke_backup_agent_config] if args.key?(:gke_backup_agent_config)
|
154
274
|
@horizontal_pod_autoscaling = args[:horizontal_pod_autoscaling] if args.key?(:horizontal_pod_autoscaling)
|
155
275
|
@http_load_balancing = args[:http_load_balancing] if args.key?(:http_load_balancing)
|
@@ -157,6 +277,43 @@ module Google
|
|
157
277
|
@kalm_config = args[:kalm_config] if args.key?(:kalm_config)
|
158
278
|
@kubernetes_dashboard = args[:kubernetes_dashboard] if args.key?(:kubernetes_dashboard)
|
159
279
|
@network_policy_config = args[:network_policy_config] if args.key?(:network_policy_config)
|
280
|
+
@parallelstore_csi_driver_config = args[:parallelstore_csi_driver_config] if args.key?(:parallelstore_csi_driver_config)
|
281
|
+
@ray_operator_config = args[:ray_operator_config] if args.key?(:ray_operator_config)
|
282
|
+
@stateful_ha_config = args[:stateful_ha_config] if args.key?(:stateful_ha_config)
|
283
|
+
end
|
284
|
+
end
|
285
|
+
|
286
|
+
# AdvancedDatapathObservabilityConfig specifies configuration of observability
|
287
|
+
# features of advanced datapath.
|
288
|
+
class AdvancedDatapathObservabilityConfig
|
289
|
+
include Google::Apis::Core::Hashable
|
290
|
+
|
291
|
+
# Expose flow metrics on nodes
|
292
|
+
# Corresponds to the JSON property `enableMetrics`
|
293
|
+
# @return [Boolean]
|
294
|
+
attr_accessor :enable_metrics
|
295
|
+
alias_method :enable_metrics?, :enable_metrics
|
296
|
+
|
297
|
+
# Enable Relay component
|
298
|
+
# Corresponds to the JSON property `enableRelay`
|
299
|
+
# @return [Boolean]
|
300
|
+
attr_accessor :enable_relay
|
301
|
+
alias_method :enable_relay?, :enable_relay
|
302
|
+
|
303
|
+
# Method used to make Relay available
|
304
|
+
# Corresponds to the JSON property `relayMode`
|
305
|
+
# @return [String]
|
306
|
+
attr_accessor :relay_mode
|
307
|
+
|
308
|
+
def initialize(**args)
|
309
|
+
update!(**args)
|
310
|
+
end
|
311
|
+
|
312
|
+
# Update properties of this object
|
313
|
+
def update!(**args)
|
314
|
+
@enable_metrics = args[:enable_metrics] if args.key?(:enable_metrics)
|
315
|
+
@enable_relay = args[:enable_relay] if args.key?(:enable_relay)
|
316
|
+
@relay_mode = args[:relay_mode] if args.key?(:relay_mode)
|
160
317
|
end
|
161
318
|
end
|
162
319
|
|
@@ -164,6 +321,12 @@ module Google
|
|
164
321
|
class AdvancedMachineFeatures
|
165
322
|
include Google::Apis::Core::Hashable
|
166
323
|
|
324
|
+
# Whether or not to enable nested virtualization (defaults to false).
|
325
|
+
# Corresponds to the JSON property `enableNestedVirtualization`
|
326
|
+
# @return [Boolean]
|
327
|
+
attr_accessor :enable_nested_virtualization
|
328
|
+
alias_method :enable_nested_virtualization?, :enable_nested_virtualization
|
329
|
+
|
167
330
|
# The number of threads per physical core. To disable simultaneous
|
168
331
|
# multithreading (SMT) set this to 1. If unset, the maximum number of threads
|
169
332
|
# supported per core by the underlying processor is assumed.
|
@@ -177,6 +340,7 @@ module Google
|
|
177
340
|
|
178
341
|
# Update properties of this object
|
179
342
|
def update!(**args)
|
343
|
+
@enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
|
180
344
|
@threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
|
181
345
|
end
|
182
346
|
end
|
@@ -209,19 +373,39 @@ module Google
|
|
209
373
|
end
|
210
374
|
end
|
211
375
|
|
376
|
+
# AutoMonitoringConfig defines the configuration for GKE Workload Auto-
|
377
|
+
# Monitoring.
|
378
|
+
class AutoMonitoringConfig
|
379
|
+
include Google::Apis::Core::Hashable
|
380
|
+
|
381
|
+
# Scope for GKE Workload Auto-Monitoring.
|
382
|
+
# Corresponds to the JSON property `scope`
|
383
|
+
# @return [String]
|
384
|
+
attr_accessor :scope
|
385
|
+
|
386
|
+
def initialize(**args)
|
387
|
+
update!(**args)
|
388
|
+
end
|
389
|
+
|
390
|
+
# Update properties of this object
|
391
|
+
def update!(**args)
|
392
|
+
@scope = args[:scope] if args.key?(:scope)
|
393
|
+
end
|
394
|
+
end
|
395
|
+
|
212
396
|
# AutoUpgradeOptions defines the set of options for the user to control how the
|
213
397
|
# Auto Upgrades will proceed.
|
214
398
|
class AutoUpgradeOptions
|
215
399
|
include Google::Apis::Core::Hashable
|
216
400
|
|
217
|
-
#
|
401
|
+
# Output only. This field is set when upgrades are about to commence with the
|
218
402
|
# approximate start time for the upgrades, in [RFC3339](https://www.ietf.org/rfc/
|
219
403
|
# rfc3339.txt) text format.
|
220
404
|
# Corresponds to the JSON property `autoUpgradeStartTime`
|
221
405
|
# @return [String]
|
222
406
|
attr_accessor :auto_upgrade_start_time
|
223
407
|
|
224
|
-
#
|
408
|
+
# Output only. This field is set when upgrades are about to commence with the
|
225
409
|
# description of the upgrade.
|
226
410
|
# Corresponds to the JSON property `description`
|
227
411
|
# @return [String]
|
@@ -242,12 +426,94 @@ module Google
|
|
242
426
|
class Autopilot
|
243
427
|
include Google::Apis::Core::Hashable
|
244
428
|
|
429
|
+
# AutopilotConversionStatus represents conversion status.
|
430
|
+
# Corresponds to the JSON property `conversionStatus`
|
431
|
+
# @return [Google::Apis::ContainerV1beta1::AutopilotConversionStatus]
|
432
|
+
attr_accessor :conversion_status
|
433
|
+
|
245
434
|
# Enable Autopilot
|
246
435
|
# Corresponds to the JSON property `enabled`
|
247
436
|
# @return [Boolean]
|
248
437
|
attr_accessor :enabled
|
249
438
|
alias_method :enabled?, :enabled
|
250
439
|
|
440
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
441
|
+
# Corresponds to the JSON property `workloadPolicyConfig`
|
442
|
+
# @return [Google::Apis::ContainerV1beta1::WorkloadPolicyConfig]
|
443
|
+
attr_accessor :workload_policy_config
|
444
|
+
|
445
|
+
def initialize(**args)
|
446
|
+
update!(**args)
|
447
|
+
end
|
448
|
+
|
449
|
+
# Update properties of this object
|
450
|
+
def update!(**args)
|
451
|
+
@conversion_status = args[:conversion_status] if args.key?(:conversion_status)
|
452
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
453
|
+
@workload_policy_config = args[:workload_policy_config] if args.key?(:workload_policy_config)
|
454
|
+
end
|
455
|
+
end
|
456
|
+
|
457
|
+
# AutopilotCompatibilityIssue contains information about a specific
|
458
|
+
# compatibility issue with Autopilot mode.
|
459
|
+
class AutopilotCompatibilityIssue
|
460
|
+
include Google::Apis::Core::Hashable
|
461
|
+
|
462
|
+
# The constraint type of the issue.
|
463
|
+
# Corresponds to the JSON property `constraintType`
|
464
|
+
# @return [String]
|
465
|
+
attr_accessor :constraint_type
|
466
|
+
|
467
|
+
# The description of the issue.
|
468
|
+
# Corresponds to the JSON property `description`
|
469
|
+
# @return [String]
|
470
|
+
attr_accessor :description
|
471
|
+
|
472
|
+
# A URL to a public documentation, which addresses resolving this issue.
|
473
|
+
# Corresponds to the JSON property `documentationUrl`
|
474
|
+
# @return [String]
|
475
|
+
attr_accessor :documentation_url
|
476
|
+
|
477
|
+
# The incompatibility type of this issue.
|
478
|
+
# Corresponds to the JSON property `incompatibilityType`
|
479
|
+
# @return [String]
|
480
|
+
attr_accessor :incompatibility_type
|
481
|
+
|
482
|
+
# The last time when this issue was observed.
|
483
|
+
# Corresponds to the JSON property `lastObservation`
|
484
|
+
# @return [String]
|
485
|
+
attr_accessor :last_observation
|
486
|
+
|
487
|
+
# The name of the resources which are subject to this issue.
|
488
|
+
# Corresponds to the JSON property `subjects`
|
489
|
+
# @return [Array<String>]
|
490
|
+
attr_accessor :subjects
|
491
|
+
|
492
|
+
def initialize(**args)
|
493
|
+
update!(**args)
|
494
|
+
end
|
495
|
+
|
496
|
+
# Update properties of this object
|
497
|
+
def update!(**args)
|
498
|
+
@constraint_type = args[:constraint_type] if args.key?(:constraint_type)
|
499
|
+
@description = args[:description] if args.key?(:description)
|
500
|
+
@documentation_url = args[:documentation_url] if args.key?(:documentation_url)
|
501
|
+
@incompatibility_type = args[:incompatibility_type] if args.key?(:incompatibility_type)
|
502
|
+
@last_observation = args[:last_observation] if args.key?(:last_observation)
|
503
|
+
@subjects = args[:subjects] if args.key?(:subjects)
|
504
|
+
end
|
505
|
+
end
|
506
|
+
|
507
|
+
# AutopilotConfig contains configuration of autopilot feature for this nodepool.
|
508
|
+
class AutopilotConfig
|
509
|
+
include Google::Apis::Core::Hashable
|
510
|
+
|
511
|
+
# Denotes that nodes belonging to this node pool are Autopilot nodes.
|
512
|
+
# Corresponds to the JSON property `enabled`
|
513
|
+
# @return [Boolean]
|
514
|
+
attr_accessor :enabled
|
515
|
+
alias_method :enabled?, :enabled
|
516
|
+
|
251
517
|
def initialize(**args)
|
252
518
|
update!(**args)
|
253
519
|
end
|
@@ -258,6 +524,25 @@ module Google
|
|
258
524
|
end
|
259
525
|
end
|
260
526
|
|
527
|
+
# AutopilotConversionStatus represents conversion status.
|
528
|
+
class AutopilotConversionStatus
|
529
|
+
include Google::Apis::Core::Hashable
|
530
|
+
|
531
|
+
# Output only. The current state of the conversion.
|
532
|
+
# Corresponds to the JSON property `state`
|
533
|
+
# @return [String]
|
534
|
+
attr_accessor :state
|
535
|
+
|
536
|
+
def initialize(**args)
|
537
|
+
update!(**args)
|
538
|
+
end
|
539
|
+
|
540
|
+
# Update properties of this object
|
541
|
+
def update!(**args)
|
542
|
+
@state = args[:state] if args.key?(:state)
|
543
|
+
end
|
544
|
+
end
|
545
|
+
|
261
546
|
# AutoprovisioningNodePoolDefaults contains defaults for a node pool created by
|
262
547
|
# NAP.
|
263
548
|
class AutoprovisioningNodePoolDefaults
|
@@ -284,11 +569,18 @@ module Google
|
|
284
569
|
# @return [String]
|
285
570
|
attr_accessor :disk_type
|
286
571
|
|
287
|
-
# The image type to use for NAP created node.
|
572
|
+
# The image type to use for NAP created node. Please see https://cloud.google.
|
573
|
+
# com/kubernetes-engine/docs/concepts/node-images for available image types.
|
288
574
|
# Corresponds to the JSON property `imageType`
|
289
575
|
# @return [String]
|
290
576
|
attr_accessor :image_type
|
291
577
|
|
578
|
+
# DEPRECATED. Use NodePoolAutoConfig.NodeKubeletConfig instead.
|
579
|
+
# Corresponds to the JSON property `insecureKubeletReadonlyPortEnabled`
|
580
|
+
# @return [Boolean]
|
581
|
+
attr_accessor :insecure_kubelet_readonly_port_enabled
|
582
|
+
alias_method :insecure_kubelet_readonly_port_enabled?, :insecure_kubelet_readonly_port_enabled
|
583
|
+
|
292
584
|
# NodeManagement defines the set of node management services turned on for the
|
293
585
|
# node pool.
|
294
586
|
# Corresponds to the JSON property `management`
|
@@ -301,7 +593,7 @@ module Google
|
|
301
593
|
# Haswell or minCpuPlatform: Intel Sandy Bridge. For more information, read [how
|
302
594
|
# to specify min CPU platform](https://cloud.google.com/compute/docs/instances/
|
303
595
|
# specify-min-cpu-platform). This field is deprecated, min_cpu_platform should
|
304
|
-
# be specified using
|
596
|
+
# be specified using `cloud.google.com/requested-min-cpu-platform` label
|
305
597
|
# selector on the pod. To unset the min cpu platform field pass "automatic" as
|
306
598
|
# field value.
|
307
599
|
# Corresponds to the JSON property `minCpuPlatform`
|
@@ -333,6 +625,20 @@ module Google
|
|
333
625
|
# @return [Google::Apis::ContainerV1beta1::ShieldedInstanceConfig]
|
334
626
|
attr_accessor :shielded_instance_config
|
335
627
|
|
628
|
+
# These upgrade settings control the level of parallelism and the level of
|
629
|
+
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
630
|
+
# that can be simultaneously unavailable. maxSurge controls the number of
|
631
|
+
# additional nodes that can be added to the node pool temporarily for the time
|
632
|
+
# of the upgrade to increase the number of available nodes. (maxUnavailable +
|
633
|
+
# maxSurge) determines the level of parallelism (how many nodes are being
|
634
|
+
# upgraded at the same time). Note: upgrades inevitably introduce some
|
635
|
+
# disruption since workloads need to be moved from old nodes to new, upgraded
|
636
|
+
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
637
|
+
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
638
|
+
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
639
|
+
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
640
|
+
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
641
|
+
# same time. This ensures that there are always at least 4 nodes available.
|
336
642
|
# These upgrade settings configure the upgrade strategy for the node pool. Use
|
337
643
|
# strategy to switch between the strategies applied to the node pool. If the
|
338
644
|
# strategy is SURGE, use max_surge and max_unavailable to control the level of
|
@@ -364,6 +670,7 @@ module Google
|
|
364
670
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
365
671
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
366
672
|
@image_type = args[:image_type] if args.key?(:image_type)
|
673
|
+
@insecure_kubelet_readonly_port_enabled = args[:insecure_kubelet_readonly_port_enabled] if args.key?(:insecure_kubelet_readonly_port_enabled)
|
367
674
|
@management = args[:management] if args.key?(:management)
|
368
675
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
369
676
|
@oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
|
@@ -373,6 +680,20 @@ module Google
|
|
373
680
|
end
|
374
681
|
end
|
375
682
|
|
683
|
+
# Autoscaled rollout policy uses cluster autoscaler during blue-green upgrades
|
684
|
+
# to scale both the green and blue pools.
|
685
|
+
class AutoscaledRolloutPolicy
|
686
|
+
include Google::Apis::Core::Hashable
|
687
|
+
|
688
|
+
def initialize(**args)
|
689
|
+
update!(**args)
|
690
|
+
end
|
691
|
+
|
692
|
+
# Update properties of this object
|
693
|
+
def update!(**args)
|
694
|
+
end
|
695
|
+
end
|
696
|
+
|
376
697
|
# Deprecated.
|
377
698
|
class AvailableVersion
|
378
699
|
include Google::Apis::Core::Hashable
|
@@ -398,6 +719,36 @@ module Google
|
|
398
719
|
end
|
399
720
|
end
|
400
721
|
|
722
|
+
# Best effort provisioning.
|
723
|
+
class BestEffortProvisioning
|
724
|
+
include Google::Apis::Core::Hashable
|
725
|
+
|
726
|
+
# When this is enabled, cluster/node pool creations will ignore non-fatal errors
|
727
|
+
# like stockout to best provision as many nodes as possible right now and
|
728
|
+
# eventually bring up all target number of nodes
|
729
|
+
# Corresponds to the JSON property `enabled`
|
730
|
+
# @return [Boolean]
|
731
|
+
attr_accessor :enabled
|
732
|
+
alias_method :enabled?, :enabled
|
733
|
+
|
734
|
+
# Minimum number of nodes to be provisioned to be considered as succeeded, and
|
735
|
+
# the rest of nodes will be provisioned gradually and eventually when stockout
|
736
|
+
# issue has been resolved.
|
737
|
+
# Corresponds to the JSON property `minProvisionNodes`
|
738
|
+
# @return [Fixnum]
|
739
|
+
attr_accessor :min_provision_nodes
|
740
|
+
|
741
|
+
def initialize(**args)
|
742
|
+
update!(**args)
|
743
|
+
end
|
744
|
+
|
745
|
+
# Update properties of this object
|
746
|
+
def update!(**args)
|
747
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
748
|
+
@min_provision_nodes = args[:min_provision_nodes] if args.key?(:min_provision_nodes)
|
749
|
+
end
|
750
|
+
end
|
751
|
+
|
401
752
|
# Parameters for using BigQuery as the destination of resource usage export.
|
402
753
|
class BigQueryDestination
|
403
754
|
include Google::Apis::Core::Hashable
|
@@ -435,6 +786,11 @@ module Google
|
|
435
786
|
# @return [String]
|
436
787
|
attr_accessor :evaluation_mode
|
437
788
|
|
789
|
+
# Optional. Binauthz policies that apply to this cluster.
|
790
|
+
# Corresponds to the JSON property `policyBindings`
|
791
|
+
# @return [Array<Google::Apis::ContainerV1beta1::PolicyBinding>]
|
792
|
+
attr_accessor :policy_bindings
|
793
|
+
|
438
794
|
def initialize(**args)
|
439
795
|
update!(**args)
|
440
796
|
end
|
@@ -443,6 +799,7 @@ module Google
|
|
443
799
|
def update!(**args)
|
444
800
|
@enabled = args[:enabled] if args.key?(:enabled)
|
445
801
|
@evaluation_mode = args[:evaluation_mode] if args.key?(:evaluation_mode)
|
802
|
+
@policy_bindings = args[:policy_bindings] if args.key?(:policy_bindings)
|
446
803
|
end
|
447
804
|
end
|
448
805
|
|
@@ -496,6 +853,12 @@ module Google
|
|
496
853
|
class BlueGreenSettings
|
497
854
|
include Google::Apis::Core::Hashable
|
498
855
|
|
856
|
+
# Autoscaled rollout policy uses cluster autoscaler during blue-green upgrades
|
857
|
+
# to scale both the green and blue pools.
|
858
|
+
# Corresponds to the JSON property `autoscaledRolloutPolicy`
|
859
|
+
# @return [Google::Apis::ContainerV1beta1::AutoscaledRolloutPolicy]
|
860
|
+
attr_accessor :autoscaled_rollout_policy
|
861
|
+
|
499
862
|
# Time needed after draining entire blue pool. After this period, blue pool will
|
500
863
|
# be cleaned up.
|
501
864
|
# Corresponds to the JSON property `nodePoolSoakDuration`
|
@@ -513,6 +876,7 @@ module Google
|
|
513
876
|
|
514
877
|
# Update properties of this object
|
515
878
|
def update!(**args)
|
879
|
+
@autoscaled_rollout_policy = args[:autoscaled_rollout_policy] if args.key?(:autoscaled_rollout_policy)
|
516
880
|
@node_pool_soak_duration = args[:node_pool_soak_duration] if args.key?(:node_pool_soak_duration)
|
517
881
|
@standard_rollout_policy = args[:standard_rollout_policy] if args.key?(:standard_rollout_policy)
|
518
882
|
end
|
@@ -561,6 +925,59 @@ module Google
|
|
561
925
|
end
|
562
926
|
end
|
563
927
|
|
928
|
+
# CertificateAuthorityDomainConfig configures one or more fully qualified domain
|
929
|
+
# names (FQDN) to a specific certificate.
|
930
|
+
class CertificateAuthorityDomainConfig
|
931
|
+
include Google::Apis::Core::Hashable
|
932
|
+
|
933
|
+
# List of fully qualified domain names (FQDN). Specifying port is supported.
|
934
|
+
# Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000
|
935
|
+
# Corresponds to the JSON property `fqdns`
|
936
|
+
# @return [Array<String>]
|
937
|
+
attr_accessor :fqdns
|
938
|
+
|
939
|
+
# GCPSecretManagerCertificateConfig configures a secret from [Google Secret
|
940
|
+
# Manager](https://cloud.google.com/secret-manager).
|
941
|
+
# Corresponds to the JSON property `gcpSecretManagerCertificateConfig`
|
942
|
+
# @return [Google::Apis::ContainerV1beta1::GcpSecretManagerCertificateConfig]
|
943
|
+
attr_accessor :gcp_secret_manager_certificate_config
|
944
|
+
|
945
|
+
def initialize(**args)
|
946
|
+
update!(**args)
|
947
|
+
end
|
948
|
+
|
949
|
+
# Update properties of this object
|
950
|
+
def update!(**args)
|
951
|
+
@fqdns = args[:fqdns] if args.key?(:fqdns)
|
952
|
+
@gcp_secret_manager_certificate_config = args[:gcp_secret_manager_certificate_config] if args.key?(:gcp_secret_manager_certificate_config)
|
953
|
+
end
|
954
|
+
end
|
955
|
+
|
956
|
+
# CheckAutopilotCompatibilityResponse has a list of compatibility issues.
|
957
|
+
class CheckAutopilotCompatibilityResponse
|
958
|
+
include Google::Apis::Core::Hashable
|
959
|
+
|
960
|
+
# The list of issues for the given operation.
|
961
|
+
# Corresponds to the JSON property `issues`
|
962
|
+
# @return [Array<Google::Apis::ContainerV1beta1::AutopilotCompatibilityIssue>]
|
963
|
+
attr_accessor :issues
|
964
|
+
|
965
|
+
# The summary of the autopilot compatibility response.
|
966
|
+
# Corresponds to the JSON property `summary`
|
967
|
+
# @return [String]
|
968
|
+
attr_accessor :summary
|
969
|
+
|
970
|
+
def initialize(**args)
|
971
|
+
update!(**args)
|
972
|
+
end
|
973
|
+
|
974
|
+
# Update properties of this object
|
975
|
+
def update!(**args)
|
976
|
+
@issues = args[:issues] if args.key?(:issues)
|
977
|
+
@summary = args[:summary] if args.key?(:summary)
|
978
|
+
end
|
979
|
+
end
|
980
|
+
|
564
981
|
# CidrBlock contains an optional name and one CIDR block.
|
565
982
|
class CidrBlock
|
566
983
|
include Google::Apis::Core::Hashable
|
@@ -677,6 +1094,12 @@ module Google
|
|
677
1094
|
# @return [Google::Apis::ContainerV1beta1::ClusterTelemetry]
|
678
1095
|
attr_accessor :cluster_telemetry
|
679
1096
|
|
1097
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
1098
|
+
# for the Compliance Posture.
|
1099
|
+
# Corresponds to the JSON property `compliancePostureConfig`
|
1100
|
+
# @return [Google::Apis::ContainerV1beta1::CompliancePostureConfig]
|
1101
|
+
attr_accessor :compliance_posture_config
|
1102
|
+
|
680
1103
|
# Which conditions caused the current cluster state.
|
681
1104
|
# Corresponds to the JSON property `conditions`
|
682
1105
|
# @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
|
@@ -688,29 +1111,34 @@ module Google
|
|
688
1111
|
# @return [Google::Apis::ContainerV1beta1::ConfidentialNodes]
|
689
1112
|
attr_accessor :confidential_nodes
|
690
1113
|
|
1114
|
+
# Configuration for all of the cluster's control plane endpoints.
|
1115
|
+
# Corresponds to the JSON property `controlPlaneEndpointsConfig`
|
1116
|
+
# @return [Google::Apis::ContainerV1beta1::ControlPlaneEndpointsConfig]
|
1117
|
+
attr_accessor :control_plane_endpoints_config
|
1118
|
+
|
691
1119
|
# Configuration for fine-grained cost management feature.
|
692
1120
|
# Corresponds to the JSON property `costManagementConfig`
|
693
1121
|
# @return [Google::Apis::ContainerV1beta1::CostManagementConfig]
|
694
1122
|
attr_accessor :cost_management_config
|
695
1123
|
|
696
|
-
#
|
1124
|
+
# Output only. The time the cluster was created, in [RFC3339](https://www.ietf.
|
697
1125
|
# org/rfc/rfc3339.txt) text format.
|
698
1126
|
# Corresponds to the JSON property `createTime`
|
699
1127
|
# @return [String]
|
700
1128
|
attr_accessor :create_time
|
701
1129
|
|
702
|
-
#
|
1130
|
+
# Output only. The current software version of the master endpoint.
|
703
1131
|
# Corresponds to the JSON property `currentMasterVersion`
|
704
1132
|
# @return [String]
|
705
1133
|
attr_accessor :current_master_version
|
706
1134
|
|
707
|
-
#
|
1135
|
+
# Output only. The number of nodes currently in the cluster. Deprecated. Call
|
708
1136
|
# Kubernetes API directly to retrieve node information.
|
709
1137
|
# Corresponds to the JSON property `currentNodeCount`
|
710
1138
|
# @return [Fixnum]
|
711
1139
|
attr_accessor :current_node_count
|
712
1140
|
|
713
|
-
#
|
1141
|
+
# Output only. Deprecated, use [NodePool.version](https://cloud.google.com/
|
714
1142
|
# kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.
|
715
1143
|
# nodePools) instead. The current version of the node software components. If
|
716
1144
|
# they are currently at multiple versions because they're in the process of
|
@@ -734,6 +1162,11 @@ module Google
|
|
734
1162
|
# @return [String]
|
735
1163
|
attr_accessor :description
|
736
1164
|
|
1165
|
+
# Kubernetes open source beta apis enabled on the cluster.
|
1166
|
+
# Corresponds to the JSON property `enableK8sBetaApis`
|
1167
|
+
# @return [Google::Apis::ContainerV1beta1::K8sBetaApiConfig]
|
1168
|
+
attr_accessor :enable_k8s_beta_apis
|
1169
|
+
|
737
1170
|
# Kubernetes alpha features are enabled on this cluster. This includes alpha API
|
738
1171
|
# groups (e.g. v1beta1) and features that may not be production ready in the
|
739
1172
|
# kubernetes version of the master and nodes. The cluster has no SLA for uptime
|
@@ -745,13 +1178,14 @@ module Google
|
|
745
1178
|
alias_method :enable_kubernetes_alpha?, :enable_kubernetes_alpha
|
746
1179
|
|
747
1180
|
# Enable the ability to use Cloud TPUs in this cluster. This field is deprecated,
|
748
|
-
# use tpu_config.enabled instead.
|
1181
|
+
# use tpu_config.enabled instead. This field is deprecated due to the
|
1182
|
+
# deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25.
|
749
1183
|
# Corresponds to the JSON property `enableTpu`
|
750
1184
|
# @return [Boolean]
|
751
1185
|
attr_accessor :enable_tpu
|
752
1186
|
alias_method :enable_tpu?, :enable_tpu
|
753
1187
|
|
754
|
-
#
|
1188
|
+
# Output only. The IP address of this cluster's master endpoint. The endpoint
|
755
1189
|
# can be accessed from the internet at `https://username:password@endpoint/`.
|
756
1190
|
# See the `masterAuth` property of this resource for username and password
|
757
1191
|
# information.
|
@@ -759,6 +1193,11 @@ module Google
|
|
759
1193
|
# @return [String]
|
760
1194
|
attr_accessor :endpoint
|
761
1195
|
|
1196
|
+
# EnterpriseConfig is the cluster enterprise configuration.
|
1197
|
+
# Corresponds to the JSON property `enterpriseConfig`
|
1198
|
+
# @return [Google::Apis::ContainerV1beta1::EnterpriseConfig]
|
1199
|
+
attr_accessor :enterprise_config
|
1200
|
+
|
762
1201
|
# This checksum is computed by the server based on the value of cluster fields,
|
763
1202
|
# and may be sent on update requests to ensure the client has an up-to-date
|
764
1203
|
# value before proceeding.
|
@@ -766,12 +1205,17 @@ module Google
|
|
766
1205
|
# @return [String]
|
767
1206
|
attr_accessor :etag
|
768
1207
|
|
769
|
-
#
|
1208
|
+
# Output only. The time the cluster will be automatically deleted in [RFC3339](
|
770
1209
|
# https://www.ietf.org/rfc/rfc3339.txt) text format.
|
771
1210
|
# Corresponds to the JSON property `expireTime`
|
772
1211
|
# @return [String]
|
773
1212
|
attr_accessor :expire_time
|
774
1213
|
|
1214
|
+
# Fleet is the fleet configuration for the cluster.
|
1215
|
+
# Corresponds to the JSON property `fleet`
|
1216
|
+
# @return [Google::Apis::ContainerV1beta1::Fleet]
|
1217
|
+
attr_accessor :fleet
|
1218
|
+
|
775
1219
|
# Output only. Unique id for the cluster.
|
776
1220
|
# Corresponds to the JSON property `id`
|
777
1221
|
# @return [String]
|
@@ -808,7 +1252,7 @@ module Google
|
|
808
1252
|
# @return [Fixnum]
|
809
1253
|
attr_accessor :initial_node_count
|
810
1254
|
|
811
|
-
# Deprecated. Use node_pools.instance_group_urls.
|
1255
|
+
# Output only. Deprecated. Use node_pools.instance_group_urls.
|
812
1256
|
# Corresponds to the JSON property `instanceGroupUrls`
|
813
1257
|
# @return [Array<String>]
|
814
1258
|
attr_accessor :instance_group_urls
|
@@ -828,10 +1272,10 @@ module Google
|
|
828
1272
|
# @return [Google::Apis::ContainerV1beta1::LegacyAbac]
|
829
1273
|
attr_accessor :legacy_abac
|
830
1274
|
|
831
|
-
#
|
832
|
-
#
|
833
|
-
#
|
834
|
-
#
|
1275
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
1276
|
+
# com/compute/docs/regions-zones/regions-zones#available) or [region](https://
|
1277
|
+
# cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
|
1278
|
+
# the cluster resides.
|
835
1279
|
# Corresponds to the JSON property `location`
|
836
1280
|
# @return [String]
|
837
1281
|
attr_accessor :location
|
@@ -908,7 +1352,7 @@ module Google
|
|
908
1352
|
attr_accessor :monitoring_config
|
909
1353
|
|
910
1354
|
# The monitoring service the cluster should use to write metrics. Currently
|
911
|
-
# available options: *
|
1355
|
+
# available options: * `monitoring.googleapis.com/kubernetes` - The Cloud
|
912
1356
|
# Monitoring service with a Kubernetes-native resource model * `monitoring.
|
913
1357
|
# googleapis.com` - The legacy Cloud Monitoring service (no longer available as
|
914
1358
|
# of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left
|
@@ -952,9 +1396,9 @@ module Google
|
|
952
1396
|
# @return [Google::Apis::ContainerV1beta1::NodeConfig]
|
953
1397
|
attr_accessor :node_config
|
954
1398
|
|
955
|
-
#
|
956
|
-
#
|
957
|
-
#
|
1399
|
+
# Output only. The size of the address space on each node for hosting containers.
|
1400
|
+
# This is provisioned from within the `container_ipv4_cidr` range. This field
|
1401
|
+
# will only be set when cluster is in route-based network mode.
|
958
1402
|
# Corresponds to the JSON property `nodeIpv4CidrSize`
|
959
1403
|
# @return [Fixnum]
|
960
1404
|
attr_accessor :node_ipv4_cidr_size
|
@@ -981,6 +1425,19 @@ module Google
|
|
981
1425
|
# @return [Google::Apis::ContainerV1beta1::NotificationConfig]
|
982
1426
|
attr_accessor :notification_config
|
983
1427
|
|
1428
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
1429
|
+
# This field is used by Google internal products that are built on top of a GKE
|
1430
|
+
# cluster and take the ownership of the cluster.
|
1431
|
+
# Corresponds to the JSON property `parentProductConfig`
|
1432
|
+
# @return [Google::Apis::ContainerV1beta1::ParentProductConfig]
|
1433
|
+
attr_accessor :parent_product_config
|
1434
|
+
|
1435
|
+
# PodAutoscaling is used for configuration of parameters for workload
|
1436
|
+
# autoscaling.
|
1437
|
+
# Corresponds to the JSON property `podAutoscaling`
|
1438
|
+
# @return [Google::Apis::ContainerV1beta1::PodAutoscaling]
|
1439
|
+
attr_accessor :pod_autoscaling
|
1440
|
+
|
984
1441
|
# Configuration for the PodSecurityPolicy feature.
|
985
1442
|
# Corresponds to the JSON property `podSecurityPolicyConfig`
|
986
1443
|
# @return [Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig]
|
@@ -1006,6 +1463,12 @@ module Google
|
|
1006
1463
|
# @return [Google::Apis::ContainerV1beta1::ProtectConfig]
|
1007
1464
|
attr_accessor :protect_config
|
1008
1465
|
|
1466
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
1467
|
+
# that can be created.
|
1468
|
+
# Corresponds to the JSON property `rbacBindingConfig`
|
1469
|
+
# @return [Google::Apis::ContainerV1beta1::RbacBindingConfig]
|
1470
|
+
attr_accessor :rbac_binding_config
|
1471
|
+
|
1009
1472
|
# ReleaseChannel indicates which release channel a cluster is subscribed to.
|
1010
1473
|
# Release channels are arranged in order of risk. When a cluster is subscribed
|
1011
1474
|
# to a release channel, Google maintains both the master version and the node
|
@@ -1025,12 +1488,35 @@ module Google
|
|
1025
1488
|
# @return [Google::Apis::ContainerV1beta1::ResourceUsageExportConfig]
|
1026
1489
|
attr_accessor :resource_usage_export_config
|
1027
1490
|
|
1028
|
-
#
|
1491
|
+
# Output only. Reserved for future use.
|
1492
|
+
# Corresponds to the JSON property `satisfiesPzi`
|
1493
|
+
# @return [Boolean]
|
1494
|
+
attr_accessor :satisfies_pzi
|
1495
|
+
alias_method :satisfies_pzi?, :satisfies_pzi
|
1496
|
+
|
1497
|
+
# Output only. Reserved for future use.
|
1498
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
1499
|
+
# @return [Boolean]
|
1500
|
+
attr_accessor :satisfies_pzs
|
1501
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
1502
|
+
|
1503
|
+
# SecretManagerConfig is config for secret manager enablement.
|
1504
|
+
# Corresponds to the JSON property `secretManagerConfig`
|
1505
|
+
# @return [Google::Apis::ContainerV1beta1::SecretManagerConfig]
|
1506
|
+
attr_accessor :secret_manager_config
|
1507
|
+
|
1508
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
1509
|
+
# the Security Posture API.
|
1510
|
+
# Corresponds to the JSON property `securityPostureConfig`
|
1511
|
+
# @return [Google::Apis::ContainerV1beta1::SecurityPostureConfig]
|
1512
|
+
attr_accessor :security_posture_config
|
1513
|
+
|
1514
|
+
# Output only. Server-defined URL for the resource.
|
1029
1515
|
# Corresponds to the JSON property `selfLink`
|
1030
1516
|
# @return [String]
|
1031
1517
|
attr_accessor :self_link
|
1032
1518
|
|
1033
|
-
#
|
1519
|
+
# Output only. The IP address range of the Kubernetes services in this cluster,
|
1034
1520
|
# in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
|
1035
1521
|
# notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `
|
1036
1522
|
# /16` from the container CIDR.
|
@@ -1043,12 +1529,12 @@ module Google
|
|
1043
1529
|
# @return [Google::Apis::ContainerV1beta1::ShieldedNodes]
|
1044
1530
|
attr_accessor :shielded_nodes
|
1045
1531
|
|
1046
|
-
#
|
1532
|
+
# Output only. The current status of this cluster.
|
1047
1533
|
# Corresponds to the JSON property `status`
|
1048
1534
|
# @return [String]
|
1049
1535
|
attr_accessor :status
|
1050
1536
|
|
1051
|
-
#
|
1537
|
+
# Output only. Deprecated. Use conditions instead. Additional information about
|
1052
1538
|
# the current status of this cluster, if available.
|
1053
1539
|
# Corresponds to the JSON property `statusMessage`
|
1054
1540
|
# @return [String]
|
@@ -1061,18 +1547,26 @@ module Google
|
|
1061
1547
|
# @return [String]
|
1062
1548
|
attr_accessor :subnetwork
|
1063
1549
|
|
1064
|
-
# Configuration for Cloud TPU.
|
1550
|
+
# Configuration for Cloud TPU. This message is deprecated due to the deprecation
|
1551
|
+
# of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25.
|
1065
1552
|
# Corresponds to the JSON property `tpuConfig`
|
1066
1553
|
# @return [Google::Apis::ContainerV1beta1::TpuConfig]
|
1067
1554
|
attr_accessor :tpu_config
|
1068
1555
|
|
1069
|
-
#
|
1070
|
-
#
|
1071
|
-
#
|
1556
|
+
# Output only. The IP address range of the Cloud TPUs in this cluster, in [CIDR](
|
1557
|
+
# http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.
|
1558
|
+
# 2.3.4/29`). This field is deprecated due to the deprecation of 2VM TPU. The
|
1559
|
+
# end of life date for 2VM TPU is 2025-04-25.
|
1072
1560
|
# Corresponds to the JSON property `tpuIpv4CidrBlock`
|
1073
1561
|
# @return [String]
|
1074
1562
|
attr_accessor :tpu_ipv4_cidr_block
|
1075
1563
|
|
1564
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
1565
|
+
# signing certs and token that are used for communication within cluster.
|
1566
|
+
# Corresponds to the JSON property `userManagedKeysConfig`
|
1567
|
+
# @return [Google::Apis::ContainerV1beta1::UserManagedKeysConfig]
|
1568
|
+
attr_accessor :user_managed_keys_config
|
1569
|
+
|
1076
1570
|
# VerticalPodAutoscaling contains global, per-cluster information required by
|
1077
1571
|
# Vertical Pod Autoscaler to automatically adjust the resources of pods
|
1078
1572
|
# controlled by it.
|
@@ -1095,9 +1589,9 @@ module Google
|
|
1095
1589
|
# @return [Google::Apis::ContainerV1beta1::WorkloadIdentityConfig]
|
1096
1590
|
attr_accessor :workload_identity_config
|
1097
1591
|
|
1098
|
-
#
|
1099
|
-
#
|
1100
|
-
#
|
1592
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
1593
|
+
# com/compute/docs/zones#available) in which the cluster resides. This field is
|
1594
|
+
# deprecated, use location instead.
|
1101
1595
|
# Corresponds to the JSON property `zone`
|
1102
1596
|
# @return [String]
|
1103
1597
|
attr_accessor :zone
|
@@ -1115,8 +1609,10 @@ module Google
|
|
1115
1609
|
@binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
|
1116
1610
|
@cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
|
1117
1611
|
@cluster_telemetry = args[:cluster_telemetry] if args.key?(:cluster_telemetry)
|
1612
|
+
@compliance_posture_config = args[:compliance_posture_config] if args.key?(:compliance_posture_config)
|
1118
1613
|
@conditions = args[:conditions] if args.key?(:conditions)
|
1119
1614
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
1615
|
+
@control_plane_endpoints_config = args[:control_plane_endpoints_config] if args.key?(:control_plane_endpoints_config)
|
1120
1616
|
@cost_management_config = args[:cost_management_config] if args.key?(:cost_management_config)
|
1121
1617
|
@create_time = args[:create_time] if args.key?(:create_time)
|
1122
1618
|
@current_master_version = args[:current_master_version] if args.key?(:current_master_version)
|
@@ -1125,11 +1621,14 @@ module Google
|
|
1125
1621
|
@database_encryption = args[:database_encryption] if args.key?(:database_encryption)
|
1126
1622
|
@default_max_pods_constraint = args[:default_max_pods_constraint] if args.key?(:default_max_pods_constraint)
|
1127
1623
|
@description = args[:description] if args.key?(:description)
|
1624
|
+
@enable_k8s_beta_apis = args[:enable_k8s_beta_apis] if args.key?(:enable_k8s_beta_apis)
|
1128
1625
|
@enable_kubernetes_alpha = args[:enable_kubernetes_alpha] if args.key?(:enable_kubernetes_alpha)
|
1129
1626
|
@enable_tpu = args[:enable_tpu] if args.key?(:enable_tpu)
|
1130
1627
|
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
1628
|
+
@enterprise_config = args[:enterprise_config] if args.key?(:enterprise_config)
|
1131
1629
|
@etag = args[:etag] if args.key?(:etag)
|
1132
1630
|
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
1631
|
+
@fleet = args[:fleet] if args.key?(:fleet)
|
1133
1632
|
@id = args[:id] if args.key?(:id)
|
1134
1633
|
@identity_service_config = args[:identity_service_config] if args.key?(:identity_service_config)
|
1135
1634
|
@initial_cluster_version = args[:initial_cluster_version] if args.key?(:initial_cluster_version)
|
@@ -1160,13 +1659,20 @@ module Google
|
|
1160
1659
|
@node_pool_defaults = args[:node_pool_defaults] if args.key?(:node_pool_defaults)
|
1161
1660
|
@node_pools = args[:node_pools] if args.key?(:node_pools)
|
1162
1661
|
@notification_config = args[:notification_config] if args.key?(:notification_config)
|
1662
|
+
@parent_product_config = args[:parent_product_config] if args.key?(:parent_product_config)
|
1663
|
+
@pod_autoscaling = args[:pod_autoscaling] if args.key?(:pod_autoscaling)
|
1163
1664
|
@pod_security_policy_config = args[:pod_security_policy_config] if args.key?(:pod_security_policy_config)
|
1164
1665
|
@private_cluster = args[:private_cluster] if args.key?(:private_cluster)
|
1165
1666
|
@private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
|
1166
1667
|
@protect_config = args[:protect_config] if args.key?(:protect_config)
|
1668
|
+
@rbac_binding_config = args[:rbac_binding_config] if args.key?(:rbac_binding_config)
|
1167
1669
|
@release_channel = args[:release_channel] if args.key?(:release_channel)
|
1168
1670
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
1169
1671
|
@resource_usage_export_config = args[:resource_usage_export_config] if args.key?(:resource_usage_export_config)
|
1672
|
+
@satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
|
1673
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
1674
|
+
@secret_manager_config = args[:secret_manager_config] if args.key?(:secret_manager_config)
|
1675
|
+
@security_posture_config = args[:security_posture_config] if args.key?(:security_posture_config)
|
1170
1676
|
@self_link = args[:self_link] if args.key?(:self_link)
|
1171
1677
|
@services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
|
1172
1678
|
@shielded_nodes = args[:shielded_nodes] if args.key?(:shielded_nodes)
|
@@ -1175,6 +1681,7 @@ module Google
|
|
1175
1681
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
1176
1682
|
@tpu_config = args[:tpu_config] if args.key?(:tpu_config)
|
1177
1683
|
@tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
|
1684
|
+
@user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
|
1178
1685
|
@vertical_pod_autoscaling = args[:vertical_pod_autoscaling] if args.key?(:vertical_pod_autoscaling)
|
1179
1686
|
@workload_alts_config = args[:workload_alts_config] if args.key?(:workload_alts_config)
|
1180
1687
|
@workload_certificates = args[:workload_certificates] if args.key?(:workload_certificates)
|
@@ -1232,12 +1739,31 @@ module Google
|
|
1232
1739
|
end
|
1233
1740
|
end
|
1234
1741
|
|
1235
|
-
#
|
1236
|
-
class
|
1742
|
+
# Configuration of all network bandwidth tiers
|
1743
|
+
class ClusterNetworkPerformanceConfig
|
1237
1744
|
include Google::Apis::Core::Hashable
|
1238
1745
|
|
1239
|
-
#
|
1240
|
-
# Corresponds to the JSON property `
|
1746
|
+
# Specifies the total network bandwidth tier for the NodePool.
|
1747
|
+
# Corresponds to the JSON property `totalEgressBandwidthTier`
|
1748
|
+
# @return [String]
|
1749
|
+
attr_accessor :total_egress_bandwidth_tier
|
1750
|
+
|
1751
|
+
def initialize(**args)
|
1752
|
+
update!(**args)
|
1753
|
+
end
|
1754
|
+
|
1755
|
+
# Update properties of this object
|
1756
|
+
def update!(**args)
|
1757
|
+
@total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
|
1758
|
+
end
|
1759
|
+
end
|
1760
|
+
|
1761
|
+
# Telemetry integration for the cluster.
|
1762
|
+
class ClusterTelemetry
|
1763
|
+
include Google::Apis::Core::Hashable
|
1764
|
+
|
1765
|
+
# Type of the integration.
|
1766
|
+
# Corresponds to the JSON property `type`
|
1241
1767
|
# @return [String]
|
1242
1768
|
attr_accessor :type
|
1243
1769
|
|
@@ -1256,6 +1782,12 @@ module Google
|
|
1256
1782
|
class ClusterUpdate
|
1257
1783
|
include Google::Apis::Core::Hashable
|
1258
1784
|
|
1785
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
1786
|
+
# ranges supporting the ClusterUpdate message.
|
1787
|
+
# Corresponds to the JSON property `additionalPodRangesConfig`
|
1788
|
+
# @return [Google::Apis::ContainerV1beta1::AdditionalPodRangesConfig]
|
1789
|
+
attr_accessor :additional_pod_ranges_config
|
1790
|
+
|
1259
1791
|
# Configuration for the addons that can be automatically spun up in the cluster,
|
1260
1792
|
# enabling additional functionality.
|
1261
1793
|
# Corresponds to the JSON property `desiredAddonsConfig`
|
@@ -1267,6 +1799,11 @@ module Google
|
|
1267
1799
|
# @return [Google::Apis::ContainerV1beta1::AuthenticatorGroupsConfig]
|
1268
1800
|
attr_accessor :desired_authenticator_groups_config
|
1269
1801
|
|
1802
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
1803
|
+
# Corresponds to the JSON property `desiredAutopilotWorkloadPolicyConfig`
|
1804
|
+
# @return [Google::Apis::ContainerV1beta1::WorkloadPolicyConfig]
|
1805
|
+
attr_accessor :desired_autopilot_workload_policy_config
|
1806
|
+
|
1270
1807
|
# Configuration for Binary Authorization.
|
1271
1808
|
# Corresponds to the JSON property `desiredBinaryAuthorization`
|
1272
1809
|
# @return [Google::Apis::ContainerV1beta1::BinaryAuthorization]
|
@@ -1284,6 +1821,22 @@ module Google
|
|
1284
1821
|
# @return [Google::Apis::ContainerV1beta1::ClusterTelemetry]
|
1285
1822
|
attr_accessor :desired_cluster_telemetry
|
1286
1823
|
|
1824
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
1825
|
+
# for the Compliance Posture.
|
1826
|
+
# Corresponds to the JSON property `desiredCompliancePostureConfig`
|
1827
|
+
# @return [Google::Apis::ContainerV1beta1::CompliancePostureConfig]
|
1828
|
+
attr_accessor :desired_compliance_posture_config
|
1829
|
+
|
1830
|
+
# ContainerdConfig contains configuration to customize containerd.
|
1831
|
+
# Corresponds to the JSON property `desiredContainerdConfig`
|
1832
|
+
# @return [Google::Apis::ContainerV1beta1::ContainerdConfig]
|
1833
|
+
attr_accessor :desired_containerd_config
|
1834
|
+
|
1835
|
+
# Configuration for all of the cluster's control plane endpoints.
|
1836
|
+
# Corresponds to the JSON property `desiredControlPlaneEndpointsConfig`
|
1837
|
+
# @return [Google::Apis::ContainerV1beta1::ControlPlaneEndpointsConfig]
|
1838
|
+
attr_accessor :desired_control_plane_endpoints_config
|
1839
|
+
|
1287
1840
|
# Configuration for fine-grained cost management feature.
|
1288
1841
|
# Corresponds to the JSON property `desiredCostManagementConfig`
|
1289
1842
|
# @return [Google::Apis::ContainerV1beta1::CostManagementConfig]
|
@@ -1299,23 +1852,68 @@ module Google
|
|
1299
1852
|
# @return [String]
|
1300
1853
|
attr_accessor :desired_datapath_provider
|
1301
1854
|
|
1855
|
+
# Override the default setting of whether future created nodes have private IP
|
1856
|
+
# addresses only, namely NetworkConfig.default_enable_private_nodes
|
1857
|
+
# Corresponds to the JSON property `desiredDefaultEnablePrivateNodes`
|
1858
|
+
# @return [Boolean]
|
1859
|
+
attr_accessor :desired_default_enable_private_nodes
|
1860
|
+
alias_method :desired_default_enable_private_nodes?, :desired_default_enable_private_nodes
|
1861
|
+
|
1302
1862
|
# DefaultSnatStatus contains the desired state of whether default sNAT should be
|
1303
1863
|
# disabled on the cluster.
|
1304
1864
|
# Corresponds to the JSON property `desiredDefaultSnatStatus`
|
1305
1865
|
# @return [Google::Apis::ContainerV1beta1::DefaultSnatStatus]
|
1306
1866
|
attr_accessor :desired_default_snat_status
|
1307
1867
|
|
1868
|
+
# Enable/Disable L4 LB VPC firewall reconciliation for the cluster.
|
1869
|
+
# Corresponds to the JSON property `desiredDisableL4LbFirewallReconciliation`
|
1870
|
+
# @return [Boolean]
|
1871
|
+
attr_accessor :desired_disable_l4_lb_firewall_reconciliation
|
1872
|
+
alias_method :desired_disable_l4_lb_firewall_reconciliation?, :desired_disable_l4_lb_firewall_reconciliation
|
1873
|
+
|
1308
1874
|
# DNSConfig contains the desired set of options for configuring clusterDNS.
|
1309
1875
|
# Corresponds to the JSON property `desiredDnsConfig`
|
1310
1876
|
# @return [Google::Apis::ContainerV1beta1::DnsConfig]
|
1311
1877
|
attr_accessor :desired_dns_config
|
1312
1878
|
|
1313
|
-
# Enable/Disable
|
1879
|
+
# Enable/Disable Cilium Clusterwide Network Policy for the cluster.
|
1880
|
+
# Corresponds to the JSON property `desiredEnableCiliumClusterwideNetworkPolicy`
|
1881
|
+
# @return [Boolean]
|
1882
|
+
attr_accessor :desired_enable_cilium_clusterwide_network_policy
|
1883
|
+
alias_method :desired_enable_cilium_clusterwide_network_policy?, :desired_enable_cilium_clusterwide_network_policy
|
1884
|
+
|
1885
|
+
# Enable/Disable FQDN Network Policy for the cluster.
|
1886
|
+
# Corresponds to the JSON property `desiredEnableFqdnNetworkPolicy`
|
1887
|
+
# @return [Boolean]
|
1888
|
+
attr_accessor :desired_enable_fqdn_network_policy
|
1889
|
+
alias_method :desired_enable_fqdn_network_policy?, :desired_enable_fqdn_network_policy
|
1890
|
+
|
1891
|
+
# Enable/Disable Multi-Networking for the cluster
|
1892
|
+
# Corresponds to the JSON property `desiredEnableMultiNetworking`
|
1893
|
+
# @return [Boolean]
|
1894
|
+
attr_accessor :desired_enable_multi_networking
|
1895
|
+
alias_method :desired_enable_multi_networking?, :desired_enable_multi_networking
|
1896
|
+
|
1897
|
+
# Enable/Disable private endpoint for the cluster's master. Deprecated: Use
|
1898
|
+
# desired_control_plane_endpoints_config.ip_endpoints_config.
|
1899
|
+
# enable_public_endpoint instead. Note that the value of enable_public_endpoint
|
1900
|
+
# is reversed: if enable_private_endpoint is false, then enable_public_endpoint
|
1901
|
+
# will be true.
|
1314
1902
|
# Corresponds to the JSON property `desiredEnablePrivateEndpoint`
|
1315
1903
|
# @return [Boolean]
|
1316
1904
|
attr_accessor :desired_enable_private_endpoint
|
1317
1905
|
alias_method :desired_enable_private_endpoint?, :desired_enable_private_endpoint
|
1318
1906
|
|
1907
|
+
# DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
|
1908
|
+
# Corresponds to the JSON property `desiredEnterpriseConfig`
|
1909
|
+
# @return [Google::Apis::ContainerV1beta1::DesiredEnterpriseConfig]
|
1910
|
+
attr_accessor :desired_enterprise_config
|
1911
|
+
|
1912
|
+
# Fleet is the fleet configuration for the cluster.
|
1913
|
+
# Corresponds to the JSON property `desiredFleet`
|
1914
|
+
# @return [Google::Apis::ContainerV1beta1::Fleet]
|
1915
|
+
attr_accessor :desired_fleet
|
1916
|
+
|
1319
1917
|
# GatewayAPIConfig contains the desired config of Gateway API on this cluster.
|
1320
1918
|
# Corresponds to the JSON property `desiredGatewayApiConfig`
|
1321
1919
|
# @return [Google::Apis::ContainerV1beta1::GatewayApiConfig]
|
@@ -1326,6 +1924,12 @@ module Google
|
|
1326
1924
|
# @return [Google::Apis::ContainerV1beta1::GcfsConfig]
|
1327
1925
|
attr_accessor :desired_gcfs_config
|
1328
1926
|
|
1927
|
+
# HostMaintenancePolicy contains the maintenance policy for the hosts on which
|
1928
|
+
# the GKE VMs run on.
|
1929
|
+
# Corresponds to the JSON property `desiredHostMaintenancePolicy`
|
1930
|
+
# @return [Google::Apis::ContainerV1beta1::HostMaintenancePolicy]
|
1931
|
+
attr_accessor :desired_host_maintenance_policy
|
1932
|
+
|
1329
1933
|
# IdentityServiceConfig is configuration for Identity Service which allows
|
1330
1934
|
# customers to use external identity providers with the K8S API
|
1331
1935
|
# Corresponds to the JSON property `desiredIdentityServiceConfig`
|
@@ -1338,12 +1942,23 @@ module Google
|
|
1338
1942
|
# @return [String]
|
1339
1943
|
attr_accessor :desired_image_type
|
1340
1944
|
|
1945
|
+
# Specify the details of in-transit encryption. Now named inter-node transparent
|
1946
|
+
# encryption.
|
1947
|
+
# Corresponds to the JSON property `desiredInTransitEncryptionConfig`
|
1948
|
+
# @return [String]
|
1949
|
+
attr_accessor :desired_in_transit_encryption_config
|
1950
|
+
|
1341
1951
|
# IntraNodeVisibilityConfig contains the desired config of the intra-node
|
1342
1952
|
# visibility on this cluster.
|
1343
1953
|
# Corresponds to the JSON property `desiredIntraNodeVisibilityConfig`
|
1344
1954
|
# @return [Google::Apis::ContainerV1beta1::IntraNodeVisibilityConfig]
|
1345
1955
|
attr_accessor :desired_intra_node_visibility_config
|
1346
1956
|
|
1957
|
+
# Kubernetes open source beta apis enabled on the cluster.
|
1958
|
+
# Corresponds to the JSON property `desiredK8sBetaApis`
|
1959
|
+
# @return [Google::Apis::ContainerV1beta1::K8sBetaApiConfig]
|
1960
|
+
attr_accessor :desired_k8s_beta_apis
|
1961
|
+
|
1347
1962
|
# ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
|
1348
1963
|
# subsetting on this cluster.
|
1349
1964
|
# Corresponds to the JSON property `desiredL4ilbSubsettingConfig`
|
@@ -1410,7 +2025,7 @@ module Google
|
|
1410
2025
|
attr_accessor :desired_monitoring_config
|
1411
2026
|
|
1412
2027
|
# The monitoring service the cluster should use to write metrics. Currently
|
1413
|
-
# available options: *
|
2028
|
+
# available options: * `monitoring.googleapis.com/kubernetes` - The Cloud
|
1414
2029
|
# Monitoring service with a Kubernetes-native resource model * `monitoring.
|
1415
2030
|
# googleapis.com` - The legacy Cloud Monitoring service (no longer available as
|
1416
2031
|
# of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left
|
@@ -1420,6 +2035,26 @@ module Google
|
|
1420
2035
|
# @return [String]
|
1421
2036
|
attr_accessor :desired_monitoring_service
|
1422
2037
|
|
2038
|
+
# Configuration of all network bandwidth tiers
|
2039
|
+
# Corresponds to the JSON property `desiredNetworkPerformanceConfig`
|
2040
|
+
# @return [Google::Apis::ContainerV1beta1::ClusterNetworkPerformanceConfig]
|
2041
|
+
attr_accessor :desired_network_performance_config
|
2042
|
+
|
2043
|
+
# Node kubelet configs.
|
2044
|
+
# Corresponds to the JSON property `desiredNodeKubeletConfig`
|
2045
|
+
# @return [Google::Apis::ContainerV1beta1::NodeKubeletConfig]
|
2046
|
+
attr_accessor :desired_node_kubelet_config
|
2047
|
+
|
2048
|
+
# Node kubelet configs.
|
2049
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigKubeletConfig`
|
2050
|
+
# @return [Google::Apis::ContainerV1beta1::NodeKubeletConfig]
|
2051
|
+
attr_accessor :desired_node_pool_auto_config_kubelet_config
|
2052
|
+
|
2053
|
+
# Parameters that can be configured on Linux nodes.
|
2054
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigLinuxNodeConfig`
|
2055
|
+
# @return [Google::Apis::ContainerV1beta1::LinuxNodeConfig]
|
2056
|
+
attr_accessor :desired_node_pool_auto_config_linux_node_config
|
2057
|
+
|
1423
2058
|
# Collection of Compute Engine network tags that can be applied to a node's
|
1424
2059
|
# underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/
|
1425
2060
|
# docs/reference/rest/v1/NodeConfig)).
|
@@ -1427,6 +2062,15 @@ module Google
|
|
1427
2062
|
# @return [Google::Apis::ContainerV1beta1::NetworkTags]
|
1428
2063
|
attr_accessor :desired_node_pool_auto_config_network_tags
|
1429
2064
|
|
2065
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
2066
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
2067
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
2068
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
2069
|
+
# specified. Existing tags will be replaced with new values.
|
2070
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigResourceManagerTags`
|
2071
|
+
# @return [Google::Apis::ContainerV1beta1::ResourceManagerTags]
|
2072
|
+
attr_accessor :desired_node_pool_auto_config_resource_manager_tags
|
2073
|
+
|
1430
2074
|
# NodePoolAutoscaling contains information required by cluster autoscaler to
|
1431
2075
|
# adjust the size of the node pool to the current cluster usage.
|
1432
2076
|
# Corresponds to the JSON property `desiredNodePoolAutoscaling`
|
@@ -1462,6 +2106,19 @@ module Google
|
|
1462
2106
|
# @return [Google::Apis::ContainerV1beta1::NotificationConfig]
|
1463
2107
|
attr_accessor :desired_notification_config
|
1464
2108
|
|
2109
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
2110
|
+
# This field is used by Google internal products that are built on top of a GKE
|
2111
|
+
# cluster and take the ownership of the cluster.
|
2112
|
+
# Corresponds to the JSON property `desiredParentProductConfig`
|
2113
|
+
# @return [Google::Apis::ContainerV1beta1::ParentProductConfig]
|
2114
|
+
attr_accessor :desired_parent_product_config
|
2115
|
+
|
2116
|
+
# PodAutoscaling is used for configuration of parameters for workload
|
2117
|
+
# autoscaling.
|
2118
|
+
# Corresponds to the JSON property `desiredPodAutoscaling`
|
2119
|
+
# @return [Google::Apis::ContainerV1beta1::PodAutoscaling]
|
2120
|
+
attr_accessor :desired_pod_autoscaling
|
2121
|
+
|
1465
2122
|
# Configuration for the PodSecurityPolicy feature.
|
1466
2123
|
# Corresponds to the JSON property `desiredPodSecurityPolicyConfig`
|
1467
2124
|
# @return [Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig]
|
@@ -1483,6 +2140,12 @@ module Google
|
|
1483
2140
|
# @return [Google::Apis::ContainerV1beta1::ProtectConfig]
|
1484
2141
|
attr_accessor :desired_protect_config
|
1485
2142
|
|
2143
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
2144
|
+
# that can be created.
|
2145
|
+
# Corresponds to the JSON property `desiredRbacBindingConfig`
|
2146
|
+
# @return [Google::Apis::ContainerV1beta1::RbacBindingConfig]
|
2147
|
+
attr_accessor :desired_rbac_binding_config
|
2148
|
+
|
1486
2149
|
# ReleaseChannel indicates which release channel a cluster is subscribed to.
|
1487
2150
|
# Release channels are arranged in order of risk. When a cluster is subscribed
|
1488
2151
|
# to a release channel, Google maintains both the master version and the node
|
@@ -1496,6 +2159,17 @@ module Google
|
|
1496
2159
|
# @return [Google::Apis::ContainerV1beta1::ResourceUsageExportConfig]
|
1497
2160
|
attr_accessor :desired_resource_usage_export_config
|
1498
2161
|
|
2162
|
+
# SecretManagerConfig is config for secret manager enablement.
|
2163
|
+
# Corresponds to the JSON property `desiredSecretManagerConfig`
|
2164
|
+
# @return [Google::Apis::ContainerV1beta1::SecretManagerConfig]
|
2165
|
+
attr_accessor :desired_secret_manager_config
|
2166
|
+
|
2167
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
2168
|
+
# the Security Posture API.
|
2169
|
+
# Corresponds to the JSON property `desiredSecurityPostureConfig`
|
2170
|
+
# @return [Google::Apis::ContainerV1beta1::SecurityPostureConfig]
|
2171
|
+
attr_accessor :desired_security_posture_config
|
2172
|
+
|
1499
2173
|
# Config to block services with externalIPs field.
|
1500
2174
|
# Corresponds to the JSON property `desiredServiceExternalIpsConfig`
|
1501
2175
|
# @return [Google::Apis::ContainerV1beta1::ServiceExternalIPsConfig]
|
@@ -1513,7 +2187,8 @@ module Google
|
|
1513
2187
|
# @return [String]
|
1514
2188
|
attr_accessor :desired_stack_type
|
1515
2189
|
|
1516
|
-
# Configuration for Cloud TPU.
|
2190
|
+
# Configuration for Cloud TPU. This message is deprecated due to the deprecation
|
2191
|
+
# of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25.
|
1517
2192
|
# Corresponds to the JSON property `desiredTpuConfig`
|
1518
2193
|
# @return [Google::Apis::ContainerV1beta1::TpuConfig]
|
1519
2194
|
attr_accessor :desired_tpu_config
|
@@ -1540,6 +2215,11 @@ module Google
|
|
1540
2215
|
# @return [Google::Apis::ContainerV1beta1::WorkloadIdentityConfig]
|
1541
2216
|
attr_accessor :desired_workload_identity_config
|
1542
2217
|
|
2218
|
+
# Kubernetes open source beta apis enabled on the cluster.
|
2219
|
+
# Corresponds to the JSON property `enableK8sBetaApis`
|
2220
|
+
# @return [Google::Apis::ContainerV1beta1::K8sBetaApiConfig]
|
2221
|
+
attr_accessor :enable_k8s_beta_apis
|
2222
|
+
|
1543
2223
|
# The current etag of the cluster. If an etag is provided and does not match the
|
1544
2224
|
# current etag of the cluster, update will be blocked and an ABORTED error will
|
1545
2225
|
# be returned.
|
@@ -1547,28 +2227,60 @@ module Google
|
|
1547
2227
|
# @return [String]
|
1548
2228
|
attr_accessor :etag
|
1549
2229
|
|
2230
|
+
# Configuration options for private clusters.
|
2231
|
+
# Corresponds to the JSON property `privateClusterConfig`
|
2232
|
+
# @return [Google::Apis::ContainerV1beta1::PrivateClusterConfig]
|
2233
|
+
attr_accessor :private_cluster_config
|
2234
|
+
|
2235
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
2236
|
+
# ranges supporting the ClusterUpdate message.
|
2237
|
+
# Corresponds to the JSON property `removedAdditionalPodRangesConfig`
|
2238
|
+
# @return [Google::Apis::ContainerV1beta1::AdditionalPodRangesConfig]
|
2239
|
+
attr_accessor :removed_additional_pod_ranges_config
|
2240
|
+
|
2241
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
2242
|
+
# signing certs and token that are used for communication within cluster.
|
2243
|
+
# Corresponds to the JSON property `userManagedKeysConfig`
|
2244
|
+
# @return [Google::Apis::ContainerV1beta1::UserManagedKeysConfig]
|
2245
|
+
attr_accessor :user_managed_keys_config
|
2246
|
+
|
1550
2247
|
def initialize(**args)
|
1551
2248
|
update!(**args)
|
1552
2249
|
end
|
1553
2250
|
|
1554
2251
|
# Update properties of this object
|
1555
2252
|
def update!(**args)
|
2253
|
+
@additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config)
|
1556
2254
|
@desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
|
1557
2255
|
@desired_authenticator_groups_config = args[:desired_authenticator_groups_config] if args.key?(:desired_authenticator_groups_config)
|
2256
|
+
@desired_autopilot_workload_policy_config = args[:desired_autopilot_workload_policy_config] if args.key?(:desired_autopilot_workload_policy_config)
|
1558
2257
|
@desired_binary_authorization = args[:desired_binary_authorization] if args.key?(:desired_binary_authorization)
|
1559
2258
|
@desired_cluster_autoscaling = args[:desired_cluster_autoscaling] if args.key?(:desired_cluster_autoscaling)
|
1560
2259
|
@desired_cluster_telemetry = args[:desired_cluster_telemetry] if args.key?(:desired_cluster_telemetry)
|
2260
|
+
@desired_compliance_posture_config = args[:desired_compliance_posture_config] if args.key?(:desired_compliance_posture_config)
|
2261
|
+
@desired_containerd_config = args[:desired_containerd_config] if args.key?(:desired_containerd_config)
|
2262
|
+
@desired_control_plane_endpoints_config = args[:desired_control_plane_endpoints_config] if args.key?(:desired_control_plane_endpoints_config)
|
1561
2263
|
@desired_cost_management_config = args[:desired_cost_management_config] if args.key?(:desired_cost_management_config)
|
1562
2264
|
@desired_database_encryption = args[:desired_database_encryption] if args.key?(:desired_database_encryption)
|
1563
2265
|
@desired_datapath_provider = args[:desired_datapath_provider] if args.key?(:desired_datapath_provider)
|
2266
|
+
@desired_default_enable_private_nodes = args[:desired_default_enable_private_nodes] if args.key?(:desired_default_enable_private_nodes)
|
1564
2267
|
@desired_default_snat_status = args[:desired_default_snat_status] if args.key?(:desired_default_snat_status)
|
2268
|
+
@desired_disable_l4_lb_firewall_reconciliation = args[:desired_disable_l4_lb_firewall_reconciliation] if args.key?(:desired_disable_l4_lb_firewall_reconciliation)
|
1565
2269
|
@desired_dns_config = args[:desired_dns_config] if args.key?(:desired_dns_config)
|
2270
|
+
@desired_enable_cilium_clusterwide_network_policy = args[:desired_enable_cilium_clusterwide_network_policy] if args.key?(:desired_enable_cilium_clusterwide_network_policy)
|
2271
|
+
@desired_enable_fqdn_network_policy = args[:desired_enable_fqdn_network_policy] if args.key?(:desired_enable_fqdn_network_policy)
|
2272
|
+
@desired_enable_multi_networking = args[:desired_enable_multi_networking] if args.key?(:desired_enable_multi_networking)
|
1566
2273
|
@desired_enable_private_endpoint = args[:desired_enable_private_endpoint] if args.key?(:desired_enable_private_endpoint)
|
2274
|
+
@desired_enterprise_config = args[:desired_enterprise_config] if args.key?(:desired_enterprise_config)
|
2275
|
+
@desired_fleet = args[:desired_fleet] if args.key?(:desired_fleet)
|
1567
2276
|
@desired_gateway_api_config = args[:desired_gateway_api_config] if args.key?(:desired_gateway_api_config)
|
1568
2277
|
@desired_gcfs_config = args[:desired_gcfs_config] if args.key?(:desired_gcfs_config)
|
2278
|
+
@desired_host_maintenance_policy = args[:desired_host_maintenance_policy] if args.key?(:desired_host_maintenance_policy)
|
1569
2279
|
@desired_identity_service_config = args[:desired_identity_service_config] if args.key?(:desired_identity_service_config)
|
1570
2280
|
@desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
|
2281
|
+
@desired_in_transit_encryption_config = args[:desired_in_transit_encryption_config] if args.key?(:desired_in_transit_encryption_config)
|
1571
2282
|
@desired_intra_node_visibility_config = args[:desired_intra_node_visibility_config] if args.key?(:desired_intra_node_visibility_config)
|
2283
|
+
@desired_k8s_beta_apis = args[:desired_k8s_beta_apis] if args.key?(:desired_k8s_beta_apis)
|
1572
2284
|
@desired_l4ilb_subsetting_config = args[:desired_l4ilb_subsetting_config] if args.key?(:desired_l4ilb_subsetting_config)
|
1573
2285
|
@desired_locations = args[:desired_locations] if args.key?(:desired_locations)
|
1574
2286
|
@desired_logging_config = args[:desired_logging_config] if args.key?(:desired_logging_config)
|
@@ -1579,18 +2291,28 @@ module Google
|
|
1579
2291
|
@desired_mesh_certificates = args[:desired_mesh_certificates] if args.key?(:desired_mesh_certificates)
|
1580
2292
|
@desired_monitoring_config = args[:desired_monitoring_config] if args.key?(:desired_monitoring_config)
|
1581
2293
|
@desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
|
2294
|
+
@desired_network_performance_config = args[:desired_network_performance_config] if args.key?(:desired_network_performance_config)
|
2295
|
+
@desired_node_kubelet_config = args[:desired_node_kubelet_config] if args.key?(:desired_node_kubelet_config)
|
2296
|
+
@desired_node_pool_auto_config_kubelet_config = args[:desired_node_pool_auto_config_kubelet_config] if args.key?(:desired_node_pool_auto_config_kubelet_config)
|
2297
|
+
@desired_node_pool_auto_config_linux_node_config = args[:desired_node_pool_auto_config_linux_node_config] if args.key?(:desired_node_pool_auto_config_linux_node_config)
|
1582
2298
|
@desired_node_pool_auto_config_network_tags = args[:desired_node_pool_auto_config_network_tags] if args.key?(:desired_node_pool_auto_config_network_tags)
|
2299
|
+
@desired_node_pool_auto_config_resource_manager_tags = args[:desired_node_pool_auto_config_resource_manager_tags] if args.key?(:desired_node_pool_auto_config_resource_manager_tags)
|
1583
2300
|
@desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
|
1584
2301
|
@desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
|
1585
2302
|
@desired_node_pool_logging_config = args[:desired_node_pool_logging_config] if args.key?(:desired_node_pool_logging_config)
|
1586
2303
|
@desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
|
1587
2304
|
@desired_notification_config = args[:desired_notification_config] if args.key?(:desired_notification_config)
|
2305
|
+
@desired_parent_product_config = args[:desired_parent_product_config] if args.key?(:desired_parent_product_config)
|
2306
|
+
@desired_pod_autoscaling = args[:desired_pod_autoscaling] if args.key?(:desired_pod_autoscaling)
|
1588
2307
|
@desired_pod_security_policy_config = args[:desired_pod_security_policy_config] if args.key?(:desired_pod_security_policy_config)
|
1589
2308
|
@desired_private_cluster_config = args[:desired_private_cluster_config] if args.key?(:desired_private_cluster_config)
|
1590
2309
|
@desired_private_ipv6_google_access = args[:desired_private_ipv6_google_access] if args.key?(:desired_private_ipv6_google_access)
|
1591
2310
|
@desired_protect_config = args[:desired_protect_config] if args.key?(:desired_protect_config)
|
2311
|
+
@desired_rbac_binding_config = args[:desired_rbac_binding_config] if args.key?(:desired_rbac_binding_config)
|
1592
2312
|
@desired_release_channel = args[:desired_release_channel] if args.key?(:desired_release_channel)
|
1593
2313
|
@desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config)
|
2314
|
+
@desired_secret_manager_config = args[:desired_secret_manager_config] if args.key?(:desired_secret_manager_config)
|
2315
|
+
@desired_security_posture_config = args[:desired_security_posture_config] if args.key?(:desired_security_posture_config)
|
1594
2316
|
@desired_service_external_ips_config = args[:desired_service_external_ips_config] if args.key?(:desired_service_external_ips_config)
|
1595
2317
|
@desired_shielded_nodes = args[:desired_shielded_nodes] if args.key?(:desired_shielded_nodes)
|
1596
2318
|
@desired_stack_type = args[:desired_stack_type] if args.key?(:desired_stack_type)
|
@@ -1599,7 +2321,66 @@ module Google
|
|
1599
2321
|
@desired_workload_alts_config = args[:desired_workload_alts_config] if args.key?(:desired_workload_alts_config)
|
1600
2322
|
@desired_workload_certificates = args[:desired_workload_certificates] if args.key?(:desired_workload_certificates)
|
1601
2323
|
@desired_workload_identity_config = args[:desired_workload_identity_config] if args.key?(:desired_workload_identity_config)
|
2324
|
+
@enable_k8s_beta_apis = args[:enable_k8s_beta_apis] if args.key?(:enable_k8s_beta_apis)
|
1602
2325
|
@etag = args[:etag] if args.key?(:etag)
|
2326
|
+
@private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
|
2327
|
+
@removed_additional_pod_ranges_config = args[:removed_additional_pod_ranges_config] if args.key?(:removed_additional_pod_ranges_config)
|
2328
|
+
@user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
|
2329
|
+
end
|
2330
|
+
end
|
2331
|
+
|
2332
|
+
# ClusterUpgradeInfo contains the upgrade information of a cluster.
|
2333
|
+
class ClusterUpgradeInfo
|
2334
|
+
include Google::Apis::Core::Hashable
|
2335
|
+
|
2336
|
+
# The auto upgrade status.
|
2337
|
+
# Corresponds to the JSON property `autoUpgradeStatus`
|
2338
|
+
# @return [Array<String>]
|
2339
|
+
attr_accessor :auto_upgrade_status
|
2340
|
+
|
2341
|
+
# The cluster's current minor version's end of extended support timestamp.
|
2342
|
+
# Corresponds to the JSON property `endOfExtendedSupportTimestamp`
|
2343
|
+
# @return [String]
|
2344
|
+
attr_accessor :end_of_extended_support_timestamp
|
2345
|
+
|
2346
|
+
# The cluster's current minor version's end of standard support timestamp.
|
2347
|
+
# Corresponds to the JSON property `endOfStandardSupportTimestamp`
|
2348
|
+
# @return [String]
|
2349
|
+
attr_accessor :end_of_standard_support_timestamp
|
2350
|
+
|
2351
|
+
# minor_target_version indicates the target version for minor upgrade.
|
2352
|
+
# Corresponds to the JSON property `minorTargetVersion`
|
2353
|
+
# @return [String]
|
2354
|
+
attr_accessor :minor_target_version
|
2355
|
+
|
2356
|
+
# patch_target_version indicates the target version for patch upgrade.
|
2357
|
+
# Corresponds to the JSON property `patchTargetVersion`
|
2358
|
+
# @return [String]
|
2359
|
+
attr_accessor :patch_target_version
|
2360
|
+
|
2361
|
+
# The auto upgrade paused reason.
|
2362
|
+
# Corresponds to the JSON property `pausedReason`
|
2363
|
+
# @return [Array<String>]
|
2364
|
+
attr_accessor :paused_reason
|
2365
|
+
|
2366
|
+
# The list of past auto upgrades.
|
2367
|
+
# Corresponds to the JSON property `upgradeDetails`
|
2368
|
+
# @return [Array<Google::Apis::ContainerV1beta1::UpgradeDetails>]
|
2369
|
+
attr_accessor :upgrade_details
|
2370
|
+
|
2371
|
+
def initialize(**args)
|
2372
|
+
update!(**args)
|
2373
|
+
end
|
2374
|
+
|
2375
|
+
# Update properties of this object
|
2376
|
+
def update!(**args)
|
2377
|
+
@auto_upgrade_status = args[:auto_upgrade_status] if args.key?(:auto_upgrade_status)
|
2378
|
+
@end_of_extended_support_timestamp = args[:end_of_extended_support_timestamp] if args.key?(:end_of_extended_support_timestamp)
|
2379
|
+
@end_of_standard_support_timestamp = args[:end_of_standard_support_timestamp] if args.key?(:end_of_standard_support_timestamp)
|
2380
|
+
@minor_target_version = args[:minor_target_version] if args.key?(:minor_target_version)
|
2381
|
+
@patch_target_version = args[:patch_target_version] if args.key?(:patch_target_version)
|
2382
|
+
@paused_reason = args[:paused_reason] if args.key?(:paused_reason)
|
2383
|
+
@upgrade_details = args[:upgrade_details] if args.key?(:upgrade_details)
|
1603
2384
|
end
|
1604
2385
|
end
|
1605
2386
|
|
@@ -1660,6 +2441,51 @@ module Google
|
|
1660
2441
|
end
|
1661
2442
|
end
|
1662
2443
|
|
2444
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
2445
|
+
# for the Compliance Posture.
|
2446
|
+
class CompliancePostureConfig
|
2447
|
+
include Google::Apis::Core::Hashable
|
2448
|
+
|
2449
|
+
# List of enabled compliance standards.
|
2450
|
+
# Corresponds to the JSON property `complianceStandards`
|
2451
|
+
# @return [Array<Google::Apis::ContainerV1beta1::ComplianceStandard>]
|
2452
|
+
attr_accessor :compliance_standards
|
2453
|
+
|
2454
|
+
# Defines the enablement mode for Compliance Posture.
|
2455
|
+
# Corresponds to the JSON property `mode`
|
2456
|
+
# @return [String]
|
2457
|
+
attr_accessor :mode
|
2458
|
+
|
2459
|
+
def initialize(**args)
|
2460
|
+
update!(**args)
|
2461
|
+
end
|
2462
|
+
|
2463
|
+
# Update properties of this object
|
2464
|
+
def update!(**args)
|
2465
|
+
@compliance_standards = args[:compliance_standards] if args.key?(:compliance_standards)
|
2466
|
+
@mode = args[:mode] if args.key?(:mode)
|
2467
|
+
end
|
2468
|
+
end
|
2469
|
+
|
2470
|
+
# Defines the details of a compliance standard.
|
2471
|
+
class ComplianceStandard
|
2472
|
+
include Google::Apis::Core::Hashable
|
2473
|
+
|
2474
|
+
# Name of the compliance standard.
|
2475
|
+
# Corresponds to the JSON property `standard`
|
2476
|
+
# @return [String]
|
2477
|
+
attr_accessor :standard
|
2478
|
+
|
2479
|
+
def initialize(**args)
|
2480
|
+
update!(**args)
|
2481
|
+
end
|
2482
|
+
|
2483
|
+
# Update properties of this object
|
2484
|
+
def update!(**args)
|
2485
|
+
@standard = args[:standard] if args.key?(:standard)
|
2486
|
+
end
|
2487
|
+
end
|
2488
|
+
|
1663
2489
|
# ConfidentialNodes is configuration for the confidential nodes feature, which
|
1664
2490
|
# makes nodes run on confidential VMs.
|
1665
2491
|
class ConfidentialNodes
|
@@ -1722,6 +2548,51 @@ module Google
|
|
1722
2548
|
end
|
1723
2549
|
end
|
1724
2550
|
|
2551
|
+
# ContainerdConfig contains configuration to customize containerd.
|
2552
|
+
class ContainerdConfig
|
2553
|
+
include Google::Apis::Core::Hashable
|
2554
|
+
|
2555
|
+
# PrivateRegistryAccessConfig contains access configuration for private
|
2556
|
+
# container registries.
|
2557
|
+
# Corresponds to the JSON property `privateRegistryAccessConfig`
|
2558
|
+
# @return [Google::Apis::ContainerV1beta1::PrivateRegistryAccessConfig]
|
2559
|
+
attr_accessor :private_registry_access_config
|
2560
|
+
|
2561
|
+
def initialize(**args)
|
2562
|
+
update!(**args)
|
2563
|
+
end
|
2564
|
+
|
2565
|
+
# Update properties of this object
|
2566
|
+
def update!(**args)
|
2567
|
+
@private_registry_access_config = args[:private_registry_access_config] if args.key?(:private_registry_access_config)
|
2568
|
+
end
|
2569
|
+
end
|
2570
|
+
|
2571
|
+
# Configuration for all of the cluster's control plane endpoints.
|
2572
|
+
class ControlPlaneEndpointsConfig
|
2573
|
+
include Google::Apis::Core::Hashable
|
2574
|
+
|
2575
|
+
# Describes the configuration of a DNS endpoint.
|
2576
|
+
# Corresponds to the JSON property `dnsEndpointConfig`
|
2577
|
+
# @return [Google::Apis::ContainerV1beta1::DnsEndpointConfig]
|
2578
|
+
attr_accessor :dns_endpoint_config
|
2579
|
+
|
2580
|
+
# IP endpoints configuration.
|
2581
|
+
# Corresponds to the JSON property `ipEndpointsConfig`
|
2582
|
+
# @return [Google::Apis::ContainerV1beta1::IpEndpointsConfig]
|
2583
|
+
attr_accessor :ip_endpoints_config
|
2584
|
+
|
2585
|
+
def initialize(**args)
|
2586
|
+
update!(**args)
|
2587
|
+
end
|
2588
|
+
|
2589
|
+
# Update properties of this object
|
2590
|
+
def update!(**args)
|
2591
|
+
@dns_endpoint_config = args[:dns_endpoint_config] if args.key?(:dns_endpoint_config)
|
2592
|
+
@ip_endpoints_config = args[:ip_endpoints_config] if args.key?(:ip_endpoints_config)
|
2593
|
+
end
|
2594
|
+
end
|
2595
|
+
|
1725
2596
|
# Configuration for fine-grained cost management feature.
|
1726
2597
|
class CostManagementConfig
|
1727
2598
|
include Google::Apis::Core::Hashable
|
@@ -1799,20 +2670,7 @@ module Google
|
|
1799
2670
|
# specification, under the control of the cluster master. They may have a set of
|
1800
2671
|
# Kubernetes labels applied to them, which may be used to reference them during
|
1801
2672
|
# pod scheduling. They may also be resized up or down, to accommodate the
|
1802
|
-
# workload.
|
1803
|
-
# level of disruption caused by an upgrade. maxUnavailable controls the number
|
1804
|
-
# of nodes that can be simultaneously unavailable. maxSurge controls the number
|
1805
|
-
# of additional nodes that can be added to the node pool temporarily for the
|
1806
|
-
# time of the upgrade to increase the number of available nodes. (maxUnavailable
|
1807
|
-
# + maxSurge) determines the level of parallelism (how many nodes are being
|
1808
|
-
# upgraded at the same time). Note: upgrades inevitably introduce some
|
1809
|
-
# disruption since workloads need to be moved from old nodes to new, upgraded
|
1810
|
-
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
1811
|
-
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
1812
|
-
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
1813
|
-
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
1814
|
-
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
1815
|
-
# same time. This ensures that there are always at least 4 nodes available.
|
2673
|
+
# workload.
|
1816
2674
|
# Corresponds to the JSON property `nodePool`
|
1817
2675
|
# @return [Google::Apis::ContainerV1beta1::NodePool]
|
1818
2676
|
attr_accessor :node_pool
|
@@ -1855,6 +2713,11 @@ module Google
|
|
1855
2713
|
class DnsConfig
|
1856
2714
|
include Google::Apis::Core::Hashable
|
1857
2715
|
|
2716
|
+
# Optional. The domain used in Additive VPC scope.
|
2717
|
+
# Corresponds to the JSON property `additiveVpcScopeDnsDomain`
|
2718
|
+
# @return [String]
|
2719
|
+
attr_accessor :additive_vpc_scope_dns_domain
|
2720
|
+
|
1858
2721
|
# cluster_dns indicates which in-cluster DNS provider should be used.
|
1859
2722
|
# Corresponds to the JSON property `clusterDns`
|
1860
2723
|
# @return [String]
|
@@ -1876,17 +2739,48 @@ module Google
|
|
1876
2739
|
|
1877
2740
|
# Update properties of this object
|
1878
2741
|
def update!(**args)
|
2742
|
+
@additive_vpc_scope_dns_domain = args[:additive_vpc_scope_dns_domain] if args.key?(:additive_vpc_scope_dns_domain)
|
1879
2743
|
@cluster_dns = args[:cluster_dns] if args.key?(:cluster_dns)
|
1880
2744
|
@cluster_dns_domain = args[:cluster_dns_domain] if args.key?(:cluster_dns_domain)
|
1881
2745
|
@cluster_dns_scope = args[:cluster_dns_scope] if args.key?(:cluster_dns_scope)
|
1882
2746
|
end
|
1883
2747
|
end
|
1884
2748
|
|
2749
|
+
# Describes the configuration of a DNS endpoint.
|
2750
|
+
class DnsEndpointConfig
|
2751
|
+
include Google::Apis::Core::Hashable
|
2752
|
+
|
2753
|
+
# Controls whether user traffic is allowed over this endpoint. Note that GCP-
|
2754
|
+
# managed services may still use the endpoint even if this is false.
|
2755
|
+
# Corresponds to the JSON property `allowExternalTraffic`
|
2756
|
+
# @return [Boolean]
|
2757
|
+
attr_accessor :allow_external_traffic
|
2758
|
+
alias_method :allow_external_traffic?, :allow_external_traffic
|
2759
|
+
|
2760
|
+
# Output only. The cluster's DNS endpoint configuration. A DNS format address.
|
2761
|
+
# This is accessible from the public internet. Ex: uid.us-central1.gke.goog.
|
2762
|
+
# Always present, but the behavior may change according to the value of
|
2763
|
+
# DNSEndpointConfig.allow_external_traffic.
|
2764
|
+
# Corresponds to the JSON property `endpoint`
|
2765
|
+
# @return [String]
|
2766
|
+
attr_accessor :endpoint
|
2767
|
+
|
2768
|
+
def initialize(**args)
|
2769
|
+
update!(**args)
|
2770
|
+
end
|
2771
|
+
|
2772
|
+
# Update properties of this object
|
2773
|
+
def update!(**args)
|
2774
|
+
@allow_external_traffic = args[:allow_external_traffic] if args.key?(:allow_external_traffic)
|
2775
|
+
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
2776
|
+
end
|
2777
|
+
end
|
2778
|
+
|
1885
2779
|
# Time window specified for daily maintenance operations.
|
1886
2780
|
class DailyMaintenanceWindow
|
1887
2781
|
include Google::Apis::Core::Hashable
|
1888
2782
|
|
1889
|
-
#
|
2783
|
+
# Output only. Duration of the time window, automatically chosen to be smallest
|
1890
2784
|
# possible in the given scenario.
|
1891
2785
|
# Corresponds to the JSON property `duration`
|
1892
2786
|
# @return [String]
|
@@ -1913,13 +2807,29 @@ module Google
|
|
1913
2807
|
class DatabaseEncryption
|
1914
2808
|
include Google::Apis::Core::Hashable
|
1915
2809
|
|
2810
|
+
# Output only. The current state of etcd encryption.
|
2811
|
+
# Corresponds to the JSON property `currentState`
|
2812
|
+
# @return [String]
|
2813
|
+
attr_accessor :current_state
|
2814
|
+
|
2815
|
+
# Output only. Keys in use by the cluster for decrypting existing objects, in
|
2816
|
+
# addition to the key in `key_name`. Each item is a CloudKMS key resource.
|
2817
|
+
# Corresponds to the JSON property `decryptionKeys`
|
2818
|
+
# @return [Array<String>]
|
2819
|
+
attr_accessor :decryption_keys
|
2820
|
+
|
1916
2821
|
# Name of CloudKMS key to use for the encryption of secrets in etcd. Ex.
|
1917
2822
|
# projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
|
1918
2823
|
# Corresponds to the JSON property `keyName`
|
1919
2824
|
# @return [String]
|
1920
2825
|
attr_accessor :key_name
|
1921
2826
|
|
1922
|
-
#
|
2827
|
+
# Output only. Records errors seen during DatabaseEncryption update operations.
|
2828
|
+
# Corresponds to the JSON property `lastOperationErrors`
|
2829
|
+
# @return [Array<Google::Apis::ContainerV1beta1::OperationError>]
|
2830
|
+
attr_accessor :last_operation_errors
|
2831
|
+
|
2832
|
+
# The desired state of etcd encryption.
|
1923
2833
|
# Corresponds to the JSON property `state`
|
1924
2834
|
# @return [String]
|
1925
2835
|
attr_accessor :state
|
@@ -1930,7 +2840,10 @@ module Google
|
|
1930
2840
|
|
1931
2841
|
# Update properties of this object
|
1932
2842
|
def update!(**args)
|
2843
|
+
@current_state = args[:current_state] if args.key?(:current_state)
|
2844
|
+
@decryption_keys = args[:decryption_keys] if args.key?(:decryption_keys)
|
1933
2845
|
@key_name = args[:key_name] if args.key?(:key_name)
|
2846
|
+
@last_operation_errors = args[:last_operation_errors] if args.key?(:last_operation_errors)
|
1934
2847
|
@state = args[:state] if args.key?(:state)
|
1935
2848
|
end
|
1936
2849
|
end
|
@@ -1997,6 +2910,25 @@ module Google
|
|
1997
2910
|
end
|
1998
2911
|
end
|
1999
2912
|
|
2913
|
+
# DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
|
2914
|
+
class DesiredEnterpriseConfig
|
2915
|
+
include Google::Apis::Core::Hashable
|
2916
|
+
|
2917
|
+
# desired_tier specifies the desired tier of the cluster.
|
2918
|
+
# Corresponds to the JSON property `desiredTier`
|
2919
|
+
# @return [String]
|
2920
|
+
attr_accessor :desired_tier
|
2921
|
+
|
2922
|
+
def initialize(**args)
|
2923
|
+
update!(**args)
|
2924
|
+
end
|
2925
|
+
|
2926
|
+
# Update properties of this object
|
2927
|
+
def update!(**args)
|
2928
|
+
@desired_tier = args[:desired_tier] if args.key?(:desired_tier)
|
2929
|
+
end
|
2930
|
+
end
|
2931
|
+
|
2000
2932
|
# Configuration for NodeLocal DNSCache
|
2001
2933
|
class DnsCacheConfig
|
2002
2934
|
include Google::Apis::Core::Hashable
|
@@ -2033,14 +2965,48 @@ module Google
|
|
2033
2965
|
end
|
2034
2966
|
end
|
2035
2967
|
|
2968
|
+
# EnterpriseConfig is the cluster enterprise configuration.
|
2969
|
+
class EnterpriseConfig
|
2970
|
+
include Google::Apis::Core::Hashable
|
2971
|
+
|
2972
|
+
# Output only. cluster_tier indicates the effective tier of the cluster.
|
2973
|
+
# Corresponds to the JSON property `clusterTier`
|
2974
|
+
# @return [String]
|
2975
|
+
attr_accessor :cluster_tier
|
2976
|
+
|
2977
|
+
# desired_tier specifies the desired tier of the cluster.
|
2978
|
+
# Corresponds to the JSON property `desiredTier`
|
2979
|
+
# @return [String]
|
2980
|
+
attr_accessor :desired_tier
|
2981
|
+
|
2982
|
+
def initialize(**args)
|
2983
|
+
update!(**args)
|
2984
|
+
end
|
2985
|
+
|
2986
|
+
# Update properties of this object
|
2987
|
+
def update!(**args)
|
2988
|
+
@cluster_tier = args[:cluster_tier] if args.key?(:cluster_tier)
|
2989
|
+
@desired_tier = args[:desired_tier] if args.key?(:desired_tier)
|
2990
|
+
end
|
2991
|
+
end
|
2992
|
+
|
2036
2993
|
# EphemeralStorageConfig contains configuration for the ephemeral storage
|
2037
2994
|
# filesystem.
|
2038
2995
|
class EphemeralStorageConfig
|
2039
2996
|
include Google::Apis::Core::Hashable
|
2040
2997
|
|
2041
2998
|
# Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces.
|
2042
|
-
#
|
2043
|
-
#
|
2999
|
+
# The limit for this value is dependent upon the maximum number of disk
|
3000
|
+
# available on a machine per zone. See: https://cloud.google.com/compute/docs/
|
3001
|
+
# disks/local-ssd for more information. A zero (or unset) value has different
|
3002
|
+
# meanings depending on machine type being used: 1. For pre-Gen3 machines, which
|
3003
|
+
# support flexible numbers of local ssds, zero (or unset) means to disable using
|
3004
|
+
# local SSDs as ephemeral storage. 2. For Gen3 machines which dictate a specific
|
3005
|
+
# number of local ssds, zero (or unset) means to use the default number of local
|
3006
|
+
# ssds that goes with that machine type. For example, for a c3-standard-8-lssd
|
3007
|
+
# machine, 2 local ssds would be provisioned. For c3-standard-8 (which doesn't
|
3008
|
+
# support local ssds), 0 will be provisioned. See https://cloud.google.com/
|
3009
|
+
# compute/docs/disks/local-ssd#choose_number_local_ssds for more info.
|
2044
3010
|
# Corresponds to the JSON property `localSsdCount`
|
2045
3011
|
# @return [Fixnum]
|
2046
3012
|
attr_accessor :local_ssd_count
|
@@ -2060,11 +3026,18 @@ module Google
|
|
2060
3026
|
class EphemeralStorageLocalSsdConfig
|
2061
3027
|
include Google::Apis::Core::Hashable
|
2062
3028
|
|
2063
|
-
# Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces.
|
2064
|
-
#
|
2065
|
-
#
|
2066
|
-
#
|
2067
|
-
#
|
3029
|
+
# Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces. A
|
3030
|
+
# zero (or unset) value has different meanings depending on machine type being
|
3031
|
+
# used: 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
|
3032
|
+
# zero (or unset) means to disable using local SSDs as ephemeral storage. The
|
3033
|
+
# limit for this value is dependent upon the maximum number of disk available on
|
3034
|
+
# a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd
|
3035
|
+
# for more information. 2. For Gen3 machines which dictate a specific number of
|
3036
|
+
# local ssds, zero (or unset) means to use the default number of local ssds that
|
3037
|
+
# goes with that machine type. For example, for a c3-standard-8-lssd machine, 2
|
3038
|
+
# local ssds would be provisioned. For c3-standard-8 (which doesn't support
|
3039
|
+
# local ssds), 0 will be provisioned. See https://cloud.google.com/compute/docs/
|
3040
|
+
# disks/local-ssd#choose_number_local_ssds for more info.
|
2068
3041
|
# Corresponds to the JSON property `localSsdCount`
|
2069
3042
|
# @return [Fixnum]
|
2070
3043
|
attr_accessor :local_ssd_count
|
@@ -2121,6 +3094,83 @@ module Google
|
|
2121
3094
|
end
|
2122
3095
|
end
|
2123
3096
|
|
3097
|
+
# Fleet is the fleet configuration for the cluster.
|
3098
|
+
class Fleet
|
3099
|
+
include Google::Apis::Core::Hashable
|
3100
|
+
|
3101
|
+
# Output only. The full resource name of the registered fleet membership of the
|
3102
|
+
# cluster, in the format `//gkehub.googleapis.com/projects/*/locations/*/
|
3103
|
+
# memberships/*`.
|
3104
|
+
# Corresponds to the JSON property `membership`
|
3105
|
+
# @return [String]
|
3106
|
+
attr_accessor :membership
|
3107
|
+
|
3108
|
+
# Output only. Whether the cluster has been registered through the fleet API.
|
3109
|
+
# Corresponds to the JSON property `preRegistered`
|
3110
|
+
# @return [Boolean]
|
3111
|
+
attr_accessor :pre_registered
|
3112
|
+
alias_method :pre_registered?, :pre_registered
|
3113
|
+
|
3114
|
+
# The Fleet host project(project ID or project number) where this cluster will
|
3115
|
+
# be registered to. This field cannot be changed after the cluster has been
|
3116
|
+
# registered.
|
3117
|
+
# Corresponds to the JSON property `project`
|
3118
|
+
# @return [String]
|
3119
|
+
attr_accessor :project
|
3120
|
+
|
3121
|
+
def initialize(**args)
|
3122
|
+
update!(**args)
|
3123
|
+
end
|
3124
|
+
|
3125
|
+
# Update properties of this object
|
3126
|
+
def update!(**args)
|
3127
|
+
@membership = args[:membership] if args.key?(:membership)
|
3128
|
+
@pre_registered = args[:pre_registered] if args.key?(:pre_registered)
|
3129
|
+
@project = args[:project] if args.key?(:project)
|
3130
|
+
end
|
3131
|
+
end
|
3132
|
+
|
3133
|
+
# GCPSecretManagerCertificateConfig configures a secret from [Google Secret
|
3134
|
+
# Manager](https://cloud.google.com/secret-manager).
|
3135
|
+
class GcpSecretManagerCertificateConfig
|
3136
|
+
include Google::Apis::Core::Hashable
|
3137
|
+
|
3138
|
+
# Secret URI, in the form "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$
|
3139
|
+
# VERSION". Version can be fixed (e.g. "2") or "latest"
|
3140
|
+
# Corresponds to the JSON property `secretUri`
|
3141
|
+
# @return [String]
|
3142
|
+
attr_accessor :secret_uri
|
3143
|
+
|
3144
|
+
def initialize(**args)
|
3145
|
+
update!(**args)
|
3146
|
+
end
|
3147
|
+
|
3148
|
+
# Update properties of this object
|
3149
|
+
def update!(**args)
|
3150
|
+
@secret_uri = args[:secret_uri] if args.key?(:secret_uri)
|
3151
|
+
end
|
3152
|
+
end
|
3153
|
+
|
3154
|
+
# GPUDriverInstallationConfig specifies the version of GPU driver to be auto
|
3155
|
+
# installed.
|
3156
|
+
class GpuDriverInstallationConfig
|
3157
|
+
include Google::Apis::Core::Hashable
|
3158
|
+
|
3159
|
+
# Mode for how the GPU driver is installed.
|
3160
|
+
# Corresponds to the JSON property `gpuDriverVersion`
|
3161
|
+
# @return [String]
|
3162
|
+
attr_accessor :gpu_driver_version
|
3163
|
+
|
3164
|
+
def initialize(**args)
|
3165
|
+
update!(**args)
|
3166
|
+
end
|
3167
|
+
|
3168
|
+
# Update properties of this object
|
3169
|
+
def update!(**args)
|
3170
|
+
@gpu_driver_version = args[:gpu_driver_version] if args.key?(:gpu_driver_version)
|
3171
|
+
end
|
3172
|
+
end
|
3173
|
+
|
2124
3174
|
# GPUSharingConfig represents the GPU sharing configuration for Hardware
|
2125
3175
|
# Accelerators.
|
2126
3176
|
class GpuSharingConfig
|
@@ -2226,16 +3276,36 @@ module Google
|
|
2226
3276
|
end
|
2227
3277
|
end
|
2228
3278
|
|
2229
|
-
#
|
2230
|
-
class
|
3279
|
+
# Configuration for the Cloud Storage Fuse CSI driver.
|
3280
|
+
class GcsFuseCsiDriverConfig
|
2231
3281
|
include Google::Apis::Core::Hashable
|
2232
3282
|
|
2233
|
-
#
|
2234
|
-
# Corresponds to the JSON property `
|
2235
|
-
# @return [
|
2236
|
-
attr_accessor :
|
2237
|
-
|
2238
|
-
|
3283
|
+
# Whether the Cloud Storage Fuse CSI driver is enabled for this cluster.
|
3284
|
+
# Corresponds to the JSON property `enabled`
|
3285
|
+
# @return [Boolean]
|
3286
|
+
attr_accessor :enabled
|
3287
|
+
alias_method :enabled?, :enabled
|
3288
|
+
|
3289
|
+
def initialize(**args)
|
3290
|
+
update!(**args)
|
3291
|
+
end
|
3292
|
+
|
3293
|
+
# Update properties of this object
|
3294
|
+
def update!(**args)
|
3295
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
3296
|
+
end
|
3297
|
+
end
|
3298
|
+
|
3299
|
+
# GetJSONWebKeysResponse is a valid JSON Web Key Set as specified in rfc 7517
|
3300
|
+
class GetJsonWebKeysResponse
|
3301
|
+
include Google::Apis::Core::Hashable
|
3302
|
+
|
3303
|
+
# RFC-2616: cache control support
|
3304
|
+
# Corresponds to the JSON property `cacheHeader`
|
3305
|
+
# @return [Google::Apis::ContainerV1beta1::HttpCacheControlResponseHeader]
|
3306
|
+
attr_accessor :cache_header
|
3307
|
+
|
3308
|
+
# The public component of the keys used by the cluster to sign token requests.
|
2239
3309
|
# Corresponds to the JSON property `keys`
|
2240
3310
|
# @return [Array<Google::Apis::ContainerV1beta1::Jwk>]
|
2241
3311
|
attr_accessor :keys
|
@@ -2356,6 +3426,32 @@ module Google
|
|
2356
3426
|
end
|
2357
3427
|
end
|
2358
3428
|
|
3429
|
+
# HostMaintenancePolicy contains the maintenance policy for the hosts on which
|
3430
|
+
# the GKE VMs run on.
|
3431
|
+
class HostMaintenancePolicy
|
3432
|
+
include Google::Apis::Core::Hashable
|
3433
|
+
|
3434
|
+
# Specifies the frequency of planned maintenance events.
|
3435
|
+
# Corresponds to the JSON property `maintenanceInterval`
|
3436
|
+
# @return [String]
|
3437
|
+
attr_accessor :maintenance_interval
|
3438
|
+
|
3439
|
+
# Strategy that will trigger maintenance on behalf of the customer.
|
3440
|
+
# Corresponds to the JSON property `opportunisticMaintenanceStrategy`
|
3441
|
+
# @return [Google::Apis::ContainerV1beta1::OpportunisticMaintenanceStrategy]
|
3442
|
+
attr_accessor :opportunistic_maintenance_strategy
|
3443
|
+
|
3444
|
+
def initialize(**args)
|
3445
|
+
update!(**args)
|
3446
|
+
end
|
3447
|
+
|
3448
|
+
# Update properties of this object
|
3449
|
+
def update!(**args)
|
3450
|
+
@maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
|
3451
|
+
@opportunistic_maintenance_strategy = args[:opportunistic_maintenance_strategy] if args.key?(:opportunistic_maintenance_strategy)
|
3452
|
+
end
|
3453
|
+
end
|
3454
|
+
|
2359
3455
|
# RFC-2616: cache control support
|
2360
3456
|
class HttpCacheControlResponseHeader
|
2361
3457
|
include Google::Apis::Core::Hashable
|
@@ -2409,6 +3505,31 @@ module Google
|
|
2409
3505
|
end
|
2410
3506
|
end
|
2411
3507
|
|
3508
|
+
# Hugepages amount in both 2m and 1g size
|
3509
|
+
class HugepagesConfig
|
3510
|
+
include Google::Apis::Core::Hashable
|
3511
|
+
|
3512
|
+
# Optional. Amount of 1G hugepages
|
3513
|
+
# Corresponds to the JSON property `hugepageSize1g`
|
3514
|
+
# @return [Fixnum]
|
3515
|
+
attr_accessor :hugepage_size1g
|
3516
|
+
|
3517
|
+
# Optional. Amount of 2M hugepages
|
3518
|
+
# Corresponds to the JSON property `hugepageSize2m`
|
3519
|
+
# @return [Fixnum]
|
3520
|
+
attr_accessor :hugepage_size2m
|
3521
|
+
|
3522
|
+
def initialize(**args)
|
3523
|
+
update!(**args)
|
3524
|
+
end
|
3525
|
+
|
3526
|
+
# Update properties of this object
|
3527
|
+
def update!(**args)
|
3528
|
+
@hugepage_size1g = args[:hugepage_size1g] if args.key?(:hugepage_size1g)
|
3529
|
+
@hugepage_size2m = args[:hugepage_size2m] if args.key?(:hugepage_size2m)
|
3530
|
+
end
|
3531
|
+
end
|
3532
|
+
|
2412
3533
|
# ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
|
2413
3534
|
# subsetting on this cluster.
|
2414
3535
|
class IlbSubsettingConfig
|
@@ -2434,6 +3555,12 @@ module Google
|
|
2434
3555
|
class IpAllocationPolicy
|
2435
3556
|
include Google::Apis::Core::Hashable
|
2436
3557
|
|
3558
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
3559
|
+
# ranges supporting the ClusterUpdate message.
|
3560
|
+
# Corresponds to the JSON property `additionalPodRangesConfig`
|
3561
|
+
# @return [Google::Apis::ContainerV1beta1::AdditionalPodRangesConfig]
|
3562
|
+
attr_accessor :additional_pod_ranges_config
|
3563
|
+
|
2437
3564
|
# If true, allow allocation of cluster CIDR ranges that overlap with certain
|
2438
3565
|
# kinds of network routes. By default we do not allow cluster CIDR ranges to
|
2439
3566
|
# intersect with any user declared routes. With allow_route_overlap == true, we
|
@@ -2480,6 +3607,13 @@ module Google
|
|
2480
3607
|
attr_accessor :create_subnetwork
|
2481
3608
|
alias_method :create_subnetwork?, :create_subnetwork
|
2482
3609
|
|
3610
|
+
# Output only. The utilization of the cluster default IPv4 range for the pod.
|
3611
|
+
# The ratio is Usage/[Total number of IPs in the secondary range], Usage=
|
3612
|
+
# numNodes*numZones*podIPsPerNode.
|
3613
|
+
# Corresponds to the JSON property `defaultPodIpv4RangeUtilization`
|
3614
|
+
# @return [Float]
|
3615
|
+
attr_accessor :default_pod_ipv4_range_utilization
|
3616
|
+
|
2483
3617
|
# The ipv6 access type (internal or external) when create_subnetwork is true
|
2484
3618
|
# Corresponds to the JSON property `ipv6AccessType`
|
2485
3619
|
# @return [String]
|
@@ -2501,6 +3635,11 @@ module Google
|
|
2501
3635
|
# @return [String]
|
2502
3636
|
attr_accessor :node_ipv4_cidr_block
|
2503
3637
|
|
3638
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
3639
|
+
# Corresponds to the JSON property `podCidrOverprovisionConfig`
|
3640
|
+
# @return [Google::Apis::ContainerV1beta1::PodCidrOverprovisionConfig]
|
3641
|
+
attr_accessor :pod_cidr_overprovision_config
|
3642
|
+
|
2504
3643
|
# This field is deprecated, use services_ipv4_cidr_block.
|
2505
3644
|
# Corresponds to the JSON property `servicesIpv4Cidr`
|
2506
3645
|
# @return [String]
|
@@ -2518,7 +3657,7 @@ module Google
|
|
2518
3657
|
# @return [String]
|
2519
3658
|
attr_accessor :services_ipv4_cidr_block
|
2520
3659
|
|
2521
|
-
# Output only.
|
3660
|
+
# Output only. The services IPv6 CIDR block for the cluster.
|
2522
3661
|
# Corresponds to the JSON property `servicesIpv6CidrBlock`
|
2523
3662
|
# @return [String]
|
2524
3663
|
attr_accessor :services_ipv6_cidr_block
|
@@ -2536,7 +3675,7 @@ module Google
|
|
2536
3675
|
# @return [String]
|
2537
3676
|
attr_accessor :stack_type
|
2538
3677
|
|
2539
|
-
# Output only.
|
3678
|
+
# Output only. The subnet's IPv6 CIDR block used by nodes and pods.
|
2540
3679
|
# Corresponds to the JSON property `subnetIpv6CidrBlock`
|
2541
3680
|
# @return [String]
|
2542
3681
|
attr_accessor :subnet_ipv6_cidr_block
|
@@ -2584,14 +3723,17 @@ module Google
|
|
2584
3723
|
|
2585
3724
|
# Update properties of this object
|
2586
3725
|
def update!(**args)
|
3726
|
+
@additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config)
|
2587
3727
|
@allow_route_overlap = args[:allow_route_overlap] if args.key?(:allow_route_overlap)
|
2588
3728
|
@cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
|
2589
3729
|
@cluster_ipv4_cidr_block = args[:cluster_ipv4_cidr_block] if args.key?(:cluster_ipv4_cidr_block)
|
2590
3730
|
@cluster_secondary_range_name = args[:cluster_secondary_range_name] if args.key?(:cluster_secondary_range_name)
|
2591
3731
|
@create_subnetwork = args[:create_subnetwork] if args.key?(:create_subnetwork)
|
3732
|
+
@default_pod_ipv4_range_utilization = args[:default_pod_ipv4_range_utilization] if args.key?(:default_pod_ipv4_range_utilization)
|
2592
3733
|
@ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
|
2593
3734
|
@node_ipv4_cidr = args[:node_ipv4_cidr] if args.key?(:node_ipv4_cidr)
|
2594
3735
|
@node_ipv4_cidr_block = args[:node_ipv4_cidr_block] if args.key?(:node_ipv4_cidr_block)
|
3736
|
+
@pod_cidr_overprovision_config = args[:pod_cidr_overprovision_config] if args.key?(:pod_cidr_overprovision_config)
|
2595
3737
|
@services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
|
2596
3738
|
@services_ipv4_cidr_block = args[:services_ipv4_cidr_block] if args.key?(:services_ipv4_cidr_block)
|
2597
3739
|
@services_ipv6_cidr_block = args[:services_ipv6_cidr_block] if args.key?(:services_ipv6_cidr_block)
|
@@ -2605,6 +3747,76 @@ module Google
|
|
2605
3747
|
end
|
2606
3748
|
end
|
2607
3749
|
|
3750
|
+
# IP endpoints configuration.
|
3751
|
+
class IpEndpointsConfig
|
3752
|
+
include Google::Apis::Core::Hashable
|
3753
|
+
|
3754
|
+
# Configuration options for the master authorized networks feature. Enabled
|
3755
|
+
# master authorized networks will disallow all external traffic to access
|
3756
|
+
# Kubernetes master through HTTPS except traffic from the given CIDR blocks,
|
3757
|
+
# Google Compute Engine Public IPs and Google Prod IPs.
|
3758
|
+
# Corresponds to the JSON property `authorizedNetworksConfig`
|
3759
|
+
# @return [Google::Apis::ContainerV1beta1::MasterAuthorizedNetworksConfig]
|
3760
|
+
attr_accessor :authorized_networks_config
|
3761
|
+
|
3762
|
+
# Controls whether the control plane allows access through a public IP. It is
|
3763
|
+
# invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this
|
3764
|
+
# field at the same time.
|
3765
|
+
# Corresponds to the JSON property `enablePublicEndpoint`
|
3766
|
+
# @return [Boolean]
|
3767
|
+
attr_accessor :enable_public_endpoint
|
3768
|
+
alias_method :enable_public_endpoint?, :enable_public_endpoint
|
3769
|
+
|
3770
|
+
# Controls whether to allow direct IP access.
|
3771
|
+
# Corresponds to the JSON property `enabled`
|
3772
|
+
# @return [Boolean]
|
3773
|
+
attr_accessor :enabled
|
3774
|
+
alias_method :enabled?, :enabled
|
3775
|
+
|
3776
|
+
# Controls whether the control plane's private endpoint is accessible from
|
3777
|
+
# sources in other regions. It is invalid to specify both
|
3778
|
+
# PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.
|
3779
|
+
# Corresponds to the JSON property `globalAccess`
|
3780
|
+
# @return [Boolean]
|
3781
|
+
attr_accessor :global_access
|
3782
|
+
alias_method :global_access?, :global_access
|
3783
|
+
|
3784
|
+
# Output only. The internal IP address of this cluster's control plane. Only
|
3785
|
+
# populated if enabled.
|
3786
|
+
# Corresponds to the JSON property `privateEndpoint`
|
3787
|
+
# @return [String]
|
3788
|
+
attr_accessor :private_endpoint
|
3789
|
+
|
3790
|
+
# Subnet to provision the master's private endpoint during cluster creation.
|
3791
|
+
# Specified in projects/*/regions/*/subnetworks/* format. It is invalid to
|
3792
|
+
# specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at
|
3793
|
+
# the same time.
|
3794
|
+
# Corresponds to the JSON property `privateEndpointSubnetwork`
|
3795
|
+
# @return [String]
|
3796
|
+
attr_accessor :private_endpoint_subnetwork
|
3797
|
+
|
3798
|
+
# Output only. The external IP address of this cluster's control plane. Only
|
3799
|
+
# populated if enabled.
|
3800
|
+
# Corresponds to the JSON property `publicEndpoint`
|
3801
|
+
# @return [String]
|
3802
|
+
attr_accessor :public_endpoint
|
3803
|
+
|
3804
|
+
def initialize(**args)
|
3805
|
+
update!(**args)
|
3806
|
+
end
|
3807
|
+
|
3808
|
+
# Update properties of this object
|
3809
|
+
def update!(**args)
|
3810
|
+
@authorized_networks_config = args[:authorized_networks_config] if args.key?(:authorized_networks_config)
|
3811
|
+
@enable_public_endpoint = args[:enable_public_endpoint] if args.key?(:enable_public_endpoint)
|
3812
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
3813
|
+
@global_access = args[:global_access] if args.key?(:global_access)
|
3814
|
+
@private_endpoint = args[:private_endpoint] if args.key?(:private_endpoint)
|
3815
|
+
@private_endpoint_subnetwork = args[:private_endpoint_subnetwork] if args.key?(:private_endpoint_subnetwork)
|
3816
|
+
@public_endpoint = args[:public_endpoint] if args.key?(:public_endpoint)
|
3817
|
+
end
|
3818
|
+
end
|
3819
|
+
|
2608
3820
|
# IdentityServiceConfig is configuration for Identity Service which allows
|
2609
3821
|
# customers to use external identity providers with the K8S API
|
2610
3822
|
class IdentityServiceConfig
|
@@ -2740,6 +3952,25 @@ module Google
|
|
2740
3952
|
end
|
2741
3953
|
end
|
2742
3954
|
|
3955
|
+
# Kubernetes open source beta apis enabled on the cluster.
|
3956
|
+
class K8sBetaApiConfig
|
3957
|
+
include Google::Apis::Core::Hashable
|
3958
|
+
|
3959
|
+
# api name, e.g. storage.k8s.io/v1beta1/csistoragecapacities.
|
3960
|
+
# Corresponds to the JSON property `enabledApis`
|
3961
|
+
# @return [Array<String>]
|
3962
|
+
attr_accessor :enabled_apis
|
3963
|
+
|
3964
|
+
def initialize(**args)
|
3965
|
+
update!(**args)
|
3966
|
+
end
|
3967
|
+
|
3968
|
+
# Update properties of this object
|
3969
|
+
def update!(**args)
|
3970
|
+
@enabled_apis = args[:enabled_apis] if args.key?(:enabled_apis)
|
3971
|
+
end
|
3972
|
+
end
|
3973
|
+
|
2743
3974
|
# Configuration options for the KALM addon.
|
2744
3975
|
class KalmConfig
|
2745
3976
|
include Google::Apis::Core::Hashable
|
@@ -2812,11 +4043,21 @@ module Google
|
|
2812
4043
|
# @return [String]
|
2813
4044
|
attr_accessor :cgroup_mode
|
2814
4045
|
|
4046
|
+
# Hugepages amount in both 2m and 1g size
|
4047
|
+
# Corresponds to the JSON property `hugepages`
|
4048
|
+
# @return [Google::Apis::ContainerV1beta1::HugepagesConfig]
|
4049
|
+
attr_accessor :hugepages
|
4050
|
+
|
2815
4051
|
# The Linux kernel parameters to be applied to the nodes and all pods running on
|
2816
4052
|
# the nodes. The following parameters are supported. net.core.busy_poll net.core.
|
2817
|
-
# busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.
|
2818
|
-
# net.core.
|
2819
|
-
# ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
|
4053
|
+
# busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default
|
4054
|
+
# net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn
|
4055
|
+
# net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.netfilter.
|
4056
|
+
# nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.
|
4057
|
+
# nf_conntrack_tcp_timeout_close_wait net.netfilter.
|
4058
|
+
# nf_conntrack_tcp_timeout_time_wait net.netfilter.
|
4059
|
+
# nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.
|
4060
|
+
# shmmni kernel.shmmax kernel.shmall vm.max_map_count
|
2820
4061
|
# Corresponds to the JSON property `sysctls`
|
2821
4062
|
# @return [Hash<String,String>]
|
2822
4063
|
attr_accessor :sysctls
|
@@ -2828,6 +4069,7 @@ module Google
|
|
2828
4069
|
# Update properties of this object
|
2829
4070
|
def update!(**args)
|
2830
4071
|
@cgroup_mode = args[:cgroup_mode] if args.key?(:cgroup_mode)
|
4072
|
+
@hugepages = args[:hugepages] if args.key?(:hugepages)
|
2831
4073
|
@sysctls = args[:sysctls] if args.key?(:sysctls)
|
2832
4074
|
end
|
2833
4075
|
end
|
@@ -2965,11 +4207,18 @@ module Google
|
|
2965
4207
|
class LocalNvmeSsdBlockConfig
|
2966
4208
|
include Google::Apis::Core::Hashable
|
2967
4209
|
|
2968
|
-
#
|
2969
|
-
#
|
2970
|
-
# disks
|
2971
|
-
#
|
2972
|
-
#
|
4210
|
+
# Number of local NVMe SSDs to use. The limit for this value is dependent upon
|
4211
|
+
# the maximum number of disk available on a machine per zone. See: https://cloud.
|
4212
|
+
# google.com/compute/docs/disks/local-ssd for more information. A zero (or unset)
|
4213
|
+
# value has different meanings depending on machine type being used: 1. For pre-
|
4214
|
+
# Gen3 machines, which support flexible numbers of local ssds, zero (or unset)
|
4215
|
+
# means to disable using local SSDs as ephemeral storage. 2. For Gen3 machines
|
4216
|
+
# which dictate a specific number of local ssds, zero (or unset) means to use
|
4217
|
+
# the default number of local ssds that goes with that machine type. For example,
|
4218
|
+
# for a c3-standard-8-lssd machine, 2 local ssds would be provisioned. For c3-
|
4219
|
+
# standard-8 (which doesn't support local ssds), 0 will be provisioned. See
|
4220
|
+
# https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
|
4221
|
+
# for more info.
|
2973
4222
|
# Corresponds to the JSON property `localSsdCount`
|
2974
4223
|
# @return [Fixnum]
|
2975
4224
|
attr_accessor :local_ssd_count
|
@@ -3160,6 +4409,12 @@ module Google
|
|
3160
4409
|
class ManagedPrometheusConfig
|
3161
4410
|
include Google::Apis::Core::Hashable
|
3162
4411
|
|
4412
|
+
# AutoMonitoringConfig defines the configuration for GKE Workload Auto-
|
4413
|
+
# Monitoring.
|
4414
|
+
# Corresponds to the JSON property `autoMonitoringConfig`
|
4415
|
+
# @return [Google::Apis::ContainerV1beta1::AutoMonitoringConfig]
|
4416
|
+
attr_accessor :auto_monitoring_config
|
4417
|
+
|
3163
4418
|
# Enable Managed Collection.
|
3164
4419
|
# Corresponds to the JSON property `enabled`
|
3165
4420
|
# @return [Boolean]
|
@@ -3172,6 +4427,7 @@ module Google
|
|
3172
4427
|
|
3173
4428
|
# Update properties of this object
|
3174
4429
|
def update!(**args)
|
4430
|
+
@auto_monitoring_config = args[:auto_monitoring_config] if args.key?(:auto_monitoring_config)
|
3175
4431
|
@enabled = args[:enabled] if args.key?(:enabled)
|
3176
4432
|
end
|
3177
4433
|
end
|
@@ -3194,8 +4450,8 @@ module Google
|
|
3194
4450
|
class MasterAuth
|
3195
4451
|
include Google::Apis::Core::Hashable
|
3196
4452
|
|
3197
|
-
#
|
3198
|
-
#
|
4453
|
+
# Output only. Base64-encoded public certificate used by clients to authenticate
|
4454
|
+
# to the cluster endpoint. Issued only if client_certificate_config is set.
|
3199
4455
|
# Corresponds to the JSON property `clientCertificate`
|
3200
4456
|
# @return [String]
|
3201
4457
|
attr_accessor :client_certificate
|
@@ -3205,13 +4461,14 @@ module Google
|
|
3205
4461
|
# @return [Google::Apis::ContainerV1beta1::ClientCertificateConfig]
|
3206
4462
|
attr_accessor :client_certificate_config
|
3207
4463
|
|
3208
|
-
#
|
3209
|
-
#
|
4464
|
+
# Output only. Base64-encoded private key used by clients to authenticate to the
|
4465
|
+
# cluster endpoint.
|
3210
4466
|
# Corresponds to the JSON property `clientKey`
|
3211
4467
|
# @return [String]
|
3212
4468
|
attr_accessor :client_key
|
3213
4469
|
|
3214
|
-
#
|
4470
|
+
# Output only. Base64-encoded public certificate that is the root of trust for
|
4471
|
+
# the cluster.
|
3215
4472
|
# Corresponds to the JSON property `clusterCaCertificate`
|
3216
4473
|
# @return [String]
|
3217
4474
|
attr_accessor :cluster_ca_certificate
|
@@ -3272,12 +4529,18 @@ module Google
|
|
3272
4529
|
attr_accessor :enabled
|
3273
4530
|
alias_method :enabled?, :enabled
|
3274
4531
|
|
3275
|
-
# Whether master is
|
4532
|
+
# Whether master is accessible via Google Compute Engine Public IP addresses.
|
3276
4533
|
# Corresponds to the JSON property `gcpPublicCidrsAccessEnabled`
|
3277
4534
|
# @return [Boolean]
|
3278
4535
|
attr_accessor :gcp_public_cidrs_access_enabled
|
3279
4536
|
alias_method :gcp_public_cidrs_access_enabled?, :gcp_public_cidrs_access_enabled
|
3280
4537
|
|
4538
|
+
# Whether master authorized networks is enforced on private endpoint or not.
|
4539
|
+
# Corresponds to the JSON property `privateEndpointEnforcementEnabled`
|
4540
|
+
# @return [Boolean]
|
4541
|
+
attr_accessor :private_endpoint_enforcement_enabled
|
4542
|
+
alias_method :private_endpoint_enforcement_enabled?, :private_endpoint_enforcement_enabled
|
4543
|
+
|
3281
4544
|
def initialize(**args)
|
3282
4545
|
update!(**args)
|
3283
4546
|
end
|
@@ -3287,6 +4550,7 @@ module Google
|
|
3287
4550
|
@cidr_blocks = args[:cidr_blocks] if args.key?(:cidr_blocks)
|
3288
4551
|
@enabled = args[:enabled] if args.key?(:enabled)
|
3289
4552
|
@gcp_public_cidrs_access_enabled = args[:gcp_public_cidrs_access_enabled] if args.key?(:gcp_public_cidrs_access_enabled)
|
4553
|
+
@private_endpoint_enforcement_enabled = args[:private_endpoint_enforcement_enabled] if args.key?(:private_endpoint_enforcement_enabled)
|
3290
4554
|
end
|
3291
4555
|
end
|
3292
4556
|
|
@@ -3394,6 +4658,12 @@ module Google
|
|
3394
4658
|
class MonitoringConfig
|
3395
4659
|
include Google::Apis::Core::Hashable
|
3396
4660
|
|
4661
|
+
# AdvancedDatapathObservabilityConfig specifies configuration of observability
|
4662
|
+
# features of advanced datapath.
|
4663
|
+
# Corresponds to the JSON property `advancedDatapathObservabilityConfig`
|
4664
|
+
# @return [Google::Apis::ContainerV1beta1::AdvancedDatapathObservabilityConfig]
|
4665
|
+
attr_accessor :advanced_datapath_observability_config
|
4666
|
+
|
3397
4667
|
# MonitoringComponentConfig is cluster monitoring component configuration.
|
3398
4668
|
# Corresponds to the JSON property `componentConfig`
|
3399
4669
|
# @return [Google::Apis::ContainerV1beta1::MonitoringComponentConfig]
|
@@ -3411,6 +4681,7 @@ module Google
|
|
3411
4681
|
|
3412
4682
|
# Update properties of this object
|
3413
4683
|
def update!(**args)
|
4684
|
+
@advanced_datapath_observability_config = args[:advanced_datapath_observability_config] if args.key?(:advanced_datapath_observability_config)
|
3414
4685
|
@component_config = args[:component_config] if args.key?(:component_config)
|
3415
4686
|
@managed_prometheus_config = args[:managed_prometheus_config] if args.key?(:managed_prometheus_config)
|
3416
4687
|
end
|
@@ -3426,17 +4697,44 @@ module Google
|
|
3426
4697
|
# @return [String]
|
3427
4698
|
attr_accessor :datapath_provider
|
3428
4699
|
|
4700
|
+
# Controls whether by default nodes have private IP addresses only. It is
|
4701
|
+
# invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field
|
4702
|
+
# at the same time. To update the default setting, use ClusterUpdate.
|
4703
|
+
# desired_default_enable_private_nodes
|
4704
|
+
# Corresponds to the JSON property `defaultEnablePrivateNodes`
|
4705
|
+
# @return [Boolean]
|
4706
|
+
attr_accessor :default_enable_private_nodes
|
4707
|
+
alias_method :default_enable_private_nodes?, :default_enable_private_nodes
|
4708
|
+
|
3429
4709
|
# DefaultSnatStatus contains the desired state of whether default sNAT should be
|
3430
4710
|
# disabled on the cluster.
|
3431
4711
|
# Corresponds to the JSON property `defaultSnatStatus`
|
3432
4712
|
# @return [Google::Apis::ContainerV1beta1::DefaultSnatStatus]
|
3433
4713
|
attr_accessor :default_snat_status
|
3434
4714
|
|
4715
|
+
# Disable L4 load balancer VPC firewalls to enable firewall policies.
|
4716
|
+
# Corresponds to the JSON property `disableL4LbFirewallReconciliation`
|
4717
|
+
# @return [Boolean]
|
4718
|
+
attr_accessor :disable_l4_lb_firewall_reconciliation
|
4719
|
+
alias_method :disable_l4_lb_firewall_reconciliation?, :disable_l4_lb_firewall_reconciliation
|
4720
|
+
|
3435
4721
|
# DNSConfig contains the desired set of options for configuring clusterDNS.
|
3436
4722
|
# Corresponds to the JSON property `dnsConfig`
|
3437
4723
|
# @return [Google::Apis::ContainerV1beta1::DnsConfig]
|
3438
4724
|
attr_accessor :dns_config
|
3439
4725
|
|
4726
|
+
# Whether CiliumClusterWideNetworkPolicy is enabled on this cluster.
|
4727
|
+
# Corresponds to the JSON property `enableCiliumClusterwideNetworkPolicy`
|
4728
|
+
# @return [Boolean]
|
4729
|
+
attr_accessor :enable_cilium_clusterwide_network_policy
|
4730
|
+
alias_method :enable_cilium_clusterwide_network_policy?, :enable_cilium_clusterwide_network_policy
|
4731
|
+
|
4732
|
+
# Whether FQDN Network Policy is enabled on this cluster.
|
4733
|
+
# Corresponds to the JSON property `enableFqdnNetworkPolicy`
|
4734
|
+
# @return [Boolean]
|
4735
|
+
attr_accessor :enable_fqdn_network_policy
|
4736
|
+
alias_method :enable_fqdn_network_policy?, :enable_fqdn_network_policy
|
4737
|
+
|
3440
4738
|
# Whether Intra-node visibility is enabled for this cluster. This makes same
|
3441
4739
|
# node pod to pod traffic visible for VPC network.
|
3442
4740
|
# Corresponds to the JSON property `enableIntraNodeVisibility`
|
@@ -3450,18 +4748,34 @@ module Google
|
|
3450
4748
|
attr_accessor :enable_l4ilb_subsetting
|
3451
4749
|
alias_method :enable_l4ilb_subsetting?, :enable_l4ilb_subsetting
|
3452
4750
|
|
4751
|
+
# Whether multi-networking is enabled for this cluster.
|
4752
|
+
# Corresponds to the JSON property `enableMultiNetworking`
|
4753
|
+
# @return [Boolean]
|
4754
|
+
attr_accessor :enable_multi_networking
|
4755
|
+
alias_method :enable_multi_networking?, :enable_multi_networking
|
4756
|
+
|
3453
4757
|
# GatewayAPIConfig contains the desired config of Gateway API on this cluster.
|
3454
4758
|
# Corresponds to the JSON property `gatewayApiConfig`
|
3455
4759
|
# @return [Google::Apis::ContainerV1beta1::GatewayApiConfig]
|
3456
4760
|
attr_accessor :gateway_api_config
|
3457
4761
|
|
3458
|
-
#
|
4762
|
+
# Specify the details of in-transit encryption.
|
4763
|
+
# Corresponds to the JSON property `inTransitEncryptionConfig`
|
4764
|
+
# @return [String]
|
4765
|
+
attr_accessor :in_transit_encryption_config
|
4766
|
+
|
4767
|
+
# Output only. The relative name of the Google Compute Engine [network](https://
|
3459
4768
|
# cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the
|
3460
4769
|
# cluster is connected. Example: projects/my-project/global/networks/my-network
|
3461
4770
|
# Corresponds to the JSON property `network`
|
3462
4771
|
# @return [String]
|
3463
4772
|
attr_accessor :network
|
3464
4773
|
|
4774
|
+
# Configuration of all network bandwidth tiers
|
4775
|
+
# Corresponds to the JSON property `networkPerformanceConfig`
|
4776
|
+
# @return [Google::Apis::ContainerV1beta1::ClusterNetworkPerformanceConfig]
|
4777
|
+
attr_accessor :network_performance_config
|
4778
|
+
|
3465
4779
|
# The desired state of IPv6 connectivity to Google Services. By default, no
|
3466
4780
|
# private IPv6 access to or from Google Services (all access will be via IPv4)
|
3467
4781
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
@@ -3487,12 +4801,19 @@ module Google
|
|
3487
4801
|
# Update properties of this object
|
3488
4802
|
def update!(**args)
|
3489
4803
|
@datapath_provider = args[:datapath_provider] if args.key?(:datapath_provider)
|
4804
|
+
@default_enable_private_nodes = args[:default_enable_private_nodes] if args.key?(:default_enable_private_nodes)
|
3490
4805
|
@default_snat_status = args[:default_snat_status] if args.key?(:default_snat_status)
|
4806
|
+
@disable_l4_lb_firewall_reconciliation = args[:disable_l4_lb_firewall_reconciliation] if args.key?(:disable_l4_lb_firewall_reconciliation)
|
3491
4807
|
@dns_config = args[:dns_config] if args.key?(:dns_config)
|
4808
|
+
@enable_cilium_clusterwide_network_policy = args[:enable_cilium_clusterwide_network_policy] if args.key?(:enable_cilium_clusterwide_network_policy)
|
4809
|
+
@enable_fqdn_network_policy = args[:enable_fqdn_network_policy] if args.key?(:enable_fqdn_network_policy)
|
3492
4810
|
@enable_intra_node_visibility = args[:enable_intra_node_visibility] if args.key?(:enable_intra_node_visibility)
|
3493
4811
|
@enable_l4ilb_subsetting = args[:enable_l4ilb_subsetting] if args.key?(:enable_l4ilb_subsetting)
|
4812
|
+
@enable_multi_networking = args[:enable_multi_networking] if args.key?(:enable_multi_networking)
|
3494
4813
|
@gateway_api_config = args[:gateway_api_config] if args.key?(:gateway_api_config)
|
4814
|
+
@in_transit_encryption_config = args[:in_transit_encryption_config] if args.key?(:in_transit_encryption_config)
|
3495
4815
|
@network = args[:network] if args.key?(:network)
|
4816
|
+
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
3496
4817
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
3497
4818
|
@service_external_ips_config = args[:service_external_ips_config] if args.key?(:service_external_ips_config)
|
3498
4819
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
@@ -3595,6 +4916,39 @@ module Google
|
|
3595
4916
|
end
|
3596
4917
|
end
|
3597
4918
|
|
4919
|
+
# Specifies the NodeAffinity key, values, and affinity operator according to [
|
4920
|
+
# shared sole tenant node group affinities](https://cloud.google.com/compute/
|
4921
|
+
# docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity).
|
4922
|
+
class NodeAffinity
|
4923
|
+
include Google::Apis::Core::Hashable
|
4924
|
+
|
4925
|
+
# Key for NodeAffinity.
|
4926
|
+
# Corresponds to the JSON property `key`
|
4927
|
+
# @return [String]
|
4928
|
+
attr_accessor :key
|
4929
|
+
|
4930
|
+
# Operator for NodeAffinity.
|
4931
|
+
# Corresponds to the JSON property `operator`
|
4932
|
+
# @return [String]
|
4933
|
+
attr_accessor :operator
|
4934
|
+
|
4935
|
+
# Values for NodeAffinity.
|
4936
|
+
# Corresponds to the JSON property `values`
|
4937
|
+
# @return [Array<String>]
|
4938
|
+
attr_accessor :values
|
4939
|
+
|
4940
|
+
def initialize(**args)
|
4941
|
+
update!(**args)
|
4942
|
+
end
|
4943
|
+
|
4944
|
+
# Update properties of this object
|
4945
|
+
def update!(**args)
|
4946
|
+
@key = args[:key] if args.key?(:key)
|
4947
|
+
@operator = args[:operator] if args.key?(:operator)
|
4948
|
+
@values = args[:values] if args.key?(:values)
|
4949
|
+
end
|
4950
|
+
end
|
4951
|
+
|
3598
4952
|
# Parameters that describe the nodes in a cluster. GKE Autopilot clusters do not
|
3599
4953
|
# recognize parameters in `NodeConfig`. Use AutoprovisioningNodePoolDefaults
|
3600
4954
|
# instead.
|
@@ -3627,8 +4981,14 @@ module Google
|
|
3627
4981
|
# @return [Google::Apis::ContainerV1beta1::ConfidentialNodes]
|
3628
4982
|
attr_accessor :confidential_nodes
|
3629
4983
|
|
4984
|
+
# ContainerdConfig contains configuration to customize containerd.
|
4985
|
+
# Corresponds to the JSON property `containerdConfig`
|
4986
|
+
# @return [Google::Apis::ContainerV1beta1::ContainerdConfig]
|
4987
|
+
attr_accessor :containerd_config
|
4988
|
+
|
3630
4989
|
# Size of the disk attached to each node, specified in GB. The smallest allowed
|
3631
|
-
# disk size is 10GB.
|
4990
|
+
# disk size is 10GB. TODO(b/395671893) - Deprecate disk_size_gb and disk_type
|
4991
|
+
# fields. If unspecified, the default disk size is 100GB.
|
3632
4992
|
# Corresponds to the JSON property `diskSizeGb`
|
3633
4993
|
# @return [Fixnum]
|
3634
4994
|
attr_accessor :disk_size_gb
|
@@ -3639,6 +4999,20 @@ module Google
|
|
3639
4999
|
# @return [String]
|
3640
5000
|
attr_accessor :disk_type
|
3641
5001
|
|
5002
|
+
# Output only. effective_cgroup_mode is the cgroup mode actually used by the
|
5003
|
+
# node pool. It is determined by the cgroup mode specified in the
|
5004
|
+
# LinuxNodeConfig or the default cgroup mode based on the cluster creation
|
5005
|
+
# version.
|
5006
|
+
# Corresponds to the JSON property `effectiveCgroupMode`
|
5007
|
+
# @return [String]
|
5008
|
+
attr_accessor :effective_cgroup_mode
|
5009
|
+
|
5010
|
+
# Optional. Reserved for future use.
|
5011
|
+
# Corresponds to the JSON property `enableConfidentialStorage`
|
5012
|
+
# @return [Boolean]
|
5013
|
+
attr_accessor :enable_confidential_storage
|
5014
|
+
alias_method :enable_confidential_storage?, :enable_confidential_storage
|
5015
|
+
|
3642
5016
|
# EphemeralStorageConfig contains configuration for the ephemeral storage
|
3643
5017
|
# filesystem.
|
3644
5018
|
# Corresponds to the JSON property `ephemeralStorageConfig`
|
@@ -3666,8 +5040,15 @@ module Google
|
|
3666
5040
|
# @return [Google::Apis::ContainerV1beta1::VirtualNic]
|
3667
5041
|
attr_accessor :gvnic
|
3668
5042
|
|
5043
|
+
# HostMaintenancePolicy contains the maintenance policy for the hosts on which
|
5044
|
+
# the GKE VMs run on.
|
5045
|
+
# Corresponds to the JSON property `hostMaintenancePolicy`
|
5046
|
+
# @return [Google::Apis::ContainerV1beta1::HostMaintenancePolicy]
|
5047
|
+
attr_accessor :host_maintenance_policy
|
5048
|
+
|
3669
5049
|
# The image type to use for this node. Note that for a given image type, the
|
3670
|
-
# latest version of it will be used.
|
5050
|
+
# latest version of it will be used. Please see https://cloud.google.com/
|
5051
|
+
# kubernetes-engine/docs/concepts/node-images for available image types.
|
3671
5052
|
# Corresponds to the JSON property `imageType`
|
3672
5053
|
# @return [String]
|
3673
5054
|
attr_accessor :image_type
|
@@ -3707,6 +5088,12 @@ module Google
|
|
3707
5088
|
# @return [Fixnum]
|
3708
5089
|
attr_accessor :local_ssd_count
|
3709
5090
|
|
5091
|
+
# Specifies which method should be used for encrypting the Local SSDs attached
|
5092
|
+
# to the node.
|
5093
|
+
# Corresponds to the JSON property `localSsdEncryptionMode`
|
5094
|
+
# @return [String]
|
5095
|
+
attr_accessor :local_ssd_encryption_mode
|
5096
|
+
|
3710
5097
|
# NodePoolLoggingConfig specifies logging configuration for nodepools.
|
3711
5098
|
# Corresponds to the JSON property `loggingConfig`
|
3712
5099
|
# @return [Google::Apis::ContainerV1beta1::NodePoolLoggingConfig]
|
@@ -3719,6 +5106,12 @@ module Google
|
|
3719
5106
|
# @return [String]
|
3720
5107
|
attr_accessor :machine_type
|
3721
5108
|
|
5109
|
+
# The maximum duration for the nodes to exist. If unspecified, the nodes can
|
5110
|
+
# exist indefinitely.
|
5111
|
+
# Corresponds to the JSON property `maxRunDuration`
|
5112
|
+
# @return [String]
|
5113
|
+
attr_accessor :max_run_duration
|
5114
|
+
|
3722
5115
|
# The metadata key/value pairs assigned to instances in the cluster. Keys must
|
3723
5116
|
# conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length.
|
3724
5117
|
# These are reflected as part of a URL in the metadata server. Additionally, to
|
@@ -3768,7 +5161,7 @@ module Google
|
|
3768
5161
|
attr_accessor :oauth_scopes
|
3769
5162
|
|
3770
5163
|
# Whether the nodes are created as preemptible VM instances. See: https://cloud.
|
3771
|
-
# google.com/compute/docs/instances/preemptible for more
|
5164
|
+
# google.com/compute/docs/instances/preemptible for more information about
|
3772
5165
|
# preemptible VM instances.
|
3773
5166
|
# Corresponds to the JSON property `preemptible`
|
3774
5167
|
# @return [Boolean]
|
@@ -3788,11 +5181,31 @@ module Google
|
|
3788
5181
|
# @return [Hash<String,String>]
|
3789
5182
|
attr_accessor :resource_labels
|
3790
5183
|
|
5184
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
5185
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
5186
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
5187
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
5188
|
+
# specified. Existing tags will be replaced with new values.
|
5189
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
5190
|
+
# @return [Google::Apis::ContainerV1beta1::ResourceManagerTags]
|
5191
|
+
attr_accessor :resource_manager_tags
|
5192
|
+
|
3791
5193
|
# SandboxConfig contains configurations of the sandbox to use for the node.
|
3792
5194
|
# Corresponds to the JSON property `sandboxConfig`
|
3793
5195
|
# @return [Google::Apis::ContainerV1beta1::SandboxConfig]
|
3794
5196
|
attr_accessor :sandbox_config
|
3795
5197
|
|
5198
|
+
# SecondaryBootDiskUpdateStrategy is a placeholder which will be extended in the
|
5199
|
+
# future to define different options for updating secondary boot disks.
|
5200
|
+
# Corresponds to the JSON property `secondaryBootDiskUpdateStrategy`
|
5201
|
+
# @return [Google::Apis::ContainerV1beta1::SecondaryBootDiskUpdateStrategy]
|
5202
|
+
attr_accessor :secondary_boot_disk_update_strategy
|
5203
|
+
|
5204
|
+
# List of secondary boot disks attached to the nodes.
|
5205
|
+
# Corresponds to the JSON property `secondaryBootDisks`
|
5206
|
+
# @return [Array<Google::Apis::ContainerV1beta1::SecondaryBootDisk>]
|
5207
|
+
attr_accessor :secondary_boot_disks
|
5208
|
+
|
3796
5209
|
# The Google Cloud Platform Service Account to be used by the node VMs. Specify
|
3797
5210
|
# the email address of the Service Account; otherwise, if no Service Account is
|
3798
5211
|
# specified, the "default" service account is used.
|
@@ -3805,6 +5218,12 @@ module Google
|
|
3805
5218
|
# @return [Google::Apis::ContainerV1beta1::ShieldedInstanceConfig]
|
3806
5219
|
attr_accessor :shielded_instance_config
|
3807
5220
|
|
5221
|
+
# SoleTenantConfig contains the NodeAffinities to specify what shared sole
|
5222
|
+
# tenant node groups should back the node pool.
|
5223
|
+
# Corresponds to the JSON property `soleTenantConfig`
|
5224
|
+
# @return [Google::Apis::ContainerV1beta1::SoleTenantConfig]
|
5225
|
+
attr_accessor :sole_tenant_config
|
5226
|
+
|
3808
5227
|
# Spot flag for enabling Spot VM, which is a rebrand of the existing preemptible
|
3809
5228
|
# flag.
|
3810
5229
|
# Corresponds to the JSON property `spot`
|
@@ -3812,6 +5231,11 @@ module Google
|
|
3812
5231
|
attr_accessor :spot
|
3813
5232
|
alias_method :spot?, :spot
|
3814
5233
|
|
5234
|
+
# List of Storage Pools where boot disks are provisioned.
|
5235
|
+
# Corresponds to the JSON property `storagePools`
|
5236
|
+
# @return [Array<String>]
|
5237
|
+
attr_accessor :storage_pools
|
5238
|
+
|
3815
5239
|
# The list of instance tags applied to all nodes. Tags are used to identify
|
3816
5240
|
# valid sources or targets for network firewalls and are specified by the client
|
3817
5241
|
# during cluster or node pool creation. Each tag within the list must comply
|
@@ -3829,7 +5253,7 @@ module Google
|
|
3829
5253
|
|
3830
5254
|
# Parameters that can be configured on Windows nodes. Windows Node Config that
|
3831
5255
|
# define the parameters that will be used to configure the Windows node pool
|
3832
|
-
# settings
|
5256
|
+
# settings.
|
3833
5257
|
# Corresponds to the JSON property `windowsNodeConfig`
|
3834
5258
|
# @return [Google::Apis::ContainerV1beta1::WindowsNodeConfig]
|
3835
5259
|
attr_accessor :windows_node_config
|
@@ -3850,21 +5274,27 @@ module Google
|
|
3850
5274
|
@advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
|
3851
5275
|
@boot_disk_kms_key = args[:boot_disk_kms_key] if args.key?(:boot_disk_kms_key)
|
3852
5276
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
5277
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
3853
5278
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
3854
5279
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
5280
|
+
@effective_cgroup_mode = args[:effective_cgroup_mode] if args.key?(:effective_cgroup_mode)
|
5281
|
+
@enable_confidential_storage = args[:enable_confidential_storage] if args.key?(:enable_confidential_storage)
|
3855
5282
|
@ephemeral_storage_config = args[:ephemeral_storage_config] if args.key?(:ephemeral_storage_config)
|
3856
5283
|
@ephemeral_storage_local_ssd_config = args[:ephemeral_storage_local_ssd_config] if args.key?(:ephemeral_storage_local_ssd_config)
|
3857
5284
|
@fast_socket = args[:fast_socket] if args.key?(:fast_socket)
|
3858
5285
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
3859
5286
|
@gvnic = args[:gvnic] if args.key?(:gvnic)
|
5287
|
+
@host_maintenance_policy = args[:host_maintenance_policy] if args.key?(:host_maintenance_policy)
|
3860
5288
|
@image_type = args[:image_type] if args.key?(:image_type)
|
3861
5289
|
@kubelet_config = args[:kubelet_config] if args.key?(:kubelet_config)
|
3862
5290
|
@labels = args[:labels] if args.key?(:labels)
|
3863
5291
|
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
3864
5292
|
@local_nvme_ssd_block_config = args[:local_nvme_ssd_block_config] if args.key?(:local_nvme_ssd_block_config)
|
3865
5293
|
@local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count)
|
5294
|
+
@local_ssd_encryption_mode = args[:local_ssd_encryption_mode] if args.key?(:local_ssd_encryption_mode)
|
3866
5295
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
3867
5296
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
5297
|
+
@max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
|
3868
5298
|
@metadata = args[:metadata] if args.key?(:metadata)
|
3869
5299
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
3870
5300
|
@node_group = args[:node_group] if args.key?(:node_group)
|
@@ -3872,10 +5302,15 @@ module Google
|
|
3872
5302
|
@preemptible = args[:preemptible] if args.key?(:preemptible)
|
3873
5303
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
3874
5304
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
5305
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
3875
5306
|
@sandbox_config = args[:sandbox_config] if args.key?(:sandbox_config)
|
5307
|
+
@secondary_boot_disk_update_strategy = args[:secondary_boot_disk_update_strategy] if args.key?(:secondary_boot_disk_update_strategy)
|
5308
|
+
@secondary_boot_disks = args[:secondary_boot_disks] if args.key?(:secondary_boot_disks)
|
3876
5309
|
@service_account = args[:service_account] if args.key?(:service_account)
|
3877
5310
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
5311
|
+
@sole_tenant_config = args[:sole_tenant_config] if args.key?(:sole_tenant_config)
|
3878
5312
|
@spot = args[:spot] if args.key?(:spot)
|
5313
|
+
@storage_pools = args[:storage_pools] if args.key?(:storage_pools)
|
3879
5314
|
@tags = args[:tags] if args.key?(:tags)
|
3880
5315
|
@taints = args[:taints] if args.key?(:taints)
|
3881
5316
|
@windows_node_config = args[:windows_node_config] if args.key?(:windows_node_config)
|
@@ -3887,24 +5322,43 @@ module Google
|
|
3887
5322
|
class NodeConfigDefaults
|
3888
5323
|
include Google::Apis::Core::Hashable
|
3889
5324
|
|
5325
|
+
# ContainerdConfig contains configuration to customize containerd.
|
5326
|
+
# Corresponds to the JSON property `containerdConfig`
|
5327
|
+
# @return [Google::Apis::ContainerV1beta1::ContainerdConfig]
|
5328
|
+
attr_accessor :containerd_config
|
5329
|
+
|
3890
5330
|
# GcfsConfig contains configurations of Google Container File System.
|
3891
5331
|
# Corresponds to the JSON property `gcfsConfig`
|
3892
5332
|
# @return [Google::Apis::ContainerV1beta1::GcfsConfig]
|
3893
5333
|
attr_accessor :gcfs_config
|
3894
5334
|
|
5335
|
+
# HostMaintenancePolicy contains the maintenance policy for the hosts on which
|
5336
|
+
# the GKE VMs run on.
|
5337
|
+
# Corresponds to the JSON property `hostMaintenancePolicy`
|
5338
|
+
# @return [Google::Apis::ContainerV1beta1::HostMaintenancePolicy]
|
5339
|
+
attr_accessor :host_maintenance_policy
|
5340
|
+
|
3895
5341
|
# NodePoolLoggingConfig specifies logging configuration for nodepools.
|
3896
5342
|
# Corresponds to the JSON property `loggingConfig`
|
3897
5343
|
# @return [Google::Apis::ContainerV1beta1::NodePoolLoggingConfig]
|
3898
5344
|
attr_accessor :logging_config
|
3899
5345
|
|
5346
|
+
# Node kubelet configs.
|
5347
|
+
# Corresponds to the JSON property `nodeKubeletConfig`
|
5348
|
+
# @return [Google::Apis::ContainerV1beta1::NodeKubeletConfig]
|
5349
|
+
attr_accessor :node_kubelet_config
|
5350
|
+
|
3900
5351
|
def initialize(**args)
|
3901
5352
|
update!(**args)
|
3902
5353
|
end
|
3903
5354
|
|
3904
5355
|
# Update properties of this object
|
3905
5356
|
def update!(**args)
|
5357
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
3906
5358
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
5359
|
+
@host_maintenance_policy = args[:host_maintenance_policy] if args.key?(:host_maintenance_policy)
|
3907
5360
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
5361
|
+
@node_kubelet_config = args[:node_kubelet_config] if args.key?(:node_kubelet_config)
|
3908
5362
|
end
|
3909
5363
|
end
|
3910
5364
|
|
@@ -3912,6 +5366,37 @@ module Google
|
|
3912
5366
|
class NodeKubeletConfig
|
3913
5367
|
include Google::Apis::Core::Hashable
|
3914
5368
|
|
5369
|
+
# Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl
|
5370
|
+
# patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`
|
5371
|
+
# , `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this
|
5372
|
+
# allowlist empty means they cannot be set on Pods. To allow certain sysctls or
|
5373
|
+
# sysctl patterns to be set on Pods, list them separated by commas. For example:
|
5374
|
+
# `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/
|
5375
|
+
# administer-cluster/sysctl-cluster/ for more details.
|
5376
|
+
# Corresponds to the JSON property `allowedUnsafeSysctls`
|
5377
|
+
# @return [Array<String>]
|
5378
|
+
attr_accessor :allowed_unsafe_sysctls
|
5379
|
+
|
5380
|
+
# Optional. Defines the maximum number of container log files that can be
|
5381
|
+
# present for a container. See https://kubernetes.io/docs/concepts/cluster-
|
5382
|
+
# administration/logging/#log-rotation The value must be an integer between 2
|
5383
|
+
# and 10, inclusive. The default value is 5 if unspecified.
|
5384
|
+
# Corresponds to the JSON property `containerLogMaxFiles`
|
5385
|
+
# @return [Fixnum]
|
5386
|
+
attr_accessor :container_log_max_files
|
5387
|
+
|
5388
|
+
# Optional. Defines the maximum size of the container log file before it is
|
5389
|
+
# rotated. See https://kubernetes.io/docs/concepts/cluster-administration/
|
5390
|
+
# logging/#log-rotation Valid format is positive number + unit, e.g. 100Ki, 10Mi.
|
5391
|
+
# Valid units are Ki, Mi, Gi. The value must be between 10Mi and 500Mi,
|
5392
|
+
# inclusive. Note that the total container log size (container_log_max_size *
|
5393
|
+
# container_log_max_files) cannot exceed 1% of the total storage of the node, to
|
5394
|
+
# avoid disk pressure caused by log files. The default value is 10Mi if
|
5395
|
+
# unspecified.
|
5396
|
+
# Corresponds to the JSON property `containerLogMaxSize`
|
5397
|
+
# @return [String]
|
5398
|
+
attr_accessor :container_log_max_size
|
5399
|
+
|
3915
5400
|
# Enable CPU CFS quota enforcement for containers that specify CPU limits. This
|
3916
5401
|
# option is enabled by default which makes kubelet use CFS quota (https://www.
|
3917
5402
|
# kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU
|
@@ -3942,6 +5427,50 @@ module Google
|
|
3942
5427
|
# @return [String]
|
3943
5428
|
attr_accessor :cpu_manager_policy
|
3944
5429
|
|
5430
|
+
# Optional. Defines the percent of disk usage after which image garbage
|
5431
|
+
# collection is always run. The percent is calculated as this field value out of
|
5432
|
+
# 100. The value must be between 10 and 85, inclusive and greater than
|
5433
|
+
# image_gc_low_threshold_percent. The default value is 85 if unspecified.
|
5434
|
+
# Corresponds to the JSON property `imageGcHighThresholdPercent`
|
5435
|
+
# @return [Fixnum]
|
5436
|
+
attr_accessor :image_gc_high_threshold_percent
|
5437
|
+
|
5438
|
+
# Optional. Defines the percent of disk usage before which image garbage
|
5439
|
+
# collection is never run. Lowest disk usage to garbage collect to. The percent
|
5440
|
+
# is calculated as this field value out of 100. The value must be between 10 and
|
5441
|
+
# 85, inclusive and smaller than image_gc_high_threshold_percent. The default
|
5442
|
+
# value is 80 if unspecified.
|
5443
|
+
# Corresponds to the JSON property `imageGcLowThresholdPercent`
|
5444
|
+
# @return [Fixnum]
|
5445
|
+
attr_accessor :image_gc_low_threshold_percent
|
5446
|
+
|
5447
|
+
# Optional. Defines the maximum age an image can be unused before it is garbage
|
5448
|
+
# collected. The string must be a sequence of decimal numbers, each with
|
5449
|
+
# optional fraction and a unit suffix, such as "300s", "1.5h", and "2h45m".
|
5450
|
+
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must
|
5451
|
+
# be a positive duration greater than image_minimum_gc_age or "0s". The default
|
5452
|
+
# value is "0s" if unspecified, which disables this field, meaning images won't
|
5453
|
+
# be garbage collected based on being unused for too long.
|
5454
|
+
# Corresponds to the JSON property `imageMaximumGcAge`
|
5455
|
+
# @return [String]
|
5456
|
+
attr_accessor :image_maximum_gc_age
|
5457
|
+
|
5458
|
+
# Optional. Defines the minimum age for an unused image before it is garbage
|
5459
|
+
# collected. The string must be a sequence of decimal numbers, each with
|
5460
|
+
# optional fraction and a unit suffix, such as "300s", "1.5h", and "2h45m".
|
5461
|
+
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must
|
5462
|
+
# be a positive duration less than or equal to 2 minutes. The default value is "
|
5463
|
+
# 2m0s" if unspecified.
|
5464
|
+
# Corresponds to the JSON property `imageMinimumGcAge`
|
5465
|
+
# @return [String]
|
5466
|
+
attr_accessor :image_minimum_gc_age
|
5467
|
+
|
5468
|
+
# Enable or disable Kubelet read only port.
|
5469
|
+
# Corresponds to the JSON property `insecureKubeletReadonlyPortEnabled`
|
5470
|
+
# @return [Boolean]
|
5471
|
+
attr_accessor :insecure_kubelet_readonly_port_enabled
|
5472
|
+
alias_method :insecure_kubelet_readonly_port_enabled?, :insecure_kubelet_readonly_port_enabled
|
5473
|
+
|
3945
5474
|
# Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-
|
3946
5475
|
# limiting/#pod-pid-limits Controls the maximum number of processes allowed to
|
3947
5476
|
# run in a pod. The value must be greater than or equal to 1024 and less than
|
@@ -3956,9 +5485,17 @@ module Google
|
|
3956
5485
|
|
3957
5486
|
# Update properties of this object
|
3958
5487
|
def update!(**args)
|
5488
|
+
@allowed_unsafe_sysctls = args[:allowed_unsafe_sysctls] if args.key?(:allowed_unsafe_sysctls)
|
5489
|
+
@container_log_max_files = args[:container_log_max_files] if args.key?(:container_log_max_files)
|
5490
|
+
@container_log_max_size = args[:container_log_max_size] if args.key?(:container_log_max_size)
|
3959
5491
|
@cpu_cfs_quota = args[:cpu_cfs_quota] if args.key?(:cpu_cfs_quota)
|
3960
5492
|
@cpu_cfs_quota_period = args[:cpu_cfs_quota_period] if args.key?(:cpu_cfs_quota_period)
|
3961
5493
|
@cpu_manager_policy = args[:cpu_manager_policy] if args.key?(:cpu_manager_policy)
|
5494
|
+
@image_gc_high_threshold_percent = args[:image_gc_high_threshold_percent] if args.key?(:image_gc_high_threshold_percent)
|
5495
|
+
@image_gc_low_threshold_percent = args[:image_gc_low_threshold_percent] if args.key?(:image_gc_low_threshold_percent)
|
5496
|
+
@image_maximum_gc_age = args[:image_maximum_gc_age] if args.key?(:image_maximum_gc_age)
|
5497
|
+
@image_minimum_gc_age = args[:image_minimum_gc_age] if args.key?(:image_minimum_gc_age)
|
5498
|
+
@insecure_kubelet_readonly_port_enabled = args[:insecure_kubelet_readonly_port_enabled] if args.key?(:insecure_kubelet_readonly_port_enabled)
|
3962
5499
|
@pod_pids_limit = args[:pod_pids_limit] if args.key?(:pod_pids_limit)
|
3963
5500
|
end
|
3964
5501
|
end
|
@@ -4022,6 +5559,18 @@ module Google
|
|
4022
5559
|
class NodeNetworkConfig
|
4023
5560
|
include Google::Apis::Core::Hashable
|
4024
5561
|
|
5562
|
+
# We specify the additional node networks for this node pool using this list.
|
5563
|
+
# Each node network corresponds to an additional interface
|
5564
|
+
# Corresponds to the JSON property `additionalNodeNetworkConfigs`
|
5565
|
+
# @return [Array<Google::Apis::ContainerV1beta1::AdditionalNodeNetworkConfig>]
|
5566
|
+
attr_accessor :additional_node_network_configs
|
5567
|
+
|
5568
|
+
# We specify the additional pod networks for this node pool using this list.
|
5569
|
+
# Each pod network corresponds to an additional alias IP range for the node
|
5570
|
+
# Corresponds to the JSON property `additionalPodNetworkConfigs`
|
5571
|
+
# @return [Array<Google::Apis::ContainerV1beta1::AdditionalPodNetworkConfig>]
|
5572
|
+
attr_accessor :additional_pod_network_configs
|
5573
|
+
|
4025
5574
|
# Input only. Whether to create a new range for pod IPs in this node pool.
|
4026
5575
|
# Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are
|
4027
5576
|
# not specified. If neither `create_pod_range` or `pod_range` are specified, the
|
@@ -4034,8 +5583,8 @@ module Google
|
|
4034
5583
|
alias_method :create_pod_range?, :create_pod_range
|
4035
5584
|
|
4036
5585
|
# Whether nodes have internal IP addresses only. If enable_private_nodes is not
|
4037
|
-
# specified, then the value is derived from
|
4038
|
-
#
|
5586
|
+
# specified, then the value is derived from Cluster.NetworkConfig.
|
5587
|
+
# default_enable_private_nodes
|
4039
5588
|
# Corresponds to the JSON property `enablePrivateNodes`
|
4040
5589
|
# @return [Boolean]
|
4041
5590
|
attr_accessor :enable_private_nodes
|
@@ -4046,6 +5595,11 @@ module Google
|
|
4046
5595
|
# @return [Google::Apis::ContainerV1beta1::NetworkPerformanceConfig]
|
4047
5596
|
attr_accessor :network_performance_config
|
4048
5597
|
|
5598
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
5599
|
+
# Corresponds to the JSON property `podCidrOverprovisionConfig`
|
5600
|
+
# @return [Google::Apis::ContainerV1beta1::PodCidrOverprovisionConfig]
|
5601
|
+
attr_accessor :pod_cidr_overprovision_config
|
5602
|
+
|
4049
5603
|
# The IP address range for pod IPs in this node pool. Only applicable if `
|
4050
5604
|
# create_pod_range` is true. Set to blank to have a range chosen with the
|
4051
5605
|
# default size. Set to /netmask (e.g. `/14`) to have a range chosen with a
|
@@ -4057,6 +5611,13 @@ module Google
|
|
4057
5611
|
# @return [String]
|
4058
5612
|
attr_accessor :pod_ipv4_cidr_block
|
4059
5613
|
|
5614
|
+
# Output only. The utilization of the IPv4 range for the pod. The ratio is Usage/
|
5615
|
+
# [Total number of IPs in the secondary range], Usage=numNodes*numZones*
|
5616
|
+
# podIPsPerNode.
|
5617
|
+
# Corresponds to the JSON property `podIpv4RangeUtilization`
|
5618
|
+
# @return [Float]
|
5619
|
+
attr_accessor :pod_ipv4_range_utilization
|
5620
|
+
|
4060
5621
|
# The ID of the secondary range for pod IPs. If `create_pod_range` is true, this
|
4061
5622
|
# ID is used for the new range. If `create_pod_range` is false, uses an existing
|
4062
5623
|
# secondary range with this ID. Only applicable if `ip_allocation_policy.
|
@@ -4072,10 +5633,14 @@ module Google
|
|
4072
5633
|
|
4073
5634
|
# Update properties of this object
|
4074
5635
|
def update!(**args)
|
5636
|
+
@additional_node_network_configs = args[:additional_node_network_configs] if args.key?(:additional_node_network_configs)
|
5637
|
+
@additional_pod_network_configs = args[:additional_pod_network_configs] if args.key?(:additional_pod_network_configs)
|
4075
5638
|
@create_pod_range = args[:create_pod_range] if args.key?(:create_pod_range)
|
4076
5639
|
@enable_private_nodes = args[:enable_private_nodes] if args.key?(:enable_private_nodes)
|
4077
5640
|
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
5641
|
+
@pod_cidr_overprovision_config = args[:pod_cidr_overprovision_config] if args.key?(:pod_cidr_overprovision_config)
|
4078
5642
|
@pod_ipv4_cidr_block = args[:pod_ipv4_cidr_block] if args.key?(:pod_ipv4_cidr_block)
|
5643
|
+
@pod_ipv4_range_utilization = args[:pod_ipv4_range_utilization] if args.key?(:pod_ipv4_range_utilization)
|
4079
5644
|
@pod_range = args[:pod_range] if args.key?(:pod_range)
|
4080
5645
|
end
|
4081
5646
|
end
|
@@ -4085,29 +5650,26 @@ module Google
|
|
4085
5650
|
# specification, under the control of the cluster master. They may have a set of
|
4086
5651
|
# Kubernetes labels applied to them, which may be used to reference them during
|
4087
5652
|
# pod scheduling. They may also be resized up or down, to accommodate the
|
4088
|
-
# workload.
|
4089
|
-
# level of disruption caused by an upgrade. maxUnavailable controls the number
|
4090
|
-
# of nodes that can be simultaneously unavailable. maxSurge controls the number
|
4091
|
-
# of additional nodes that can be added to the node pool temporarily for the
|
4092
|
-
# time of the upgrade to increase the number of available nodes. (maxUnavailable
|
4093
|
-
# + maxSurge) determines the level of parallelism (how many nodes are being
|
4094
|
-
# upgraded at the same time). Note: upgrades inevitably introduce some
|
4095
|
-
# disruption since workloads need to be moved from old nodes to new, upgraded
|
4096
|
-
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
4097
|
-
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
4098
|
-
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
4099
|
-
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
4100
|
-
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
4101
|
-
# same time. This ensures that there are always at least 4 nodes available.
|
5653
|
+
# workload.
|
4102
5654
|
class NodePool
|
4103
5655
|
include Google::Apis::Core::Hashable
|
4104
5656
|
|
5657
|
+
# AutopilotConfig contains configuration of autopilot feature for this nodepool.
|
5658
|
+
# Corresponds to the JSON property `autopilotConfig`
|
5659
|
+
# @return [Google::Apis::ContainerV1beta1::AutopilotConfig]
|
5660
|
+
attr_accessor :autopilot_config
|
5661
|
+
|
4105
5662
|
# NodePoolAutoscaling contains information required by cluster autoscaler to
|
4106
5663
|
# adjust the size of the node pool to the current cluster usage.
|
4107
5664
|
# Corresponds to the JSON property `autoscaling`
|
4108
5665
|
# @return [Google::Apis::ContainerV1beta1::NodePoolAutoscaling]
|
4109
5666
|
attr_accessor :autoscaling
|
4110
5667
|
|
5668
|
+
# Best effort provisioning.
|
5669
|
+
# Corresponds to the JSON property `bestEffortProvisioning`
|
5670
|
+
# @return [Google::Apis::ContainerV1beta1::BestEffortProvisioning]
|
5671
|
+
attr_accessor :best_effort_provisioning
|
5672
|
+
|
4111
5673
|
# Which conditions caused the current node pool state.
|
4112
5674
|
# Corresponds to the JSON property `conditions`
|
4113
5675
|
# @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
|
@@ -4135,7 +5697,7 @@ module Google
|
|
4135
5697
|
# @return [Fixnum]
|
4136
5698
|
attr_accessor :initial_node_count
|
4137
5699
|
|
4138
|
-
#
|
5700
|
+
# Output only. The resource URLs of the [managed instance groups](https://cloud.
|
4139
5701
|
# google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
|
4140
5702
|
# associated with this node pool. During the node pool blue-green upgrade
|
4141
5703
|
# operation, the URLs contain both blue and green resources.
|
@@ -4179,22 +5741,27 @@ module Google
|
|
4179
5741
|
# @return [Google::Apis::ContainerV1beta1::PlacementPolicy]
|
4180
5742
|
attr_accessor :placement_policy
|
4181
5743
|
|
4182
|
-
#
|
5744
|
+
# Output only. The pod CIDR block size per node in this node pool.
|
4183
5745
|
# Corresponds to the JSON property `podIpv4CidrSize`
|
4184
5746
|
# @return [Fixnum]
|
4185
5747
|
attr_accessor :pod_ipv4_cidr_size
|
4186
5748
|
|
4187
|
-
#
|
5749
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
5750
|
+
# Corresponds to the JSON property `queuedProvisioning`
|
5751
|
+
# @return [Google::Apis::ContainerV1beta1::QueuedProvisioning]
|
5752
|
+
attr_accessor :queued_provisioning
|
5753
|
+
|
5754
|
+
# Output only. Server-defined URL for the resource.
|
4188
5755
|
# Corresponds to the JSON property `selfLink`
|
4189
5756
|
# @return [String]
|
4190
5757
|
attr_accessor :self_link
|
4191
5758
|
|
4192
|
-
#
|
5759
|
+
# Output only. The status of the nodes in this pool instance.
|
4193
5760
|
# Corresponds to the JSON property `status`
|
4194
5761
|
# @return [String]
|
4195
5762
|
attr_accessor :status
|
4196
5763
|
|
4197
|
-
#
|
5764
|
+
# Output only. Deprecated. Use conditions instead. Additional information about
|
4198
5765
|
# the current status of this node pool instance, if available.
|
4199
5766
|
# Corresponds to the JSON property `statusMessage`
|
4200
5767
|
# @return [String]
|
@@ -4206,6 +5773,20 @@ module Google
|
|
4206
5773
|
# @return [Google::Apis::ContainerV1beta1::UpdateInfo]
|
4207
5774
|
attr_accessor :update_info
|
4208
5775
|
|
5776
|
+
# These upgrade settings control the level of parallelism and the level of
|
5777
|
+
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
5778
|
+
# that can be simultaneously unavailable. maxSurge controls the number of
|
5779
|
+
# additional nodes that can be added to the node pool temporarily for the time
|
5780
|
+
# of the upgrade to increase the number of available nodes. (maxUnavailable +
|
5781
|
+
# maxSurge) determines the level of parallelism (how many nodes are being
|
5782
|
+
# upgraded at the same time). Note: upgrades inevitably introduce some
|
5783
|
+
# disruption since workloads need to be moved from old nodes to new, upgraded
|
5784
|
+
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
5785
|
+
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
5786
|
+
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
5787
|
+
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
5788
|
+
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
5789
|
+
# same time. This ensures that there are always at least 4 nodes available.
|
4209
5790
|
# These upgrade settings configure the upgrade strategy for the node pool. Use
|
4210
5791
|
# strategy to switch between the strategies applied to the node pool. If the
|
4211
5792
|
# strategy is SURGE, use max_surge and max_unavailable to control the level of
|
@@ -4227,7 +5808,9 @@ module Google
|
|
4227
5808
|
# @return [Google::Apis::ContainerV1beta1::UpgradeSettings]
|
4228
5809
|
attr_accessor :upgrade_settings
|
4229
5810
|
|
4230
|
-
# The version of
|
5811
|
+
# The version of Kubernetes running on this NodePool's nodes. If unspecified, it
|
5812
|
+
# defaults as described [here](https://cloud.google.com/kubernetes-engine/
|
5813
|
+
# versioning#specifying_node_version).
|
4231
5814
|
# Corresponds to the JSON property `version`
|
4232
5815
|
# @return [String]
|
4233
5816
|
attr_accessor :version
|
@@ -4238,7 +5821,9 @@ module Google
|
|
4238
5821
|
|
4239
5822
|
# Update properties of this object
|
4240
5823
|
def update!(**args)
|
5824
|
+
@autopilot_config = args[:autopilot_config] if args.key?(:autopilot_config)
|
4241
5825
|
@autoscaling = args[:autoscaling] if args.key?(:autoscaling)
|
5826
|
+
@best_effort_provisioning = args[:best_effort_provisioning] if args.key?(:best_effort_provisioning)
|
4242
5827
|
@conditions = args[:conditions] if args.key?(:conditions)
|
4243
5828
|
@config = args[:config] if args.key?(:config)
|
4244
5829
|
@etag = args[:etag] if args.key?(:etag)
|
@@ -4251,6 +5836,7 @@ module Google
|
|
4251
5836
|
@network_config = args[:network_config] if args.key?(:network_config)
|
4252
5837
|
@placement_policy = args[:placement_policy] if args.key?(:placement_policy)
|
4253
5838
|
@pod_ipv4_cidr_size = args[:pod_ipv4_cidr_size] if args.key?(:pod_ipv4_cidr_size)
|
5839
|
+
@queued_provisioning = args[:queued_provisioning] if args.key?(:queued_provisioning)
|
4254
5840
|
@self_link = args[:self_link] if args.key?(:self_link)
|
4255
5841
|
@status = args[:status] if args.key?(:status)
|
4256
5842
|
@status_message = args[:status_message] if args.key?(:status_message)
|
@@ -4265,6 +5851,11 @@ module Google
|
|
4265
5851
|
class NodePoolAutoConfig
|
4266
5852
|
include Google::Apis::Core::Hashable
|
4267
5853
|
|
5854
|
+
# Parameters that can be configured on Linux nodes.
|
5855
|
+
# Corresponds to the JSON property `linuxNodeConfig`
|
5856
|
+
# @return [Google::Apis::ContainerV1beta1::LinuxNodeConfig]
|
5857
|
+
attr_accessor :linux_node_config
|
5858
|
+
|
4268
5859
|
# Collection of Compute Engine network tags that can be applied to a node's
|
4269
5860
|
# underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/
|
4270
5861
|
# docs/reference/rest/v1/NodeConfig)).
|
@@ -4272,13 +5863,30 @@ module Google
|
|
4272
5863
|
# @return [Google::Apis::ContainerV1beta1::NetworkTags]
|
4273
5864
|
attr_accessor :network_tags
|
4274
5865
|
|
5866
|
+
# Node kubelet configs.
|
5867
|
+
# Corresponds to the JSON property `nodeKubeletConfig`
|
5868
|
+
# @return [Google::Apis::ContainerV1beta1::NodeKubeletConfig]
|
5869
|
+
attr_accessor :node_kubelet_config
|
5870
|
+
|
5871
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
5872
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
5873
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
5874
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
5875
|
+
# specified. Existing tags will be replaced with new values.
|
5876
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
5877
|
+
# @return [Google::Apis::ContainerV1beta1::ResourceManagerTags]
|
5878
|
+
attr_accessor :resource_manager_tags
|
5879
|
+
|
4275
5880
|
def initialize(**args)
|
4276
5881
|
update!(**args)
|
4277
5882
|
end
|
4278
5883
|
|
4279
5884
|
# Update properties of this object
|
4280
5885
|
def update!(**args)
|
5886
|
+
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
4281
5887
|
@network_tags = args[:network_tags] if args.key?(:network_tags)
|
5888
|
+
@node_kubelet_config = args[:node_kubelet_config] if args.key?(:node_kubelet_config)
|
5889
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
4282
5890
|
end
|
4283
5891
|
end
|
4284
5892
|
|
@@ -4304,19 +5912,19 @@ module Google
|
|
4304
5912
|
# @return [String]
|
4305
5913
|
attr_accessor :location_policy
|
4306
5914
|
|
4307
|
-
# Maximum number of nodes for one location in the
|
5915
|
+
# Maximum number of nodes for one location in the node pool. Must be >=
|
4308
5916
|
# min_node_count. There has to be enough quota to scale up the cluster.
|
4309
5917
|
# Corresponds to the JSON property `maxNodeCount`
|
4310
5918
|
# @return [Fixnum]
|
4311
5919
|
attr_accessor :max_node_count
|
4312
5920
|
|
4313
|
-
# Minimum number of nodes for one location in the
|
4314
|
-
# max_node_count.
|
5921
|
+
# Minimum number of nodes for one location in the node pool. Must be greater
|
5922
|
+
# than or equal to 0 and less than or equal to max_node_count.
|
4315
5923
|
# Corresponds to the JSON property `minNodeCount`
|
4316
5924
|
# @return [Fixnum]
|
4317
5925
|
attr_accessor :min_node_count
|
4318
5926
|
|
4319
|
-
# Maximum number of nodes in the node pool. Must be greater than
|
5927
|
+
# Maximum number of nodes in the node pool. Must be greater than or equal to
|
4320
5928
|
# total_min_node_count. There has to be enough quota to scale up the cluster.
|
4321
5929
|
# The total_*_node_count fields are mutually exclusive with the *_node_count
|
4322
5930
|
# fields.
|
@@ -4324,9 +5932,9 @@ module Google
|
|
4324
5932
|
# @return [Fixnum]
|
4325
5933
|
attr_accessor :total_max_node_count
|
4326
5934
|
|
4327
|
-
# Minimum number of nodes in the node pool. Must be greater than
|
4328
|
-
# total_max_node_count. The total_*_node_count fields
|
4329
|
-
# with the *_node_count fields.
|
5935
|
+
# Minimum number of nodes in the node pool. Must be greater than or equal to 0
|
5936
|
+
# and less than or equal to total_max_node_count. The total_*_node_count fields
|
5937
|
+
# are mutually exclusive with the *_node_count fields.
|
4330
5938
|
# Corresponds to the JSON property `totalMinNodeCount`
|
4331
5939
|
# @return [Fixnum]
|
4332
5940
|
attr_accessor :total_min_node_count
|
@@ -4385,7 +5993,62 @@ module Google
|
|
4385
5993
|
end
|
4386
5994
|
end
|
4387
5995
|
|
4388
|
-
#
|
5996
|
+
# NodePoolUpgradeInfo contains the upgrade information of a nodepool.
|
5997
|
+
class NodePoolUpgradeInfo
|
5998
|
+
include Google::Apis::Core::Hashable
|
5999
|
+
|
6000
|
+
# The auto upgrade status.
|
6001
|
+
# Corresponds to the JSON property `autoUpgradeStatus`
|
6002
|
+
# @return [Array<String>]
|
6003
|
+
attr_accessor :auto_upgrade_status
|
6004
|
+
|
6005
|
+
# The nodepool's current minor version's end of extended support timestamp.
|
6006
|
+
# Corresponds to the JSON property `endOfExtendedSupportTimestamp`
|
6007
|
+
# @return [String]
|
6008
|
+
attr_accessor :end_of_extended_support_timestamp
|
6009
|
+
|
6010
|
+
# The nodepool's current minor version's end of standard support timestamp.
|
6011
|
+
# Corresponds to the JSON property `endOfStandardSupportTimestamp`
|
6012
|
+
# @return [String]
|
6013
|
+
attr_accessor :end_of_standard_support_timestamp
|
6014
|
+
|
6015
|
+
# minor_target_version indicates the target version for minor upgrade.
|
6016
|
+
# Corresponds to the JSON property `minorTargetVersion`
|
6017
|
+
# @return [String]
|
6018
|
+
attr_accessor :minor_target_version
|
6019
|
+
|
6020
|
+
# patch_target_version indicates the target version for patch upgrade.
|
6021
|
+
# Corresponds to the JSON property `patchTargetVersion`
|
6022
|
+
# @return [String]
|
6023
|
+
attr_accessor :patch_target_version
|
6024
|
+
|
6025
|
+
# The auto upgrade paused reason.
|
6026
|
+
# Corresponds to the JSON property `pausedReason`
|
6027
|
+
# @return [Array<String>]
|
6028
|
+
attr_accessor :paused_reason
|
6029
|
+
|
6030
|
+
# The list of past auto upgrades.
|
6031
|
+
# Corresponds to the JSON property `upgradeDetails`
|
6032
|
+
# @return [Array<Google::Apis::ContainerV1beta1::UpgradeDetails>]
|
6033
|
+
attr_accessor :upgrade_details
|
6034
|
+
|
6035
|
+
def initialize(**args)
|
6036
|
+
update!(**args)
|
6037
|
+
end
|
6038
|
+
|
6039
|
+
# Update properties of this object
|
6040
|
+
def update!(**args)
|
6041
|
+
@auto_upgrade_status = args[:auto_upgrade_status] if args.key?(:auto_upgrade_status)
|
6042
|
+
@end_of_extended_support_timestamp = args[:end_of_extended_support_timestamp] if args.key?(:end_of_extended_support_timestamp)
|
6043
|
+
@end_of_standard_support_timestamp = args[:end_of_standard_support_timestamp] if args.key?(:end_of_standard_support_timestamp)
|
6044
|
+
@minor_target_version = args[:minor_target_version] if args.key?(:minor_target_version)
|
6045
|
+
@patch_target_version = args[:patch_target_version] if args.key?(:patch_target_version)
|
6046
|
+
@paused_reason = args[:paused_reason] if args.key?(:paused_reason)
|
6047
|
+
@upgrade_details = args[:upgrade_details] if args.key?(:upgrade_details)
|
6048
|
+
end
|
6049
|
+
end
|
6050
|
+
|
6051
|
+
# Kubernetes taint is composed of three fields: key, value, and effect. Effect
|
4389
6052
|
# can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See
|
4390
6053
|
# [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
|
4391
6054
|
# for more information, including usage and the valid values.
|
@@ -4469,12 +6132,12 @@ module Google
|
|
4469
6132
|
# @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
|
4470
6133
|
attr_accessor :cluster_conditions
|
4471
6134
|
|
4472
|
-
# Detailed operation progress, if available.
|
6135
|
+
# Output only. Detailed operation progress, if available.
|
4473
6136
|
# Corresponds to the JSON property `detail`
|
4474
6137
|
# @return [String]
|
4475
6138
|
attr_accessor :detail
|
4476
6139
|
|
4477
|
-
#
|
6140
|
+
# Output only. The time the operation completed, in [RFC3339](https://www.ietf.
|
4478
6141
|
# org/rfc/rfc3339.txt) text format.
|
4479
6142
|
# Corresponds to the JSON property `endTime`
|
4480
6143
|
# @return [String]
|
@@ -4490,15 +6153,15 @@ module Google
|
|
4490
6153
|
# @return [Google::Apis::ContainerV1beta1::Status]
|
4491
6154
|
attr_accessor :error
|
4492
6155
|
|
4493
|
-
#
|
4494
|
-
#
|
4495
|
-
#
|
4496
|
-
#
|
6156
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
6157
|
+
# com/compute/docs/regions-zones/regions-zones#available) or [region](https://
|
6158
|
+
# cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
|
6159
|
+
# the cluster resides.
|
4497
6160
|
# Corresponds to the JSON property `location`
|
4498
6161
|
# @return [String]
|
4499
6162
|
attr_accessor :location
|
4500
6163
|
|
4501
|
-
# The server-assigned ID for the operation.
|
6164
|
+
# Output only. The server-assigned ID for the operation.
|
4502
6165
|
# Corresponds to the JSON property `name`
|
4503
6166
|
# @return [String]
|
4504
6167
|
attr_accessor :name
|
@@ -4509,7 +6172,7 @@ module Google
|
|
4509
6172
|
# @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
|
4510
6173
|
attr_accessor :nodepool_conditions
|
4511
6174
|
|
4512
|
-
# The operation type.
|
6175
|
+
# Output only. The operation type.
|
4513
6176
|
# Corresponds to the JSON property `operationType`
|
4514
6177
|
# @return [String]
|
4515
6178
|
attr_accessor :operation_type
|
@@ -4519,18 +6182,20 @@ module Google
|
|
4519
6182
|
# @return [Google::Apis::ContainerV1beta1::OperationProgress]
|
4520
6183
|
attr_accessor :progress
|
4521
6184
|
|
4522
|
-
# Server-defined
|
6185
|
+
# Output only. Server-defined URI for the operation. Example: `https://container.
|
6186
|
+
# googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/
|
6187
|
+
# operation-123`.
|
4523
6188
|
# Corresponds to the JSON property `selfLink`
|
4524
6189
|
# @return [String]
|
4525
6190
|
attr_accessor :self_link
|
4526
6191
|
|
4527
|
-
#
|
4528
|
-
#
|
6192
|
+
# Output only. The time the operation started, in [RFC3339](https://www.ietf.org/
|
6193
|
+
# rfc/rfc3339.txt) text format.
|
4529
6194
|
# Corresponds to the JSON property `startTime`
|
4530
6195
|
# @return [String]
|
4531
6196
|
attr_accessor :start_time
|
4532
6197
|
|
4533
|
-
# The current status of the operation.
|
6198
|
+
# Output only. The current status of the operation.
|
4534
6199
|
# Corresponds to the JSON property `status`
|
4535
6200
|
# @return [String]
|
4536
6201
|
attr_accessor :status
|
@@ -4541,14 +6206,21 @@ module Google
|
|
4541
6206
|
# @return [String]
|
4542
6207
|
attr_accessor :status_message
|
4543
6208
|
|
4544
|
-
# Server-defined
|
6209
|
+
# Output only. Server-defined URI for the target of the operation. The format of
|
6210
|
+
# this is a URI to the resource being modified (such as a cluster, node pool, or
|
6211
|
+
# node). For node pool repairs, there may be multiple nodes being repaired, but
|
6212
|
+
# only one will be the target. Examples: - ## `https://container.googleapis.com/
|
6213
|
+
# v1/projects/123/locations/us-central1/clusters/my-cluster` ## `https://
|
6214
|
+
# container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-
|
6215
|
+
# cluster/nodePools/my-np` `https://container.googleapis.com/v1/projects/123/
|
6216
|
+
# zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node`
|
4545
6217
|
# Corresponds to the JSON property `targetLink`
|
4546
6218
|
# @return [String]
|
4547
6219
|
attr_accessor :target_link
|
4548
6220
|
|
4549
|
-
# The name of the Google Compute Engine [zone](https://cloud.google.
|
4550
|
-
# docs/zones#available) in which the operation is taking place. This
|
4551
|
-
# deprecated, use location instead.
|
6221
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
6222
|
+
# com/compute/docs/zones#available) in which the operation is taking place. This
|
6223
|
+
# field is deprecated, use location instead.
|
4552
6224
|
# Corresponds to the JSON property `zone`
|
4553
6225
|
# @return [String]
|
4554
6226
|
attr_accessor :zone
|
@@ -4577,13 +6249,45 @@ module Google
|
|
4577
6249
|
end
|
4578
6250
|
end
|
4579
6251
|
|
4580
|
-
#
|
4581
|
-
|
6252
|
+
# OperationError records errors seen from CloudKMS keys encountered during
|
6253
|
+
# updates to DatabaseEncryption configuration.
|
6254
|
+
class OperationError
|
4582
6255
|
include Google::Apis::Core::Hashable
|
4583
6256
|
|
4584
|
-
#
|
4585
|
-
#
|
4586
|
-
#
|
6257
|
+
# Description of the error seen during the operation.
|
6258
|
+
# Corresponds to the JSON property `errorMessage`
|
6259
|
+
# @return [String]
|
6260
|
+
attr_accessor :error_message
|
6261
|
+
|
6262
|
+
# CloudKMS key resource that had the error.
|
6263
|
+
# Corresponds to the JSON property `keyName`
|
6264
|
+
# @return [String]
|
6265
|
+
attr_accessor :key_name
|
6266
|
+
|
6267
|
+
# Time when the CloudKMS error was seen.
|
6268
|
+
# Corresponds to the JSON property `timestamp`
|
6269
|
+
# @return [String]
|
6270
|
+
attr_accessor :timestamp
|
6271
|
+
|
6272
|
+
def initialize(**args)
|
6273
|
+
update!(**args)
|
6274
|
+
end
|
6275
|
+
|
6276
|
+
# Update properties of this object
|
6277
|
+
def update!(**args)
|
6278
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
6279
|
+
@key_name = args[:key_name] if args.key?(:key_name)
|
6280
|
+
@timestamp = args[:timestamp] if args.key?(:timestamp)
|
6281
|
+
end
|
6282
|
+
end
|
6283
|
+
|
6284
|
+
# Information about operation (or operation stage) progress.
|
6285
|
+
class OperationProgress
|
6286
|
+
include Google::Apis::Core::Hashable
|
6287
|
+
|
6288
|
+
# Progress metric bundle, for example: metrics: [`name: "nodes done", int_value:
|
6289
|
+
# 15`, `name: "nodes total", int_value: 32`] or metrics: [`name: "progress",
|
6290
|
+
# double_value: 0.56`, `name: "progress scale", double_value: 1.0`]
|
4587
6291
|
# Corresponds to the JSON property `metrics`
|
4588
6292
|
# @return [Array<Google::Apis::ContainerV1beta1::Metric>]
|
4589
6293
|
attr_accessor :metrics
|
@@ -4617,10 +6321,107 @@ module Google
|
|
4617
6321
|
end
|
4618
6322
|
end
|
4619
6323
|
|
6324
|
+
# Strategy that will trigger maintenance on behalf of the customer.
|
6325
|
+
class OpportunisticMaintenanceStrategy
|
6326
|
+
include Google::Apis::Core::Hashable
|
6327
|
+
|
6328
|
+
# The window of time that opportunistic maintenance can run. Example: A setting
|
6329
|
+
# of 14 days implies that opportunistic maintenance can only be ran in the 2
|
6330
|
+
# weeks leading up to the scheduled maintenance date. Setting 28 days allows
|
6331
|
+
# opportunistic maintenance to run at any time in the scheduled maintenance
|
6332
|
+
# window (all `PERIODIC` maintenance is set 28 days in advance).
|
6333
|
+
# Corresponds to the JSON property `maintenanceAvailabilityWindow`
|
6334
|
+
# @return [String]
|
6335
|
+
attr_accessor :maintenance_availability_window
|
6336
|
+
|
6337
|
+
# The minimum nodes required to be available in a pool. Blocks maintenance if it
|
6338
|
+
# would cause the number of running nodes to dip below this value.
|
6339
|
+
# Corresponds to the JSON property `minNodesPerPool`
|
6340
|
+
# @return [Fixnum]
|
6341
|
+
attr_accessor :min_nodes_per_pool
|
6342
|
+
|
6343
|
+
# The amount of time that a node can remain idle (no customer owned workloads
|
6344
|
+
# running), before triggering maintenance.
|
6345
|
+
# Corresponds to the JSON property `nodeIdleTimeWindow`
|
6346
|
+
# @return [String]
|
6347
|
+
attr_accessor :node_idle_time_window
|
6348
|
+
|
6349
|
+
def initialize(**args)
|
6350
|
+
update!(**args)
|
6351
|
+
end
|
6352
|
+
|
6353
|
+
# Update properties of this object
|
6354
|
+
def update!(**args)
|
6355
|
+
@maintenance_availability_window = args[:maintenance_availability_window] if args.key?(:maintenance_availability_window)
|
6356
|
+
@min_nodes_per_pool = args[:min_nodes_per_pool] if args.key?(:min_nodes_per_pool)
|
6357
|
+
@node_idle_time_window = args[:node_idle_time_window] if args.key?(:node_idle_time_window)
|
6358
|
+
end
|
6359
|
+
end
|
6360
|
+
|
6361
|
+
# Configuration for the Cloud Storage Parallelstore CSI driver.
|
6362
|
+
class ParallelstoreCsiDriverConfig
|
6363
|
+
include Google::Apis::Core::Hashable
|
6364
|
+
|
6365
|
+
# Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster.
|
6366
|
+
# Corresponds to the JSON property `enabled`
|
6367
|
+
# @return [Boolean]
|
6368
|
+
attr_accessor :enabled
|
6369
|
+
alias_method :enabled?, :enabled
|
6370
|
+
|
6371
|
+
def initialize(**args)
|
6372
|
+
update!(**args)
|
6373
|
+
end
|
6374
|
+
|
6375
|
+
# Update properties of this object
|
6376
|
+
def update!(**args)
|
6377
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6378
|
+
end
|
6379
|
+
end
|
6380
|
+
|
6381
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
6382
|
+
# This field is used by Google internal products that are built on top of a GKE
|
6383
|
+
# cluster and take the ownership of the cluster.
|
6384
|
+
class ParentProductConfig
|
6385
|
+
include Google::Apis::Core::Hashable
|
6386
|
+
|
6387
|
+
# Labels contain the configuration of the parent product.
|
6388
|
+
# Corresponds to the JSON property `labels`
|
6389
|
+
# @return [Hash<String,String>]
|
6390
|
+
attr_accessor :labels
|
6391
|
+
|
6392
|
+
# Name of the parent product associated with the cluster.
|
6393
|
+
# Corresponds to the JSON property `productName`
|
6394
|
+
# @return [String]
|
6395
|
+
attr_accessor :product_name
|
6396
|
+
|
6397
|
+
def initialize(**args)
|
6398
|
+
update!(**args)
|
6399
|
+
end
|
6400
|
+
|
6401
|
+
# Update properties of this object
|
6402
|
+
def update!(**args)
|
6403
|
+
@labels = args[:labels] if args.key?(:labels)
|
6404
|
+
@product_name = args[:product_name] if args.key?(:product_name)
|
6405
|
+
end
|
6406
|
+
end
|
6407
|
+
|
4620
6408
|
# PlacementPolicy defines the placement policy used by the node pool.
|
4621
6409
|
class PlacementPolicy
|
4622
6410
|
include Google::Apis::Core::Hashable
|
4623
6411
|
|
6412
|
+
# If set, refers to the name of a custom resource policy supplied by the user.
|
6413
|
+
# The resource policy must be in the same project and region as the node pool.
|
6414
|
+
# If not found, InvalidArgument error is returned.
|
6415
|
+
# Corresponds to the JSON property `policyName`
|
6416
|
+
# @return [String]
|
6417
|
+
attr_accessor :policy_name
|
6418
|
+
|
6419
|
+
# TPU placement topology for pod slice node pool. https://cloud.google.com/tpu/
|
6420
|
+
# docs/types-topologies#tpu_topologies
|
6421
|
+
# Corresponds to the JSON property `tpuTopology`
|
6422
|
+
# @return [String]
|
6423
|
+
attr_accessor :tpu_topology
|
6424
|
+
|
4624
6425
|
# The type of placement.
|
4625
6426
|
# Corresponds to the JSON property `type`
|
4626
6427
|
# @return [String]
|
@@ -4632,10 +6433,53 @@ module Google
|
|
4632
6433
|
|
4633
6434
|
# Update properties of this object
|
4634
6435
|
def update!(**args)
|
6436
|
+
@policy_name = args[:policy_name] if args.key?(:policy_name)
|
6437
|
+
@tpu_topology = args[:tpu_topology] if args.key?(:tpu_topology)
|
4635
6438
|
@type = args[:type] if args.key?(:type)
|
4636
6439
|
end
|
4637
6440
|
end
|
4638
6441
|
|
6442
|
+
# PodAutoscaling is used for configuration of parameters for workload
|
6443
|
+
# autoscaling.
|
6444
|
+
class PodAutoscaling
|
6445
|
+
include Google::Apis::Core::Hashable
|
6446
|
+
|
6447
|
+
# Selected Horizontal Pod Autoscaling profile.
|
6448
|
+
# Corresponds to the JSON property `hpaProfile`
|
6449
|
+
# @return [String]
|
6450
|
+
attr_accessor :hpa_profile
|
6451
|
+
|
6452
|
+
def initialize(**args)
|
6453
|
+
update!(**args)
|
6454
|
+
end
|
6455
|
+
|
6456
|
+
# Update properties of this object
|
6457
|
+
def update!(**args)
|
6458
|
+
@hpa_profile = args[:hpa_profile] if args.key?(:hpa_profile)
|
6459
|
+
end
|
6460
|
+
end
|
6461
|
+
|
6462
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
6463
|
+
class PodCidrOverprovisionConfig
|
6464
|
+
include Google::Apis::Core::Hashable
|
6465
|
+
|
6466
|
+
# Whether Pod CIDR overprovisioning is disabled. Note: Pod CIDR overprovisioning
|
6467
|
+
# is enabled by default.
|
6468
|
+
# Corresponds to the JSON property `disable`
|
6469
|
+
# @return [Boolean]
|
6470
|
+
attr_accessor :disable
|
6471
|
+
alias_method :disable?, :disable
|
6472
|
+
|
6473
|
+
def initialize(**args)
|
6474
|
+
update!(**args)
|
6475
|
+
end
|
6476
|
+
|
6477
|
+
# Update properties of this object
|
6478
|
+
def update!(**args)
|
6479
|
+
@disable = args[:disable] if args.key?(:disable)
|
6480
|
+
end
|
6481
|
+
end
|
6482
|
+
|
4639
6483
|
# Configuration for the PodSecurityPolicy feature.
|
4640
6484
|
class PodSecurityPolicyConfig
|
4641
6485
|
include Google::Apis::Core::Hashable
|
@@ -4657,11 +6501,35 @@ module Google
|
|
4657
6501
|
end
|
4658
6502
|
end
|
4659
6503
|
|
6504
|
+
# Binauthz policy that applies to this cluster.
|
6505
|
+
class PolicyBinding
|
6506
|
+
include Google::Apis::Core::Hashable
|
6507
|
+
|
6508
|
+
# The relative resource name of the binauthz platform policy to evaluate. GKE
|
6509
|
+
# platform policies have the following format: `projects/`project_number`/
|
6510
|
+
# platforms/gke/policies/`policy_id``.
|
6511
|
+
# Corresponds to the JSON property `name`
|
6512
|
+
# @return [String]
|
6513
|
+
attr_accessor :name
|
6514
|
+
|
6515
|
+
def initialize(**args)
|
6516
|
+
update!(**args)
|
6517
|
+
end
|
6518
|
+
|
6519
|
+
# Update properties of this object
|
6520
|
+
def update!(**args)
|
6521
|
+
@name = args[:name] if args.key?(:name)
|
6522
|
+
end
|
6523
|
+
end
|
6524
|
+
|
4660
6525
|
# Configuration options for private clusters.
|
4661
6526
|
class PrivateClusterConfig
|
4662
6527
|
include Google::Apis::Core::Hashable
|
4663
6528
|
|
4664
|
-
# Whether the master's internal IP address is used as the cluster endpoint.
|
6529
|
+
# Whether the master's internal IP address is used as the cluster endpoint. Use
|
6530
|
+
# ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead.
|
6531
|
+
# Note that the value of enable_public_endpoint is reversed: if
|
6532
|
+
# enable_private_endpoint is false, then enable_public_endpoint will be true.
|
4665
6533
|
# Corresponds to the JSON property `enablePrivateEndpoint`
|
4666
6534
|
# @return [Boolean]
|
4667
6535
|
attr_accessor :enable_private_endpoint
|
@@ -4669,7 +6537,7 @@ module Google
|
|
4669
6537
|
|
4670
6538
|
# Whether nodes have internal IP addresses only. If enabled, all nodes are given
|
4671
6539
|
# only RFC 1918 private addresses and communicate with the master via private
|
4672
|
-
# networking.
|
6540
|
+
# networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.
|
4673
6541
|
# Corresponds to the JSON property `enablePrivateNodes`
|
4674
6542
|
# @return [Boolean]
|
4675
6543
|
attr_accessor :enable_private_nodes
|
@@ -4694,17 +6562,23 @@ module Google
|
|
4694
6562
|
attr_accessor :peering_name
|
4695
6563
|
|
4696
6564
|
# Output only. The internal IP address of this cluster's master endpoint.
|
6565
|
+
# Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint
|
6566
|
+
# instead.
|
4697
6567
|
# Corresponds to the JSON property `privateEndpoint`
|
4698
6568
|
# @return [String]
|
4699
6569
|
attr_accessor :private_endpoint
|
4700
6570
|
|
4701
6571
|
# Subnet to provision the master's private endpoint during cluster creation.
|
4702
|
-
# Specified in projects/*/regions/*/subnetworks/* format.
|
6572
|
+
# Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use
|
6573
|
+
# ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork
|
6574
|
+
# instead.
|
4703
6575
|
# Corresponds to the JSON property `privateEndpointSubnetwork`
|
4704
6576
|
# @return [String]
|
4705
6577
|
attr_accessor :private_endpoint_subnetwork
|
4706
6578
|
|
4707
6579
|
# Output only. The external IP address of this cluster's master endpoint.
|
6580
|
+
# Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint
|
6581
|
+
# instead.
|
4708
6582
|
# Corresponds to the JSON property `publicEndpoint`
|
4709
6583
|
# @return [String]
|
4710
6584
|
attr_accessor :public_endpoint
|
@@ -4746,6 +6620,33 @@ module Google
|
|
4746
6620
|
end
|
4747
6621
|
end
|
4748
6622
|
|
6623
|
+
# PrivateRegistryAccessConfig contains access configuration for private
|
6624
|
+
# container registries.
|
6625
|
+
class PrivateRegistryAccessConfig
|
6626
|
+
include Google::Apis::Core::Hashable
|
6627
|
+
|
6628
|
+
# Private registry access configuration.
|
6629
|
+
# Corresponds to the JSON property `certificateAuthorityDomainConfig`
|
6630
|
+
# @return [Array<Google::Apis::ContainerV1beta1::CertificateAuthorityDomainConfig>]
|
6631
|
+
attr_accessor :certificate_authority_domain_config
|
6632
|
+
|
6633
|
+
# Private registry access is enabled.
|
6634
|
+
# Corresponds to the JSON property `enabled`
|
6635
|
+
# @return [Boolean]
|
6636
|
+
attr_accessor :enabled
|
6637
|
+
alias_method :enabled?, :enabled
|
6638
|
+
|
6639
|
+
def initialize(**args)
|
6640
|
+
update!(**args)
|
6641
|
+
end
|
6642
|
+
|
6643
|
+
# Update properties of this object
|
6644
|
+
def update!(**args)
|
6645
|
+
@certificate_authority_domain_config = args[:certificate_authority_domain_config] if args.key?(:certificate_authority_domain_config)
|
6646
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6647
|
+
end
|
6648
|
+
end
|
6649
|
+
|
4749
6650
|
# ProtectConfig defines the flags needed to enable/disable features for the
|
4750
6651
|
# Protect API.
|
4751
6652
|
class ProtectConfig
|
@@ -4809,6 +6710,154 @@ module Google
|
|
4809
6710
|
end
|
4810
6711
|
end
|
4811
6712
|
|
6713
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
6714
|
+
class QueuedProvisioning
|
6715
|
+
include Google::Apis::Core::Hashable
|
6716
|
+
|
6717
|
+
# Denotes that this nodepool is QRM specific, meaning nodes can be only obtained
|
6718
|
+
# through queuing via the Cluster Autoscaler ProvisioningRequest API.
|
6719
|
+
# Corresponds to the JSON property `enabled`
|
6720
|
+
# @return [Boolean]
|
6721
|
+
attr_accessor :enabled
|
6722
|
+
alias_method :enabled?, :enabled
|
6723
|
+
|
6724
|
+
def initialize(**args)
|
6725
|
+
update!(**args)
|
6726
|
+
end
|
6727
|
+
|
6728
|
+
# Update properties of this object
|
6729
|
+
def update!(**args)
|
6730
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6731
|
+
end
|
6732
|
+
end
|
6733
|
+
|
6734
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
6735
|
+
# that can be created.
|
6736
|
+
class RbacBindingConfig
|
6737
|
+
include Google::Apis::Core::Hashable
|
6738
|
+
|
6739
|
+
# Setting this to true will allow any ClusterRoleBinding and RoleBinding with
|
6740
|
+
# subjects system:authenticated.
|
6741
|
+
# Corresponds to the JSON property `enableInsecureBindingSystemAuthenticated`
|
6742
|
+
# @return [Boolean]
|
6743
|
+
attr_accessor :enable_insecure_binding_system_authenticated
|
6744
|
+
alias_method :enable_insecure_binding_system_authenticated?, :enable_insecure_binding_system_authenticated
|
6745
|
+
|
6746
|
+
# Setting this to true will allow any ClusterRoleBinding and RoleBinding with
|
6747
|
+
# subjets system:anonymous or system:unauthenticated.
|
6748
|
+
# Corresponds to the JSON property `enableInsecureBindingSystemUnauthenticated`
|
6749
|
+
# @return [Boolean]
|
6750
|
+
attr_accessor :enable_insecure_binding_system_unauthenticated
|
6751
|
+
alias_method :enable_insecure_binding_system_unauthenticated?, :enable_insecure_binding_system_unauthenticated
|
6752
|
+
|
6753
|
+
def initialize(**args)
|
6754
|
+
update!(**args)
|
6755
|
+
end
|
6756
|
+
|
6757
|
+
# Update properties of this object
|
6758
|
+
def update!(**args)
|
6759
|
+
@enable_insecure_binding_system_authenticated = args[:enable_insecure_binding_system_authenticated] if args.key?(:enable_insecure_binding_system_authenticated)
|
6760
|
+
@enable_insecure_binding_system_unauthenticated = args[:enable_insecure_binding_system_unauthenticated] if args.key?(:enable_insecure_binding_system_unauthenticated)
|
6761
|
+
end
|
6762
|
+
end
|
6763
|
+
|
6764
|
+
# RangeInfo contains the range name and the range utilization by this cluster.
|
6765
|
+
class RangeInfo
|
6766
|
+
include Google::Apis::Core::Hashable
|
6767
|
+
|
6768
|
+
# Output only. Name of a range.
|
6769
|
+
# Corresponds to the JSON property `rangeName`
|
6770
|
+
# @return [String]
|
6771
|
+
attr_accessor :range_name
|
6772
|
+
|
6773
|
+
# Output only. The utilization of the range.
|
6774
|
+
# Corresponds to the JSON property `utilization`
|
6775
|
+
# @return [Float]
|
6776
|
+
attr_accessor :utilization
|
6777
|
+
|
6778
|
+
def initialize(**args)
|
6779
|
+
update!(**args)
|
6780
|
+
end
|
6781
|
+
|
6782
|
+
# Update properties of this object
|
6783
|
+
def update!(**args)
|
6784
|
+
@range_name = args[:range_name] if args.key?(:range_name)
|
6785
|
+
@utilization = args[:utilization] if args.key?(:utilization)
|
6786
|
+
end
|
6787
|
+
end
|
6788
|
+
|
6789
|
+
# RayClusterLoggingConfig specifies logging configuration for Ray clusters.
|
6790
|
+
class RayClusterLoggingConfig
|
6791
|
+
include Google::Apis::Core::Hashable
|
6792
|
+
|
6793
|
+
# Enable log collection for Ray clusters.
|
6794
|
+
# Corresponds to the JSON property `enabled`
|
6795
|
+
# @return [Boolean]
|
6796
|
+
attr_accessor :enabled
|
6797
|
+
alias_method :enabled?, :enabled
|
6798
|
+
|
6799
|
+
def initialize(**args)
|
6800
|
+
update!(**args)
|
6801
|
+
end
|
6802
|
+
|
6803
|
+
# Update properties of this object
|
6804
|
+
def update!(**args)
|
6805
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6806
|
+
end
|
6807
|
+
end
|
6808
|
+
|
6809
|
+
# RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
|
6810
|
+
class RayClusterMonitoringConfig
|
6811
|
+
include Google::Apis::Core::Hashable
|
6812
|
+
|
6813
|
+
# Enable metrics collection for Ray clusters.
|
6814
|
+
# Corresponds to the JSON property `enabled`
|
6815
|
+
# @return [Boolean]
|
6816
|
+
attr_accessor :enabled
|
6817
|
+
alias_method :enabled?, :enabled
|
6818
|
+
|
6819
|
+
def initialize(**args)
|
6820
|
+
update!(**args)
|
6821
|
+
end
|
6822
|
+
|
6823
|
+
# Update properties of this object
|
6824
|
+
def update!(**args)
|
6825
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6826
|
+
end
|
6827
|
+
end
|
6828
|
+
|
6829
|
+
# Configuration options for the Ray Operator add-on.
|
6830
|
+
class RayOperatorConfig
|
6831
|
+
include Google::Apis::Core::Hashable
|
6832
|
+
|
6833
|
+
# Whether the Ray addon is enabled for this cluster.
|
6834
|
+
# Corresponds to the JSON property `enabled`
|
6835
|
+
# @return [Boolean]
|
6836
|
+
attr_accessor :enabled
|
6837
|
+
alias_method :enabled?, :enabled
|
6838
|
+
|
6839
|
+
# RayClusterLoggingConfig specifies logging configuration for Ray clusters.
|
6840
|
+
# Corresponds to the JSON property `rayClusterLoggingConfig`
|
6841
|
+
# @return [Google::Apis::ContainerV1beta1::RayClusterLoggingConfig]
|
6842
|
+
attr_accessor :ray_cluster_logging_config
|
6843
|
+
|
6844
|
+
# RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
|
6845
|
+
# Corresponds to the JSON property `rayClusterMonitoringConfig`
|
6846
|
+
# @return [Google::Apis::ContainerV1beta1::RayClusterMonitoringConfig]
|
6847
|
+
attr_accessor :ray_cluster_monitoring_config
|
6848
|
+
|
6849
|
+
def initialize(**args)
|
6850
|
+
update!(**args)
|
6851
|
+
end
|
6852
|
+
|
6853
|
+
# Update properties of this object
|
6854
|
+
def update!(**args)
|
6855
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6856
|
+
@ray_cluster_logging_config = args[:ray_cluster_logging_config] if args.key?(:ray_cluster_logging_config)
|
6857
|
+
@ray_cluster_monitoring_config = args[:ray_cluster_monitoring_config] if args.key?(:ray_cluster_monitoring_config)
|
6858
|
+
end
|
6859
|
+
end
|
6860
|
+
|
4812
6861
|
# Represents an arbitrary window of time that recurs.
|
4813
6862
|
class RecurringTimeWindow
|
4814
6863
|
include Google::Apis::Core::Hashable
|
@@ -4890,6 +6939,11 @@ module Google
|
|
4890
6939
|
# @return [String]
|
4891
6940
|
attr_accessor :default_version
|
4892
6941
|
|
6942
|
+
# The auto upgrade target version for clusters on the channel.
|
6943
|
+
# Corresponds to the JSON property `upgradeTargetVersion`
|
6944
|
+
# @return [String]
|
6945
|
+
attr_accessor :upgrade_target_version
|
6946
|
+
|
4893
6947
|
# List of valid versions for the channel.
|
4894
6948
|
# Corresponds to the JSON property `validVersions`
|
4895
6949
|
# @return [Array<String>]
|
@@ -4904,6 +6958,7 @@ module Google
|
|
4904
6958
|
@available_versions = args[:available_versions] if args.key?(:available_versions)
|
4905
6959
|
@channel = args[:channel] if args.key?(:channel)
|
4906
6960
|
@default_version = args[:default_version] if args.key?(:default_version)
|
6961
|
+
@upgrade_target_version = args[:upgrade_target_version] if args.key?(:upgrade_target_version)
|
4907
6962
|
@valid_versions = args[:valid_versions] if args.key?(:valid_versions)
|
4908
6963
|
end
|
4909
6964
|
end
|
@@ -4995,6 +7050,31 @@ module Google
|
|
4995
7050
|
end
|
4996
7051
|
end
|
4997
7052
|
|
7053
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
7054
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
7055
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
7056
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
7057
|
+
# specified. Existing tags will be replaced with new values.
|
7058
|
+
class ResourceManagerTags
|
7059
|
+
include Google::Apis::Core::Hashable
|
7060
|
+
|
7061
|
+
# Tags must be in one of the following formats ([KEY]=[VALUE]) 1. `tagKeys/`
|
7062
|
+
# tag_key_id`=tagValues/`tag_value_id`` 2. ``org_id`/`tag_key_name`=`
|
7063
|
+
# tag_value_name`` 3. ``project_id`/`tag_key_name`=`tag_value_name``
|
7064
|
+
# Corresponds to the JSON property `tags`
|
7065
|
+
# @return [Hash<String,String>]
|
7066
|
+
attr_accessor :tags
|
7067
|
+
|
7068
|
+
def initialize(**args)
|
7069
|
+
update!(**args)
|
7070
|
+
end
|
7071
|
+
|
7072
|
+
# Update properties of this object
|
7073
|
+
def update!(**args)
|
7074
|
+
@tags = args[:tags] if args.key?(:tags)
|
7075
|
+
end
|
7076
|
+
end
|
7077
|
+
|
4998
7078
|
# Configuration for exporting cluster resource usages.
|
4999
7079
|
class ResourceUsageExportConfig
|
5000
7080
|
include Google::Apis::Core::Hashable
|
@@ -5097,10 +7177,71 @@ module Google
|
|
5097
7177
|
# @return [String]
|
5098
7178
|
attr_accessor :sandbox_type
|
5099
7179
|
|
5100
|
-
# Type of the sandbox to use for the node.
|
5101
|
-
# Corresponds to the JSON property `type`
|
5102
|
-
# @return [String]
|
5103
|
-
attr_accessor :type
|
7180
|
+
# Type of the sandbox to use for the node.
|
7181
|
+
# Corresponds to the JSON property `type`
|
7182
|
+
# @return [String]
|
7183
|
+
attr_accessor :type
|
7184
|
+
|
7185
|
+
def initialize(**args)
|
7186
|
+
update!(**args)
|
7187
|
+
end
|
7188
|
+
|
7189
|
+
# Update properties of this object
|
7190
|
+
def update!(**args)
|
7191
|
+
@sandbox_type = args[:sandbox_type] if args.key?(:sandbox_type)
|
7192
|
+
@type = args[:type] if args.key?(:type)
|
7193
|
+
end
|
7194
|
+
end
|
7195
|
+
|
7196
|
+
# SecondaryBootDisk represents a persistent disk attached to a node with special
|
7197
|
+
# configurations based on its mode.
|
7198
|
+
class SecondaryBootDisk
|
7199
|
+
include Google::Apis::Core::Hashable
|
7200
|
+
|
7201
|
+
# Fully-qualified resource ID for an existing disk image.
|
7202
|
+
# Corresponds to the JSON property `diskImage`
|
7203
|
+
# @return [String]
|
7204
|
+
attr_accessor :disk_image
|
7205
|
+
|
7206
|
+
# Disk mode (container image cache, etc.)
|
7207
|
+
# Corresponds to the JSON property `mode`
|
7208
|
+
# @return [String]
|
7209
|
+
attr_accessor :mode
|
7210
|
+
|
7211
|
+
def initialize(**args)
|
7212
|
+
update!(**args)
|
7213
|
+
end
|
7214
|
+
|
7215
|
+
# Update properties of this object
|
7216
|
+
def update!(**args)
|
7217
|
+
@disk_image = args[:disk_image] if args.key?(:disk_image)
|
7218
|
+
@mode = args[:mode] if args.key?(:mode)
|
7219
|
+
end
|
7220
|
+
end
|
7221
|
+
|
7222
|
+
# SecondaryBootDiskUpdateStrategy is a placeholder which will be extended in the
|
7223
|
+
# future to define different options for updating secondary boot disks.
|
7224
|
+
class SecondaryBootDiskUpdateStrategy
|
7225
|
+
include Google::Apis::Core::Hashable
|
7226
|
+
|
7227
|
+
def initialize(**args)
|
7228
|
+
update!(**args)
|
7229
|
+
end
|
7230
|
+
|
7231
|
+
# Update properties of this object
|
7232
|
+
def update!(**args)
|
7233
|
+
end
|
7234
|
+
end
|
7235
|
+
|
7236
|
+
# SecretManagerConfig is config for secret manager enablement.
|
7237
|
+
class SecretManagerConfig
|
7238
|
+
include Google::Apis::Core::Hashable
|
7239
|
+
|
7240
|
+
# Enable/Disable Secret Manager Config.
|
7241
|
+
# Corresponds to the JSON property `enabled`
|
7242
|
+
# @return [Boolean]
|
7243
|
+
attr_accessor :enabled
|
7244
|
+
alias_method :enabled?, :enabled
|
5104
7245
|
|
5105
7246
|
def initialize(**args)
|
5106
7247
|
update!(**args)
|
@@ -5108,8 +7249,7 @@ module Google
|
|
5108
7249
|
|
5109
7250
|
# Update properties of this object
|
5110
7251
|
def update!(**args)
|
5111
|
-
@
|
5112
|
-
@type = args[:type] if args.key?(:type)
|
7252
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
5113
7253
|
end
|
5114
7254
|
end
|
5115
7255
|
|
@@ -5151,6 +7291,11 @@ module Google
|
|
5151
7291
|
attr_accessor :manual_steps_required
|
5152
7292
|
alias_method :manual_steps_required?, :manual_steps_required
|
5153
7293
|
|
7294
|
+
# The GKE versions where this vulnerability is mitigated.
|
7295
|
+
# Corresponds to the JSON property `mitigatedVersions`
|
7296
|
+
# @return [Array<String>]
|
7297
|
+
attr_accessor :mitigated_versions
|
7298
|
+
|
5154
7299
|
# The GKE versions where this vulnerability is patched.
|
5155
7300
|
# Corresponds to the JSON property `patchedVersions`
|
5156
7301
|
# @return [Array<String>]
|
@@ -5189,6 +7334,7 @@ module Google
|
|
5189
7334
|
@bulletin_uri = args[:bulletin_uri] if args.key?(:bulletin_uri)
|
5190
7335
|
@cve_ids = args[:cve_ids] if args.key?(:cve_ids)
|
5191
7336
|
@manual_steps_required = args[:manual_steps_required] if args.key?(:manual_steps_required)
|
7337
|
+
@mitigated_versions = args[:mitigated_versions] if args.key?(:mitigated_versions)
|
5192
7338
|
@patched_versions = args[:patched_versions] if args.key?(:patched_versions)
|
5193
7339
|
@resource_type_affected = args[:resource_type_affected] if args.key?(:resource_type_affected)
|
5194
7340
|
@severity = args[:severity] if args.key?(:severity)
|
@@ -5196,6 +7342,32 @@ module Google
|
|
5196
7342
|
end
|
5197
7343
|
end
|
5198
7344
|
|
7345
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
7346
|
+
# the Security Posture API.
|
7347
|
+
class SecurityPostureConfig
|
7348
|
+
include Google::Apis::Core::Hashable
|
7349
|
+
|
7350
|
+
# Sets which mode to use for Security Posture features.
|
7351
|
+
# Corresponds to the JSON property `mode`
|
7352
|
+
# @return [String]
|
7353
|
+
attr_accessor :mode
|
7354
|
+
|
7355
|
+
# Sets which mode to use for vulnerability scanning.
|
7356
|
+
# Corresponds to the JSON property `vulnerabilityMode`
|
7357
|
+
# @return [String]
|
7358
|
+
attr_accessor :vulnerability_mode
|
7359
|
+
|
7360
|
+
def initialize(**args)
|
7361
|
+
update!(**args)
|
7362
|
+
end
|
7363
|
+
|
7364
|
+
# Update properties of this object
|
7365
|
+
def update!(**args)
|
7366
|
+
@mode = args[:mode] if args.key?(:mode)
|
7367
|
+
@vulnerability_mode = args[:vulnerability_mode] if args.key?(:vulnerability_mode)
|
7368
|
+
end
|
7369
|
+
end
|
7370
|
+
|
5199
7371
|
# Kubernetes Engine service configuration.
|
5200
7372
|
class ServerConfig
|
5201
7373
|
include Google::Apis::Core::Hashable
|
@@ -5655,7 +7827,7 @@ module Google
|
|
5655
7827
|
attr_accessor :cluster_id
|
5656
7828
|
|
5657
7829
|
# Required. The monitoring service the cluster should use to write metrics.
|
5658
|
-
# Currently available options: *
|
7830
|
+
# Currently available options: * `monitoring.googleapis.com/kubernetes` - The
|
5659
7831
|
# Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.
|
5660
7832
|
# googleapis.com` - The legacy Cloud Monitoring service (no longer available as
|
5661
7833
|
# of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left
|
@@ -5976,6 +8148,26 @@ module Google
|
|
5976
8148
|
end
|
5977
8149
|
end
|
5978
8150
|
|
8151
|
+
# SoleTenantConfig contains the NodeAffinities to specify what shared sole
|
8152
|
+
# tenant node groups should back the node pool.
|
8153
|
+
class SoleTenantConfig
|
8154
|
+
include Google::Apis::Core::Hashable
|
8155
|
+
|
8156
|
+
# NodeAffinities used to match to a shared sole tenant node group.
|
8157
|
+
# Corresponds to the JSON property `nodeAffinities`
|
8158
|
+
# @return [Array<Google::Apis::ContainerV1beta1::NodeAffinity>]
|
8159
|
+
attr_accessor :node_affinities
|
8160
|
+
|
8161
|
+
def initialize(**args)
|
8162
|
+
update!(**args)
|
8163
|
+
end
|
8164
|
+
|
8165
|
+
# Update properties of this object
|
8166
|
+
def update!(**args)
|
8167
|
+
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
8168
|
+
end
|
8169
|
+
end
|
8170
|
+
|
5979
8171
|
# Standard rollout policy is the default policy for blue-green.
|
5980
8172
|
class StandardRolloutPolicy
|
5981
8173
|
include Google::Apis::Core::Hashable
|
@@ -6059,6 +8251,26 @@ module Google
|
|
6059
8251
|
end
|
6060
8252
|
end
|
6061
8253
|
|
8254
|
+
# Configuration for the Stateful HA add-on.
|
8255
|
+
class StatefulHaConfig
|
8256
|
+
include Google::Apis::Core::Hashable
|
8257
|
+
|
8258
|
+
# Whether the Stateful HA add-on is enabled for this cluster.
|
8259
|
+
# Corresponds to the JSON property `enabled`
|
8260
|
+
# @return [Boolean]
|
8261
|
+
attr_accessor :enabled
|
8262
|
+
alias_method :enabled?, :enabled
|
8263
|
+
|
8264
|
+
def initialize(**args)
|
8265
|
+
update!(**args)
|
8266
|
+
end
|
8267
|
+
|
8268
|
+
# Update properties of this object
|
8269
|
+
def update!(**args)
|
8270
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
8271
|
+
end
|
8272
|
+
end
|
8273
|
+
|
6062
8274
|
# The `Status` type defines a logical error model that is suitable for different
|
6063
8275
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
6064
8276
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
@@ -6163,7 +8375,8 @@ module Google
|
|
6163
8375
|
end
|
6164
8376
|
end
|
6165
8377
|
|
6166
|
-
# Configuration for Cloud TPU.
|
8378
|
+
# Configuration for Cloud TPU. This message is deprecated due to the deprecation
|
8379
|
+
# of 2VM TPU. The end of life date for 2VM TPU is 2025-04-25.
|
6167
8380
|
class TpuConfig
|
6168
8381
|
include Google::Apis::Core::Hashable
|
6169
8382
|
|
@@ -6325,6 +8538,12 @@ module Google
|
|
6325
8538
|
class UpdateNodePoolRequest
|
6326
8539
|
include Google::Apis::Core::Hashable
|
6327
8540
|
|
8541
|
+
# A list of hardware accelerators to be attached to each node. See https://cloud.
|
8542
|
+
# google.com/compute/docs/gpus for more information about support for GPUs.
|
8543
|
+
# Corresponds to the JSON property `accelerators`
|
8544
|
+
# @return [Array<Google::Apis::ContainerV1beta1::AcceleratorConfig>]
|
8545
|
+
attr_accessor :accelerators
|
8546
|
+
|
6328
8547
|
# Required. Deprecated. The name of the cluster to upgrade. This field has been
|
6329
8548
|
# deprecated and replaced by the name field.
|
6330
8549
|
# Corresponds to the JSON property `clusterId`
|
@@ -6337,6 +8556,25 @@ module Google
|
|
6337
8556
|
# @return [Google::Apis::ContainerV1beta1::ConfidentialNodes]
|
6338
8557
|
attr_accessor :confidential_nodes
|
6339
8558
|
|
8559
|
+
# ContainerdConfig contains configuration to customize containerd.
|
8560
|
+
# Corresponds to the JSON property `containerdConfig`
|
8561
|
+
# @return [Google::Apis::ContainerV1beta1::ContainerdConfig]
|
8562
|
+
attr_accessor :containerd_config
|
8563
|
+
|
8564
|
+
# Optional. The desired disk size for nodes in the node pool. Initiates an
|
8565
|
+
# upgrade operation that migrates the nodes in the node pool to the specified
|
8566
|
+
# disk size.
|
8567
|
+
# Corresponds to the JSON property `diskSizeGb`
|
8568
|
+
# @return [Fixnum]
|
8569
|
+
attr_accessor :disk_size_gb
|
8570
|
+
|
8571
|
+
# Optional. The desired disk type for nodes in the node pool. Initiates an
|
8572
|
+
# upgrade operation that migrates the nodes in the node pool to the specified
|
8573
|
+
# disk type.
|
8574
|
+
# Corresponds to the JSON property `diskType`
|
8575
|
+
# @return [String]
|
8576
|
+
attr_accessor :disk_type
|
8577
|
+
|
6340
8578
|
# The current etag of the node pool. If an etag is provided and does not match
|
6341
8579
|
# the current etag of the node pool, update will be blocked and an ABORTED error
|
6342
8580
|
# will be returned.
|
@@ -6359,7 +8597,9 @@ module Google
|
|
6359
8597
|
# @return [Google::Apis::ContainerV1beta1::VirtualNic]
|
6360
8598
|
attr_accessor :gvnic
|
6361
8599
|
|
6362
|
-
# Required. The desired image type for the node pool.
|
8600
|
+
# Required. The desired image type for the node pool. Please see https://cloud.
|
8601
|
+
# google.com/kubernetes-engine/docs/concepts/node-images for available image
|
8602
|
+
# types.
|
6363
8603
|
# Corresponds to the JSON property `imageType`
|
6364
8604
|
# @return [String]
|
6365
8605
|
attr_accessor :image_type
|
@@ -6394,6 +8634,19 @@ module Google
|
|
6394
8634
|
# @return [Google::Apis::ContainerV1beta1::NodePoolLoggingConfig]
|
6395
8635
|
attr_accessor :logging_config
|
6396
8636
|
|
8637
|
+
# Optional. The desired machine type for nodes in the node pool. Initiates an
|
8638
|
+
# upgrade operation that migrates the nodes in the node pool to the specified
|
8639
|
+
# machine type.
|
8640
|
+
# Corresponds to the JSON property `machineType`
|
8641
|
+
# @return [String]
|
8642
|
+
attr_accessor :machine_type
|
8643
|
+
|
8644
|
+
# The maximum duration for the nodes to exist. If unspecified, the nodes can
|
8645
|
+
# exist indefinitely.
|
8646
|
+
# Corresponds to the JSON property `maxRunDuration`
|
8647
|
+
# @return [String]
|
8648
|
+
attr_accessor :max_run_duration
|
8649
|
+
|
6397
8650
|
# The name (project, location, cluster, node pool) of the node pool to update.
|
6398
8651
|
# Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
|
6399
8652
|
# Corresponds to the JSON property `name`
|
@@ -6429,12 +8682,32 @@ module Google
|
|
6429
8682
|
# @return [String]
|
6430
8683
|
attr_accessor :project_id
|
6431
8684
|
|
8685
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
8686
|
+
# Corresponds to the JSON property `queuedProvisioning`
|
8687
|
+
# @return [Google::Apis::ContainerV1beta1::QueuedProvisioning]
|
8688
|
+
attr_accessor :queued_provisioning
|
8689
|
+
|
6432
8690
|
# Collection of [GCP labels](https://cloud.google.com/resource-manager/docs/
|
6433
8691
|
# creating-managing-labels).
|
6434
8692
|
# Corresponds to the JSON property `resourceLabels`
|
6435
8693
|
# @return [Google::Apis::ContainerV1beta1::ResourceLabels]
|
6436
8694
|
attr_accessor :resource_labels
|
6437
8695
|
|
8696
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
8697
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
8698
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
8699
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
8700
|
+
# specified. Existing tags will be replaced with new values.
|
8701
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
8702
|
+
# @return [Google::Apis::ContainerV1beta1::ResourceManagerTags]
|
8703
|
+
attr_accessor :resource_manager_tags
|
8704
|
+
|
8705
|
+
# List of Storage Pools where boot disks are provisioned. Existing Storage Pools
|
8706
|
+
# will be replaced with storage-pools.
|
8707
|
+
# Corresponds to the JSON property `storagePools`
|
8708
|
+
# @return [Array<String>]
|
8709
|
+
attr_accessor :storage_pools
|
8710
|
+
|
6438
8711
|
# Collection of Compute Engine network tags that can be applied to a node's
|
6439
8712
|
# underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/
|
6440
8713
|
# docs/reference/rest/v1/NodeConfig)).
|
@@ -6448,6 +8721,20 @@ module Google
|
|
6448
8721
|
# @return [Google::Apis::ContainerV1beta1::NodeTaints]
|
6449
8722
|
attr_accessor :taints
|
6450
8723
|
|
8724
|
+
# These upgrade settings control the level of parallelism and the level of
|
8725
|
+
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
8726
|
+
# that can be simultaneously unavailable. maxSurge controls the number of
|
8727
|
+
# additional nodes that can be added to the node pool temporarily for the time
|
8728
|
+
# of the upgrade to increase the number of available nodes. (maxUnavailable +
|
8729
|
+
# maxSurge) determines the level of parallelism (how many nodes are being
|
8730
|
+
# upgraded at the same time). Note: upgrades inevitably introduce some
|
8731
|
+
# disruption since workloads need to be moved from old nodes to new, upgraded
|
8732
|
+
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
8733
|
+
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
8734
|
+
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
8735
|
+
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
8736
|
+
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
8737
|
+
# same time. This ensures that there are always at least 4 nodes available.
|
6451
8738
|
# These upgrade settings configure the upgrade strategy for the node pool. Use
|
6452
8739
|
# strategy to switch between the strategies applied to the node pool. If the
|
6453
8740
|
# strategy is SURGE, use max_surge and max_unavailable to control the level of
|
@@ -6471,7 +8758,7 @@ module Google
|
|
6471
8758
|
|
6472
8759
|
# Parameters that can be configured on Windows nodes. Windows Node Config that
|
6473
8760
|
# define the parameters that will be used to configure the Windows node pool
|
6474
|
-
# settings
|
8761
|
+
# settings.
|
6475
8762
|
# Corresponds to the JSON property `windowsNodeConfig`
|
6476
8763
|
# @return [Google::Apis::ContainerV1beta1::WindowsNodeConfig]
|
6477
8764
|
attr_accessor :windows_node_config
|
@@ -6495,8 +8782,12 @@ module Google
|
|
6495
8782
|
|
6496
8783
|
# Update properties of this object
|
6497
8784
|
def update!(**args)
|
8785
|
+
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
6498
8786
|
@cluster_id = args[:cluster_id] if args.key?(:cluster_id)
|
6499
8787
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
8788
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
8789
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
8790
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
6500
8791
|
@etag = args[:etag] if args.key?(:etag)
|
6501
8792
|
@fast_socket = args[:fast_socket] if args.key?(:fast_socket)
|
6502
8793
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
@@ -6507,12 +8798,17 @@ module Google
|
|
6507
8798
|
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
6508
8799
|
@locations = args[:locations] if args.key?(:locations)
|
6509
8800
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
8801
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
8802
|
+
@max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
|
6510
8803
|
@name = args[:name] if args.key?(:name)
|
6511
8804
|
@node_network_config = args[:node_network_config] if args.key?(:node_network_config)
|
6512
8805
|
@node_pool_id = args[:node_pool_id] if args.key?(:node_pool_id)
|
6513
8806
|
@node_version = args[:node_version] if args.key?(:node_version)
|
6514
8807
|
@project_id = args[:project_id] if args.key?(:project_id)
|
8808
|
+
@queued_provisioning = args[:queued_provisioning] if args.key?(:queued_provisioning)
|
6515
8809
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
8810
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
8811
|
+
@storage_pools = args[:storage_pools] if args.key?(:storage_pools)
|
6516
8812
|
@tags = args[:tags] if args.key?(:tags)
|
6517
8813
|
@taints = args[:taints] if args.key?(:taints)
|
6518
8814
|
@upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings)
|
@@ -6570,6 +8866,56 @@ module Google
|
|
6570
8866
|
end
|
6571
8867
|
end
|
6572
8868
|
|
8869
|
+
# UpgradeDetails contains detailed information of each individual upgrade
|
8870
|
+
# operation.
|
8871
|
+
class UpgradeDetails
|
8872
|
+
include Google::Apis::Core::Hashable
|
8873
|
+
|
8874
|
+
# The end timestamp of the upgrade.
|
8875
|
+
# Corresponds to the JSON property `endTime`
|
8876
|
+
# @return [String]
|
8877
|
+
attr_accessor :end_time
|
8878
|
+
|
8879
|
+
# The version before the upgrade.
|
8880
|
+
# Corresponds to the JSON property `initialVersion`
|
8881
|
+
# @return [String]
|
8882
|
+
attr_accessor :initial_version
|
8883
|
+
|
8884
|
+
# The start timestamp of the upgrade.
|
8885
|
+
# Corresponds to the JSON property `startTime`
|
8886
|
+
# @return [String]
|
8887
|
+
attr_accessor :start_time
|
8888
|
+
|
8889
|
+
# The start type of the upgrade.
|
8890
|
+
# Corresponds to the JSON property `startType`
|
8891
|
+
# @return [String]
|
8892
|
+
attr_accessor :start_type
|
8893
|
+
|
8894
|
+
# Output only. The state of the upgrade.
|
8895
|
+
# Corresponds to the JSON property `state`
|
8896
|
+
# @return [String]
|
8897
|
+
attr_accessor :state
|
8898
|
+
|
8899
|
+
# The version after the upgrade.
|
8900
|
+
# Corresponds to the JSON property `targetVersion`
|
8901
|
+
# @return [String]
|
8902
|
+
attr_accessor :target_version
|
8903
|
+
|
8904
|
+
def initialize(**args)
|
8905
|
+
update!(**args)
|
8906
|
+
end
|
8907
|
+
|
8908
|
+
# Update properties of this object
|
8909
|
+
def update!(**args)
|
8910
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
8911
|
+
@initial_version = args[:initial_version] if args.key?(:initial_version)
|
8912
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
8913
|
+
@start_type = args[:start_type] if args.key?(:start_type)
|
8914
|
+
@state = args[:state] if args.key?(:state)
|
8915
|
+
@target_version = args[:target_version] if args.key?(:target_version)
|
8916
|
+
end
|
8917
|
+
end
|
8918
|
+
|
6573
8919
|
# UpgradeEvent is a notification sent to customers by the cluster server when a
|
6574
8920
|
# resource is upgrading.
|
6575
8921
|
class UpgradeEvent
|
@@ -6621,6 +8967,107 @@ module Google
|
|
6621
8967
|
end
|
6622
8968
|
end
|
6623
8969
|
|
8970
|
+
# UpgradeInfoEvent is a notification sent to customers about the upgrade
|
8971
|
+
# information of a resource.
|
8972
|
+
class UpgradeInfoEvent
|
8973
|
+
include Google::Apis::Core::Hashable
|
8974
|
+
|
8975
|
+
# The current version before the upgrade.
|
8976
|
+
# Corresponds to the JSON property `currentVersion`
|
8977
|
+
# @return [String]
|
8978
|
+
attr_accessor :current_version
|
8979
|
+
|
8980
|
+
# A brief description of the event.
|
8981
|
+
# Corresponds to the JSON property `description`
|
8982
|
+
# @return [String]
|
8983
|
+
attr_accessor :description
|
8984
|
+
|
8985
|
+
# The time when the operation ended.
|
8986
|
+
# Corresponds to the JSON property `endTime`
|
8987
|
+
# @return [String]
|
8988
|
+
attr_accessor :end_time
|
8989
|
+
|
8990
|
+
# The type of the event.
|
8991
|
+
# Corresponds to the JSON property `eventType`
|
8992
|
+
# @return [String]
|
8993
|
+
attr_accessor :event_type
|
8994
|
+
|
8995
|
+
# The end of extended support timestamp.
|
8996
|
+
# Corresponds to the JSON property `extendedSupportEndTime`
|
8997
|
+
# @return [String]
|
8998
|
+
attr_accessor :extended_support_end_time
|
8999
|
+
|
9000
|
+
# The operation associated with this upgrade.
|
9001
|
+
# Corresponds to the JSON property `operation`
|
9002
|
+
# @return [String]
|
9003
|
+
attr_accessor :operation
|
9004
|
+
|
9005
|
+
# Optional relative path to the resource. For example in node pool upgrades, the
|
9006
|
+
# relative path of the node pool.
|
9007
|
+
# Corresponds to the JSON property `resource`
|
9008
|
+
# @return [String]
|
9009
|
+
attr_accessor :resource
|
9010
|
+
|
9011
|
+
# The resource type associated with the upgrade.
|
9012
|
+
# Corresponds to the JSON property `resourceType`
|
9013
|
+
# @return [String]
|
9014
|
+
attr_accessor :resource_type
|
9015
|
+
|
9016
|
+
# The end of standard support timestamp.
|
9017
|
+
# Corresponds to the JSON property `standardSupportEndTime`
|
9018
|
+
# @return [String]
|
9019
|
+
attr_accessor :standard_support_end_time
|
9020
|
+
|
9021
|
+
# The time when the operation was started.
|
9022
|
+
# Corresponds to the JSON property `startTime`
|
9023
|
+
# @return [String]
|
9024
|
+
attr_accessor :start_time
|
9025
|
+
|
9026
|
+
# Output only. The state of the upgrade.
|
9027
|
+
# Corresponds to the JSON property `state`
|
9028
|
+
# @return [String]
|
9029
|
+
attr_accessor :state
|
9030
|
+
|
9031
|
+
# The target version for the upgrade.
|
9032
|
+
# Corresponds to the JSON property `targetVersion`
|
9033
|
+
# @return [String]
|
9034
|
+
attr_accessor :target_version
|
9035
|
+
|
9036
|
+
def initialize(**args)
|
9037
|
+
update!(**args)
|
9038
|
+
end
|
9039
|
+
|
9040
|
+
# Update properties of this object
|
9041
|
+
def update!(**args)
|
9042
|
+
@current_version = args[:current_version] if args.key?(:current_version)
|
9043
|
+
@description = args[:description] if args.key?(:description)
|
9044
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
9045
|
+
@event_type = args[:event_type] if args.key?(:event_type)
|
9046
|
+
@extended_support_end_time = args[:extended_support_end_time] if args.key?(:extended_support_end_time)
|
9047
|
+
@operation = args[:operation] if args.key?(:operation)
|
9048
|
+
@resource = args[:resource] if args.key?(:resource)
|
9049
|
+
@resource_type = args[:resource_type] if args.key?(:resource_type)
|
9050
|
+
@standard_support_end_time = args[:standard_support_end_time] if args.key?(:standard_support_end_time)
|
9051
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
9052
|
+
@state = args[:state] if args.key?(:state)
|
9053
|
+
@target_version = args[:target_version] if args.key?(:target_version)
|
9054
|
+
end
|
9055
|
+
end
|
9056
|
+
|
9057
|
+
# These upgrade settings control the level of parallelism and the level of
|
9058
|
+
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
9059
|
+
# that can be simultaneously unavailable. maxSurge controls the number of
|
9060
|
+
# additional nodes that can be added to the node pool temporarily for the time
|
9061
|
+
# of the upgrade to increase the number of available nodes. (maxUnavailable +
|
9062
|
+
# maxSurge) determines the level of parallelism (how many nodes are being
|
9063
|
+
# upgraded at the same time). Note: upgrades inevitably introduce some
|
9064
|
+
# disruption since workloads need to be moved from old nodes to new, upgraded
|
9065
|
+
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
9066
|
+
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
9067
|
+
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
9068
|
+
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
9069
|
+
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
9070
|
+
# same time. This ensures that there are always at least 4 nodes available.
|
6624
9071
|
# These upgrade settings configure the upgrade strategy for the node pool. Use
|
6625
9072
|
# strategy to switch between the strategies applied to the node pool. If the
|
6626
9073
|
# strategy is SURGE, use max_surge and max_unavailable to control the level of
|
@@ -6756,6 +9203,78 @@ module Google
|
|
6756
9203
|
end
|
6757
9204
|
end
|
6758
9205
|
|
9206
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
9207
|
+
# signing certs and token that are used for communication within cluster.
|
9208
|
+
class UserManagedKeysConfig
|
9209
|
+
include Google::Apis::Core::Hashable
|
9210
|
+
|
9211
|
+
# The Certificate Authority Service caPool to use for the aggregation CA in this
|
9212
|
+
# cluster.
|
9213
|
+
# Corresponds to the JSON property `aggregationCa`
|
9214
|
+
# @return [String]
|
9215
|
+
attr_accessor :aggregation_ca
|
9216
|
+
|
9217
|
+
# The Certificate Authority Service caPool to use for the cluster CA in this
|
9218
|
+
# cluster.
|
9219
|
+
# Corresponds to the JSON property `clusterCa`
|
9220
|
+
# @return [String]
|
9221
|
+
attr_accessor :cluster_ca
|
9222
|
+
|
9223
|
+
# The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane
|
9224
|
+
# nodes.
|
9225
|
+
# Corresponds to the JSON property `controlPlaneDiskEncryptionKey`
|
9226
|
+
# @return [String]
|
9227
|
+
attr_accessor :control_plane_disk_encryption_key
|
9228
|
+
|
9229
|
+
# Resource path of the Certificate Authority Service caPool to use for the etcd
|
9230
|
+
# API CA in this cluster.
|
9231
|
+
# Corresponds to the JSON property `etcdApiCa`
|
9232
|
+
# @return [String]
|
9233
|
+
attr_accessor :etcd_api_ca
|
9234
|
+
|
9235
|
+
# Resource path of the Certificate Authority Service caPool to use for the etcd
|
9236
|
+
# peer CA in this cluster.
|
9237
|
+
# Corresponds to the JSON property `etcdPeerCa`
|
9238
|
+
# @return [String]
|
9239
|
+
attr_accessor :etcd_peer_ca
|
9240
|
+
|
9241
|
+
# Resource path of the Cloud KMS cryptoKey to use for encryption of internal
|
9242
|
+
# etcd backups.
|
9243
|
+
# Corresponds to the JSON property `gkeopsEtcdBackupEncryptionKey`
|
9244
|
+
# @return [String]
|
9245
|
+
attr_accessor :gkeops_etcd_backup_encryption_key
|
9246
|
+
|
9247
|
+
# The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued
|
9248
|
+
# by this cluster. Format: `projects/`project`/locations/`location`/keyRings/`
|
9249
|
+
# keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
|
9250
|
+
# Corresponds to the JSON property `serviceAccountSigningKeys`
|
9251
|
+
# @return [Array<String>]
|
9252
|
+
attr_accessor :service_account_signing_keys
|
9253
|
+
|
9254
|
+
# The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs
|
9255
|
+
# issued by this cluster. Format: `projects/`project`/locations/`location`/
|
9256
|
+
# keyRings/`keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
|
9257
|
+
# Corresponds to the JSON property `serviceAccountVerificationKeys`
|
9258
|
+
# @return [Array<String>]
|
9259
|
+
attr_accessor :service_account_verification_keys
|
9260
|
+
|
9261
|
+
def initialize(**args)
|
9262
|
+
update!(**args)
|
9263
|
+
end
|
9264
|
+
|
9265
|
+
# Update properties of this object
|
9266
|
+
def update!(**args)
|
9267
|
+
@aggregation_ca = args[:aggregation_ca] if args.key?(:aggregation_ca)
|
9268
|
+
@cluster_ca = args[:cluster_ca] if args.key?(:cluster_ca)
|
9269
|
+
@control_plane_disk_encryption_key = args[:control_plane_disk_encryption_key] if args.key?(:control_plane_disk_encryption_key)
|
9270
|
+
@etcd_api_ca = args[:etcd_api_ca] if args.key?(:etcd_api_ca)
|
9271
|
+
@etcd_peer_ca = args[:etcd_peer_ca] if args.key?(:etcd_peer_ca)
|
9272
|
+
@gkeops_etcd_backup_encryption_key = args[:gkeops_etcd_backup_encryption_key] if args.key?(:gkeops_etcd_backup_encryption_key)
|
9273
|
+
@service_account_signing_keys = args[:service_account_signing_keys] if args.key?(:service_account_signing_keys)
|
9274
|
+
@service_account_verification_keys = args[:service_account_verification_keys] if args.key?(:service_account_verification_keys)
|
9275
|
+
end
|
9276
|
+
end
|
9277
|
+
|
6759
9278
|
# VerticalPodAutoscaling contains global, per-cluster information required by
|
6760
9279
|
# Vertical Pod Autoscaler to automatically adjust the resources of pods
|
6761
9280
|
# controlled by it.
|
@@ -6800,11 +9319,11 @@ module Google
|
|
6800
9319
|
|
6801
9320
|
# Parameters that can be configured on Windows nodes. Windows Node Config that
|
6802
9321
|
# define the parameters that will be used to configure the Windows node pool
|
6803
|
-
# settings
|
9322
|
+
# settings.
|
6804
9323
|
class WindowsNodeConfig
|
6805
9324
|
include Google::Apis::Core::Hashable
|
6806
9325
|
|
6807
|
-
# OSVersion specifies the Windows node config to be used on the node
|
9326
|
+
# OSVersion specifies the Windows node config to be used on the node.
|
6808
9327
|
# Corresponds to the JSON property `osVersion`
|
6809
9328
|
# @return [String]
|
6810
9329
|
attr_accessor :os_version
|
@@ -6999,6 +9518,33 @@ module Google
|
|
6999
9518
|
@node_metadata = args[:node_metadata] if args.key?(:node_metadata)
|
7000
9519
|
end
|
7001
9520
|
end
|
9521
|
+
|
9522
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
9523
|
+
class WorkloadPolicyConfig
|
9524
|
+
include Google::Apis::Core::Hashable
|
9525
|
+
|
9526
|
+
# If true, workloads can use NET_ADMIN capability.
|
9527
|
+
# Corresponds to the JSON property `allowNetAdmin`
|
9528
|
+
# @return [Boolean]
|
9529
|
+
attr_accessor :allow_net_admin
|
9530
|
+
alias_method :allow_net_admin?, :allow_net_admin
|
9531
|
+
|
9532
|
+
# If true, enables the GCW Auditor that audits workloads on standard clusters.
|
9533
|
+
# Corresponds to the JSON property `autopilotCompatibilityAuditingEnabled`
|
9534
|
+
# @return [Boolean]
|
9535
|
+
attr_accessor :autopilot_compatibility_auditing_enabled
|
9536
|
+
alias_method :autopilot_compatibility_auditing_enabled?, :autopilot_compatibility_auditing_enabled
|
9537
|
+
|
9538
|
+
def initialize(**args)
|
9539
|
+
update!(**args)
|
9540
|
+
end
|
9541
|
+
|
9542
|
+
# Update properties of this object
|
9543
|
+
def update!(**args)
|
9544
|
+
@allow_net_admin = args[:allow_net_admin] if args.key?(:allow_net_admin)
|
9545
|
+
@autopilot_compatibility_auditing_enabled = args[:autopilot_compatibility_auditing_enabled] if args.key?(:autopilot_compatibility_auditing_enabled)
|
9546
|
+
end
|
9547
|
+
end
|
7002
9548
|
end
|
7003
9549
|
end
|
7004
9550
|
end
|