google-apis-container_v1beta1 0.43.0 → 0.78.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 +145 -0
- data/OVERVIEW.md +3 -3
- data/lib/google/apis/container_v1beta1/classes.rb +2564 -150
- data/lib/google/apis/container_v1beta1/gem_version.rb +3 -3
- data/lib/google/apis/container_v1beta1/representations.rb +986 -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,19 +426,100 @@ 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
|
+
|
251
445
|
def initialize(**args)
|
252
446
|
update!(**args)
|
253
447
|
end
|
254
448
|
|
255
449
|
# Update properties of this object
|
256
450
|
def update!(**args)
|
451
|
+
@conversion_status = args[:conversion_status] if args.key?(:conversion_status)
|
257
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 documnetation, 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
|
+
# AutopilotConversionStatus represents conversion status.
|
508
|
+
class AutopilotConversionStatus
|
509
|
+
include Google::Apis::Core::Hashable
|
510
|
+
|
511
|
+
# Output only. The current state of the conversion.
|
512
|
+
# Corresponds to the JSON property `state`
|
513
|
+
# @return [String]
|
514
|
+
attr_accessor :state
|
515
|
+
|
516
|
+
def initialize(**args)
|
517
|
+
update!(**args)
|
518
|
+
end
|
519
|
+
|
520
|
+
# Update properties of this object
|
521
|
+
def update!(**args)
|
522
|
+
@state = args[:state] if args.key?(:state)
|
258
523
|
end
|
259
524
|
end
|
260
525
|
|
@@ -284,11 +549,18 @@ module Google
|
|
284
549
|
# @return [String]
|
285
550
|
attr_accessor :disk_type
|
286
551
|
|
287
|
-
# The image type to use for NAP created node.
|
552
|
+
# The image type to use for NAP created node. Please see https://cloud.google.
|
553
|
+
# com/kubernetes-engine/docs/concepts/node-images for available image types.
|
288
554
|
# Corresponds to the JSON property `imageType`
|
289
555
|
# @return [String]
|
290
556
|
attr_accessor :image_type
|
291
557
|
|
558
|
+
# Enable or disable Kubelet read only port.
|
559
|
+
# Corresponds to the JSON property `insecureKubeletReadonlyPortEnabled`
|
560
|
+
# @return [Boolean]
|
561
|
+
attr_accessor :insecure_kubelet_readonly_port_enabled
|
562
|
+
alias_method :insecure_kubelet_readonly_port_enabled?, :insecure_kubelet_readonly_port_enabled
|
563
|
+
|
292
564
|
# NodeManagement defines the set of node management services turned on for the
|
293
565
|
# node pool.
|
294
566
|
# Corresponds to the JSON property `management`
|
@@ -301,7 +573,7 @@ module Google
|
|
301
573
|
# Haswell or minCpuPlatform: Intel Sandy Bridge. For more information, read [how
|
302
574
|
# to specify min CPU platform](https://cloud.google.com/compute/docs/instances/
|
303
575
|
# specify-min-cpu-platform). This field is deprecated, min_cpu_platform should
|
304
|
-
# be specified using
|
576
|
+
# be specified using `cloud.google.com/requested-min-cpu-platform` label
|
305
577
|
# selector on the pod. To unset the min cpu platform field pass "automatic" as
|
306
578
|
# field value.
|
307
579
|
# Corresponds to the JSON property `minCpuPlatform`
|
@@ -333,6 +605,20 @@ module Google
|
|
333
605
|
# @return [Google::Apis::ContainerV1beta1::ShieldedInstanceConfig]
|
334
606
|
attr_accessor :shielded_instance_config
|
335
607
|
|
608
|
+
# These upgrade settings control the level of parallelism and the level of
|
609
|
+
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
610
|
+
# that can be simultaneously unavailable. maxSurge controls the number of
|
611
|
+
# additional nodes that can be added to the node pool temporarily for the time
|
612
|
+
# of the upgrade to increase the number of available nodes. (maxUnavailable +
|
613
|
+
# maxSurge) determines the level of parallelism (how many nodes are being
|
614
|
+
# upgraded at the same time). Note: upgrades inevitably introduce some
|
615
|
+
# disruption since workloads need to be moved from old nodes to new, upgraded
|
616
|
+
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
617
|
+
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
618
|
+
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
619
|
+
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
620
|
+
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
621
|
+
# same time. This ensures that there are always at least 4 nodes available.
|
336
622
|
# These upgrade settings configure the upgrade strategy for the node pool. Use
|
337
623
|
# strategy to switch between the strategies applied to the node pool. If the
|
338
624
|
# strategy is SURGE, use max_surge and max_unavailable to control the level of
|
@@ -364,6 +650,7 @@ module Google
|
|
364
650
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
365
651
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
366
652
|
@image_type = args[:image_type] if args.key?(:image_type)
|
653
|
+
@insecure_kubelet_readonly_port_enabled = args[:insecure_kubelet_readonly_port_enabled] if args.key?(:insecure_kubelet_readonly_port_enabled)
|
367
654
|
@management = args[:management] if args.key?(:management)
|
368
655
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
369
656
|
@oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
|
@@ -373,6 +660,20 @@ module Google
|
|
373
660
|
end
|
374
661
|
end
|
375
662
|
|
663
|
+
# Autoscaled rollout policy uses cluster autoscaler during blue-green upgrades
|
664
|
+
# to scale both the green and blue pools.
|
665
|
+
class AutoscaledRolloutPolicy
|
666
|
+
include Google::Apis::Core::Hashable
|
667
|
+
|
668
|
+
def initialize(**args)
|
669
|
+
update!(**args)
|
670
|
+
end
|
671
|
+
|
672
|
+
# Update properties of this object
|
673
|
+
def update!(**args)
|
674
|
+
end
|
675
|
+
end
|
676
|
+
|
376
677
|
# Deprecated.
|
377
678
|
class AvailableVersion
|
378
679
|
include Google::Apis::Core::Hashable
|
@@ -398,6 +699,36 @@ module Google
|
|
398
699
|
end
|
399
700
|
end
|
400
701
|
|
702
|
+
# Best effort provisioning.
|
703
|
+
class BestEffortProvisioning
|
704
|
+
include Google::Apis::Core::Hashable
|
705
|
+
|
706
|
+
# When this is enabled, cluster/node pool creations will ignore non-fatal errors
|
707
|
+
# like stockout to best provision as many nodes as possible right now and
|
708
|
+
# eventually bring up all target number of nodes
|
709
|
+
# Corresponds to the JSON property `enabled`
|
710
|
+
# @return [Boolean]
|
711
|
+
attr_accessor :enabled
|
712
|
+
alias_method :enabled?, :enabled
|
713
|
+
|
714
|
+
# Minimum number of nodes to be provisioned to be considered as succeeded, and
|
715
|
+
# the rest of nodes will be provisioned gradually and eventually when stockout
|
716
|
+
# issue has been resolved.
|
717
|
+
# Corresponds to the JSON property `minProvisionNodes`
|
718
|
+
# @return [Fixnum]
|
719
|
+
attr_accessor :min_provision_nodes
|
720
|
+
|
721
|
+
def initialize(**args)
|
722
|
+
update!(**args)
|
723
|
+
end
|
724
|
+
|
725
|
+
# Update properties of this object
|
726
|
+
def update!(**args)
|
727
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
728
|
+
@min_provision_nodes = args[:min_provision_nodes] if args.key?(:min_provision_nodes)
|
729
|
+
end
|
730
|
+
end
|
731
|
+
|
401
732
|
# Parameters for using BigQuery as the destination of resource usage export.
|
402
733
|
class BigQueryDestination
|
403
734
|
include Google::Apis::Core::Hashable
|
@@ -435,6 +766,11 @@ module Google
|
|
435
766
|
# @return [String]
|
436
767
|
attr_accessor :evaluation_mode
|
437
768
|
|
769
|
+
# Optional. Binauthz policies that apply to this cluster.
|
770
|
+
# Corresponds to the JSON property `policyBindings`
|
771
|
+
# @return [Array<Google::Apis::ContainerV1beta1::PolicyBinding>]
|
772
|
+
attr_accessor :policy_bindings
|
773
|
+
|
438
774
|
def initialize(**args)
|
439
775
|
update!(**args)
|
440
776
|
end
|
@@ -443,6 +779,7 @@ module Google
|
|
443
779
|
def update!(**args)
|
444
780
|
@enabled = args[:enabled] if args.key?(:enabled)
|
445
781
|
@evaluation_mode = args[:evaluation_mode] if args.key?(:evaluation_mode)
|
782
|
+
@policy_bindings = args[:policy_bindings] if args.key?(:policy_bindings)
|
446
783
|
end
|
447
784
|
end
|
448
785
|
|
@@ -496,6 +833,12 @@ module Google
|
|
496
833
|
class BlueGreenSettings
|
497
834
|
include Google::Apis::Core::Hashable
|
498
835
|
|
836
|
+
# Autoscaled rollout policy uses cluster autoscaler during blue-green upgrades
|
837
|
+
# to scale both the green and blue pools.
|
838
|
+
# Corresponds to the JSON property `autoscaledRolloutPolicy`
|
839
|
+
# @return [Google::Apis::ContainerV1beta1::AutoscaledRolloutPolicy]
|
840
|
+
attr_accessor :autoscaled_rollout_policy
|
841
|
+
|
499
842
|
# Time needed after draining entire blue pool. After this period, blue pool will
|
500
843
|
# be cleaned up.
|
501
844
|
# Corresponds to the JSON property `nodePoolSoakDuration`
|
@@ -513,6 +856,7 @@ module Google
|
|
513
856
|
|
514
857
|
# Update properties of this object
|
515
858
|
def update!(**args)
|
859
|
+
@autoscaled_rollout_policy = args[:autoscaled_rollout_policy] if args.key?(:autoscaled_rollout_policy)
|
516
860
|
@node_pool_soak_duration = args[:node_pool_soak_duration] if args.key?(:node_pool_soak_duration)
|
517
861
|
@standard_rollout_policy = args[:standard_rollout_policy] if args.key?(:standard_rollout_policy)
|
518
862
|
end
|
@@ -561,6 +905,59 @@ module Google
|
|
561
905
|
end
|
562
906
|
end
|
563
907
|
|
908
|
+
# CertificateAuthorityDomainConfig configures one or more fully qualified domain
|
909
|
+
# names (FQDN) to a specific certificate.
|
910
|
+
class CertificateAuthorityDomainConfig
|
911
|
+
include Google::Apis::Core::Hashable
|
912
|
+
|
913
|
+
# List of fully qualified domain names (FQDN). Specifying port is supported.
|
914
|
+
# Wilcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000
|
915
|
+
# Corresponds to the JSON property `fqdns`
|
916
|
+
# @return [Array<String>]
|
917
|
+
attr_accessor :fqdns
|
918
|
+
|
919
|
+
# GCPSecretManagerCertificateConfig configures a secret from [Google Secret
|
920
|
+
# Manager](https://cloud.google.com/secret-manager).
|
921
|
+
# Corresponds to the JSON property `gcpSecretManagerCertificateConfig`
|
922
|
+
# @return [Google::Apis::ContainerV1beta1::GcpSecretManagerCertificateConfig]
|
923
|
+
attr_accessor :gcp_secret_manager_certificate_config
|
924
|
+
|
925
|
+
def initialize(**args)
|
926
|
+
update!(**args)
|
927
|
+
end
|
928
|
+
|
929
|
+
# Update properties of this object
|
930
|
+
def update!(**args)
|
931
|
+
@fqdns = args[:fqdns] if args.key?(:fqdns)
|
932
|
+
@gcp_secret_manager_certificate_config = args[:gcp_secret_manager_certificate_config] if args.key?(:gcp_secret_manager_certificate_config)
|
933
|
+
end
|
934
|
+
end
|
935
|
+
|
936
|
+
# CheckAutopilotCompatibilityResponse has a list of compatibility issues.
|
937
|
+
class CheckAutopilotCompatibilityResponse
|
938
|
+
include Google::Apis::Core::Hashable
|
939
|
+
|
940
|
+
# The list of issues for the given operation.
|
941
|
+
# Corresponds to the JSON property `issues`
|
942
|
+
# @return [Array<Google::Apis::ContainerV1beta1::AutopilotCompatibilityIssue>]
|
943
|
+
attr_accessor :issues
|
944
|
+
|
945
|
+
# The summary of the autopilot compatibility response.
|
946
|
+
# Corresponds to the JSON property `summary`
|
947
|
+
# @return [String]
|
948
|
+
attr_accessor :summary
|
949
|
+
|
950
|
+
def initialize(**args)
|
951
|
+
update!(**args)
|
952
|
+
end
|
953
|
+
|
954
|
+
# Update properties of this object
|
955
|
+
def update!(**args)
|
956
|
+
@issues = args[:issues] if args.key?(:issues)
|
957
|
+
@summary = args[:summary] if args.key?(:summary)
|
958
|
+
end
|
959
|
+
end
|
960
|
+
|
564
961
|
# CidrBlock contains an optional name and one CIDR block.
|
565
962
|
class CidrBlock
|
566
963
|
include Google::Apis::Core::Hashable
|
@@ -677,6 +1074,12 @@ module Google
|
|
677
1074
|
# @return [Google::Apis::ContainerV1beta1::ClusterTelemetry]
|
678
1075
|
attr_accessor :cluster_telemetry
|
679
1076
|
|
1077
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
1078
|
+
# for the Compliance Posture.
|
1079
|
+
# Corresponds to the JSON property `compliancePostureConfig`
|
1080
|
+
# @return [Google::Apis::ContainerV1beta1::CompliancePostureConfig]
|
1081
|
+
attr_accessor :compliance_posture_config
|
1082
|
+
|
680
1083
|
# Which conditions caused the current cluster state.
|
681
1084
|
# Corresponds to the JSON property `conditions`
|
682
1085
|
# @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
|
@@ -688,29 +1091,34 @@ module Google
|
|
688
1091
|
# @return [Google::Apis::ContainerV1beta1::ConfidentialNodes]
|
689
1092
|
attr_accessor :confidential_nodes
|
690
1093
|
|
1094
|
+
# Configuration for all of the cluster's control plane endpoints.
|
1095
|
+
# Corresponds to the JSON property `controlPlaneEndpointsConfig`
|
1096
|
+
# @return [Google::Apis::ContainerV1beta1::ControlPlaneEndpointsConfig]
|
1097
|
+
attr_accessor :control_plane_endpoints_config
|
1098
|
+
|
691
1099
|
# Configuration for fine-grained cost management feature.
|
692
1100
|
# Corresponds to the JSON property `costManagementConfig`
|
693
1101
|
# @return [Google::Apis::ContainerV1beta1::CostManagementConfig]
|
694
1102
|
attr_accessor :cost_management_config
|
695
1103
|
|
696
|
-
#
|
1104
|
+
# Output only. The time the cluster was created, in [RFC3339](https://www.ietf.
|
697
1105
|
# org/rfc/rfc3339.txt) text format.
|
698
1106
|
# Corresponds to the JSON property `createTime`
|
699
1107
|
# @return [String]
|
700
1108
|
attr_accessor :create_time
|
701
1109
|
|
702
|
-
#
|
1110
|
+
# Output only. The current software version of the master endpoint.
|
703
1111
|
# Corresponds to the JSON property `currentMasterVersion`
|
704
1112
|
# @return [String]
|
705
1113
|
attr_accessor :current_master_version
|
706
1114
|
|
707
|
-
#
|
1115
|
+
# Output only. The number of nodes currently in the cluster. Deprecated. Call
|
708
1116
|
# Kubernetes API directly to retrieve node information.
|
709
1117
|
# Corresponds to the JSON property `currentNodeCount`
|
710
1118
|
# @return [Fixnum]
|
711
1119
|
attr_accessor :current_node_count
|
712
1120
|
|
713
|
-
#
|
1121
|
+
# Output only. Deprecated, use [NodePool.version](https://cloud.google.com/
|
714
1122
|
# kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.
|
715
1123
|
# nodePools) instead. The current version of the node software components. If
|
716
1124
|
# they are currently at multiple versions because they're in the process of
|
@@ -734,6 +1142,11 @@ module Google
|
|
734
1142
|
# @return [String]
|
735
1143
|
attr_accessor :description
|
736
1144
|
|
1145
|
+
# Kubernetes open source beta apis enabled on the cluster.
|
1146
|
+
# Corresponds to the JSON property `enableK8sBetaApis`
|
1147
|
+
# @return [Google::Apis::ContainerV1beta1::K8sBetaApiConfig]
|
1148
|
+
attr_accessor :enable_k8s_beta_apis
|
1149
|
+
|
737
1150
|
# Kubernetes alpha features are enabled on this cluster. This includes alpha API
|
738
1151
|
# groups (e.g. v1beta1) and features that may not be production ready in the
|
739
1152
|
# kubernetes version of the master and nodes. The cluster has no SLA for uptime
|
@@ -751,7 +1164,7 @@ module Google
|
|
751
1164
|
attr_accessor :enable_tpu
|
752
1165
|
alias_method :enable_tpu?, :enable_tpu
|
753
1166
|
|
754
|
-
#
|
1167
|
+
# Output only. The IP address of this cluster's master endpoint. The endpoint
|
755
1168
|
# can be accessed from the internet at `https://username:password@endpoint/`.
|
756
1169
|
# See the `masterAuth` property of this resource for username and password
|
757
1170
|
# information.
|
@@ -759,6 +1172,11 @@ module Google
|
|
759
1172
|
# @return [String]
|
760
1173
|
attr_accessor :endpoint
|
761
1174
|
|
1175
|
+
# EnterpriseConfig is the cluster enterprise configuration.
|
1176
|
+
# Corresponds to the JSON property `enterpriseConfig`
|
1177
|
+
# @return [Google::Apis::ContainerV1beta1::EnterpriseConfig]
|
1178
|
+
attr_accessor :enterprise_config
|
1179
|
+
|
762
1180
|
# This checksum is computed by the server based on the value of cluster fields,
|
763
1181
|
# and may be sent on update requests to ensure the client has an up-to-date
|
764
1182
|
# value before proceeding.
|
@@ -766,12 +1184,17 @@ module Google
|
|
766
1184
|
# @return [String]
|
767
1185
|
attr_accessor :etag
|
768
1186
|
|
769
|
-
#
|
1187
|
+
# Output only. The time the cluster will be automatically deleted in [RFC3339](
|
770
1188
|
# https://www.ietf.org/rfc/rfc3339.txt) text format.
|
771
1189
|
# Corresponds to the JSON property `expireTime`
|
772
1190
|
# @return [String]
|
773
1191
|
attr_accessor :expire_time
|
774
1192
|
|
1193
|
+
# Fleet is the fleet configuration for the cluster.
|
1194
|
+
# Corresponds to the JSON property `fleet`
|
1195
|
+
# @return [Google::Apis::ContainerV1beta1::Fleet]
|
1196
|
+
attr_accessor :fleet
|
1197
|
+
|
775
1198
|
# Output only. Unique id for the cluster.
|
776
1199
|
# Corresponds to the JSON property `id`
|
777
1200
|
# @return [String]
|
@@ -808,7 +1231,7 @@ module Google
|
|
808
1231
|
# @return [Fixnum]
|
809
1232
|
attr_accessor :initial_node_count
|
810
1233
|
|
811
|
-
# Deprecated. Use node_pools.instance_group_urls.
|
1234
|
+
# Output only. Deprecated. Use node_pools.instance_group_urls.
|
812
1235
|
# Corresponds to the JSON property `instanceGroupUrls`
|
813
1236
|
# @return [Array<String>]
|
814
1237
|
attr_accessor :instance_group_urls
|
@@ -828,10 +1251,10 @@ module Google
|
|
828
1251
|
# @return [Google::Apis::ContainerV1beta1::LegacyAbac]
|
829
1252
|
attr_accessor :legacy_abac
|
830
1253
|
|
831
|
-
#
|
832
|
-
#
|
833
|
-
#
|
834
|
-
#
|
1254
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
1255
|
+
# com/compute/docs/regions-zones/regions-zones#available) or [region](https://
|
1256
|
+
# cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
|
1257
|
+
# the cluster resides.
|
835
1258
|
# Corresponds to the JSON property `location`
|
836
1259
|
# @return [String]
|
837
1260
|
attr_accessor :location
|
@@ -952,9 +1375,9 @@ module Google
|
|
952
1375
|
# @return [Google::Apis::ContainerV1beta1::NodeConfig]
|
953
1376
|
attr_accessor :node_config
|
954
1377
|
|
955
|
-
#
|
956
|
-
#
|
957
|
-
#
|
1378
|
+
# Output only. The size of the address space on each node for hosting containers.
|
1379
|
+
# This is provisioned from within the `container_ipv4_cidr` range. This field
|
1380
|
+
# will only be set when cluster is in route-based network mode.
|
958
1381
|
# Corresponds to the JSON property `nodeIpv4CidrSize`
|
959
1382
|
# @return [Fixnum]
|
960
1383
|
attr_accessor :node_ipv4_cidr_size
|
@@ -981,6 +1404,19 @@ module Google
|
|
981
1404
|
# @return [Google::Apis::ContainerV1beta1::NotificationConfig]
|
982
1405
|
attr_accessor :notification_config
|
983
1406
|
|
1407
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
1408
|
+
# This field is used by Google internal products that are built on top of a GKE
|
1409
|
+
# cluster and take the ownership of the cluster.
|
1410
|
+
# Corresponds to the JSON property `parentProductConfig`
|
1411
|
+
# @return [Google::Apis::ContainerV1beta1::ParentProductConfig]
|
1412
|
+
attr_accessor :parent_product_config
|
1413
|
+
|
1414
|
+
# PodAutoscaling is used for configuration of parameters for workload
|
1415
|
+
# autoscaling.
|
1416
|
+
# Corresponds to the JSON property `podAutoscaling`
|
1417
|
+
# @return [Google::Apis::ContainerV1beta1::PodAutoscaling]
|
1418
|
+
attr_accessor :pod_autoscaling
|
1419
|
+
|
984
1420
|
# Configuration for the PodSecurityPolicy feature.
|
985
1421
|
# Corresponds to the JSON property `podSecurityPolicyConfig`
|
986
1422
|
# @return [Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig]
|
@@ -1006,6 +1442,12 @@ module Google
|
|
1006
1442
|
# @return [Google::Apis::ContainerV1beta1::ProtectConfig]
|
1007
1443
|
attr_accessor :protect_config
|
1008
1444
|
|
1445
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
1446
|
+
# that can be created.
|
1447
|
+
# Corresponds to the JSON property `rbacBindingConfig`
|
1448
|
+
# @return [Google::Apis::ContainerV1beta1::RbacBindingConfig]
|
1449
|
+
attr_accessor :rbac_binding_config
|
1450
|
+
|
1009
1451
|
# ReleaseChannel indicates which release channel a cluster is subscribed to.
|
1010
1452
|
# Release channels are arranged in order of risk. When a cluster is subscribed
|
1011
1453
|
# to a release channel, Google maintains both the master version and the node
|
@@ -1025,12 +1467,35 @@ module Google
|
|
1025
1467
|
# @return [Google::Apis::ContainerV1beta1::ResourceUsageExportConfig]
|
1026
1468
|
attr_accessor :resource_usage_export_config
|
1027
1469
|
|
1028
|
-
#
|
1470
|
+
# Output only. Reserved for future use.
|
1471
|
+
# Corresponds to the JSON property `satisfiesPzi`
|
1472
|
+
# @return [Boolean]
|
1473
|
+
attr_accessor :satisfies_pzi
|
1474
|
+
alias_method :satisfies_pzi?, :satisfies_pzi
|
1475
|
+
|
1476
|
+
# Output only. Reserved for future use.
|
1477
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
1478
|
+
# @return [Boolean]
|
1479
|
+
attr_accessor :satisfies_pzs
|
1480
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
1481
|
+
|
1482
|
+
# SecretManagerConfig is config for secret manager enablement.
|
1483
|
+
# Corresponds to the JSON property `secretManagerConfig`
|
1484
|
+
# @return [Google::Apis::ContainerV1beta1::SecretManagerConfig]
|
1485
|
+
attr_accessor :secret_manager_config
|
1486
|
+
|
1487
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
1488
|
+
# the Security Posture API.
|
1489
|
+
# Corresponds to the JSON property `securityPostureConfig`
|
1490
|
+
# @return [Google::Apis::ContainerV1beta1::SecurityPostureConfig]
|
1491
|
+
attr_accessor :security_posture_config
|
1492
|
+
|
1493
|
+
# Output only. Server-defined URL for the resource.
|
1029
1494
|
# Corresponds to the JSON property `selfLink`
|
1030
1495
|
# @return [String]
|
1031
1496
|
attr_accessor :self_link
|
1032
1497
|
|
1033
|
-
#
|
1498
|
+
# Output only. The IP address range of the Kubernetes services in this cluster,
|
1034
1499
|
# in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
|
1035
1500
|
# notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `
|
1036
1501
|
# /16` from the container CIDR.
|
@@ -1043,12 +1508,12 @@ module Google
|
|
1043
1508
|
# @return [Google::Apis::ContainerV1beta1::ShieldedNodes]
|
1044
1509
|
attr_accessor :shielded_nodes
|
1045
1510
|
|
1046
|
-
#
|
1511
|
+
# Output only. The current status of this cluster.
|
1047
1512
|
# Corresponds to the JSON property `status`
|
1048
1513
|
# @return [String]
|
1049
1514
|
attr_accessor :status
|
1050
1515
|
|
1051
|
-
#
|
1516
|
+
# Output only. Deprecated. Use conditions instead. Additional information about
|
1052
1517
|
# the current status of this cluster, if available.
|
1053
1518
|
# Corresponds to the JSON property `statusMessage`
|
1054
1519
|
# @return [String]
|
@@ -1066,13 +1531,19 @@ module Google
|
|
1066
1531
|
# @return [Google::Apis::ContainerV1beta1::TpuConfig]
|
1067
1532
|
attr_accessor :tpu_config
|
1068
1533
|
|
1069
|
-
#
|
1070
|
-
#
|
1071
|
-
#
|
1534
|
+
# Output only. The IP address range of the Cloud TPUs in this cluster, in [CIDR](
|
1535
|
+
# http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.
|
1536
|
+
# 2.3.4/29`).
|
1072
1537
|
# Corresponds to the JSON property `tpuIpv4CidrBlock`
|
1073
1538
|
# @return [String]
|
1074
1539
|
attr_accessor :tpu_ipv4_cidr_block
|
1075
1540
|
|
1541
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
1542
|
+
# signing certs and token that are used for communication within cluster.
|
1543
|
+
# Corresponds to the JSON property `userManagedKeysConfig`
|
1544
|
+
# @return [Google::Apis::ContainerV1beta1::UserManagedKeysConfig]
|
1545
|
+
attr_accessor :user_managed_keys_config
|
1546
|
+
|
1076
1547
|
# VerticalPodAutoscaling contains global, per-cluster information required by
|
1077
1548
|
# Vertical Pod Autoscaler to automatically adjust the resources of pods
|
1078
1549
|
# controlled by it.
|
@@ -1095,9 +1566,9 @@ module Google
|
|
1095
1566
|
# @return [Google::Apis::ContainerV1beta1::WorkloadIdentityConfig]
|
1096
1567
|
attr_accessor :workload_identity_config
|
1097
1568
|
|
1098
|
-
#
|
1099
|
-
#
|
1100
|
-
#
|
1569
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
1570
|
+
# com/compute/docs/zones#available) in which the cluster resides. This field is
|
1571
|
+
# deprecated, use location instead.
|
1101
1572
|
# Corresponds to the JSON property `zone`
|
1102
1573
|
# @return [String]
|
1103
1574
|
attr_accessor :zone
|
@@ -1115,8 +1586,10 @@ module Google
|
|
1115
1586
|
@binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
|
1116
1587
|
@cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
|
1117
1588
|
@cluster_telemetry = args[:cluster_telemetry] if args.key?(:cluster_telemetry)
|
1589
|
+
@compliance_posture_config = args[:compliance_posture_config] if args.key?(:compliance_posture_config)
|
1118
1590
|
@conditions = args[:conditions] if args.key?(:conditions)
|
1119
1591
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
1592
|
+
@control_plane_endpoints_config = args[:control_plane_endpoints_config] if args.key?(:control_plane_endpoints_config)
|
1120
1593
|
@cost_management_config = args[:cost_management_config] if args.key?(:cost_management_config)
|
1121
1594
|
@create_time = args[:create_time] if args.key?(:create_time)
|
1122
1595
|
@current_master_version = args[:current_master_version] if args.key?(:current_master_version)
|
@@ -1125,11 +1598,14 @@ module Google
|
|
1125
1598
|
@database_encryption = args[:database_encryption] if args.key?(:database_encryption)
|
1126
1599
|
@default_max_pods_constraint = args[:default_max_pods_constraint] if args.key?(:default_max_pods_constraint)
|
1127
1600
|
@description = args[:description] if args.key?(:description)
|
1601
|
+
@enable_k8s_beta_apis = args[:enable_k8s_beta_apis] if args.key?(:enable_k8s_beta_apis)
|
1128
1602
|
@enable_kubernetes_alpha = args[:enable_kubernetes_alpha] if args.key?(:enable_kubernetes_alpha)
|
1129
1603
|
@enable_tpu = args[:enable_tpu] if args.key?(:enable_tpu)
|
1130
1604
|
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
1605
|
+
@enterprise_config = args[:enterprise_config] if args.key?(:enterprise_config)
|
1131
1606
|
@etag = args[:etag] if args.key?(:etag)
|
1132
1607
|
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
1608
|
+
@fleet = args[:fleet] if args.key?(:fleet)
|
1133
1609
|
@id = args[:id] if args.key?(:id)
|
1134
1610
|
@identity_service_config = args[:identity_service_config] if args.key?(:identity_service_config)
|
1135
1611
|
@initial_cluster_version = args[:initial_cluster_version] if args.key?(:initial_cluster_version)
|
@@ -1160,13 +1636,20 @@ module Google
|
|
1160
1636
|
@node_pool_defaults = args[:node_pool_defaults] if args.key?(:node_pool_defaults)
|
1161
1637
|
@node_pools = args[:node_pools] if args.key?(:node_pools)
|
1162
1638
|
@notification_config = args[:notification_config] if args.key?(:notification_config)
|
1639
|
+
@parent_product_config = args[:parent_product_config] if args.key?(:parent_product_config)
|
1640
|
+
@pod_autoscaling = args[:pod_autoscaling] if args.key?(:pod_autoscaling)
|
1163
1641
|
@pod_security_policy_config = args[:pod_security_policy_config] if args.key?(:pod_security_policy_config)
|
1164
1642
|
@private_cluster = args[:private_cluster] if args.key?(:private_cluster)
|
1165
1643
|
@private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
|
1166
1644
|
@protect_config = args[:protect_config] if args.key?(:protect_config)
|
1645
|
+
@rbac_binding_config = args[:rbac_binding_config] if args.key?(:rbac_binding_config)
|
1167
1646
|
@release_channel = args[:release_channel] if args.key?(:release_channel)
|
1168
1647
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
1169
1648
|
@resource_usage_export_config = args[:resource_usage_export_config] if args.key?(:resource_usage_export_config)
|
1649
|
+
@satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
|
1650
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
1651
|
+
@secret_manager_config = args[:secret_manager_config] if args.key?(:secret_manager_config)
|
1652
|
+
@security_posture_config = args[:security_posture_config] if args.key?(:security_posture_config)
|
1170
1653
|
@self_link = args[:self_link] if args.key?(:self_link)
|
1171
1654
|
@services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
|
1172
1655
|
@shielded_nodes = args[:shielded_nodes] if args.key?(:shielded_nodes)
|
@@ -1175,6 +1658,7 @@ module Google
|
|
1175
1658
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
1176
1659
|
@tpu_config = args[:tpu_config] if args.key?(:tpu_config)
|
1177
1660
|
@tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
|
1661
|
+
@user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
|
1178
1662
|
@vertical_pod_autoscaling = args[:vertical_pod_autoscaling] if args.key?(:vertical_pod_autoscaling)
|
1179
1663
|
@workload_alts_config = args[:workload_alts_config] if args.key?(:workload_alts_config)
|
1180
1664
|
@workload_certificates = args[:workload_certificates] if args.key?(:workload_certificates)
|
@@ -1232,6 +1716,25 @@ module Google
|
|
1232
1716
|
end
|
1233
1717
|
end
|
1234
1718
|
|
1719
|
+
# Configuration of all network bandwidth tiers
|
1720
|
+
class ClusterNetworkPerformanceConfig
|
1721
|
+
include Google::Apis::Core::Hashable
|
1722
|
+
|
1723
|
+
# Specifies the total network bandwidth tier for the NodePool.
|
1724
|
+
# Corresponds to the JSON property `totalEgressBandwidthTier`
|
1725
|
+
# @return [String]
|
1726
|
+
attr_accessor :total_egress_bandwidth_tier
|
1727
|
+
|
1728
|
+
def initialize(**args)
|
1729
|
+
update!(**args)
|
1730
|
+
end
|
1731
|
+
|
1732
|
+
# Update properties of this object
|
1733
|
+
def update!(**args)
|
1734
|
+
@total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
|
1735
|
+
end
|
1736
|
+
end
|
1737
|
+
|
1235
1738
|
# Telemetry integration for the cluster.
|
1236
1739
|
class ClusterTelemetry
|
1237
1740
|
include Google::Apis::Core::Hashable
|
@@ -1256,6 +1759,12 @@ module Google
|
|
1256
1759
|
class ClusterUpdate
|
1257
1760
|
include Google::Apis::Core::Hashable
|
1258
1761
|
|
1762
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
1763
|
+
# ranges supporting the ClusterUpdate message.
|
1764
|
+
# Corresponds to the JSON property `additionalPodRangesConfig`
|
1765
|
+
# @return [Google::Apis::ContainerV1beta1::AdditionalPodRangesConfig]
|
1766
|
+
attr_accessor :additional_pod_ranges_config
|
1767
|
+
|
1259
1768
|
# Configuration for the addons that can be automatically spun up in the cluster,
|
1260
1769
|
# enabling additional functionality.
|
1261
1770
|
# Corresponds to the JSON property `desiredAddonsConfig`
|
@@ -1267,6 +1776,11 @@ module Google
|
|
1267
1776
|
# @return [Google::Apis::ContainerV1beta1::AuthenticatorGroupsConfig]
|
1268
1777
|
attr_accessor :desired_authenticator_groups_config
|
1269
1778
|
|
1779
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
1780
|
+
# Corresponds to the JSON property `desiredAutopilotWorkloadPolicyConfig`
|
1781
|
+
# @return [Google::Apis::ContainerV1beta1::WorkloadPolicyConfig]
|
1782
|
+
attr_accessor :desired_autopilot_workload_policy_config
|
1783
|
+
|
1270
1784
|
# Configuration for Binary Authorization.
|
1271
1785
|
# Corresponds to the JSON property `desiredBinaryAuthorization`
|
1272
1786
|
# @return [Google::Apis::ContainerV1beta1::BinaryAuthorization]
|
@@ -1284,6 +1798,22 @@ module Google
|
|
1284
1798
|
# @return [Google::Apis::ContainerV1beta1::ClusterTelemetry]
|
1285
1799
|
attr_accessor :desired_cluster_telemetry
|
1286
1800
|
|
1801
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
1802
|
+
# for the Compliance Posture.
|
1803
|
+
# Corresponds to the JSON property `desiredCompliancePostureConfig`
|
1804
|
+
# @return [Google::Apis::ContainerV1beta1::CompliancePostureConfig]
|
1805
|
+
attr_accessor :desired_compliance_posture_config
|
1806
|
+
|
1807
|
+
# ContainerdConfig contains configuration to customize containerd.
|
1808
|
+
# Corresponds to the JSON property `desiredContainerdConfig`
|
1809
|
+
# @return [Google::Apis::ContainerV1beta1::ContainerdConfig]
|
1810
|
+
attr_accessor :desired_containerd_config
|
1811
|
+
|
1812
|
+
# Configuration for all of the cluster's control plane endpoints.
|
1813
|
+
# Corresponds to the JSON property `desiredControlPlaneEndpointsConfig`
|
1814
|
+
# @return [Google::Apis::ContainerV1beta1::ControlPlaneEndpointsConfig]
|
1815
|
+
attr_accessor :desired_control_plane_endpoints_config
|
1816
|
+
|
1287
1817
|
# Configuration for fine-grained cost management feature.
|
1288
1818
|
# Corresponds to the JSON property `desiredCostManagementConfig`
|
1289
1819
|
# @return [Google::Apis::ContainerV1beta1::CostManagementConfig]
|
@@ -1299,23 +1829,68 @@ module Google
|
|
1299
1829
|
# @return [String]
|
1300
1830
|
attr_accessor :desired_datapath_provider
|
1301
1831
|
|
1302
|
-
#
|
1832
|
+
# Override the default setting of whether future created nodes have private IP
|
1833
|
+
# addresses only, namely NetworkConfig.default_enable_private_nodes
|
1834
|
+
# Corresponds to the JSON property `desiredDefaultEnablePrivateNodes`
|
1835
|
+
# @return [Boolean]
|
1836
|
+
attr_accessor :desired_default_enable_private_nodes
|
1837
|
+
alias_method :desired_default_enable_private_nodes?, :desired_default_enable_private_nodes
|
1838
|
+
|
1839
|
+
# DefaultSnatStatus contains the desired state of whether default sNAT should be
|
1303
1840
|
# disabled on the cluster.
|
1304
1841
|
# Corresponds to the JSON property `desiredDefaultSnatStatus`
|
1305
1842
|
# @return [Google::Apis::ContainerV1beta1::DefaultSnatStatus]
|
1306
1843
|
attr_accessor :desired_default_snat_status
|
1307
1844
|
|
1845
|
+
# Enable/Disable L4 LB VPC firewall reconciliation for the cluster.
|
1846
|
+
# Corresponds to the JSON property `desiredDisableL4LbFirewallReconciliation`
|
1847
|
+
# @return [Boolean]
|
1848
|
+
attr_accessor :desired_disable_l4_lb_firewall_reconciliation
|
1849
|
+
alias_method :desired_disable_l4_lb_firewall_reconciliation?, :desired_disable_l4_lb_firewall_reconciliation
|
1850
|
+
|
1308
1851
|
# DNSConfig contains the desired set of options for configuring clusterDNS.
|
1309
1852
|
# Corresponds to the JSON property `desiredDnsConfig`
|
1310
1853
|
# @return [Google::Apis::ContainerV1beta1::DnsConfig]
|
1311
1854
|
attr_accessor :desired_dns_config
|
1312
1855
|
|
1313
|
-
# Enable/Disable
|
1856
|
+
# Enable/Disable Cilium Clusterwide Network Policy for the cluster.
|
1857
|
+
# Corresponds to the JSON property `desiredEnableCiliumClusterwideNetworkPolicy`
|
1858
|
+
# @return [Boolean]
|
1859
|
+
attr_accessor :desired_enable_cilium_clusterwide_network_policy
|
1860
|
+
alias_method :desired_enable_cilium_clusterwide_network_policy?, :desired_enable_cilium_clusterwide_network_policy
|
1861
|
+
|
1862
|
+
# Enable/Disable FQDN Network Policy for the cluster.
|
1863
|
+
# Corresponds to the JSON property `desiredEnableFqdnNetworkPolicy`
|
1864
|
+
# @return [Boolean]
|
1865
|
+
attr_accessor :desired_enable_fqdn_network_policy
|
1866
|
+
alias_method :desired_enable_fqdn_network_policy?, :desired_enable_fqdn_network_policy
|
1867
|
+
|
1868
|
+
# Enable/Disable Multi-Networking for the cluster
|
1869
|
+
# Corresponds to the JSON property `desiredEnableMultiNetworking`
|
1870
|
+
# @return [Boolean]
|
1871
|
+
attr_accessor :desired_enable_multi_networking
|
1872
|
+
alias_method :desired_enable_multi_networking?, :desired_enable_multi_networking
|
1873
|
+
|
1874
|
+
# Enable/Disable private endpoint for the cluster's master. Deprecated: Use
|
1875
|
+
# desired_control_plane_endpoints_config.ip_endpoints_config.
|
1876
|
+
# enable_public_endpoint instead. Note that the value of enable_public_endpoint
|
1877
|
+
# is reversed: if enable_private_endpoint is false, then enable_public_endpoint
|
1878
|
+
# will be true.
|
1314
1879
|
# Corresponds to the JSON property `desiredEnablePrivateEndpoint`
|
1315
1880
|
# @return [Boolean]
|
1316
1881
|
attr_accessor :desired_enable_private_endpoint
|
1317
1882
|
alias_method :desired_enable_private_endpoint?, :desired_enable_private_endpoint
|
1318
1883
|
|
1884
|
+
# DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
|
1885
|
+
# Corresponds to the JSON property `desiredEnterpriseConfig`
|
1886
|
+
# @return [Google::Apis::ContainerV1beta1::DesiredEnterpriseConfig]
|
1887
|
+
attr_accessor :desired_enterprise_config
|
1888
|
+
|
1889
|
+
# Fleet is the fleet configuration for the cluster.
|
1890
|
+
# Corresponds to the JSON property `desiredFleet`
|
1891
|
+
# @return [Google::Apis::ContainerV1beta1::Fleet]
|
1892
|
+
attr_accessor :desired_fleet
|
1893
|
+
|
1319
1894
|
# GatewayAPIConfig contains the desired config of Gateway API on this cluster.
|
1320
1895
|
# Corresponds to the JSON property `desiredGatewayApiConfig`
|
1321
1896
|
# @return [Google::Apis::ContainerV1beta1::GatewayApiConfig]
|
@@ -1326,6 +1901,12 @@ module Google
|
|
1326
1901
|
# @return [Google::Apis::ContainerV1beta1::GcfsConfig]
|
1327
1902
|
attr_accessor :desired_gcfs_config
|
1328
1903
|
|
1904
|
+
# HostMaintenancePolicy contains the maintenance policy for the hosts on which
|
1905
|
+
# the GKE VMs run on.
|
1906
|
+
# Corresponds to the JSON property `desiredHostMaintenancePolicy`
|
1907
|
+
# @return [Google::Apis::ContainerV1beta1::HostMaintenancePolicy]
|
1908
|
+
attr_accessor :desired_host_maintenance_policy
|
1909
|
+
|
1329
1910
|
# IdentityServiceConfig is configuration for Identity Service which allows
|
1330
1911
|
# customers to use external identity providers with the K8S API
|
1331
1912
|
# Corresponds to the JSON property `desiredIdentityServiceConfig`
|
@@ -1338,12 +1919,23 @@ module Google
|
|
1338
1919
|
# @return [String]
|
1339
1920
|
attr_accessor :desired_image_type
|
1340
1921
|
|
1922
|
+
# Specify the details of in-transit encryption. Now named inter-node transparent
|
1923
|
+
# encryption.
|
1924
|
+
# Corresponds to the JSON property `desiredInTransitEncryptionConfig`
|
1925
|
+
# @return [String]
|
1926
|
+
attr_accessor :desired_in_transit_encryption_config
|
1927
|
+
|
1341
1928
|
# IntraNodeVisibilityConfig contains the desired config of the intra-node
|
1342
1929
|
# visibility on this cluster.
|
1343
1930
|
# Corresponds to the JSON property `desiredIntraNodeVisibilityConfig`
|
1344
1931
|
# @return [Google::Apis::ContainerV1beta1::IntraNodeVisibilityConfig]
|
1345
1932
|
attr_accessor :desired_intra_node_visibility_config
|
1346
1933
|
|
1934
|
+
# Kubernetes open source beta apis enabled on the cluster.
|
1935
|
+
# Corresponds to the JSON property `desiredK8sBetaApis`
|
1936
|
+
# @return [Google::Apis::ContainerV1beta1::K8sBetaApiConfig]
|
1937
|
+
attr_accessor :desired_k8s_beta_apis
|
1938
|
+
|
1347
1939
|
# ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
|
1348
1940
|
# subsetting on this cluster.
|
1349
1941
|
# Corresponds to the JSON property `desiredL4ilbSubsettingConfig`
|
@@ -1420,6 +2012,26 @@ module Google
|
|
1420
2012
|
# @return [String]
|
1421
2013
|
attr_accessor :desired_monitoring_service
|
1422
2014
|
|
2015
|
+
# Configuration of all network bandwidth tiers
|
2016
|
+
# Corresponds to the JSON property `desiredNetworkPerformanceConfig`
|
2017
|
+
# @return [Google::Apis::ContainerV1beta1::ClusterNetworkPerformanceConfig]
|
2018
|
+
attr_accessor :desired_network_performance_config
|
2019
|
+
|
2020
|
+
# Node kubelet configs.
|
2021
|
+
# Corresponds to the JSON property `desiredNodeKubeletConfig`
|
2022
|
+
# @return [Google::Apis::ContainerV1beta1::NodeKubeletConfig]
|
2023
|
+
attr_accessor :desired_node_kubelet_config
|
2024
|
+
|
2025
|
+
# Node kubelet configs.
|
2026
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigKubeletConfig`
|
2027
|
+
# @return [Google::Apis::ContainerV1beta1::NodeKubeletConfig]
|
2028
|
+
attr_accessor :desired_node_pool_auto_config_kubelet_config
|
2029
|
+
|
2030
|
+
# Parameters that can be configured on Linux nodes.
|
2031
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigLinuxNodeConfig`
|
2032
|
+
# @return [Google::Apis::ContainerV1beta1::LinuxNodeConfig]
|
2033
|
+
attr_accessor :desired_node_pool_auto_config_linux_node_config
|
2034
|
+
|
1423
2035
|
# Collection of Compute Engine network tags that can be applied to a node's
|
1424
2036
|
# underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/
|
1425
2037
|
# docs/reference/rest/v1/NodeConfig)).
|
@@ -1427,6 +2039,15 @@ module Google
|
|
1427
2039
|
# @return [Google::Apis::ContainerV1beta1::NetworkTags]
|
1428
2040
|
attr_accessor :desired_node_pool_auto_config_network_tags
|
1429
2041
|
|
2042
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
2043
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
2044
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
2045
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
2046
|
+
# specified. Existing tags will be replaced with new values.
|
2047
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigResourceManagerTags`
|
2048
|
+
# @return [Google::Apis::ContainerV1beta1::ResourceManagerTags]
|
2049
|
+
attr_accessor :desired_node_pool_auto_config_resource_manager_tags
|
2050
|
+
|
1430
2051
|
# NodePoolAutoscaling contains information required by cluster autoscaler to
|
1431
2052
|
# adjust the size of the node pool to the current cluster usage.
|
1432
2053
|
# Corresponds to the JSON property `desiredNodePoolAutoscaling`
|
@@ -1462,6 +2083,19 @@ module Google
|
|
1462
2083
|
# @return [Google::Apis::ContainerV1beta1::NotificationConfig]
|
1463
2084
|
attr_accessor :desired_notification_config
|
1464
2085
|
|
2086
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
2087
|
+
# This field is used by Google internal products that are built on top of a GKE
|
2088
|
+
# cluster and take the ownership of the cluster.
|
2089
|
+
# Corresponds to the JSON property `desiredParentProductConfig`
|
2090
|
+
# @return [Google::Apis::ContainerV1beta1::ParentProductConfig]
|
2091
|
+
attr_accessor :desired_parent_product_config
|
2092
|
+
|
2093
|
+
# PodAutoscaling is used for configuration of parameters for workload
|
2094
|
+
# autoscaling.
|
2095
|
+
# Corresponds to the JSON property `desiredPodAutoscaling`
|
2096
|
+
# @return [Google::Apis::ContainerV1beta1::PodAutoscaling]
|
2097
|
+
attr_accessor :desired_pod_autoscaling
|
2098
|
+
|
1465
2099
|
# Configuration for the PodSecurityPolicy feature.
|
1466
2100
|
# Corresponds to the JSON property `desiredPodSecurityPolicyConfig`
|
1467
2101
|
# @return [Google::Apis::ContainerV1beta1::PodSecurityPolicyConfig]
|
@@ -1483,6 +2117,12 @@ module Google
|
|
1483
2117
|
# @return [Google::Apis::ContainerV1beta1::ProtectConfig]
|
1484
2118
|
attr_accessor :desired_protect_config
|
1485
2119
|
|
2120
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
2121
|
+
# that can be created.
|
2122
|
+
# Corresponds to the JSON property `desiredRbacBindingConfig`
|
2123
|
+
# @return [Google::Apis::ContainerV1beta1::RbacBindingConfig]
|
2124
|
+
attr_accessor :desired_rbac_binding_config
|
2125
|
+
|
1486
2126
|
# ReleaseChannel indicates which release channel a cluster is subscribed to.
|
1487
2127
|
# Release channels are arranged in order of risk. When a cluster is subscribed
|
1488
2128
|
# to a release channel, Google maintains both the master version and the node
|
@@ -1496,6 +2136,17 @@ module Google
|
|
1496
2136
|
# @return [Google::Apis::ContainerV1beta1::ResourceUsageExportConfig]
|
1497
2137
|
attr_accessor :desired_resource_usage_export_config
|
1498
2138
|
|
2139
|
+
# SecretManagerConfig is config for secret manager enablement.
|
2140
|
+
# Corresponds to the JSON property `desiredSecretManagerConfig`
|
2141
|
+
# @return [Google::Apis::ContainerV1beta1::SecretManagerConfig]
|
2142
|
+
attr_accessor :desired_secret_manager_config
|
2143
|
+
|
2144
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
2145
|
+
# the Security Posture API.
|
2146
|
+
# Corresponds to the JSON property `desiredSecurityPostureConfig`
|
2147
|
+
# @return [Google::Apis::ContainerV1beta1::SecurityPostureConfig]
|
2148
|
+
attr_accessor :desired_security_posture_config
|
2149
|
+
|
1499
2150
|
# Config to block services with externalIPs field.
|
1500
2151
|
# Corresponds to the JSON property `desiredServiceExternalIpsConfig`
|
1501
2152
|
# @return [Google::Apis::ContainerV1beta1::ServiceExternalIPsConfig]
|
@@ -1540,6 +2191,11 @@ module Google
|
|
1540
2191
|
# @return [Google::Apis::ContainerV1beta1::WorkloadIdentityConfig]
|
1541
2192
|
attr_accessor :desired_workload_identity_config
|
1542
2193
|
|
2194
|
+
# Kubernetes open source beta apis enabled on the cluster.
|
2195
|
+
# Corresponds to the JSON property `enableK8sBetaApis`
|
2196
|
+
# @return [Google::Apis::ContainerV1beta1::K8sBetaApiConfig]
|
2197
|
+
attr_accessor :enable_k8s_beta_apis
|
2198
|
+
|
1543
2199
|
# The current etag of the cluster. If an etag is provided and does not match the
|
1544
2200
|
# current etag of the cluster, update will be blocked and an ABORTED error will
|
1545
2201
|
# be returned.
|
@@ -1547,28 +2203,60 @@ module Google
|
|
1547
2203
|
# @return [String]
|
1548
2204
|
attr_accessor :etag
|
1549
2205
|
|
2206
|
+
# Configuration options for private clusters.
|
2207
|
+
# Corresponds to the JSON property `privateClusterConfig`
|
2208
|
+
# @return [Google::Apis::ContainerV1beta1::PrivateClusterConfig]
|
2209
|
+
attr_accessor :private_cluster_config
|
2210
|
+
|
2211
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
2212
|
+
# ranges supporting the ClusterUpdate message.
|
2213
|
+
# Corresponds to the JSON property `removedAdditionalPodRangesConfig`
|
2214
|
+
# @return [Google::Apis::ContainerV1beta1::AdditionalPodRangesConfig]
|
2215
|
+
attr_accessor :removed_additional_pod_ranges_config
|
2216
|
+
|
2217
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
2218
|
+
# signing certs and token that are used for communication within cluster.
|
2219
|
+
# Corresponds to the JSON property `userManagedKeysConfig`
|
2220
|
+
# @return [Google::Apis::ContainerV1beta1::UserManagedKeysConfig]
|
2221
|
+
attr_accessor :user_managed_keys_config
|
2222
|
+
|
1550
2223
|
def initialize(**args)
|
1551
2224
|
update!(**args)
|
1552
2225
|
end
|
1553
2226
|
|
1554
2227
|
# Update properties of this object
|
1555
2228
|
def update!(**args)
|
2229
|
+
@additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config)
|
1556
2230
|
@desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
|
1557
2231
|
@desired_authenticator_groups_config = args[:desired_authenticator_groups_config] if args.key?(:desired_authenticator_groups_config)
|
2232
|
+
@desired_autopilot_workload_policy_config = args[:desired_autopilot_workload_policy_config] if args.key?(:desired_autopilot_workload_policy_config)
|
1558
2233
|
@desired_binary_authorization = args[:desired_binary_authorization] if args.key?(:desired_binary_authorization)
|
1559
2234
|
@desired_cluster_autoscaling = args[:desired_cluster_autoscaling] if args.key?(:desired_cluster_autoscaling)
|
1560
2235
|
@desired_cluster_telemetry = args[:desired_cluster_telemetry] if args.key?(:desired_cluster_telemetry)
|
2236
|
+
@desired_compliance_posture_config = args[:desired_compliance_posture_config] if args.key?(:desired_compliance_posture_config)
|
2237
|
+
@desired_containerd_config = args[:desired_containerd_config] if args.key?(:desired_containerd_config)
|
2238
|
+
@desired_control_plane_endpoints_config = args[:desired_control_plane_endpoints_config] if args.key?(:desired_control_plane_endpoints_config)
|
1561
2239
|
@desired_cost_management_config = args[:desired_cost_management_config] if args.key?(:desired_cost_management_config)
|
1562
2240
|
@desired_database_encryption = args[:desired_database_encryption] if args.key?(:desired_database_encryption)
|
1563
2241
|
@desired_datapath_provider = args[:desired_datapath_provider] if args.key?(:desired_datapath_provider)
|
2242
|
+
@desired_default_enable_private_nodes = args[:desired_default_enable_private_nodes] if args.key?(:desired_default_enable_private_nodes)
|
1564
2243
|
@desired_default_snat_status = args[:desired_default_snat_status] if args.key?(:desired_default_snat_status)
|
2244
|
+
@desired_disable_l4_lb_firewall_reconciliation = args[:desired_disable_l4_lb_firewall_reconciliation] if args.key?(:desired_disable_l4_lb_firewall_reconciliation)
|
1565
2245
|
@desired_dns_config = args[:desired_dns_config] if args.key?(:desired_dns_config)
|
2246
|
+
@desired_enable_cilium_clusterwide_network_policy = args[:desired_enable_cilium_clusterwide_network_policy] if args.key?(:desired_enable_cilium_clusterwide_network_policy)
|
2247
|
+
@desired_enable_fqdn_network_policy = args[:desired_enable_fqdn_network_policy] if args.key?(:desired_enable_fqdn_network_policy)
|
2248
|
+
@desired_enable_multi_networking = args[:desired_enable_multi_networking] if args.key?(:desired_enable_multi_networking)
|
1566
2249
|
@desired_enable_private_endpoint = args[:desired_enable_private_endpoint] if args.key?(:desired_enable_private_endpoint)
|
2250
|
+
@desired_enterprise_config = args[:desired_enterprise_config] if args.key?(:desired_enterprise_config)
|
2251
|
+
@desired_fleet = args[:desired_fleet] if args.key?(:desired_fleet)
|
1567
2252
|
@desired_gateway_api_config = args[:desired_gateway_api_config] if args.key?(:desired_gateway_api_config)
|
1568
2253
|
@desired_gcfs_config = args[:desired_gcfs_config] if args.key?(:desired_gcfs_config)
|
2254
|
+
@desired_host_maintenance_policy = args[:desired_host_maintenance_policy] if args.key?(:desired_host_maintenance_policy)
|
1569
2255
|
@desired_identity_service_config = args[:desired_identity_service_config] if args.key?(:desired_identity_service_config)
|
1570
2256
|
@desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
|
2257
|
+
@desired_in_transit_encryption_config = args[:desired_in_transit_encryption_config] if args.key?(:desired_in_transit_encryption_config)
|
1571
2258
|
@desired_intra_node_visibility_config = args[:desired_intra_node_visibility_config] if args.key?(:desired_intra_node_visibility_config)
|
2259
|
+
@desired_k8s_beta_apis = args[:desired_k8s_beta_apis] if args.key?(:desired_k8s_beta_apis)
|
1572
2260
|
@desired_l4ilb_subsetting_config = args[:desired_l4ilb_subsetting_config] if args.key?(:desired_l4ilb_subsetting_config)
|
1573
2261
|
@desired_locations = args[:desired_locations] if args.key?(:desired_locations)
|
1574
2262
|
@desired_logging_config = args[:desired_logging_config] if args.key?(:desired_logging_config)
|
@@ -1579,18 +2267,28 @@ module Google
|
|
1579
2267
|
@desired_mesh_certificates = args[:desired_mesh_certificates] if args.key?(:desired_mesh_certificates)
|
1580
2268
|
@desired_monitoring_config = args[:desired_monitoring_config] if args.key?(:desired_monitoring_config)
|
1581
2269
|
@desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
|
2270
|
+
@desired_network_performance_config = args[:desired_network_performance_config] if args.key?(:desired_network_performance_config)
|
2271
|
+
@desired_node_kubelet_config = args[:desired_node_kubelet_config] if args.key?(:desired_node_kubelet_config)
|
2272
|
+
@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)
|
2273
|
+
@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
2274
|
@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)
|
2275
|
+
@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
2276
|
@desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
|
1584
2277
|
@desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
|
1585
2278
|
@desired_node_pool_logging_config = args[:desired_node_pool_logging_config] if args.key?(:desired_node_pool_logging_config)
|
1586
2279
|
@desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
|
1587
2280
|
@desired_notification_config = args[:desired_notification_config] if args.key?(:desired_notification_config)
|
2281
|
+
@desired_parent_product_config = args[:desired_parent_product_config] if args.key?(:desired_parent_product_config)
|
2282
|
+
@desired_pod_autoscaling = args[:desired_pod_autoscaling] if args.key?(:desired_pod_autoscaling)
|
1588
2283
|
@desired_pod_security_policy_config = args[:desired_pod_security_policy_config] if args.key?(:desired_pod_security_policy_config)
|
1589
2284
|
@desired_private_cluster_config = args[:desired_private_cluster_config] if args.key?(:desired_private_cluster_config)
|
1590
2285
|
@desired_private_ipv6_google_access = args[:desired_private_ipv6_google_access] if args.key?(:desired_private_ipv6_google_access)
|
1591
2286
|
@desired_protect_config = args[:desired_protect_config] if args.key?(:desired_protect_config)
|
2287
|
+
@desired_rbac_binding_config = args[:desired_rbac_binding_config] if args.key?(:desired_rbac_binding_config)
|
1592
2288
|
@desired_release_channel = args[:desired_release_channel] if args.key?(:desired_release_channel)
|
1593
2289
|
@desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config)
|
2290
|
+
@desired_secret_manager_config = args[:desired_secret_manager_config] if args.key?(:desired_secret_manager_config)
|
2291
|
+
@desired_security_posture_config = args[:desired_security_posture_config] if args.key?(:desired_security_posture_config)
|
1594
2292
|
@desired_service_external_ips_config = args[:desired_service_external_ips_config] if args.key?(:desired_service_external_ips_config)
|
1595
2293
|
@desired_shielded_nodes = args[:desired_shielded_nodes] if args.key?(:desired_shielded_nodes)
|
1596
2294
|
@desired_stack_type = args[:desired_stack_type] if args.key?(:desired_stack_type)
|
@@ -1599,7 +2297,66 @@ module Google
|
|
1599
2297
|
@desired_workload_alts_config = args[:desired_workload_alts_config] if args.key?(:desired_workload_alts_config)
|
1600
2298
|
@desired_workload_certificates = args[:desired_workload_certificates] if args.key?(:desired_workload_certificates)
|
1601
2299
|
@desired_workload_identity_config = args[:desired_workload_identity_config] if args.key?(:desired_workload_identity_config)
|
2300
|
+
@enable_k8s_beta_apis = args[:enable_k8s_beta_apis] if args.key?(:enable_k8s_beta_apis)
|
1602
2301
|
@etag = args[:etag] if args.key?(:etag)
|
2302
|
+
@private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
|
2303
|
+
@removed_additional_pod_ranges_config = args[:removed_additional_pod_ranges_config] if args.key?(:removed_additional_pod_ranges_config)
|
2304
|
+
@user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
|
2305
|
+
end
|
2306
|
+
end
|
2307
|
+
|
2308
|
+
# ClusterUpgradeInfo contains the upgrade information of a cluster.
|
2309
|
+
class ClusterUpgradeInfo
|
2310
|
+
include Google::Apis::Core::Hashable
|
2311
|
+
|
2312
|
+
# The auto upgrade status.
|
2313
|
+
# Corresponds to the JSON property `autoUpgradeStatus`
|
2314
|
+
# @return [Array<String>]
|
2315
|
+
attr_accessor :auto_upgrade_status
|
2316
|
+
|
2317
|
+
# The cluster's current minor version's end of extended support timestamp.
|
2318
|
+
# Corresponds to the JSON property `endOfExtendedSupportTimestamp`
|
2319
|
+
# @return [String]
|
2320
|
+
attr_accessor :end_of_extended_support_timestamp
|
2321
|
+
|
2322
|
+
# The cluster's current minor version's end of standard support timestamp.
|
2323
|
+
# Corresponds to the JSON property `endOfStandardSupportTimestamp`
|
2324
|
+
# @return [String]
|
2325
|
+
attr_accessor :end_of_standard_support_timestamp
|
2326
|
+
|
2327
|
+
# minor_target_version indicates the target version for minor upgrade.
|
2328
|
+
# Corresponds to the JSON property `minorTargetVersion`
|
2329
|
+
# @return [String]
|
2330
|
+
attr_accessor :minor_target_version
|
2331
|
+
|
2332
|
+
# patch_target_version indicates the target version for patch upgrade.
|
2333
|
+
# Corresponds to the JSON property `patchTargetVersion`
|
2334
|
+
# @return [String]
|
2335
|
+
attr_accessor :patch_target_version
|
2336
|
+
|
2337
|
+
# The auto upgrade paused reason.
|
2338
|
+
# Corresponds to the JSON property `pausedReason`
|
2339
|
+
# @return [Array<String>]
|
2340
|
+
attr_accessor :paused_reason
|
2341
|
+
|
2342
|
+
# The list of past auto upgrades.
|
2343
|
+
# Corresponds to the JSON property `upgradeDetails`
|
2344
|
+
# @return [Array<Google::Apis::ContainerV1beta1::UpgradeDetails>]
|
2345
|
+
attr_accessor :upgrade_details
|
2346
|
+
|
2347
|
+
def initialize(**args)
|
2348
|
+
update!(**args)
|
2349
|
+
end
|
2350
|
+
|
2351
|
+
# Update properties of this object
|
2352
|
+
def update!(**args)
|
2353
|
+
@auto_upgrade_status = args[:auto_upgrade_status] if args.key?(:auto_upgrade_status)
|
2354
|
+
@end_of_extended_support_timestamp = args[:end_of_extended_support_timestamp] if args.key?(:end_of_extended_support_timestamp)
|
2355
|
+
@end_of_standard_support_timestamp = args[:end_of_standard_support_timestamp] if args.key?(:end_of_standard_support_timestamp)
|
2356
|
+
@minor_target_version = args[:minor_target_version] if args.key?(:minor_target_version)
|
2357
|
+
@patch_target_version = args[:patch_target_version] if args.key?(:patch_target_version)
|
2358
|
+
@paused_reason = args[:paused_reason] if args.key?(:paused_reason)
|
2359
|
+
@upgrade_details = args[:upgrade_details] if args.key?(:upgrade_details)
|
1603
2360
|
end
|
1604
2361
|
end
|
1605
2362
|
|
@@ -1660,6 +2417,51 @@ module Google
|
|
1660
2417
|
end
|
1661
2418
|
end
|
1662
2419
|
|
2420
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
2421
|
+
# for the Compliance Posture.
|
2422
|
+
class CompliancePostureConfig
|
2423
|
+
include Google::Apis::Core::Hashable
|
2424
|
+
|
2425
|
+
# List of enabled compliance standards.
|
2426
|
+
# Corresponds to the JSON property `complianceStandards`
|
2427
|
+
# @return [Array<Google::Apis::ContainerV1beta1::ComplianceStandard>]
|
2428
|
+
attr_accessor :compliance_standards
|
2429
|
+
|
2430
|
+
# Defines the enablement mode for Compliance Posture.
|
2431
|
+
# Corresponds to the JSON property `mode`
|
2432
|
+
# @return [String]
|
2433
|
+
attr_accessor :mode
|
2434
|
+
|
2435
|
+
def initialize(**args)
|
2436
|
+
update!(**args)
|
2437
|
+
end
|
2438
|
+
|
2439
|
+
# Update properties of this object
|
2440
|
+
def update!(**args)
|
2441
|
+
@compliance_standards = args[:compliance_standards] if args.key?(:compliance_standards)
|
2442
|
+
@mode = args[:mode] if args.key?(:mode)
|
2443
|
+
end
|
2444
|
+
end
|
2445
|
+
|
2446
|
+
# Defines the details of a compliance standard.
|
2447
|
+
class ComplianceStandard
|
2448
|
+
include Google::Apis::Core::Hashable
|
2449
|
+
|
2450
|
+
# Name of the compliance standard.
|
2451
|
+
# Corresponds to the JSON property `standard`
|
2452
|
+
# @return [String]
|
2453
|
+
attr_accessor :standard
|
2454
|
+
|
2455
|
+
def initialize(**args)
|
2456
|
+
update!(**args)
|
2457
|
+
end
|
2458
|
+
|
2459
|
+
# Update properties of this object
|
2460
|
+
def update!(**args)
|
2461
|
+
@standard = args[:standard] if args.key?(:standard)
|
2462
|
+
end
|
2463
|
+
end
|
2464
|
+
|
1663
2465
|
# ConfidentialNodes is configuration for the confidential nodes feature, which
|
1664
2466
|
# makes nodes run on confidential VMs.
|
1665
2467
|
class ConfidentialNodes
|
@@ -1722,6 +2524,51 @@ module Google
|
|
1722
2524
|
end
|
1723
2525
|
end
|
1724
2526
|
|
2527
|
+
# ContainerdConfig contains configuration to customize containerd.
|
2528
|
+
class ContainerdConfig
|
2529
|
+
include Google::Apis::Core::Hashable
|
2530
|
+
|
2531
|
+
# PrivateRegistryAccessConfig contains access configuration for private
|
2532
|
+
# container registries.
|
2533
|
+
# Corresponds to the JSON property `privateRegistryAccessConfig`
|
2534
|
+
# @return [Google::Apis::ContainerV1beta1::PrivateRegistryAccessConfig]
|
2535
|
+
attr_accessor :private_registry_access_config
|
2536
|
+
|
2537
|
+
def initialize(**args)
|
2538
|
+
update!(**args)
|
2539
|
+
end
|
2540
|
+
|
2541
|
+
# Update properties of this object
|
2542
|
+
def update!(**args)
|
2543
|
+
@private_registry_access_config = args[:private_registry_access_config] if args.key?(:private_registry_access_config)
|
2544
|
+
end
|
2545
|
+
end
|
2546
|
+
|
2547
|
+
# Configuration for all of the cluster's control plane endpoints.
|
2548
|
+
class ControlPlaneEndpointsConfig
|
2549
|
+
include Google::Apis::Core::Hashable
|
2550
|
+
|
2551
|
+
# Describes the configuration of a DNS endpoint.
|
2552
|
+
# Corresponds to the JSON property `dnsEndpointConfig`
|
2553
|
+
# @return [Google::Apis::ContainerV1beta1::DnsEndpointConfig]
|
2554
|
+
attr_accessor :dns_endpoint_config
|
2555
|
+
|
2556
|
+
# IP endpoints configuration.
|
2557
|
+
# Corresponds to the JSON property `ipEndpointsConfig`
|
2558
|
+
# @return [Google::Apis::ContainerV1beta1::IpEndpointsConfig]
|
2559
|
+
attr_accessor :ip_endpoints_config
|
2560
|
+
|
2561
|
+
def initialize(**args)
|
2562
|
+
update!(**args)
|
2563
|
+
end
|
2564
|
+
|
2565
|
+
# Update properties of this object
|
2566
|
+
def update!(**args)
|
2567
|
+
@dns_endpoint_config = args[:dns_endpoint_config] if args.key?(:dns_endpoint_config)
|
2568
|
+
@ip_endpoints_config = args[:ip_endpoints_config] if args.key?(:ip_endpoints_config)
|
2569
|
+
end
|
2570
|
+
end
|
2571
|
+
|
1725
2572
|
# Configuration for fine-grained cost management feature.
|
1726
2573
|
class CostManagementConfig
|
1727
2574
|
include Google::Apis::Core::Hashable
|
@@ -1799,20 +2646,7 @@ module Google
|
|
1799
2646
|
# specification, under the control of the cluster master. They may have a set of
|
1800
2647
|
# Kubernetes labels applied to them, which may be used to reference them during
|
1801
2648
|
# 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.
|
2649
|
+
# workload.
|
1816
2650
|
# Corresponds to the JSON property `nodePool`
|
1817
2651
|
# @return [Google::Apis::ContainerV1beta1::NodePool]
|
1818
2652
|
attr_accessor :node_pool
|
@@ -1855,6 +2689,11 @@ module Google
|
|
1855
2689
|
class DnsConfig
|
1856
2690
|
include Google::Apis::Core::Hashable
|
1857
2691
|
|
2692
|
+
# Optional. The domain used in Additive VPC scope.
|
2693
|
+
# Corresponds to the JSON property `additiveVpcScopeDnsDomain`
|
2694
|
+
# @return [String]
|
2695
|
+
attr_accessor :additive_vpc_scope_dns_domain
|
2696
|
+
|
1858
2697
|
# cluster_dns indicates which in-cluster DNS provider should be used.
|
1859
2698
|
# Corresponds to the JSON property `clusterDns`
|
1860
2699
|
# @return [String]
|
@@ -1876,17 +2715,48 @@ module Google
|
|
1876
2715
|
|
1877
2716
|
# Update properties of this object
|
1878
2717
|
def update!(**args)
|
2718
|
+
@additive_vpc_scope_dns_domain = args[:additive_vpc_scope_dns_domain] if args.key?(:additive_vpc_scope_dns_domain)
|
1879
2719
|
@cluster_dns = args[:cluster_dns] if args.key?(:cluster_dns)
|
1880
2720
|
@cluster_dns_domain = args[:cluster_dns_domain] if args.key?(:cluster_dns_domain)
|
1881
2721
|
@cluster_dns_scope = args[:cluster_dns_scope] if args.key?(:cluster_dns_scope)
|
1882
2722
|
end
|
1883
2723
|
end
|
1884
2724
|
|
2725
|
+
# Describes the configuration of a DNS endpoint.
|
2726
|
+
class DnsEndpointConfig
|
2727
|
+
include Google::Apis::Core::Hashable
|
2728
|
+
|
2729
|
+
# Controls whether user traffic is allowed over this endpoint. Note that GCP-
|
2730
|
+
# managed services may still use the endpoint even if this is false.
|
2731
|
+
# Corresponds to the JSON property `allowExternalTraffic`
|
2732
|
+
# @return [Boolean]
|
2733
|
+
attr_accessor :allow_external_traffic
|
2734
|
+
alias_method :allow_external_traffic?, :allow_external_traffic
|
2735
|
+
|
2736
|
+
# Output only. The cluster's DNS endpoint configuration. A DNS format address.
|
2737
|
+
# This is accessible from the public internet. Ex: uid.us-central1.gke.goog.
|
2738
|
+
# Always present, but the behavior may change according to the value of
|
2739
|
+
# DNSEndpointConfig.allow_external_traffic.
|
2740
|
+
# Corresponds to the JSON property `endpoint`
|
2741
|
+
# @return [String]
|
2742
|
+
attr_accessor :endpoint
|
2743
|
+
|
2744
|
+
def initialize(**args)
|
2745
|
+
update!(**args)
|
2746
|
+
end
|
2747
|
+
|
2748
|
+
# Update properties of this object
|
2749
|
+
def update!(**args)
|
2750
|
+
@allow_external_traffic = args[:allow_external_traffic] if args.key?(:allow_external_traffic)
|
2751
|
+
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
2752
|
+
end
|
2753
|
+
end
|
2754
|
+
|
1885
2755
|
# Time window specified for daily maintenance operations.
|
1886
2756
|
class DailyMaintenanceWindow
|
1887
2757
|
include Google::Apis::Core::Hashable
|
1888
2758
|
|
1889
|
-
#
|
2759
|
+
# Output only. Duration of the time window, automatically chosen to be smallest
|
1890
2760
|
# possible in the given scenario.
|
1891
2761
|
# Corresponds to the JSON property `duration`
|
1892
2762
|
# @return [String]
|
@@ -1913,13 +2783,29 @@ module Google
|
|
1913
2783
|
class DatabaseEncryption
|
1914
2784
|
include Google::Apis::Core::Hashable
|
1915
2785
|
|
2786
|
+
# Output only. The current state of etcd encryption.
|
2787
|
+
# Corresponds to the JSON property `currentState`
|
2788
|
+
# @return [String]
|
2789
|
+
attr_accessor :current_state
|
2790
|
+
|
2791
|
+
# Output only. Keys in use by the cluster for decrypting existing objects, in
|
2792
|
+
# addition to the key in `key_name`. Each item is a CloudKMS key resource.
|
2793
|
+
# Corresponds to the JSON property `decryptionKeys`
|
2794
|
+
# @return [Array<String>]
|
2795
|
+
attr_accessor :decryption_keys
|
2796
|
+
|
1916
2797
|
# Name of CloudKMS key to use for the encryption of secrets in etcd. Ex.
|
1917
2798
|
# projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
|
1918
2799
|
# Corresponds to the JSON property `keyName`
|
1919
2800
|
# @return [String]
|
1920
2801
|
attr_accessor :key_name
|
1921
2802
|
|
1922
|
-
#
|
2803
|
+
# Output only. Records errors seen during DatabaseEncryption update operations.
|
2804
|
+
# Corresponds to the JSON property `lastOperationErrors`
|
2805
|
+
# @return [Array<Google::Apis::ContainerV1beta1::OperationError>]
|
2806
|
+
attr_accessor :last_operation_errors
|
2807
|
+
|
2808
|
+
# The desired state of etcd encryption.
|
1923
2809
|
# Corresponds to the JSON property `state`
|
1924
2810
|
# @return [String]
|
1925
2811
|
attr_accessor :state
|
@@ -1930,7 +2816,10 @@ module Google
|
|
1930
2816
|
|
1931
2817
|
# Update properties of this object
|
1932
2818
|
def update!(**args)
|
2819
|
+
@current_state = args[:current_state] if args.key?(:current_state)
|
2820
|
+
@decryption_keys = args[:decryption_keys] if args.key?(:decryption_keys)
|
1933
2821
|
@key_name = args[:key_name] if args.key?(:key_name)
|
2822
|
+
@last_operation_errors = args[:last_operation_errors] if args.key?(:last_operation_errors)
|
1934
2823
|
@state = args[:state] if args.key?(:state)
|
1935
2824
|
end
|
1936
2825
|
end
|
@@ -1997,6 +2886,25 @@ module Google
|
|
1997
2886
|
end
|
1998
2887
|
end
|
1999
2888
|
|
2889
|
+
# DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
|
2890
|
+
class DesiredEnterpriseConfig
|
2891
|
+
include Google::Apis::Core::Hashable
|
2892
|
+
|
2893
|
+
# desired_tier specifies the desired tier of the cluster.
|
2894
|
+
# Corresponds to the JSON property `desiredTier`
|
2895
|
+
# @return [String]
|
2896
|
+
attr_accessor :desired_tier
|
2897
|
+
|
2898
|
+
def initialize(**args)
|
2899
|
+
update!(**args)
|
2900
|
+
end
|
2901
|
+
|
2902
|
+
# Update properties of this object
|
2903
|
+
def update!(**args)
|
2904
|
+
@desired_tier = args[:desired_tier] if args.key?(:desired_tier)
|
2905
|
+
end
|
2906
|
+
end
|
2907
|
+
|
2000
2908
|
# Configuration for NodeLocal DNSCache
|
2001
2909
|
class DnsCacheConfig
|
2002
2910
|
include Google::Apis::Core::Hashable
|
@@ -2033,14 +2941,48 @@ module Google
|
|
2033
2941
|
end
|
2034
2942
|
end
|
2035
2943
|
|
2944
|
+
# EnterpriseConfig is the cluster enterprise configuration.
|
2945
|
+
class EnterpriseConfig
|
2946
|
+
include Google::Apis::Core::Hashable
|
2947
|
+
|
2948
|
+
# Output only. cluster_tier indicates the effective tier of the cluster.
|
2949
|
+
# Corresponds to the JSON property `clusterTier`
|
2950
|
+
# @return [String]
|
2951
|
+
attr_accessor :cluster_tier
|
2952
|
+
|
2953
|
+
# desired_tier specifies the desired tier of the cluster.
|
2954
|
+
# Corresponds to the JSON property `desiredTier`
|
2955
|
+
# @return [String]
|
2956
|
+
attr_accessor :desired_tier
|
2957
|
+
|
2958
|
+
def initialize(**args)
|
2959
|
+
update!(**args)
|
2960
|
+
end
|
2961
|
+
|
2962
|
+
# Update properties of this object
|
2963
|
+
def update!(**args)
|
2964
|
+
@cluster_tier = args[:cluster_tier] if args.key?(:cluster_tier)
|
2965
|
+
@desired_tier = args[:desired_tier] if args.key?(:desired_tier)
|
2966
|
+
end
|
2967
|
+
end
|
2968
|
+
|
2036
2969
|
# EphemeralStorageConfig contains configuration for the ephemeral storage
|
2037
2970
|
# filesystem.
|
2038
2971
|
class EphemeralStorageConfig
|
2039
2972
|
include Google::Apis::Core::Hashable
|
2040
2973
|
|
2041
2974
|
# Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces.
|
2042
|
-
#
|
2043
|
-
#
|
2975
|
+
# The limit for this value is dependent upon the maximum number of disk
|
2976
|
+
# available on a machine per zone. See: https://cloud.google.com/compute/docs/
|
2977
|
+
# disks/local-ssd for more information. A zero (or unset) value has different
|
2978
|
+
# meanings depending on machine type being used: 1. For pre-Gen3 machines, which
|
2979
|
+
# support flexible numbers of local ssds, zero (or unset) means to disable using
|
2980
|
+
# local SSDs as ephemeral storage. 2. For Gen3 machines which dictate a specific
|
2981
|
+
# number of local ssds, zero (or unset) means to use the default number of local
|
2982
|
+
# ssds that goes with that machine type. For example, for a c3-standard-8-lssd
|
2983
|
+
# machine, 2 local ssds would be provisioned. For c3-standard-8 (which doesn't
|
2984
|
+
# support local ssds), 0 will be provisioned. See https://cloud.google.com/
|
2985
|
+
# compute/docs/disks/local-ssd#choose_number_local_ssds for more info.
|
2044
2986
|
# Corresponds to the JSON property `localSsdCount`
|
2045
2987
|
# @return [Fixnum]
|
2046
2988
|
attr_accessor :local_ssd_count
|
@@ -2060,11 +3002,18 @@ module Google
|
|
2060
3002
|
class EphemeralStorageLocalSsdConfig
|
2061
3003
|
include Google::Apis::Core::Hashable
|
2062
3004
|
|
2063
|
-
# Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces.
|
2064
|
-
#
|
2065
|
-
#
|
2066
|
-
#
|
2067
|
-
#
|
3005
|
+
# Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces. A
|
3006
|
+
# zero (or unset) value has different meanings depending on machine type being
|
3007
|
+
# used: 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
|
3008
|
+
# zero (or unset) means to disable using local SSDs as ephemeral storage. The
|
3009
|
+
# limit for this value is dependent upon the maximum number of disk available on
|
3010
|
+
# a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd
|
3011
|
+
# for more information. 2. For Gen3 machines which dictate a specific number of
|
3012
|
+
# local ssds, zero (or unset) means to use the default number of local ssds that
|
3013
|
+
# goes with that machine type. For example, for a c3-standard-8-lssd machine, 2
|
3014
|
+
# local ssds would be provisioned. For c3-standard-8 (which doesn't support
|
3015
|
+
# local ssds), 0 will be provisioned. See https://cloud.google.com/compute/docs/
|
3016
|
+
# disks/local-ssd#choose_number_local_ssds for more info.
|
2068
3017
|
# Corresponds to the JSON property `localSsdCount`
|
2069
3018
|
# @return [Fixnum]
|
2070
3019
|
attr_accessor :local_ssd_count
|
@@ -2121,6 +3070,83 @@ module Google
|
|
2121
3070
|
end
|
2122
3071
|
end
|
2123
3072
|
|
3073
|
+
# Fleet is the fleet configuration for the cluster.
|
3074
|
+
class Fleet
|
3075
|
+
include Google::Apis::Core::Hashable
|
3076
|
+
|
3077
|
+
# Output only. The full resource name of the registered fleet membership of the
|
3078
|
+
# cluster, in the format `//gkehub.googleapis.com/projects/*/locations/*/
|
3079
|
+
# memberships/*`.
|
3080
|
+
# Corresponds to the JSON property `membership`
|
3081
|
+
# @return [String]
|
3082
|
+
attr_accessor :membership
|
3083
|
+
|
3084
|
+
# Output only. Whether the cluster has been registered through the fleet API.
|
3085
|
+
# Corresponds to the JSON property `preRegistered`
|
3086
|
+
# @return [Boolean]
|
3087
|
+
attr_accessor :pre_registered
|
3088
|
+
alias_method :pre_registered?, :pre_registered
|
3089
|
+
|
3090
|
+
# The Fleet host project(project ID or project number) where this cluster will
|
3091
|
+
# be registered to. This field cannot be changed after the cluster has been
|
3092
|
+
# registered.
|
3093
|
+
# Corresponds to the JSON property `project`
|
3094
|
+
# @return [String]
|
3095
|
+
attr_accessor :project
|
3096
|
+
|
3097
|
+
def initialize(**args)
|
3098
|
+
update!(**args)
|
3099
|
+
end
|
3100
|
+
|
3101
|
+
# Update properties of this object
|
3102
|
+
def update!(**args)
|
3103
|
+
@membership = args[:membership] if args.key?(:membership)
|
3104
|
+
@pre_registered = args[:pre_registered] if args.key?(:pre_registered)
|
3105
|
+
@project = args[:project] if args.key?(:project)
|
3106
|
+
end
|
3107
|
+
end
|
3108
|
+
|
3109
|
+
# GCPSecretManagerCertificateConfig configures a secret from [Google Secret
|
3110
|
+
# Manager](https://cloud.google.com/secret-manager).
|
3111
|
+
class GcpSecretManagerCertificateConfig
|
3112
|
+
include Google::Apis::Core::Hashable
|
3113
|
+
|
3114
|
+
# Secret URI, in the form "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$
|
3115
|
+
# VERSION". Version can be fixed (e.g. "2") or "latest"
|
3116
|
+
# Corresponds to the JSON property `secretUri`
|
3117
|
+
# @return [String]
|
3118
|
+
attr_accessor :secret_uri
|
3119
|
+
|
3120
|
+
def initialize(**args)
|
3121
|
+
update!(**args)
|
3122
|
+
end
|
3123
|
+
|
3124
|
+
# Update properties of this object
|
3125
|
+
def update!(**args)
|
3126
|
+
@secret_uri = args[:secret_uri] if args.key?(:secret_uri)
|
3127
|
+
end
|
3128
|
+
end
|
3129
|
+
|
3130
|
+
# GPUDriverInstallationConfig specifies the version of GPU driver to be auto
|
3131
|
+
# installed.
|
3132
|
+
class GpuDriverInstallationConfig
|
3133
|
+
include Google::Apis::Core::Hashable
|
3134
|
+
|
3135
|
+
# Mode for how the GPU driver is installed.
|
3136
|
+
# Corresponds to the JSON property `gpuDriverVersion`
|
3137
|
+
# @return [String]
|
3138
|
+
attr_accessor :gpu_driver_version
|
3139
|
+
|
3140
|
+
def initialize(**args)
|
3141
|
+
update!(**args)
|
3142
|
+
end
|
3143
|
+
|
3144
|
+
# Update properties of this object
|
3145
|
+
def update!(**args)
|
3146
|
+
@gpu_driver_version = args[:gpu_driver_version] if args.key?(:gpu_driver_version)
|
3147
|
+
end
|
3148
|
+
end
|
3149
|
+
|
2124
3150
|
# GPUSharingConfig represents the GPU sharing configuration for Hardware
|
2125
3151
|
# Accelerators.
|
2126
3152
|
class GpuSharingConfig
|
@@ -2226,6 +3252,26 @@ module Google
|
|
2226
3252
|
end
|
2227
3253
|
end
|
2228
3254
|
|
3255
|
+
# Configuration for the Cloud Storage Fuse CSI driver.
|
3256
|
+
class GcsFuseCsiDriverConfig
|
3257
|
+
include Google::Apis::Core::Hashable
|
3258
|
+
|
3259
|
+
# Whether the Cloud Storage Fuse CSI driver is enabled for this cluster.
|
3260
|
+
# Corresponds to the JSON property `enabled`
|
3261
|
+
# @return [Boolean]
|
3262
|
+
attr_accessor :enabled
|
3263
|
+
alias_method :enabled?, :enabled
|
3264
|
+
|
3265
|
+
def initialize(**args)
|
3266
|
+
update!(**args)
|
3267
|
+
end
|
3268
|
+
|
3269
|
+
# Update properties of this object
|
3270
|
+
def update!(**args)
|
3271
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
3272
|
+
end
|
3273
|
+
end
|
3274
|
+
|
2229
3275
|
# GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517
|
2230
3276
|
class GetJsonWebKeysResponse
|
2231
3277
|
include Google::Apis::Core::Hashable
|
@@ -2356,23 +3402,49 @@ module Google
|
|
2356
3402
|
end
|
2357
3403
|
end
|
2358
3404
|
|
2359
|
-
#
|
2360
|
-
|
3405
|
+
# HostMaintenancePolicy contains the maintenance policy for the hosts on which
|
3406
|
+
# the GKE VMs run on.
|
3407
|
+
class HostMaintenancePolicy
|
2361
3408
|
include Google::Apis::Core::Hashable
|
2362
3409
|
|
2363
|
-
#
|
2364
|
-
# Corresponds to the JSON property `
|
2365
|
-
# @return [Fixnum]
|
2366
|
-
attr_accessor :age
|
2367
|
-
|
2368
|
-
# 14.9 request and response directives
|
2369
|
-
# Corresponds to the JSON property `directive`
|
3410
|
+
# Specifies the frequency of planned maintenance events.
|
3411
|
+
# Corresponds to the JSON property `maintenanceInterval`
|
2370
3412
|
# @return [String]
|
2371
|
-
attr_accessor :
|
3413
|
+
attr_accessor :maintenance_interval
|
2372
3414
|
|
2373
|
-
#
|
2374
|
-
# Corresponds to the JSON property `
|
2375
|
-
# @return [
|
3415
|
+
# Strategy that will trigger maintenance on behalf of the customer.
|
3416
|
+
# Corresponds to the JSON property `opportunisticMaintenanceStrategy`
|
3417
|
+
# @return [Google::Apis::ContainerV1beta1::OpportunisticMaintenanceStrategy]
|
3418
|
+
attr_accessor :opportunistic_maintenance_strategy
|
3419
|
+
|
3420
|
+
def initialize(**args)
|
3421
|
+
update!(**args)
|
3422
|
+
end
|
3423
|
+
|
3424
|
+
# Update properties of this object
|
3425
|
+
def update!(**args)
|
3426
|
+
@maintenance_interval = args[:maintenance_interval] if args.key?(:maintenance_interval)
|
3427
|
+
@opportunistic_maintenance_strategy = args[:opportunistic_maintenance_strategy] if args.key?(:opportunistic_maintenance_strategy)
|
3428
|
+
end
|
3429
|
+
end
|
3430
|
+
|
3431
|
+
# RFC-2616: cache control support
|
3432
|
+
class HttpCacheControlResponseHeader
|
3433
|
+
include Google::Apis::Core::Hashable
|
3434
|
+
|
3435
|
+
# 14.6 response cache age, in seconds since the response is generated
|
3436
|
+
# Corresponds to the JSON property `age`
|
3437
|
+
# @return [Fixnum]
|
3438
|
+
attr_accessor :age
|
3439
|
+
|
3440
|
+
# 14.9 request and response directives
|
3441
|
+
# Corresponds to the JSON property `directive`
|
3442
|
+
# @return [String]
|
3443
|
+
attr_accessor :directive
|
3444
|
+
|
3445
|
+
# 14.21 response cache expires, in RFC 1123 date format
|
3446
|
+
# Corresponds to the JSON property `expires`
|
3447
|
+
# @return [String]
|
2376
3448
|
attr_accessor :expires
|
2377
3449
|
|
2378
3450
|
def initialize(**args)
|
@@ -2409,6 +3481,31 @@ module Google
|
|
2409
3481
|
end
|
2410
3482
|
end
|
2411
3483
|
|
3484
|
+
# Hugepages amount in both 2m and 1g size
|
3485
|
+
class HugepagesConfig
|
3486
|
+
include Google::Apis::Core::Hashable
|
3487
|
+
|
3488
|
+
# Optional. Amount of 1G hugepages
|
3489
|
+
# Corresponds to the JSON property `hugepageSize1g`
|
3490
|
+
# @return [Fixnum]
|
3491
|
+
attr_accessor :hugepage_size1g
|
3492
|
+
|
3493
|
+
# Optional. Amount of 2M hugepages
|
3494
|
+
# Corresponds to the JSON property `hugepageSize2m`
|
3495
|
+
# @return [Fixnum]
|
3496
|
+
attr_accessor :hugepage_size2m
|
3497
|
+
|
3498
|
+
def initialize(**args)
|
3499
|
+
update!(**args)
|
3500
|
+
end
|
3501
|
+
|
3502
|
+
# Update properties of this object
|
3503
|
+
def update!(**args)
|
3504
|
+
@hugepage_size1g = args[:hugepage_size1g] if args.key?(:hugepage_size1g)
|
3505
|
+
@hugepage_size2m = args[:hugepage_size2m] if args.key?(:hugepage_size2m)
|
3506
|
+
end
|
3507
|
+
end
|
3508
|
+
|
2412
3509
|
# ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
|
2413
3510
|
# subsetting on this cluster.
|
2414
3511
|
class IlbSubsettingConfig
|
@@ -2434,6 +3531,12 @@ module Google
|
|
2434
3531
|
class IpAllocationPolicy
|
2435
3532
|
include Google::Apis::Core::Hashable
|
2436
3533
|
|
3534
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
3535
|
+
# ranges supporting the ClusterUpdate message.
|
3536
|
+
# Corresponds to the JSON property `additionalPodRangesConfig`
|
3537
|
+
# @return [Google::Apis::ContainerV1beta1::AdditionalPodRangesConfig]
|
3538
|
+
attr_accessor :additional_pod_ranges_config
|
3539
|
+
|
2437
3540
|
# If true, allow allocation of cluster CIDR ranges that overlap with certain
|
2438
3541
|
# kinds of network routes. By default we do not allow cluster CIDR ranges to
|
2439
3542
|
# intersect with any user declared routes. With allow_route_overlap == true, we
|
@@ -2480,6 +3583,13 @@ module Google
|
|
2480
3583
|
attr_accessor :create_subnetwork
|
2481
3584
|
alias_method :create_subnetwork?, :create_subnetwork
|
2482
3585
|
|
3586
|
+
# Output only. The utilization of the cluster default IPv4 range for the pod.
|
3587
|
+
# The ratio is Usage/[Total number of IPs in the secondary range], Usage=
|
3588
|
+
# numNodes*numZones*podIPsPerNode.
|
3589
|
+
# Corresponds to the JSON property `defaultPodIpv4RangeUtilization`
|
3590
|
+
# @return [Float]
|
3591
|
+
attr_accessor :default_pod_ipv4_range_utilization
|
3592
|
+
|
2483
3593
|
# The ipv6 access type (internal or external) when create_subnetwork is true
|
2484
3594
|
# Corresponds to the JSON property `ipv6AccessType`
|
2485
3595
|
# @return [String]
|
@@ -2501,6 +3611,11 @@ module Google
|
|
2501
3611
|
# @return [String]
|
2502
3612
|
attr_accessor :node_ipv4_cidr_block
|
2503
3613
|
|
3614
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
3615
|
+
# Corresponds to the JSON property `podCidrOverprovisionConfig`
|
3616
|
+
# @return [Google::Apis::ContainerV1beta1::PodCidrOverprovisionConfig]
|
3617
|
+
attr_accessor :pod_cidr_overprovision_config
|
3618
|
+
|
2504
3619
|
# This field is deprecated, use services_ipv4_cidr_block.
|
2505
3620
|
# Corresponds to the JSON property `servicesIpv4Cidr`
|
2506
3621
|
# @return [String]
|
@@ -2518,7 +3633,7 @@ module Google
|
|
2518
3633
|
# @return [String]
|
2519
3634
|
attr_accessor :services_ipv4_cidr_block
|
2520
3635
|
|
2521
|
-
# Output only.
|
3636
|
+
# Output only. The services IPv6 CIDR block for the cluster.
|
2522
3637
|
# Corresponds to the JSON property `servicesIpv6CidrBlock`
|
2523
3638
|
# @return [String]
|
2524
3639
|
attr_accessor :services_ipv6_cidr_block
|
@@ -2536,7 +3651,7 @@ module Google
|
|
2536
3651
|
# @return [String]
|
2537
3652
|
attr_accessor :stack_type
|
2538
3653
|
|
2539
|
-
# Output only.
|
3654
|
+
# Output only. The subnet's IPv6 CIDR block used by nodes and pods.
|
2540
3655
|
# Corresponds to the JSON property `subnetIpv6CidrBlock`
|
2541
3656
|
# @return [String]
|
2542
3657
|
attr_accessor :subnet_ipv6_cidr_block
|
@@ -2584,14 +3699,17 @@ module Google
|
|
2584
3699
|
|
2585
3700
|
# Update properties of this object
|
2586
3701
|
def update!(**args)
|
3702
|
+
@additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config)
|
2587
3703
|
@allow_route_overlap = args[:allow_route_overlap] if args.key?(:allow_route_overlap)
|
2588
3704
|
@cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
|
2589
3705
|
@cluster_ipv4_cidr_block = args[:cluster_ipv4_cidr_block] if args.key?(:cluster_ipv4_cidr_block)
|
2590
3706
|
@cluster_secondary_range_name = args[:cluster_secondary_range_name] if args.key?(:cluster_secondary_range_name)
|
2591
3707
|
@create_subnetwork = args[:create_subnetwork] if args.key?(:create_subnetwork)
|
3708
|
+
@default_pod_ipv4_range_utilization = args[:default_pod_ipv4_range_utilization] if args.key?(:default_pod_ipv4_range_utilization)
|
2592
3709
|
@ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
|
2593
3710
|
@node_ipv4_cidr = args[:node_ipv4_cidr] if args.key?(:node_ipv4_cidr)
|
2594
3711
|
@node_ipv4_cidr_block = args[:node_ipv4_cidr_block] if args.key?(:node_ipv4_cidr_block)
|
3712
|
+
@pod_cidr_overprovision_config = args[:pod_cidr_overprovision_config] if args.key?(:pod_cidr_overprovision_config)
|
2595
3713
|
@services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
|
2596
3714
|
@services_ipv4_cidr_block = args[:services_ipv4_cidr_block] if args.key?(:services_ipv4_cidr_block)
|
2597
3715
|
@services_ipv6_cidr_block = args[:services_ipv6_cidr_block] if args.key?(:services_ipv6_cidr_block)
|
@@ -2605,6 +3723,76 @@ module Google
|
|
2605
3723
|
end
|
2606
3724
|
end
|
2607
3725
|
|
3726
|
+
# IP endpoints configuration.
|
3727
|
+
class IpEndpointsConfig
|
3728
|
+
include Google::Apis::Core::Hashable
|
3729
|
+
|
3730
|
+
# Configuration options for the master authorized networks feature. Enabled
|
3731
|
+
# master authorized networks will disallow all external traffic to access
|
3732
|
+
# Kubernetes master through HTTPS except traffic from the given CIDR blocks,
|
3733
|
+
# Google Compute Engine Public IPs and Google Prod IPs.
|
3734
|
+
# Corresponds to the JSON property `authorizedNetworksConfig`
|
3735
|
+
# @return [Google::Apis::ContainerV1beta1::MasterAuthorizedNetworksConfig]
|
3736
|
+
attr_accessor :authorized_networks_config
|
3737
|
+
|
3738
|
+
# Controls whether the control plane allows access through a public IP. It is
|
3739
|
+
# invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this
|
3740
|
+
# field at the same time.
|
3741
|
+
# Corresponds to the JSON property `enablePublicEndpoint`
|
3742
|
+
# @return [Boolean]
|
3743
|
+
attr_accessor :enable_public_endpoint
|
3744
|
+
alias_method :enable_public_endpoint?, :enable_public_endpoint
|
3745
|
+
|
3746
|
+
# Controls whether to allow direct IP access.
|
3747
|
+
# Corresponds to the JSON property `enabled`
|
3748
|
+
# @return [Boolean]
|
3749
|
+
attr_accessor :enabled
|
3750
|
+
alias_method :enabled?, :enabled
|
3751
|
+
|
3752
|
+
# Controls whether the control plane's private endpoint is accessible from
|
3753
|
+
# sources in other regions. It is invalid to specify both
|
3754
|
+
# PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.
|
3755
|
+
# Corresponds to the JSON property `globalAccess`
|
3756
|
+
# @return [Boolean]
|
3757
|
+
attr_accessor :global_access
|
3758
|
+
alias_method :global_access?, :global_access
|
3759
|
+
|
3760
|
+
# Output only. The internal IP address of this cluster's control plane. Only
|
3761
|
+
# populated if enabled.
|
3762
|
+
# Corresponds to the JSON property `privateEndpoint`
|
3763
|
+
# @return [String]
|
3764
|
+
attr_accessor :private_endpoint
|
3765
|
+
|
3766
|
+
# Subnet to provision the master's private endpoint during cluster creation.
|
3767
|
+
# Specified in projects/*/regions/*/subnetworks/* format. It is invalid to
|
3768
|
+
# specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at
|
3769
|
+
# the same time.
|
3770
|
+
# Corresponds to the JSON property `privateEndpointSubnetwork`
|
3771
|
+
# @return [String]
|
3772
|
+
attr_accessor :private_endpoint_subnetwork
|
3773
|
+
|
3774
|
+
# Output only. The external IP address of this cluster's control plane. Only
|
3775
|
+
# populated if enabled.
|
3776
|
+
# Corresponds to the JSON property `publicEndpoint`
|
3777
|
+
# @return [String]
|
3778
|
+
attr_accessor :public_endpoint
|
3779
|
+
|
3780
|
+
def initialize(**args)
|
3781
|
+
update!(**args)
|
3782
|
+
end
|
3783
|
+
|
3784
|
+
# Update properties of this object
|
3785
|
+
def update!(**args)
|
3786
|
+
@authorized_networks_config = args[:authorized_networks_config] if args.key?(:authorized_networks_config)
|
3787
|
+
@enable_public_endpoint = args[:enable_public_endpoint] if args.key?(:enable_public_endpoint)
|
3788
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
3789
|
+
@global_access = args[:global_access] if args.key?(:global_access)
|
3790
|
+
@private_endpoint = args[:private_endpoint] if args.key?(:private_endpoint)
|
3791
|
+
@private_endpoint_subnetwork = args[:private_endpoint_subnetwork] if args.key?(:private_endpoint_subnetwork)
|
3792
|
+
@public_endpoint = args[:public_endpoint] if args.key?(:public_endpoint)
|
3793
|
+
end
|
3794
|
+
end
|
3795
|
+
|
2608
3796
|
# IdentityServiceConfig is configuration for Identity Service which allows
|
2609
3797
|
# customers to use external identity providers with the K8S API
|
2610
3798
|
class IdentityServiceConfig
|
@@ -2740,6 +3928,25 @@ module Google
|
|
2740
3928
|
end
|
2741
3929
|
end
|
2742
3930
|
|
3931
|
+
# Kubernetes open source beta apis enabled on the cluster.
|
3932
|
+
class K8sBetaApiConfig
|
3933
|
+
include Google::Apis::Core::Hashable
|
3934
|
+
|
3935
|
+
# api name, e.g. storage.k8s.io/v1beta1/csistoragecapacities.
|
3936
|
+
# Corresponds to the JSON property `enabledApis`
|
3937
|
+
# @return [Array<String>]
|
3938
|
+
attr_accessor :enabled_apis
|
3939
|
+
|
3940
|
+
def initialize(**args)
|
3941
|
+
update!(**args)
|
3942
|
+
end
|
3943
|
+
|
3944
|
+
# Update properties of this object
|
3945
|
+
def update!(**args)
|
3946
|
+
@enabled_apis = args[:enabled_apis] if args.key?(:enabled_apis)
|
3947
|
+
end
|
3948
|
+
end
|
3949
|
+
|
2743
3950
|
# Configuration options for the KALM addon.
|
2744
3951
|
class KalmConfig
|
2745
3952
|
include Google::Apis::Core::Hashable
|
@@ -2812,11 +4019,16 @@ module Google
|
|
2812
4019
|
# @return [String]
|
2813
4020
|
attr_accessor :cgroup_mode
|
2814
4021
|
|
4022
|
+
# Hugepages amount in both 2m and 1g size
|
4023
|
+
# Corresponds to the JSON property `hugepages`
|
4024
|
+
# @return [Google::Apis::ContainerV1beta1::HugepagesConfig]
|
4025
|
+
attr_accessor :hugepages
|
4026
|
+
|
2815
4027
|
# The Linux kernel parameters to be applied to the nodes and all pods running on
|
2816
4028
|
# the nodes. The following parameters are supported. net.core.busy_poll net.core.
|
2817
4029
|
# busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default
|
2818
4030
|
# net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.
|
2819
|
-
# ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
|
4031
|
+
# ipv4.tcp_wmem net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall
|
2820
4032
|
# Corresponds to the JSON property `sysctls`
|
2821
4033
|
# @return [Hash<String,String>]
|
2822
4034
|
attr_accessor :sysctls
|
@@ -2828,6 +4040,7 @@ module Google
|
|
2828
4040
|
# Update properties of this object
|
2829
4041
|
def update!(**args)
|
2830
4042
|
@cgroup_mode = args[:cgroup_mode] if args.key?(:cgroup_mode)
|
4043
|
+
@hugepages = args[:hugepages] if args.key?(:hugepages)
|
2831
4044
|
@sysctls = args[:sysctls] if args.key?(:sysctls)
|
2832
4045
|
end
|
2833
4046
|
end
|
@@ -2965,11 +4178,18 @@ module Google
|
|
2965
4178
|
class LocalNvmeSsdBlockConfig
|
2966
4179
|
include Google::Apis::Core::Hashable
|
2967
4180
|
|
2968
|
-
#
|
2969
|
-
#
|
2970
|
-
# disks
|
2971
|
-
#
|
2972
|
-
#
|
4181
|
+
# Number of local NVMe SSDs to use. The limit for this value is dependent upon
|
4182
|
+
# the maximum number of disk available on a machine per zone. See: https://cloud.
|
4183
|
+
# google.com/compute/docs/disks/local-ssd for more information. A zero (or unset)
|
4184
|
+
# value has different meanings depending on machine type being used: 1. For pre-
|
4185
|
+
# Gen3 machines, which support flexible numbers of local ssds, zero (or unset)
|
4186
|
+
# means to disable using local SSDs as ephemeral storage. 2. For Gen3 machines
|
4187
|
+
# which dictate a specific number of local ssds, zero (or unset) means to use
|
4188
|
+
# the default number of local ssds that goes with that machine type. For example,
|
4189
|
+
# for a c3-standard-8-lssd machine, 2 local ssds would be provisioned. For c3-
|
4190
|
+
# standard-8 (which doesn't support local ssds), 0 will be provisioned. See
|
4191
|
+
# https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
|
4192
|
+
# for more info.
|
2973
4193
|
# Corresponds to the JSON property `localSsdCount`
|
2974
4194
|
# @return [Fixnum]
|
2975
4195
|
attr_accessor :local_ssd_count
|
@@ -3160,6 +4380,12 @@ module Google
|
|
3160
4380
|
class ManagedPrometheusConfig
|
3161
4381
|
include Google::Apis::Core::Hashable
|
3162
4382
|
|
4383
|
+
# AutoMonitoringConfig defines the configuration for GKE Workload Auto-
|
4384
|
+
# Monitoring.
|
4385
|
+
# Corresponds to the JSON property `autoMonitoringConfig`
|
4386
|
+
# @return [Google::Apis::ContainerV1beta1::AutoMonitoringConfig]
|
4387
|
+
attr_accessor :auto_monitoring_config
|
4388
|
+
|
3163
4389
|
# Enable Managed Collection.
|
3164
4390
|
# Corresponds to the JSON property `enabled`
|
3165
4391
|
# @return [Boolean]
|
@@ -3172,6 +4398,7 @@ module Google
|
|
3172
4398
|
|
3173
4399
|
# Update properties of this object
|
3174
4400
|
def update!(**args)
|
4401
|
+
@auto_monitoring_config = args[:auto_monitoring_config] if args.key?(:auto_monitoring_config)
|
3175
4402
|
@enabled = args[:enabled] if args.key?(:enabled)
|
3176
4403
|
end
|
3177
4404
|
end
|
@@ -3194,8 +4421,8 @@ module Google
|
|
3194
4421
|
class MasterAuth
|
3195
4422
|
include Google::Apis::Core::Hashable
|
3196
4423
|
|
3197
|
-
#
|
3198
|
-
#
|
4424
|
+
# Output only. Base64-encoded public certificate used by clients to authenticate
|
4425
|
+
# to the cluster endpoint. Issued only if client_certificate_config is set.
|
3199
4426
|
# Corresponds to the JSON property `clientCertificate`
|
3200
4427
|
# @return [String]
|
3201
4428
|
attr_accessor :client_certificate
|
@@ -3205,13 +4432,14 @@ module Google
|
|
3205
4432
|
# @return [Google::Apis::ContainerV1beta1::ClientCertificateConfig]
|
3206
4433
|
attr_accessor :client_certificate_config
|
3207
4434
|
|
3208
|
-
#
|
3209
|
-
#
|
4435
|
+
# Output only. Base64-encoded private key used by clients to authenticate to the
|
4436
|
+
# cluster endpoint.
|
3210
4437
|
# Corresponds to the JSON property `clientKey`
|
3211
4438
|
# @return [String]
|
3212
4439
|
attr_accessor :client_key
|
3213
4440
|
|
3214
|
-
#
|
4441
|
+
# Output only. Base64-encoded public certificate that is the root of trust for
|
4442
|
+
# the cluster.
|
3215
4443
|
# Corresponds to the JSON property `clusterCaCertificate`
|
3216
4444
|
# @return [String]
|
3217
4445
|
attr_accessor :cluster_ca_certificate
|
@@ -3278,6 +4506,12 @@ module Google
|
|
3278
4506
|
attr_accessor :gcp_public_cidrs_access_enabled
|
3279
4507
|
alias_method :gcp_public_cidrs_access_enabled?, :gcp_public_cidrs_access_enabled
|
3280
4508
|
|
4509
|
+
# Whether master authorized networks is enforced on private endpoint or not.
|
4510
|
+
# Corresponds to the JSON property `privateEndpointEnforcementEnabled`
|
4511
|
+
# @return [Boolean]
|
4512
|
+
attr_accessor :private_endpoint_enforcement_enabled
|
4513
|
+
alias_method :private_endpoint_enforcement_enabled?, :private_endpoint_enforcement_enabled
|
4514
|
+
|
3281
4515
|
def initialize(**args)
|
3282
4516
|
update!(**args)
|
3283
4517
|
end
|
@@ -3287,6 +4521,7 @@ module Google
|
|
3287
4521
|
@cidr_blocks = args[:cidr_blocks] if args.key?(:cidr_blocks)
|
3288
4522
|
@enabled = args[:enabled] if args.key?(:enabled)
|
3289
4523
|
@gcp_public_cidrs_access_enabled = args[:gcp_public_cidrs_access_enabled] if args.key?(:gcp_public_cidrs_access_enabled)
|
4524
|
+
@private_endpoint_enforcement_enabled = args[:private_endpoint_enforcement_enabled] if args.key?(:private_endpoint_enforcement_enabled)
|
3290
4525
|
end
|
3291
4526
|
end
|
3292
4527
|
|
@@ -3394,6 +4629,12 @@ module Google
|
|
3394
4629
|
class MonitoringConfig
|
3395
4630
|
include Google::Apis::Core::Hashable
|
3396
4631
|
|
4632
|
+
# AdvancedDatapathObservabilityConfig specifies configuration of observability
|
4633
|
+
# features of advanced datapath.
|
4634
|
+
# Corresponds to the JSON property `advancedDatapathObservabilityConfig`
|
4635
|
+
# @return [Google::Apis::ContainerV1beta1::AdvancedDatapathObservabilityConfig]
|
4636
|
+
attr_accessor :advanced_datapath_observability_config
|
4637
|
+
|
3397
4638
|
# MonitoringComponentConfig is cluster monitoring component configuration.
|
3398
4639
|
# Corresponds to the JSON property `componentConfig`
|
3399
4640
|
# @return [Google::Apis::ContainerV1beta1::MonitoringComponentConfig]
|
@@ -3411,6 +4652,7 @@ module Google
|
|
3411
4652
|
|
3412
4653
|
# Update properties of this object
|
3413
4654
|
def update!(**args)
|
4655
|
+
@advanced_datapath_observability_config = args[:advanced_datapath_observability_config] if args.key?(:advanced_datapath_observability_config)
|
3414
4656
|
@component_config = args[:component_config] if args.key?(:component_config)
|
3415
4657
|
@managed_prometheus_config = args[:managed_prometheus_config] if args.key?(:managed_prometheus_config)
|
3416
4658
|
end
|
@@ -3426,17 +4668,44 @@ module Google
|
|
3426
4668
|
# @return [String]
|
3427
4669
|
attr_accessor :datapath_provider
|
3428
4670
|
|
4671
|
+
# Controls whether by default nodes have private IP addresses only. It is
|
4672
|
+
# invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field
|
4673
|
+
# at the same time. To update the default setting, use ClusterUpdate.
|
4674
|
+
# desired_default_enable_private_nodes
|
4675
|
+
# Corresponds to the JSON property `defaultEnablePrivateNodes`
|
4676
|
+
# @return [Boolean]
|
4677
|
+
attr_accessor :default_enable_private_nodes
|
4678
|
+
alias_method :default_enable_private_nodes?, :default_enable_private_nodes
|
4679
|
+
|
3429
4680
|
# DefaultSnatStatus contains the desired state of whether default sNAT should be
|
3430
4681
|
# disabled on the cluster.
|
3431
4682
|
# Corresponds to the JSON property `defaultSnatStatus`
|
3432
4683
|
# @return [Google::Apis::ContainerV1beta1::DefaultSnatStatus]
|
3433
4684
|
attr_accessor :default_snat_status
|
3434
4685
|
|
4686
|
+
# Disable L4 load balancer VPC firewalls to enable firewall policies.
|
4687
|
+
# Corresponds to the JSON property `disableL4LbFirewallReconciliation`
|
4688
|
+
# @return [Boolean]
|
4689
|
+
attr_accessor :disable_l4_lb_firewall_reconciliation
|
4690
|
+
alias_method :disable_l4_lb_firewall_reconciliation?, :disable_l4_lb_firewall_reconciliation
|
4691
|
+
|
3435
4692
|
# DNSConfig contains the desired set of options for configuring clusterDNS.
|
3436
4693
|
# Corresponds to the JSON property `dnsConfig`
|
3437
4694
|
# @return [Google::Apis::ContainerV1beta1::DnsConfig]
|
3438
4695
|
attr_accessor :dns_config
|
3439
4696
|
|
4697
|
+
# Whether CiliumClusterWideNetworkPolicy is enabled on this cluster.
|
4698
|
+
# Corresponds to the JSON property `enableCiliumClusterwideNetworkPolicy`
|
4699
|
+
# @return [Boolean]
|
4700
|
+
attr_accessor :enable_cilium_clusterwide_network_policy
|
4701
|
+
alias_method :enable_cilium_clusterwide_network_policy?, :enable_cilium_clusterwide_network_policy
|
4702
|
+
|
4703
|
+
# Whether FQDN Network Policy is enabled on this cluster.
|
4704
|
+
# Corresponds to the JSON property `enableFqdnNetworkPolicy`
|
4705
|
+
# @return [Boolean]
|
4706
|
+
attr_accessor :enable_fqdn_network_policy
|
4707
|
+
alias_method :enable_fqdn_network_policy?, :enable_fqdn_network_policy
|
4708
|
+
|
3440
4709
|
# Whether Intra-node visibility is enabled for this cluster. This makes same
|
3441
4710
|
# node pod to pod traffic visible for VPC network.
|
3442
4711
|
# Corresponds to the JSON property `enableIntraNodeVisibility`
|
@@ -3450,11 +4719,22 @@ module Google
|
|
3450
4719
|
attr_accessor :enable_l4ilb_subsetting
|
3451
4720
|
alias_method :enable_l4ilb_subsetting?, :enable_l4ilb_subsetting
|
3452
4721
|
|
4722
|
+
# Whether multi-networking is enabled for this cluster.
|
4723
|
+
# Corresponds to the JSON property `enableMultiNetworking`
|
4724
|
+
# @return [Boolean]
|
4725
|
+
attr_accessor :enable_multi_networking
|
4726
|
+
alias_method :enable_multi_networking?, :enable_multi_networking
|
4727
|
+
|
3453
4728
|
# GatewayAPIConfig contains the desired config of Gateway API on this cluster.
|
3454
4729
|
# Corresponds to the JSON property `gatewayApiConfig`
|
3455
4730
|
# @return [Google::Apis::ContainerV1beta1::GatewayApiConfig]
|
3456
4731
|
attr_accessor :gateway_api_config
|
3457
4732
|
|
4733
|
+
# Specify the details of in-transit encryption.
|
4734
|
+
# Corresponds to the JSON property `inTransitEncryptionConfig`
|
4735
|
+
# @return [String]
|
4736
|
+
attr_accessor :in_transit_encryption_config
|
4737
|
+
|
3458
4738
|
# Output only. The relative name of the Google Compute Engine network(https://
|
3459
4739
|
# cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the
|
3460
4740
|
# cluster is connected. Example: projects/my-project/global/networks/my-network
|
@@ -3462,6 +4742,11 @@ module Google
|
|
3462
4742
|
# @return [String]
|
3463
4743
|
attr_accessor :network
|
3464
4744
|
|
4745
|
+
# Configuration of all network bandwidth tiers
|
4746
|
+
# Corresponds to the JSON property `networkPerformanceConfig`
|
4747
|
+
# @return [Google::Apis::ContainerV1beta1::ClusterNetworkPerformanceConfig]
|
4748
|
+
attr_accessor :network_performance_config
|
4749
|
+
|
3465
4750
|
# The desired state of IPv6 connectivity to Google Services. By default, no
|
3466
4751
|
# private IPv6 access to or from Google Services (all access will be via IPv4)
|
3467
4752
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
@@ -3487,12 +4772,19 @@ module Google
|
|
3487
4772
|
# Update properties of this object
|
3488
4773
|
def update!(**args)
|
3489
4774
|
@datapath_provider = args[:datapath_provider] if args.key?(:datapath_provider)
|
4775
|
+
@default_enable_private_nodes = args[:default_enable_private_nodes] if args.key?(:default_enable_private_nodes)
|
3490
4776
|
@default_snat_status = args[:default_snat_status] if args.key?(:default_snat_status)
|
4777
|
+
@disable_l4_lb_firewall_reconciliation = args[:disable_l4_lb_firewall_reconciliation] if args.key?(:disable_l4_lb_firewall_reconciliation)
|
3491
4778
|
@dns_config = args[:dns_config] if args.key?(:dns_config)
|
4779
|
+
@enable_cilium_clusterwide_network_policy = args[:enable_cilium_clusterwide_network_policy] if args.key?(:enable_cilium_clusterwide_network_policy)
|
4780
|
+
@enable_fqdn_network_policy = args[:enable_fqdn_network_policy] if args.key?(:enable_fqdn_network_policy)
|
3492
4781
|
@enable_intra_node_visibility = args[:enable_intra_node_visibility] if args.key?(:enable_intra_node_visibility)
|
3493
4782
|
@enable_l4ilb_subsetting = args[:enable_l4ilb_subsetting] if args.key?(:enable_l4ilb_subsetting)
|
4783
|
+
@enable_multi_networking = args[:enable_multi_networking] if args.key?(:enable_multi_networking)
|
3494
4784
|
@gateway_api_config = args[:gateway_api_config] if args.key?(:gateway_api_config)
|
4785
|
+
@in_transit_encryption_config = args[:in_transit_encryption_config] if args.key?(:in_transit_encryption_config)
|
3495
4786
|
@network = args[:network] if args.key?(:network)
|
4787
|
+
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
3496
4788
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
3497
4789
|
@service_external_ips_config = args[:service_external_ips_config] if args.key?(:service_external_ips_config)
|
3498
4790
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
@@ -3595,6 +4887,39 @@ module Google
|
|
3595
4887
|
end
|
3596
4888
|
end
|
3597
4889
|
|
4890
|
+
# Specifies the NodeAffinity key, values, and affinity operator according to [
|
4891
|
+
# shared sole tenant node group affinities](https://cloud.google.com/compute/
|
4892
|
+
# docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity).
|
4893
|
+
class NodeAffinity
|
4894
|
+
include Google::Apis::Core::Hashable
|
4895
|
+
|
4896
|
+
# Key for NodeAffinity.
|
4897
|
+
# Corresponds to the JSON property `key`
|
4898
|
+
# @return [String]
|
4899
|
+
attr_accessor :key
|
4900
|
+
|
4901
|
+
# Operator for NodeAffinity.
|
4902
|
+
# Corresponds to the JSON property `operator`
|
4903
|
+
# @return [String]
|
4904
|
+
attr_accessor :operator
|
4905
|
+
|
4906
|
+
# Values for NodeAffinity.
|
4907
|
+
# Corresponds to the JSON property `values`
|
4908
|
+
# @return [Array<String>]
|
4909
|
+
attr_accessor :values
|
4910
|
+
|
4911
|
+
def initialize(**args)
|
4912
|
+
update!(**args)
|
4913
|
+
end
|
4914
|
+
|
4915
|
+
# Update properties of this object
|
4916
|
+
def update!(**args)
|
4917
|
+
@key = args[:key] if args.key?(:key)
|
4918
|
+
@operator = args[:operator] if args.key?(:operator)
|
4919
|
+
@values = args[:values] if args.key?(:values)
|
4920
|
+
end
|
4921
|
+
end
|
4922
|
+
|
3598
4923
|
# Parameters that describe the nodes in a cluster. GKE Autopilot clusters do not
|
3599
4924
|
# recognize parameters in `NodeConfig`. Use AutoprovisioningNodePoolDefaults
|
3600
4925
|
# instead.
|
@@ -3627,6 +4952,11 @@ module Google
|
|
3627
4952
|
# @return [Google::Apis::ContainerV1beta1::ConfidentialNodes]
|
3628
4953
|
attr_accessor :confidential_nodes
|
3629
4954
|
|
4955
|
+
# ContainerdConfig contains configuration to customize containerd.
|
4956
|
+
# Corresponds to the JSON property `containerdConfig`
|
4957
|
+
# @return [Google::Apis::ContainerV1beta1::ContainerdConfig]
|
4958
|
+
attr_accessor :containerd_config
|
4959
|
+
|
3630
4960
|
# Size of the disk attached to each node, specified in GB. The smallest allowed
|
3631
4961
|
# disk size is 10GB. If unspecified, the default disk size is 100GB.
|
3632
4962
|
# Corresponds to the JSON property `diskSizeGb`
|
@@ -3639,6 +4969,20 @@ module Google
|
|
3639
4969
|
# @return [String]
|
3640
4970
|
attr_accessor :disk_type
|
3641
4971
|
|
4972
|
+
# Output only. effective_cgroup_mode is the cgroup mode actually used by the
|
4973
|
+
# node pool. It is determined by the cgroup mode specified in the
|
4974
|
+
# LinuxNodeConfig or the default cgroup mode based on the cluster creation
|
4975
|
+
# version.
|
4976
|
+
# Corresponds to the JSON property `effectiveCgroupMode`
|
4977
|
+
# @return [String]
|
4978
|
+
attr_accessor :effective_cgroup_mode
|
4979
|
+
|
4980
|
+
# Optional. Reserved for future use.
|
4981
|
+
# Corresponds to the JSON property `enableConfidentialStorage`
|
4982
|
+
# @return [Boolean]
|
4983
|
+
attr_accessor :enable_confidential_storage
|
4984
|
+
alias_method :enable_confidential_storage?, :enable_confidential_storage
|
4985
|
+
|
3642
4986
|
# EphemeralStorageConfig contains configuration for the ephemeral storage
|
3643
4987
|
# filesystem.
|
3644
4988
|
# Corresponds to the JSON property `ephemeralStorageConfig`
|
@@ -3666,8 +5010,15 @@ module Google
|
|
3666
5010
|
# @return [Google::Apis::ContainerV1beta1::VirtualNic]
|
3667
5011
|
attr_accessor :gvnic
|
3668
5012
|
|
5013
|
+
# HostMaintenancePolicy contains the maintenance policy for the hosts on which
|
5014
|
+
# the GKE VMs run on.
|
5015
|
+
# Corresponds to the JSON property `hostMaintenancePolicy`
|
5016
|
+
# @return [Google::Apis::ContainerV1beta1::HostMaintenancePolicy]
|
5017
|
+
attr_accessor :host_maintenance_policy
|
5018
|
+
|
3669
5019
|
# The image type to use for this node. Note that for a given image type, the
|
3670
|
-
# latest version of it will be used.
|
5020
|
+
# latest version of it will be used. Please see https://cloud.google.com/
|
5021
|
+
# kubernetes-engine/docs/concepts/node-images for available image types.
|
3671
5022
|
# Corresponds to the JSON property `imageType`
|
3672
5023
|
# @return [String]
|
3673
5024
|
attr_accessor :image_type
|
@@ -3707,6 +5058,12 @@ module Google
|
|
3707
5058
|
# @return [Fixnum]
|
3708
5059
|
attr_accessor :local_ssd_count
|
3709
5060
|
|
5061
|
+
# Specifies which method should be used for encrypting the Local SSDs attahced
|
5062
|
+
# to the node.
|
5063
|
+
# Corresponds to the JSON property `localSsdEncryptionMode`
|
5064
|
+
# @return [String]
|
5065
|
+
attr_accessor :local_ssd_encryption_mode
|
5066
|
+
|
3710
5067
|
# NodePoolLoggingConfig specifies logging configuration for nodepools.
|
3711
5068
|
# Corresponds to the JSON property `loggingConfig`
|
3712
5069
|
# @return [Google::Apis::ContainerV1beta1::NodePoolLoggingConfig]
|
@@ -3719,6 +5076,12 @@ module Google
|
|
3719
5076
|
# @return [String]
|
3720
5077
|
attr_accessor :machine_type
|
3721
5078
|
|
5079
|
+
# The maximum duration for the nodes to exist. If unspecified, the nodes can
|
5080
|
+
# exist indefinitely.
|
5081
|
+
# Corresponds to the JSON property `maxRunDuration`
|
5082
|
+
# @return [String]
|
5083
|
+
attr_accessor :max_run_duration
|
5084
|
+
|
3722
5085
|
# The metadata key/value pairs assigned to instances in the cluster. Keys must
|
3723
5086
|
# conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length.
|
3724
5087
|
# These are reflected as part of a URL in the metadata server. Additionally, to
|
@@ -3768,7 +5131,7 @@ module Google
|
|
3768
5131
|
attr_accessor :oauth_scopes
|
3769
5132
|
|
3770
5133
|
# Whether the nodes are created as preemptible VM instances. See: https://cloud.
|
3771
|
-
# google.com/compute/docs/instances/preemptible for more
|
5134
|
+
# google.com/compute/docs/instances/preemptible for more information about
|
3772
5135
|
# preemptible VM instances.
|
3773
5136
|
# Corresponds to the JSON property `preemptible`
|
3774
5137
|
# @return [Boolean]
|
@@ -3788,11 +5151,31 @@ module Google
|
|
3788
5151
|
# @return [Hash<String,String>]
|
3789
5152
|
attr_accessor :resource_labels
|
3790
5153
|
|
5154
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
5155
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
5156
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
5157
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
5158
|
+
# specified. Existing tags will be replaced with new values.
|
5159
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
5160
|
+
# @return [Google::Apis::ContainerV1beta1::ResourceManagerTags]
|
5161
|
+
attr_accessor :resource_manager_tags
|
5162
|
+
|
3791
5163
|
# SandboxConfig contains configurations of the sandbox to use for the node.
|
3792
5164
|
# Corresponds to the JSON property `sandboxConfig`
|
3793
5165
|
# @return [Google::Apis::ContainerV1beta1::SandboxConfig]
|
3794
5166
|
attr_accessor :sandbox_config
|
3795
5167
|
|
5168
|
+
# SecondaryBootDiskUpdateStrategy is a placeholder which will be extended in the
|
5169
|
+
# future to define different options for updating secondary boot disks.
|
5170
|
+
# Corresponds to the JSON property `secondaryBootDiskUpdateStrategy`
|
5171
|
+
# @return [Google::Apis::ContainerV1beta1::SecondaryBootDiskUpdateStrategy]
|
5172
|
+
attr_accessor :secondary_boot_disk_update_strategy
|
5173
|
+
|
5174
|
+
# List of secondary boot disks attached to the nodes.
|
5175
|
+
# Corresponds to the JSON property `secondaryBootDisks`
|
5176
|
+
# @return [Array<Google::Apis::ContainerV1beta1::SecondaryBootDisk>]
|
5177
|
+
attr_accessor :secondary_boot_disks
|
5178
|
+
|
3796
5179
|
# The Google Cloud Platform Service Account to be used by the node VMs. Specify
|
3797
5180
|
# the email address of the Service Account; otherwise, if no Service Account is
|
3798
5181
|
# specified, the "default" service account is used.
|
@@ -3805,6 +5188,12 @@ module Google
|
|
3805
5188
|
# @return [Google::Apis::ContainerV1beta1::ShieldedInstanceConfig]
|
3806
5189
|
attr_accessor :shielded_instance_config
|
3807
5190
|
|
5191
|
+
# SoleTenantConfig contains the NodeAffinities to specify what shared sole
|
5192
|
+
# tenant node groups should back the node pool.
|
5193
|
+
# Corresponds to the JSON property `soleTenantConfig`
|
5194
|
+
# @return [Google::Apis::ContainerV1beta1::SoleTenantConfig]
|
5195
|
+
attr_accessor :sole_tenant_config
|
5196
|
+
|
3808
5197
|
# Spot flag for enabling Spot VM, which is a rebrand of the existing preemptible
|
3809
5198
|
# flag.
|
3810
5199
|
# Corresponds to the JSON property `spot`
|
@@ -3812,6 +5201,11 @@ module Google
|
|
3812
5201
|
attr_accessor :spot
|
3813
5202
|
alias_method :spot?, :spot
|
3814
5203
|
|
5204
|
+
# List of Storage Pools where boot disks are provisioned.
|
5205
|
+
# Corresponds to the JSON property `storagePools`
|
5206
|
+
# @return [Array<String>]
|
5207
|
+
attr_accessor :storage_pools
|
5208
|
+
|
3815
5209
|
# The list of instance tags applied to all nodes. Tags are used to identify
|
3816
5210
|
# valid sources or targets for network firewalls and are specified by the client
|
3817
5211
|
# during cluster or node pool creation. Each tag within the list must comply
|
@@ -3850,21 +5244,27 @@ module Google
|
|
3850
5244
|
@advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
|
3851
5245
|
@boot_disk_kms_key = args[:boot_disk_kms_key] if args.key?(:boot_disk_kms_key)
|
3852
5246
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
5247
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
3853
5248
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
3854
5249
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
5250
|
+
@effective_cgroup_mode = args[:effective_cgroup_mode] if args.key?(:effective_cgroup_mode)
|
5251
|
+
@enable_confidential_storage = args[:enable_confidential_storage] if args.key?(:enable_confidential_storage)
|
3855
5252
|
@ephemeral_storage_config = args[:ephemeral_storage_config] if args.key?(:ephemeral_storage_config)
|
3856
5253
|
@ephemeral_storage_local_ssd_config = args[:ephemeral_storage_local_ssd_config] if args.key?(:ephemeral_storage_local_ssd_config)
|
3857
5254
|
@fast_socket = args[:fast_socket] if args.key?(:fast_socket)
|
3858
5255
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
3859
5256
|
@gvnic = args[:gvnic] if args.key?(:gvnic)
|
5257
|
+
@host_maintenance_policy = args[:host_maintenance_policy] if args.key?(:host_maintenance_policy)
|
3860
5258
|
@image_type = args[:image_type] if args.key?(:image_type)
|
3861
5259
|
@kubelet_config = args[:kubelet_config] if args.key?(:kubelet_config)
|
3862
5260
|
@labels = args[:labels] if args.key?(:labels)
|
3863
5261
|
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
3864
5262
|
@local_nvme_ssd_block_config = args[:local_nvme_ssd_block_config] if args.key?(:local_nvme_ssd_block_config)
|
3865
5263
|
@local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count)
|
5264
|
+
@local_ssd_encryption_mode = args[:local_ssd_encryption_mode] if args.key?(:local_ssd_encryption_mode)
|
3866
5265
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
3867
5266
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
5267
|
+
@max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
|
3868
5268
|
@metadata = args[:metadata] if args.key?(:metadata)
|
3869
5269
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
3870
5270
|
@node_group = args[:node_group] if args.key?(:node_group)
|
@@ -3872,10 +5272,15 @@ module Google
|
|
3872
5272
|
@preemptible = args[:preemptible] if args.key?(:preemptible)
|
3873
5273
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
3874
5274
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
5275
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
3875
5276
|
@sandbox_config = args[:sandbox_config] if args.key?(:sandbox_config)
|
5277
|
+
@secondary_boot_disk_update_strategy = args[:secondary_boot_disk_update_strategy] if args.key?(:secondary_boot_disk_update_strategy)
|
5278
|
+
@secondary_boot_disks = args[:secondary_boot_disks] if args.key?(:secondary_boot_disks)
|
3876
5279
|
@service_account = args[:service_account] if args.key?(:service_account)
|
3877
5280
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
5281
|
+
@sole_tenant_config = args[:sole_tenant_config] if args.key?(:sole_tenant_config)
|
3878
5282
|
@spot = args[:spot] if args.key?(:spot)
|
5283
|
+
@storage_pools = args[:storage_pools] if args.key?(:storage_pools)
|
3879
5284
|
@tags = args[:tags] if args.key?(:tags)
|
3880
5285
|
@taints = args[:taints] if args.key?(:taints)
|
3881
5286
|
@windows_node_config = args[:windows_node_config] if args.key?(:windows_node_config)
|
@@ -3887,24 +5292,43 @@ module Google
|
|
3887
5292
|
class NodeConfigDefaults
|
3888
5293
|
include Google::Apis::Core::Hashable
|
3889
5294
|
|
5295
|
+
# ContainerdConfig contains configuration to customize containerd.
|
5296
|
+
# Corresponds to the JSON property `containerdConfig`
|
5297
|
+
# @return [Google::Apis::ContainerV1beta1::ContainerdConfig]
|
5298
|
+
attr_accessor :containerd_config
|
5299
|
+
|
3890
5300
|
# GcfsConfig contains configurations of Google Container File System.
|
3891
5301
|
# Corresponds to the JSON property `gcfsConfig`
|
3892
5302
|
# @return [Google::Apis::ContainerV1beta1::GcfsConfig]
|
3893
5303
|
attr_accessor :gcfs_config
|
3894
5304
|
|
5305
|
+
# HostMaintenancePolicy contains the maintenance policy for the hosts on which
|
5306
|
+
# the GKE VMs run on.
|
5307
|
+
# Corresponds to the JSON property `hostMaintenancePolicy`
|
5308
|
+
# @return [Google::Apis::ContainerV1beta1::HostMaintenancePolicy]
|
5309
|
+
attr_accessor :host_maintenance_policy
|
5310
|
+
|
3895
5311
|
# NodePoolLoggingConfig specifies logging configuration for nodepools.
|
3896
5312
|
# Corresponds to the JSON property `loggingConfig`
|
3897
5313
|
# @return [Google::Apis::ContainerV1beta1::NodePoolLoggingConfig]
|
3898
5314
|
attr_accessor :logging_config
|
3899
5315
|
|
5316
|
+
# Node kubelet configs.
|
5317
|
+
# Corresponds to the JSON property `nodeKubeletConfig`
|
5318
|
+
# @return [Google::Apis::ContainerV1beta1::NodeKubeletConfig]
|
5319
|
+
attr_accessor :node_kubelet_config
|
5320
|
+
|
3900
5321
|
def initialize(**args)
|
3901
5322
|
update!(**args)
|
3902
5323
|
end
|
3903
5324
|
|
3904
5325
|
# Update properties of this object
|
3905
5326
|
def update!(**args)
|
5327
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
3906
5328
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
5329
|
+
@host_maintenance_policy = args[:host_maintenance_policy] if args.key?(:host_maintenance_policy)
|
3907
5330
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
5331
|
+
@node_kubelet_config = args[:node_kubelet_config] if args.key?(:node_kubelet_config)
|
3908
5332
|
end
|
3909
5333
|
end
|
3910
5334
|
|
@@ -3942,6 +5366,12 @@ module Google
|
|
3942
5366
|
# @return [String]
|
3943
5367
|
attr_accessor :cpu_manager_policy
|
3944
5368
|
|
5369
|
+
# Enable or disable Kubelet read only port.
|
5370
|
+
# Corresponds to the JSON property `insecureKubeletReadonlyPortEnabled`
|
5371
|
+
# @return [Boolean]
|
5372
|
+
attr_accessor :insecure_kubelet_readonly_port_enabled
|
5373
|
+
alias_method :insecure_kubelet_readonly_port_enabled?, :insecure_kubelet_readonly_port_enabled
|
5374
|
+
|
3945
5375
|
# Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-
|
3946
5376
|
# limiting/#pod-pid-limits Controls the maximum number of processes allowed to
|
3947
5377
|
# run in a pod. The value must be greater than or equal to 1024 and less than
|
@@ -3959,6 +5389,7 @@ module Google
|
|
3959
5389
|
@cpu_cfs_quota = args[:cpu_cfs_quota] if args.key?(:cpu_cfs_quota)
|
3960
5390
|
@cpu_cfs_quota_period = args[:cpu_cfs_quota_period] if args.key?(:cpu_cfs_quota_period)
|
3961
5391
|
@cpu_manager_policy = args[:cpu_manager_policy] if args.key?(:cpu_manager_policy)
|
5392
|
+
@insecure_kubelet_readonly_port_enabled = args[:insecure_kubelet_readonly_port_enabled] if args.key?(:insecure_kubelet_readonly_port_enabled)
|
3962
5393
|
@pod_pids_limit = args[:pod_pids_limit] if args.key?(:pod_pids_limit)
|
3963
5394
|
end
|
3964
5395
|
end
|
@@ -4022,6 +5453,18 @@ module Google
|
|
4022
5453
|
class NodeNetworkConfig
|
4023
5454
|
include Google::Apis::Core::Hashable
|
4024
5455
|
|
5456
|
+
# We specify the additional node networks for this node pool using this list.
|
5457
|
+
# Each node network corresponds to an additional interface
|
5458
|
+
# Corresponds to the JSON property `additionalNodeNetworkConfigs`
|
5459
|
+
# @return [Array<Google::Apis::ContainerV1beta1::AdditionalNodeNetworkConfig>]
|
5460
|
+
attr_accessor :additional_node_network_configs
|
5461
|
+
|
5462
|
+
# We specify the additional pod networks for this node pool using this list.
|
5463
|
+
# Each pod network corresponds to an additional alias IP range for the node
|
5464
|
+
# Corresponds to the JSON property `additionalPodNetworkConfigs`
|
5465
|
+
# @return [Array<Google::Apis::ContainerV1beta1::AdditionalPodNetworkConfig>]
|
5466
|
+
attr_accessor :additional_pod_network_configs
|
5467
|
+
|
4025
5468
|
# Input only. Whether to create a new range for pod IPs in this node pool.
|
4026
5469
|
# Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are
|
4027
5470
|
# not specified. If neither `create_pod_range` or `pod_range` are specified, the
|
@@ -4034,8 +5477,8 @@ module Google
|
|
4034
5477
|
alias_method :create_pod_range?, :create_pod_range
|
4035
5478
|
|
4036
5479
|
# Whether nodes have internal IP addresses only. If enable_private_nodes is not
|
4037
|
-
# specified, then the value is derived from
|
4038
|
-
#
|
5480
|
+
# specified, then the value is derived from Cluster.NetworkConfig.
|
5481
|
+
# default_enable_private_nodes
|
4039
5482
|
# Corresponds to the JSON property `enablePrivateNodes`
|
4040
5483
|
# @return [Boolean]
|
4041
5484
|
attr_accessor :enable_private_nodes
|
@@ -4046,6 +5489,11 @@ module Google
|
|
4046
5489
|
# @return [Google::Apis::ContainerV1beta1::NetworkPerformanceConfig]
|
4047
5490
|
attr_accessor :network_performance_config
|
4048
5491
|
|
5492
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
5493
|
+
# Corresponds to the JSON property `podCidrOverprovisionConfig`
|
5494
|
+
# @return [Google::Apis::ContainerV1beta1::PodCidrOverprovisionConfig]
|
5495
|
+
attr_accessor :pod_cidr_overprovision_config
|
5496
|
+
|
4049
5497
|
# The IP address range for pod IPs in this node pool. Only applicable if `
|
4050
5498
|
# create_pod_range` is true. Set to blank to have a range chosen with the
|
4051
5499
|
# default size. Set to /netmask (e.g. `/14`) to have a range chosen with a
|
@@ -4057,6 +5505,13 @@ module Google
|
|
4057
5505
|
# @return [String]
|
4058
5506
|
attr_accessor :pod_ipv4_cidr_block
|
4059
5507
|
|
5508
|
+
# Output only. The utilization of the IPv4 range for the pod. The ratio is Usage/
|
5509
|
+
# [Total number of IPs in the secondary range], Usage=numNodes*numZones*
|
5510
|
+
# podIPsPerNode.
|
5511
|
+
# Corresponds to the JSON property `podIpv4RangeUtilization`
|
5512
|
+
# @return [Float]
|
5513
|
+
attr_accessor :pod_ipv4_range_utilization
|
5514
|
+
|
4060
5515
|
# The ID of the secondary range for pod IPs. If `create_pod_range` is true, this
|
4061
5516
|
# ID is used for the new range. If `create_pod_range` is false, uses an existing
|
4062
5517
|
# secondary range with this ID. Only applicable if `ip_allocation_policy.
|
@@ -4072,10 +5527,14 @@ module Google
|
|
4072
5527
|
|
4073
5528
|
# Update properties of this object
|
4074
5529
|
def update!(**args)
|
5530
|
+
@additional_node_network_configs = args[:additional_node_network_configs] if args.key?(:additional_node_network_configs)
|
5531
|
+
@additional_pod_network_configs = args[:additional_pod_network_configs] if args.key?(:additional_pod_network_configs)
|
4075
5532
|
@create_pod_range = args[:create_pod_range] if args.key?(:create_pod_range)
|
4076
5533
|
@enable_private_nodes = args[:enable_private_nodes] if args.key?(:enable_private_nodes)
|
4077
5534
|
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
5535
|
+
@pod_cidr_overprovision_config = args[:pod_cidr_overprovision_config] if args.key?(:pod_cidr_overprovision_config)
|
4078
5536
|
@pod_ipv4_cidr_block = args[:pod_ipv4_cidr_block] if args.key?(:pod_ipv4_cidr_block)
|
5537
|
+
@pod_ipv4_range_utilization = args[:pod_ipv4_range_utilization] if args.key?(:pod_ipv4_range_utilization)
|
4079
5538
|
@pod_range = args[:pod_range] if args.key?(:pod_range)
|
4080
5539
|
end
|
4081
5540
|
end
|
@@ -4085,20 +5544,7 @@ module Google
|
|
4085
5544
|
# specification, under the control of the cluster master. They may have a set of
|
4086
5545
|
# Kubernetes labels applied to them, which may be used to reference them during
|
4087
5546
|
# 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.
|
5547
|
+
# workload.
|
4102
5548
|
class NodePool
|
4103
5549
|
include Google::Apis::Core::Hashable
|
4104
5550
|
|
@@ -4108,6 +5554,11 @@ module Google
|
|
4108
5554
|
# @return [Google::Apis::ContainerV1beta1::NodePoolAutoscaling]
|
4109
5555
|
attr_accessor :autoscaling
|
4110
5556
|
|
5557
|
+
# Best effort provisioning.
|
5558
|
+
# Corresponds to the JSON property `bestEffortProvisioning`
|
5559
|
+
# @return [Google::Apis::ContainerV1beta1::BestEffortProvisioning]
|
5560
|
+
attr_accessor :best_effort_provisioning
|
5561
|
+
|
4111
5562
|
# Which conditions caused the current node pool state.
|
4112
5563
|
# Corresponds to the JSON property `conditions`
|
4113
5564
|
# @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
|
@@ -4135,7 +5586,7 @@ module Google
|
|
4135
5586
|
# @return [Fixnum]
|
4136
5587
|
attr_accessor :initial_node_count
|
4137
5588
|
|
4138
|
-
#
|
5589
|
+
# Output only. The resource URLs of the [managed instance groups](https://cloud.
|
4139
5590
|
# google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
|
4140
5591
|
# associated with this node pool. During the node pool blue-green upgrade
|
4141
5592
|
# operation, the URLs contain both blue and green resources.
|
@@ -4179,22 +5630,27 @@ module Google
|
|
4179
5630
|
# @return [Google::Apis::ContainerV1beta1::PlacementPolicy]
|
4180
5631
|
attr_accessor :placement_policy
|
4181
5632
|
|
4182
|
-
#
|
5633
|
+
# Output only. The pod CIDR block size per node in this node pool.
|
4183
5634
|
# Corresponds to the JSON property `podIpv4CidrSize`
|
4184
5635
|
# @return [Fixnum]
|
4185
5636
|
attr_accessor :pod_ipv4_cidr_size
|
4186
5637
|
|
4187
|
-
#
|
5638
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
5639
|
+
# Corresponds to the JSON property `queuedProvisioning`
|
5640
|
+
# @return [Google::Apis::ContainerV1beta1::QueuedProvisioning]
|
5641
|
+
attr_accessor :queued_provisioning
|
5642
|
+
|
5643
|
+
# Output only. Server-defined URL for the resource.
|
4188
5644
|
# Corresponds to the JSON property `selfLink`
|
4189
5645
|
# @return [String]
|
4190
5646
|
attr_accessor :self_link
|
4191
5647
|
|
4192
|
-
#
|
5648
|
+
# Output only. The status of the nodes in this pool instance.
|
4193
5649
|
# Corresponds to the JSON property `status`
|
4194
5650
|
# @return [String]
|
4195
5651
|
attr_accessor :status
|
4196
5652
|
|
4197
|
-
#
|
5653
|
+
# Output only. Deprecated. Use conditions instead. Additional information about
|
4198
5654
|
# the current status of this node pool instance, if available.
|
4199
5655
|
# Corresponds to the JSON property `statusMessage`
|
4200
5656
|
# @return [String]
|
@@ -4206,6 +5662,20 @@ module Google
|
|
4206
5662
|
# @return [Google::Apis::ContainerV1beta1::UpdateInfo]
|
4207
5663
|
attr_accessor :update_info
|
4208
5664
|
|
5665
|
+
# These upgrade settings control the level of parallelism and the level of
|
5666
|
+
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
5667
|
+
# that can be simultaneously unavailable. maxSurge controls the number of
|
5668
|
+
# additional nodes that can be added to the node pool temporarily for the time
|
5669
|
+
# of the upgrade to increase the number of available nodes. (maxUnavailable +
|
5670
|
+
# maxSurge) determines the level of parallelism (how many nodes are being
|
5671
|
+
# upgraded at the same time). Note: upgrades inevitably introduce some
|
5672
|
+
# disruption since workloads need to be moved from old nodes to new, upgraded
|
5673
|
+
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
5674
|
+
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
5675
|
+
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
5676
|
+
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
5677
|
+
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
5678
|
+
# same time. This ensures that there are always at least 4 nodes available.
|
4209
5679
|
# These upgrade settings configure the upgrade strategy for the node pool. Use
|
4210
5680
|
# strategy to switch between the strategies applied to the node pool. If the
|
4211
5681
|
# strategy is SURGE, use max_surge and max_unavailable to control the level of
|
@@ -4227,7 +5697,9 @@ module Google
|
|
4227
5697
|
# @return [Google::Apis::ContainerV1beta1::UpgradeSettings]
|
4228
5698
|
attr_accessor :upgrade_settings
|
4229
5699
|
|
4230
|
-
# The version of
|
5700
|
+
# The version of Kubernetes running on this NodePool's nodes. If unspecified, it
|
5701
|
+
# defaults as described [here](https://cloud.google.com/kubernetes-engine/
|
5702
|
+
# versioning#specifying_node_version).
|
4231
5703
|
# Corresponds to the JSON property `version`
|
4232
5704
|
# @return [String]
|
4233
5705
|
attr_accessor :version
|
@@ -4239,6 +5711,7 @@ module Google
|
|
4239
5711
|
# Update properties of this object
|
4240
5712
|
def update!(**args)
|
4241
5713
|
@autoscaling = args[:autoscaling] if args.key?(:autoscaling)
|
5714
|
+
@best_effort_provisioning = args[:best_effort_provisioning] if args.key?(:best_effort_provisioning)
|
4242
5715
|
@conditions = args[:conditions] if args.key?(:conditions)
|
4243
5716
|
@config = args[:config] if args.key?(:config)
|
4244
5717
|
@etag = args[:etag] if args.key?(:etag)
|
@@ -4251,6 +5724,7 @@ module Google
|
|
4251
5724
|
@network_config = args[:network_config] if args.key?(:network_config)
|
4252
5725
|
@placement_policy = args[:placement_policy] if args.key?(:placement_policy)
|
4253
5726
|
@pod_ipv4_cidr_size = args[:pod_ipv4_cidr_size] if args.key?(:pod_ipv4_cidr_size)
|
5727
|
+
@queued_provisioning = args[:queued_provisioning] if args.key?(:queued_provisioning)
|
4254
5728
|
@self_link = args[:self_link] if args.key?(:self_link)
|
4255
5729
|
@status = args[:status] if args.key?(:status)
|
4256
5730
|
@status_message = args[:status_message] if args.key?(:status_message)
|
@@ -4265,6 +5739,11 @@ module Google
|
|
4265
5739
|
class NodePoolAutoConfig
|
4266
5740
|
include Google::Apis::Core::Hashable
|
4267
5741
|
|
5742
|
+
# Parameters that can be configured on Linux nodes.
|
5743
|
+
# Corresponds to the JSON property `linuxNodeConfig`
|
5744
|
+
# @return [Google::Apis::ContainerV1beta1::LinuxNodeConfig]
|
5745
|
+
attr_accessor :linux_node_config
|
5746
|
+
|
4268
5747
|
# Collection of Compute Engine network tags that can be applied to a node's
|
4269
5748
|
# underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/
|
4270
5749
|
# docs/reference/rest/v1/NodeConfig)).
|
@@ -4272,13 +5751,30 @@ module Google
|
|
4272
5751
|
# @return [Google::Apis::ContainerV1beta1::NetworkTags]
|
4273
5752
|
attr_accessor :network_tags
|
4274
5753
|
|
5754
|
+
# Node kubelet configs.
|
5755
|
+
# Corresponds to the JSON property `nodeKubeletConfig`
|
5756
|
+
# @return [Google::Apis::ContainerV1beta1::NodeKubeletConfig]
|
5757
|
+
attr_accessor :node_kubelet_config
|
5758
|
+
|
5759
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
5760
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
5761
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
5762
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
5763
|
+
# specified. Existing tags will be replaced with new values.
|
5764
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
5765
|
+
# @return [Google::Apis::ContainerV1beta1::ResourceManagerTags]
|
5766
|
+
attr_accessor :resource_manager_tags
|
5767
|
+
|
4275
5768
|
def initialize(**args)
|
4276
5769
|
update!(**args)
|
4277
5770
|
end
|
4278
5771
|
|
4279
5772
|
# Update properties of this object
|
4280
5773
|
def update!(**args)
|
5774
|
+
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
4281
5775
|
@network_tags = args[:network_tags] if args.key?(:network_tags)
|
5776
|
+
@node_kubelet_config = args[:node_kubelet_config] if args.key?(:node_kubelet_config)
|
5777
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
4282
5778
|
end
|
4283
5779
|
end
|
4284
5780
|
|
@@ -4304,19 +5800,19 @@ module Google
|
|
4304
5800
|
# @return [String]
|
4305
5801
|
attr_accessor :location_policy
|
4306
5802
|
|
4307
|
-
# Maximum number of nodes for one location in the
|
5803
|
+
# Maximum number of nodes for one location in the node pool. Must be >=
|
4308
5804
|
# min_node_count. There has to be enough quota to scale up the cluster.
|
4309
5805
|
# Corresponds to the JSON property `maxNodeCount`
|
4310
5806
|
# @return [Fixnum]
|
4311
5807
|
attr_accessor :max_node_count
|
4312
5808
|
|
4313
|
-
# Minimum number of nodes for one location in the
|
4314
|
-
# max_node_count.
|
5809
|
+
# Minimum number of nodes for one location in the node pool. Must be greater
|
5810
|
+
# than or equal to 0 and less than or equal to max_node_count.
|
4315
5811
|
# Corresponds to the JSON property `minNodeCount`
|
4316
5812
|
# @return [Fixnum]
|
4317
5813
|
attr_accessor :min_node_count
|
4318
5814
|
|
4319
|
-
# Maximum number of nodes in the node pool. Must be greater than
|
5815
|
+
# Maximum number of nodes in the node pool. Must be greater than or equal to
|
4320
5816
|
# total_min_node_count. There has to be enough quota to scale up the cluster.
|
4321
5817
|
# The total_*_node_count fields are mutually exclusive with the *_node_count
|
4322
5818
|
# fields.
|
@@ -4324,9 +5820,9 @@ module Google
|
|
4324
5820
|
# @return [Fixnum]
|
4325
5821
|
attr_accessor :total_max_node_count
|
4326
5822
|
|
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.
|
5823
|
+
# Minimum number of nodes in the node pool. Must be greater than or equal to 0
|
5824
|
+
# and less than or equal to total_max_node_count. The total_*_node_count fields
|
5825
|
+
# are mutually exclusive with the *_node_count fields.
|
4330
5826
|
# Corresponds to the JSON property `totalMinNodeCount`
|
4331
5827
|
# @return [Fixnum]
|
4332
5828
|
attr_accessor :total_min_node_count
|
@@ -4385,7 +5881,62 @@ module Google
|
|
4385
5881
|
end
|
4386
5882
|
end
|
4387
5883
|
|
4388
|
-
#
|
5884
|
+
# NodePoolUpgradeInfo contains the upgrade information of a nodepool.
|
5885
|
+
class NodePoolUpgradeInfo
|
5886
|
+
include Google::Apis::Core::Hashable
|
5887
|
+
|
5888
|
+
# The auto upgrade status.
|
5889
|
+
# Corresponds to the JSON property `autoUpgradeStatus`
|
5890
|
+
# @return [Array<String>]
|
5891
|
+
attr_accessor :auto_upgrade_status
|
5892
|
+
|
5893
|
+
# The nodepool's current minor version's end of extended support timestamp.
|
5894
|
+
# Corresponds to the JSON property `endOfExtendedSupportTimestamp`
|
5895
|
+
# @return [String]
|
5896
|
+
attr_accessor :end_of_extended_support_timestamp
|
5897
|
+
|
5898
|
+
# The nodepool's current minor version's end of standard support timestamp.
|
5899
|
+
# Corresponds to the JSON property `endOfStandardSupportTimestamp`
|
5900
|
+
# @return [String]
|
5901
|
+
attr_accessor :end_of_standard_support_timestamp
|
5902
|
+
|
5903
|
+
# minor_target_version indicates the target version for minor upgrade.
|
5904
|
+
# Corresponds to the JSON property `minorTargetVersion`
|
5905
|
+
# @return [String]
|
5906
|
+
attr_accessor :minor_target_version
|
5907
|
+
|
5908
|
+
# patch_target_version indicates the target version for patch upgrade.
|
5909
|
+
# Corresponds to the JSON property `patchTargetVersion`
|
5910
|
+
# @return [String]
|
5911
|
+
attr_accessor :patch_target_version
|
5912
|
+
|
5913
|
+
# The auto upgrade paused reason.
|
5914
|
+
# Corresponds to the JSON property `pausedReason`
|
5915
|
+
# @return [Array<String>]
|
5916
|
+
attr_accessor :paused_reason
|
5917
|
+
|
5918
|
+
# The list of past auto upgrades.
|
5919
|
+
# Corresponds to the JSON property `upgradeDetails`
|
5920
|
+
# @return [Array<Google::Apis::ContainerV1beta1::UpgradeDetails>]
|
5921
|
+
attr_accessor :upgrade_details
|
5922
|
+
|
5923
|
+
def initialize(**args)
|
5924
|
+
update!(**args)
|
5925
|
+
end
|
5926
|
+
|
5927
|
+
# Update properties of this object
|
5928
|
+
def update!(**args)
|
5929
|
+
@auto_upgrade_status = args[:auto_upgrade_status] if args.key?(:auto_upgrade_status)
|
5930
|
+
@end_of_extended_support_timestamp = args[:end_of_extended_support_timestamp] if args.key?(:end_of_extended_support_timestamp)
|
5931
|
+
@end_of_standard_support_timestamp = args[:end_of_standard_support_timestamp] if args.key?(:end_of_standard_support_timestamp)
|
5932
|
+
@minor_target_version = args[:minor_target_version] if args.key?(:minor_target_version)
|
5933
|
+
@patch_target_version = args[:patch_target_version] if args.key?(:patch_target_version)
|
5934
|
+
@paused_reason = args[:paused_reason] if args.key?(:paused_reason)
|
5935
|
+
@upgrade_details = args[:upgrade_details] if args.key?(:upgrade_details)
|
5936
|
+
end
|
5937
|
+
end
|
5938
|
+
|
5939
|
+
# Kubernetes taint is composed of three fields: key, value, and effect. Effect
|
4389
5940
|
# can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See
|
4390
5941
|
# [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
|
4391
5942
|
# for more information, including usage and the valid values.
|
@@ -4469,12 +6020,12 @@ module Google
|
|
4469
6020
|
# @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
|
4470
6021
|
attr_accessor :cluster_conditions
|
4471
6022
|
|
4472
|
-
# Detailed operation progress, if available.
|
6023
|
+
# Output only. Detailed operation progress, if available.
|
4473
6024
|
# Corresponds to the JSON property `detail`
|
4474
6025
|
# @return [String]
|
4475
6026
|
attr_accessor :detail
|
4476
6027
|
|
4477
|
-
#
|
6028
|
+
# Output only. The time the operation completed, in [RFC3339](https://www.ietf.
|
4478
6029
|
# org/rfc/rfc3339.txt) text format.
|
4479
6030
|
# Corresponds to the JSON property `endTime`
|
4480
6031
|
# @return [String]
|
@@ -4490,15 +6041,15 @@ module Google
|
|
4490
6041
|
# @return [Google::Apis::ContainerV1beta1::Status]
|
4491
6042
|
attr_accessor :error
|
4492
6043
|
|
4493
|
-
#
|
4494
|
-
#
|
4495
|
-
#
|
4496
|
-
#
|
6044
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
6045
|
+
# com/compute/docs/regions-zones/regions-zones#available) or [region](https://
|
6046
|
+
# cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
|
6047
|
+
# the cluster resides.
|
4497
6048
|
# Corresponds to the JSON property `location`
|
4498
6049
|
# @return [String]
|
4499
6050
|
attr_accessor :location
|
4500
6051
|
|
4501
|
-
# The server-assigned ID for the operation.
|
6052
|
+
# Output only. The server-assigned ID for the operation.
|
4502
6053
|
# Corresponds to the JSON property `name`
|
4503
6054
|
# @return [String]
|
4504
6055
|
attr_accessor :name
|
@@ -4509,7 +6060,7 @@ module Google
|
|
4509
6060
|
# @return [Array<Google::Apis::ContainerV1beta1::StatusCondition>]
|
4510
6061
|
attr_accessor :nodepool_conditions
|
4511
6062
|
|
4512
|
-
# The operation type.
|
6063
|
+
# Output only. The operation type.
|
4513
6064
|
# Corresponds to the JSON property `operationType`
|
4514
6065
|
# @return [String]
|
4515
6066
|
attr_accessor :operation_type
|
@@ -4519,18 +6070,20 @@ module Google
|
|
4519
6070
|
# @return [Google::Apis::ContainerV1beta1::OperationProgress]
|
4520
6071
|
attr_accessor :progress
|
4521
6072
|
|
4522
|
-
# Server-defined
|
6073
|
+
# Output only. Server-defined URI for the operation. Example: `https://container.
|
6074
|
+
# googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/
|
6075
|
+
# operation-123`.
|
4523
6076
|
# Corresponds to the JSON property `selfLink`
|
4524
6077
|
# @return [String]
|
4525
6078
|
attr_accessor :self_link
|
4526
6079
|
|
4527
|
-
#
|
4528
|
-
#
|
6080
|
+
# Output only. The time the operation started, in [RFC3339](https://www.ietf.org/
|
6081
|
+
# rfc/rfc3339.txt) text format.
|
4529
6082
|
# Corresponds to the JSON property `startTime`
|
4530
6083
|
# @return [String]
|
4531
6084
|
attr_accessor :start_time
|
4532
6085
|
|
4533
|
-
# The current status of the operation.
|
6086
|
+
# Output only. The current status of the operation.
|
4534
6087
|
# Corresponds to the JSON property `status`
|
4535
6088
|
# @return [String]
|
4536
6089
|
attr_accessor :status
|
@@ -4541,14 +6094,21 @@ module Google
|
|
4541
6094
|
# @return [String]
|
4542
6095
|
attr_accessor :status_message
|
4543
6096
|
|
4544
|
-
# Server-defined
|
6097
|
+
# Output only. Server-defined URI for the target of the operation. The format of
|
6098
|
+
# this is a URI to the resource being modified (such as a cluster, node pool, or
|
6099
|
+
# node). For node pool repairs, there may be multiple nodes being repaired, but
|
6100
|
+
# only one will be the target. Examples: - ## `https://container.googleapis.com/
|
6101
|
+
# v1/projects/123/locations/us-central1/clusters/my-cluster` ## `https://
|
6102
|
+
# container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-
|
6103
|
+
# cluster/nodePools/my-np` `https://container.googleapis.com/v1/projects/123/
|
6104
|
+
# zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node`
|
4545
6105
|
# Corresponds to the JSON property `targetLink`
|
4546
6106
|
# @return [String]
|
4547
6107
|
attr_accessor :target_link
|
4548
6108
|
|
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.
|
6109
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
6110
|
+
# com/compute/docs/zones#available) in which the operation is taking place. This
|
6111
|
+
# field is deprecated, use location instead.
|
4552
6112
|
# Corresponds to the JSON property `zone`
|
4553
6113
|
# @return [String]
|
4554
6114
|
attr_accessor :zone
|
@@ -4577,6 +6137,38 @@ module Google
|
|
4577
6137
|
end
|
4578
6138
|
end
|
4579
6139
|
|
6140
|
+
# OperationError records errors seen from CloudKMS keys encountered during
|
6141
|
+
# updates to DatabaseEncryption configuration.
|
6142
|
+
class OperationError
|
6143
|
+
include Google::Apis::Core::Hashable
|
6144
|
+
|
6145
|
+
# Description of the error seen during the operation.
|
6146
|
+
# Corresponds to the JSON property `errorMessage`
|
6147
|
+
# @return [String]
|
6148
|
+
attr_accessor :error_message
|
6149
|
+
|
6150
|
+
# CloudKMS key resource that had the error.
|
6151
|
+
# Corresponds to the JSON property `keyName`
|
6152
|
+
# @return [String]
|
6153
|
+
attr_accessor :key_name
|
6154
|
+
|
6155
|
+
# Time when the CloudKMS error was seen.
|
6156
|
+
# Corresponds to the JSON property `timestamp`
|
6157
|
+
# @return [String]
|
6158
|
+
attr_accessor :timestamp
|
6159
|
+
|
6160
|
+
def initialize(**args)
|
6161
|
+
update!(**args)
|
6162
|
+
end
|
6163
|
+
|
6164
|
+
# Update properties of this object
|
6165
|
+
def update!(**args)
|
6166
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
6167
|
+
@key_name = args[:key_name] if args.key?(:key_name)
|
6168
|
+
@timestamp = args[:timestamp] if args.key?(:timestamp)
|
6169
|
+
end
|
6170
|
+
end
|
6171
|
+
|
4580
6172
|
# Information about operation (or operation stage) progress.
|
4581
6173
|
class OperationProgress
|
4582
6174
|
include Google::Apis::Core::Hashable
|
@@ -4617,25 +6209,165 @@ module Google
|
|
4617
6209
|
end
|
4618
6210
|
end
|
4619
6211
|
|
4620
|
-
#
|
4621
|
-
class
|
6212
|
+
# Strategy that will trigger maintenance on behalf of the customer.
|
6213
|
+
class OpportunisticMaintenanceStrategy
|
4622
6214
|
include Google::Apis::Core::Hashable
|
4623
6215
|
|
4624
|
-
# The
|
4625
|
-
#
|
6216
|
+
# The window of time that opportunistic maintenance can run. Example: A setting
|
6217
|
+
# of 14 days implies that opportunistic maintenance can only be ran in the 2
|
6218
|
+
# weeks leading up to the scheduled maintenance date. Setting 28 days allows
|
6219
|
+
# opportunistic maintenance to run at any time in the scheduled maintenance
|
6220
|
+
# window (all `PERIODIC` maintenance is set 28 days in advance).
|
6221
|
+
# Corresponds to the JSON property `maintenanceAvailabilityWindow`
|
4626
6222
|
# @return [String]
|
4627
|
-
attr_accessor :
|
6223
|
+
attr_accessor :maintenance_availability_window
|
4628
6224
|
|
4629
|
-
|
6225
|
+
# The minimum nodes required to be available in a pool. Blocks maintenance if it
|
6226
|
+
# would cause the number of running nodes to dip below this value.
|
6227
|
+
# Corresponds to the JSON property `minNodesPerPool`
|
6228
|
+
# @return [Fixnum]
|
6229
|
+
attr_accessor :min_nodes_per_pool
|
6230
|
+
|
6231
|
+
# The amount of time that a node can remain idle (no customer owned workloads
|
6232
|
+
# running), before triggering maintenance.
|
6233
|
+
# Corresponds to the JSON property `nodeIdleTimeWindow`
|
6234
|
+
# @return [String]
|
6235
|
+
attr_accessor :node_idle_time_window
|
6236
|
+
|
6237
|
+
def initialize(**args)
|
6238
|
+
update!(**args)
|
6239
|
+
end
|
6240
|
+
|
6241
|
+
# Update properties of this object
|
6242
|
+
def update!(**args)
|
6243
|
+
@maintenance_availability_window = args[:maintenance_availability_window] if args.key?(:maintenance_availability_window)
|
6244
|
+
@min_nodes_per_pool = args[:min_nodes_per_pool] if args.key?(:min_nodes_per_pool)
|
6245
|
+
@node_idle_time_window = args[:node_idle_time_window] if args.key?(:node_idle_time_window)
|
6246
|
+
end
|
6247
|
+
end
|
6248
|
+
|
6249
|
+
# Configuration for the Cloud Storage Parallelstore CSI driver.
|
6250
|
+
class ParallelstoreCsiDriverConfig
|
6251
|
+
include Google::Apis::Core::Hashable
|
6252
|
+
|
6253
|
+
# Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster.
|
6254
|
+
# Corresponds to the JSON property `enabled`
|
6255
|
+
# @return [Boolean]
|
6256
|
+
attr_accessor :enabled
|
6257
|
+
alias_method :enabled?, :enabled
|
6258
|
+
|
6259
|
+
def initialize(**args)
|
4630
6260
|
update!(**args)
|
4631
6261
|
end
|
4632
6262
|
|
4633
6263
|
# Update properties of this object
|
4634
6264
|
def update!(**args)
|
6265
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6266
|
+
end
|
6267
|
+
end
|
6268
|
+
|
6269
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
6270
|
+
# This field is used by Google internal products that are built on top of a GKE
|
6271
|
+
# cluster and take the ownership of the cluster.
|
6272
|
+
class ParentProductConfig
|
6273
|
+
include Google::Apis::Core::Hashable
|
6274
|
+
|
6275
|
+
# Labels contain the configuration of the parent product.
|
6276
|
+
# Corresponds to the JSON property `labels`
|
6277
|
+
# @return [Hash<String,String>]
|
6278
|
+
attr_accessor :labels
|
6279
|
+
|
6280
|
+
# Name of the parent product associated with the cluster.
|
6281
|
+
# Corresponds to the JSON property `productName`
|
6282
|
+
# @return [String]
|
6283
|
+
attr_accessor :product_name
|
6284
|
+
|
6285
|
+
def initialize(**args)
|
6286
|
+
update!(**args)
|
6287
|
+
end
|
6288
|
+
|
6289
|
+
# Update properties of this object
|
6290
|
+
def update!(**args)
|
6291
|
+
@labels = args[:labels] if args.key?(:labels)
|
6292
|
+
@product_name = args[:product_name] if args.key?(:product_name)
|
6293
|
+
end
|
6294
|
+
end
|
6295
|
+
|
6296
|
+
# PlacementPolicy defines the placement policy used by the node pool.
|
6297
|
+
class PlacementPolicy
|
6298
|
+
include Google::Apis::Core::Hashable
|
6299
|
+
|
6300
|
+
# If set, refers to the name of a custom resource policy supplied by the user.
|
6301
|
+
# The resource policy must be in the same project and region as the node pool.
|
6302
|
+
# If not found, InvalidArgument error is returned.
|
6303
|
+
# Corresponds to the JSON property `policyName`
|
6304
|
+
# @return [String]
|
6305
|
+
attr_accessor :policy_name
|
6306
|
+
|
6307
|
+
# TPU placement topology for pod slice node pool. https://cloud.google.com/tpu/
|
6308
|
+
# docs/types-topologies#tpu_topologies
|
6309
|
+
# Corresponds to the JSON property `tpuTopology`
|
6310
|
+
# @return [String]
|
6311
|
+
attr_accessor :tpu_topology
|
6312
|
+
|
6313
|
+
# The type of placement.
|
6314
|
+
# Corresponds to the JSON property `type`
|
6315
|
+
# @return [String]
|
6316
|
+
attr_accessor :type
|
6317
|
+
|
6318
|
+
def initialize(**args)
|
6319
|
+
update!(**args)
|
6320
|
+
end
|
6321
|
+
|
6322
|
+
# Update properties of this object
|
6323
|
+
def update!(**args)
|
6324
|
+
@policy_name = args[:policy_name] if args.key?(:policy_name)
|
6325
|
+
@tpu_topology = args[:tpu_topology] if args.key?(:tpu_topology)
|
4635
6326
|
@type = args[:type] if args.key?(:type)
|
4636
6327
|
end
|
4637
6328
|
end
|
4638
6329
|
|
6330
|
+
# PodAutoscaling is used for configuration of parameters for workload
|
6331
|
+
# autoscaling.
|
6332
|
+
class PodAutoscaling
|
6333
|
+
include Google::Apis::Core::Hashable
|
6334
|
+
|
6335
|
+
# Selected Horizontal Pod Autoscaling profile.
|
6336
|
+
# Corresponds to the JSON property `hpaProfile`
|
6337
|
+
# @return [String]
|
6338
|
+
attr_accessor :hpa_profile
|
6339
|
+
|
6340
|
+
def initialize(**args)
|
6341
|
+
update!(**args)
|
6342
|
+
end
|
6343
|
+
|
6344
|
+
# Update properties of this object
|
6345
|
+
def update!(**args)
|
6346
|
+
@hpa_profile = args[:hpa_profile] if args.key?(:hpa_profile)
|
6347
|
+
end
|
6348
|
+
end
|
6349
|
+
|
6350
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
6351
|
+
class PodCidrOverprovisionConfig
|
6352
|
+
include Google::Apis::Core::Hashable
|
6353
|
+
|
6354
|
+
# Whether Pod CIDR overprovisioning is disabled. Note: Pod CIDR overprovisioning
|
6355
|
+
# is enabled by default.
|
6356
|
+
# Corresponds to the JSON property `disable`
|
6357
|
+
# @return [Boolean]
|
6358
|
+
attr_accessor :disable
|
6359
|
+
alias_method :disable?, :disable
|
6360
|
+
|
6361
|
+
def initialize(**args)
|
6362
|
+
update!(**args)
|
6363
|
+
end
|
6364
|
+
|
6365
|
+
# Update properties of this object
|
6366
|
+
def update!(**args)
|
6367
|
+
@disable = args[:disable] if args.key?(:disable)
|
6368
|
+
end
|
6369
|
+
end
|
6370
|
+
|
4639
6371
|
# Configuration for the PodSecurityPolicy feature.
|
4640
6372
|
class PodSecurityPolicyConfig
|
4641
6373
|
include Google::Apis::Core::Hashable
|
@@ -4657,11 +6389,35 @@ module Google
|
|
4657
6389
|
end
|
4658
6390
|
end
|
4659
6391
|
|
6392
|
+
# Binauthz policy that applies to this cluster.
|
6393
|
+
class PolicyBinding
|
6394
|
+
include Google::Apis::Core::Hashable
|
6395
|
+
|
6396
|
+
# The relative resource name of the binauthz platform policy to evaluate. GKE
|
6397
|
+
# platform policies have the following format: `projects/`project_number`/
|
6398
|
+
# platforms/gke/policies/`policy_id``.
|
6399
|
+
# Corresponds to the JSON property `name`
|
6400
|
+
# @return [String]
|
6401
|
+
attr_accessor :name
|
6402
|
+
|
6403
|
+
def initialize(**args)
|
6404
|
+
update!(**args)
|
6405
|
+
end
|
6406
|
+
|
6407
|
+
# Update properties of this object
|
6408
|
+
def update!(**args)
|
6409
|
+
@name = args[:name] if args.key?(:name)
|
6410
|
+
end
|
6411
|
+
end
|
6412
|
+
|
4660
6413
|
# Configuration options for private clusters.
|
4661
6414
|
class PrivateClusterConfig
|
4662
6415
|
include Google::Apis::Core::Hashable
|
4663
6416
|
|
4664
|
-
# Whether the master's internal IP address is used as the cluster endpoint.
|
6417
|
+
# Whether the master's internal IP address is used as the cluster endpoint. Use
|
6418
|
+
# ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead.
|
6419
|
+
# Note that the value of enable_public_endpoint is reversed: if
|
6420
|
+
# enable_private_endpoint is false, then enable_public_endpoint will be true.
|
4665
6421
|
# Corresponds to the JSON property `enablePrivateEndpoint`
|
4666
6422
|
# @return [Boolean]
|
4667
6423
|
attr_accessor :enable_private_endpoint
|
@@ -4669,7 +6425,7 @@ module Google
|
|
4669
6425
|
|
4670
6426
|
# Whether nodes have internal IP addresses only. If enabled, all nodes are given
|
4671
6427
|
# only RFC 1918 private addresses and communicate with the master via private
|
4672
|
-
# networking.
|
6428
|
+
# networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.
|
4673
6429
|
# Corresponds to the JSON property `enablePrivateNodes`
|
4674
6430
|
# @return [Boolean]
|
4675
6431
|
attr_accessor :enable_private_nodes
|
@@ -4694,17 +6450,23 @@ module Google
|
|
4694
6450
|
attr_accessor :peering_name
|
4695
6451
|
|
4696
6452
|
# Output only. The internal IP address of this cluster's master endpoint.
|
6453
|
+
# Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint
|
6454
|
+
# instead.
|
4697
6455
|
# Corresponds to the JSON property `privateEndpoint`
|
4698
6456
|
# @return [String]
|
4699
6457
|
attr_accessor :private_endpoint
|
4700
6458
|
|
4701
6459
|
# Subnet to provision the master's private endpoint during cluster creation.
|
4702
|
-
# Specified in projects/*/regions/*/subnetworks/* format.
|
6460
|
+
# Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use
|
6461
|
+
# ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork
|
6462
|
+
# instead.
|
4703
6463
|
# Corresponds to the JSON property `privateEndpointSubnetwork`
|
4704
6464
|
# @return [String]
|
4705
6465
|
attr_accessor :private_endpoint_subnetwork
|
4706
6466
|
|
4707
6467
|
# Output only. The external IP address of this cluster's master endpoint.
|
6468
|
+
# Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint
|
6469
|
+
# instead.
|
4708
6470
|
# Corresponds to the JSON property `publicEndpoint`
|
4709
6471
|
# @return [String]
|
4710
6472
|
attr_accessor :public_endpoint
|
@@ -4746,6 +6508,33 @@ module Google
|
|
4746
6508
|
end
|
4747
6509
|
end
|
4748
6510
|
|
6511
|
+
# PrivateRegistryAccessConfig contains access configuration for private
|
6512
|
+
# container registries.
|
6513
|
+
class PrivateRegistryAccessConfig
|
6514
|
+
include Google::Apis::Core::Hashable
|
6515
|
+
|
6516
|
+
# Private registry access configuration.
|
6517
|
+
# Corresponds to the JSON property `certificateAuthorityDomainConfig`
|
6518
|
+
# @return [Array<Google::Apis::ContainerV1beta1::CertificateAuthorityDomainConfig>]
|
6519
|
+
attr_accessor :certificate_authority_domain_config
|
6520
|
+
|
6521
|
+
# Private registry access is enabled.
|
6522
|
+
# Corresponds to the JSON property `enabled`
|
6523
|
+
# @return [Boolean]
|
6524
|
+
attr_accessor :enabled
|
6525
|
+
alias_method :enabled?, :enabled
|
6526
|
+
|
6527
|
+
def initialize(**args)
|
6528
|
+
update!(**args)
|
6529
|
+
end
|
6530
|
+
|
6531
|
+
# Update properties of this object
|
6532
|
+
def update!(**args)
|
6533
|
+
@certificate_authority_domain_config = args[:certificate_authority_domain_config] if args.key?(:certificate_authority_domain_config)
|
6534
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6535
|
+
end
|
6536
|
+
end
|
6537
|
+
|
4749
6538
|
# ProtectConfig defines the flags needed to enable/disable features for the
|
4750
6539
|
# Protect API.
|
4751
6540
|
class ProtectConfig
|
@@ -4809,6 +6598,154 @@ module Google
|
|
4809
6598
|
end
|
4810
6599
|
end
|
4811
6600
|
|
6601
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
6602
|
+
class QueuedProvisioning
|
6603
|
+
include Google::Apis::Core::Hashable
|
6604
|
+
|
6605
|
+
# Denotes that this nodepool is QRM specific, meaning nodes can be only obtained
|
6606
|
+
# through queuing via the Cluster Autoscaler ProvisioningRequest API.
|
6607
|
+
# Corresponds to the JSON property `enabled`
|
6608
|
+
# @return [Boolean]
|
6609
|
+
attr_accessor :enabled
|
6610
|
+
alias_method :enabled?, :enabled
|
6611
|
+
|
6612
|
+
def initialize(**args)
|
6613
|
+
update!(**args)
|
6614
|
+
end
|
6615
|
+
|
6616
|
+
# Update properties of this object
|
6617
|
+
def update!(**args)
|
6618
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6619
|
+
end
|
6620
|
+
end
|
6621
|
+
|
6622
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
6623
|
+
# that can be created.
|
6624
|
+
class RbacBindingConfig
|
6625
|
+
include Google::Apis::Core::Hashable
|
6626
|
+
|
6627
|
+
# Setting this to true will allow any ClusterRoleBinding and RoleBinding with
|
6628
|
+
# subjects system:authenticated.
|
6629
|
+
# Corresponds to the JSON property `enableInsecureBindingSystemAuthenticated`
|
6630
|
+
# @return [Boolean]
|
6631
|
+
attr_accessor :enable_insecure_binding_system_authenticated
|
6632
|
+
alias_method :enable_insecure_binding_system_authenticated?, :enable_insecure_binding_system_authenticated
|
6633
|
+
|
6634
|
+
# Setting this to true will allow any ClusterRoleBinding and RoleBinding with
|
6635
|
+
# subjets system:anonymous or system:unauthenticated.
|
6636
|
+
# Corresponds to the JSON property `enableInsecureBindingSystemUnauthenticated`
|
6637
|
+
# @return [Boolean]
|
6638
|
+
attr_accessor :enable_insecure_binding_system_unauthenticated
|
6639
|
+
alias_method :enable_insecure_binding_system_unauthenticated?, :enable_insecure_binding_system_unauthenticated
|
6640
|
+
|
6641
|
+
def initialize(**args)
|
6642
|
+
update!(**args)
|
6643
|
+
end
|
6644
|
+
|
6645
|
+
# Update properties of this object
|
6646
|
+
def update!(**args)
|
6647
|
+
@enable_insecure_binding_system_authenticated = args[:enable_insecure_binding_system_authenticated] if args.key?(:enable_insecure_binding_system_authenticated)
|
6648
|
+
@enable_insecure_binding_system_unauthenticated = args[:enable_insecure_binding_system_unauthenticated] if args.key?(:enable_insecure_binding_system_unauthenticated)
|
6649
|
+
end
|
6650
|
+
end
|
6651
|
+
|
6652
|
+
# RangeInfo contains the range name and the range utilization by this cluster.
|
6653
|
+
class RangeInfo
|
6654
|
+
include Google::Apis::Core::Hashable
|
6655
|
+
|
6656
|
+
# Output only. Name of a range.
|
6657
|
+
# Corresponds to the JSON property `rangeName`
|
6658
|
+
# @return [String]
|
6659
|
+
attr_accessor :range_name
|
6660
|
+
|
6661
|
+
# Output only. The utilization of the range.
|
6662
|
+
# Corresponds to the JSON property `utilization`
|
6663
|
+
# @return [Float]
|
6664
|
+
attr_accessor :utilization
|
6665
|
+
|
6666
|
+
def initialize(**args)
|
6667
|
+
update!(**args)
|
6668
|
+
end
|
6669
|
+
|
6670
|
+
# Update properties of this object
|
6671
|
+
def update!(**args)
|
6672
|
+
@range_name = args[:range_name] if args.key?(:range_name)
|
6673
|
+
@utilization = args[:utilization] if args.key?(:utilization)
|
6674
|
+
end
|
6675
|
+
end
|
6676
|
+
|
6677
|
+
# RayClusterLoggingConfig specifies logging configuration for Ray clusters.
|
6678
|
+
class RayClusterLoggingConfig
|
6679
|
+
include Google::Apis::Core::Hashable
|
6680
|
+
|
6681
|
+
# Enable log collection for Ray clusters.
|
6682
|
+
# Corresponds to the JSON property `enabled`
|
6683
|
+
# @return [Boolean]
|
6684
|
+
attr_accessor :enabled
|
6685
|
+
alias_method :enabled?, :enabled
|
6686
|
+
|
6687
|
+
def initialize(**args)
|
6688
|
+
update!(**args)
|
6689
|
+
end
|
6690
|
+
|
6691
|
+
# Update properties of this object
|
6692
|
+
def update!(**args)
|
6693
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6694
|
+
end
|
6695
|
+
end
|
6696
|
+
|
6697
|
+
# RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
|
6698
|
+
class RayClusterMonitoringConfig
|
6699
|
+
include Google::Apis::Core::Hashable
|
6700
|
+
|
6701
|
+
# Enable metrics collection for Ray clusters.
|
6702
|
+
# Corresponds to the JSON property `enabled`
|
6703
|
+
# @return [Boolean]
|
6704
|
+
attr_accessor :enabled
|
6705
|
+
alias_method :enabled?, :enabled
|
6706
|
+
|
6707
|
+
def initialize(**args)
|
6708
|
+
update!(**args)
|
6709
|
+
end
|
6710
|
+
|
6711
|
+
# Update properties of this object
|
6712
|
+
def update!(**args)
|
6713
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6714
|
+
end
|
6715
|
+
end
|
6716
|
+
|
6717
|
+
# Configuration options for the Ray Operator add-on.
|
6718
|
+
class RayOperatorConfig
|
6719
|
+
include Google::Apis::Core::Hashable
|
6720
|
+
|
6721
|
+
# Whether the Ray addon is enabled for this cluster.
|
6722
|
+
# Corresponds to the JSON property `enabled`
|
6723
|
+
# @return [Boolean]
|
6724
|
+
attr_accessor :enabled
|
6725
|
+
alias_method :enabled?, :enabled
|
6726
|
+
|
6727
|
+
# RayClusterLoggingConfig specifies logging configuration for Ray clusters.
|
6728
|
+
# Corresponds to the JSON property `rayClusterLoggingConfig`
|
6729
|
+
# @return [Google::Apis::ContainerV1beta1::RayClusterLoggingConfig]
|
6730
|
+
attr_accessor :ray_cluster_logging_config
|
6731
|
+
|
6732
|
+
# RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
|
6733
|
+
# Corresponds to the JSON property `rayClusterMonitoringConfig`
|
6734
|
+
# @return [Google::Apis::ContainerV1beta1::RayClusterMonitoringConfig]
|
6735
|
+
attr_accessor :ray_cluster_monitoring_config
|
6736
|
+
|
6737
|
+
def initialize(**args)
|
6738
|
+
update!(**args)
|
6739
|
+
end
|
6740
|
+
|
6741
|
+
# Update properties of this object
|
6742
|
+
def update!(**args)
|
6743
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6744
|
+
@ray_cluster_logging_config = args[:ray_cluster_logging_config] if args.key?(:ray_cluster_logging_config)
|
6745
|
+
@ray_cluster_monitoring_config = args[:ray_cluster_monitoring_config] if args.key?(:ray_cluster_monitoring_config)
|
6746
|
+
end
|
6747
|
+
end
|
6748
|
+
|
4812
6749
|
# Represents an arbitrary window of time that recurs.
|
4813
6750
|
class RecurringTimeWindow
|
4814
6751
|
include Google::Apis::Core::Hashable
|
@@ -4890,6 +6827,11 @@ module Google
|
|
4890
6827
|
# @return [String]
|
4891
6828
|
attr_accessor :default_version
|
4892
6829
|
|
6830
|
+
# The auto upgrade target version for clusters on the channel.
|
6831
|
+
# Corresponds to the JSON property `upgradeTargetVersion`
|
6832
|
+
# @return [String]
|
6833
|
+
attr_accessor :upgrade_target_version
|
6834
|
+
|
4893
6835
|
# List of valid versions for the channel.
|
4894
6836
|
# Corresponds to the JSON property `validVersions`
|
4895
6837
|
# @return [Array<String>]
|
@@ -4904,6 +6846,7 @@ module Google
|
|
4904
6846
|
@available_versions = args[:available_versions] if args.key?(:available_versions)
|
4905
6847
|
@channel = args[:channel] if args.key?(:channel)
|
4906
6848
|
@default_version = args[:default_version] if args.key?(:default_version)
|
6849
|
+
@upgrade_target_version = args[:upgrade_target_version] if args.key?(:upgrade_target_version)
|
4907
6850
|
@valid_versions = args[:valid_versions] if args.key?(:valid_versions)
|
4908
6851
|
end
|
4909
6852
|
end
|
@@ -4995,6 +6938,31 @@ module Google
|
|
4995
6938
|
end
|
4996
6939
|
end
|
4997
6940
|
|
6941
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
6942
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
6943
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
6944
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
6945
|
+
# specified. Existing tags will be replaced with new values.
|
6946
|
+
class ResourceManagerTags
|
6947
|
+
include Google::Apis::Core::Hashable
|
6948
|
+
|
6949
|
+
# Tags must be in one of the following formats ([KEY]=[VALUE]) 1. `tagKeys/`
|
6950
|
+
# tag_key_id`=tagValues/`tag_value_id`` 2. ``org_id`/`tag_key_name`=`
|
6951
|
+
# tag_value_name`` 3. ``project_id`/`tag_key_name`=`tag_value_name``
|
6952
|
+
# Corresponds to the JSON property `tags`
|
6953
|
+
# @return [Hash<String,String>]
|
6954
|
+
attr_accessor :tags
|
6955
|
+
|
6956
|
+
def initialize(**args)
|
6957
|
+
update!(**args)
|
6958
|
+
end
|
6959
|
+
|
6960
|
+
# Update properties of this object
|
6961
|
+
def update!(**args)
|
6962
|
+
@tags = args[:tags] if args.key?(:tags)
|
6963
|
+
end
|
6964
|
+
end
|
6965
|
+
|
4998
6966
|
# Configuration for exporting cluster resource usages.
|
4999
6967
|
class ResourceUsageExportConfig
|
5000
6968
|
include Google::Apis::Core::Hashable
|
@@ -5088,19 +7056,80 @@ module Google
|
|
5088
7056
|
end
|
5089
7057
|
end
|
5090
7058
|
|
5091
|
-
# SandboxConfig contains configurations of the sandbox to use for the node.
|
5092
|
-
class SandboxConfig
|
7059
|
+
# SandboxConfig contains configurations of the sandbox to use for the node.
|
7060
|
+
class SandboxConfig
|
7061
|
+
include Google::Apis::Core::Hashable
|
7062
|
+
|
7063
|
+
# Type of the sandbox to use for the node (e.g. 'gvisor')
|
7064
|
+
# Corresponds to the JSON property `sandboxType`
|
7065
|
+
# @return [String]
|
7066
|
+
attr_accessor :sandbox_type
|
7067
|
+
|
7068
|
+
# Type of the sandbox to use for the node.
|
7069
|
+
# Corresponds to the JSON property `type`
|
7070
|
+
# @return [String]
|
7071
|
+
attr_accessor :type
|
7072
|
+
|
7073
|
+
def initialize(**args)
|
7074
|
+
update!(**args)
|
7075
|
+
end
|
7076
|
+
|
7077
|
+
# Update properties of this object
|
7078
|
+
def update!(**args)
|
7079
|
+
@sandbox_type = args[:sandbox_type] if args.key?(:sandbox_type)
|
7080
|
+
@type = args[:type] if args.key?(:type)
|
7081
|
+
end
|
7082
|
+
end
|
7083
|
+
|
7084
|
+
# SecondaryBootDisk represents a persistent disk attached to a node with special
|
7085
|
+
# configurations based on its mode.
|
7086
|
+
class SecondaryBootDisk
|
7087
|
+
include Google::Apis::Core::Hashable
|
7088
|
+
|
7089
|
+
# Fully-qualified resource ID for an existing disk image.
|
7090
|
+
# Corresponds to the JSON property `diskImage`
|
7091
|
+
# @return [String]
|
7092
|
+
attr_accessor :disk_image
|
7093
|
+
|
7094
|
+
# Disk mode (container image cache, etc.)
|
7095
|
+
# Corresponds to the JSON property `mode`
|
7096
|
+
# @return [String]
|
7097
|
+
attr_accessor :mode
|
7098
|
+
|
7099
|
+
def initialize(**args)
|
7100
|
+
update!(**args)
|
7101
|
+
end
|
7102
|
+
|
7103
|
+
# Update properties of this object
|
7104
|
+
def update!(**args)
|
7105
|
+
@disk_image = args[:disk_image] if args.key?(:disk_image)
|
7106
|
+
@mode = args[:mode] if args.key?(:mode)
|
7107
|
+
end
|
7108
|
+
end
|
7109
|
+
|
7110
|
+
# SecondaryBootDiskUpdateStrategy is a placeholder which will be extended in the
|
7111
|
+
# future to define different options for updating secondary boot disks.
|
7112
|
+
class SecondaryBootDiskUpdateStrategy
|
7113
|
+
include Google::Apis::Core::Hashable
|
7114
|
+
|
7115
|
+
def initialize(**args)
|
7116
|
+
update!(**args)
|
7117
|
+
end
|
7118
|
+
|
7119
|
+
# Update properties of this object
|
7120
|
+
def update!(**args)
|
7121
|
+
end
|
7122
|
+
end
|
7123
|
+
|
7124
|
+
# SecretManagerConfig is config for secret manager enablement.
|
7125
|
+
class SecretManagerConfig
|
5093
7126
|
include Google::Apis::Core::Hashable
|
5094
7127
|
|
5095
|
-
#
|
5096
|
-
# Corresponds to the JSON property `
|
5097
|
-
# @return [
|
5098
|
-
attr_accessor :
|
5099
|
-
|
5100
|
-
# Type of the sandbox to use for the node.
|
5101
|
-
# Corresponds to the JSON property `type`
|
5102
|
-
# @return [String]
|
5103
|
-
attr_accessor :type
|
7128
|
+
# Enable/Disable Secret Manager Config.
|
7129
|
+
# Corresponds to the JSON property `enabled`
|
7130
|
+
# @return [Boolean]
|
7131
|
+
attr_accessor :enabled
|
7132
|
+
alias_method :enabled?, :enabled
|
5104
7133
|
|
5105
7134
|
def initialize(**args)
|
5106
7135
|
update!(**args)
|
@@ -5108,8 +7137,7 @@ module Google
|
|
5108
7137
|
|
5109
7138
|
# Update properties of this object
|
5110
7139
|
def update!(**args)
|
5111
|
-
@
|
5112
|
-
@type = args[:type] if args.key?(:type)
|
7140
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
5113
7141
|
end
|
5114
7142
|
end
|
5115
7143
|
|
@@ -5196,6 +7224,32 @@ module Google
|
|
5196
7224
|
end
|
5197
7225
|
end
|
5198
7226
|
|
7227
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
7228
|
+
# the Security Posture API.
|
7229
|
+
class SecurityPostureConfig
|
7230
|
+
include Google::Apis::Core::Hashable
|
7231
|
+
|
7232
|
+
# Sets which mode to use for Security Posture features.
|
7233
|
+
# Corresponds to the JSON property `mode`
|
7234
|
+
# @return [String]
|
7235
|
+
attr_accessor :mode
|
7236
|
+
|
7237
|
+
# Sets which mode to use for vulnerability scanning.
|
7238
|
+
# Corresponds to the JSON property `vulnerabilityMode`
|
7239
|
+
# @return [String]
|
7240
|
+
attr_accessor :vulnerability_mode
|
7241
|
+
|
7242
|
+
def initialize(**args)
|
7243
|
+
update!(**args)
|
7244
|
+
end
|
7245
|
+
|
7246
|
+
# Update properties of this object
|
7247
|
+
def update!(**args)
|
7248
|
+
@mode = args[:mode] if args.key?(:mode)
|
7249
|
+
@vulnerability_mode = args[:vulnerability_mode] if args.key?(:vulnerability_mode)
|
7250
|
+
end
|
7251
|
+
end
|
7252
|
+
|
5199
7253
|
# Kubernetes Engine service configuration.
|
5200
7254
|
class ServerConfig
|
5201
7255
|
include Google::Apis::Core::Hashable
|
@@ -5976,6 +8030,26 @@ module Google
|
|
5976
8030
|
end
|
5977
8031
|
end
|
5978
8032
|
|
8033
|
+
# SoleTenantConfig contains the NodeAffinities to specify what shared sole
|
8034
|
+
# tenant node groups should back the node pool.
|
8035
|
+
class SoleTenantConfig
|
8036
|
+
include Google::Apis::Core::Hashable
|
8037
|
+
|
8038
|
+
# NodeAffinities used to match to a shared sole tenant node group.
|
8039
|
+
# Corresponds to the JSON property `nodeAffinities`
|
8040
|
+
# @return [Array<Google::Apis::ContainerV1beta1::NodeAffinity>]
|
8041
|
+
attr_accessor :node_affinities
|
8042
|
+
|
8043
|
+
def initialize(**args)
|
8044
|
+
update!(**args)
|
8045
|
+
end
|
8046
|
+
|
8047
|
+
# Update properties of this object
|
8048
|
+
def update!(**args)
|
8049
|
+
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
8050
|
+
end
|
8051
|
+
end
|
8052
|
+
|
5979
8053
|
# Standard rollout policy is the default policy for blue-green.
|
5980
8054
|
class StandardRolloutPolicy
|
5981
8055
|
include Google::Apis::Core::Hashable
|
@@ -6059,6 +8133,26 @@ module Google
|
|
6059
8133
|
end
|
6060
8134
|
end
|
6061
8135
|
|
8136
|
+
# Configuration for the Stateful HA add-on.
|
8137
|
+
class StatefulHaConfig
|
8138
|
+
include Google::Apis::Core::Hashable
|
8139
|
+
|
8140
|
+
# Whether the Stateful HA add-on is enabled for this cluster.
|
8141
|
+
# Corresponds to the JSON property `enabled`
|
8142
|
+
# @return [Boolean]
|
8143
|
+
attr_accessor :enabled
|
8144
|
+
alias_method :enabled?, :enabled
|
8145
|
+
|
8146
|
+
def initialize(**args)
|
8147
|
+
update!(**args)
|
8148
|
+
end
|
8149
|
+
|
8150
|
+
# Update properties of this object
|
8151
|
+
def update!(**args)
|
8152
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
8153
|
+
end
|
8154
|
+
end
|
8155
|
+
|
6062
8156
|
# The `Status` type defines a logical error model that is suitable for different
|
6063
8157
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
6064
8158
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
@@ -6325,6 +8419,12 @@ module Google
|
|
6325
8419
|
class UpdateNodePoolRequest
|
6326
8420
|
include Google::Apis::Core::Hashable
|
6327
8421
|
|
8422
|
+
# A list of hardware accelerators to be attached to each node. See https://cloud.
|
8423
|
+
# google.com/compute/docs/gpus for more information about support for GPUs.
|
8424
|
+
# Corresponds to the JSON property `accelerators`
|
8425
|
+
# @return [Array<Google::Apis::ContainerV1beta1::AcceleratorConfig>]
|
8426
|
+
attr_accessor :accelerators
|
8427
|
+
|
6328
8428
|
# Required. Deprecated. The name of the cluster to upgrade. This field has been
|
6329
8429
|
# deprecated and replaced by the name field.
|
6330
8430
|
# Corresponds to the JSON property `clusterId`
|
@@ -6337,6 +8437,25 @@ module Google
|
|
6337
8437
|
# @return [Google::Apis::ContainerV1beta1::ConfidentialNodes]
|
6338
8438
|
attr_accessor :confidential_nodes
|
6339
8439
|
|
8440
|
+
# ContainerdConfig contains configuration to customize containerd.
|
8441
|
+
# Corresponds to the JSON property `containerdConfig`
|
8442
|
+
# @return [Google::Apis::ContainerV1beta1::ContainerdConfig]
|
8443
|
+
attr_accessor :containerd_config
|
8444
|
+
|
8445
|
+
# Optional. The desired disk size for nodes in the node pool. Initiates an
|
8446
|
+
# upgrade operation that migrates the nodes in the node pool to the specified
|
8447
|
+
# disk size.
|
8448
|
+
# Corresponds to the JSON property `diskSizeGb`
|
8449
|
+
# @return [Fixnum]
|
8450
|
+
attr_accessor :disk_size_gb
|
8451
|
+
|
8452
|
+
# Optional. The desired disk type for nodes in the node pool. Initiates an
|
8453
|
+
# upgrade operation that migrates the nodes in the node pool to the specified
|
8454
|
+
# disk type.
|
8455
|
+
# Corresponds to the JSON property `diskType`
|
8456
|
+
# @return [String]
|
8457
|
+
attr_accessor :disk_type
|
8458
|
+
|
6340
8459
|
# The current etag of the node pool. If an etag is provided and does not match
|
6341
8460
|
# the current etag of the node pool, update will be blocked and an ABORTED error
|
6342
8461
|
# will be returned.
|
@@ -6359,7 +8478,9 @@ module Google
|
|
6359
8478
|
# @return [Google::Apis::ContainerV1beta1::VirtualNic]
|
6360
8479
|
attr_accessor :gvnic
|
6361
8480
|
|
6362
|
-
# Required. The desired image type for the node pool.
|
8481
|
+
# Required. The desired image type for the node pool. Please see https://cloud.
|
8482
|
+
# google.com/kubernetes-engine/docs/concepts/node-images for available image
|
8483
|
+
# types.
|
6363
8484
|
# Corresponds to the JSON property `imageType`
|
6364
8485
|
# @return [String]
|
6365
8486
|
attr_accessor :image_type
|
@@ -6394,6 +8515,19 @@ module Google
|
|
6394
8515
|
# @return [Google::Apis::ContainerV1beta1::NodePoolLoggingConfig]
|
6395
8516
|
attr_accessor :logging_config
|
6396
8517
|
|
8518
|
+
# Optional. The desired machine type for nodes in the node pool. Initiates an
|
8519
|
+
# upgrade operation that migrates the nodes in the node pool to the specified
|
8520
|
+
# machine type.
|
8521
|
+
# Corresponds to the JSON property `machineType`
|
8522
|
+
# @return [String]
|
8523
|
+
attr_accessor :machine_type
|
8524
|
+
|
8525
|
+
# The maximum duration for the nodes to exist. If unspecified, the nodes can
|
8526
|
+
# exist indefinitely.
|
8527
|
+
# Corresponds to the JSON property `maxRunDuration`
|
8528
|
+
# @return [String]
|
8529
|
+
attr_accessor :max_run_duration
|
8530
|
+
|
6397
8531
|
# The name (project, location, cluster, node pool) of the node pool to update.
|
6398
8532
|
# Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
|
6399
8533
|
# Corresponds to the JSON property `name`
|
@@ -6429,12 +8563,32 @@ module Google
|
|
6429
8563
|
# @return [String]
|
6430
8564
|
attr_accessor :project_id
|
6431
8565
|
|
8566
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
8567
|
+
# Corresponds to the JSON property `queuedProvisioning`
|
8568
|
+
# @return [Google::Apis::ContainerV1beta1::QueuedProvisioning]
|
8569
|
+
attr_accessor :queued_provisioning
|
8570
|
+
|
6432
8571
|
# Collection of [GCP labels](https://cloud.google.com/resource-manager/docs/
|
6433
8572
|
# creating-managing-labels).
|
6434
8573
|
# Corresponds to the JSON property `resourceLabels`
|
6435
8574
|
# @return [Google::Apis::ContainerV1beta1::ResourceLabels]
|
6436
8575
|
attr_accessor :resource_labels
|
6437
8576
|
|
8577
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
8578
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
8579
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
8580
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
8581
|
+
# specified. Existing tags will be replaced with new values.
|
8582
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
8583
|
+
# @return [Google::Apis::ContainerV1beta1::ResourceManagerTags]
|
8584
|
+
attr_accessor :resource_manager_tags
|
8585
|
+
|
8586
|
+
# List of Storage Pools where boot disks are provisioned. Existing Storage Pools
|
8587
|
+
# will be replaced with storage-pools.
|
8588
|
+
# Corresponds to the JSON property `storagePools`
|
8589
|
+
# @return [Array<String>]
|
8590
|
+
attr_accessor :storage_pools
|
8591
|
+
|
6438
8592
|
# Collection of Compute Engine network tags that can be applied to a node's
|
6439
8593
|
# underlying VM instance. (See `tags` field in [`NodeConfig`](/kubernetes-engine/
|
6440
8594
|
# docs/reference/rest/v1/NodeConfig)).
|
@@ -6448,6 +8602,20 @@ module Google
|
|
6448
8602
|
# @return [Google::Apis::ContainerV1beta1::NodeTaints]
|
6449
8603
|
attr_accessor :taints
|
6450
8604
|
|
8605
|
+
# These upgrade settings control the level of parallelism and the level of
|
8606
|
+
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
8607
|
+
# that can be simultaneously unavailable. maxSurge controls the number of
|
8608
|
+
# additional nodes that can be added to the node pool temporarily for the time
|
8609
|
+
# of the upgrade to increase the number of available nodes. (maxUnavailable +
|
8610
|
+
# maxSurge) determines the level of parallelism (how many nodes are being
|
8611
|
+
# upgraded at the same time). Note: upgrades inevitably introduce some
|
8612
|
+
# disruption since workloads need to be moved from old nodes to new, upgraded
|
8613
|
+
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
8614
|
+
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
8615
|
+
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
8616
|
+
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
8617
|
+
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
8618
|
+
# same time. This ensures that there are always at least 4 nodes available.
|
6451
8619
|
# These upgrade settings configure the upgrade strategy for the node pool. Use
|
6452
8620
|
# strategy to switch between the strategies applied to the node pool. If the
|
6453
8621
|
# strategy is SURGE, use max_surge and max_unavailable to control the level of
|
@@ -6495,8 +8663,12 @@ module Google
|
|
6495
8663
|
|
6496
8664
|
# Update properties of this object
|
6497
8665
|
def update!(**args)
|
8666
|
+
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
6498
8667
|
@cluster_id = args[:cluster_id] if args.key?(:cluster_id)
|
6499
8668
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
8669
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
8670
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
8671
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
6500
8672
|
@etag = args[:etag] if args.key?(:etag)
|
6501
8673
|
@fast_socket = args[:fast_socket] if args.key?(:fast_socket)
|
6502
8674
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
@@ -6507,12 +8679,17 @@ module Google
|
|
6507
8679
|
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
6508
8680
|
@locations = args[:locations] if args.key?(:locations)
|
6509
8681
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
8682
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
8683
|
+
@max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
|
6510
8684
|
@name = args[:name] if args.key?(:name)
|
6511
8685
|
@node_network_config = args[:node_network_config] if args.key?(:node_network_config)
|
6512
8686
|
@node_pool_id = args[:node_pool_id] if args.key?(:node_pool_id)
|
6513
8687
|
@node_version = args[:node_version] if args.key?(:node_version)
|
6514
8688
|
@project_id = args[:project_id] if args.key?(:project_id)
|
8689
|
+
@queued_provisioning = args[:queued_provisioning] if args.key?(:queued_provisioning)
|
6515
8690
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
8691
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
8692
|
+
@storage_pools = args[:storage_pools] if args.key?(:storage_pools)
|
6516
8693
|
@tags = args[:tags] if args.key?(:tags)
|
6517
8694
|
@taints = args[:taints] if args.key?(:taints)
|
6518
8695
|
@upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings)
|
@@ -6570,6 +8747,50 @@ module Google
|
|
6570
8747
|
end
|
6571
8748
|
end
|
6572
8749
|
|
8750
|
+
# UpgradeDetails contains detailed information of each individual upgrade
|
8751
|
+
# operation.
|
8752
|
+
class UpgradeDetails
|
8753
|
+
include Google::Apis::Core::Hashable
|
8754
|
+
|
8755
|
+
# The end timestamp of the upgrade.
|
8756
|
+
# Corresponds to the JSON property `endTime`
|
8757
|
+
# @return [String]
|
8758
|
+
attr_accessor :end_time
|
8759
|
+
|
8760
|
+
# The version before the upgrade.
|
8761
|
+
# Corresponds to the JSON property `initialVersion`
|
8762
|
+
# @return [String]
|
8763
|
+
attr_accessor :initial_version
|
8764
|
+
|
8765
|
+
# The start timestamp of the upgrade.
|
8766
|
+
# Corresponds to the JSON property `startTime`
|
8767
|
+
# @return [String]
|
8768
|
+
attr_accessor :start_time
|
8769
|
+
|
8770
|
+
# Output only. The state of the upgrade.
|
8771
|
+
# Corresponds to the JSON property `state`
|
8772
|
+
# @return [String]
|
8773
|
+
attr_accessor :state
|
8774
|
+
|
8775
|
+
# The version after the upgrade.
|
8776
|
+
# Corresponds to the JSON property `targetVersion`
|
8777
|
+
# @return [String]
|
8778
|
+
attr_accessor :target_version
|
8779
|
+
|
8780
|
+
def initialize(**args)
|
8781
|
+
update!(**args)
|
8782
|
+
end
|
8783
|
+
|
8784
|
+
# Update properties of this object
|
8785
|
+
def update!(**args)
|
8786
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
8787
|
+
@initial_version = args[:initial_version] if args.key?(:initial_version)
|
8788
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
8789
|
+
@state = args[:state] if args.key?(:state)
|
8790
|
+
@target_version = args[:target_version] if args.key?(:target_version)
|
8791
|
+
end
|
8792
|
+
end
|
8793
|
+
|
6573
8794
|
# UpgradeEvent is a notification sent to customers by the cluster server when a
|
6574
8795
|
# resource is upgrading.
|
6575
8796
|
class UpgradeEvent
|
@@ -6621,6 +8842,107 @@ module Google
|
|
6621
8842
|
end
|
6622
8843
|
end
|
6623
8844
|
|
8845
|
+
# UpgradeInfoEvent is a notification sent to customers about the upgrade
|
8846
|
+
# information of a resource.
|
8847
|
+
class UpgradeInfoEvent
|
8848
|
+
include Google::Apis::Core::Hashable
|
8849
|
+
|
8850
|
+
# The current version before the upgrade.
|
8851
|
+
# Corresponds to the JSON property `currentVersion`
|
8852
|
+
# @return [String]
|
8853
|
+
attr_accessor :current_version
|
8854
|
+
|
8855
|
+
# A brief description of the event.
|
8856
|
+
# Corresponds to the JSON property `description`
|
8857
|
+
# @return [String]
|
8858
|
+
attr_accessor :description
|
8859
|
+
|
8860
|
+
# The time when the operation ended.
|
8861
|
+
# Corresponds to the JSON property `endTime`
|
8862
|
+
# @return [String]
|
8863
|
+
attr_accessor :end_time
|
8864
|
+
|
8865
|
+
# The type of the event.
|
8866
|
+
# Corresponds to the JSON property `eventType`
|
8867
|
+
# @return [String]
|
8868
|
+
attr_accessor :event_type
|
8869
|
+
|
8870
|
+
# The end of extended support timestamp.
|
8871
|
+
# Corresponds to the JSON property `extendedSupportEndTime`
|
8872
|
+
# @return [String]
|
8873
|
+
attr_accessor :extended_support_end_time
|
8874
|
+
|
8875
|
+
# The operation associated with this upgrade.
|
8876
|
+
# Corresponds to the JSON property `operation`
|
8877
|
+
# @return [String]
|
8878
|
+
attr_accessor :operation
|
8879
|
+
|
8880
|
+
# Optional relative path to the resource. For example in node pool upgrades, the
|
8881
|
+
# relative path of the node pool.
|
8882
|
+
# Corresponds to the JSON property `resource`
|
8883
|
+
# @return [String]
|
8884
|
+
attr_accessor :resource
|
8885
|
+
|
8886
|
+
# The resource type associated with the upgrade.
|
8887
|
+
# Corresponds to the JSON property `resourceType`
|
8888
|
+
# @return [String]
|
8889
|
+
attr_accessor :resource_type
|
8890
|
+
|
8891
|
+
# The end of standard support timestamp.
|
8892
|
+
# Corresponds to the JSON property `standardSupportEndTime`
|
8893
|
+
# @return [String]
|
8894
|
+
attr_accessor :standard_support_end_time
|
8895
|
+
|
8896
|
+
# The time when the operation was started.
|
8897
|
+
# Corresponds to the JSON property `startTime`
|
8898
|
+
# @return [String]
|
8899
|
+
attr_accessor :start_time
|
8900
|
+
|
8901
|
+
# Output only. The state of the upgrade.
|
8902
|
+
# Corresponds to the JSON property `state`
|
8903
|
+
# @return [String]
|
8904
|
+
attr_accessor :state
|
8905
|
+
|
8906
|
+
# The target version for the upgrade.
|
8907
|
+
# Corresponds to the JSON property `targetVersion`
|
8908
|
+
# @return [String]
|
8909
|
+
attr_accessor :target_version
|
8910
|
+
|
8911
|
+
def initialize(**args)
|
8912
|
+
update!(**args)
|
8913
|
+
end
|
8914
|
+
|
8915
|
+
# Update properties of this object
|
8916
|
+
def update!(**args)
|
8917
|
+
@current_version = args[:current_version] if args.key?(:current_version)
|
8918
|
+
@description = args[:description] if args.key?(:description)
|
8919
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
8920
|
+
@event_type = args[:event_type] if args.key?(:event_type)
|
8921
|
+
@extended_support_end_time = args[:extended_support_end_time] if args.key?(:extended_support_end_time)
|
8922
|
+
@operation = args[:operation] if args.key?(:operation)
|
8923
|
+
@resource = args[:resource] if args.key?(:resource)
|
8924
|
+
@resource_type = args[:resource_type] if args.key?(:resource_type)
|
8925
|
+
@standard_support_end_time = args[:standard_support_end_time] if args.key?(:standard_support_end_time)
|
8926
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
8927
|
+
@state = args[:state] if args.key?(:state)
|
8928
|
+
@target_version = args[:target_version] if args.key?(:target_version)
|
8929
|
+
end
|
8930
|
+
end
|
8931
|
+
|
8932
|
+
# These upgrade settings control the level of parallelism and the level of
|
8933
|
+
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
8934
|
+
# that can be simultaneously unavailable. maxSurge controls the number of
|
8935
|
+
# additional nodes that can be added to the node pool temporarily for the time
|
8936
|
+
# of the upgrade to increase the number of available nodes. (maxUnavailable +
|
8937
|
+
# maxSurge) determines the level of parallelism (how many nodes are being
|
8938
|
+
# upgraded at the same time). Note: upgrades inevitably introduce some
|
8939
|
+
# disruption since workloads need to be moved from old nodes to new, upgraded
|
8940
|
+
# ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the
|
8941
|
+
# limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical
|
8942
|
+
# node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the
|
8943
|
+
# upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (
|
8944
|
+
# upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the
|
8945
|
+
# same time. This ensures that there are always at least 4 nodes available.
|
6624
8946
|
# These upgrade settings configure the upgrade strategy for the node pool. Use
|
6625
8947
|
# strategy to switch between the strategies applied to the node pool. If the
|
6626
8948
|
# strategy is SURGE, use max_surge and max_unavailable to control the level of
|
@@ -6756,6 +9078,78 @@ module Google
|
|
6756
9078
|
end
|
6757
9079
|
end
|
6758
9080
|
|
9081
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
9082
|
+
# signing certs and token that are used for communication within cluster.
|
9083
|
+
class UserManagedKeysConfig
|
9084
|
+
include Google::Apis::Core::Hashable
|
9085
|
+
|
9086
|
+
# The Certificate Authority Service caPool to use for the aggregation CA in this
|
9087
|
+
# cluster.
|
9088
|
+
# Corresponds to the JSON property `aggregationCa`
|
9089
|
+
# @return [String]
|
9090
|
+
attr_accessor :aggregation_ca
|
9091
|
+
|
9092
|
+
# The Certificate Authority Service caPool to use for the cluster CA in this
|
9093
|
+
# cluster.
|
9094
|
+
# Corresponds to the JSON property `clusterCa`
|
9095
|
+
# @return [String]
|
9096
|
+
attr_accessor :cluster_ca
|
9097
|
+
|
9098
|
+
# The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane
|
9099
|
+
# nodes.
|
9100
|
+
# Corresponds to the JSON property `controlPlaneDiskEncryptionKey`
|
9101
|
+
# @return [String]
|
9102
|
+
attr_accessor :control_plane_disk_encryption_key
|
9103
|
+
|
9104
|
+
# Resource path of the Certificate Authority Service caPool to use for the etcd
|
9105
|
+
# API CA in this cluster.
|
9106
|
+
# Corresponds to the JSON property `etcdApiCa`
|
9107
|
+
# @return [String]
|
9108
|
+
attr_accessor :etcd_api_ca
|
9109
|
+
|
9110
|
+
# Resource path of the Certificate Authority Service caPool to use for the etcd
|
9111
|
+
# peer CA in this cluster.
|
9112
|
+
# Corresponds to the JSON property `etcdPeerCa`
|
9113
|
+
# @return [String]
|
9114
|
+
attr_accessor :etcd_peer_ca
|
9115
|
+
|
9116
|
+
# Resource path of the Cloud KMS cryptoKey to use for encryption of internal
|
9117
|
+
# etcd backups.
|
9118
|
+
# Corresponds to the JSON property `gkeopsEtcdBackupEncryptionKey`
|
9119
|
+
# @return [String]
|
9120
|
+
attr_accessor :gkeops_etcd_backup_encryption_key
|
9121
|
+
|
9122
|
+
# The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued
|
9123
|
+
# by this cluster. Format: `projects/`project`/locations/`location`/keyRings/`
|
9124
|
+
# keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
|
9125
|
+
# Corresponds to the JSON property `serviceAccountSigningKeys`
|
9126
|
+
# @return [Array<String>]
|
9127
|
+
attr_accessor :service_account_signing_keys
|
9128
|
+
|
9129
|
+
# The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs
|
9130
|
+
# issued by this cluster. Format: `projects/`project`/locations/`location`/
|
9131
|
+
# keyRings/`keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
|
9132
|
+
# Corresponds to the JSON property `serviceAccountVerificationKeys`
|
9133
|
+
# @return [Array<String>]
|
9134
|
+
attr_accessor :service_account_verification_keys
|
9135
|
+
|
9136
|
+
def initialize(**args)
|
9137
|
+
update!(**args)
|
9138
|
+
end
|
9139
|
+
|
9140
|
+
# Update properties of this object
|
9141
|
+
def update!(**args)
|
9142
|
+
@aggregation_ca = args[:aggregation_ca] if args.key?(:aggregation_ca)
|
9143
|
+
@cluster_ca = args[:cluster_ca] if args.key?(:cluster_ca)
|
9144
|
+
@control_plane_disk_encryption_key = args[:control_plane_disk_encryption_key] if args.key?(:control_plane_disk_encryption_key)
|
9145
|
+
@etcd_api_ca = args[:etcd_api_ca] if args.key?(:etcd_api_ca)
|
9146
|
+
@etcd_peer_ca = args[:etcd_peer_ca] if args.key?(:etcd_peer_ca)
|
9147
|
+
@gkeops_etcd_backup_encryption_key = args[:gkeops_etcd_backup_encryption_key] if args.key?(:gkeops_etcd_backup_encryption_key)
|
9148
|
+
@service_account_signing_keys = args[:service_account_signing_keys] if args.key?(:service_account_signing_keys)
|
9149
|
+
@service_account_verification_keys = args[:service_account_verification_keys] if args.key?(:service_account_verification_keys)
|
9150
|
+
end
|
9151
|
+
end
|
9152
|
+
|
6759
9153
|
# VerticalPodAutoscaling contains global, per-cluster information required by
|
6760
9154
|
# Vertical Pod Autoscaler to automatically adjust the resources of pods
|
6761
9155
|
# controlled by it.
|
@@ -6999,6 +9393,26 @@ module Google
|
|
6999
9393
|
@node_metadata = args[:node_metadata] if args.key?(:node_metadata)
|
7000
9394
|
end
|
7001
9395
|
end
|
9396
|
+
|
9397
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
9398
|
+
class WorkloadPolicyConfig
|
9399
|
+
include Google::Apis::Core::Hashable
|
9400
|
+
|
9401
|
+
# If true, workloads can use NET_ADMIN capability.
|
9402
|
+
# Corresponds to the JSON property `allowNetAdmin`
|
9403
|
+
# @return [Boolean]
|
9404
|
+
attr_accessor :allow_net_admin
|
9405
|
+
alias_method :allow_net_admin?, :allow_net_admin
|
9406
|
+
|
9407
|
+
def initialize(**args)
|
9408
|
+
update!(**args)
|
9409
|
+
end
|
9410
|
+
|
9411
|
+
# Update properties of this object
|
9412
|
+
def update!(**args)
|
9413
|
+
@allow_net_admin = args[:allow_net_admin] if args.key?(:allow_net_admin)
|
9414
|
+
end
|
9415
|
+
end
|
7002
9416
|
end
|
7003
9417
|
end
|
7004
9418
|
end
|