google-apis-container_v1 0.43.0 → 0.95.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 +212 -0
- data/OVERVIEW.md +3 -3
- data/lib/google/apis/container_v1/classes.rb +2572 -111
- data/lib/google/apis/container_v1/gem_version.rb +3 -3
- data/lib/google/apis/container_v1/representations.rb +964 -0
- data/lib/google/apis/container_v1/service.rb +177 -6
- data/lib/google/apis/container_v1.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::ContainerV1::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).
|
@@ -58,11 +64,104 @@ module Google
|
|
58
64
|
def update!(**args)
|
59
65
|
@accelerator_count = args[:accelerator_count] if args.key?(:accelerator_count)
|
60
66
|
@accelerator_type = args[:accelerator_type] if args.key?(:accelerator_type)
|
67
|
+
@gpu_driver_installation_config = args[:gpu_driver_installation_config] if args.key?(:gpu_driver_installation_config)
|
61
68
|
@gpu_partition_size = args[:gpu_partition_size] if args.key?(:gpu_partition_size)
|
62
69
|
@gpu_sharing_config = args[:gpu_sharing_config] if args.key?(:gpu_sharing_config)
|
63
70
|
end
|
64
71
|
end
|
65
72
|
|
73
|
+
# AdditionalNodeNetworkConfig is the configuration for additional node networks
|
74
|
+
# within the NodeNetworkConfig message
|
75
|
+
class AdditionalNodeNetworkConfig
|
76
|
+
include Google::Apis::Core::Hashable
|
77
|
+
|
78
|
+
# Name of the VPC where the additional interface belongs
|
79
|
+
# Corresponds to the JSON property `network`
|
80
|
+
# @return [String]
|
81
|
+
attr_accessor :network
|
82
|
+
|
83
|
+
# Name of the subnetwork where the additional interface belongs
|
84
|
+
# Corresponds to the JSON property `subnetwork`
|
85
|
+
# @return [String]
|
86
|
+
attr_accessor :subnetwork
|
87
|
+
|
88
|
+
def initialize(**args)
|
89
|
+
update!(**args)
|
90
|
+
end
|
91
|
+
|
92
|
+
# Update properties of this object
|
93
|
+
def update!(**args)
|
94
|
+
@network = args[:network] if args.key?(:network)
|
95
|
+
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
# AdditionalPodNetworkConfig is the configuration for additional pod networks
|
100
|
+
# within the NodeNetworkConfig message
|
101
|
+
class AdditionalPodNetworkConfig
|
102
|
+
include Google::Apis::Core::Hashable
|
103
|
+
|
104
|
+
# Constraints applied to pods.
|
105
|
+
# Corresponds to the JSON property `maxPodsPerNode`
|
106
|
+
# @return [Google::Apis::ContainerV1::MaxPodsConstraint]
|
107
|
+
attr_accessor :max_pods_per_node
|
108
|
+
|
109
|
+
# The name of the network attachment for pods to communicate to; cannot be
|
110
|
+
# specified along with subnetwork or secondary_pod_range.
|
111
|
+
# Corresponds to the JSON property `networkAttachment`
|
112
|
+
# @return [String]
|
113
|
+
attr_accessor :network_attachment
|
114
|
+
|
115
|
+
# The name of the secondary range on the subnet which provides IP address for
|
116
|
+
# this pod range.
|
117
|
+
# Corresponds to the JSON property `secondaryPodRange`
|
118
|
+
# @return [String]
|
119
|
+
attr_accessor :secondary_pod_range
|
120
|
+
|
121
|
+
# Name of the subnetwork where the additional pod network belongs.
|
122
|
+
# Corresponds to the JSON property `subnetwork`
|
123
|
+
# @return [String]
|
124
|
+
attr_accessor :subnetwork
|
125
|
+
|
126
|
+
def initialize(**args)
|
127
|
+
update!(**args)
|
128
|
+
end
|
129
|
+
|
130
|
+
# Update properties of this object
|
131
|
+
def update!(**args)
|
132
|
+
@max_pods_per_node = args[:max_pods_per_node] if args.key?(:max_pods_per_node)
|
133
|
+
@network_attachment = args[:network_attachment] if args.key?(:network_attachment)
|
134
|
+
@secondary_pod_range = args[:secondary_pod_range] if args.key?(:secondary_pod_range)
|
135
|
+
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
140
|
+
# ranges supporting the ClusterUpdate message.
|
141
|
+
class AdditionalPodRangesConfig
|
142
|
+
include Google::Apis::Core::Hashable
|
143
|
+
|
144
|
+
# Output only. Information for additional pod range.
|
145
|
+
# Corresponds to the JSON property `podRangeInfo`
|
146
|
+
# @return [Array<Google::Apis::ContainerV1::RangeInfo>]
|
147
|
+
attr_accessor :pod_range_info
|
148
|
+
|
149
|
+
# Name for pod secondary ipv4 range which has the actual range defined ahead.
|
150
|
+
# Corresponds to the JSON property `podRangeNames`
|
151
|
+
# @return [Array<String>]
|
152
|
+
attr_accessor :pod_range_names
|
153
|
+
|
154
|
+
def initialize(**args)
|
155
|
+
update!(**args)
|
156
|
+
end
|
157
|
+
|
158
|
+
# Update properties of this object
|
159
|
+
def update!(**args)
|
160
|
+
@pod_range_info = args[:pod_range_info] if args.key?(:pod_range_info)
|
161
|
+
@pod_range_names = args[:pod_range_names] if args.key?(:pod_range_names)
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
66
165
|
# Configuration for the addons that can be automatically spun up in the cluster,
|
67
166
|
# enabling additional functionality.
|
68
167
|
class AddonsConfig
|
@@ -93,6 +192,11 @@ module Google
|
|
93
192
|
# @return [Google::Apis::ContainerV1::GcpFilestoreCsiDriverConfig]
|
94
193
|
attr_accessor :gcp_filestore_csi_driver_config
|
95
194
|
|
195
|
+
# Configuration for the Cloud Storage Fuse CSI driver.
|
196
|
+
# Corresponds to the JSON property `gcsFuseCsiDriverConfig`
|
197
|
+
# @return [Google::Apis::ContainerV1::GcsFuseCsiDriverConfig]
|
198
|
+
attr_accessor :gcs_fuse_csi_driver_config
|
199
|
+
|
96
200
|
# Configuration for the Backup for GKE Agent.
|
97
201
|
# Corresponds to the JSON property `gkeBackupAgentConfig`
|
98
202
|
# @return [Google::Apis::ContainerV1::GkeBackupAgentConfig]
|
@@ -123,6 +227,21 @@ module Google
|
|
123
227
|
# @return [Google::Apis::ContainerV1::NetworkPolicyConfig]
|
124
228
|
attr_accessor :network_policy_config
|
125
229
|
|
230
|
+
# Configuration for the Cloud Storage Parallelstore CSI driver.
|
231
|
+
# Corresponds to the JSON property `parallelstoreCsiDriverConfig`
|
232
|
+
# @return [Google::Apis::ContainerV1::ParallelstoreCsiDriverConfig]
|
233
|
+
attr_accessor :parallelstore_csi_driver_config
|
234
|
+
|
235
|
+
# Configuration options for the Ray Operator add-on.
|
236
|
+
# Corresponds to the JSON property `rayOperatorConfig`
|
237
|
+
# @return [Google::Apis::ContainerV1::RayOperatorConfig]
|
238
|
+
attr_accessor :ray_operator_config
|
239
|
+
|
240
|
+
# Configuration for the Stateful HA add-on.
|
241
|
+
# Corresponds to the JSON property `statefulHaConfig`
|
242
|
+
# @return [Google::Apis::ContainerV1::StatefulHaConfig]
|
243
|
+
attr_accessor :stateful_ha_config
|
244
|
+
|
126
245
|
def initialize(**args)
|
127
246
|
update!(**args)
|
128
247
|
end
|
@@ -134,11 +253,49 @@ module Google
|
|
134
253
|
@dns_cache_config = args[:dns_cache_config] if args.key?(:dns_cache_config)
|
135
254
|
@gce_persistent_disk_csi_driver_config = args[:gce_persistent_disk_csi_driver_config] if args.key?(:gce_persistent_disk_csi_driver_config)
|
136
255
|
@gcp_filestore_csi_driver_config = args[:gcp_filestore_csi_driver_config] if args.key?(:gcp_filestore_csi_driver_config)
|
256
|
+
@gcs_fuse_csi_driver_config = args[:gcs_fuse_csi_driver_config] if args.key?(:gcs_fuse_csi_driver_config)
|
137
257
|
@gke_backup_agent_config = args[:gke_backup_agent_config] if args.key?(:gke_backup_agent_config)
|
138
258
|
@horizontal_pod_autoscaling = args[:horizontal_pod_autoscaling] if args.key?(:horizontal_pod_autoscaling)
|
139
259
|
@http_load_balancing = args[:http_load_balancing] if args.key?(:http_load_balancing)
|
140
260
|
@kubernetes_dashboard = args[:kubernetes_dashboard] if args.key?(:kubernetes_dashboard)
|
141
261
|
@network_policy_config = args[:network_policy_config] if args.key?(:network_policy_config)
|
262
|
+
@parallelstore_csi_driver_config = args[:parallelstore_csi_driver_config] if args.key?(:parallelstore_csi_driver_config)
|
263
|
+
@ray_operator_config = args[:ray_operator_config] if args.key?(:ray_operator_config)
|
264
|
+
@stateful_ha_config = args[:stateful_ha_config] if args.key?(:stateful_ha_config)
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
# AdvancedDatapathObservabilityConfig specifies configuration of observability
|
269
|
+
# features of advanced datapath.
|
270
|
+
class AdvancedDatapathObservabilityConfig
|
271
|
+
include Google::Apis::Core::Hashable
|
272
|
+
|
273
|
+
# Expose flow metrics on nodes
|
274
|
+
# Corresponds to the JSON property `enableMetrics`
|
275
|
+
# @return [Boolean]
|
276
|
+
attr_accessor :enable_metrics
|
277
|
+
alias_method :enable_metrics?, :enable_metrics
|
278
|
+
|
279
|
+
# Enable Relay component
|
280
|
+
# Corresponds to the JSON property `enableRelay`
|
281
|
+
# @return [Boolean]
|
282
|
+
attr_accessor :enable_relay
|
283
|
+
alias_method :enable_relay?, :enable_relay
|
284
|
+
|
285
|
+
# Method used to make Relay available
|
286
|
+
# Corresponds to the JSON property `relayMode`
|
287
|
+
# @return [String]
|
288
|
+
attr_accessor :relay_mode
|
289
|
+
|
290
|
+
def initialize(**args)
|
291
|
+
update!(**args)
|
292
|
+
end
|
293
|
+
|
294
|
+
# Update properties of this object
|
295
|
+
def update!(**args)
|
296
|
+
@enable_metrics = args[:enable_metrics] if args.key?(:enable_metrics)
|
297
|
+
@enable_relay = args[:enable_relay] if args.key?(:enable_relay)
|
298
|
+
@relay_mode = args[:relay_mode] if args.key?(:relay_mode)
|
142
299
|
end
|
143
300
|
end
|
144
301
|
|
@@ -146,6 +303,12 @@ module Google
|
|
146
303
|
class AdvancedMachineFeatures
|
147
304
|
include Google::Apis::Core::Hashable
|
148
305
|
|
306
|
+
# Whether or not to enable nested virtualization (defaults to false).
|
307
|
+
# Corresponds to the JSON property `enableNestedVirtualization`
|
308
|
+
# @return [Boolean]
|
309
|
+
attr_accessor :enable_nested_virtualization
|
310
|
+
alias_method :enable_nested_virtualization?, :enable_nested_virtualization
|
311
|
+
|
149
312
|
# The number of threads per physical core. To disable simultaneous
|
150
313
|
# multithreading (SMT) set this to 1. If unset, the maximum number of threads
|
151
314
|
# supported per core by the underlying processor is assumed.
|
@@ -159,6 +322,7 @@ module Google
|
|
159
322
|
|
160
323
|
# Update properties of this object
|
161
324
|
def update!(**args)
|
325
|
+
@enable_nested_virtualization = args[:enable_nested_virtualization] if args.key?(:enable_nested_virtualization)
|
162
326
|
@threads_per_core = args[:threads_per_core] if args.key?(:threads_per_core)
|
163
327
|
end
|
164
328
|
end
|
@@ -191,19 +355,39 @@ module Google
|
|
191
355
|
end
|
192
356
|
end
|
193
357
|
|
358
|
+
# AutoMonitoringConfig defines the configuration for GKE Workload Auto-
|
359
|
+
# Monitoring.
|
360
|
+
class AutoMonitoringConfig
|
361
|
+
include Google::Apis::Core::Hashable
|
362
|
+
|
363
|
+
# Scope for GKE Workload Auto-Monitoring.
|
364
|
+
# Corresponds to the JSON property `scope`
|
365
|
+
# @return [String]
|
366
|
+
attr_accessor :scope
|
367
|
+
|
368
|
+
def initialize(**args)
|
369
|
+
update!(**args)
|
370
|
+
end
|
371
|
+
|
372
|
+
# Update properties of this object
|
373
|
+
def update!(**args)
|
374
|
+
@scope = args[:scope] if args.key?(:scope)
|
375
|
+
end
|
376
|
+
end
|
377
|
+
|
194
378
|
# AutoUpgradeOptions defines the set of options for the user to control how the
|
195
379
|
# Auto Upgrades will proceed.
|
196
380
|
class AutoUpgradeOptions
|
197
381
|
include Google::Apis::Core::Hashable
|
198
382
|
|
199
|
-
#
|
383
|
+
# Output only. This field is set when upgrades are about to commence with the
|
200
384
|
# approximate start time for the upgrades, in [RFC3339](https://www.ietf.org/rfc/
|
201
385
|
# rfc3339.txt) text format.
|
202
386
|
# Corresponds to the JSON property `autoUpgradeStartTime`
|
203
387
|
# @return [String]
|
204
388
|
attr_accessor :auto_upgrade_start_time
|
205
389
|
|
206
|
-
#
|
390
|
+
# Output only. This field is set when upgrades are about to commence with the
|
207
391
|
# description of the upgrade.
|
208
392
|
# Corresponds to the JSON property `description`
|
209
393
|
# @return [String]
|
@@ -230,6 +414,82 @@ module Google
|
|
230
414
|
attr_accessor :enabled
|
231
415
|
alias_method :enabled?, :enabled
|
232
416
|
|
417
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
418
|
+
# Corresponds to the JSON property `workloadPolicyConfig`
|
419
|
+
# @return [Google::Apis::ContainerV1::WorkloadPolicyConfig]
|
420
|
+
attr_accessor :workload_policy_config
|
421
|
+
|
422
|
+
def initialize(**args)
|
423
|
+
update!(**args)
|
424
|
+
end
|
425
|
+
|
426
|
+
# Update properties of this object
|
427
|
+
def update!(**args)
|
428
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
429
|
+
@workload_policy_config = args[:workload_policy_config] if args.key?(:workload_policy_config)
|
430
|
+
end
|
431
|
+
end
|
432
|
+
|
433
|
+
# AutopilotCompatibilityIssue contains information about a specific
|
434
|
+
# compatibility issue with Autopilot mode.
|
435
|
+
class AutopilotCompatibilityIssue
|
436
|
+
include Google::Apis::Core::Hashable
|
437
|
+
|
438
|
+
# The constraint type of the issue.
|
439
|
+
# Corresponds to the JSON property `constraintType`
|
440
|
+
# @return [String]
|
441
|
+
attr_accessor :constraint_type
|
442
|
+
|
443
|
+
# The description of the issue.
|
444
|
+
# Corresponds to the JSON property `description`
|
445
|
+
# @return [String]
|
446
|
+
attr_accessor :description
|
447
|
+
|
448
|
+
# A URL to a public documentation, which addresses resolving this issue.
|
449
|
+
# Corresponds to the JSON property `documentationUrl`
|
450
|
+
# @return [String]
|
451
|
+
attr_accessor :documentation_url
|
452
|
+
|
453
|
+
# The incompatibility type of this issue.
|
454
|
+
# Corresponds to the JSON property `incompatibilityType`
|
455
|
+
# @return [String]
|
456
|
+
attr_accessor :incompatibility_type
|
457
|
+
|
458
|
+
# The last time when this issue was observed.
|
459
|
+
# Corresponds to the JSON property `lastObservation`
|
460
|
+
# @return [String]
|
461
|
+
attr_accessor :last_observation
|
462
|
+
|
463
|
+
# The name of the resources which are subject to this issue.
|
464
|
+
# Corresponds to the JSON property `subjects`
|
465
|
+
# @return [Array<String>]
|
466
|
+
attr_accessor :subjects
|
467
|
+
|
468
|
+
def initialize(**args)
|
469
|
+
update!(**args)
|
470
|
+
end
|
471
|
+
|
472
|
+
# Update properties of this object
|
473
|
+
def update!(**args)
|
474
|
+
@constraint_type = args[:constraint_type] if args.key?(:constraint_type)
|
475
|
+
@description = args[:description] if args.key?(:description)
|
476
|
+
@documentation_url = args[:documentation_url] if args.key?(:documentation_url)
|
477
|
+
@incompatibility_type = args[:incompatibility_type] if args.key?(:incompatibility_type)
|
478
|
+
@last_observation = args[:last_observation] if args.key?(:last_observation)
|
479
|
+
@subjects = args[:subjects] if args.key?(:subjects)
|
480
|
+
end
|
481
|
+
end
|
482
|
+
|
483
|
+
# AutopilotConfig contains configuration of autopilot feature for this nodepool.
|
484
|
+
class AutopilotConfig
|
485
|
+
include Google::Apis::Core::Hashable
|
486
|
+
|
487
|
+
# Denotes that nodes belonging to this node pool are Autopilot nodes.
|
488
|
+
# Corresponds to the JSON property `enabled`
|
489
|
+
# @return [Boolean]
|
490
|
+
attr_accessor :enabled
|
491
|
+
alias_method :enabled?, :enabled
|
492
|
+
|
233
493
|
def initialize(**args)
|
234
494
|
update!(**args)
|
235
495
|
end
|
@@ -266,11 +526,18 @@ module Google
|
|
266
526
|
# @return [String]
|
267
527
|
attr_accessor :disk_type
|
268
528
|
|
269
|
-
# The image type to use for NAP created node.
|
529
|
+
# The image type to use for NAP created node. Please see https://cloud.google.
|
530
|
+
# com/kubernetes-engine/docs/concepts/node-images for available image types.
|
270
531
|
# Corresponds to the JSON property `imageType`
|
271
532
|
# @return [String]
|
272
533
|
attr_accessor :image_type
|
273
534
|
|
535
|
+
# DEPRECATED. Use NodePoolAutoConfig.NodeKubeletConfig instead.
|
536
|
+
# Corresponds to the JSON property `insecureKubeletReadonlyPortEnabled`
|
537
|
+
# @return [Boolean]
|
538
|
+
attr_accessor :insecure_kubelet_readonly_port_enabled
|
539
|
+
alias_method :insecure_kubelet_readonly_port_enabled?, :insecure_kubelet_readonly_port_enabled
|
540
|
+
|
274
541
|
# NodeManagement defines the set of node management services turned on for the
|
275
542
|
# node pool.
|
276
543
|
# Corresponds to the JSON property `management`
|
@@ -283,7 +550,7 @@ module Google
|
|
283
550
|
# Haswell or minCpuPlatform: Intel Sandy Bridge. For more information, read [how
|
284
551
|
# to specify min CPU platform](https://cloud.google.com/compute/docs/instances/
|
285
552
|
# specify-min-cpu-platform). This field is deprecated, min_cpu_platform should
|
286
|
-
# be specified using
|
553
|
+
# be specified using `cloud.google.com/requested-min-cpu-platform` label
|
287
554
|
# selector on the pod. To unset the min cpu platform field pass "automatic" as
|
288
555
|
# field value.
|
289
556
|
# Corresponds to the JSON property `minCpuPlatform`
|
@@ -350,6 +617,7 @@ module Google
|
|
350
617
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
351
618
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
352
619
|
@image_type = args[:image_type] if args.key?(:image_type)
|
620
|
+
@insecure_kubelet_readonly_port_enabled = args[:insecure_kubelet_readonly_port_enabled] if args.key?(:insecure_kubelet_readonly_port_enabled)
|
353
621
|
@management = args[:management] if args.key?(:management)
|
354
622
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
355
623
|
@oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
|
@@ -359,6 +627,36 @@ module Google
|
|
359
627
|
end
|
360
628
|
end
|
361
629
|
|
630
|
+
# Best effort provisioning.
|
631
|
+
class BestEffortProvisioning
|
632
|
+
include Google::Apis::Core::Hashable
|
633
|
+
|
634
|
+
# When this is enabled, cluster/node pool creations will ignore non-fatal errors
|
635
|
+
# like stockout to best provision as many nodes as possible right now and
|
636
|
+
# eventually bring up all target number of nodes
|
637
|
+
# Corresponds to the JSON property `enabled`
|
638
|
+
# @return [Boolean]
|
639
|
+
attr_accessor :enabled
|
640
|
+
alias_method :enabled?, :enabled
|
641
|
+
|
642
|
+
# Minimum number of nodes to be provisioned to be considered as succeeded, and
|
643
|
+
# the rest of nodes will be provisioned gradually and eventually when stockout
|
644
|
+
# issue has been resolved.
|
645
|
+
# Corresponds to the JSON property `minProvisionNodes`
|
646
|
+
# @return [Fixnum]
|
647
|
+
attr_accessor :min_provision_nodes
|
648
|
+
|
649
|
+
def initialize(**args)
|
650
|
+
update!(**args)
|
651
|
+
end
|
652
|
+
|
653
|
+
# Update properties of this object
|
654
|
+
def update!(**args)
|
655
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
656
|
+
@min_provision_nodes = args[:min_provision_nodes] if args.key?(:min_provision_nodes)
|
657
|
+
end
|
658
|
+
end
|
659
|
+
|
362
660
|
# Parameters for using BigQuery as the destination of resource usage export.
|
363
661
|
class BigQueryDestination
|
364
662
|
include Google::Apis::Core::Hashable
|
@@ -522,6 +820,59 @@ module Google
|
|
522
820
|
end
|
523
821
|
end
|
524
822
|
|
823
|
+
# CertificateAuthorityDomainConfig configures one or more fully qualified domain
|
824
|
+
# names (FQDN) to a specific certificate.
|
825
|
+
class CertificateAuthorityDomainConfig
|
826
|
+
include Google::Apis::Core::Hashable
|
827
|
+
|
828
|
+
# List of fully qualified domain names (FQDN). Specifying port is supported.
|
829
|
+
# Wildcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000
|
830
|
+
# Corresponds to the JSON property `fqdns`
|
831
|
+
# @return [Array<String>]
|
832
|
+
attr_accessor :fqdns
|
833
|
+
|
834
|
+
# GCPSecretManagerCertificateConfig configures a secret from [Google Secret
|
835
|
+
# Manager](https://cloud.google.com/secret-manager).
|
836
|
+
# Corresponds to the JSON property `gcpSecretManagerCertificateConfig`
|
837
|
+
# @return [Google::Apis::ContainerV1::GcpSecretManagerCertificateConfig]
|
838
|
+
attr_accessor :gcp_secret_manager_certificate_config
|
839
|
+
|
840
|
+
def initialize(**args)
|
841
|
+
update!(**args)
|
842
|
+
end
|
843
|
+
|
844
|
+
# Update properties of this object
|
845
|
+
def update!(**args)
|
846
|
+
@fqdns = args[:fqdns] if args.key?(:fqdns)
|
847
|
+
@gcp_secret_manager_certificate_config = args[:gcp_secret_manager_certificate_config] if args.key?(:gcp_secret_manager_certificate_config)
|
848
|
+
end
|
849
|
+
end
|
850
|
+
|
851
|
+
# CheckAutopilotCompatibilityResponse has a list of compatibility issues.
|
852
|
+
class CheckAutopilotCompatibilityResponse
|
853
|
+
include Google::Apis::Core::Hashable
|
854
|
+
|
855
|
+
# The list of issues for the given operation.
|
856
|
+
# Corresponds to the JSON property `issues`
|
857
|
+
# @return [Array<Google::Apis::ContainerV1::AutopilotCompatibilityIssue>]
|
858
|
+
attr_accessor :issues
|
859
|
+
|
860
|
+
# The summary of the autopilot compatibility response.
|
861
|
+
# Corresponds to the JSON property `summary`
|
862
|
+
# @return [String]
|
863
|
+
attr_accessor :summary
|
864
|
+
|
865
|
+
def initialize(**args)
|
866
|
+
update!(**args)
|
867
|
+
end
|
868
|
+
|
869
|
+
# Update properties of this object
|
870
|
+
def update!(**args)
|
871
|
+
@issues = args[:issues] if args.key?(:issues)
|
872
|
+
@summary = args[:summary] if args.key?(:summary)
|
873
|
+
end
|
874
|
+
end
|
875
|
+
|
525
876
|
# CidrBlock contains an optional name and one CIDR block.
|
526
877
|
class CidrBlock
|
527
878
|
include Google::Apis::Core::Hashable
|
@@ -633,6 +984,12 @@ module Google
|
|
633
984
|
# @return [String]
|
634
985
|
attr_accessor :cluster_ipv4_cidr
|
635
986
|
|
987
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
988
|
+
# for the Compliance Posture.
|
989
|
+
# Corresponds to the JSON property `compliancePostureConfig`
|
990
|
+
# @return [Google::Apis::ContainerV1::CompliancePostureConfig]
|
991
|
+
attr_accessor :compliance_posture_config
|
992
|
+
|
636
993
|
# Which conditions caused the current cluster state.
|
637
994
|
# Corresponds to the JSON property `conditions`
|
638
995
|
# @return [Array<Google::Apis::ContainerV1::StatusCondition>]
|
@@ -644,29 +1001,34 @@ module Google
|
|
644
1001
|
# @return [Google::Apis::ContainerV1::ConfidentialNodes]
|
645
1002
|
attr_accessor :confidential_nodes
|
646
1003
|
|
1004
|
+
# Configuration for all of the cluster's control plane endpoints.
|
1005
|
+
# Corresponds to the JSON property `controlPlaneEndpointsConfig`
|
1006
|
+
# @return [Google::Apis::ContainerV1::ControlPlaneEndpointsConfig]
|
1007
|
+
attr_accessor :control_plane_endpoints_config
|
1008
|
+
|
647
1009
|
# Configuration for fine-grained cost management feature.
|
648
1010
|
# Corresponds to the JSON property `costManagementConfig`
|
649
1011
|
# @return [Google::Apis::ContainerV1::CostManagementConfig]
|
650
1012
|
attr_accessor :cost_management_config
|
651
1013
|
|
652
|
-
#
|
1014
|
+
# Output only. The time the cluster was created, in [RFC3339](https://www.ietf.
|
653
1015
|
# org/rfc/rfc3339.txt) text format.
|
654
1016
|
# Corresponds to the JSON property `createTime`
|
655
1017
|
# @return [String]
|
656
1018
|
attr_accessor :create_time
|
657
1019
|
|
658
|
-
#
|
1020
|
+
# Output only. The current software version of the master endpoint.
|
659
1021
|
# Corresponds to the JSON property `currentMasterVersion`
|
660
1022
|
# @return [String]
|
661
1023
|
attr_accessor :current_master_version
|
662
1024
|
|
663
|
-
#
|
1025
|
+
# Output only. The number of nodes currently in the cluster. Deprecated. Call
|
664
1026
|
# Kubernetes API directly to retrieve node information.
|
665
1027
|
# Corresponds to the JSON property `currentNodeCount`
|
666
1028
|
# @return [Fixnum]
|
667
1029
|
attr_accessor :current_node_count
|
668
1030
|
|
669
|
-
#
|
1031
|
+
# Output only. Deprecated, use [NodePools.version](https://cloud.google.com/
|
670
1032
|
# kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools)
|
671
1033
|
# instead. The current version of the node software components. If they are
|
672
1034
|
# currently at multiple versions because they're in the process of being
|
@@ -690,6 +1052,11 @@ module Google
|
|
690
1052
|
# @return [String]
|
691
1053
|
attr_accessor :description
|
692
1054
|
|
1055
|
+
# K8sBetaAPIConfig , configuration for beta APIs
|
1056
|
+
# Corresponds to the JSON property `enableK8sBetaApis`
|
1057
|
+
# @return [Google::Apis::ContainerV1::K8sBetaApiConfig]
|
1058
|
+
attr_accessor :enable_k8s_beta_apis
|
1059
|
+
|
693
1060
|
# Kubernetes alpha features are enabled on this cluster. This includes alpha API
|
694
1061
|
# groups (e.g. v1alpha1) and features that may not be production ready in the
|
695
1062
|
# kubernetes version of the master and nodes. The cluster has no SLA for uptime
|
@@ -700,13 +1067,15 @@ module Google
|
|
700
1067
|
attr_accessor :enable_kubernetes_alpha
|
701
1068
|
alias_method :enable_kubernetes_alpha?, :enable_kubernetes_alpha
|
702
1069
|
|
703
|
-
# Enable the ability to use Cloud TPUs in this cluster.
|
1070
|
+
# Enable the ability to use Cloud TPUs in this cluster. This field is deprecated
|
1071
|
+
# due to the deprecation of 2VM TPU. The end of life date for 2VM TPU is 2025-04-
|
1072
|
+
# 25.
|
704
1073
|
# Corresponds to the JSON property `enableTpu`
|
705
1074
|
# @return [Boolean]
|
706
1075
|
attr_accessor :enable_tpu
|
707
1076
|
alias_method :enable_tpu?, :enable_tpu
|
708
1077
|
|
709
|
-
#
|
1078
|
+
# Output only. The IP address of this cluster's master endpoint. The endpoint
|
710
1079
|
# can be accessed from the internet at `https://username:password@endpoint/`.
|
711
1080
|
# See the `masterAuth` property of this resource for username and password
|
712
1081
|
# information.
|
@@ -714,6 +1083,11 @@ module Google
|
|
714
1083
|
# @return [String]
|
715
1084
|
attr_accessor :endpoint
|
716
1085
|
|
1086
|
+
# EnterpriseConfig is the cluster enterprise configuration.
|
1087
|
+
# Corresponds to the JSON property `enterpriseConfig`
|
1088
|
+
# @return [Google::Apis::ContainerV1::EnterpriseConfig]
|
1089
|
+
attr_accessor :enterprise_config
|
1090
|
+
|
717
1091
|
# This checksum is computed by the server based on the value of cluster fields,
|
718
1092
|
# and may be sent on update requests to ensure the client has an up-to-date
|
719
1093
|
# value before proceeding.
|
@@ -721,12 +1095,17 @@ module Google
|
|
721
1095
|
# @return [String]
|
722
1096
|
attr_accessor :etag
|
723
1097
|
|
724
|
-
#
|
1098
|
+
# Output only. The time the cluster will be automatically deleted in [RFC3339](
|
725
1099
|
# https://www.ietf.org/rfc/rfc3339.txt) text format.
|
726
1100
|
# Corresponds to the JSON property `expireTime`
|
727
1101
|
# @return [String]
|
728
1102
|
attr_accessor :expire_time
|
729
1103
|
|
1104
|
+
# Fleet is the fleet configuration for the cluster.
|
1105
|
+
# Corresponds to the JSON property `fleet`
|
1106
|
+
# @return [Google::Apis::ContainerV1::Fleet]
|
1107
|
+
attr_accessor :fleet
|
1108
|
+
|
730
1109
|
# Output only. Unique id for the cluster.
|
731
1110
|
# Corresponds to the JSON property `id`
|
732
1111
|
# @return [String]
|
@@ -763,7 +1142,7 @@ module Google
|
|
763
1142
|
# @return [Fixnum]
|
764
1143
|
attr_accessor :initial_node_count
|
765
1144
|
|
766
|
-
# Deprecated. Use node_pools.instance_group_urls.
|
1145
|
+
# Output only. Deprecated. Use node_pools.instance_group_urls.
|
767
1146
|
# Corresponds to the JSON property `instanceGroupUrls`
|
768
1147
|
# @return [Array<String>]
|
769
1148
|
attr_accessor :instance_group_urls
|
@@ -783,10 +1162,10 @@ module Google
|
|
783
1162
|
# @return [Google::Apis::ContainerV1::LegacyAbac]
|
784
1163
|
attr_accessor :legacy_abac
|
785
1164
|
|
786
|
-
#
|
787
|
-
#
|
788
|
-
#
|
789
|
-
#
|
1165
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
1166
|
+
# com/compute/docs/regions-zones/regions-zones#available) or [region](https://
|
1167
|
+
# cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
|
1168
|
+
# the cluster resides.
|
790
1169
|
# Corresponds to the JSON property `location`
|
791
1170
|
# @return [String]
|
792
1171
|
attr_accessor :location
|
@@ -850,7 +1229,7 @@ module Google
|
|
850
1229
|
attr_accessor :monitoring_config
|
851
1230
|
|
852
1231
|
# The monitoring service the cluster should use to write metrics. Currently
|
853
|
-
# available options: *
|
1232
|
+
# available options: * `monitoring.googleapis.com/kubernetes` - The Cloud
|
854
1233
|
# Monitoring service with a Kubernetes-native resource model * `monitoring.
|
855
1234
|
# googleapis.com` - The legacy Cloud Monitoring service (no longer available as
|
856
1235
|
# of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left
|
@@ -893,9 +1272,9 @@ module Google
|
|
893
1272
|
# @return [Google::Apis::ContainerV1::NodeConfig]
|
894
1273
|
attr_accessor :node_config
|
895
1274
|
|
896
|
-
#
|
897
|
-
#
|
898
|
-
#
|
1275
|
+
# Output only. The size of the address space on each node for hosting containers.
|
1276
|
+
# This is provisioned from within the `container_ipv4_cidr` range. This field
|
1277
|
+
# will only be set when cluster is in route-based network mode.
|
899
1278
|
# Corresponds to the JSON property `nodeIpv4CidrSize`
|
900
1279
|
# @return [Fixnum]
|
901
1280
|
attr_accessor :node_ipv4_cidr_size
|
@@ -922,11 +1301,30 @@ module Google
|
|
922
1301
|
# @return [Google::Apis::ContainerV1::NotificationConfig]
|
923
1302
|
attr_accessor :notification_config
|
924
1303
|
|
1304
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
1305
|
+
# This field is used by Google internal products that are built on top of a GKE
|
1306
|
+
# cluster and take the ownership of the cluster.
|
1307
|
+
# Corresponds to the JSON property `parentProductConfig`
|
1308
|
+
# @return [Google::Apis::ContainerV1::ParentProductConfig]
|
1309
|
+
attr_accessor :parent_product_config
|
1310
|
+
|
1311
|
+
# PodAutoscaling is used for configuration of parameters for workload
|
1312
|
+
# autoscaling.
|
1313
|
+
# Corresponds to the JSON property `podAutoscaling`
|
1314
|
+
# @return [Google::Apis::ContainerV1::PodAutoscaling]
|
1315
|
+
attr_accessor :pod_autoscaling
|
1316
|
+
|
925
1317
|
# Configuration options for private clusters.
|
926
1318
|
# Corresponds to the JSON property `privateClusterConfig`
|
927
1319
|
# @return [Google::Apis::ContainerV1::PrivateClusterConfig]
|
928
1320
|
attr_accessor :private_cluster_config
|
929
1321
|
|
1322
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
1323
|
+
# that can be created.
|
1324
|
+
# Corresponds to the JSON property `rbacBindingConfig`
|
1325
|
+
# @return [Google::Apis::ContainerV1::RbacBindingConfig]
|
1326
|
+
attr_accessor :rbac_binding_config
|
1327
|
+
|
930
1328
|
# ReleaseChannel indicates which release channel a cluster is subscribed to.
|
931
1329
|
# Release channels are arranged in order of risk. When a cluster is subscribed
|
932
1330
|
# to a release channel, Google maintains both the master version and the node
|
@@ -946,12 +1344,35 @@ module Google
|
|
946
1344
|
# @return [Google::Apis::ContainerV1::ResourceUsageExportConfig]
|
947
1345
|
attr_accessor :resource_usage_export_config
|
948
1346
|
|
949
|
-
#
|
1347
|
+
# Output only. Reserved for future use.
|
1348
|
+
# Corresponds to the JSON property `satisfiesPzi`
|
1349
|
+
# @return [Boolean]
|
1350
|
+
attr_accessor :satisfies_pzi
|
1351
|
+
alias_method :satisfies_pzi?, :satisfies_pzi
|
1352
|
+
|
1353
|
+
# Output only. Reserved for future use.
|
1354
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
1355
|
+
# @return [Boolean]
|
1356
|
+
attr_accessor :satisfies_pzs
|
1357
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
1358
|
+
|
1359
|
+
# SecretManagerConfig is config for secret manager enablement.
|
1360
|
+
# Corresponds to the JSON property `secretManagerConfig`
|
1361
|
+
# @return [Google::Apis::ContainerV1::SecretManagerConfig]
|
1362
|
+
attr_accessor :secret_manager_config
|
1363
|
+
|
1364
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
1365
|
+
# the Security Posture API.
|
1366
|
+
# Corresponds to the JSON property `securityPostureConfig`
|
1367
|
+
# @return [Google::Apis::ContainerV1::SecurityPostureConfig]
|
1368
|
+
attr_accessor :security_posture_config
|
1369
|
+
|
1370
|
+
# Output only. Server-defined URL for the resource.
|
950
1371
|
# Corresponds to the JSON property `selfLink`
|
951
1372
|
# @return [String]
|
952
1373
|
attr_accessor :self_link
|
953
1374
|
|
954
|
-
#
|
1375
|
+
# Output only. The IP address range of the Kubernetes services in this cluster,
|
955
1376
|
# in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
|
956
1377
|
# notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `
|
957
1378
|
# /16` from the container CIDR.
|
@@ -964,12 +1385,12 @@ module Google
|
|
964
1385
|
# @return [Google::Apis::ContainerV1::ShieldedNodes]
|
965
1386
|
attr_accessor :shielded_nodes
|
966
1387
|
|
967
|
-
#
|
1388
|
+
# Output only. The current status of this cluster.
|
968
1389
|
# Corresponds to the JSON property `status`
|
969
1390
|
# @return [String]
|
970
1391
|
attr_accessor :status
|
971
1392
|
|
972
|
-
#
|
1393
|
+
# Output only. Deprecated. Use conditions instead. Additional information about
|
973
1394
|
# the current status of this cluster, if available.
|
974
1395
|
# Corresponds to the JSON property `statusMessage`
|
975
1396
|
# @return [String]
|
@@ -981,13 +1402,20 @@ module Google
|
|
981
1402
|
# @return [String]
|
982
1403
|
attr_accessor :subnetwork
|
983
1404
|
|
984
|
-
#
|
985
|
-
#
|
986
|
-
#
|
1405
|
+
# Output only. The IP address range of the Cloud TPUs in this cluster, in [CIDR](
|
1406
|
+
# http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.
|
1407
|
+
# 2.3.4/29`). This field is deprecated due to the deprecation of 2VM TPU. The
|
1408
|
+
# end of life date for 2VM TPU is 2025-04-25.
|
987
1409
|
# Corresponds to the JSON property `tpuIpv4CidrBlock`
|
988
1410
|
# @return [String]
|
989
1411
|
attr_accessor :tpu_ipv4_cidr_block
|
990
1412
|
|
1413
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
1414
|
+
# signing certs and token that are used for communication within cluster.
|
1415
|
+
# Corresponds to the JSON property `userManagedKeysConfig`
|
1416
|
+
# @return [Google::Apis::ContainerV1::UserManagedKeysConfig]
|
1417
|
+
attr_accessor :user_managed_keys_config
|
1418
|
+
|
991
1419
|
# VerticalPodAutoscaling contains global, per-cluster information required by
|
992
1420
|
# Vertical Pod Autoscaler to automatically adjust the resources of pods
|
993
1421
|
# controlled by it.
|
@@ -1000,9 +1428,9 @@ module Google
|
|
1000
1428
|
# @return [Google::Apis::ContainerV1::WorkloadIdentityConfig]
|
1001
1429
|
attr_accessor :workload_identity_config
|
1002
1430
|
|
1003
|
-
#
|
1004
|
-
#
|
1005
|
-
#
|
1431
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
1432
|
+
# com/compute/docs/zones#available) in which the cluster resides. This field is
|
1433
|
+
# deprecated, use location instead.
|
1006
1434
|
# Corresponds to the JSON property `zone`
|
1007
1435
|
# @return [String]
|
1008
1436
|
attr_accessor :zone
|
@@ -1019,8 +1447,10 @@ module Google
|
|
1019
1447
|
@autoscaling = args[:autoscaling] if args.key?(:autoscaling)
|
1020
1448
|
@binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
|
1021
1449
|
@cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
|
1450
|
+
@compliance_posture_config = args[:compliance_posture_config] if args.key?(:compliance_posture_config)
|
1022
1451
|
@conditions = args[:conditions] if args.key?(:conditions)
|
1023
1452
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
1453
|
+
@control_plane_endpoints_config = args[:control_plane_endpoints_config] if args.key?(:control_plane_endpoints_config)
|
1024
1454
|
@cost_management_config = args[:cost_management_config] if args.key?(:cost_management_config)
|
1025
1455
|
@create_time = args[:create_time] if args.key?(:create_time)
|
1026
1456
|
@current_master_version = args[:current_master_version] if args.key?(:current_master_version)
|
@@ -1029,11 +1459,14 @@ module Google
|
|
1029
1459
|
@database_encryption = args[:database_encryption] if args.key?(:database_encryption)
|
1030
1460
|
@default_max_pods_constraint = args[:default_max_pods_constraint] if args.key?(:default_max_pods_constraint)
|
1031
1461
|
@description = args[:description] if args.key?(:description)
|
1462
|
+
@enable_k8s_beta_apis = args[:enable_k8s_beta_apis] if args.key?(:enable_k8s_beta_apis)
|
1032
1463
|
@enable_kubernetes_alpha = args[:enable_kubernetes_alpha] if args.key?(:enable_kubernetes_alpha)
|
1033
1464
|
@enable_tpu = args[:enable_tpu] if args.key?(:enable_tpu)
|
1034
1465
|
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
1466
|
+
@enterprise_config = args[:enterprise_config] if args.key?(:enterprise_config)
|
1035
1467
|
@etag = args[:etag] if args.key?(:etag)
|
1036
1468
|
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
1469
|
+
@fleet = args[:fleet] if args.key?(:fleet)
|
1037
1470
|
@id = args[:id] if args.key?(:id)
|
1038
1471
|
@identity_service_config = args[:identity_service_config] if args.key?(:identity_service_config)
|
1039
1472
|
@initial_cluster_version = args[:initial_cluster_version] if args.key?(:initial_cluster_version)
|
@@ -1062,10 +1495,17 @@ module Google
|
|
1062
1495
|
@node_pool_defaults = args[:node_pool_defaults] if args.key?(:node_pool_defaults)
|
1063
1496
|
@node_pools = args[:node_pools] if args.key?(:node_pools)
|
1064
1497
|
@notification_config = args[:notification_config] if args.key?(:notification_config)
|
1498
|
+
@parent_product_config = args[:parent_product_config] if args.key?(:parent_product_config)
|
1499
|
+
@pod_autoscaling = args[:pod_autoscaling] if args.key?(:pod_autoscaling)
|
1065
1500
|
@private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
|
1501
|
+
@rbac_binding_config = args[:rbac_binding_config] if args.key?(:rbac_binding_config)
|
1066
1502
|
@release_channel = args[:release_channel] if args.key?(:release_channel)
|
1067
1503
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
1068
1504
|
@resource_usage_export_config = args[:resource_usage_export_config] if args.key?(:resource_usage_export_config)
|
1505
|
+
@satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
|
1506
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
1507
|
+
@secret_manager_config = args[:secret_manager_config] if args.key?(:secret_manager_config)
|
1508
|
+
@security_posture_config = args[:security_posture_config] if args.key?(:security_posture_config)
|
1069
1509
|
@self_link = args[:self_link] if args.key?(:self_link)
|
1070
1510
|
@services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
|
1071
1511
|
@shielded_nodes = args[:shielded_nodes] if args.key?(:shielded_nodes)
|
@@ -1073,6 +1513,7 @@ module Google
|
|
1073
1513
|
@status_message = args[:status_message] if args.key?(:status_message)
|
1074
1514
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
1075
1515
|
@tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
|
1516
|
+
@user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
|
1076
1517
|
@vertical_pod_autoscaling = args[:vertical_pod_autoscaling] if args.key?(:vertical_pod_autoscaling)
|
1077
1518
|
@workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config)
|
1078
1519
|
@zone = args[:zone] if args.key?(:zone)
|
@@ -1128,11 +1569,36 @@ module Google
|
|
1128
1569
|
end
|
1129
1570
|
end
|
1130
1571
|
|
1572
|
+
# Configuration of network bandwidth tiers
|
1573
|
+
class ClusterNetworkPerformanceConfig
|
1574
|
+
include Google::Apis::Core::Hashable
|
1575
|
+
|
1576
|
+
# Specifies the total network bandwidth tier for NodePools in the cluster.
|
1577
|
+
# Corresponds to the JSON property `totalEgressBandwidthTier`
|
1578
|
+
# @return [String]
|
1579
|
+
attr_accessor :total_egress_bandwidth_tier
|
1580
|
+
|
1581
|
+
def initialize(**args)
|
1582
|
+
update!(**args)
|
1583
|
+
end
|
1584
|
+
|
1585
|
+
# Update properties of this object
|
1586
|
+
def update!(**args)
|
1587
|
+
@total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
|
1588
|
+
end
|
1589
|
+
end
|
1590
|
+
|
1131
1591
|
# ClusterUpdate describes an update to the cluster. Exactly one update can be
|
1132
1592
|
# applied to a cluster with each request, so at most one field can be provided.
|
1133
1593
|
class ClusterUpdate
|
1134
1594
|
include Google::Apis::Core::Hashable
|
1135
1595
|
|
1596
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
1597
|
+
# ranges supporting the ClusterUpdate message.
|
1598
|
+
# Corresponds to the JSON property `additionalPodRangesConfig`
|
1599
|
+
# @return [Google::Apis::ContainerV1::AdditionalPodRangesConfig]
|
1600
|
+
attr_accessor :additional_pod_ranges_config
|
1601
|
+
|
1136
1602
|
# Configuration for the addons that can be automatically spun up in the cluster,
|
1137
1603
|
# enabling additional functionality.
|
1138
1604
|
# Corresponds to the JSON property `desiredAddonsConfig`
|
@@ -1144,6 +1610,11 @@ module Google
|
|
1144
1610
|
# @return [Google::Apis::ContainerV1::AuthenticatorGroupsConfig]
|
1145
1611
|
attr_accessor :desired_authenticator_groups_config
|
1146
1612
|
|
1613
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
1614
|
+
# Corresponds to the JSON property `desiredAutopilotWorkloadPolicyConfig`
|
1615
|
+
# @return [Google::Apis::ContainerV1::WorkloadPolicyConfig]
|
1616
|
+
attr_accessor :desired_autopilot_workload_policy_config
|
1617
|
+
|
1147
1618
|
# Configuration for Binary Authorization.
|
1148
1619
|
# Corresponds to the JSON property `desiredBinaryAuthorization`
|
1149
1620
|
# @return [Google::Apis::ContainerV1::BinaryAuthorization]
|
@@ -1156,6 +1627,22 @@ module Google
|
|
1156
1627
|
# @return [Google::Apis::ContainerV1::ClusterAutoscaling]
|
1157
1628
|
attr_accessor :desired_cluster_autoscaling
|
1158
1629
|
|
1630
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
1631
|
+
# for the Compliance Posture.
|
1632
|
+
# Corresponds to the JSON property `desiredCompliancePostureConfig`
|
1633
|
+
# @return [Google::Apis::ContainerV1::CompliancePostureConfig]
|
1634
|
+
attr_accessor :desired_compliance_posture_config
|
1635
|
+
|
1636
|
+
# ContainerdConfig contains configuration to customize containerd.
|
1637
|
+
# Corresponds to the JSON property `desiredContainerdConfig`
|
1638
|
+
# @return [Google::Apis::ContainerV1::ContainerdConfig]
|
1639
|
+
attr_accessor :desired_containerd_config
|
1640
|
+
|
1641
|
+
# Configuration for all of the cluster's control plane endpoints.
|
1642
|
+
# Corresponds to the JSON property `desiredControlPlaneEndpointsConfig`
|
1643
|
+
# @return [Google::Apis::ContainerV1::ControlPlaneEndpointsConfig]
|
1644
|
+
attr_accessor :desired_control_plane_endpoints_config
|
1645
|
+
|
1159
1646
|
# Configuration for fine-grained cost management feature.
|
1160
1647
|
# Corresponds to the JSON property `desiredCostManagementConfig`
|
1161
1648
|
# @return [Google::Apis::ContainerV1::CostManagementConfig]
|
@@ -1171,23 +1658,68 @@ module Google
|
|
1171
1658
|
# @return [String]
|
1172
1659
|
attr_accessor :desired_datapath_provider
|
1173
1660
|
|
1661
|
+
# Override the default setting of whether future created nodes have private IP
|
1662
|
+
# addresses only, namely NetworkConfig.default_enable_private_nodes
|
1663
|
+
# Corresponds to the JSON property `desiredDefaultEnablePrivateNodes`
|
1664
|
+
# @return [Boolean]
|
1665
|
+
attr_accessor :desired_default_enable_private_nodes
|
1666
|
+
alias_method :desired_default_enable_private_nodes?, :desired_default_enable_private_nodes
|
1667
|
+
|
1174
1668
|
# DefaultSnatStatus contains the desired state of whether default sNAT should be
|
1175
1669
|
# disabled on the cluster.
|
1176
1670
|
# Corresponds to the JSON property `desiredDefaultSnatStatus`
|
1177
1671
|
# @return [Google::Apis::ContainerV1::DefaultSnatStatus]
|
1178
1672
|
attr_accessor :desired_default_snat_status
|
1179
1673
|
|
1674
|
+
# Enable/Disable L4 LB VPC firewall reconciliation for the cluster.
|
1675
|
+
# Corresponds to the JSON property `desiredDisableL4LbFirewallReconciliation`
|
1676
|
+
# @return [Boolean]
|
1677
|
+
attr_accessor :desired_disable_l4_lb_firewall_reconciliation
|
1678
|
+
alias_method :desired_disable_l4_lb_firewall_reconciliation?, :desired_disable_l4_lb_firewall_reconciliation
|
1679
|
+
|
1180
1680
|
# DNSConfig contains the desired set of options for configuring clusterDNS.
|
1181
1681
|
# Corresponds to the JSON property `desiredDnsConfig`
|
1182
1682
|
# @return [Google::Apis::ContainerV1::DnsConfig]
|
1183
1683
|
attr_accessor :desired_dns_config
|
1184
1684
|
|
1185
|
-
# Enable/Disable
|
1685
|
+
# Enable/Disable Cilium Clusterwide Network Policy for the cluster.
|
1686
|
+
# Corresponds to the JSON property `desiredEnableCiliumClusterwideNetworkPolicy`
|
1687
|
+
# @return [Boolean]
|
1688
|
+
attr_accessor :desired_enable_cilium_clusterwide_network_policy
|
1689
|
+
alias_method :desired_enable_cilium_clusterwide_network_policy?, :desired_enable_cilium_clusterwide_network_policy
|
1690
|
+
|
1691
|
+
# Enable/Disable FQDN Network Policy for the cluster.
|
1692
|
+
# Corresponds to the JSON property `desiredEnableFqdnNetworkPolicy`
|
1693
|
+
# @return [Boolean]
|
1694
|
+
attr_accessor :desired_enable_fqdn_network_policy
|
1695
|
+
alias_method :desired_enable_fqdn_network_policy?, :desired_enable_fqdn_network_policy
|
1696
|
+
|
1697
|
+
# Enable/Disable Multi-Networking for the cluster
|
1698
|
+
# Corresponds to the JSON property `desiredEnableMultiNetworking`
|
1699
|
+
# @return [Boolean]
|
1700
|
+
attr_accessor :desired_enable_multi_networking
|
1701
|
+
alias_method :desired_enable_multi_networking?, :desired_enable_multi_networking
|
1702
|
+
|
1703
|
+
# Enable/Disable private endpoint for the cluster's master. Deprecated: Use
|
1704
|
+
# desired_control_plane_endpoints_config.ip_endpoints_config.
|
1705
|
+
# enable_public_endpoint instead. Note that the value of enable_public_endpoint
|
1706
|
+
# is reversed: if enable_private_endpoint is false, then enable_public_endpoint
|
1707
|
+
# will be true.
|
1186
1708
|
# Corresponds to the JSON property `desiredEnablePrivateEndpoint`
|
1187
1709
|
# @return [Boolean]
|
1188
1710
|
attr_accessor :desired_enable_private_endpoint
|
1189
1711
|
alias_method :desired_enable_private_endpoint?, :desired_enable_private_endpoint
|
1190
1712
|
|
1713
|
+
# DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
|
1714
|
+
# Corresponds to the JSON property `desiredEnterpriseConfig`
|
1715
|
+
# @return [Google::Apis::ContainerV1::DesiredEnterpriseConfig]
|
1716
|
+
attr_accessor :desired_enterprise_config
|
1717
|
+
|
1718
|
+
# Fleet is the fleet configuration for the cluster.
|
1719
|
+
# Corresponds to the JSON property `desiredFleet`
|
1720
|
+
# @return [Google::Apis::ContainerV1::Fleet]
|
1721
|
+
attr_accessor :desired_fleet
|
1722
|
+
|
1191
1723
|
# GatewayAPIConfig contains the desired config of Gateway API on this cluster.
|
1192
1724
|
# Corresponds to the JSON property `desiredGatewayApiConfig`
|
1193
1725
|
# @return [Google::Apis::ContainerV1::GatewayApiConfig]
|
@@ -1211,12 +1743,22 @@ module Google
|
|
1211
1743
|
# @return [String]
|
1212
1744
|
attr_accessor :desired_image_type
|
1213
1745
|
|
1746
|
+
# Specify the details of in-transit encryption.
|
1747
|
+
# Corresponds to the JSON property `desiredInTransitEncryptionConfig`
|
1748
|
+
# @return [String]
|
1749
|
+
attr_accessor :desired_in_transit_encryption_config
|
1750
|
+
|
1214
1751
|
# IntraNodeVisibilityConfig contains the desired config of the intra-node
|
1215
1752
|
# visibility on this cluster.
|
1216
1753
|
# Corresponds to the JSON property `desiredIntraNodeVisibilityConfig`
|
1217
1754
|
# @return [Google::Apis::ContainerV1::IntraNodeVisibilityConfig]
|
1218
1755
|
attr_accessor :desired_intra_node_visibility_config
|
1219
1756
|
|
1757
|
+
# K8sBetaAPIConfig , configuration for beta APIs
|
1758
|
+
# Corresponds to the JSON property `desiredK8sBetaApis`
|
1759
|
+
# @return [Google::Apis::ContainerV1::K8sBetaApiConfig]
|
1760
|
+
attr_accessor :desired_k8s_beta_apis
|
1761
|
+
|
1220
1762
|
# ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
|
1221
1763
|
# subsetting on this cluster.
|
1222
1764
|
# Corresponds to the JSON property `desiredL4ilbSubsettingConfig`
|
@@ -1278,7 +1820,7 @@ module Google
|
|
1278
1820
|
attr_accessor :desired_monitoring_config
|
1279
1821
|
|
1280
1822
|
# The monitoring service the cluster should use to write metrics. Currently
|
1281
|
-
# available options: *
|
1823
|
+
# available options: * `monitoring.googleapis.com/kubernetes` - The Cloud
|
1282
1824
|
# Monitoring service with a Kubernetes-native resource model * `monitoring.
|
1283
1825
|
# googleapis.com` - The legacy Cloud Monitoring service (no longer available as
|
1284
1826
|
# of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left
|
@@ -1288,12 +1830,41 @@ module Google
|
|
1288
1830
|
# @return [String]
|
1289
1831
|
attr_accessor :desired_monitoring_service
|
1290
1832
|
|
1833
|
+
# Configuration of network bandwidth tiers
|
1834
|
+
# Corresponds to the JSON property `desiredNetworkPerformanceConfig`
|
1835
|
+
# @return [Google::Apis::ContainerV1::ClusterNetworkPerformanceConfig]
|
1836
|
+
attr_accessor :desired_network_performance_config
|
1837
|
+
|
1838
|
+
# Node kubelet configs.
|
1839
|
+
# Corresponds to the JSON property `desiredNodeKubeletConfig`
|
1840
|
+
# @return [Google::Apis::ContainerV1::NodeKubeletConfig]
|
1841
|
+
attr_accessor :desired_node_kubelet_config
|
1842
|
+
|
1843
|
+
# Node kubelet configs.
|
1844
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigKubeletConfig`
|
1845
|
+
# @return [Google::Apis::ContainerV1::NodeKubeletConfig]
|
1846
|
+
attr_accessor :desired_node_pool_auto_config_kubelet_config
|
1847
|
+
|
1848
|
+
# Parameters that can be configured on Linux nodes.
|
1849
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigLinuxNodeConfig`
|
1850
|
+
# @return [Google::Apis::ContainerV1::LinuxNodeConfig]
|
1851
|
+
attr_accessor :desired_node_pool_auto_config_linux_node_config
|
1852
|
+
|
1291
1853
|
# Collection of Compute Engine network tags that can be applied to a node's
|
1292
1854
|
# underlying VM instance.
|
1293
1855
|
# Corresponds to the JSON property `desiredNodePoolAutoConfigNetworkTags`
|
1294
1856
|
# @return [Google::Apis::ContainerV1::NetworkTags]
|
1295
1857
|
attr_accessor :desired_node_pool_auto_config_network_tags
|
1296
1858
|
|
1859
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
1860
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
1861
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
1862
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
1863
|
+
# specified. Existing tags will be replaced with new values.
|
1864
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigResourceManagerTags`
|
1865
|
+
# @return [Google::Apis::ContainerV1::ResourceManagerTags]
|
1866
|
+
attr_accessor :desired_node_pool_auto_config_resource_manager_tags
|
1867
|
+
|
1297
1868
|
# NodePoolAutoscaling contains information required by cluster autoscaler to
|
1298
1869
|
# adjust the size of the node pool to the current cluster usage.
|
1299
1870
|
# Corresponds to the JSON property `desiredNodePoolAutoscaling`
|
@@ -1328,6 +1899,19 @@ module Google
|
|
1328
1899
|
# @return [Google::Apis::ContainerV1::NotificationConfig]
|
1329
1900
|
attr_accessor :desired_notification_config
|
1330
1901
|
|
1902
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
1903
|
+
# This field is used by Google internal products that are built on top of a GKE
|
1904
|
+
# cluster and take the ownership of the cluster.
|
1905
|
+
# Corresponds to the JSON property `desiredParentProductConfig`
|
1906
|
+
# @return [Google::Apis::ContainerV1::ParentProductConfig]
|
1907
|
+
attr_accessor :desired_parent_product_config
|
1908
|
+
|
1909
|
+
# PodAutoscaling is used for configuration of parameters for workload
|
1910
|
+
# autoscaling.
|
1911
|
+
# Corresponds to the JSON property `desiredPodAutoscaling`
|
1912
|
+
# @return [Google::Apis::ContainerV1::PodAutoscaling]
|
1913
|
+
attr_accessor :desired_pod_autoscaling
|
1914
|
+
|
1331
1915
|
# Configuration options for private clusters.
|
1332
1916
|
# Corresponds to the JSON property `desiredPrivateClusterConfig`
|
1333
1917
|
# @return [Google::Apis::ContainerV1::PrivateClusterConfig]
|
@@ -1338,6 +1922,12 @@ module Google
|
|
1338
1922
|
# @return [String]
|
1339
1923
|
attr_accessor :desired_private_ipv6_google_access
|
1340
1924
|
|
1925
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
1926
|
+
# that can be created.
|
1927
|
+
# Corresponds to the JSON property `desiredRbacBindingConfig`
|
1928
|
+
# @return [Google::Apis::ContainerV1::RbacBindingConfig]
|
1929
|
+
attr_accessor :desired_rbac_binding_config
|
1930
|
+
|
1341
1931
|
# ReleaseChannel indicates which release channel a cluster is subscribed to.
|
1342
1932
|
# Release channels are arranged in order of risk. When a cluster is subscribed
|
1343
1933
|
# to a release channel, Google maintains both the master version and the node
|
@@ -1351,6 +1941,17 @@ module Google
|
|
1351
1941
|
# @return [Google::Apis::ContainerV1::ResourceUsageExportConfig]
|
1352
1942
|
attr_accessor :desired_resource_usage_export_config
|
1353
1943
|
|
1944
|
+
# SecretManagerConfig is config for secret manager enablement.
|
1945
|
+
# Corresponds to the JSON property `desiredSecretManagerConfig`
|
1946
|
+
# @return [Google::Apis::ContainerV1::SecretManagerConfig]
|
1947
|
+
attr_accessor :desired_secret_manager_config
|
1948
|
+
|
1949
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
1950
|
+
# the Security Posture API.
|
1951
|
+
# Corresponds to the JSON property `desiredSecurityPostureConfig`
|
1952
|
+
# @return [Google::Apis::ContainerV1::SecurityPostureConfig]
|
1953
|
+
attr_accessor :desired_security_posture_config
|
1954
|
+
|
1354
1955
|
# Config to block services with externalIPs field.
|
1355
1956
|
# Corresponds to the JSON property `desiredServiceExternalIpsConfig`
|
1356
1957
|
# @return [Google::Apis::ContainerV1::ServiceExternalIPsConfig]
|
@@ -1380,6 +1981,11 @@ module Google
|
|
1380
1981
|
# @return [Google::Apis::ContainerV1::WorkloadIdentityConfig]
|
1381
1982
|
attr_accessor :desired_workload_identity_config
|
1382
1983
|
|
1984
|
+
# K8sBetaAPIConfig , configuration for beta APIs
|
1985
|
+
# Corresponds to the JSON property `enableK8sBetaApis`
|
1986
|
+
# @return [Google::Apis::ContainerV1::K8sBetaApiConfig]
|
1987
|
+
attr_accessor :enable_k8s_beta_apis
|
1988
|
+
|
1383
1989
|
# The current etag of the cluster. If an etag is provided and does not match the
|
1384
1990
|
# current etag of the cluster, update will be blocked and an ABORTED error will
|
1385
1991
|
# be returned.
|
@@ -1387,27 +1993,53 @@ module Google
|
|
1387
1993
|
# @return [String]
|
1388
1994
|
attr_accessor :etag
|
1389
1995
|
|
1996
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
1997
|
+
# ranges supporting the ClusterUpdate message.
|
1998
|
+
# Corresponds to the JSON property `removedAdditionalPodRangesConfig`
|
1999
|
+
# @return [Google::Apis::ContainerV1::AdditionalPodRangesConfig]
|
2000
|
+
attr_accessor :removed_additional_pod_ranges_config
|
2001
|
+
|
2002
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
2003
|
+
# signing certs and token that are used for communication within cluster.
|
2004
|
+
# Corresponds to the JSON property `userManagedKeysConfig`
|
2005
|
+
# @return [Google::Apis::ContainerV1::UserManagedKeysConfig]
|
2006
|
+
attr_accessor :user_managed_keys_config
|
2007
|
+
|
1390
2008
|
def initialize(**args)
|
1391
2009
|
update!(**args)
|
1392
2010
|
end
|
1393
2011
|
|
1394
2012
|
# Update properties of this object
|
1395
2013
|
def update!(**args)
|
2014
|
+
@additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config)
|
1396
2015
|
@desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
|
1397
2016
|
@desired_authenticator_groups_config = args[:desired_authenticator_groups_config] if args.key?(:desired_authenticator_groups_config)
|
2017
|
+
@desired_autopilot_workload_policy_config = args[:desired_autopilot_workload_policy_config] if args.key?(:desired_autopilot_workload_policy_config)
|
1398
2018
|
@desired_binary_authorization = args[:desired_binary_authorization] if args.key?(:desired_binary_authorization)
|
1399
2019
|
@desired_cluster_autoscaling = args[:desired_cluster_autoscaling] if args.key?(:desired_cluster_autoscaling)
|
2020
|
+
@desired_compliance_posture_config = args[:desired_compliance_posture_config] if args.key?(:desired_compliance_posture_config)
|
2021
|
+
@desired_containerd_config = args[:desired_containerd_config] if args.key?(:desired_containerd_config)
|
2022
|
+
@desired_control_plane_endpoints_config = args[:desired_control_plane_endpoints_config] if args.key?(:desired_control_plane_endpoints_config)
|
1400
2023
|
@desired_cost_management_config = args[:desired_cost_management_config] if args.key?(:desired_cost_management_config)
|
1401
2024
|
@desired_database_encryption = args[:desired_database_encryption] if args.key?(:desired_database_encryption)
|
1402
2025
|
@desired_datapath_provider = args[:desired_datapath_provider] if args.key?(:desired_datapath_provider)
|
2026
|
+
@desired_default_enable_private_nodes = args[:desired_default_enable_private_nodes] if args.key?(:desired_default_enable_private_nodes)
|
1403
2027
|
@desired_default_snat_status = args[:desired_default_snat_status] if args.key?(:desired_default_snat_status)
|
2028
|
+
@desired_disable_l4_lb_firewall_reconciliation = args[:desired_disable_l4_lb_firewall_reconciliation] if args.key?(:desired_disable_l4_lb_firewall_reconciliation)
|
1404
2029
|
@desired_dns_config = args[:desired_dns_config] if args.key?(:desired_dns_config)
|
2030
|
+
@desired_enable_cilium_clusterwide_network_policy = args[:desired_enable_cilium_clusterwide_network_policy] if args.key?(:desired_enable_cilium_clusterwide_network_policy)
|
2031
|
+
@desired_enable_fqdn_network_policy = args[:desired_enable_fqdn_network_policy] if args.key?(:desired_enable_fqdn_network_policy)
|
2032
|
+
@desired_enable_multi_networking = args[:desired_enable_multi_networking] if args.key?(:desired_enable_multi_networking)
|
1405
2033
|
@desired_enable_private_endpoint = args[:desired_enable_private_endpoint] if args.key?(:desired_enable_private_endpoint)
|
2034
|
+
@desired_enterprise_config = args[:desired_enterprise_config] if args.key?(:desired_enterprise_config)
|
2035
|
+
@desired_fleet = args[:desired_fleet] if args.key?(:desired_fleet)
|
1406
2036
|
@desired_gateway_api_config = args[:desired_gateway_api_config] if args.key?(:desired_gateway_api_config)
|
1407
2037
|
@desired_gcfs_config = args[:desired_gcfs_config] if args.key?(:desired_gcfs_config)
|
1408
2038
|
@desired_identity_service_config = args[:desired_identity_service_config] if args.key?(:desired_identity_service_config)
|
1409
2039
|
@desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
|
2040
|
+
@desired_in_transit_encryption_config = args[:desired_in_transit_encryption_config] if args.key?(:desired_in_transit_encryption_config)
|
1410
2041
|
@desired_intra_node_visibility_config = args[:desired_intra_node_visibility_config] if args.key?(:desired_intra_node_visibility_config)
|
2042
|
+
@desired_k8s_beta_apis = args[:desired_k8s_beta_apis] if args.key?(:desired_k8s_beta_apis)
|
1411
2043
|
@desired_l4ilb_subsetting_config = args[:desired_l4ilb_subsetting_config] if args.key?(:desired_l4ilb_subsetting_config)
|
1412
2044
|
@desired_locations = args[:desired_locations] if args.key?(:desired_locations)
|
1413
2045
|
@desired_logging_config = args[:desired_logging_config] if args.key?(:desired_logging_config)
|
@@ -1417,22 +2049,90 @@ module Google
|
|
1417
2049
|
@desired_mesh_certificates = args[:desired_mesh_certificates] if args.key?(:desired_mesh_certificates)
|
1418
2050
|
@desired_monitoring_config = args[:desired_monitoring_config] if args.key?(:desired_monitoring_config)
|
1419
2051
|
@desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
|
2052
|
+
@desired_network_performance_config = args[:desired_network_performance_config] if args.key?(:desired_network_performance_config)
|
2053
|
+
@desired_node_kubelet_config = args[:desired_node_kubelet_config] if args.key?(:desired_node_kubelet_config)
|
2054
|
+
@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)
|
2055
|
+
@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)
|
1420
2056
|
@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)
|
2057
|
+
@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)
|
1421
2058
|
@desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
|
1422
2059
|
@desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
|
1423
2060
|
@desired_node_pool_logging_config = args[:desired_node_pool_logging_config] if args.key?(:desired_node_pool_logging_config)
|
1424
2061
|
@desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
|
1425
2062
|
@desired_notification_config = args[:desired_notification_config] if args.key?(:desired_notification_config)
|
2063
|
+
@desired_parent_product_config = args[:desired_parent_product_config] if args.key?(:desired_parent_product_config)
|
2064
|
+
@desired_pod_autoscaling = args[:desired_pod_autoscaling] if args.key?(:desired_pod_autoscaling)
|
1426
2065
|
@desired_private_cluster_config = args[:desired_private_cluster_config] if args.key?(:desired_private_cluster_config)
|
1427
2066
|
@desired_private_ipv6_google_access = args[:desired_private_ipv6_google_access] if args.key?(:desired_private_ipv6_google_access)
|
2067
|
+
@desired_rbac_binding_config = args[:desired_rbac_binding_config] if args.key?(:desired_rbac_binding_config)
|
1428
2068
|
@desired_release_channel = args[:desired_release_channel] if args.key?(:desired_release_channel)
|
1429
2069
|
@desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config)
|
2070
|
+
@desired_secret_manager_config = args[:desired_secret_manager_config] if args.key?(:desired_secret_manager_config)
|
2071
|
+
@desired_security_posture_config = args[:desired_security_posture_config] if args.key?(:desired_security_posture_config)
|
1430
2072
|
@desired_service_external_ips_config = args[:desired_service_external_ips_config] if args.key?(:desired_service_external_ips_config)
|
1431
2073
|
@desired_shielded_nodes = args[:desired_shielded_nodes] if args.key?(:desired_shielded_nodes)
|
1432
2074
|
@desired_stack_type = args[:desired_stack_type] if args.key?(:desired_stack_type)
|
1433
2075
|
@desired_vertical_pod_autoscaling = args[:desired_vertical_pod_autoscaling] if args.key?(:desired_vertical_pod_autoscaling)
|
1434
2076
|
@desired_workload_identity_config = args[:desired_workload_identity_config] if args.key?(:desired_workload_identity_config)
|
2077
|
+
@enable_k8s_beta_apis = args[:enable_k8s_beta_apis] if args.key?(:enable_k8s_beta_apis)
|
1435
2078
|
@etag = args[:etag] if args.key?(:etag)
|
2079
|
+
@removed_additional_pod_ranges_config = args[:removed_additional_pod_ranges_config] if args.key?(:removed_additional_pod_ranges_config)
|
2080
|
+
@user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
|
2081
|
+
end
|
2082
|
+
end
|
2083
|
+
|
2084
|
+
# ClusterUpgradeInfo contains the upgrade information of a cluster.
|
2085
|
+
class ClusterUpgradeInfo
|
2086
|
+
include Google::Apis::Core::Hashable
|
2087
|
+
|
2088
|
+
# The auto upgrade status.
|
2089
|
+
# Corresponds to the JSON property `autoUpgradeStatus`
|
2090
|
+
# @return [Array<String>]
|
2091
|
+
attr_accessor :auto_upgrade_status
|
2092
|
+
|
2093
|
+
# The cluster's current minor version's end of extended support timestamp.
|
2094
|
+
# Corresponds to the JSON property `endOfExtendedSupportTimestamp`
|
2095
|
+
# @return [String]
|
2096
|
+
attr_accessor :end_of_extended_support_timestamp
|
2097
|
+
|
2098
|
+
# The cluster's current minor version's end of standard support timestamp.
|
2099
|
+
# Corresponds to the JSON property `endOfStandardSupportTimestamp`
|
2100
|
+
# @return [String]
|
2101
|
+
attr_accessor :end_of_standard_support_timestamp
|
2102
|
+
|
2103
|
+
# minor_target_version indicates the target version for minor upgrade.
|
2104
|
+
# Corresponds to the JSON property `minorTargetVersion`
|
2105
|
+
# @return [String]
|
2106
|
+
attr_accessor :minor_target_version
|
2107
|
+
|
2108
|
+
# patch_target_version indicates the target version for patch upgrade.
|
2109
|
+
# Corresponds to the JSON property `patchTargetVersion`
|
2110
|
+
# @return [String]
|
2111
|
+
attr_accessor :patch_target_version
|
2112
|
+
|
2113
|
+
# The auto upgrade paused reason.
|
2114
|
+
# Corresponds to the JSON property `pausedReason`
|
2115
|
+
# @return [Array<String>]
|
2116
|
+
attr_accessor :paused_reason
|
2117
|
+
|
2118
|
+
# The list of past auto upgrades.
|
2119
|
+
# Corresponds to the JSON property `upgradeDetails`
|
2120
|
+
# @return [Array<Google::Apis::ContainerV1::UpgradeDetails>]
|
2121
|
+
attr_accessor :upgrade_details
|
2122
|
+
|
2123
|
+
def initialize(**args)
|
2124
|
+
update!(**args)
|
2125
|
+
end
|
2126
|
+
|
2127
|
+
# Update properties of this object
|
2128
|
+
def update!(**args)
|
2129
|
+
@auto_upgrade_status = args[:auto_upgrade_status] if args.key?(:auto_upgrade_status)
|
2130
|
+
@end_of_extended_support_timestamp = args[:end_of_extended_support_timestamp] if args.key?(:end_of_extended_support_timestamp)
|
2131
|
+
@end_of_standard_support_timestamp = args[:end_of_standard_support_timestamp] if args.key?(:end_of_standard_support_timestamp)
|
2132
|
+
@minor_target_version = args[:minor_target_version] if args.key?(:minor_target_version)
|
2133
|
+
@patch_target_version = args[:patch_target_version] if args.key?(:patch_target_version)
|
2134
|
+
@paused_reason = args[:paused_reason] if args.key?(:paused_reason)
|
2135
|
+
@upgrade_details = args[:upgrade_details] if args.key?(:upgrade_details)
|
1436
2136
|
end
|
1437
2137
|
end
|
1438
2138
|
|
@@ -1493,11 +2193,61 @@ module Google
|
|
1493
2193
|
end
|
1494
2194
|
end
|
1495
2195
|
|
2196
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
2197
|
+
# for the Compliance Posture.
|
2198
|
+
class CompliancePostureConfig
|
2199
|
+
include Google::Apis::Core::Hashable
|
2200
|
+
|
2201
|
+
# List of enabled compliance standards.
|
2202
|
+
# Corresponds to the JSON property `complianceStandards`
|
2203
|
+
# @return [Array<Google::Apis::ContainerV1::ComplianceStandard>]
|
2204
|
+
attr_accessor :compliance_standards
|
2205
|
+
|
2206
|
+
# Defines the enablement mode for Compliance Posture.
|
2207
|
+
# Corresponds to the JSON property `mode`
|
2208
|
+
# @return [String]
|
2209
|
+
attr_accessor :mode
|
2210
|
+
|
2211
|
+
def initialize(**args)
|
2212
|
+
update!(**args)
|
2213
|
+
end
|
2214
|
+
|
2215
|
+
# Update properties of this object
|
2216
|
+
def update!(**args)
|
2217
|
+
@compliance_standards = args[:compliance_standards] if args.key?(:compliance_standards)
|
2218
|
+
@mode = args[:mode] if args.key?(:mode)
|
2219
|
+
end
|
2220
|
+
end
|
2221
|
+
|
2222
|
+
# Defines the details of a compliance standard.
|
2223
|
+
class ComplianceStandard
|
2224
|
+
include Google::Apis::Core::Hashable
|
2225
|
+
|
2226
|
+
# Name of the compliance standard.
|
2227
|
+
# Corresponds to the JSON property `standard`
|
2228
|
+
# @return [String]
|
2229
|
+
attr_accessor :standard
|
2230
|
+
|
2231
|
+
def initialize(**args)
|
2232
|
+
update!(**args)
|
2233
|
+
end
|
2234
|
+
|
2235
|
+
# Update properties of this object
|
2236
|
+
def update!(**args)
|
2237
|
+
@standard = args[:standard] if args.key?(:standard)
|
2238
|
+
end
|
2239
|
+
end
|
2240
|
+
|
1496
2241
|
# ConfidentialNodes is configuration for the confidential nodes feature, which
|
1497
2242
|
# makes nodes run on confidential VMs.
|
1498
2243
|
class ConfidentialNodes
|
1499
2244
|
include Google::Apis::Core::Hashable
|
1500
2245
|
|
2246
|
+
# Defines the type of technology used by the confidential node.
|
2247
|
+
# Corresponds to the JSON property `confidentialInstanceType`
|
2248
|
+
# @return [String]
|
2249
|
+
attr_accessor :confidential_instance_type
|
2250
|
+
|
1501
2251
|
# Whether Confidential Nodes feature is enabled.
|
1502
2252
|
# Corresponds to the JSON property `enabled`
|
1503
2253
|
# @return [Boolean]
|
@@ -1510,6 +2260,7 @@ module Google
|
|
1510
2260
|
|
1511
2261
|
# Update properties of this object
|
1512
2262
|
def update!(**args)
|
2263
|
+
@confidential_instance_type = args[:confidential_instance_type] if args.key?(:confidential_instance_type)
|
1513
2264
|
@enabled = args[:enabled] if args.key?(:enabled)
|
1514
2265
|
end
|
1515
2266
|
end
|
@@ -1555,6 +2306,51 @@ module Google
|
|
1555
2306
|
end
|
1556
2307
|
end
|
1557
2308
|
|
2309
|
+
# ContainerdConfig contains configuration to customize containerd.
|
2310
|
+
class ContainerdConfig
|
2311
|
+
include Google::Apis::Core::Hashable
|
2312
|
+
|
2313
|
+
# PrivateRegistryAccessConfig contains access configuration for private
|
2314
|
+
# container registries.
|
2315
|
+
# Corresponds to the JSON property `privateRegistryAccessConfig`
|
2316
|
+
# @return [Google::Apis::ContainerV1::PrivateRegistryAccessConfig]
|
2317
|
+
attr_accessor :private_registry_access_config
|
2318
|
+
|
2319
|
+
def initialize(**args)
|
2320
|
+
update!(**args)
|
2321
|
+
end
|
2322
|
+
|
2323
|
+
# Update properties of this object
|
2324
|
+
def update!(**args)
|
2325
|
+
@private_registry_access_config = args[:private_registry_access_config] if args.key?(:private_registry_access_config)
|
2326
|
+
end
|
2327
|
+
end
|
2328
|
+
|
2329
|
+
# Configuration for all of the cluster's control plane endpoints.
|
2330
|
+
class ControlPlaneEndpointsConfig
|
2331
|
+
include Google::Apis::Core::Hashable
|
2332
|
+
|
2333
|
+
# Describes the configuration of a DNS endpoint.
|
2334
|
+
# Corresponds to the JSON property `dnsEndpointConfig`
|
2335
|
+
# @return [Google::Apis::ContainerV1::DnsEndpointConfig]
|
2336
|
+
attr_accessor :dns_endpoint_config
|
2337
|
+
|
2338
|
+
# IP endpoints configuration.
|
2339
|
+
# Corresponds to the JSON property `ipEndpointsConfig`
|
2340
|
+
# @return [Google::Apis::ContainerV1::IpEndpointsConfig]
|
2341
|
+
attr_accessor :ip_endpoints_config
|
2342
|
+
|
2343
|
+
def initialize(**args)
|
2344
|
+
update!(**args)
|
2345
|
+
end
|
2346
|
+
|
2347
|
+
# Update properties of this object
|
2348
|
+
def update!(**args)
|
2349
|
+
@dns_endpoint_config = args[:dns_endpoint_config] if args.key?(:dns_endpoint_config)
|
2350
|
+
@ip_endpoints_config = args[:ip_endpoints_config] if args.key?(:ip_endpoints_config)
|
2351
|
+
end
|
2352
|
+
end
|
2353
|
+
|
1558
2354
|
# Configuration for fine-grained cost management feature.
|
1559
2355
|
class CostManagementConfig
|
1560
2356
|
include Google::Apis::Core::Hashable
|
@@ -1675,6 +2471,11 @@ module Google
|
|
1675
2471
|
class DnsConfig
|
1676
2472
|
include Google::Apis::Core::Hashable
|
1677
2473
|
|
2474
|
+
# Optional. The domain used in Additive VPC scope.
|
2475
|
+
# Corresponds to the JSON property `additiveVpcScopeDnsDomain`
|
2476
|
+
# @return [String]
|
2477
|
+
attr_accessor :additive_vpc_scope_dns_domain
|
2478
|
+
|
1678
2479
|
# cluster_dns indicates which in-cluster DNS provider should be used.
|
1679
2480
|
# Corresponds to the JSON property `clusterDns`
|
1680
2481
|
# @return [String]
|
@@ -1696,17 +2497,48 @@ module Google
|
|
1696
2497
|
|
1697
2498
|
# Update properties of this object
|
1698
2499
|
def update!(**args)
|
2500
|
+
@additive_vpc_scope_dns_domain = args[:additive_vpc_scope_dns_domain] if args.key?(:additive_vpc_scope_dns_domain)
|
1699
2501
|
@cluster_dns = args[:cluster_dns] if args.key?(:cluster_dns)
|
1700
2502
|
@cluster_dns_domain = args[:cluster_dns_domain] if args.key?(:cluster_dns_domain)
|
1701
2503
|
@cluster_dns_scope = args[:cluster_dns_scope] if args.key?(:cluster_dns_scope)
|
1702
2504
|
end
|
1703
2505
|
end
|
1704
2506
|
|
2507
|
+
# Describes the configuration of a DNS endpoint.
|
2508
|
+
class DnsEndpointConfig
|
2509
|
+
include Google::Apis::Core::Hashable
|
2510
|
+
|
2511
|
+
# Controls whether user traffic is allowed over this endpoint. Note that GCP-
|
2512
|
+
# managed services may still use the endpoint even if this is false.
|
2513
|
+
# Corresponds to the JSON property `allowExternalTraffic`
|
2514
|
+
# @return [Boolean]
|
2515
|
+
attr_accessor :allow_external_traffic
|
2516
|
+
alias_method :allow_external_traffic?, :allow_external_traffic
|
2517
|
+
|
2518
|
+
# Output only. The cluster's DNS endpoint configuration. A DNS format address.
|
2519
|
+
# This is accessible from the public internet. Ex: uid.us-central1.gke.goog.
|
2520
|
+
# Always present, but the behavior may change according to the value of
|
2521
|
+
# DNSEndpointConfig.allow_external_traffic.
|
2522
|
+
# Corresponds to the JSON property `endpoint`
|
2523
|
+
# @return [String]
|
2524
|
+
attr_accessor :endpoint
|
2525
|
+
|
2526
|
+
def initialize(**args)
|
2527
|
+
update!(**args)
|
2528
|
+
end
|
2529
|
+
|
2530
|
+
# Update properties of this object
|
2531
|
+
def update!(**args)
|
2532
|
+
@allow_external_traffic = args[:allow_external_traffic] if args.key?(:allow_external_traffic)
|
2533
|
+
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
2534
|
+
end
|
2535
|
+
end
|
2536
|
+
|
1705
2537
|
# Time window specified for daily maintenance operations.
|
1706
2538
|
class DailyMaintenanceWindow
|
1707
2539
|
include Google::Apis::Core::Hashable
|
1708
2540
|
|
1709
|
-
#
|
2541
|
+
# Output only. Duration of the time window, automatically chosen to be smallest
|
1710
2542
|
# possible in the given scenario. Duration will be in [RFC3339](https://www.ietf.
|
1711
2543
|
# org/rfc/rfc3339.txt) format "PTnHnMnS".
|
1712
2544
|
# Corresponds to the JSON property `duration`
|
@@ -1735,13 +2567,29 @@ module Google
|
|
1735
2567
|
class DatabaseEncryption
|
1736
2568
|
include Google::Apis::Core::Hashable
|
1737
2569
|
|
2570
|
+
# Output only. The current state of etcd encryption.
|
2571
|
+
# Corresponds to the JSON property `currentState`
|
2572
|
+
# @return [String]
|
2573
|
+
attr_accessor :current_state
|
2574
|
+
|
2575
|
+
# Output only. Keys in use by the cluster for decrypting existing objects, in
|
2576
|
+
# addition to the key in `key_name`. Each item is a CloudKMS key resource.
|
2577
|
+
# Corresponds to the JSON property `decryptionKeys`
|
2578
|
+
# @return [Array<String>]
|
2579
|
+
attr_accessor :decryption_keys
|
2580
|
+
|
1738
2581
|
# Name of CloudKMS key to use for the encryption of secrets in etcd. Ex.
|
1739
2582
|
# projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
|
1740
2583
|
# Corresponds to the JSON property `keyName`
|
1741
2584
|
# @return [String]
|
1742
2585
|
attr_accessor :key_name
|
1743
2586
|
|
1744
|
-
#
|
2587
|
+
# Output only. Records errors seen during DatabaseEncryption update operations.
|
2588
|
+
# Corresponds to the JSON property `lastOperationErrors`
|
2589
|
+
# @return [Array<Google::Apis::ContainerV1::OperationError>]
|
2590
|
+
attr_accessor :last_operation_errors
|
2591
|
+
|
2592
|
+
# The desired state of etcd encryption.
|
1745
2593
|
# Corresponds to the JSON property `state`
|
1746
2594
|
# @return [String]
|
1747
2595
|
attr_accessor :state
|
@@ -1752,7 +2600,10 @@ module Google
|
|
1752
2600
|
|
1753
2601
|
# Update properties of this object
|
1754
2602
|
def update!(**args)
|
2603
|
+
@current_state = args[:current_state] if args.key?(:current_state)
|
2604
|
+
@decryption_keys = args[:decryption_keys] if args.key?(:decryption_keys)
|
1755
2605
|
@key_name = args[:key_name] if args.key?(:key_name)
|
2606
|
+
@last_operation_errors = args[:last_operation_errors] if args.key?(:last_operation_errors)
|
1756
2607
|
@state = args[:state] if args.key?(:state)
|
1757
2608
|
end
|
1758
2609
|
end
|
@@ -1778,6 +2629,25 @@ module Google
|
|
1778
2629
|
end
|
1779
2630
|
end
|
1780
2631
|
|
2632
|
+
# DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
|
2633
|
+
class DesiredEnterpriseConfig
|
2634
|
+
include Google::Apis::Core::Hashable
|
2635
|
+
|
2636
|
+
# desired_tier specifies the desired tier of the cluster.
|
2637
|
+
# Corresponds to the JSON property `desiredTier`
|
2638
|
+
# @return [String]
|
2639
|
+
attr_accessor :desired_tier
|
2640
|
+
|
2641
|
+
def initialize(**args)
|
2642
|
+
update!(**args)
|
2643
|
+
end
|
2644
|
+
|
2645
|
+
# Update properties of this object
|
2646
|
+
def update!(**args)
|
2647
|
+
@desired_tier = args[:desired_tier] if args.key?(:desired_tier)
|
2648
|
+
end
|
2649
|
+
end
|
2650
|
+
|
1781
2651
|
# Configuration for NodeLocal DNSCache
|
1782
2652
|
class DnsCacheConfig
|
1783
2653
|
include Google::Apis::Core::Hashable
|
@@ -1814,16 +2684,53 @@ module Google
|
|
1814
2684
|
end
|
1815
2685
|
end
|
1816
2686
|
|
2687
|
+
# EnterpriseConfig is the cluster enterprise configuration.
|
2688
|
+
class EnterpriseConfig
|
2689
|
+
include Google::Apis::Core::Hashable
|
2690
|
+
|
2691
|
+
# Output only. cluster_tier indicates the effective tier of the cluster.
|
2692
|
+
# Corresponds to the JSON property `clusterTier`
|
2693
|
+
# @return [String]
|
2694
|
+
attr_accessor :cluster_tier
|
2695
|
+
|
2696
|
+
# desired_tier specifies the desired tier of the cluster.
|
2697
|
+
# Corresponds to the JSON property `desiredTier`
|
2698
|
+
# @return [String]
|
2699
|
+
attr_accessor :desired_tier
|
2700
|
+
|
2701
|
+
def initialize(**args)
|
2702
|
+
update!(**args)
|
2703
|
+
end
|
2704
|
+
|
2705
|
+
# Update properties of this object
|
2706
|
+
def update!(**args)
|
2707
|
+
@cluster_tier = args[:cluster_tier] if args.key?(:cluster_tier)
|
2708
|
+
@desired_tier = args[:desired_tier] if args.key?(:desired_tier)
|
2709
|
+
end
|
2710
|
+
end
|
2711
|
+
|
1817
2712
|
# EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
|
1818
|
-
# storage using Local
|
2713
|
+
# storage using Local SSDs.
|
1819
2714
|
class EphemeralStorageLocalSsdConfig
|
1820
2715
|
include Google::Apis::Core::Hashable
|
1821
2716
|
|
1822
|
-
# Number of local SSDs to use
|
1823
|
-
#
|
1824
|
-
#
|
1825
|
-
|
1826
|
-
|
2717
|
+
# Number of local SSDs to use for GKE Data Cache.
|
2718
|
+
# Corresponds to the JSON property `dataCacheCount`
|
2719
|
+
# @return [Fixnum]
|
2720
|
+
attr_accessor :data_cache_count
|
2721
|
+
|
2722
|
+
# Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces. A
|
2723
|
+
# zero (or unset) value has different meanings depending on machine type being
|
2724
|
+
# used: 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
|
2725
|
+
# zero (or unset) means to disable using local SSDs as ephemeral storage. The
|
2726
|
+
# limit for this value is dependent upon the maximum number of disk available on
|
2727
|
+
# a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd
|
2728
|
+
# for more information. 2. For Gen3 machines which dictate a specific number of
|
2729
|
+
# local ssds, zero (or unset) means to use the default number of local ssds that
|
2730
|
+
# goes with that machine type. For example, for a c3-standard-8-lssd machine, 2
|
2731
|
+
# local ssds would be provisioned. For c3-standard-8 (which doesn't support
|
2732
|
+
# local ssds), 0 will be provisioned. See https://cloud.google.com/compute/docs/
|
2733
|
+
# disks/local-ssd#choose_number_local_ssds for more info.
|
1827
2734
|
# Corresponds to the JSON property `localSsdCount`
|
1828
2735
|
# @return [Fixnum]
|
1829
2736
|
attr_accessor :local_ssd_count
|
@@ -1834,6 +2741,7 @@ module Google
|
|
1834
2741
|
|
1835
2742
|
# Update properties of this object
|
1836
2743
|
def update!(**args)
|
2744
|
+
@data_cache_count = args[:data_cache_count] if args.key?(:data_cache_count)
|
1837
2745
|
@local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count)
|
1838
2746
|
end
|
1839
2747
|
end
|
@@ -1880,6 +2788,83 @@ module Google
|
|
1880
2788
|
end
|
1881
2789
|
end
|
1882
2790
|
|
2791
|
+
# Fleet is the fleet configuration for the cluster.
|
2792
|
+
class Fleet
|
2793
|
+
include Google::Apis::Core::Hashable
|
2794
|
+
|
2795
|
+
# Output only. The full resource name of the registered fleet membership of the
|
2796
|
+
# cluster, in the format `//gkehub.googleapis.com/projects/*/locations/*/
|
2797
|
+
# memberships/*`.
|
2798
|
+
# Corresponds to the JSON property `membership`
|
2799
|
+
# @return [String]
|
2800
|
+
attr_accessor :membership
|
2801
|
+
|
2802
|
+
# Output only. Whether the cluster has been registered through the fleet API.
|
2803
|
+
# Corresponds to the JSON property `preRegistered`
|
2804
|
+
# @return [Boolean]
|
2805
|
+
attr_accessor :pre_registered
|
2806
|
+
alias_method :pre_registered?, :pre_registered
|
2807
|
+
|
2808
|
+
# The Fleet host project(project ID or project number) where this cluster will
|
2809
|
+
# be registered to. This field cannot be changed after the cluster has been
|
2810
|
+
# registered.
|
2811
|
+
# Corresponds to the JSON property `project`
|
2812
|
+
# @return [String]
|
2813
|
+
attr_accessor :project
|
2814
|
+
|
2815
|
+
def initialize(**args)
|
2816
|
+
update!(**args)
|
2817
|
+
end
|
2818
|
+
|
2819
|
+
# Update properties of this object
|
2820
|
+
def update!(**args)
|
2821
|
+
@membership = args[:membership] if args.key?(:membership)
|
2822
|
+
@pre_registered = args[:pre_registered] if args.key?(:pre_registered)
|
2823
|
+
@project = args[:project] if args.key?(:project)
|
2824
|
+
end
|
2825
|
+
end
|
2826
|
+
|
2827
|
+
# GCPSecretManagerCertificateConfig configures a secret from [Google Secret
|
2828
|
+
# Manager](https://cloud.google.com/secret-manager).
|
2829
|
+
class GcpSecretManagerCertificateConfig
|
2830
|
+
include Google::Apis::Core::Hashable
|
2831
|
+
|
2832
|
+
# Secret URI, in the form "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$
|
2833
|
+
# VERSION". Version can be fixed (e.g. "2") or "latest"
|
2834
|
+
# Corresponds to the JSON property `secretUri`
|
2835
|
+
# @return [String]
|
2836
|
+
attr_accessor :secret_uri
|
2837
|
+
|
2838
|
+
def initialize(**args)
|
2839
|
+
update!(**args)
|
2840
|
+
end
|
2841
|
+
|
2842
|
+
# Update properties of this object
|
2843
|
+
def update!(**args)
|
2844
|
+
@secret_uri = args[:secret_uri] if args.key?(:secret_uri)
|
2845
|
+
end
|
2846
|
+
end
|
2847
|
+
|
2848
|
+
# GPUDriverInstallationConfig specifies the version of GPU driver to be auto
|
2849
|
+
# installed.
|
2850
|
+
class GpuDriverInstallationConfig
|
2851
|
+
include Google::Apis::Core::Hashable
|
2852
|
+
|
2853
|
+
# Mode for how the GPU driver is installed.
|
2854
|
+
# Corresponds to the JSON property `gpuDriverVersion`
|
2855
|
+
# @return [String]
|
2856
|
+
attr_accessor :gpu_driver_version
|
2857
|
+
|
2858
|
+
def initialize(**args)
|
2859
|
+
update!(**args)
|
2860
|
+
end
|
2861
|
+
|
2862
|
+
# Update properties of this object
|
2863
|
+
def update!(**args)
|
2864
|
+
@gpu_driver_version = args[:gpu_driver_version] if args.key?(:gpu_driver_version)
|
2865
|
+
end
|
2866
|
+
end
|
2867
|
+
|
1883
2868
|
# GPUSharingConfig represents the GPU sharing configuration for Hardware
|
1884
2869
|
# Accelerators.
|
1885
2870
|
class GpuSharingConfig
|
@@ -1986,7 +2971,27 @@ module Google
|
|
1986
2971
|
end
|
1987
2972
|
end
|
1988
2973
|
|
1989
|
-
#
|
2974
|
+
# Configuration for the Cloud Storage Fuse CSI driver.
|
2975
|
+
class GcsFuseCsiDriverConfig
|
2976
|
+
include Google::Apis::Core::Hashable
|
2977
|
+
|
2978
|
+
# Whether the Cloud Storage Fuse CSI driver is enabled for this cluster.
|
2979
|
+
# Corresponds to the JSON property `enabled`
|
2980
|
+
# @return [Boolean]
|
2981
|
+
attr_accessor :enabled
|
2982
|
+
alias_method :enabled?, :enabled
|
2983
|
+
|
2984
|
+
def initialize(**args)
|
2985
|
+
update!(**args)
|
2986
|
+
end
|
2987
|
+
|
2988
|
+
# Update properties of this object
|
2989
|
+
def update!(**args)
|
2990
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
2991
|
+
end
|
2992
|
+
end
|
2993
|
+
|
2994
|
+
# GetJSONWebKeysResponse is a valid JSON Web Key Set as specified in rfc 7517
|
1990
2995
|
class GetJsonWebKeysResponse
|
1991
2996
|
include Google::Apis::Core::Hashable
|
1992
2997
|
|
@@ -2169,6 +3174,31 @@ module Google
|
|
2169
3174
|
end
|
2170
3175
|
end
|
2171
3176
|
|
3177
|
+
# Hugepages amount in both 2m and 1g size
|
3178
|
+
class HugepagesConfig
|
3179
|
+
include Google::Apis::Core::Hashable
|
3180
|
+
|
3181
|
+
# Optional. Amount of 1G hugepages
|
3182
|
+
# Corresponds to the JSON property `hugepageSize1g`
|
3183
|
+
# @return [Fixnum]
|
3184
|
+
attr_accessor :hugepage_size1g
|
3185
|
+
|
3186
|
+
# Optional. Amount of 2M hugepages
|
3187
|
+
# Corresponds to the JSON property `hugepageSize2m`
|
3188
|
+
# @return [Fixnum]
|
3189
|
+
attr_accessor :hugepage_size2m
|
3190
|
+
|
3191
|
+
def initialize(**args)
|
3192
|
+
update!(**args)
|
3193
|
+
end
|
3194
|
+
|
3195
|
+
# Update properties of this object
|
3196
|
+
def update!(**args)
|
3197
|
+
@hugepage_size1g = args[:hugepage_size1g] if args.key?(:hugepage_size1g)
|
3198
|
+
@hugepage_size2m = args[:hugepage_size2m] if args.key?(:hugepage_size2m)
|
3199
|
+
end
|
3200
|
+
end
|
3201
|
+
|
2172
3202
|
# ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
|
2173
3203
|
# subsetting on this cluster.
|
2174
3204
|
class IlbSubsettingConfig
|
@@ -2194,6 +3224,12 @@ module Google
|
|
2194
3224
|
class IpAllocationPolicy
|
2195
3225
|
include Google::Apis::Core::Hashable
|
2196
3226
|
|
3227
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
3228
|
+
# ranges supporting the ClusterUpdate message.
|
3229
|
+
# Corresponds to the JSON property `additionalPodRangesConfig`
|
3230
|
+
# @return [Google::Apis::ContainerV1::AdditionalPodRangesConfig]
|
3231
|
+
attr_accessor :additional_pod_ranges_config
|
3232
|
+
|
2197
3233
|
# This field is deprecated, use cluster_ipv4_cidr_block.
|
2198
3234
|
# Corresponds to the JSON property `clusterIpv4Cidr`
|
2199
3235
|
# @return [String]
|
@@ -2226,6 +3262,13 @@ module Google
|
|
2226
3262
|
attr_accessor :create_subnetwork
|
2227
3263
|
alias_method :create_subnetwork?, :create_subnetwork
|
2228
3264
|
|
3265
|
+
# Output only. The utilization of the cluster default IPv4 range for the pod.
|
3266
|
+
# The ratio is Usage/[Total number of IPs in the secondary range], Usage=
|
3267
|
+
# numNodes*numZones*podIPsPerNode.
|
3268
|
+
# Corresponds to the JSON property `defaultPodIpv4RangeUtilization`
|
3269
|
+
# @return [Float]
|
3270
|
+
attr_accessor :default_pod_ipv4_range_utilization
|
3271
|
+
|
2229
3272
|
# The ipv6 access type (internal or external) when create_subnetwork is true
|
2230
3273
|
# Corresponds to the JSON property `ipv6AccessType`
|
2231
3274
|
# @return [String]
|
@@ -2247,6 +3290,11 @@ module Google
|
|
2247
3290
|
# @return [String]
|
2248
3291
|
attr_accessor :node_ipv4_cidr_block
|
2249
3292
|
|
3293
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
3294
|
+
# Corresponds to the JSON property `podCidrOverprovisionConfig`
|
3295
|
+
# @return [Google::Apis::ContainerV1::PodCidrOverprovisionConfig]
|
3296
|
+
attr_accessor :pod_cidr_overprovision_config
|
3297
|
+
|
2250
3298
|
# This field is deprecated, use services_ipv4_cidr_block.
|
2251
3299
|
# Corresponds to the JSON property `servicesIpv4Cidr`
|
2252
3300
|
# @return [String]
|
@@ -2264,6 +3312,11 @@ module Google
|
|
2264
3312
|
# @return [String]
|
2265
3313
|
attr_accessor :services_ipv4_cidr_block
|
2266
3314
|
|
3315
|
+
# Output only. The services IPv6 CIDR block for the cluster.
|
3316
|
+
# Corresponds to the JSON property `servicesIpv6CidrBlock`
|
3317
|
+
# @return [String]
|
3318
|
+
attr_accessor :services_ipv6_cidr_block
|
3319
|
+
|
2267
3320
|
# The name of the secondary range to be used as for the services CIDR block. The
|
2268
3321
|
# secondary range will be used for service ClusterIPs. This must be an existing
|
2269
3322
|
# secondary range associated with the cluster subnetwork. This field is only
|
@@ -2277,6 +3330,11 @@ module Google
|
|
2277
3330
|
# @return [String]
|
2278
3331
|
attr_accessor :stack_type
|
2279
3332
|
|
3333
|
+
# Output only. The subnet's IPv6 CIDR block used by nodes and pods.
|
3334
|
+
# Corresponds to the JSON property `subnetIpv6CidrBlock`
|
3335
|
+
# @return [String]
|
3336
|
+
attr_accessor :subnet_ipv6_cidr_block
|
3337
|
+
|
2280
3338
|
# A custom subnetwork name to be used if `create_subnetwork` is true. If this
|
2281
3339
|
# field is empty, then an automatic name will be chosen for the new subnetwork.
|
2282
3340
|
# Corresponds to the JSON property `subnetworkName`
|
@@ -2290,7 +3348,8 @@ module Google
|
|
2290
3348
|
# specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-
|
2291
3349
|
# Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private
|
2292
3350
|
# networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
|
2293
|
-
# specific range to use.
|
3351
|
+
# specific range to use. This field is deprecated due to the deprecation of 2VM
|
3352
|
+
# TPU. The end of life date for 2VM TPU is 2025-04-25.
|
2294
3353
|
# Corresponds to the JSON property `tpuIpv4CidrBlock`
|
2295
3354
|
# @return [String]
|
2296
3355
|
attr_accessor :tpu_ipv4_cidr_block
|
@@ -2319,17 +3378,22 @@ module Google
|
|
2319
3378
|
|
2320
3379
|
# Update properties of this object
|
2321
3380
|
def update!(**args)
|
3381
|
+
@additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config)
|
2322
3382
|
@cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
|
2323
3383
|
@cluster_ipv4_cidr_block = args[:cluster_ipv4_cidr_block] if args.key?(:cluster_ipv4_cidr_block)
|
2324
3384
|
@cluster_secondary_range_name = args[:cluster_secondary_range_name] if args.key?(:cluster_secondary_range_name)
|
2325
3385
|
@create_subnetwork = args[:create_subnetwork] if args.key?(:create_subnetwork)
|
3386
|
+
@default_pod_ipv4_range_utilization = args[:default_pod_ipv4_range_utilization] if args.key?(:default_pod_ipv4_range_utilization)
|
2326
3387
|
@ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
|
2327
3388
|
@node_ipv4_cidr = args[:node_ipv4_cidr] if args.key?(:node_ipv4_cidr)
|
2328
3389
|
@node_ipv4_cidr_block = args[:node_ipv4_cidr_block] if args.key?(:node_ipv4_cidr_block)
|
3390
|
+
@pod_cidr_overprovision_config = args[:pod_cidr_overprovision_config] if args.key?(:pod_cidr_overprovision_config)
|
2329
3391
|
@services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
|
2330
3392
|
@services_ipv4_cidr_block = args[:services_ipv4_cidr_block] if args.key?(:services_ipv4_cidr_block)
|
3393
|
+
@services_ipv6_cidr_block = args[:services_ipv6_cidr_block] if args.key?(:services_ipv6_cidr_block)
|
2331
3394
|
@services_secondary_range_name = args[:services_secondary_range_name] if args.key?(:services_secondary_range_name)
|
2332
3395
|
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
3396
|
+
@subnet_ipv6_cidr_block = args[:subnet_ipv6_cidr_block] if args.key?(:subnet_ipv6_cidr_block)
|
2333
3397
|
@subnetwork_name = args[:subnetwork_name] if args.key?(:subnetwork_name)
|
2334
3398
|
@tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
|
2335
3399
|
@use_ip_aliases = args[:use_ip_aliases] if args.key?(:use_ip_aliases)
|
@@ -2337,25 +3401,95 @@ module Google
|
|
2337
3401
|
end
|
2338
3402
|
end
|
2339
3403
|
|
2340
|
-
#
|
2341
|
-
|
2342
|
-
class IdentityServiceConfig
|
3404
|
+
# IP endpoints configuration.
|
3405
|
+
class IpEndpointsConfig
|
2343
3406
|
include Google::Apis::Core::Hashable
|
2344
3407
|
|
2345
|
-
#
|
3408
|
+
# Configuration options for the master authorized networks feature. Enabled
|
3409
|
+
# master authorized networks will disallow all external traffic to access
|
3410
|
+
# Kubernetes master through HTTPS except traffic from the given CIDR blocks,
|
3411
|
+
# Google Compute Engine Public IPs and Google Prod IPs.
|
3412
|
+
# Corresponds to the JSON property `authorizedNetworksConfig`
|
3413
|
+
# @return [Google::Apis::ContainerV1::MasterAuthorizedNetworksConfig]
|
3414
|
+
attr_accessor :authorized_networks_config
|
3415
|
+
|
3416
|
+
# Controls whether the control plane allows access through a public IP. It is
|
3417
|
+
# invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this
|
3418
|
+
# field at the same time.
|
3419
|
+
# Corresponds to the JSON property `enablePublicEndpoint`
|
3420
|
+
# @return [Boolean]
|
3421
|
+
attr_accessor :enable_public_endpoint
|
3422
|
+
alias_method :enable_public_endpoint?, :enable_public_endpoint
|
3423
|
+
|
3424
|
+
# Controls whether to allow direct IP access.
|
2346
3425
|
# Corresponds to the JSON property `enabled`
|
2347
3426
|
# @return [Boolean]
|
2348
3427
|
attr_accessor :enabled
|
2349
3428
|
alias_method :enabled?, :enabled
|
2350
3429
|
|
3430
|
+
# Controls whether the control plane's private endpoint is accessible from
|
3431
|
+
# sources in other regions. It is invalid to specify both
|
3432
|
+
# PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.
|
3433
|
+
# Corresponds to the JSON property `globalAccess`
|
3434
|
+
# @return [Boolean]
|
3435
|
+
attr_accessor :global_access
|
3436
|
+
alias_method :global_access?, :global_access
|
3437
|
+
|
3438
|
+
# Output only. The internal IP address of this cluster's control plane. Only
|
3439
|
+
# populated if enabled.
|
3440
|
+
# Corresponds to the JSON property `privateEndpoint`
|
3441
|
+
# @return [String]
|
3442
|
+
attr_accessor :private_endpoint
|
3443
|
+
|
3444
|
+
# Subnet to provision the master's private endpoint during cluster creation.
|
3445
|
+
# Specified in projects/*/regions/*/subnetworks/* format. It is invalid to
|
3446
|
+
# specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at
|
3447
|
+
# the same time.
|
3448
|
+
# Corresponds to the JSON property `privateEndpointSubnetwork`
|
3449
|
+
# @return [String]
|
3450
|
+
attr_accessor :private_endpoint_subnetwork
|
3451
|
+
|
3452
|
+
# Output only. The external IP address of this cluster's control plane. Only
|
3453
|
+
# populated if enabled.
|
3454
|
+
# Corresponds to the JSON property `publicEndpoint`
|
3455
|
+
# @return [String]
|
3456
|
+
attr_accessor :public_endpoint
|
3457
|
+
|
2351
3458
|
def initialize(**args)
|
2352
3459
|
update!(**args)
|
2353
3460
|
end
|
2354
3461
|
|
2355
3462
|
# Update properties of this object
|
2356
3463
|
def update!(**args)
|
3464
|
+
@authorized_networks_config = args[:authorized_networks_config] if args.key?(:authorized_networks_config)
|
3465
|
+
@enable_public_endpoint = args[:enable_public_endpoint] if args.key?(:enable_public_endpoint)
|
2357
3466
|
@enabled = args[:enabled] if args.key?(:enabled)
|
2358
|
-
|
3467
|
+
@global_access = args[:global_access] if args.key?(:global_access)
|
3468
|
+
@private_endpoint = args[:private_endpoint] if args.key?(:private_endpoint)
|
3469
|
+
@private_endpoint_subnetwork = args[:private_endpoint_subnetwork] if args.key?(:private_endpoint_subnetwork)
|
3470
|
+
@public_endpoint = args[:public_endpoint] if args.key?(:public_endpoint)
|
3471
|
+
end
|
3472
|
+
end
|
3473
|
+
|
3474
|
+
# IdentityServiceConfig is configuration for Identity Service which allows
|
3475
|
+
# customers to use external identity providers with the K8S API
|
3476
|
+
class IdentityServiceConfig
|
3477
|
+
include Google::Apis::Core::Hashable
|
3478
|
+
|
3479
|
+
# Whether to enable the Identity Service component
|
3480
|
+
# Corresponds to the JSON property `enabled`
|
3481
|
+
# @return [Boolean]
|
3482
|
+
attr_accessor :enabled
|
3483
|
+
alias_method :enabled?, :enabled
|
3484
|
+
|
3485
|
+
def initialize(**args)
|
3486
|
+
update!(**args)
|
3487
|
+
end
|
3488
|
+
|
3489
|
+
# Update properties of this object
|
3490
|
+
def update!(**args)
|
3491
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
3492
|
+
end
|
2359
3493
|
end
|
2360
3494
|
|
2361
3495
|
# IntraNodeVisibilityConfig contains the desired config of the intra-node
|
@@ -2446,6 +3580,25 @@ module Google
|
|
2446
3580
|
end
|
2447
3581
|
end
|
2448
3582
|
|
3583
|
+
# K8sBetaAPIConfig , configuration for beta APIs
|
3584
|
+
class K8sBetaApiConfig
|
3585
|
+
include Google::Apis::Core::Hashable
|
3586
|
+
|
3587
|
+
# Enabled k8s beta APIs.
|
3588
|
+
# Corresponds to the JSON property `enabledApis`
|
3589
|
+
# @return [Array<String>]
|
3590
|
+
attr_accessor :enabled_apis
|
3591
|
+
|
3592
|
+
def initialize(**args)
|
3593
|
+
update!(**args)
|
3594
|
+
end
|
3595
|
+
|
3596
|
+
# Update properties of this object
|
3597
|
+
def update!(**args)
|
3598
|
+
@enabled_apis = args[:enabled_apis] if args.key?(:enabled_apis)
|
3599
|
+
end
|
3600
|
+
end
|
3601
|
+
|
2449
3602
|
# Configuration for the Kubernetes Dashboard.
|
2450
3603
|
class KubernetesDashboard
|
2451
3604
|
include Google::Apis::Core::Hashable
|
@@ -2498,11 +3651,21 @@ module Google
|
|
2498
3651
|
# @return [String]
|
2499
3652
|
attr_accessor :cgroup_mode
|
2500
3653
|
|
3654
|
+
# Hugepages amount in both 2m and 1g size
|
3655
|
+
# Corresponds to the JSON property `hugepages`
|
3656
|
+
# @return [Google::Apis::ContainerV1::HugepagesConfig]
|
3657
|
+
attr_accessor :hugepages
|
3658
|
+
|
2501
3659
|
# The Linux kernel parameters to be applied to the nodes and all pods running on
|
2502
3660
|
# the nodes. The following parameters are supported. net.core.busy_poll net.core.
|
2503
|
-
# busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.
|
2504
|
-
# net.core.
|
2505
|
-
# ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
|
3661
|
+
# busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default
|
3662
|
+
# net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn
|
3663
|
+
# net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.netfilter.
|
3664
|
+
# nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.
|
3665
|
+
# nf_conntrack_tcp_timeout_close_wait net.netfilter.
|
3666
|
+
# nf_conntrack_tcp_timeout_time_wait net.netfilter.
|
3667
|
+
# nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.
|
3668
|
+
# shmmni kernel.shmmax kernel.shmall vm.max_map_count
|
2506
3669
|
# Corresponds to the JSON property `sysctls`
|
2507
3670
|
# @return [Hash<String,String>]
|
2508
3671
|
attr_accessor :sysctls
|
@@ -2514,6 +3677,7 @@ module Google
|
|
2514
3677
|
# Update properties of this object
|
2515
3678
|
def update!(**args)
|
2516
3679
|
@cgroup_mode = args[:cgroup_mode] if args.key?(:cgroup_mode)
|
3680
|
+
@hugepages = args[:hugepages] if args.key?(:hugepages)
|
2517
3681
|
@sysctls = args[:sysctls] if args.key?(:sysctls)
|
2518
3682
|
end
|
2519
3683
|
end
|
@@ -2618,15 +3782,22 @@ module Google
|
|
2618
3782
|
end
|
2619
3783
|
|
2620
3784
|
# LocalNvmeSsdBlockConfig contains configuration for using raw-block local NVMe
|
2621
|
-
#
|
3785
|
+
# SSDs
|
2622
3786
|
class LocalNvmeSsdBlockConfig
|
2623
3787
|
include Google::Apis::Core::Hashable
|
2624
3788
|
|
2625
|
-
#
|
2626
|
-
#
|
2627
|
-
# disks
|
2628
|
-
#
|
2629
|
-
#
|
3789
|
+
# Number of local NVMe SSDs to use. The limit for this value is dependent upon
|
3790
|
+
# the maximum number of disk available on a machine per zone. See: https://cloud.
|
3791
|
+
# google.com/compute/docs/disks/local-ssd for more information. A zero (or unset)
|
3792
|
+
# value has different meanings depending on machine type being used: 1. For pre-
|
3793
|
+
# Gen3 machines, which support flexible numbers of local ssds, zero (or unset)
|
3794
|
+
# means to disable using local SSDs as ephemeral storage. 2. For Gen3 machines
|
3795
|
+
# which dictate a specific number of local ssds, zero (or unset) means to use
|
3796
|
+
# the default number of local ssds that goes with that machine type. For example,
|
3797
|
+
# for a c3-standard-8-lssd machine, 2 local ssds would be provisioned. For c3-
|
3798
|
+
# standard-8 (which doesn't support local ssds), 0 will be provisioned. See
|
3799
|
+
# https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
|
3800
|
+
# for more info.
|
2630
3801
|
# Corresponds to the JSON property `localSsdCount`
|
2631
3802
|
# @return [Fixnum]
|
2632
3803
|
attr_accessor :local_ssd_count
|
@@ -2783,6 +3954,12 @@ module Google
|
|
2783
3954
|
class ManagedPrometheusConfig
|
2784
3955
|
include Google::Apis::Core::Hashable
|
2785
3956
|
|
3957
|
+
# AutoMonitoringConfig defines the configuration for GKE Workload Auto-
|
3958
|
+
# Monitoring.
|
3959
|
+
# Corresponds to the JSON property `autoMonitoringConfig`
|
3960
|
+
# @return [Google::Apis::ContainerV1::AutoMonitoringConfig]
|
3961
|
+
attr_accessor :auto_monitoring_config
|
3962
|
+
|
2786
3963
|
# Enable Managed Collection.
|
2787
3964
|
# Corresponds to the JSON property `enabled`
|
2788
3965
|
# @return [Boolean]
|
@@ -2795,6 +3972,7 @@ module Google
|
|
2795
3972
|
|
2796
3973
|
# Update properties of this object
|
2797
3974
|
def update!(**args)
|
3975
|
+
@auto_monitoring_config = args[:auto_monitoring_config] if args.key?(:auto_monitoring_config)
|
2798
3976
|
@enabled = args[:enabled] if args.key?(:enabled)
|
2799
3977
|
end
|
2800
3978
|
end
|
@@ -2804,8 +3982,8 @@ module Google
|
|
2804
3982
|
class MasterAuth
|
2805
3983
|
include Google::Apis::Core::Hashable
|
2806
3984
|
|
2807
|
-
#
|
2808
|
-
#
|
3985
|
+
# Output only. Base64-encoded public certificate used by clients to authenticate
|
3986
|
+
# to the cluster endpoint. Issued only if client_certificate_config is set.
|
2809
3987
|
# Corresponds to the JSON property `clientCertificate`
|
2810
3988
|
# @return [String]
|
2811
3989
|
attr_accessor :client_certificate
|
@@ -2815,13 +3993,13 @@ module Google
|
|
2815
3993
|
# @return [Google::Apis::ContainerV1::ClientCertificateConfig]
|
2816
3994
|
attr_accessor :client_certificate_config
|
2817
3995
|
|
2818
|
-
#
|
2819
|
-
#
|
3996
|
+
# Output only. Base64-encoded private key used by clients to authenticate to the
|
3997
|
+
# cluster endpoint.
|
2820
3998
|
# Corresponds to the JSON property `clientKey`
|
2821
3999
|
# @return [String]
|
2822
4000
|
attr_accessor :client_key
|
2823
4001
|
|
2824
|
-
#
|
4002
|
+
# Output only. Base64-encoded public certificate that is the root of trust for
|
2825
4003
|
# the cluster.
|
2826
4004
|
# Corresponds to the JSON property `clusterCaCertificate`
|
2827
4005
|
# @return [String]
|
@@ -2883,12 +4061,18 @@ module Google
|
|
2883
4061
|
attr_accessor :enabled
|
2884
4062
|
alias_method :enabled?, :enabled
|
2885
4063
|
|
2886
|
-
# Whether master is
|
4064
|
+
# Whether master is accessible via Google Compute Engine Public IP addresses.
|
2887
4065
|
# Corresponds to the JSON property `gcpPublicCidrsAccessEnabled`
|
2888
4066
|
# @return [Boolean]
|
2889
4067
|
attr_accessor :gcp_public_cidrs_access_enabled
|
2890
4068
|
alias_method :gcp_public_cidrs_access_enabled?, :gcp_public_cidrs_access_enabled
|
2891
4069
|
|
4070
|
+
# Whether master authorized networks is enforced on private endpoint or not.
|
4071
|
+
# Corresponds to the JSON property `privateEndpointEnforcementEnabled`
|
4072
|
+
# @return [Boolean]
|
4073
|
+
attr_accessor :private_endpoint_enforcement_enabled
|
4074
|
+
alias_method :private_endpoint_enforcement_enabled?, :private_endpoint_enforcement_enabled
|
4075
|
+
|
2892
4076
|
def initialize(**args)
|
2893
4077
|
update!(**args)
|
2894
4078
|
end
|
@@ -2898,6 +4082,7 @@ module Google
|
|
2898
4082
|
@cidr_blocks = args[:cidr_blocks] if args.key?(:cidr_blocks)
|
2899
4083
|
@enabled = args[:enabled] if args.key?(:enabled)
|
2900
4084
|
@gcp_public_cidrs_access_enabled = args[:gcp_public_cidrs_access_enabled] if args.key?(:gcp_public_cidrs_access_enabled)
|
4085
|
+
@private_endpoint_enforcement_enabled = args[:private_endpoint_enforcement_enabled] if args.key?(:private_endpoint_enforcement_enabled)
|
2901
4086
|
end
|
2902
4087
|
end
|
2903
4088
|
|
@@ -2920,6 +4105,29 @@ module Google
|
|
2920
4105
|
end
|
2921
4106
|
end
|
2922
4107
|
|
4108
|
+
# The option enables the Kubernetes NUMA-aware Memory Manager feature. Detailed
|
4109
|
+
# description about the feature can be found [here](https://kubernetes.io/docs/
|
4110
|
+
# tasks/administer-cluster/memory-manager/).
|
4111
|
+
class MemoryManager
|
4112
|
+
include Google::Apis::Core::Hashable
|
4113
|
+
|
4114
|
+
# Controls the memory management policy on the Node. See https://kubernetes.io/
|
4115
|
+
# docs/tasks/administer-cluster/memory-manager/#policies The following values
|
4116
|
+
# are allowed. * "none" * "static" The default value is 'none' if unspecified.
|
4117
|
+
# Corresponds to the JSON property `policy`
|
4118
|
+
# @return [String]
|
4119
|
+
attr_accessor :policy
|
4120
|
+
|
4121
|
+
def initialize(**args)
|
4122
|
+
update!(**args)
|
4123
|
+
end
|
4124
|
+
|
4125
|
+
# Update properties of this object
|
4126
|
+
def update!(**args)
|
4127
|
+
@policy = args[:policy] if args.key?(:policy)
|
4128
|
+
end
|
4129
|
+
end
|
4130
|
+
|
2923
4131
|
# Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
|
2924
4132
|
class MeshCertificates
|
2925
4133
|
include Google::Apis::Core::Hashable
|
@@ -3005,6 +4213,12 @@ module Google
|
|
3005
4213
|
class MonitoringConfig
|
3006
4214
|
include Google::Apis::Core::Hashable
|
3007
4215
|
|
4216
|
+
# AdvancedDatapathObservabilityConfig specifies configuration of observability
|
4217
|
+
# features of advanced datapath.
|
4218
|
+
# Corresponds to the JSON property `advancedDatapathObservabilityConfig`
|
4219
|
+
# @return [Google::Apis::ContainerV1::AdvancedDatapathObservabilityConfig]
|
4220
|
+
attr_accessor :advanced_datapath_observability_config
|
4221
|
+
|
3008
4222
|
# MonitoringComponentConfig is cluster monitoring component configuration.
|
3009
4223
|
# Corresponds to the JSON property `componentConfig`
|
3010
4224
|
# @return [Google::Apis::ContainerV1::MonitoringComponentConfig]
|
@@ -3022,6 +4236,7 @@ module Google
|
|
3022
4236
|
|
3023
4237
|
# Update properties of this object
|
3024
4238
|
def update!(**args)
|
4239
|
+
@advanced_datapath_observability_config = args[:advanced_datapath_observability_config] if args.key?(:advanced_datapath_observability_config)
|
3025
4240
|
@component_config = args[:component_config] if args.key?(:component_config)
|
3026
4241
|
@managed_prometheus_config = args[:managed_prometheus_config] if args.key?(:managed_prometheus_config)
|
3027
4242
|
end
|
@@ -3037,17 +4252,44 @@ module Google
|
|
3037
4252
|
# @return [String]
|
3038
4253
|
attr_accessor :datapath_provider
|
3039
4254
|
|
4255
|
+
# Controls whether by default nodes have private IP addresses only. It is
|
4256
|
+
# invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field
|
4257
|
+
# at the same time. To update the default setting, use ClusterUpdate.
|
4258
|
+
# desired_default_enable_private_nodes
|
4259
|
+
# Corresponds to the JSON property `defaultEnablePrivateNodes`
|
4260
|
+
# @return [Boolean]
|
4261
|
+
attr_accessor :default_enable_private_nodes
|
4262
|
+
alias_method :default_enable_private_nodes?, :default_enable_private_nodes
|
4263
|
+
|
3040
4264
|
# DefaultSnatStatus contains the desired state of whether default sNAT should be
|
3041
4265
|
# disabled on the cluster.
|
3042
4266
|
# Corresponds to the JSON property `defaultSnatStatus`
|
3043
4267
|
# @return [Google::Apis::ContainerV1::DefaultSnatStatus]
|
3044
4268
|
attr_accessor :default_snat_status
|
3045
4269
|
|
4270
|
+
# Disable L4 load balancer VPC firewalls to enable firewall policies.
|
4271
|
+
# Corresponds to the JSON property `disableL4LbFirewallReconciliation`
|
4272
|
+
# @return [Boolean]
|
4273
|
+
attr_accessor :disable_l4_lb_firewall_reconciliation
|
4274
|
+
alias_method :disable_l4_lb_firewall_reconciliation?, :disable_l4_lb_firewall_reconciliation
|
4275
|
+
|
3046
4276
|
# DNSConfig contains the desired set of options for configuring clusterDNS.
|
3047
4277
|
# Corresponds to the JSON property `dnsConfig`
|
3048
4278
|
# @return [Google::Apis::ContainerV1::DnsConfig]
|
3049
4279
|
attr_accessor :dns_config
|
3050
4280
|
|
4281
|
+
# Whether CiliumClusterwideNetworkPolicy is enabled on this cluster.
|
4282
|
+
# Corresponds to the JSON property `enableCiliumClusterwideNetworkPolicy`
|
4283
|
+
# @return [Boolean]
|
4284
|
+
attr_accessor :enable_cilium_clusterwide_network_policy
|
4285
|
+
alias_method :enable_cilium_clusterwide_network_policy?, :enable_cilium_clusterwide_network_policy
|
4286
|
+
|
4287
|
+
# Whether FQDN Network Policy is enabled on this cluster.
|
4288
|
+
# Corresponds to the JSON property `enableFqdnNetworkPolicy`
|
4289
|
+
# @return [Boolean]
|
4290
|
+
attr_accessor :enable_fqdn_network_policy
|
4291
|
+
alias_method :enable_fqdn_network_policy?, :enable_fqdn_network_policy
|
4292
|
+
|
3051
4293
|
# Whether Intra-node visibility is enabled for this cluster. This makes same
|
3052
4294
|
# node pod to pod traffic visible for VPC network.
|
3053
4295
|
# Corresponds to the JSON property `enableIntraNodeVisibility`
|
@@ -3061,18 +4303,35 @@ module Google
|
|
3061
4303
|
attr_accessor :enable_l4ilb_subsetting
|
3062
4304
|
alias_method :enable_l4ilb_subsetting?, :enable_l4ilb_subsetting
|
3063
4305
|
|
4306
|
+
# Whether multi-networking is enabled for this cluster.
|
4307
|
+
# Corresponds to the JSON property `enableMultiNetworking`
|
4308
|
+
# @return [Boolean]
|
4309
|
+
attr_accessor :enable_multi_networking
|
4310
|
+
alias_method :enable_multi_networking?, :enable_multi_networking
|
4311
|
+
|
3064
4312
|
# GatewayAPIConfig contains the desired config of Gateway API on this cluster.
|
3065
4313
|
# Corresponds to the JSON property `gatewayApiConfig`
|
3066
4314
|
# @return [Google::Apis::ContainerV1::GatewayApiConfig]
|
3067
4315
|
attr_accessor :gateway_api_config
|
3068
4316
|
|
3069
|
-
#
|
4317
|
+
# Specify the details of in-transit encryption. Now named inter-node transparent
|
4318
|
+
# encryption.
|
4319
|
+
# Corresponds to the JSON property `inTransitEncryptionConfig`
|
4320
|
+
# @return [String]
|
4321
|
+
attr_accessor :in_transit_encryption_config
|
4322
|
+
|
4323
|
+
# Output only. The relative name of the Google Compute Engine [network](https://
|
3070
4324
|
# cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the
|
3071
4325
|
# cluster is connected. Example: projects/my-project/global/networks/my-network
|
3072
4326
|
# Corresponds to the JSON property `network`
|
3073
4327
|
# @return [String]
|
3074
4328
|
attr_accessor :network
|
3075
4329
|
|
4330
|
+
# Configuration of network bandwidth tiers
|
4331
|
+
# Corresponds to the JSON property `networkPerformanceConfig`
|
4332
|
+
# @return [Google::Apis::ContainerV1::ClusterNetworkPerformanceConfig]
|
4333
|
+
attr_accessor :network_performance_config
|
4334
|
+
|
3076
4335
|
# The desired state of IPv6 connectivity to Google Services. By default, no
|
3077
4336
|
# private IPv6 access to or from Google Services (all access will be via IPv4)
|
3078
4337
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
@@ -3098,12 +4357,19 @@ module Google
|
|
3098
4357
|
# Update properties of this object
|
3099
4358
|
def update!(**args)
|
3100
4359
|
@datapath_provider = args[:datapath_provider] if args.key?(:datapath_provider)
|
4360
|
+
@default_enable_private_nodes = args[:default_enable_private_nodes] if args.key?(:default_enable_private_nodes)
|
3101
4361
|
@default_snat_status = args[:default_snat_status] if args.key?(:default_snat_status)
|
4362
|
+
@disable_l4_lb_firewall_reconciliation = args[:disable_l4_lb_firewall_reconciliation] if args.key?(:disable_l4_lb_firewall_reconciliation)
|
3102
4363
|
@dns_config = args[:dns_config] if args.key?(:dns_config)
|
4364
|
+
@enable_cilium_clusterwide_network_policy = args[:enable_cilium_clusterwide_network_policy] if args.key?(:enable_cilium_clusterwide_network_policy)
|
4365
|
+
@enable_fqdn_network_policy = args[:enable_fqdn_network_policy] if args.key?(:enable_fqdn_network_policy)
|
3103
4366
|
@enable_intra_node_visibility = args[:enable_intra_node_visibility] if args.key?(:enable_intra_node_visibility)
|
3104
4367
|
@enable_l4ilb_subsetting = args[:enable_l4ilb_subsetting] if args.key?(:enable_l4ilb_subsetting)
|
4368
|
+
@enable_multi_networking = args[:enable_multi_networking] if args.key?(:enable_multi_networking)
|
3105
4369
|
@gateway_api_config = args[:gateway_api_config] if args.key?(:gateway_api_config)
|
4370
|
+
@in_transit_encryption_config = args[:in_transit_encryption_config] if args.key?(:in_transit_encryption_config)
|
3106
4371
|
@network = args[:network] if args.key?(:network)
|
4372
|
+
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
3107
4373
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
3108
4374
|
@service_external_ips_config = args[:service_external_ips_config] if args.key?(:service_external_ips_config)
|
3109
4375
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
@@ -3198,6 +4464,39 @@ module Google
|
|
3198
4464
|
end
|
3199
4465
|
end
|
3200
4466
|
|
4467
|
+
# Specifies the NodeAffinity key, values, and affinity operator according to [
|
4468
|
+
# shared sole tenant node group affinities](https://cloud.google.com/compute/
|
4469
|
+
# docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity).
|
4470
|
+
class NodeAffinity
|
4471
|
+
include Google::Apis::Core::Hashable
|
4472
|
+
|
4473
|
+
# Key for NodeAffinity.
|
4474
|
+
# Corresponds to the JSON property `key`
|
4475
|
+
# @return [String]
|
4476
|
+
attr_accessor :key
|
4477
|
+
|
4478
|
+
# Operator for NodeAffinity.
|
4479
|
+
# Corresponds to the JSON property `operator`
|
4480
|
+
# @return [String]
|
4481
|
+
attr_accessor :operator
|
4482
|
+
|
4483
|
+
# Values for NodeAffinity.
|
4484
|
+
# Corresponds to the JSON property `values`
|
4485
|
+
# @return [Array<String>]
|
4486
|
+
attr_accessor :values
|
4487
|
+
|
4488
|
+
def initialize(**args)
|
4489
|
+
update!(**args)
|
4490
|
+
end
|
4491
|
+
|
4492
|
+
# Update properties of this object
|
4493
|
+
def update!(**args)
|
4494
|
+
@key = args[:key] if args.key?(:key)
|
4495
|
+
@operator = args[:operator] if args.key?(:operator)
|
4496
|
+
@values = args[:values] if args.key?(:values)
|
4497
|
+
end
|
4498
|
+
end
|
4499
|
+
|
3201
4500
|
# Parameters that describe the nodes in a cluster. GKE Autopilot clusters do not
|
3202
4501
|
# recognize parameters in `NodeConfig`. Use AutoprovisioningNodePoolDefaults
|
3203
4502
|
# instead.
|
@@ -3230,6 +4529,11 @@ module Google
|
|
3230
4529
|
# @return [Google::Apis::ContainerV1::ConfidentialNodes]
|
3231
4530
|
attr_accessor :confidential_nodes
|
3232
4531
|
|
4532
|
+
# ContainerdConfig contains configuration to customize containerd.
|
4533
|
+
# Corresponds to the JSON property `containerdConfig`
|
4534
|
+
# @return [Google::Apis::ContainerV1::ContainerdConfig]
|
4535
|
+
attr_accessor :containerd_config
|
4536
|
+
|
3233
4537
|
# Size of the disk attached to each node, specified in GB. The smallest allowed
|
3234
4538
|
# disk size is 10GB. If unspecified, the default disk size is 100GB.
|
3235
4539
|
# Corresponds to the JSON property `diskSizeGb`
|
@@ -3242,8 +4546,22 @@ module Google
|
|
3242
4546
|
# @return [String]
|
3243
4547
|
attr_accessor :disk_type
|
3244
4548
|
|
4549
|
+
# Output only. effective_cgroup_mode is the cgroup mode actually used by the
|
4550
|
+
# node pool. It is determined by the cgroup mode specified in the
|
4551
|
+
# LinuxNodeConfig or the default cgroup mode based on the cluster creation
|
4552
|
+
# version.
|
4553
|
+
# Corresponds to the JSON property `effectiveCgroupMode`
|
4554
|
+
# @return [String]
|
4555
|
+
attr_accessor :effective_cgroup_mode
|
4556
|
+
|
4557
|
+
# Optional. Reserved for future use.
|
4558
|
+
# Corresponds to the JSON property `enableConfidentialStorage`
|
4559
|
+
# @return [Boolean]
|
4560
|
+
attr_accessor :enable_confidential_storage
|
4561
|
+
alias_method :enable_confidential_storage?, :enable_confidential_storage
|
4562
|
+
|
3245
4563
|
# EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
|
3246
|
-
# storage using Local
|
4564
|
+
# storage using Local SSDs.
|
3247
4565
|
# Corresponds to the JSON property `ephemeralStorageLocalSsdConfig`
|
3248
4566
|
# @return [Google::Apis::ContainerV1::EphemeralStorageLocalSsdConfig]
|
3249
4567
|
attr_accessor :ephemeral_storage_local_ssd_config
|
@@ -3253,6 +4571,12 @@ module Google
|
|
3253
4571
|
# @return [Google::Apis::ContainerV1::FastSocket]
|
3254
4572
|
attr_accessor :fast_socket
|
3255
4573
|
|
4574
|
+
# Flex Start flag for enabling Flex Start VM.
|
4575
|
+
# Corresponds to the JSON property `flexStart`
|
4576
|
+
# @return [Boolean]
|
4577
|
+
attr_accessor :flex_start
|
4578
|
+
alias_method :flex_start?, :flex_start
|
4579
|
+
|
3256
4580
|
# GcfsConfig contains configurations of Google Container File System (image
|
3257
4581
|
# streaming).
|
3258
4582
|
# Corresponds to the JSON property `gcfsConfig`
|
@@ -3265,7 +4589,8 @@ module Google
|
|
3265
4589
|
attr_accessor :gvnic
|
3266
4590
|
|
3267
4591
|
# The image type to use for this node. Note that for a given image type, the
|
3268
|
-
# latest version of it will be used.
|
4592
|
+
# latest version of it will be used. Please see https://cloud.google.com/
|
4593
|
+
# kubernetes-engine/docs/concepts/node-images for available image types.
|
3269
4594
|
# Corresponds to the JSON property `imageType`
|
3270
4595
|
# @return [String]
|
3271
4596
|
attr_accessor :image_type
|
@@ -3292,7 +4617,7 @@ module Google
|
|
3292
4617
|
attr_accessor :linux_node_config
|
3293
4618
|
|
3294
4619
|
# LocalNvmeSsdBlockConfig contains configuration for using raw-block local NVMe
|
3295
|
-
#
|
4620
|
+
# SSDs
|
3296
4621
|
# Corresponds to the JSON property `localNvmeSsdBlockConfig`
|
3297
4622
|
# @return [Google::Apis::ContainerV1::LocalNvmeSsdBlockConfig]
|
3298
4623
|
attr_accessor :local_nvme_ssd_block_config
|
@@ -3305,6 +4630,12 @@ module Google
|
|
3305
4630
|
# @return [Fixnum]
|
3306
4631
|
attr_accessor :local_ssd_count
|
3307
4632
|
|
4633
|
+
# Specifies which method should be used for encrypting the Local SSDs attached
|
4634
|
+
# to the node.
|
4635
|
+
# Corresponds to the JSON property `localSsdEncryptionMode`
|
4636
|
+
# @return [String]
|
4637
|
+
attr_accessor :local_ssd_encryption_mode
|
4638
|
+
|
3308
4639
|
# NodePoolLoggingConfig specifies logging configuration for nodepools.
|
3309
4640
|
# Corresponds to the JSON property `loggingConfig`
|
3310
4641
|
# @return [Google::Apis::ContainerV1::NodePoolLoggingConfig]
|
@@ -3317,6 +4648,12 @@ module Google
|
|
3317
4648
|
# @return [String]
|
3318
4649
|
attr_accessor :machine_type
|
3319
4650
|
|
4651
|
+
# The maximum duration for the nodes to exist. If unspecified, the nodes can
|
4652
|
+
# exist indefinitely.
|
4653
|
+
# Corresponds to the JSON property `maxRunDuration`
|
4654
|
+
# @return [String]
|
4655
|
+
attr_accessor :max_run_duration
|
4656
|
+
|
3320
4657
|
# The metadata key/value pairs assigned to instances in the cluster. Keys must
|
3321
4658
|
# conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length.
|
3322
4659
|
# These are reflected as part of a URL in the metadata server. Additionally, to
|
@@ -3386,11 +4723,31 @@ module Google
|
|
3386
4723
|
# @return [Hash<String,String>]
|
3387
4724
|
attr_accessor :resource_labels
|
3388
4725
|
|
4726
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
4727
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
4728
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
4729
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
4730
|
+
# specified. Existing tags will be replaced with new values.
|
4731
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
4732
|
+
# @return [Google::Apis::ContainerV1::ResourceManagerTags]
|
4733
|
+
attr_accessor :resource_manager_tags
|
4734
|
+
|
3389
4735
|
# SandboxConfig contains configurations of the sandbox to use for the node.
|
3390
4736
|
# Corresponds to the JSON property `sandboxConfig`
|
3391
4737
|
# @return [Google::Apis::ContainerV1::SandboxConfig]
|
3392
4738
|
attr_accessor :sandbox_config
|
3393
4739
|
|
4740
|
+
# SecondaryBootDiskUpdateStrategy is a placeholder which will be extended in the
|
4741
|
+
# future to define different options for updating secondary boot disks.
|
4742
|
+
# Corresponds to the JSON property `secondaryBootDiskUpdateStrategy`
|
4743
|
+
# @return [Google::Apis::ContainerV1::SecondaryBootDiskUpdateStrategy]
|
4744
|
+
attr_accessor :secondary_boot_disk_update_strategy
|
4745
|
+
|
4746
|
+
# List of secondary boot disks attached to the nodes.
|
4747
|
+
# Corresponds to the JSON property `secondaryBootDisks`
|
4748
|
+
# @return [Array<Google::Apis::ContainerV1::SecondaryBootDisk>]
|
4749
|
+
attr_accessor :secondary_boot_disks
|
4750
|
+
|
3394
4751
|
# The Google Cloud Platform Service Account to be used by the node VMs. Specify
|
3395
4752
|
# the email address of the Service Account; otherwise, if no Service Account is
|
3396
4753
|
# specified, the "default" service account is used.
|
@@ -3403,6 +4760,12 @@ module Google
|
|
3403
4760
|
# @return [Google::Apis::ContainerV1::ShieldedInstanceConfig]
|
3404
4761
|
attr_accessor :shielded_instance_config
|
3405
4762
|
|
4763
|
+
# SoleTenantConfig contains the NodeAffinities to specify what shared sole
|
4764
|
+
# tenant node groups should back the node pool.
|
4765
|
+
# Corresponds to the JSON property `soleTenantConfig`
|
4766
|
+
# @return [Google::Apis::ContainerV1::SoleTenantConfig]
|
4767
|
+
attr_accessor :sole_tenant_config
|
4768
|
+
|
3406
4769
|
# Spot flag for enabling Spot VM, which is a rebrand of the existing preemptible
|
3407
4770
|
# flag.
|
3408
4771
|
# Corresponds to the JSON property `spot`
|
@@ -3410,6 +4773,11 @@ module Google
|
|
3410
4773
|
attr_accessor :spot
|
3411
4774
|
alias_method :spot?, :spot
|
3412
4775
|
|
4776
|
+
# List of Storage Pools where boot disks are provisioned.
|
4777
|
+
# Corresponds to the JSON property `storagePools`
|
4778
|
+
# @return [Array<String>]
|
4779
|
+
attr_accessor :storage_pools
|
4780
|
+
|
3413
4781
|
# The list of instance tags applied to all nodes. Tags are used to identify
|
3414
4782
|
# valid sources or targets for network firewalls and are specified by the client
|
3415
4783
|
# during cluster or node pool creation. Each tag within the list must comply
|
@@ -3427,7 +4795,7 @@ module Google
|
|
3427
4795
|
|
3428
4796
|
# Parameters that can be configured on Windows nodes. Windows Node Config that
|
3429
4797
|
# define the parameters that will be used to configure the Windows node pool
|
3430
|
-
# settings
|
4798
|
+
# settings.
|
3431
4799
|
# Corresponds to the JSON property `windowsNodeConfig`
|
3432
4800
|
# @return [Google::Apis::ContainerV1::WindowsNodeConfig]
|
3433
4801
|
attr_accessor :windows_node_config
|
@@ -3448,10 +4816,14 @@ module Google
|
|
3448
4816
|
@advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
|
3449
4817
|
@boot_disk_kms_key = args[:boot_disk_kms_key] if args.key?(:boot_disk_kms_key)
|
3450
4818
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
4819
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
3451
4820
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
3452
4821
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
4822
|
+
@effective_cgroup_mode = args[:effective_cgroup_mode] if args.key?(:effective_cgroup_mode)
|
4823
|
+
@enable_confidential_storage = args[:enable_confidential_storage] if args.key?(:enable_confidential_storage)
|
3453
4824
|
@ephemeral_storage_local_ssd_config = args[:ephemeral_storage_local_ssd_config] if args.key?(:ephemeral_storage_local_ssd_config)
|
3454
4825
|
@fast_socket = args[:fast_socket] if args.key?(:fast_socket)
|
4826
|
+
@flex_start = args[:flex_start] if args.key?(:flex_start)
|
3455
4827
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
3456
4828
|
@gvnic = args[:gvnic] if args.key?(:gvnic)
|
3457
4829
|
@image_type = args[:image_type] if args.key?(:image_type)
|
@@ -3460,8 +4832,10 @@ module Google
|
|
3460
4832
|
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
3461
4833
|
@local_nvme_ssd_block_config = args[:local_nvme_ssd_block_config] if args.key?(:local_nvme_ssd_block_config)
|
3462
4834
|
@local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count)
|
4835
|
+
@local_ssd_encryption_mode = args[:local_ssd_encryption_mode] if args.key?(:local_ssd_encryption_mode)
|
3463
4836
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
3464
4837
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
4838
|
+
@max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
|
3465
4839
|
@metadata = args[:metadata] if args.key?(:metadata)
|
3466
4840
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
3467
4841
|
@node_group = args[:node_group] if args.key?(:node_group)
|
@@ -3469,10 +4843,15 @@ module Google
|
|
3469
4843
|
@preemptible = args[:preemptible] if args.key?(:preemptible)
|
3470
4844
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
3471
4845
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
4846
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
3472
4847
|
@sandbox_config = args[:sandbox_config] if args.key?(:sandbox_config)
|
4848
|
+
@secondary_boot_disk_update_strategy = args[:secondary_boot_disk_update_strategy] if args.key?(:secondary_boot_disk_update_strategy)
|
4849
|
+
@secondary_boot_disks = args[:secondary_boot_disks] if args.key?(:secondary_boot_disks)
|
3473
4850
|
@service_account = args[:service_account] if args.key?(:service_account)
|
3474
4851
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
4852
|
+
@sole_tenant_config = args[:sole_tenant_config] if args.key?(:sole_tenant_config)
|
3475
4853
|
@spot = args[:spot] if args.key?(:spot)
|
4854
|
+
@storage_pools = args[:storage_pools] if args.key?(:storage_pools)
|
3476
4855
|
@tags = args[:tags] if args.key?(:tags)
|
3477
4856
|
@taints = args[:taints] if args.key?(:taints)
|
3478
4857
|
@windows_node_config = args[:windows_node_config] if args.key?(:windows_node_config)
|
@@ -3484,6 +4863,11 @@ module Google
|
|
3484
4863
|
class NodeConfigDefaults
|
3485
4864
|
include Google::Apis::Core::Hashable
|
3486
4865
|
|
4866
|
+
# ContainerdConfig contains configuration to customize containerd.
|
4867
|
+
# Corresponds to the JSON property `containerdConfig`
|
4868
|
+
# @return [Google::Apis::ContainerV1::ContainerdConfig]
|
4869
|
+
attr_accessor :containerd_config
|
4870
|
+
|
3487
4871
|
# GcfsConfig contains configurations of Google Container File System (image
|
3488
4872
|
# streaming).
|
3489
4873
|
# Corresponds to the JSON property `gcfsConfig`
|
@@ -3495,14 +4879,21 @@ module Google
|
|
3495
4879
|
# @return [Google::Apis::ContainerV1::NodePoolLoggingConfig]
|
3496
4880
|
attr_accessor :logging_config
|
3497
4881
|
|
4882
|
+
# Node kubelet configs.
|
4883
|
+
# Corresponds to the JSON property `nodeKubeletConfig`
|
4884
|
+
# @return [Google::Apis::ContainerV1::NodeKubeletConfig]
|
4885
|
+
attr_accessor :node_kubelet_config
|
4886
|
+
|
3498
4887
|
def initialize(**args)
|
3499
4888
|
update!(**args)
|
3500
4889
|
end
|
3501
4890
|
|
3502
4891
|
# Update properties of this object
|
3503
4892
|
def update!(**args)
|
4893
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
3504
4894
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
3505
4895
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
4896
|
+
@node_kubelet_config = args[:node_kubelet_config] if args.key?(:node_kubelet_config)
|
3506
4897
|
end
|
3507
4898
|
end
|
3508
4899
|
|
@@ -3510,6 +4901,37 @@ module Google
|
|
3510
4901
|
class NodeKubeletConfig
|
3511
4902
|
include Google::Apis::Core::Hashable
|
3512
4903
|
|
4904
|
+
# Optional. Defines a comma-separated allowlist of unsafe sysctls or sysctl
|
4905
|
+
# patterns (ending in `*`). The unsafe namespaced sysctl groups are `kernel.shm*`
|
4906
|
+
# , `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, and `net.*`. Leaving this
|
4907
|
+
# allowlist empty means they cannot be set on Pods. To allow certain sysctls or
|
4908
|
+
# sysctl patterns to be set on Pods, list them separated by commas. For example:
|
4909
|
+
# `kernel.msg*,net.ipv4.route.min_pmtu`. See https://kubernetes.io/docs/tasks/
|
4910
|
+
# administer-cluster/sysctl-cluster/ for more details.
|
4911
|
+
# Corresponds to the JSON property `allowedUnsafeSysctls`
|
4912
|
+
# @return [Array<String>]
|
4913
|
+
attr_accessor :allowed_unsafe_sysctls
|
4914
|
+
|
4915
|
+
# Optional. Defines the maximum number of container log files that can be
|
4916
|
+
# present for a container. See https://kubernetes.io/docs/concepts/cluster-
|
4917
|
+
# administration/logging/#log-rotation The value must be an integer between 2
|
4918
|
+
# and 10, inclusive. The default value is 5 if unspecified.
|
4919
|
+
# Corresponds to the JSON property `containerLogMaxFiles`
|
4920
|
+
# @return [Fixnum]
|
4921
|
+
attr_accessor :container_log_max_files
|
4922
|
+
|
4923
|
+
# Optional. Defines the maximum size of the container log file before it is
|
4924
|
+
# rotated. See https://kubernetes.io/docs/concepts/cluster-administration/
|
4925
|
+
# logging/#log-rotation Valid format is positive number + unit, e.g. 100Ki, 10Mi.
|
4926
|
+
# Valid units are Ki, Mi, Gi. The value must be between 10Mi and 500Mi,
|
4927
|
+
# inclusive. Note that the total container log size (container_log_max_size *
|
4928
|
+
# container_log_max_files) cannot exceed 1% of the total storage of the node, to
|
4929
|
+
# avoid disk pressure caused by log files. The default value is 10Mi if
|
4930
|
+
# unspecified.
|
4931
|
+
# Corresponds to the JSON property `containerLogMaxSize`
|
4932
|
+
# @return [String]
|
4933
|
+
attr_accessor :container_log_max_size
|
4934
|
+
|
3513
4935
|
# Enable CPU CFS quota enforcement for containers that specify CPU limits. This
|
3514
4936
|
# option is enabled by default which makes kubelet use CFS quota (https://www.
|
3515
4937
|
# kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU
|
@@ -3540,6 +4962,57 @@ module Google
|
|
3540
4962
|
# @return [String]
|
3541
4963
|
attr_accessor :cpu_manager_policy
|
3542
4964
|
|
4965
|
+
# Optional. Defines the percent of disk usage after which image garbage
|
4966
|
+
# collection is always run. The percent is calculated as this field value out of
|
4967
|
+
# 100. The value must be between 10 and 85, inclusive and greater than
|
4968
|
+
# image_gc_low_threshold_percent. The default value is 85 if unspecified.
|
4969
|
+
# Corresponds to the JSON property `imageGcHighThresholdPercent`
|
4970
|
+
# @return [Fixnum]
|
4971
|
+
attr_accessor :image_gc_high_threshold_percent
|
4972
|
+
|
4973
|
+
# Optional. Defines the percent of disk usage before which image garbage
|
4974
|
+
# collection is never run. Lowest disk usage to garbage collect to. The percent
|
4975
|
+
# is calculated as this field value out of 100. The value must be between 10 and
|
4976
|
+
# 85, inclusive and smaller than image_gc_high_threshold_percent. The default
|
4977
|
+
# value is 80 if unspecified.
|
4978
|
+
# Corresponds to the JSON property `imageGcLowThresholdPercent`
|
4979
|
+
# @return [Fixnum]
|
4980
|
+
attr_accessor :image_gc_low_threshold_percent
|
4981
|
+
|
4982
|
+
# Optional. Defines the maximum age an image can be unused before it is garbage
|
4983
|
+
# collected. The string must be a sequence of decimal numbers, each with
|
4984
|
+
# optional fraction and a unit suffix, such as "300s", "1.5h", and "2h45m".
|
4985
|
+
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must
|
4986
|
+
# be a positive duration greater than image_minimum_gc_age or "0s". The default
|
4987
|
+
# value is "0s" if unspecified, which disables this field, meaning images won't
|
4988
|
+
# be garbage collected based on being unused for too long.
|
4989
|
+
# Corresponds to the JSON property `imageMaximumGcAge`
|
4990
|
+
# @return [String]
|
4991
|
+
attr_accessor :image_maximum_gc_age
|
4992
|
+
|
4993
|
+
# Optional. Defines the minimum age for an unused image before it is garbage
|
4994
|
+
# collected. The string must be a sequence of decimal numbers, each with
|
4995
|
+
# optional fraction and a unit suffix, such as "300s", "1.5h", and "2h45m".
|
4996
|
+
# Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must
|
4997
|
+
# be a positive duration less than or equal to 2 minutes. The default value is "
|
4998
|
+
# 2m0s" if unspecified.
|
4999
|
+
# Corresponds to the JSON property `imageMinimumGcAge`
|
5000
|
+
# @return [String]
|
5001
|
+
attr_accessor :image_minimum_gc_age
|
5002
|
+
|
5003
|
+
# Enable or disable Kubelet read only port.
|
5004
|
+
# Corresponds to the JSON property `insecureKubeletReadonlyPortEnabled`
|
5005
|
+
# @return [Boolean]
|
5006
|
+
attr_accessor :insecure_kubelet_readonly_port_enabled
|
5007
|
+
alias_method :insecure_kubelet_readonly_port_enabled?, :insecure_kubelet_readonly_port_enabled
|
5008
|
+
|
5009
|
+
# The option enables the Kubernetes NUMA-aware Memory Manager feature. Detailed
|
5010
|
+
# description about the feature can be found [here](https://kubernetes.io/docs/
|
5011
|
+
# tasks/administer-cluster/memory-manager/).
|
5012
|
+
# Corresponds to the JSON property `memoryManager`
|
5013
|
+
# @return [Google::Apis::ContainerV1::MemoryManager]
|
5014
|
+
attr_accessor :memory_manager
|
5015
|
+
|
3543
5016
|
# Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-
|
3544
5017
|
# limiting/#pod-pid-limits Controls the maximum number of processes allowed to
|
3545
5018
|
# run in a pod. The value must be greater than or equal to 1024 and less than
|
@@ -3548,16 +5021,32 @@ module Google
|
|
3548
5021
|
# @return [Fixnum]
|
3549
5022
|
attr_accessor :pod_pids_limit
|
3550
5023
|
|
5024
|
+
# TopologyManager defines the configuration options for Topology Manager feature.
|
5025
|
+
# See https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/
|
5026
|
+
# Corresponds to the JSON property `topologyManager`
|
5027
|
+
# @return [Google::Apis::ContainerV1::TopologyManager]
|
5028
|
+
attr_accessor :topology_manager
|
5029
|
+
|
3551
5030
|
def initialize(**args)
|
3552
5031
|
update!(**args)
|
3553
5032
|
end
|
3554
5033
|
|
3555
5034
|
# Update properties of this object
|
3556
5035
|
def update!(**args)
|
5036
|
+
@allowed_unsafe_sysctls = args[:allowed_unsafe_sysctls] if args.key?(:allowed_unsafe_sysctls)
|
5037
|
+
@container_log_max_files = args[:container_log_max_files] if args.key?(:container_log_max_files)
|
5038
|
+
@container_log_max_size = args[:container_log_max_size] if args.key?(:container_log_max_size)
|
3557
5039
|
@cpu_cfs_quota = args[:cpu_cfs_quota] if args.key?(:cpu_cfs_quota)
|
3558
5040
|
@cpu_cfs_quota_period = args[:cpu_cfs_quota_period] if args.key?(:cpu_cfs_quota_period)
|
3559
5041
|
@cpu_manager_policy = args[:cpu_manager_policy] if args.key?(:cpu_manager_policy)
|
5042
|
+
@image_gc_high_threshold_percent = args[:image_gc_high_threshold_percent] if args.key?(:image_gc_high_threshold_percent)
|
5043
|
+
@image_gc_low_threshold_percent = args[:image_gc_low_threshold_percent] if args.key?(:image_gc_low_threshold_percent)
|
5044
|
+
@image_maximum_gc_age = args[:image_maximum_gc_age] if args.key?(:image_maximum_gc_age)
|
5045
|
+
@image_minimum_gc_age = args[:image_minimum_gc_age] if args.key?(:image_minimum_gc_age)
|
5046
|
+
@insecure_kubelet_readonly_port_enabled = args[:insecure_kubelet_readonly_port_enabled] if args.key?(:insecure_kubelet_readonly_port_enabled)
|
5047
|
+
@memory_manager = args[:memory_manager] if args.key?(:memory_manager)
|
3560
5048
|
@pod_pids_limit = args[:pod_pids_limit] if args.key?(:pod_pids_limit)
|
5049
|
+
@topology_manager = args[:topology_manager] if args.key?(:topology_manager)
|
3561
5050
|
end
|
3562
5051
|
end
|
3563
5052
|
|
@@ -3625,6 +5114,18 @@ module Google
|
|
3625
5114
|
class NodeNetworkConfig
|
3626
5115
|
include Google::Apis::Core::Hashable
|
3627
5116
|
|
5117
|
+
# We specify the additional node networks for this node pool using this list.
|
5118
|
+
# Each node network corresponds to an additional interface
|
5119
|
+
# Corresponds to the JSON property `additionalNodeNetworkConfigs`
|
5120
|
+
# @return [Array<Google::Apis::ContainerV1::AdditionalNodeNetworkConfig>]
|
5121
|
+
attr_accessor :additional_node_network_configs
|
5122
|
+
|
5123
|
+
# We specify the additional pod networks for this node pool using this list.
|
5124
|
+
# Each pod network corresponds to an additional alias IP range for the node
|
5125
|
+
# Corresponds to the JSON property `additionalPodNetworkConfigs`
|
5126
|
+
# @return [Array<Google::Apis::ContainerV1::AdditionalPodNetworkConfig>]
|
5127
|
+
attr_accessor :additional_pod_network_configs
|
5128
|
+
|
3628
5129
|
# Input only. Whether to create a new range for pod IPs in this node pool.
|
3629
5130
|
# Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are
|
3630
5131
|
# not specified. If neither `create_pod_range` or `pod_range` are specified, the
|
@@ -3637,8 +5138,8 @@ module Google
|
|
3637
5138
|
alias_method :create_pod_range?, :create_pod_range
|
3638
5139
|
|
3639
5140
|
# Whether nodes have internal IP addresses only. If enable_private_nodes is not
|
3640
|
-
# specified, then the value is derived from
|
3641
|
-
#
|
5141
|
+
# specified, then the value is derived from Cluster.NetworkConfig.
|
5142
|
+
# default_enable_private_nodes
|
3642
5143
|
# Corresponds to the JSON property `enablePrivateNodes`
|
3643
5144
|
# @return [Boolean]
|
3644
5145
|
attr_accessor :enable_private_nodes
|
@@ -3649,6 +5150,11 @@ module Google
|
|
3649
5150
|
# @return [Google::Apis::ContainerV1::NetworkPerformanceConfig]
|
3650
5151
|
attr_accessor :network_performance_config
|
3651
5152
|
|
5153
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
5154
|
+
# Corresponds to the JSON property `podCidrOverprovisionConfig`
|
5155
|
+
# @return [Google::Apis::ContainerV1::PodCidrOverprovisionConfig]
|
5156
|
+
attr_accessor :pod_cidr_overprovision_config
|
5157
|
+
|
3652
5158
|
# The IP address range for pod IPs in this node pool. Only applicable if `
|
3653
5159
|
# create_pod_range` is true. Set to blank to have a range chosen with the
|
3654
5160
|
# default size. Set to /netmask (e.g. `/14`) to have a range chosen with a
|
@@ -3660,6 +5166,13 @@ module Google
|
|
3660
5166
|
# @return [String]
|
3661
5167
|
attr_accessor :pod_ipv4_cidr_block
|
3662
5168
|
|
5169
|
+
# Output only. The utilization of the IPv4 range for the pod. The ratio is Usage/
|
5170
|
+
# [Total number of IPs in the secondary range], Usage=numNodes*numZones*
|
5171
|
+
# podIPsPerNode.
|
5172
|
+
# Corresponds to the JSON property `podIpv4RangeUtilization`
|
5173
|
+
# @return [Float]
|
5174
|
+
attr_accessor :pod_ipv4_range_utilization
|
5175
|
+
|
3663
5176
|
# The ID of the secondary range for pod IPs. If `create_pod_range` is true, this
|
3664
5177
|
# ID is used for the new range. If `create_pod_range` is false, uses an existing
|
3665
5178
|
# secondary range with this ID. Only applicable if `ip_allocation_policy.
|
@@ -3675,10 +5188,14 @@ module Google
|
|
3675
5188
|
|
3676
5189
|
# Update properties of this object
|
3677
5190
|
def update!(**args)
|
5191
|
+
@additional_node_network_configs = args[:additional_node_network_configs] if args.key?(:additional_node_network_configs)
|
5192
|
+
@additional_pod_network_configs = args[:additional_pod_network_configs] if args.key?(:additional_pod_network_configs)
|
3678
5193
|
@create_pod_range = args[:create_pod_range] if args.key?(:create_pod_range)
|
3679
5194
|
@enable_private_nodes = args[:enable_private_nodes] if args.key?(:enable_private_nodes)
|
3680
5195
|
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
5196
|
+
@pod_cidr_overprovision_config = args[:pod_cidr_overprovision_config] if args.key?(:pod_cidr_overprovision_config)
|
3681
5197
|
@pod_ipv4_cidr_block = args[:pod_ipv4_cidr_block] if args.key?(:pod_ipv4_cidr_block)
|
5198
|
+
@pod_ipv4_range_utilization = args[:pod_ipv4_range_utilization] if args.key?(:pod_ipv4_range_utilization)
|
3682
5199
|
@pod_range = args[:pod_range] if args.key?(:pod_range)
|
3683
5200
|
end
|
3684
5201
|
end
|
@@ -3692,12 +5209,22 @@ module Google
|
|
3692
5209
|
class NodePool
|
3693
5210
|
include Google::Apis::Core::Hashable
|
3694
5211
|
|
5212
|
+
# AutopilotConfig contains configuration of autopilot feature for this nodepool.
|
5213
|
+
# Corresponds to the JSON property `autopilotConfig`
|
5214
|
+
# @return [Google::Apis::ContainerV1::AutopilotConfig]
|
5215
|
+
attr_accessor :autopilot_config
|
5216
|
+
|
3695
5217
|
# NodePoolAutoscaling contains information required by cluster autoscaler to
|
3696
5218
|
# adjust the size of the node pool to the current cluster usage.
|
3697
5219
|
# Corresponds to the JSON property `autoscaling`
|
3698
5220
|
# @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
|
3699
5221
|
attr_accessor :autoscaling
|
3700
5222
|
|
5223
|
+
# Best effort provisioning.
|
5224
|
+
# Corresponds to the JSON property `bestEffortProvisioning`
|
5225
|
+
# @return [Google::Apis::ContainerV1::BestEffortProvisioning]
|
5226
|
+
attr_accessor :best_effort_provisioning
|
5227
|
+
|
3701
5228
|
# Which conditions caused the current node pool state.
|
3702
5229
|
# Corresponds to the JSON property `conditions`
|
3703
5230
|
# @return [Array<Google::Apis::ContainerV1::StatusCondition>]
|
@@ -3725,7 +5252,7 @@ module Google
|
|
3725
5252
|
# @return [Fixnum]
|
3726
5253
|
attr_accessor :initial_node_count
|
3727
5254
|
|
3728
|
-
#
|
5255
|
+
# Output only. The resource URLs of the [managed instance groups](https://cloud.
|
3729
5256
|
# google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
|
3730
5257
|
# associated with this node pool. During the node pool blue-green upgrade
|
3731
5258
|
# operation, the URLs contain both blue and green resources.
|
@@ -3769,22 +5296,27 @@ module Google
|
|
3769
5296
|
# @return [Google::Apis::ContainerV1::PlacementPolicy]
|
3770
5297
|
attr_accessor :placement_policy
|
3771
5298
|
|
3772
|
-
#
|
5299
|
+
# Output only. The pod CIDR block size per node in this node pool.
|
3773
5300
|
# Corresponds to the JSON property `podIpv4CidrSize`
|
3774
5301
|
# @return [Fixnum]
|
3775
5302
|
attr_accessor :pod_ipv4_cidr_size
|
3776
5303
|
|
3777
|
-
#
|
5304
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
5305
|
+
# Corresponds to the JSON property `queuedProvisioning`
|
5306
|
+
# @return [Google::Apis::ContainerV1::QueuedProvisioning]
|
5307
|
+
attr_accessor :queued_provisioning
|
5308
|
+
|
5309
|
+
# Output only. Server-defined URL for the resource.
|
3778
5310
|
# Corresponds to the JSON property `selfLink`
|
3779
5311
|
# @return [String]
|
3780
5312
|
attr_accessor :self_link
|
3781
5313
|
|
3782
|
-
#
|
5314
|
+
# Output only. The status of the nodes in this pool instance.
|
3783
5315
|
# Corresponds to the JSON property `status`
|
3784
5316
|
# @return [String]
|
3785
5317
|
attr_accessor :status
|
3786
5318
|
|
3787
|
-
#
|
5319
|
+
# Output only. Deprecated. Use conditions instead. Additional information about
|
3788
5320
|
# the current status of this node pool instance, if available.
|
3789
5321
|
# Corresponds to the JSON property `statusMessage`
|
3790
5322
|
# @return [String]
|
@@ -3831,7 +5363,9 @@ module Google
|
|
3831
5363
|
# @return [Google::Apis::ContainerV1::UpgradeSettings]
|
3832
5364
|
attr_accessor :upgrade_settings
|
3833
5365
|
|
3834
|
-
# The version of
|
5366
|
+
# The version of Kubernetes running on this NodePool's nodes. If unspecified, it
|
5367
|
+
# defaults as described [here](https://cloud.google.com/kubernetes-engine/
|
5368
|
+
# versioning#specifying_node_version).
|
3835
5369
|
# Corresponds to the JSON property `version`
|
3836
5370
|
# @return [String]
|
3837
5371
|
attr_accessor :version
|
@@ -3842,7 +5376,9 @@ module Google
|
|
3842
5376
|
|
3843
5377
|
# Update properties of this object
|
3844
5378
|
def update!(**args)
|
5379
|
+
@autopilot_config = args[:autopilot_config] if args.key?(:autopilot_config)
|
3845
5380
|
@autoscaling = args[:autoscaling] if args.key?(:autoscaling)
|
5381
|
+
@best_effort_provisioning = args[:best_effort_provisioning] if args.key?(:best_effort_provisioning)
|
3846
5382
|
@conditions = args[:conditions] if args.key?(:conditions)
|
3847
5383
|
@config = args[:config] if args.key?(:config)
|
3848
5384
|
@etag = args[:etag] if args.key?(:etag)
|
@@ -3855,6 +5391,7 @@ module Google
|
|
3855
5391
|
@network_config = args[:network_config] if args.key?(:network_config)
|
3856
5392
|
@placement_policy = args[:placement_policy] if args.key?(:placement_policy)
|
3857
5393
|
@pod_ipv4_cidr_size = args[:pod_ipv4_cidr_size] if args.key?(:pod_ipv4_cidr_size)
|
5394
|
+
@queued_provisioning = args[:queued_provisioning] if args.key?(:queued_provisioning)
|
3858
5395
|
@self_link = args[:self_link] if args.key?(:self_link)
|
3859
5396
|
@status = args[:status] if args.key?(:status)
|
3860
5397
|
@status_message = args[:status_message] if args.key?(:status_message)
|
@@ -3869,19 +5406,41 @@ module Google
|
|
3869
5406
|
class NodePoolAutoConfig
|
3870
5407
|
include Google::Apis::Core::Hashable
|
3871
5408
|
|
5409
|
+
# Parameters that can be configured on Linux nodes.
|
5410
|
+
# Corresponds to the JSON property `linuxNodeConfig`
|
5411
|
+
# @return [Google::Apis::ContainerV1::LinuxNodeConfig]
|
5412
|
+
attr_accessor :linux_node_config
|
5413
|
+
|
3872
5414
|
# Collection of Compute Engine network tags that can be applied to a node's
|
3873
5415
|
# underlying VM instance.
|
3874
5416
|
# Corresponds to the JSON property `networkTags`
|
3875
5417
|
# @return [Google::Apis::ContainerV1::NetworkTags]
|
3876
5418
|
attr_accessor :network_tags
|
3877
5419
|
|
5420
|
+
# Node kubelet configs.
|
5421
|
+
# Corresponds to the JSON property `nodeKubeletConfig`
|
5422
|
+
# @return [Google::Apis::ContainerV1::NodeKubeletConfig]
|
5423
|
+
attr_accessor :node_kubelet_config
|
5424
|
+
|
5425
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
5426
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
5427
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
5428
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
5429
|
+
# specified. Existing tags will be replaced with new values.
|
5430
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
5431
|
+
# @return [Google::Apis::ContainerV1::ResourceManagerTags]
|
5432
|
+
attr_accessor :resource_manager_tags
|
5433
|
+
|
3878
5434
|
def initialize(**args)
|
3879
5435
|
update!(**args)
|
3880
5436
|
end
|
3881
5437
|
|
3882
5438
|
# Update properties of this object
|
3883
5439
|
def update!(**args)
|
5440
|
+
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
3884
5441
|
@network_tags = args[:network_tags] if args.key?(:network_tags)
|
5442
|
+
@node_kubelet_config = args[:node_kubelet_config] if args.key?(:node_kubelet_config)
|
5443
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
3885
5444
|
end
|
3886
5445
|
end
|
3887
5446
|
|
@@ -3907,19 +5466,19 @@ module Google
|
|
3907
5466
|
# @return [String]
|
3908
5467
|
attr_accessor :location_policy
|
3909
5468
|
|
3910
|
-
# Maximum number of nodes for one location in the
|
5469
|
+
# Maximum number of nodes for one location in the node pool. Must be >=
|
3911
5470
|
# min_node_count. There has to be enough quota to scale up the cluster.
|
3912
5471
|
# Corresponds to the JSON property `maxNodeCount`
|
3913
5472
|
# @return [Fixnum]
|
3914
5473
|
attr_accessor :max_node_count
|
3915
5474
|
|
3916
|
-
# Minimum number of nodes for one location in the
|
3917
|
-
# max_node_count.
|
5475
|
+
# Minimum number of nodes for one location in the node pool. Must be greater
|
5476
|
+
# than or equal to 0 and less than or equal to max_node_count.
|
3918
5477
|
# Corresponds to the JSON property `minNodeCount`
|
3919
5478
|
# @return [Fixnum]
|
3920
5479
|
attr_accessor :min_node_count
|
3921
5480
|
|
3922
|
-
# Maximum number of nodes in the node pool. Must be greater than
|
5481
|
+
# Maximum number of nodes in the node pool. Must be greater than or equal to
|
3923
5482
|
# total_min_node_count. There has to be enough quota to scale up the cluster.
|
3924
5483
|
# The total_*_node_count fields are mutually exclusive with the *_node_count
|
3925
5484
|
# fields.
|
@@ -3927,9 +5486,9 @@ module Google
|
|
3927
5486
|
# @return [Fixnum]
|
3928
5487
|
attr_accessor :total_max_node_count
|
3929
5488
|
|
3930
|
-
# Minimum number of nodes in the node pool. Must be greater than
|
3931
|
-
# total_max_node_count. The total_*_node_count fields
|
3932
|
-
# with the *_node_count fields.
|
5489
|
+
# Minimum number of nodes in the node pool. Must be greater than or equal to 0
|
5490
|
+
# and less than or equal to total_max_node_count. The total_*_node_count fields
|
5491
|
+
# are mutually exclusive with the *_node_count fields.
|
3933
5492
|
# Corresponds to the JSON property `totalMinNodeCount`
|
3934
5493
|
# @return [Fixnum]
|
3935
5494
|
attr_accessor :total_min_node_count
|
@@ -3988,7 +5547,62 @@ module Google
|
|
3988
5547
|
end
|
3989
5548
|
end
|
3990
5549
|
|
3991
|
-
#
|
5550
|
+
# NodePoolUpgradeInfo contains the upgrade information of a nodepool.
|
5551
|
+
class NodePoolUpgradeInfo
|
5552
|
+
include Google::Apis::Core::Hashable
|
5553
|
+
|
5554
|
+
# The auto upgrade status.
|
5555
|
+
# Corresponds to the JSON property `autoUpgradeStatus`
|
5556
|
+
# @return [Array<String>]
|
5557
|
+
attr_accessor :auto_upgrade_status
|
5558
|
+
|
5559
|
+
# The nodepool's current minor version's end of extended support timestamp.
|
5560
|
+
# Corresponds to the JSON property `endOfExtendedSupportTimestamp`
|
5561
|
+
# @return [String]
|
5562
|
+
attr_accessor :end_of_extended_support_timestamp
|
5563
|
+
|
5564
|
+
# The nodepool's current minor version's end of standard support timestamp.
|
5565
|
+
# Corresponds to the JSON property `endOfStandardSupportTimestamp`
|
5566
|
+
# @return [String]
|
5567
|
+
attr_accessor :end_of_standard_support_timestamp
|
5568
|
+
|
5569
|
+
# minor_target_version indicates the target version for minor upgrade.
|
5570
|
+
# Corresponds to the JSON property `minorTargetVersion`
|
5571
|
+
# @return [String]
|
5572
|
+
attr_accessor :minor_target_version
|
5573
|
+
|
5574
|
+
# patch_target_version indicates the target version for patch upgrade.
|
5575
|
+
# Corresponds to the JSON property `patchTargetVersion`
|
5576
|
+
# @return [String]
|
5577
|
+
attr_accessor :patch_target_version
|
5578
|
+
|
5579
|
+
# The auto upgrade paused reason.
|
5580
|
+
# Corresponds to the JSON property `pausedReason`
|
5581
|
+
# @return [Array<String>]
|
5582
|
+
attr_accessor :paused_reason
|
5583
|
+
|
5584
|
+
# The list of past auto upgrades.
|
5585
|
+
# Corresponds to the JSON property `upgradeDetails`
|
5586
|
+
# @return [Array<Google::Apis::ContainerV1::UpgradeDetails>]
|
5587
|
+
attr_accessor :upgrade_details
|
5588
|
+
|
5589
|
+
def initialize(**args)
|
5590
|
+
update!(**args)
|
5591
|
+
end
|
5592
|
+
|
5593
|
+
# Update properties of this object
|
5594
|
+
def update!(**args)
|
5595
|
+
@auto_upgrade_status = args[:auto_upgrade_status] if args.key?(:auto_upgrade_status)
|
5596
|
+
@end_of_extended_support_timestamp = args[:end_of_extended_support_timestamp] if args.key?(:end_of_extended_support_timestamp)
|
5597
|
+
@end_of_standard_support_timestamp = args[:end_of_standard_support_timestamp] if args.key?(:end_of_standard_support_timestamp)
|
5598
|
+
@minor_target_version = args[:minor_target_version] if args.key?(:minor_target_version)
|
5599
|
+
@patch_target_version = args[:patch_target_version] if args.key?(:patch_target_version)
|
5600
|
+
@paused_reason = args[:paused_reason] if args.key?(:paused_reason)
|
5601
|
+
@upgrade_details = args[:upgrade_details] if args.key?(:upgrade_details)
|
5602
|
+
end
|
5603
|
+
end
|
5604
|
+
|
5605
|
+
# Kubernetes taint is composed of three fields: key, value, and effect. Effect
|
3992
5606
|
# can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See
|
3993
5607
|
# [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
|
3994
5608
|
# for more information, including usage and the valid values.
|
@@ -4072,12 +5686,12 @@ module Google
|
|
4072
5686
|
# @return [Array<Google::Apis::ContainerV1::StatusCondition>]
|
4073
5687
|
attr_accessor :cluster_conditions
|
4074
5688
|
|
4075
|
-
# Detailed operation progress, if available.
|
5689
|
+
# Output only. Detailed operation progress, if available.
|
4076
5690
|
# Corresponds to the JSON property `detail`
|
4077
5691
|
# @return [String]
|
4078
5692
|
attr_accessor :detail
|
4079
5693
|
|
4080
|
-
#
|
5694
|
+
# Output only. The time the operation completed, in [RFC3339](https://www.ietf.
|
4081
5695
|
# org/rfc/rfc3339.txt) text format.
|
4082
5696
|
# Corresponds to the JSON property `endTime`
|
4083
5697
|
# @return [String]
|
@@ -4093,15 +5707,15 @@ module Google
|
|
4093
5707
|
# @return [Google::Apis::ContainerV1::Status]
|
4094
5708
|
attr_accessor :error
|
4095
5709
|
|
4096
|
-
#
|
4097
|
-
#
|
4098
|
-
#
|
4099
|
-
#
|
5710
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
5711
|
+
# com/compute/docs/regions-zones/regions-zones#available) or [region](https://
|
5712
|
+
# cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
|
5713
|
+
# the cluster resides.
|
4100
5714
|
# Corresponds to the JSON property `location`
|
4101
5715
|
# @return [String]
|
4102
5716
|
attr_accessor :location
|
4103
5717
|
|
4104
|
-
# The server-assigned ID for the operation.
|
5718
|
+
# Output only. The server-assigned ID for the operation.
|
4105
5719
|
# Corresponds to the JSON property `name`
|
4106
5720
|
# @return [String]
|
4107
5721
|
attr_accessor :name
|
@@ -4112,7 +5726,7 @@ module Google
|
|
4112
5726
|
# @return [Array<Google::Apis::ContainerV1::StatusCondition>]
|
4113
5727
|
attr_accessor :nodepool_conditions
|
4114
5728
|
|
4115
|
-
# The operation type.
|
5729
|
+
# Output only. The operation type.
|
4116
5730
|
# Corresponds to the JSON property `operationType`
|
4117
5731
|
# @return [String]
|
4118
5732
|
attr_accessor :operation_type
|
@@ -4122,18 +5736,20 @@ module Google
|
|
4122
5736
|
# @return [Google::Apis::ContainerV1::OperationProgress]
|
4123
5737
|
attr_accessor :progress
|
4124
5738
|
|
4125
|
-
# Server-defined
|
5739
|
+
# Output only. Server-defined URI for the operation. Example: `https://container.
|
5740
|
+
# googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/
|
5741
|
+
# operation-123`.
|
4126
5742
|
# Corresponds to the JSON property `selfLink`
|
4127
5743
|
# @return [String]
|
4128
5744
|
attr_accessor :self_link
|
4129
5745
|
|
4130
|
-
#
|
4131
|
-
#
|
5746
|
+
# Output only. The time the operation started, in [RFC3339](https://www.ietf.org/
|
5747
|
+
# rfc/rfc3339.txt) text format.
|
4132
5748
|
# Corresponds to the JSON property `startTime`
|
4133
5749
|
# @return [String]
|
4134
5750
|
attr_accessor :start_time
|
4135
5751
|
|
4136
|
-
# The current status of the operation.
|
5752
|
+
# Output only. The current status of the operation.
|
4137
5753
|
# Corresponds to the JSON property `status`
|
4138
5754
|
# @return [String]
|
4139
5755
|
attr_accessor :status
|
@@ -4144,14 +5760,21 @@ module Google
|
|
4144
5760
|
# @return [String]
|
4145
5761
|
attr_accessor :status_message
|
4146
5762
|
|
4147
|
-
# Server-defined
|
5763
|
+
# Output only. Server-defined URI for the target of the operation. The format of
|
5764
|
+
# this is a URI to the resource being modified (such as a cluster, node pool, or
|
5765
|
+
# node). For node pool repairs, there may be multiple nodes being repaired, but
|
5766
|
+
# only one will be the target. Examples: - ## `https://container.googleapis.com/
|
5767
|
+
# v1/projects/123/locations/us-central1/clusters/my-cluster` ## `https://
|
5768
|
+
# container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-
|
5769
|
+
# cluster/nodePools/my-np` `https://container.googleapis.com/v1/projects/123/
|
5770
|
+
# zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node`
|
4148
5771
|
# Corresponds to the JSON property `targetLink`
|
4149
5772
|
# @return [String]
|
4150
5773
|
attr_accessor :target_link
|
4151
5774
|
|
4152
|
-
# The name of the Google Compute Engine [zone](https://cloud.google.
|
4153
|
-
# docs/zones#available) in which the operation is taking place. This
|
4154
|
-
# deprecated, use location instead.
|
5775
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
5776
|
+
# com/compute/docs/zones#available) in which the operation is taking place. This
|
5777
|
+
# field is deprecated, use location instead.
|
4155
5778
|
# Corresponds to the JSON property `zone`
|
4156
5779
|
# @return [String]
|
4157
5780
|
attr_accessor :zone
|
@@ -4180,6 +5803,38 @@ module Google
|
|
4180
5803
|
end
|
4181
5804
|
end
|
4182
5805
|
|
5806
|
+
# OperationError records errors seen from CloudKMS keys encountered during
|
5807
|
+
# updates to DatabaseEncryption configuration.
|
5808
|
+
class OperationError
|
5809
|
+
include Google::Apis::Core::Hashable
|
5810
|
+
|
5811
|
+
# Description of the error seen during the operation.
|
5812
|
+
# Corresponds to the JSON property `errorMessage`
|
5813
|
+
# @return [String]
|
5814
|
+
attr_accessor :error_message
|
5815
|
+
|
5816
|
+
# CloudKMS key resource that had the error.
|
5817
|
+
# Corresponds to the JSON property `keyName`
|
5818
|
+
# @return [String]
|
5819
|
+
attr_accessor :key_name
|
5820
|
+
|
5821
|
+
# Time when the CloudKMS error was seen.
|
5822
|
+
# Corresponds to the JSON property `timestamp`
|
5823
|
+
# @return [String]
|
5824
|
+
attr_accessor :timestamp
|
5825
|
+
|
5826
|
+
def initialize(**args)
|
5827
|
+
update!(**args)
|
5828
|
+
end
|
5829
|
+
|
5830
|
+
# Update properties of this object
|
5831
|
+
def update!(**args)
|
5832
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
5833
|
+
@key_name = args[:key_name] if args.key?(:key_name)
|
5834
|
+
@timestamp = args[:timestamp] if args.key?(:timestamp)
|
5835
|
+
end
|
5836
|
+
end
|
5837
|
+
|
4183
5838
|
# Information about operation (or operation stage) progress.
|
4184
5839
|
class OperationProgress
|
4185
5840
|
include Google::Apis::Core::Hashable
|
@@ -4220,10 +5875,70 @@ module Google
|
|
4220
5875
|
end
|
4221
5876
|
end
|
4222
5877
|
|
5878
|
+
# Configuration for the Cloud Storage Parallelstore CSI driver.
|
5879
|
+
class ParallelstoreCsiDriverConfig
|
5880
|
+
include Google::Apis::Core::Hashable
|
5881
|
+
|
5882
|
+
# Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster.
|
5883
|
+
# Corresponds to the JSON property `enabled`
|
5884
|
+
# @return [Boolean]
|
5885
|
+
attr_accessor :enabled
|
5886
|
+
alias_method :enabled?, :enabled
|
5887
|
+
|
5888
|
+
def initialize(**args)
|
5889
|
+
update!(**args)
|
5890
|
+
end
|
5891
|
+
|
5892
|
+
# Update properties of this object
|
5893
|
+
def update!(**args)
|
5894
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
5895
|
+
end
|
5896
|
+
end
|
5897
|
+
|
5898
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
5899
|
+
# This field is used by Google internal products that are built on top of a GKE
|
5900
|
+
# cluster and take the ownership of the cluster.
|
5901
|
+
class ParentProductConfig
|
5902
|
+
include Google::Apis::Core::Hashable
|
5903
|
+
|
5904
|
+
# Labels contain the configuration of the parent product.
|
5905
|
+
# Corresponds to the JSON property `labels`
|
5906
|
+
# @return [Hash<String,String>]
|
5907
|
+
attr_accessor :labels
|
5908
|
+
|
5909
|
+
# Name of the parent product associated with the cluster.
|
5910
|
+
# Corresponds to the JSON property `productName`
|
5911
|
+
# @return [String]
|
5912
|
+
attr_accessor :product_name
|
5913
|
+
|
5914
|
+
def initialize(**args)
|
5915
|
+
update!(**args)
|
5916
|
+
end
|
5917
|
+
|
5918
|
+
# Update properties of this object
|
5919
|
+
def update!(**args)
|
5920
|
+
@labels = args[:labels] if args.key?(:labels)
|
5921
|
+
@product_name = args[:product_name] if args.key?(:product_name)
|
5922
|
+
end
|
5923
|
+
end
|
5924
|
+
|
4223
5925
|
# PlacementPolicy defines the placement policy used by the node pool.
|
4224
5926
|
class PlacementPolicy
|
4225
5927
|
include Google::Apis::Core::Hashable
|
4226
5928
|
|
5929
|
+
# If set, refers to the name of a custom resource policy supplied by the user.
|
5930
|
+
# The resource policy must be in the same project and region as the node pool.
|
5931
|
+
# If not found, InvalidArgument error is returned.
|
5932
|
+
# Corresponds to the JSON property `policyName`
|
5933
|
+
# @return [String]
|
5934
|
+
attr_accessor :policy_name
|
5935
|
+
|
5936
|
+
# Optional. TPU placement topology for pod slice node pool. https://cloud.google.
|
5937
|
+
# com/tpu/docs/types-topologies#tpu_topologies
|
5938
|
+
# Corresponds to the JSON property `tpuTopology`
|
5939
|
+
# @return [String]
|
5940
|
+
attr_accessor :tpu_topology
|
5941
|
+
|
4227
5942
|
# The type of placement.
|
4228
5943
|
# Corresponds to the JSON property `type`
|
4229
5944
|
# @return [String]
|
@@ -4235,15 +5950,62 @@ module Google
|
|
4235
5950
|
|
4236
5951
|
# Update properties of this object
|
4237
5952
|
def update!(**args)
|
5953
|
+
@policy_name = args[:policy_name] if args.key?(:policy_name)
|
5954
|
+
@tpu_topology = args[:tpu_topology] if args.key?(:tpu_topology)
|
4238
5955
|
@type = args[:type] if args.key?(:type)
|
4239
5956
|
end
|
4240
5957
|
end
|
4241
5958
|
|
5959
|
+
# PodAutoscaling is used for configuration of parameters for workload
|
5960
|
+
# autoscaling.
|
5961
|
+
class PodAutoscaling
|
5962
|
+
include Google::Apis::Core::Hashable
|
5963
|
+
|
5964
|
+
# Selected Horizontal Pod Autoscaling profile.
|
5965
|
+
# Corresponds to the JSON property `hpaProfile`
|
5966
|
+
# @return [String]
|
5967
|
+
attr_accessor :hpa_profile
|
5968
|
+
|
5969
|
+
def initialize(**args)
|
5970
|
+
update!(**args)
|
5971
|
+
end
|
5972
|
+
|
5973
|
+
# Update properties of this object
|
5974
|
+
def update!(**args)
|
5975
|
+
@hpa_profile = args[:hpa_profile] if args.key?(:hpa_profile)
|
5976
|
+
end
|
5977
|
+
end
|
5978
|
+
|
5979
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
5980
|
+
class PodCidrOverprovisionConfig
|
5981
|
+
include Google::Apis::Core::Hashable
|
5982
|
+
|
5983
|
+
# Whether Pod CIDR overprovisioning is disabled. Note: Pod CIDR overprovisioning
|
5984
|
+
# is enabled by default.
|
5985
|
+
# Corresponds to the JSON property `disable`
|
5986
|
+
# @return [Boolean]
|
5987
|
+
attr_accessor :disable
|
5988
|
+
alias_method :disable?, :disable
|
5989
|
+
|
5990
|
+
def initialize(**args)
|
5991
|
+
update!(**args)
|
5992
|
+
end
|
5993
|
+
|
5994
|
+
# Update properties of this object
|
5995
|
+
def update!(**args)
|
5996
|
+
@disable = args[:disable] if args.key?(:disable)
|
5997
|
+
end
|
5998
|
+
end
|
5999
|
+
|
4242
6000
|
# Configuration options for private clusters.
|
4243
6001
|
class PrivateClusterConfig
|
4244
6002
|
include Google::Apis::Core::Hashable
|
4245
6003
|
|
4246
6004
|
# Whether the master's internal IP address is used as the cluster endpoint.
|
6005
|
+
# Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.
|
6006
|
+
# enable_public_endpoint instead. Note that the value of enable_public_endpoint
|
6007
|
+
# is reversed: if enable_private_endpoint is false, then enable_public_endpoint
|
6008
|
+
# will be true.
|
4247
6009
|
# Corresponds to the JSON property `enablePrivateEndpoint`
|
4248
6010
|
# @return [Boolean]
|
4249
6011
|
attr_accessor :enable_private_endpoint
|
@@ -4251,7 +6013,7 @@ module Google
|
|
4251
6013
|
|
4252
6014
|
# Whether nodes have internal IP addresses only. If enabled, all nodes are given
|
4253
6015
|
# only RFC 1918 private addresses and communicate with the master via private
|
4254
|
-
# networking.
|
6016
|
+
# networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.
|
4255
6017
|
# Corresponds to the JSON property `enablePrivateNodes`
|
4256
6018
|
# @return [Boolean]
|
4257
6019
|
attr_accessor :enable_private_nodes
|
@@ -4276,17 +6038,23 @@ module Google
|
|
4276
6038
|
attr_accessor :peering_name
|
4277
6039
|
|
4278
6040
|
# Output only. The internal IP address of this cluster's master endpoint.
|
6041
|
+
# Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint
|
6042
|
+
# instead.
|
4279
6043
|
# Corresponds to the JSON property `privateEndpoint`
|
4280
6044
|
# @return [String]
|
4281
6045
|
attr_accessor :private_endpoint
|
4282
6046
|
|
4283
6047
|
# Subnet to provision the master's private endpoint during cluster creation.
|
4284
|
-
# Specified in projects/*/regions/*/subnetworks/* format.
|
6048
|
+
# Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use
|
6049
|
+
# ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork
|
6050
|
+
# instead.
|
4285
6051
|
# Corresponds to the JSON property `privateEndpointSubnetwork`
|
4286
6052
|
# @return [String]
|
4287
6053
|
attr_accessor :private_endpoint_subnetwork
|
4288
6054
|
|
4289
6055
|
# Output only. The external IP address of this cluster's master endpoint.
|
6056
|
+
# Deprecated:Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint
|
6057
|
+
# instead.
|
4290
6058
|
# Corresponds to the JSON property `publicEndpoint`
|
4291
6059
|
# @return [String]
|
4292
6060
|
attr_accessor :public_endpoint
|
@@ -4328,6 +6096,33 @@ module Google
|
|
4328
6096
|
end
|
4329
6097
|
end
|
4330
6098
|
|
6099
|
+
# PrivateRegistryAccessConfig contains access configuration for private
|
6100
|
+
# container registries.
|
6101
|
+
class PrivateRegistryAccessConfig
|
6102
|
+
include Google::Apis::Core::Hashable
|
6103
|
+
|
6104
|
+
# Private registry access configuration.
|
6105
|
+
# Corresponds to the JSON property `certificateAuthorityDomainConfig`
|
6106
|
+
# @return [Array<Google::Apis::ContainerV1::CertificateAuthorityDomainConfig>]
|
6107
|
+
attr_accessor :certificate_authority_domain_config
|
6108
|
+
|
6109
|
+
# Private registry access is enabled.
|
6110
|
+
# Corresponds to the JSON property `enabled`
|
6111
|
+
# @return [Boolean]
|
6112
|
+
attr_accessor :enabled
|
6113
|
+
alias_method :enabled?, :enabled
|
6114
|
+
|
6115
|
+
def initialize(**args)
|
6116
|
+
update!(**args)
|
6117
|
+
end
|
6118
|
+
|
6119
|
+
# Update properties of this object
|
6120
|
+
def update!(**args)
|
6121
|
+
@certificate_authority_domain_config = args[:certificate_authority_domain_config] if args.key?(:certificate_authority_domain_config)
|
6122
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6123
|
+
end
|
6124
|
+
end
|
6125
|
+
|
4331
6126
|
# Pub/Sub specific notification config.
|
4332
6127
|
class PubSub
|
4333
6128
|
include Google::Apis::Core::Hashable
|
@@ -4364,6 +6159,154 @@ module Google
|
|
4364
6159
|
end
|
4365
6160
|
end
|
4366
6161
|
|
6162
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
6163
|
+
class QueuedProvisioning
|
6164
|
+
include Google::Apis::Core::Hashable
|
6165
|
+
|
6166
|
+
# Denotes that this nodepool is QRM specific, meaning nodes can be only obtained
|
6167
|
+
# through queuing via the Cluster Autoscaler ProvisioningRequest API.
|
6168
|
+
# Corresponds to the JSON property `enabled`
|
6169
|
+
# @return [Boolean]
|
6170
|
+
attr_accessor :enabled
|
6171
|
+
alias_method :enabled?, :enabled
|
6172
|
+
|
6173
|
+
def initialize(**args)
|
6174
|
+
update!(**args)
|
6175
|
+
end
|
6176
|
+
|
6177
|
+
# Update properties of this object
|
6178
|
+
def update!(**args)
|
6179
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6180
|
+
end
|
6181
|
+
end
|
6182
|
+
|
6183
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
6184
|
+
# that can be created.
|
6185
|
+
class RbacBindingConfig
|
6186
|
+
include Google::Apis::Core::Hashable
|
6187
|
+
|
6188
|
+
# Setting this to true will allow any ClusterRoleBinding and RoleBinding with
|
6189
|
+
# subjects system:authenticated.
|
6190
|
+
# Corresponds to the JSON property `enableInsecureBindingSystemAuthenticated`
|
6191
|
+
# @return [Boolean]
|
6192
|
+
attr_accessor :enable_insecure_binding_system_authenticated
|
6193
|
+
alias_method :enable_insecure_binding_system_authenticated?, :enable_insecure_binding_system_authenticated
|
6194
|
+
|
6195
|
+
# Setting this to true will allow any ClusterRoleBinding and RoleBinding with
|
6196
|
+
# subjets system:anonymous or system:unauthenticated.
|
6197
|
+
# Corresponds to the JSON property `enableInsecureBindingSystemUnauthenticated`
|
6198
|
+
# @return [Boolean]
|
6199
|
+
attr_accessor :enable_insecure_binding_system_unauthenticated
|
6200
|
+
alias_method :enable_insecure_binding_system_unauthenticated?, :enable_insecure_binding_system_unauthenticated
|
6201
|
+
|
6202
|
+
def initialize(**args)
|
6203
|
+
update!(**args)
|
6204
|
+
end
|
6205
|
+
|
6206
|
+
# Update properties of this object
|
6207
|
+
def update!(**args)
|
6208
|
+
@enable_insecure_binding_system_authenticated = args[:enable_insecure_binding_system_authenticated] if args.key?(:enable_insecure_binding_system_authenticated)
|
6209
|
+
@enable_insecure_binding_system_unauthenticated = args[:enable_insecure_binding_system_unauthenticated] if args.key?(:enable_insecure_binding_system_unauthenticated)
|
6210
|
+
end
|
6211
|
+
end
|
6212
|
+
|
6213
|
+
# RangeInfo contains the range name and the range utilization by this cluster.
|
6214
|
+
class RangeInfo
|
6215
|
+
include Google::Apis::Core::Hashable
|
6216
|
+
|
6217
|
+
# Output only. Name of a range.
|
6218
|
+
# Corresponds to the JSON property `rangeName`
|
6219
|
+
# @return [String]
|
6220
|
+
attr_accessor :range_name
|
6221
|
+
|
6222
|
+
# Output only. The utilization of the range.
|
6223
|
+
# Corresponds to the JSON property `utilization`
|
6224
|
+
# @return [Float]
|
6225
|
+
attr_accessor :utilization
|
6226
|
+
|
6227
|
+
def initialize(**args)
|
6228
|
+
update!(**args)
|
6229
|
+
end
|
6230
|
+
|
6231
|
+
# Update properties of this object
|
6232
|
+
def update!(**args)
|
6233
|
+
@range_name = args[:range_name] if args.key?(:range_name)
|
6234
|
+
@utilization = args[:utilization] if args.key?(:utilization)
|
6235
|
+
end
|
6236
|
+
end
|
6237
|
+
|
6238
|
+
# RayClusterLoggingConfig specifies configuration of Ray logging.
|
6239
|
+
class RayClusterLoggingConfig
|
6240
|
+
include Google::Apis::Core::Hashable
|
6241
|
+
|
6242
|
+
# Enable log collection for Ray clusters.
|
6243
|
+
# Corresponds to the JSON property `enabled`
|
6244
|
+
# @return [Boolean]
|
6245
|
+
attr_accessor :enabled
|
6246
|
+
alias_method :enabled?, :enabled
|
6247
|
+
|
6248
|
+
def initialize(**args)
|
6249
|
+
update!(**args)
|
6250
|
+
end
|
6251
|
+
|
6252
|
+
# Update properties of this object
|
6253
|
+
def update!(**args)
|
6254
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6255
|
+
end
|
6256
|
+
end
|
6257
|
+
|
6258
|
+
# RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
|
6259
|
+
class RayClusterMonitoringConfig
|
6260
|
+
include Google::Apis::Core::Hashable
|
6261
|
+
|
6262
|
+
# Enable metrics collection for Ray clusters.
|
6263
|
+
# Corresponds to the JSON property `enabled`
|
6264
|
+
# @return [Boolean]
|
6265
|
+
attr_accessor :enabled
|
6266
|
+
alias_method :enabled?, :enabled
|
6267
|
+
|
6268
|
+
def initialize(**args)
|
6269
|
+
update!(**args)
|
6270
|
+
end
|
6271
|
+
|
6272
|
+
# Update properties of this object
|
6273
|
+
def update!(**args)
|
6274
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6275
|
+
end
|
6276
|
+
end
|
6277
|
+
|
6278
|
+
# Configuration options for the Ray Operator add-on.
|
6279
|
+
class RayOperatorConfig
|
6280
|
+
include Google::Apis::Core::Hashable
|
6281
|
+
|
6282
|
+
# Whether the Ray Operator addon is enabled for this cluster.
|
6283
|
+
# Corresponds to the JSON property `enabled`
|
6284
|
+
# @return [Boolean]
|
6285
|
+
attr_accessor :enabled
|
6286
|
+
alias_method :enabled?, :enabled
|
6287
|
+
|
6288
|
+
# RayClusterLoggingConfig specifies configuration of Ray logging.
|
6289
|
+
# Corresponds to the JSON property `rayClusterLoggingConfig`
|
6290
|
+
# @return [Google::Apis::ContainerV1::RayClusterLoggingConfig]
|
6291
|
+
attr_accessor :ray_cluster_logging_config
|
6292
|
+
|
6293
|
+
# RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
|
6294
|
+
# Corresponds to the JSON property `rayClusterMonitoringConfig`
|
6295
|
+
# @return [Google::Apis::ContainerV1::RayClusterMonitoringConfig]
|
6296
|
+
attr_accessor :ray_cluster_monitoring_config
|
6297
|
+
|
6298
|
+
def initialize(**args)
|
6299
|
+
update!(**args)
|
6300
|
+
end
|
6301
|
+
|
6302
|
+
# Update properties of this object
|
6303
|
+
def update!(**args)
|
6304
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6305
|
+
@ray_cluster_logging_config = args[:ray_cluster_logging_config] if args.key?(:ray_cluster_logging_config)
|
6306
|
+
@ray_cluster_monitoring_config = args[:ray_cluster_monitoring_config] if args.key?(:ray_cluster_monitoring_config)
|
6307
|
+
end
|
6308
|
+
end
|
6309
|
+
|
4367
6310
|
# Represents an arbitrary window of time that recurs.
|
4368
6311
|
class RecurringTimeWindow
|
4369
6312
|
include Google::Apis::Core::Hashable
|
@@ -4439,6 +6382,11 @@ module Google
|
|
4439
6382
|
# @return [String]
|
4440
6383
|
attr_accessor :default_version
|
4441
6384
|
|
6385
|
+
# The auto upgrade target version for clusters on the channel.
|
6386
|
+
# Corresponds to the JSON property `upgradeTargetVersion`
|
6387
|
+
# @return [String]
|
6388
|
+
attr_accessor :upgrade_target_version
|
6389
|
+
|
4442
6390
|
# List of valid versions for the channel.
|
4443
6391
|
# Corresponds to the JSON property `validVersions`
|
4444
6392
|
# @return [Array<String>]
|
@@ -4452,6 +6400,7 @@ module Google
|
|
4452
6400
|
def update!(**args)
|
4453
6401
|
@channel = args[:channel] if args.key?(:channel)
|
4454
6402
|
@default_version = args[:default_version] if args.key?(:default_version)
|
6403
|
+
@upgrade_target_version = args[:upgrade_target_version] if args.key?(:upgrade_target_version)
|
4455
6404
|
@valid_versions = args[:valid_versions] if args.key?(:valid_versions)
|
4456
6405
|
end
|
4457
6406
|
end
|
@@ -4543,6 +6492,31 @@ module Google
|
|
4543
6492
|
end
|
4544
6493
|
end
|
4545
6494
|
|
6495
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
6496
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
6497
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
6498
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
6499
|
+
# specified. Existing tags will be replaced with new values.
|
6500
|
+
class ResourceManagerTags
|
6501
|
+
include Google::Apis::Core::Hashable
|
6502
|
+
|
6503
|
+
# TagKeyValue must be in one of the following formats ([KEY]=[VALUE]) 1. `
|
6504
|
+
# tagKeys/`tag_key_id`=tagValues/`tag_value_id`` 2. ``org_id`/`tag_key_name`=`
|
6505
|
+
# tag_value_name`` 3. ``project_id`/`tag_key_name`=`tag_value_name``
|
6506
|
+
# Corresponds to the JSON property `tags`
|
6507
|
+
# @return [Hash<String,String>]
|
6508
|
+
attr_accessor :tags
|
6509
|
+
|
6510
|
+
def initialize(**args)
|
6511
|
+
update!(**args)
|
6512
|
+
end
|
6513
|
+
|
6514
|
+
# Update properties of this object
|
6515
|
+
def update!(**args)
|
6516
|
+
@tags = args[:tags] if args.key?(:tags)
|
6517
|
+
end
|
6518
|
+
end
|
6519
|
+
|
4546
6520
|
# Configuration for exporting cluster resource usages.
|
4547
6521
|
class ResourceUsageExportConfig
|
4548
6522
|
include Google::Apis::Core::Hashable
|
@@ -4640,10 +6614,70 @@ module Google
|
|
4640
6614
|
class SandboxConfig
|
4641
6615
|
include Google::Apis::Core::Hashable
|
4642
6616
|
|
4643
|
-
# Type of the sandbox to use for the node.
|
4644
|
-
# Corresponds to the JSON property `type`
|
4645
|
-
# @return [String]
|
4646
|
-
attr_accessor :type
|
6617
|
+
# Type of the sandbox to use for the node.
|
6618
|
+
# Corresponds to the JSON property `type`
|
6619
|
+
# @return [String]
|
6620
|
+
attr_accessor :type
|
6621
|
+
|
6622
|
+
def initialize(**args)
|
6623
|
+
update!(**args)
|
6624
|
+
end
|
6625
|
+
|
6626
|
+
# Update properties of this object
|
6627
|
+
def update!(**args)
|
6628
|
+
@type = args[:type] if args.key?(:type)
|
6629
|
+
end
|
6630
|
+
end
|
6631
|
+
|
6632
|
+
# SecondaryBootDisk represents a persistent disk attached to a node with special
|
6633
|
+
# configurations based on its mode.
|
6634
|
+
class SecondaryBootDisk
|
6635
|
+
include Google::Apis::Core::Hashable
|
6636
|
+
|
6637
|
+
# Fully-qualified resource ID for an existing disk image.
|
6638
|
+
# Corresponds to the JSON property `diskImage`
|
6639
|
+
# @return [String]
|
6640
|
+
attr_accessor :disk_image
|
6641
|
+
|
6642
|
+
# Disk mode (container image cache, etc.)
|
6643
|
+
# Corresponds to the JSON property `mode`
|
6644
|
+
# @return [String]
|
6645
|
+
attr_accessor :mode
|
6646
|
+
|
6647
|
+
def initialize(**args)
|
6648
|
+
update!(**args)
|
6649
|
+
end
|
6650
|
+
|
6651
|
+
# Update properties of this object
|
6652
|
+
def update!(**args)
|
6653
|
+
@disk_image = args[:disk_image] if args.key?(:disk_image)
|
6654
|
+
@mode = args[:mode] if args.key?(:mode)
|
6655
|
+
end
|
6656
|
+
end
|
6657
|
+
|
6658
|
+
# SecondaryBootDiskUpdateStrategy is a placeholder which will be extended in the
|
6659
|
+
# future to define different options for updating secondary boot disks.
|
6660
|
+
class SecondaryBootDiskUpdateStrategy
|
6661
|
+
include Google::Apis::Core::Hashable
|
6662
|
+
|
6663
|
+
def initialize(**args)
|
6664
|
+
update!(**args)
|
6665
|
+
end
|
6666
|
+
|
6667
|
+
# Update properties of this object
|
6668
|
+
def update!(**args)
|
6669
|
+
end
|
6670
|
+
end
|
6671
|
+
|
6672
|
+
# SecretManagerConfig is config for secret manager enablement.
|
6673
|
+
class SecretManagerConfig
|
6674
|
+
include Google::Apis::Core::Hashable
|
6675
|
+
|
6676
|
+
# Enable/Disable Secret Manager Config.
|
6677
|
+
# Corresponds to the JSON property `enabled`
|
6678
|
+
# @return [Boolean]
|
6679
|
+
attr_accessor :enabled
|
6680
|
+
alias_method :enabled?, :enabled
|
4647
6681
|
|
4648
6682
|
def initialize(**args)
|
4649
6683
|
update!(**args)
|
@@ -4651,7 +6685,7 @@ module Google
|
|
4651
6685
|
|
4652
6686
|
# Update properties of this object
|
4653
6687
|
def update!(**args)
|
4654
|
-
@
|
6688
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
4655
6689
|
end
|
4656
6690
|
end
|
4657
6691
|
|
@@ -4693,6 +6727,11 @@ module Google
|
|
4693
6727
|
attr_accessor :manual_steps_required
|
4694
6728
|
alias_method :manual_steps_required?, :manual_steps_required
|
4695
6729
|
|
6730
|
+
# The GKE versions where this vulnerability is mitigated.
|
6731
|
+
# Corresponds to the JSON property `mitigatedVersions`
|
6732
|
+
# @return [Array<String>]
|
6733
|
+
attr_accessor :mitigated_versions
|
6734
|
+
|
4696
6735
|
# The GKE versions where this vulnerability is patched.
|
4697
6736
|
# Corresponds to the JSON property `patchedVersions`
|
4698
6737
|
# @return [Array<String>]
|
@@ -4731,6 +6770,7 @@ module Google
|
|
4731
6770
|
@bulletin_uri = args[:bulletin_uri] if args.key?(:bulletin_uri)
|
4732
6771
|
@cve_ids = args[:cve_ids] if args.key?(:cve_ids)
|
4733
6772
|
@manual_steps_required = args[:manual_steps_required] if args.key?(:manual_steps_required)
|
6773
|
+
@mitigated_versions = args[:mitigated_versions] if args.key?(:mitigated_versions)
|
4734
6774
|
@patched_versions = args[:patched_versions] if args.key?(:patched_versions)
|
4735
6775
|
@resource_type_affected = args[:resource_type_affected] if args.key?(:resource_type_affected)
|
4736
6776
|
@severity = args[:severity] if args.key?(:severity)
|
@@ -4738,6 +6778,32 @@ module Google
|
|
4738
6778
|
end
|
4739
6779
|
end
|
4740
6780
|
|
6781
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
6782
|
+
# the Security Posture API.
|
6783
|
+
class SecurityPostureConfig
|
6784
|
+
include Google::Apis::Core::Hashable
|
6785
|
+
|
6786
|
+
# Sets which mode to use for Security Posture features.
|
6787
|
+
# Corresponds to the JSON property `mode`
|
6788
|
+
# @return [String]
|
6789
|
+
attr_accessor :mode
|
6790
|
+
|
6791
|
+
# Sets which mode to use for vulnerability scanning.
|
6792
|
+
# Corresponds to the JSON property `vulnerabilityMode`
|
6793
|
+
# @return [String]
|
6794
|
+
attr_accessor :vulnerability_mode
|
6795
|
+
|
6796
|
+
def initialize(**args)
|
6797
|
+
update!(**args)
|
6798
|
+
end
|
6799
|
+
|
6800
|
+
# Update properties of this object
|
6801
|
+
def update!(**args)
|
6802
|
+
@mode = args[:mode] if args.key?(:mode)
|
6803
|
+
@vulnerability_mode = args[:vulnerability_mode] if args.key?(:vulnerability_mode)
|
6804
|
+
end
|
6805
|
+
end
|
6806
|
+
|
4741
6807
|
# Kubernetes Engine service configuration.
|
4742
6808
|
class ServerConfig
|
4743
6809
|
include Google::Apis::Core::Hashable
|
@@ -5191,7 +7257,7 @@ module Google
|
|
5191
7257
|
attr_accessor :cluster_id
|
5192
7258
|
|
5193
7259
|
# Required. The monitoring service the cluster should use to write metrics.
|
5194
|
-
# Currently available options: *
|
7260
|
+
# Currently available options: * `monitoring.googleapis.com/kubernetes` - The
|
5195
7261
|
# Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.
|
5196
7262
|
# googleapis.com` - The legacy Cloud Monitoring service (no longer available as
|
5197
7263
|
# of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left
|
@@ -5512,6 +7578,26 @@ module Google
|
|
5512
7578
|
end
|
5513
7579
|
end
|
5514
7580
|
|
7581
|
+
# SoleTenantConfig contains the NodeAffinities to specify what shared sole
|
7582
|
+
# tenant node groups should back the node pool.
|
7583
|
+
class SoleTenantConfig
|
7584
|
+
include Google::Apis::Core::Hashable
|
7585
|
+
|
7586
|
+
# NodeAffinities used to match to a shared sole tenant node group.
|
7587
|
+
# Corresponds to the JSON property `nodeAffinities`
|
7588
|
+
# @return [Array<Google::Apis::ContainerV1::NodeAffinity>]
|
7589
|
+
attr_accessor :node_affinities
|
7590
|
+
|
7591
|
+
def initialize(**args)
|
7592
|
+
update!(**args)
|
7593
|
+
end
|
7594
|
+
|
7595
|
+
# Update properties of this object
|
7596
|
+
def update!(**args)
|
7597
|
+
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
7598
|
+
end
|
7599
|
+
end
|
7600
|
+
|
5515
7601
|
# Standard rollout policy is the default policy for blue-green.
|
5516
7602
|
class StandardRolloutPolicy
|
5517
7603
|
include Google::Apis::Core::Hashable
|
@@ -5595,6 +7681,26 @@ module Google
|
|
5595
7681
|
end
|
5596
7682
|
end
|
5597
7683
|
|
7684
|
+
# Configuration for the Stateful HA add-on.
|
7685
|
+
class StatefulHaConfig
|
7686
|
+
include Google::Apis::Core::Hashable
|
7687
|
+
|
7688
|
+
# Whether the Stateful HA add-on is enabled for this cluster.
|
7689
|
+
# Corresponds to the JSON property `enabled`
|
7690
|
+
# @return [Boolean]
|
7691
|
+
attr_accessor :enabled
|
7692
|
+
alias_method :enabled?, :enabled
|
7693
|
+
|
7694
|
+
def initialize(**args)
|
7695
|
+
update!(**args)
|
7696
|
+
end
|
7697
|
+
|
7698
|
+
# Update properties of this object
|
7699
|
+
def update!(**args)
|
7700
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
7701
|
+
end
|
7702
|
+
end
|
7703
|
+
|
5598
7704
|
# The `Status` type defines a logical error model that is suitable for different
|
5599
7705
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
5600
7706
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
@@ -5699,6 +7805,48 @@ module Google
|
|
5699
7805
|
end
|
5700
7806
|
end
|
5701
7807
|
|
7808
|
+
# TopologyManager defines the configuration options for Topology Manager feature.
|
7809
|
+
# See https://kubernetes.io/docs/tasks/administer-cluster/topology-manager/
|
7810
|
+
class TopologyManager
|
7811
|
+
include Google::Apis::Core::Hashable
|
7812
|
+
|
7813
|
+
# Configures the strategy for resource alignment. Allowed values are: * none:
|
7814
|
+
# the default policy, and does not perform any topology alignment. * restricted:
|
7815
|
+
# the topology manager stores the preferred NUMA node affinity for the container,
|
7816
|
+
# and will reject the pod if the affinity if not preferred. * best-effort: the
|
7817
|
+
# topology manager stores the preferred NUMA node affinity for the container. If
|
7818
|
+
# the affinity is not preferred, the topology manager will admit the pod to the
|
7819
|
+
# node anyway. * single-numa-node: the topology manager determines if the single
|
7820
|
+
# NUMA node affinity is possible. If it is, Topology Manager will store this and
|
7821
|
+
# the Hint Providers can then use this information when making the resource
|
7822
|
+
# allocation decision. If, however, this is not possible then the Topology
|
7823
|
+
# Manager will reject the pod from the node. This will result in a pod in a
|
7824
|
+
# Terminated state with a pod admission failure. The default policy value is '
|
7825
|
+
# none' if unspecified. Details about each strategy can be found [here](https://
|
7826
|
+
# kubernetes.io/docs/tasks/administer-cluster/topology-manager/#topology-manager-
|
7827
|
+
# policies).
|
7828
|
+
# Corresponds to the JSON property `policy`
|
7829
|
+
# @return [String]
|
7830
|
+
attr_accessor :policy
|
7831
|
+
|
7832
|
+
# The Topology Manager aligns resources in following scopes: * container * pod
|
7833
|
+
# The default scope is 'container' if unspecified. See https://kubernetes.io/
|
7834
|
+
# docs/tasks/administer-cluster/topology-manager/#topology-manager-scopes
|
7835
|
+
# Corresponds to the JSON property `scope`
|
7836
|
+
# @return [String]
|
7837
|
+
attr_accessor :scope
|
7838
|
+
|
7839
|
+
def initialize(**args)
|
7840
|
+
update!(**args)
|
7841
|
+
end
|
7842
|
+
|
7843
|
+
# Update properties of this object
|
7844
|
+
def update!(**args)
|
7845
|
+
@policy = args[:policy] if args.key?(:policy)
|
7846
|
+
@scope = args[:scope] if args.key?(:scope)
|
7847
|
+
end
|
7848
|
+
end
|
7849
|
+
|
5702
7850
|
# UpdateClusterRequest updates the settings of a cluster.
|
5703
7851
|
class UpdateClusterRequest
|
5704
7852
|
include Google::Apis::Core::Hashable
|
@@ -5828,6 +7976,12 @@ module Google
|
|
5828
7976
|
class UpdateNodePoolRequest
|
5829
7977
|
include Google::Apis::Core::Hashable
|
5830
7978
|
|
7979
|
+
# A list of hardware accelerators to be attached to each node. See https://cloud.
|
7980
|
+
# google.com/compute/docs/gpus for more information about support for GPUs.
|
7981
|
+
# Corresponds to the JSON property `accelerators`
|
7982
|
+
# @return [Array<Google::Apis::ContainerV1::AcceleratorConfig>]
|
7983
|
+
attr_accessor :accelerators
|
7984
|
+
|
5831
7985
|
# Deprecated. The name of the cluster to upgrade. This field has been deprecated
|
5832
7986
|
# and replaced by the name field.
|
5833
7987
|
# Corresponds to the JSON property `clusterId`
|
@@ -5840,6 +7994,25 @@ module Google
|
|
5840
7994
|
# @return [Google::Apis::ContainerV1::ConfidentialNodes]
|
5841
7995
|
attr_accessor :confidential_nodes
|
5842
7996
|
|
7997
|
+
# ContainerdConfig contains configuration to customize containerd.
|
7998
|
+
# Corresponds to the JSON property `containerdConfig`
|
7999
|
+
# @return [Google::Apis::ContainerV1::ContainerdConfig]
|
8000
|
+
attr_accessor :containerd_config
|
8001
|
+
|
8002
|
+
# Optional. The desired disk size for nodes in the node pool specified in GB.
|
8003
|
+
# The smallest allowed disk size is 10GB. Initiates an upgrade operation that
|
8004
|
+
# migrates the nodes in the node pool to the specified disk size.
|
8005
|
+
# Corresponds to the JSON property `diskSizeGb`
|
8006
|
+
# @return [Fixnum]
|
8007
|
+
attr_accessor :disk_size_gb
|
8008
|
+
|
8009
|
+
# Optional. The desired disk type (e.g. 'pd-standard', 'pd-ssd' or 'pd-balanced')
|
8010
|
+
# for nodes in the node pool. Initiates an upgrade operation that migrates the
|
8011
|
+
# nodes in the node pool to the specified disk type.
|
8012
|
+
# Corresponds to the JSON property `diskType`
|
8013
|
+
# @return [String]
|
8014
|
+
attr_accessor :disk_type
|
8015
|
+
|
5843
8016
|
# The current etag of the node pool. If an etag is provided and does not match
|
5844
8017
|
# the current etag of the node pool, update will be blocked and an ABORTED error
|
5845
8018
|
# will be returned.
|
@@ -5852,6 +8025,12 @@ module Google
|
|
5852
8025
|
# @return [Google::Apis::ContainerV1::FastSocket]
|
5853
8026
|
attr_accessor :fast_socket
|
5854
8027
|
|
8028
|
+
# Flex Start flag for enabling Flex Start VM.
|
8029
|
+
# Corresponds to the JSON property `flexStart`
|
8030
|
+
# @return [Boolean]
|
8031
|
+
attr_accessor :flex_start
|
8032
|
+
alias_method :flex_start?, :flex_start
|
8033
|
+
|
5855
8034
|
# GcfsConfig contains configurations of Google Container File System (image
|
5856
8035
|
# streaming).
|
5857
8036
|
# Corresponds to the JSON property `gcfsConfig`
|
@@ -5863,7 +8042,9 @@ module Google
|
|
5863
8042
|
# @return [Google::Apis::ContainerV1::VirtualNic]
|
5864
8043
|
attr_accessor :gvnic
|
5865
8044
|
|
5866
|
-
# Required. The desired image type for the node pool.
|
8045
|
+
# Required. The desired image type for the node pool. Please see https://cloud.
|
8046
|
+
# google.com/kubernetes-engine/docs/concepts/node-images for available image
|
8047
|
+
# types.
|
5867
8048
|
# Corresponds to the JSON property `imageType`
|
5868
8049
|
# @return [String]
|
5869
8050
|
attr_accessor :image_type
|
@@ -5898,6 +8079,20 @@ module Google
|
|
5898
8079
|
# @return [Google::Apis::ContainerV1::NodePoolLoggingConfig]
|
5899
8080
|
attr_accessor :logging_config
|
5900
8081
|
|
8082
|
+
# Optional. The desired [Google Compute Engine machine type](https://cloud.
|
8083
|
+
# google.com/compute/docs/machine-types) for nodes in the node pool. Initiates
|
8084
|
+
# an upgrade operation that migrates the nodes in the node pool to the specified
|
8085
|
+
# machine type.
|
8086
|
+
# Corresponds to the JSON property `machineType`
|
8087
|
+
# @return [String]
|
8088
|
+
attr_accessor :machine_type
|
8089
|
+
|
8090
|
+
# The maximum duration for the nodes to exist. If unspecified, the nodes can
|
8091
|
+
# exist indefinitely.
|
8092
|
+
# Corresponds to the JSON property `maxRunDuration`
|
8093
|
+
# @return [String]
|
8094
|
+
attr_accessor :max_run_duration
|
8095
|
+
|
5901
8096
|
# The name (project, location, cluster, node pool) of the node pool to update.
|
5902
8097
|
# Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
|
5903
8098
|
# Corresponds to the JSON property `name`
|
@@ -5933,12 +8128,32 @@ module Google
|
|
5933
8128
|
# @return [String]
|
5934
8129
|
attr_accessor :project_id
|
5935
8130
|
|
8131
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
8132
|
+
# Corresponds to the JSON property `queuedProvisioning`
|
8133
|
+
# @return [Google::Apis::ContainerV1::QueuedProvisioning]
|
8134
|
+
attr_accessor :queued_provisioning
|
8135
|
+
|
5936
8136
|
# Collection of [GCP labels](https://cloud.google.com/resource-manager/docs/
|
5937
8137
|
# creating-managing-labels).
|
5938
8138
|
# Corresponds to the JSON property `resourceLabels`
|
5939
8139
|
# @return [Google::Apis::ContainerV1::ResourceLabels]
|
5940
8140
|
attr_accessor :resource_labels
|
5941
8141
|
|
8142
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
8143
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
8144
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
8145
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
8146
|
+
# specified. Existing tags will be replaced with new values.
|
8147
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
8148
|
+
# @return [Google::Apis::ContainerV1::ResourceManagerTags]
|
8149
|
+
attr_accessor :resource_manager_tags
|
8150
|
+
|
8151
|
+
# List of Storage Pools where boot disks are provisioned. Existing Storage Pools
|
8152
|
+
# will be replaced with storage-pools.
|
8153
|
+
# Corresponds to the JSON property `storagePools`
|
8154
|
+
# @return [Array<String>]
|
8155
|
+
attr_accessor :storage_pools
|
8156
|
+
|
5942
8157
|
# Collection of Compute Engine network tags that can be applied to a node's
|
5943
8158
|
# underlying VM instance.
|
5944
8159
|
# Corresponds to the JSON property `tags`
|
@@ -5988,7 +8203,7 @@ module Google
|
|
5988
8203
|
|
5989
8204
|
# Parameters that can be configured on Windows nodes. Windows Node Config that
|
5990
8205
|
# define the parameters that will be used to configure the Windows node pool
|
5991
|
-
# settings
|
8206
|
+
# settings.
|
5992
8207
|
# Corresponds to the JSON property `windowsNodeConfig`
|
5993
8208
|
# @return [Google::Apis::ContainerV1::WindowsNodeConfig]
|
5994
8209
|
attr_accessor :windows_node_config
|
@@ -6012,10 +8227,15 @@ module Google
|
|
6012
8227
|
|
6013
8228
|
# Update properties of this object
|
6014
8229
|
def update!(**args)
|
8230
|
+
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
6015
8231
|
@cluster_id = args[:cluster_id] if args.key?(:cluster_id)
|
6016
8232
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
8233
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
8234
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
8235
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
6017
8236
|
@etag = args[:etag] if args.key?(:etag)
|
6018
8237
|
@fast_socket = args[:fast_socket] if args.key?(:fast_socket)
|
8238
|
+
@flex_start = args[:flex_start] if args.key?(:flex_start)
|
6019
8239
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
6020
8240
|
@gvnic = args[:gvnic] if args.key?(:gvnic)
|
6021
8241
|
@image_type = args[:image_type] if args.key?(:image_type)
|
@@ -6024,12 +8244,17 @@ module Google
|
|
6024
8244
|
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
6025
8245
|
@locations = args[:locations] if args.key?(:locations)
|
6026
8246
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
8247
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
8248
|
+
@max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
|
6027
8249
|
@name = args[:name] if args.key?(:name)
|
6028
8250
|
@node_network_config = args[:node_network_config] if args.key?(:node_network_config)
|
6029
8251
|
@node_pool_id = args[:node_pool_id] if args.key?(:node_pool_id)
|
6030
8252
|
@node_version = args[:node_version] if args.key?(:node_version)
|
6031
8253
|
@project_id = args[:project_id] if args.key?(:project_id)
|
8254
|
+
@queued_provisioning = args[:queued_provisioning] if args.key?(:queued_provisioning)
|
6032
8255
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
8256
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
8257
|
+
@storage_pools = args[:storage_pools] if args.key?(:storage_pools)
|
6033
8258
|
@tags = args[:tags] if args.key?(:tags)
|
6034
8259
|
@taints = args[:taints] if args.key?(:taints)
|
6035
8260
|
@upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings)
|
@@ -6081,6 +8306,56 @@ module Google
|
|
6081
8306
|
end
|
6082
8307
|
end
|
6083
8308
|
|
8309
|
+
# UpgradeDetails contains detailed information of each individual upgrade
|
8310
|
+
# operation.
|
8311
|
+
class UpgradeDetails
|
8312
|
+
include Google::Apis::Core::Hashable
|
8313
|
+
|
8314
|
+
# The end timestamp of the upgrade.
|
8315
|
+
# Corresponds to the JSON property `endTime`
|
8316
|
+
# @return [String]
|
8317
|
+
attr_accessor :end_time
|
8318
|
+
|
8319
|
+
# The version before the upgrade.
|
8320
|
+
# Corresponds to the JSON property `initialVersion`
|
8321
|
+
# @return [String]
|
8322
|
+
attr_accessor :initial_version
|
8323
|
+
|
8324
|
+
# The start timestamp of the upgrade.
|
8325
|
+
# Corresponds to the JSON property `startTime`
|
8326
|
+
# @return [String]
|
8327
|
+
attr_accessor :start_time
|
8328
|
+
|
8329
|
+
# The start type of the upgrade.
|
8330
|
+
# Corresponds to the JSON property `startType`
|
8331
|
+
# @return [String]
|
8332
|
+
attr_accessor :start_type
|
8333
|
+
|
8334
|
+
# Output only. The state of the upgrade.
|
8335
|
+
# Corresponds to the JSON property `state`
|
8336
|
+
# @return [String]
|
8337
|
+
attr_accessor :state
|
8338
|
+
|
8339
|
+
# The version after the upgrade.
|
8340
|
+
# Corresponds to the JSON property `targetVersion`
|
8341
|
+
# @return [String]
|
8342
|
+
attr_accessor :target_version
|
8343
|
+
|
8344
|
+
def initialize(**args)
|
8345
|
+
update!(**args)
|
8346
|
+
end
|
8347
|
+
|
8348
|
+
# Update properties of this object
|
8349
|
+
def update!(**args)
|
8350
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
8351
|
+
@initial_version = args[:initial_version] if args.key?(:initial_version)
|
8352
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
8353
|
+
@start_type = args[:start_type] if args.key?(:start_type)
|
8354
|
+
@state = args[:state] if args.key?(:state)
|
8355
|
+
@target_version = args[:target_version] if args.key?(:target_version)
|
8356
|
+
end
|
8357
|
+
end
|
8358
|
+
|
6084
8359
|
# UpgradeEvent is a notification sent to customers by the cluster server when a
|
6085
8360
|
# resource is upgrading.
|
6086
8361
|
class UpgradeEvent
|
@@ -6132,6 +8407,93 @@ module Google
|
|
6132
8407
|
end
|
6133
8408
|
end
|
6134
8409
|
|
8410
|
+
# UpgradeInfoEvent is a notification sent to customers about the upgrade
|
8411
|
+
# information of a resource.
|
8412
|
+
class UpgradeInfoEvent
|
8413
|
+
include Google::Apis::Core::Hashable
|
8414
|
+
|
8415
|
+
# The current version before the upgrade.
|
8416
|
+
# Corresponds to the JSON property `currentVersion`
|
8417
|
+
# @return [String]
|
8418
|
+
attr_accessor :current_version
|
8419
|
+
|
8420
|
+
# A brief description of the event.
|
8421
|
+
# Corresponds to the JSON property `description`
|
8422
|
+
# @return [String]
|
8423
|
+
attr_accessor :description
|
8424
|
+
|
8425
|
+
# The time when the operation ended.
|
8426
|
+
# Corresponds to the JSON property `endTime`
|
8427
|
+
# @return [String]
|
8428
|
+
attr_accessor :end_time
|
8429
|
+
|
8430
|
+
# The type of the event.
|
8431
|
+
# Corresponds to the JSON property `eventType`
|
8432
|
+
# @return [String]
|
8433
|
+
attr_accessor :event_type
|
8434
|
+
|
8435
|
+
# The end of extended support timestamp.
|
8436
|
+
# Corresponds to the JSON property `extendedSupportEndTime`
|
8437
|
+
# @return [String]
|
8438
|
+
attr_accessor :extended_support_end_time
|
8439
|
+
|
8440
|
+
# The operation associated with this upgrade.
|
8441
|
+
# Corresponds to the JSON property `operation`
|
8442
|
+
# @return [String]
|
8443
|
+
attr_accessor :operation
|
8444
|
+
|
8445
|
+
# Optional relative path to the resource. For example in node pool upgrades, the
|
8446
|
+
# relative path of the node pool.
|
8447
|
+
# Corresponds to the JSON property `resource`
|
8448
|
+
# @return [String]
|
8449
|
+
attr_accessor :resource
|
8450
|
+
|
8451
|
+
# The resource type associated with the upgrade.
|
8452
|
+
# Corresponds to the JSON property `resourceType`
|
8453
|
+
# @return [String]
|
8454
|
+
attr_accessor :resource_type
|
8455
|
+
|
8456
|
+
# The end of standard support timestamp.
|
8457
|
+
# Corresponds to the JSON property `standardSupportEndTime`
|
8458
|
+
# @return [String]
|
8459
|
+
attr_accessor :standard_support_end_time
|
8460
|
+
|
8461
|
+
# The time when the operation was started.
|
8462
|
+
# Corresponds to the JSON property `startTime`
|
8463
|
+
# @return [String]
|
8464
|
+
attr_accessor :start_time
|
8465
|
+
|
8466
|
+
# Output only. The state of the upgrade.
|
8467
|
+
# Corresponds to the JSON property `state`
|
8468
|
+
# @return [String]
|
8469
|
+
attr_accessor :state
|
8470
|
+
|
8471
|
+
# The target version for the upgrade.
|
8472
|
+
# Corresponds to the JSON property `targetVersion`
|
8473
|
+
# @return [String]
|
8474
|
+
attr_accessor :target_version
|
8475
|
+
|
8476
|
+
def initialize(**args)
|
8477
|
+
update!(**args)
|
8478
|
+
end
|
8479
|
+
|
8480
|
+
# Update properties of this object
|
8481
|
+
def update!(**args)
|
8482
|
+
@current_version = args[:current_version] if args.key?(:current_version)
|
8483
|
+
@description = args[:description] if args.key?(:description)
|
8484
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
8485
|
+
@event_type = args[:event_type] if args.key?(:event_type)
|
8486
|
+
@extended_support_end_time = args[:extended_support_end_time] if args.key?(:extended_support_end_time)
|
8487
|
+
@operation = args[:operation] if args.key?(:operation)
|
8488
|
+
@resource = args[:resource] if args.key?(:resource)
|
8489
|
+
@resource_type = args[:resource_type] if args.key?(:resource_type)
|
8490
|
+
@standard_support_end_time = args[:standard_support_end_time] if args.key?(:standard_support_end_time)
|
8491
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
8492
|
+
@state = args[:state] if args.key?(:state)
|
8493
|
+
@target_version = args[:target_version] if args.key?(:target_version)
|
8494
|
+
end
|
8495
|
+
end
|
8496
|
+
|
6135
8497
|
# These upgrade settings control the level of parallelism and the level of
|
6136
8498
|
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
6137
8499
|
# that can be simultaneously unavailable. maxSurge controls the number of
|
@@ -6281,6 +8643,78 @@ module Google
|
|
6281
8643
|
end
|
6282
8644
|
end
|
6283
8645
|
|
8646
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
8647
|
+
# signing certs and token that are used for communication within cluster.
|
8648
|
+
class UserManagedKeysConfig
|
8649
|
+
include Google::Apis::Core::Hashable
|
8650
|
+
|
8651
|
+
# The Certificate Authority Service caPool to use for the aggregation CA in this
|
8652
|
+
# cluster.
|
8653
|
+
# Corresponds to the JSON property `aggregationCa`
|
8654
|
+
# @return [String]
|
8655
|
+
attr_accessor :aggregation_ca
|
8656
|
+
|
8657
|
+
# The Certificate Authority Service caPool to use for the cluster CA in this
|
8658
|
+
# cluster.
|
8659
|
+
# Corresponds to the JSON property `clusterCa`
|
8660
|
+
# @return [String]
|
8661
|
+
attr_accessor :cluster_ca
|
8662
|
+
|
8663
|
+
# The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane
|
8664
|
+
# nodes.
|
8665
|
+
# Corresponds to the JSON property `controlPlaneDiskEncryptionKey`
|
8666
|
+
# @return [String]
|
8667
|
+
attr_accessor :control_plane_disk_encryption_key
|
8668
|
+
|
8669
|
+
# Resource path of the Certificate Authority Service caPool to use for the etcd
|
8670
|
+
# API CA in this cluster.
|
8671
|
+
# Corresponds to the JSON property `etcdApiCa`
|
8672
|
+
# @return [String]
|
8673
|
+
attr_accessor :etcd_api_ca
|
8674
|
+
|
8675
|
+
# Resource path of the Certificate Authority Service caPool to use for the etcd
|
8676
|
+
# peer CA in this cluster.
|
8677
|
+
# Corresponds to the JSON property `etcdPeerCa`
|
8678
|
+
# @return [String]
|
8679
|
+
attr_accessor :etcd_peer_ca
|
8680
|
+
|
8681
|
+
# Resource path of the Cloud KMS cryptoKey to use for encryption of internal
|
8682
|
+
# etcd backups.
|
8683
|
+
# Corresponds to the JSON property `gkeopsEtcdBackupEncryptionKey`
|
8684
|
+
# @return [String]
|
8685
|
+
attr_accessor :gkeops_etcd_backup_encryption_key
|
8686
|
+
|
8687
|
+
# The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued
|
8688
|
+
# by this cluster. Format: `projects/`project`/locations/`location`/keyRings/`
|
8689
|
+
# keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
|
8690
|
+
# Corresponds to the JSON property `serviceAccountSigningKeys`
|
8691
|
+
# @return [Array<String>]
|
8692
|
+
attr_accessor :service_account_signing_keys
|
8693
|
+
|
8694
|
+
# The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs
|
8695
|
+
# issued by this cluster. Format: `projects/`project`/locations/`location`/
|
8696
|
+
# keyRings/`keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
|
8697
|
+
# Corresponds to the JSON property `serviceAccountVerificationKeys`
|
8698
|
+
# @return [Array<String>]
|
8699
|
+
attr_accessor :service_account_verification_keys
|
8700
|
+
|
8701
|
+
def initialize(**args)
|
8702
|
+
update!(**args)
|
8703
|
+
end
|
8704
|
+
|
8705
|
+
# Update properties of this object
|
8706
|
+
def update!(**args)
|
8707
|
+
@aggregation_ca = args[:aggregation_ca] if args.key?(:aggregation_ca)
|
8708
|
+
@cluster_ca = args[:cluster_ca] if args.key?(:cluster_ca)
|
8709
|
+
@control_plane_disk_encryption_key = args[:control_plane_disk_encryption_key] if args.key?(:control_plane_disk_encryption_key)
|
8710
|
+
@etcd_api_ca = args[:etcd_api_ca] if args.key?(:etcd_api_ca)
|
8711
|
+
@etcd_peer_ca = args[:etcd_peer_ca] if args.key?(:etcd_peer_ca)
|
8712
|
+
@gkeops_etcd_backup_encryption_key = args[:gkeops_etcd_backup_encryption_key] if args.key?(:gkeops_etcd_backup_encryption_key)
|
8713
|
+
@service_account_signing_keys = args[:service_account_signing_keys] if args.key?(:service_account_signing_keys)
|
8714
|
+
@service_account_verification_keys = args[:service_account_verification_keys] if args.key?(:service_account_verification_keys)
|
8715
|
+
end
|
8716
|
+
end
|
8717
|
+
|
6284
8718
|
# VerticalPodAutoscaling contains global, per-cluster information required by
|
6285
8719
|
# Vertical Pod Autoscaler to automatically adjust the resources of pods
|
6286
8720
|
# controlled by it.
|
@@ -6325,11 +8759,11 @@ module Google
|
|
6325
8759
|
|
6326
8760
|
# Parameters that can be configured on Windows nodes. Windows Node Config that
|
6327
8761
|
# define the parameters that will be used to configure the Windows node pool
|
6328
|
-
# settings
|
8762
|
+
# settings.
|
6329
8763
|
class WindowsNodeConfig
|
6330
8764
|
include Google::Apis::Core::Hashable
|
6331
8765
|
|
6332
|
-
# OSVersion specifies the Windows node config to be used on the node
|
8766
|
+
# OSVersion specifies the Windows node config to be used on the node.
|
6333
8767
|
# Corresponds to the JSON property `osVersion`
|
6334
8768
|
# @return [String]
|
6335
8769
|
attr_accessor :os_version
|
@@ -6383,6 +8817,33 @@ module Google
|
|
6383
8817
|
@mode = args[:mode] if args.key?(:mode)
|
6384
8818
|
end
|
6385
8819
|
end
|
8820
|
+
|
8821
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
8822
|
+
class WorkloadPolicyConfig
|
8823
|
+
include Google::Apis::Core::Hashable
|
8824
|
+
|
8825
|
+
# If true, workloads can use NET_ADMIN capability.
|
8826
|
+
# Corresponds to the JSON property `allowNetAdmin`
|
8827
|
+
# @return [Boolean]
|
8828
|
+
attr_accessor :allow_net_admin
|
8829
|
+
alias_method :allow_net_admin?, :allow_net_admin
|
8830
|
+
|
8831
|
+
# If true, enables the GCW Auditor that audits workloads on standard clusters.
|
8832
|
+
# Corresponds to the JSON property `autopilotCompatibilityAuditingEnabled`
|
8833
|
+
# @return [Boolean]
|
8834
|
+
attr_accessor :autopilot_compatibility_auditing_enabled
|
8835
|
+
alias_method :autopilot_compatibility_auditing_enabled?, :autopilot_compatibility_auditing_enabled
|
8836
|
+
|
8837
|
+
def initialize(**args)
|
8838
|
+
update!(**args)
|
8839
|
+
end
|
8840
|
+
|
8841
|
+
# Update properties of this object
|
8842
|
+
def update!(**args)
|
8843
|
+
@allow_net_admin = args[:allow_net_admin] if args.key?(:allow_net_admin)
|
8844
|
+
@autopilot_compatibility_auditing_enabled = args[:autopilot_compatibility_auditing_enabled] if args.key?(:autopilot_compatibility_auditing_enabled)
|
8845
|
+
end
|
8846
|
+
end
|
6386
8847
|
end
|
6387
8848
|
end
|
6388
8849
|
end
|