google-apis-container_v1 0.43.0 → 0.88.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 +184 -0
- data/OVERVIEW.md +3 -3
- data/lib/google/apis/container_v1/classes.rb +2127 -117
- data/lib/google/apis/container_v1/gem_version.rb +3 -3
- data/lib/google/apis/container_v1/representations.rb +815 -0
- data/lib/google/apis/container_v1/service.rb +37 -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
|
@@ -196,14 +360,14 @@ module Google
|
|
196
360
|
class AutoUpgradeOptions
|
197
361
|
include Google::Apis::Core::Hashable
|
198
362
|
|
199
|
-
#
|
363
|
+
# Output only. This field is set when upgrades are about to commence with the
|
200
364
|
# approximate start time for the upgrades, in [RFC3339](https://www.ietf.org/rfc/
|
201
365
|
# rfc3339.txt) text format.
|
202
366
|
# Corresponds to the JSON property `autoUpgradeStartTime`
|
203
367
|
# @return [String]
|
204
368
|
attr_accessor :auto_upgrade_start_time
|
205
369
|
|
206
|
-
#
|
370
|
+
# Output only. This field is set when upgrades are about to commence with the
|
207
371
|
# description of the upgrade.
|
208
372
|
# Corresponds to the JSON property `description`
|
209
373
|
# @return [String]
|
@@ -230,6 +394,11 @@ module Google
|
|
230
394
|
attr_accessor :enabled
|
231
395
|
alias_method :enabled?, :enabled
|
232
396
|
|
397
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
398
|
+
# Corresponds to the JSON property `workloadPolicyConfig`
|
399
|
+
# @return [Google::Apis::ContainerV1::WorkloadPolicyConfig]
|
400
|
+
attr_accessor :workload_policy_config
|
401
|
+
|
233
402
|
def initialize(**args)
|
234
403
|
update!(**args)
|
235
404
|
end
|
@@ -237,6 +406,57 @@ module Google
|
|
237
406
|
# Update properties of this object
|
238
407
|
def update!(**args)
|
239
408
|
@enabled = args[:enabled] if args.key?(:enabled)
|
409
|
+
@workload_policy_config = args[:workload_policy_config] if args.key?(:workload_policy_config)
|
410
|
+
end
|
411
|
+
end
|
412
|
+
|
413
|
+
# AutopilotCompatibilityIssue contains information about a specific
|
414
|
+
# compatibility issue with Autopilot mode.
|
415
|
+
class AutopilotCompatibilityIssue
|
416
|
+
include Google::Apis::Core::Hashable
|
417
|
+
|
418
|
+
# The constraint type of the issue.
|
419
|
+
# Corresponds to the JSON property `constraintType`
|
420
|
+
# @return [String]
|
421
|
+
attr_accessor :constraint_type
|
422
|
+
|
423
|
+
# The description of the issue.
|
424
|
+
# Corresponds to the JSON property `description`
|
425
|
+
# @return [String]
|
426
|
+
attr_accessor :description
|
427
|
+
|
428
|
+
# A URL to a public documnetation, which addresses resolving this issue.
|
429
|
+
# Corresponds to the JSON property `documentationUrl`
|
430
|
+
# @return [String]
|
431
|
+
attr_accessor :documentation_url
|
432
|
+
|
433
|
+
# The incompatibility type of this issue.
|
434
|
+
# Corresponds to the JSON property `incompatibilityType`
|
435
|
+
# @return [String]
|
436
|
+
attr_accessor :incompatibility_type
|
437
|
+
|
438
|
+
# The last time when this issue was observed.
|
439
|
+
# Corresponds to the JSON property `lastObservation`
|
440
|
+
# @return [String]
|
441
|
+
attr_accessor :last_observation
|
442
|
+
|
443
|
+
# The name of the resources which are subject to this issue.
|
444
|
+
# Corresponds to the JSON property `subjects`
|
445
|
+
# @return [Array<String>]
|
446
|
+
attr_accessor :subjects
|
447
|
+
|
448
|
+
def initialize(**args)
|
449
|
+
update!(**args)
|
450
|
+
end
|
451
|
+
|
452
|
+
# Update properties of this object
|
453
|
+
def update!(**args)
|
454
|
+
@constraint_type = args[:constraint_type] if args.key?(:constraint_type)
|
455
|
+
@description = args[:description] if args.key?(:description)
|
456
|
+
@documentation_url = args[:documentation_url] if args.key?(:documentation_url)
|
457
|
+
@incompatibility_type = args[:incompatibility_type] if args.key?(:incompatibility_type)
|
458
|
+
@last_observation = args[:last_observation] if args.key?(:last_observation)
|
459
|
+
@subjects = args[:subjects] if args.key?(:subjects)
|
240
460
|
end
|
241
461
|
end
|
242
462
|
|
@@ -266,11 +486,18 @@ module Google
|
|
266
486
|
# @return [String]
|
267
487
|
attr_accessor :disk_type
|
268
488
|
|
269
|
-
# The image type to use for NAP created node.
|
489
|
+
# The image type to use for NAP created node. Please see https://cloud.google.
|
490
|
+
# com/kubernetes-engine/docs/concepts/node-images for available image types.
|
270
491
|
# Corresponds to the JSON property `imageType`
|
271
492
|
# @return [String]
|
272
493
|
attr_accessor :image_type
|
273
494
|
|
495
|
+
# Enable or disable Kubelet read only port.
|
496
|
+
# Corresponds to the JSON property `insecureKubeletReadonlyPortEnabled`
|
497
|
+
# @return [Boolean]
|
498
|
+
attr_accessor :insecure_kubelet_readonly_port_enabled
|
499
|
+
alias_method :insecure_kubelet_readonly_port_enabled?, :insecure_kubelet_readonly_port_enabled
|
500
|
+
|
274
501
|
# NodeManagement defines the set of node management services turned on for the
|
275
502
|
# node pool.
|
276
503
|
# Corresponds to the JSON property `management`
|
@@ -283,7 +510,7 @@ module Google
|
|
283
510
|
# Haswell or minCpuPlatform: Intel Sandy Bridge. For more information, read [how
|
284
511
|
# to specify min CPU platform](https://cloud.google.com/compute/docs/instances/
|
285
512
|
# specify-min-cpu-platform). This field is deprecated, min_cpu_platform should
|
286
|
-
# be specified using
|
513
|
+
# be specified using `cloud.google.com/requested-min-cpu-platform` label
|
287
514
|
# selector on the pod. To unset the min cpu platform field pass "automatic" as
|
288
515
|
# field value.
|
289
516
|
# Corresponds to the JSON property `minCpuPlatform`
|
@@ -350,6 +577,7 @@ module Google
|
|
350
577
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
351
578
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
352
579
|
@image_type = args[:image_type] if args.key?(:image_type)
|
580
|
+
@insecure_kubelet_readonly_port_enabled = args[:insecure_kubelet_readonly_port_enabled] if args.key?(:insecure_kubelet_readonly_port_enabled)
|
353
581
|
@management = args[:management] if args.key?(:management)
|
354
582
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
355
583
|
@oauth_scopes = args[:oauth_scopes] if args.key?(:oauth_scopes)
|
@@ -359,6 +587,36 @@ module Google
|
|
359
587
|
end
|
360
588
|
end
|
361
589
|
|
590
|
+
# Best effort provisioning.
|
591
|
+
class BestEffortProvisioning
|
592
|
+
include Google::Apis::Core::Hashable
|
593
|
+
|
594
|
+
# When this is enabled, cluster/node pool creations will ignore non-fatal errors
|
595
|
+
# like stockout to best provision as many nodes as possible right now and
|
596
|
+
# eventually bring up all target number of nodes
|
597
|
+
# Corresponds to the JSON property `enabled`
|
598
|
+
# @return [Boolean]
|
599
|
+
attr_accessor :enabled
|
600
|
+
alias_method :enabled?, :enabled
|
601
|
+
|
602
|
+
# Minimum number of nodes to be provisioned to be considered as succeeded, and
|
603
|
+
# the rest of nodes will be provisioned gradually and eventually when stockout
|
604
|
+
# issue has been resolved.
|
605
|
+
# Corresponds to the JSON property `minProvisionNodes`
|
606
|
+
# @return [Fixnum]
|
607
|
+
attr_accessor :min_provision_nodes
|
608
|
+
|
609
|
+
def initialize(**args)
|
610
|
+
update!(**args)
|
611
|
+
end
|
612
|
+
|
613
|
+
# Update properties of this object
|
614
|
+
def update!(**args)
|
615
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
616
|
+
@min_provision_nodes = args[:min_provision_nodes] if args.key?(:min_provision_nodes)
|
617
|
+
end
|
618
|
+
end
|
619
|
+
|
362
620
|
# Parameters for using BigQuery as the destination of resource usage export.
|
363
621
|
class BigQueryDestination
|
364
622
|
include Google::Apis::Core::Hashable
|
@@ -522,6 +780,59 @@ module Google
|
|
522
780
|
end
|
523
781
|
end
|
524
782
|
|
783
|
+
# CertificateAuthorityDomainConfig configures one or more fully qualified domain
|
784
|
+
# names (FQDN) to a specific certificate.
|
785
|
+
class CertificateAuthorityDomainConfig
|
786
|
+
include Google::Apis::Core::Hashable
|
787
|
+
|
788
|
+
# List of fully qualified domain names (FQDN). Specifying port is supported.
|
789
|
+
# Wilcards are NOT supported. Examples: - my.customdomain.com - 10.0.1.2:5000
|
790
|
+
# Corresponds to the JSON property `fqdns`
|
791
|
+
# @return [Array<String>]
|
792
|
+
attr_accessor :fqdns
|
793
|
+
|
794
|
+
# GCPSecretManagerCertificateConfig configures a secret from [Google Secret
|
795
|
+
# Manager](https://cloud.google.com/secret-manager).
|
796
|
+
# Corresponds to the JSON property `gcpSecretManagerCertificateConfig`
|
797
|
+
# @return [Google::Apis::ContainerV1::GcpSecretManagerCertificateConfig]
|
798
|
+
attr_accessor :gcp_secret_manager_certificate_config
|
799
|
+
|
800
|
+
def initialize(**args)
|
801
|
+
update!(**args)
|
802
|
+
end
|
803
|
+
|
804
|
+
# Update properties of this object
|
805
|
+
def update!(**args)
|
806
|
+
@fqdns = args[:fqdns] if args.key?(:fqdns)
|
807
|
+
@gcp_secret_manager_certificate_config = args[:gcp_secret_manager_certificate_config] if args.key?(:gcp_secret_manager_certificate_config)
|
808
|
+
end
|
809
|
+
end
|
810
|
+
|
811
|
+
# CheckAutopilotCompatibilityResponse has a list of compatibility issues.
|
812
|
+
class CheckAutopilotCompatibilityResponse
|
813
|
+
include Google::Apis::Core::Hashable
|
814
|
+
|
815
|
+
# The list of issues for the given operation.
|
816
|
+
# Corresponds to the JSON property `issues`
|
817
|
+
# @return [Array<Google::Apis::ContainerV1::AutopilotCompatibilityIssue>]
|
818
|
+
attr_accessor :issues
|
819
|
+
|
820
|
+
# The summary of the autopilot compatibility response.
|
821
|
+
# Corresponds to the JSON property `summary`
|
822
|
+
# @return [String]
|
823
|
+
attr_accessor :summary
|
824
|
+
|
825
|
+
def initialize(**args)
|
826
|
+
update!(**args)
|
827
|
+
end
|
828
|
+
|
829
|
+
# Update properties of this object
|
830
|
+
def update!(**args)
|
831
|
+
@issues = args[:issues] if args.key?(:issues)
|
832
|
+
@summary = args[:summary] if args.key?(:summary)
|
833
|
+
end
|
834
|
+
end
|
835
|
+
|
525
836
|
# CidrBlock contains an optional name and one CIDR block.
|
526
837
|
class CidrBlock
|
527
838
|
include Google::Apis::Core::Hashable
|
@@ -633,6 +944,12 @@ module Google
|
|
633
944
|
# @return [String]
|
634
945
|
attr_accessor :cluster_ipv4_cidr
|
635
946
|
|
947
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
948
|
+
# for the Compliance Posture.
|
949
|
+
# Corresponds to the JSON property `compliancePostureConfig`
|
950
|
+
# @return [Google::Apis::ContainerV1::CompliancePostureConfig]
|
951
|
+
attr_accessor :compliance_posture_config
|
952
|
+
|
636
953
|
# Which conditions caused the current cluster state.
|
637
954
|
# Corresponds to the JSON property `conditions`
|
638
955
|
# @return [Array<Google::Apis::ContainerV1::StatusCondition>]
|
@@ -644,29 +961,34 @@ module Google
|
|
644
961
|
# @return [Google::Apis::ContainerV1::ConfidentialNodes]
|
645
962
|
attr_accessor :confidential_nodes
|
646
963
|
|
964
|
+
# Configuration for all of the cluster's control plane endpoints.
|
965
|
+
# Corresponds to the JSON property `controlPlaneEndpointsConfig`
|
966
|
+
# @return [Google::Apis::ContainerV1::ControlPlaneEndpointsConfig]
|
967
|
+
attr_accessor :control_plane_endpoints_config
|
968
|
+
|
647
969
|
# Configuration for fine-grained cost management feature.
|
648
970
|
# Corresponds to the JSON property `costManagementConfig`
|
649
971
|
# @return [Google::Apis::ContainerV1::CostManagementConfig]
|
650
972
|
attr_accessor :cost_management_config
|
651
973
|
|
652
|
-
#
|
974
|
+
# Output only. The time the cluster was created, in [RFC3339](https://www.ietf.
|
653
975
|
# org/rfc/rfc3339.txt) text format.
|
654
976
|
# Corresponds to the JSON property `createTime`
|
655
977
|
# @return [String]
|
656
978
|
attr_accessor :create_time
|
657
979
|
|
658
|
-
#
|
980
|
+
# Output only. The current software version of the master endpoint.
|
659
981
|
# Corresponds to the JSON property `currentMasterVersion`
|
660
982
|
# @return [String]
|
661
983
|
attr_accessor :current_master_version
|
662
984
|
|
663
|
-
#
|
985
|
+
# Output only. The number of nodes currently in the cluster. Deprecated. Call
|
664
986
|
# Kubernetes API directly to retrieve node information.
|
665
987
|
# Corresponds to the JSON property `currentNodeCount`
|
666
988
|
# @return [Fixnum]
|
667
989
|
attr_accessor :current_node_count
|
668
990
|
|
669
|
-
#
|
991
|
+
# Output only. Deprecated, use [NodePools.version](https://cloud.google.com/
|
670
992
|
# kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools)
|
671
993
|
# instead. The current version of the node software components. If they are
|
672
994
|
# currently at multiple versions because they're in the process of being
|
@@ -690,6 +1012,11 @@ module Google
|
|
690
1012
|
# @return [String]
|
691
1013
|
attr_accessor :description
|
692
1014
|
|
1015
|
+
# K8sBetaAPIConfig , configuration for beta APIs
|
1016
|
+
# Corresponds to the JSON property `enableK8sBetaApis`
|
1017
|
+
# @return [Google::Apis::ContainerV1::K8sBetaApiConfig]
|
1018
|
+
attr_accessor :enable_k8s_beta_apis
|
1019
|
+
|
693
1020
|
# Kubernetes alpha features are enabled on this cluster. This includes alpha API
|
694
1021
|
# groups (e.g. v1alpha1) and features that may not be production ready in the
|
695
1022
|
# kubernetes version of the master and nodes. The cluster has no SLA for uptime
|
@@ -706,7 +1033,7 @@ module Google
|
|
706
1033
|
attr_accessor :enable_tpu
|
707
1034
|
alias_method :enable_tpu?, :enable_tpu
|
708
1035
|
|
709
|
-
#
|
1036
|
+
# Output only. The IP address of this cluster's master endpoint. The endpoint
|
710
1037
|
# can be accessed from the internet at `https://username:password@endpoint/`.
|
711
1038
|
# See the `masterAuth` property of this resource for username and password
|
712
1039
|
# information.
|
@@ -714,6 +1041,11 @@ module Google
|
|
714
1041
|
# @return [String]
|
715
1042
|
attr_accessor :endpoint
|
716
1043
|
|
1044
|
+
# EnterpriseConfig is the cluster enterprise configuration.
|
1045
|
+
# Corresponds to the JSON property `enterpriseConfig`
|
1046
|
+
# @return [Google::Apis::ContainerV1::EnterpriseConfig]
|
1047
|
+
attr_accessor :enterprise_config
|
1048
|
+
|
717
1049
|
# This checksum is computed by the server based on the value of cluster fields,
|
718
1050
|
# and may be sent on update requests to ensure the client has an up-to-date
|
719
1051
|
# value before proceeding.
|
@@ -721,12 +1053,17 @@ module Google
|
|
721
1053
|
# @return [String]
|
722
1054
|
attr_accessor :etag
|
723
1055
|
|
724
|
-
#
|
1056
|
+
# Output only. The time the cluster will be automatically deleted in [RFC3339](
|
725
1057
|
# https://www.ietf.org/rfc/rfc3339.txt) text format.
|
726
1058
|
# Corresponds to the JSON property `expireTime`
|
727
1059
|
# @return [String]
|
728
1060
|
attr_accessor :expire_time
|
729
1061
|
|
1062
|
+
# Fleet is the fleet configuration for the cluster.
|
1063
|
+
# Corresponds to the JSON property `fleet`
|
1064
|
+
# @return [Google::Apis::ContainerV1::Fleet]
|
1065
|
+
attr_accessor :fleet
|
1066
|
+
|
730
1067
|
# Output only. Unique id for the cluster.
|
731
1068
|
# Corresponds to the JSON property `id`
|
732
1069
|
# @return [String]
|
@@ -763,7 +1100,7 @@ module Google
|
|
763
1100
|
# @return [Fixnum]
|
764
1101
|
attr_accessor :initial_node_count
|
765
1102
|
|
766
|
-
# Deprecated. Use node_pools.instance_group_urls.
|
1103
|
+
# Output only. Deprecated. Use node_pools.instance_group_urls.
|
767
1104
|
# Corresponds to the JSON property `instanceGroupUrls`
|
768
1105
|
# @return [Array<String>]
|
769
1106
|
attr_accessor :instance_group_urls
|
@@ -783,10 +1120,10 @@ module Google
|
|
783
1120
|
# @return [Google::Apis::ContainerV1::LegacyAbac]
|
784
1121
|
attr_accessor :legacy_abac
|
785
1122
|
|
786
|
-
#
|
787
|
-
#
|
788
|
-
#
|
789
|
-
#
|
1123
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
1124
|
+
# com/compute/docs/regions-zones/regions-zones#available) or [region](https://
|
1125
|
+
# cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
|
1126
|
+
# the cluster resides.
|
790
1127
|
# Corresponds to the JSON property `location`
|
791
1128
|
# @return [String]
|
792
1129
|
attr_accessor :location
|
@@ -893,9 +1230,9 @@ module Google
|
|
893
1230
|
# @return [Google::Apis::ContainerV1::NodeConfig]
|
894
1231
|
attr_accessor :node_config
|
895
1232
|
|
896
|
-
#
|
897
|
-
#
|
898
|
-
#
|
1233
|
+
# Output only. The size of the address space on each node for hosting containers.
|
1234
|
+
# This is provisioned from within the `container_ipv4_cidr` range. This field
|
1235
|
+
# will only be set when cluster is in route-based network mode.
|
899
1236
|
# Corresponds to the JSON property `nodeIpv4CidrSize`
|
900
1237
|
# @return [Fixnum]
|
901
1238
|
attr_accessor :node_ipv4_cidr_size
|
@@ -922,11 +1259,24 @@ module Google
|
|
922
1259
|
# @return [Google::Apis::ContainerV1::NotificationConfig]
|
923
1260
|
attr_accessor :notification_config
|
924
1261
|
|
1262
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
1263
|
+
# This field is used by Google internal products that are built on top of a GKE
|
1264
|
+
# cluster and take the ownership of the cluster.
|
1265
|
+
# Corresponds to the JSON property `parentProductConfig`
|
1266
|
+
# @return [Google::Apis::ContainerV1::ParentProductConfig]
|
1267
|
+
attr_accessor :parent_product_config
|
1268
|
+
|
925
1269
|
# Configuration options for private clusters.
|
926
1270
|
# Corresponds to the JSON property `privateClusterConfig`
|
927
1271
|
# @return [Google::Apis::ContainerV1::PrivateClusterConfig]
|
928
1272
|
attr_accessor :private_cluster_config
|
929
1273
|
|
1274
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
1275
|
+
# that can be created.
|
1276
|
+
# Corresponds to the JSON property `rbacBindingConfig`
|
1277
|
+
# @return [Google::Apis::ContainerV1::RbacBindingConfig]
|
1278
|
+
attr_accessor :rbac_binding_config
|
1279
|
+
|
930
1280
|
# ReleaseChannel indicates which release channel a cluster is subscribed to.
|
931
1281
|
# Release channels are arranged in order of risk. When a cluster is subscribed
|
932
1282
|
# to a release channel, Google maintains both the master version and the node
|
@@ -946,12 +1296,35 @@ module Google
|
|
946
1296
|
# @return [Google::Apis::ContainerV1::ResourceUsageExportConfig]
|
947
1297
|
attr_accessor :resource_usage_export_config
|
948
1298
|
|
949
|
-
#
|
1299
|
+
# Output only. Reserved for future use.
|
1300
|
+
# Corresponds to the JSON property `satisfiesPzi`
|
1301
|
+
# @return [Boolean]
|
1302
|
+
attr_accessor :satisfies_pzi
|
1303
|
+
alias_method :satisfies_pzi?, :satisfies_pzi
|
1304
|
+
|
1305
|
+
# Output only. Reserved for future use.
|
1306
|
+
# Corresponds to the JSON property `satisfiesPzs`
|
1307
|
+
# @return [Boolean]
|
1308
|
+
attr_accessor :satisfies_pzs
|
1309
|
+
alias_method :satisfies_pzs?, :satisfies_pzs
|
1310
|
+
|
1311
|
+
# SecretManagerConfig is config for secret manager enablement.
|
1312
|
+
# Corresponds to the JSON property `secretManagerConfig`
|
1313
|
+
# @return [Google::Apis::ContainerV1::SecretManagerConfig]
|
1314
|
+
attr_accessor :secret_manager_config
|
1315
|
+
|
1316
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
1317
|
+
# the Security Posture API.
|
1318
|
+
# Corresponds to the JSON property `securityPostureConfig`
|
1319
|
+
# @return [Google::Apis::ContainerV1::SecurityPostureConfig]
|
1320
|
+
attr_accessor :security_posture_config
|
1321
|
+
|
1322
|
+
# Output only. Server-defined URL for the resource.
|
950
1323
|
# Corresponds to the JSON property `selfLink`
|
951
1324
|
# @return [String]
|
952
1325
|
attr_accessor :self_link
|
953
1326
|
|
954
|
-
#
|
1327
|
+
# Output only. The IP address range of the Kubernetes services in this cluster,
|
955
1328
|
# in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
|
956
1329
|
# notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `
|
957
1330
|
# /16` from the container CIDR.
|
@@ -964,12 +1337,12 @@ module Google
|
|
964
1337
|
# @return [Google::Apis::ContainerV1::ShieldedNodes]
|
965
1338
|
attr_accessor :shielded_nodes
|
966
1339
|
|
967
|
-
#
|
1340
|
+
# Output only. The current status of this cluster.
|
968
1341
|
# Corresponds to the JSON property `status`
|
969
1342
|
# @return [String]
|
970
1343
|
attr_accessor :status
|
971
1344
|
|
972
|
-
#
|
1345
|
+
# Output only. Deprecated. Use conditions instead. Additional information about
|
973
1346
|
# the current status of this cluster, if available.
|
974
1347
|
# Corresponds to the JSON property `statusMessage`
|
975
1348
|
# @return [String]
|
@@ -981,13 +1354,19 @@ module Google
|
|
981
1354
|
# @return [String]
|
982
1355
|
attr_accessor :subnetwork
|
983
1356
|
|
984
|
-
#
|
985
|
-
#
|
986
|
-
#
|
1357
|
+
# Output only. The IP address range of the Cloud TPUs in this cluster, in [CIDR](
|
1358
|
+
# http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.
|
1359
|
+
# 2.3.4/29`).
|
987
1360
|
# Corresponds to the JSON property `tpuIpv4CidrBlock`
|
988
1361
|
# @return [String]
|
989
1362
|
attr_accessor :tpu_ipv4_cidr_block
|
990
1363
|
|
1364
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
1365
|
+
# signing certs and token that are used for communication within cluster.
|
1366
|
+
# Corresponds to the JSON property `userManagedKeysConfig`
|
1367
|
+
# @return [Google::Apis::ContainerV1::UserManagedKeysConfig]
|
1368
|
+
attr_accessor :user_managed_keys_config
|
1369
|
+
|
991
1370
|
# VerticalPodAutoscaling contains global, per-cluster information required by
|
992
1371
|
# Vertical Pod Autoscaler to automatically adjust the resources of pods
|
993
1372
|
# controlled by it.
|
@@ -1000,9 +1379,9 @@ module Google
|
|
1000
1379
|
# @return [Google::Apis::ContainerV1::WorkloadIdentityConfig]
|
1001
1380
|
attr_accessor :workload_identity_config
|
1002
1381
|
|
1003
|
-
#
|
1004
|
-
#
|
1005
|
-
#
|
1382
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
1383
|
+
# com/compute/docs/zones#available) in which the cluster resides. This field is
|
1384
|
+
# deprecated, use location instead.
|
1006
1385
|
# Corresponds to the JSON property `zone`
|
1007
1386
|
# @return [String]
|
1008
1387
|
attr_accessor :zone
|
@@ -1019,8 +1398,10 @@ module Google
|
|
1019
1398
|
@autoscaling = args[:autoscaling] if args.key?(:autoscaling)
|
1020
1399
|
@binary_authorization = args[:binary_authorization] if args.key?(:binary_authorization)
|
1021
1400
|
@cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
|
1401
|
+
@compliance_posture_config = args[:compliance_posture_config] if args.key?(:compliance_posture_config)
|
1022
1402
|
@conditions = args[:conditions] if args.key?(:conditions)
|
1023
1403
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
1404
|
+
@control_plane_endpoints_config = args[:control_plane_endpoints_config] if args.key?(:control_plane_endpoints_config)
|
1024
1405
|
@cost_management_config = args[:cost_management_config] if args.key?(:cost_management_config)
|
1025
1406
|
@create_time = args[:create_time] if args.key?(:create_time)
|
1026
1407
|
@current_master_version = args[:current_master_version] if args.key?(:current_master_version)
|
@@ -1029,11 +1410,14 @@ module Google
|
|
1029
1410
|
@database_encryption = args[:database_encryption] if args.key?(:database_encryption)
|
1030
1411
|
@default_max_pods_constraint = args[:default_max_pods_constraint] if args.key?(:default_max_pods_constraint)
|
1031
1412
|
@description = args[:description] if args.key?(:description)
|
1413
|
+
@enable_k8s_beta_apis = args[:enable_k8s_beta_apis] if args.key?(:enable_k8s_beta_apis)
|
1032
1414
|
@enable_kubernetes_alpha = args[:enable_kubernetes_alpha] if args.key?(:enable_kubernetes_alpha)
|
1033
1415
|
@enable_tpu = args[:enable_tpu] if args.key?(:enable_tpu)
|
1034
1416
|
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
1417
|
+
@enterprise_config = args[:enterprise_config] if args.key?(:enterprise_config)
|
1035
1418
|
@etag = args[:etag] if args.key?(:etag)
|
1036
1419
|
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
1420
|
+
@fleet = args[:fleet] if args.key?(:fleet)
|
1037
1421
|
@id = args[:id] if args.key?(:id)
|
1038
1422
|
@identity_service_config = args[:identity_service_config] if args.key?(:identity_service_config)
|
1039
1423
|
@initial_cluster_version = args[:initial_cluster_version] if args.key?(:initial_cluster_version)
|
@@ -1062,10 +1446,16 @@ module Google
|
|
1062
1446
|
@node_pool_defaults = args[:node_pool_defaults] if args.key?(:node_pool_defaults)
|
1063
1447
|
@node_pools = args[:node_pools] if args.key?(:node_pools)
|
1064
1448
|
@notification_config = args[:notification_config] if args.key?(:notification_config)
|
1449
|
+
@parent_product_config = args[:parent_product_config] if args.key?(:parent_product_config)
|
1065
1450
|
@private_cluster_config = args[:private_cluster_config] if args.key?(:private_cluster_config)
|
1451
|
+
@rbac_binding_config = args[:rbac_binding_config] if args.key?(:rbac_binding_config)
|
1066
1452
|
@release_channel = args[:release_channel] if args.key?(:release_channel)
|
1067
1453
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
1068
1454
|
@resource_usage_export_config = args[:resource_usage_export_config] if args.key?(:resource_usage_export_config)
|
1455
|
+
@satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
|
1456
|
+
@satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
|
1457
|
+
@secret_manager_config = args[:secret_manager_config] if args.key?(:secret_manager_config)
|
1458
|
+
@security_posture_config = args[:security_posture_config] if args.key?(:security_posture_config)
|
1069
1459
|
@self_link = args[:self_link] if args.key?(:self_link)
|
1070
1460
|
@services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
|
1071
1461
|
@shielded_nodes = args[:shielded_nodes] if args.key?(:shielded_nodes)
|
@@ -1073,6 +1463,7 @@ module Google
|
|
1073
1463
|
@status_message = args[:status_message] if args.key?(:status_message)
|
1074
1464
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
1075
1465
|
@tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
|
1466
|
+
@user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
|
1076
1467
|
@vertical_pod_autoscaling = args[:vertical_pod_autoscaling] if args.key?(:vertical_pod_autoscaling)
|
1077
1468
|
@workload_identity_config = args[:workload_identity_config] if args.key?(:workload_identity_config)
|
1078
1469
|
@zone = args[:zone] if args.key?(:zone)
|
@@ -1128,11 +1519,36 @@ module Google
|
|
1128
1519
|
end
|
1129
1520
|
end
|
1130
1521
|
|
1522
|
+
# Configuration of network bandwidth tiers
|
1523
|
+
class ClusterNetworkPerformanceConfig
|
1524
|
+
include Google::Apis::Core::Hashable
|
1525
|
+
|
1526
|
+
# Specifies the total network bandwidth tier for NodePools in the cluster.
|
1527
|
+
# Corresponds to the JSON property `totalEgressBandwidthTier`
|
1528
|
+
# @return [String]
|
1529
|
+
attr_accessor :total_egress_bandwidth_tier
|
1530
|
+
|
1531
|
+
def initialize(**args)
|
1532
|
+
update!(**args)
|
1533
|
+
end
|
1534
|
+
|
1535
|
+
# Update properties of this object
|
1536
|
+
def update!(**args)
|
1537
|
+
@total_egress_bandwidth_tier = args[:total_egress_bandwidth_tier] if args.key?(:total_egress_bandwidth_tier)
|
1538
|
+
end
|
1539
|
+
end
|
1540
|
+
|
1131
1541
|
# ClusterUpdate describes an update to the cluster. Exactly one update can be
|
1132
1542
|
# applied to a cluster with each request, so at most one field can be provided.
|
1133
1543
|
class ClusterUpdate
|
1134
1544
|
include Google::Apis::Core::Hashable
|
1135
1545
|
|
1546
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
1547
|
+
# ranges supporting the ClusterUpdate message.
|
1548
|
+
# Corresponds to the JSON property `additionalPodRangesConfig`
|
1549
|
+
# @return [Google::Apis::ContainerV1::AdditionalPodRangesConfig]
|
1550
|
+
attr_accessor :additional_pod_ranges_config
|
1551
|
+
|
1136
1552
|
# Configuration for the addons that can be automatically spun up in the cluster,
|
1137
1553
|
# enabling additional functionality.
|
1138
1554
|
# Corresponds to the JSON property `desiredAddonsConfig`
|
@@ -1144,6 +1560,11 @@ module Google
|
|
1144
1560
|
# @return [Google::Apis::ContainerV1::AuthenticatorGroupsConfig]
|
1145
1561
|
attr_accessor :desired_authenticator_groups_config
|
1146
1562
|
|
1563
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
1564
|
+
# Corresponds to the JSON property `desiredAutopilotWorkloadPolicyConfig`
|
1565
|
+
# @return [Google::Apis::ContainerV1::WorkloadPolicyConfig]
|
1566
|
+
attr_accessor :desired_autopilot_workload_policy_config
|
1567
|
+
|
1147
1568
|
# Configuration for Binary Authorization.
|
1148
1569
|
# Corresponds to the JSON property `desiredBinaryAuthorization`
|
1149
1570
|
# @return [Google::Apis::ContainerV1::BinaryAuthorization]
|
@@ -1156,6 +1577,22 @@ module Google
|
|
1156
1577
|
# @return [Google::Apis::ContainerV1::ClusterAutoscaling]
|
1157
1578
|
attr_accessor :desired_cluster_autoscaling
|
1158
1579
|
|
1580
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
1581
|
+
# for the Compliance Posture.
|
1582
|
+
# Corresponds to the JSON property `desiredCompliancePostureConfig`
|
1583
|
+
# @return [Google::Apis::ContainerV1::CompliancePostureConfig]
|
1584
|
+
attr_accessor :desired_compliance_posture_config
|
1585
|
+
|
1586
|
+
# ContainerdConfig contains configuration to customize containerd.
|
1587
|
+
# Corresponds to the JSON property `desiredContainerdConfig`
|
1588
|
+
# @return [Google::Apis::ContainerV1::ContainerdConfig]
|
1589
|
+
attr_accessor :desired_containerd_config
|
1590
|
+
|
1591
|
+
# Configuration for all of the cluster's control plane endpoints.
|
1592
|
+
# Corresponds to the JSON property `desiredControlPlaneEndpointsConfig`
|
1593
|
+
# @return [Google::Apis::ContainerV1::ControlPlaneEndpointsConfig]
|
1594
|
+
attr_accessor :desired_control_plane_endpoints_config
|
1595
|
+
|
1159
1596
|
# Configuration for fine-grained cost management feature.
|
1160
1597
|
# Corresponds to the JSON property `desiredCostManagementConfig`
|
1161
1598
|
# @return [Google::Apis::ContainerV1::CostManagementConfig]
|
@@ -1171,23 +1608,68 @@ module Google
|
|
1171
1608
|
# @return [String]
|
1172
1609
|
attr_accessor :desired_datapath_provider
|
1173
1610
|
|
1611
|
+
# Override the default setting of whether future created nodes have private IP
|
1612
|
+
# addresses only, namely NetworkConfig.default_enable_private_nodes
|
1613
|
+
# Corresponds to the JSON property `desiredDefaultEnablePrivateNodes`
|
1614
|
+
# @return [Boolean]
|
1615
|
+
attr_accessor :desired_default_enable_private_nodes
|
1616
|
+
alias_method :desired_default_enable_private_nodes?, :desired_default_enable_private_nodes
|
1617
|
+
|
1174
1618
|
# DefaultSnatStatus contains the desired state of whether default sNAT should be
|
1175
1619
|
# disabled on the cluster.
|
1176
1620
|
# Corresponds to the JSON property `desiredDefaultSnatStatus`
|
1177
1621
|
# @return [Google::Apis::ContainerV1::DefaultSnatStatus]
|
1178
1622
|
attr_accessor :desired_default_snat_status
|
1179
1623
|
|
1624
|
+
# Enable/Disable L4 LB VPC firewall reconciliation for the cluster.
|
1625
|
+
# Corresponds to the JSON property `desiredDisableL4LbFirewallReconciliation`
|
1626
|
+
# @return [Boolean]
|
1627
|
+
attr_accessor :desired_disable_l4_lb_firewall_reconciliation
|
1628
|
+
alias_method :desired_disable_l4_lb_firewall_reconciliation?, :desired_disable_l4_lb_firewall_reconciliation
|
1629
|
+
|
1180
1630
|
# DNSConfig contains the desired set of options for configuring clusterDNS.
|
1181
1631
|
# Corresponds to the JSON property `desiredDnsConfig`
|
1182
1632
|
# @return [Google::Apis::ContainerV1::DnsConfig]
|
1183
1633
|
attr_accessor :desired_dns_config
|
1184
1634
|
|
1185
|
-
# Enable/Disable
|
1635
|
+
# Enable/Disable Cilium Clusterwide Network Policy for the cluster.
|
1636
|
+
# Corresponds to the JSON property `desiredEnableCiliumClusterwideNetworkPolicy`
|
1637
|
+
# @return [Boolean]
|
1638
|
+
attr_accessor :desired_enable_cilium_clusterwide_network_policy
|
1639
|
+
alias_method :desired_enable_cilium_clusterwide_network_policy?, :desired_enable_cilium_clusterwide_network_policy
|
1640
|
+
|
1641
|
+
# Enable/Disable FQDN Network Policy for the cluster.
|
1642
|
+
# Corresponds to the JSON property `desiredEnableFqdnNetworkPolicy`
|
1643
|
+
# @return [Boolean]
|
1644
|
+
attr_accessor :desired_enable_fqdn_network_policy
|
1645
|
+
alias_method :desired_enable_fqdn_network_policy?, :desired_enable_fqdn_network_policy
|
1646
|
+
|
1647
|
+
# Enable/Disable Multi-Networking for the cluster
|
1648
|
+
# Corresponds to the JSON property `desiredEnableMultiNetworking`
|
1649
|
+
# @return [Boolean]
|
1650
|
+
attr_accessor :desired_enable_multi_networking
|
1651
|
+
alias_method :desired_enable_multi_networking?, :desired_enable_multi_networking
|
1652
|
+
|
1653
|
+
# Enable/Disable private endpoint for the cluster's master. Deprecated: Use
|
1654
|
+
# desired_control_plane_endpoints_config.ip_endpoints_config.
|
1655
|
+
# enable_public_endpoint instead. Note that the value of enable_public_endpoint
|
1656
|
+
# is reversed: if enable_private_endpoint is false, then enable_public_endpoint
|
1657
|
+
# will be true.
|
1186
1658
|
# Corresponds to the JSON property `desiredEnablePrivateEndpoint`
|
1187
1659
|
# @return [Boolean]
|
1188
1660
|
attr_accessor :desired_enable_private_endpoint
|
1189
1661
|
alias_method :desired_enable_private_endpoint?, :desired_enable_private_endpoint
|
1190
1662
|
|
1663
|
+
# DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
|
1664
|
+
# Corresponds to the JSON property `desiredEnterpriseConfig`
|
1665
|
+
# @return [Google::Apis::ContainerV1::DesiredEnterpriseConfig]
|
1666
|
+
attr_accessor :desired_enterprise_config
|
1667
|
+
|
1668
|
+
# Fleet is the fleet configuration for the cluster.
|
1669
|
+
# Corresponds to the JSON property `desiredFleet`
|
1670
|
+
# @return [Google::Apis::ContainerV1::Fleet]
|
1671
|
+
attr_accessor :desired_fleet
|
1672
|
+
|
1191
1673
|
# GatewayAPIConfig contains the desired config of Gateway API on this cluster.
|
1192
1674
|
# Corresponds to the JSON property `desiredGatewayApiConfig`
|
1193
1675
|
# @return [Google::Apis::ContainerV1::GatewayApiConfig]
|
@@ -1211,12 +1693,22 @@ module Google
|
|
1211
1693
|
# @return [String]
|
1212
1694
|
attr_accessor :desired_image_type
|
1213
1695
|
|
1696
|
+
# Specify the details of in-transit encryption.
|
1697
|
+
# Corresponds to the JSON property `desiredInTransitEncryptionConfig`
|
1698
|
+
# @return [String]
|
1699
|
+
attr_accessor :desired_in_transit_encryption_config
|
1700
|
+
|
1214
1701
|
# IntraNodeVisibilityConfig contains the desired config of the intra-node
|
1215
1702
|
# visibility on this cluster.
|
1216
1703
|
# Corresponds to the JSON property `desiredIntraNodeVisibilityConfig`
|
1217
1704
|
# @return [Google::Apis::ContainerV1::IntraNodeVisibilityConfig]
|
1218
1705
|
attr_accessor :desired_intra_node_visibility_config
|
1219
1706
|
|
1707
|
+
# K8sBetaAPIConfig , configuration for beta APIs
|
1708
|
+
# Corresponds to the JSON property `desiredK8sBetaApis`
|
1709
|
+
# @return [Google::Apis::ContainerV1::K8sBetaApiConfig]
|
1710
|
+
attr_accessor :desired_k8s_beta_apis
|
1711
|
+
|
1220
1712
|
# ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
|
1221
1713
|
# subsetting on this cluster.
|
1222
1714
|
# Corresponds to the JSON property `desiredL4ilbSubsettingConfig`
|
@@ -1288,12 +1780,41 @@ module Google
|
|
1288
1780
|
# @return [String]
|
1289
1781
|
attr_accessor :desired_monitoring_service
|
1290
1782
|
|
1783
|
+
# Configuration of network bandwidth tiers
|
1784
|
+
# Corresponds to the JSON property `desiredNetworkPerformanceConfig`
|
1785
|
+
# @return [Google::Apis::ContainerV1::ClusterNetworkPerformanceConfig]
|
1786
|
+
attr_accessor :desired_network_performance_config
|
1787
|
+
|
1788
|
+
# Node kubelet configs.
|
1789
|
+
# Corresponds to the JSON property `desiredNodeKubeletConfig`
|
1790
|
+
# @return [Google::Apis::ContainerV1::NodeKubeletConfig]
|
1791
|
+
attr_accessor :desired_node_kubelet_config
|
1792
|
+
|
1793
|
+
# Node kubelet configs.
|
1794
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigKubeletConfig`
|
1795
|
+
# @return [Google::Apis::ContainerV1::NodeKubeletConfig]
|
1796
|
+
attr_accessor :desired_node_pool_auto_config_kubelet_config
|
1797
|
+
|
1798
|
+
# Parameters that can be configured on Linux nodes.
|
1799
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigLinuxNodeConfig`
|
1800
|
+
# @return [Google::Apis::ContainerV1::LinuxNodeConfig]
|
1801
|
+
attr_accessor :desired_node_pool_auto_config_linux_node_config
|
1802
|
+
|
1291
1803
|
# Collection of Compute Engine network tags that can be applied to a node's
|
1292
1804
|
# underlying VM instance.
|
1293
1805
|
# Corresponds to the JSON property `desiredNodePoolAutoConfigNetworkTags`
|
1294
1806
|
# @return [Google::Apis::ContainerV1::NetworkTags]
|
1295
1807
|
attr_accessor :desired_node_pool_auto_config_network_tags
|
1296
1808
|
|
1809
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
1810
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
1811
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
1812
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
1813
|
+
# specified. Existing tags will be replaced with new values.
|
1814
|
+
# Corresponds to the JSON property `desiredNodePoolAutoConfigResourceManagerTags`
|
1815
|
+
# @return [Google::Apis::ContainerV1::ResourceManagerTags]
|
1816
|
+
attr_accessor :desired_node_pool_auto_config_resource_manager_tags
|
1817
|
+
|
1297
1818
|
# NodePoolAutoscaling contains information required by cluster autoscaler to
|
1298
1819
|
# adjust the size of the node pool to the current cluster usage.
|
1299
1820
|
# Corresponds to the JSON property `desiredNodePoolAutoscaling`
|
@@ -1328,6 +1849,13 @@ module Google
|
|
1328
1849
|
# @return [Google::Apis::ContainerV1::NotificationConfig]
|
1329
1850
|
attr_accessor :desired_notification_config
|
1330
1851
|
|
1852
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
1853
|
+
# This field is used by Google internal products that are built on top of a GKE
|
1854
|
+
# cluster and take the ownership of the cluster.
|
1855
|
+
# Corresponds to the JSON property `desiredParentProductConfig`
|
1856
|
+
# @return [Google::Apis::ContainerV1::ParentProductConfig]
|
1857
|
+
attr_accessor :desired_parent_product_config
|
1858
|
+
|
1331
1859
|
# Configuration options for private clusters.
|
1332
1860
|
# Corresponds to the JSON property `desiredPrivateClusterConfig`
|
1333
1861
|
# @return [Google::Apis::ContainerV1::PrivateClusterConfig]
|
@@ -1338,6 +1866,12 @@ module Google
|
|
1338
1866
|
# @return [String]
|
1339
1867
|
attr_accessor :desired_private_ipv6_google_access
|
1340
1868
|
|
1869
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
1870
|
+
# that can be created.
|
1871
|
+
# Corresponds to the JSON property `desiredRbacBindingConfig`
|
1872
|
+
# @return [Google::Apis::ContainerV1::RbacBindingConfig]
|
1873
|
+
attr_accessor :desired_rbac_binding_config
|
1874
|
+
|
1341
1875
|
# ReleaseChannel indicates which release channel a cluster is subscribed to.
|
1342
1876
|
# Release channels are arranged in order of risk. When a cluster is subscribed
|
1343
1877
|
# to a release channel, Google maintains both the master version and the node
|
@@ -1351,6 +1885,17 @@ module Google
|
|
1351
1885
|
# @return [Google::Apis::ContainerV1::ResourceUsageExportConfig]
|
1352
1886
|
attr_accessor :desired_resource_usage_export_config
|
1353
1887
|
|
1888
|
+
# SecretManagerConfig is config for secret manager enablement.
|
1889
|
+
# Corresponds to the JSON property `desiredSecretManagerConfig`
|
1890
|
+
# @return [Google::Apis::ContainerV1::SecretManagerConfig]
|
1891
|
+
attr_accessor :desired_secret_manager_config
|
1892
|
+
|
1893
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
1894
|
+
# the Security Posture API.
|
1895
|
+
# Corresponds to the JSON property `desiredSecurityPostureConfig`
|
1896
|
+
# @return [Google::Apis::ContainerV1::SecurityPostureConfig]
|
1897
|
+
attr_accessor :desired_security_posture_config
|
1898
|
+
|
1354
1899
|
# Config to block services with externalIPs field.
|
1355
1900
|
# Corresponds to the JSON property `desiredServiceExternalIpsConfig`
|
1356
1901
|
# @return [Google::Apis::ContainerV1::ServiceExternalIPsConfig]
|
@@ -1380,6 +1925,11 @@ module Google
|
|
1380
1925
|
# @return [Google::Apis::ContainerV1::WorkloadIdentityConfig]
|
1381
1926
|
attr_accessor :desired_workload_identity_config
|
1382
1927
|
|
1928
|
+
# K8sBetaAPIConfig , configuration for beta APIs
|
1929
|
+
# Corresponds to the JSON property `enableK8sBetaApis`
|
1930
|
+
# @return [Google::Apis::ContainerV1::K8sBetaApiConfig]
|
1931
|
+
attr_accessor :enable_k8s_beta_apis
|
1932
|
+
|
1383
1933
|
# The current etag of the cluster. If an etag is provided and does not match the
|
1384
1934
|
# current etag of the cluster, update will be blocked and an ABORTED error will
|
1385
1935
|
# be returned.
|
@@ -1387,27 +1937,53 @@ module Google
|
|
1387
1937
|
# @return [String]
|
1388
1938
|
attr_accessor :etag
|
1389
1939
|
|
1940
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
1941
|
+
# ranges supporting the ClusterUpdate message.
|
1942
|
+
# Corresponds to the JSON property `removedAdditionalPodRangesConfig`
|
1943
|
+
# @return [Google::Apis::ContainerV1::AdditionalPodRangesConfig]
|
1944
|
+
attr_accessor :removed_additional_pod_ranges_config
|
1945
|
+
|
1946
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
1947
|
+
# signing certs and token that are used for communication within cluster.
|
1948
|
+
# Corresponds to the JSON property `userManagedKeysConfig`
|
1949
|
+
# @return [Google::Apis::ContainerV1::UserManagedKeysConfig]
|
1950
|
+
attr_accessor :user_managed_keys_config
|
1951
|
+
|
1390
1952
|
def initialize(**args)
|
1391
1953
|
update!(**args)
|
1392
1954
|
end
|
1393
1955
|
|
1394
1956
|
# Update properties of this object
|
1395
1957
|
def update!(**args)
|
1958
|
+
@additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config)
|
1396
1959
|
@desired_addons_config = args[:desired_addons_config] if args.key?(:desired_addons_config)
|
1397
1960
|
@desired_authenticator_groups_config = args[:desired_authenticator_groups_config] if args.key?(:desired_authenticator_groups_config)
|
1961
|
+
@desired_autopilot_workload_policy_config = args[:desired_autopilot_workload_policy_config] if args.key?(:desired_autopilot_workload_policy_config)
|
1398
1962
|
@desired_binary_authorization = args[:desired_binary_authorization] if args.key?(:desired_binary_authorization)
|
1399
1963
|
@desired_cluster_autoscaling = args[:desired_cluster_autoscaling] if args.key?(:desired_cluster_autoscaling)
|
1964
|
+
@desired_compliance_posture_config = args[:desired_compliance_posture_config] if args.key?(:desired_compliance_posture_config)
|
1965
|
+
@desired_containerd_config = args[:desired_containerd_config] if args.key?(:desired_containerd_config)
|
1966
|
+
@desired_control_plane_endpoints_config = args[:desired_control_plane_endpoints_config] if args.key?(:desired_control_plane_endpoints_config)
|
1400
1967
|
@desired_cost_management_config = args[:desired_cost_management_config] if args.key?(:desired_cost_management_config)
|
1401
1968
|
@desired_database_encryption = args[:desired_database_encryption] if args.key?(:desired_database_encryption)
|
1402
1969
|
@desired_datapath_provider = args[:desired_datapath_provider] if args.key?(:desired_datapath_provider)
|
1970
|
+
@desired_default_enable_private_nodes = args[:desired_default_enable_private_nodes] if args.key?(:desired_default_enable_private_nodes)
|
1403
1971
|
@desired_default_snat_status = args[:desired_default_snat_status] if args.key?(:desired_default_snat_status)
|
1972
|
+
@desired_disable_l4_lb_firewall_reconciliation = args[:desired_disable_l4_lb_firewall_reconciliation] if args.key?(:desired_disable_l4_lb_firewall_reconciliation)
|
1404
1973
|
@desired_dns_config = args[:desired_dns_config] if args.key?(:desired_dns_config)
|
1974
|
+
@desired_enable_cilium_clusterwide_network_policy = args[:desired_enable_cilium_clusterwide_network_policy] if args.key?(:desired_enable_cilium_clusterwide_network_policy)
|
1975
|
+
@desired_enable_fqdn_network_policy = args[:desired_enable_fqdn_network_policy] if args.key?(:desired_enable_fqdn_network_policy)
|
1976
|
+
@desired_enable_multi_networking = args[:desired_enable_multi_networking] if args.key?(:desired_enable_multi_networking)
|
1405
1977
|
@desired_enable_private_endpoint = args[:desired_enable_private_endpoint] if args.key?(:desired_enable_private_endpoint)
|
1978
|
+
@desired_enterprise_config = args[:desired_enterprise_config] if args.key?(:desired_enterprise_config)
|
1979
|
+
@desired_fleet = args[:desired_fleet] if args.key?(:desired_fleet)
|
1406
1980
|
@desired_gateway_api_config = args[:desired_gateway_api_config] if args.key?(:desired_gateway_api_config)
|
1407
1981
|
@desired_gcfs_config = args[:desired_gcfs_config] if args.key?(:desired_gcfs_config)
|
1408
1982
|
@desired_identity_service_config = args[:desired_identity_service_config] if args.key?(:desired_identity_service_config)
|
1409
1983
|
@desired_image_type = args[:desired_image_type] if args.key?(:desired_image_type)
|
1984
|
+
@desired_in_transit_encryption_config = args[:desired_in_transit_encryption_config] if args.key?(:desired_in_transit_encryption_config)
|
1410
1985
|
@desired_intra_node_visibility_config = args[:desired_intra_node_visibility_config] if args.key?(:desired_intra_node_visibility_config)
|
1986
|
+
@desired_k8s_beta_apis = args[:desired_k8s_beta_apis] if args.key?(:desired_k8s_beta_apis)
|
1411
1987
|
@desired_l4ilb_subsetting_config = args[:desired_l4ilb_subsetting_config] if args.key?(:desired_l4ilb_subsetting_config)
|
1412
1988
|
@desired_locations = args[:desired_locations] if args.key?(:desired_locations)
|
1413
1989
|
@desired_logging_config = args[:desired_logging_config] if args.key?(:desired_logging_config)
|
@@ -1417,22 +1993,34 @@ module Google
|
|
1417
1993
|
@desired_mesh_certificates = args[:desired_mesh_certificates] if args.key?(:desired_mesh_certificates)
|
1418
1994
|
@desired_monitoring_config = args[:desired_monitoring_config] if args.key?(:desired_monitoring_config)
|
1419
1995
|
@desired_monitoring_service = args[:desired_monitoring_service] if args.key?(:desired_monitoring_service)
|
1996
|
+
@desired_network_performance_config = args[:desired_network_performance_config] if args.key?(:desired_network_performance_config)
|
1997
|
+
@desired_node_kubelet_config = args[:desired_node_kubelet_config] if args.key?(:desired_node_kubelet_config)
|
1998
|
+
@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)
|
1999
|
+
@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
2000
|
@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)
|
2001
|
+
@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
2002
|
@desired_node_pool_autoscaling = args[:desired_node_pool_autoscaling] if args.key?(:desired_node_pool_autoscaling)
|
1422
2003
|
@desired_node_pool_id = args[:desired_node_pool_id] if args.key?(:desired_node_pool_id)
|
1423
2004
|
@desired_node_pool_logging_config = args[:desired_node_pool_logging_config] if args.key?(:desired_node_pool_logging_config)
|
1424
2005
|
@desired_node_version = args[:desired_node_version] if args.key?(:desired_node_version)
|
1425
2006
|
@desired_notification_config = args[:desired_notification_config] if args.key?(:desired_notification_config)
|
2007
|
+
@desired_parent_product_config = args[:desired_parent_product_config] if args.key?(:desired_parent_product_config)
|
1426
2008
|
@desired_private_cluster_config = args[:desired_private_cluster_config] if args.key?(:desired_private_cluster_config)
|
1427
2009
|
@desired_private_ipv6_google_access = args[:desired_private_ipv6_google_access] if args.key?(:desired_private_ipv6_google_access)
|
2010
|
+
@desired_rbac_binding_config = args[:desired_rbac_binding_config] if args.key?(:desired_rbac_binding_config)
|
1428
2011
|
@desired_release_channel = args[:desired_release_channel] if args.key?(:desired_release_channel)
|
1429
2012
|
@desired_resource_usage_export_config = args[:desired_resource_usage_export_config] if args.key?(:desired_resource_usage_export_config)
|
2013
|
+
@desired_secret_manager_config = args[:desired_secret_manager_config] if args.key?(:desired_secret_manager_config)
|
2014
|
+
@desired_security_posture_config = args[:desired_security_posture_config] if args.key?(:desired_security_posture_config)
|
1430
2015
|
@desired_service_external_ips_config = args[:desired_service_external_ips_config] if args.key?(:desired_service_external_ips_config)
|
1431
2016
|
@desired_shielded_nodes = args[:desired_shielded_nodes] if args.key?(:desired_shielded_nodes)
|
1432
2017
|
@desired_stack_type = args[:desired_stack_type] if args.key?(:desired_stack_type)
|
1433
2018
|
@desired_vertical_pod_autoscaling = args[:desired_vertical_pod_autoscaling] if args.key?(:desired_vertical_pod_autoscaling)
|
1434
2019
|
@desired_workload_identity_config = args[:desired_workload_identity_config] if args.key?(:desired_workload_identity_config)
|
2020
|
+
@enable_k8s_beta_apis = args[:enable_k8s_beta_apis] if args.key?(:enable_k8s_beta_apis)
|
1435
2021
|
@etag = args[:etag] if args.key?(:etag)
|
2022
|
+
@removed_additional_pod_ranges_config = args[:removed_additional_pod_ranges_config] if args.key?(:removed_additional_pod_ranges_config)
|
2023
|
+
@user_managed_keys_config = args[:user_managed_keys_config] if args.key?(:user_managed_keys_config)
|
1436
2024
|
end
|
1437
2025
|
end
|
1438
2026
|
|
@@ -1493,16 +2081,20 @@ module Google
|
|
1493
2081
|
end
|
1494
2082
|
end
|
1495
2083
|
|
1496
|
-
#
|
1497
|
-
#
|
1498
|
-
class
|
2084
|
+
# CompliancePostureConfig defines the settings needed to enable/disable features
|
2085
|
+
# for the Compliance Posture.
|
2086
|
+
class CompliancePostureConfig
|
1499
2087
|
include Google::Apis::Core::Hashable
|
1500
2088
|
|
1501
|
-
#
|
1502
|
-
# Corresponds to the JSON property `
|
1503
|
-
# @return [
|
1504
|
-
attr_accessor :
|
1505
|
-
|
2089
|
+
# List of enabled compliance standards.
|
2090
|
+
# Corresponds to the JSON property `complianceStandards`
|
2091
|
+
# @return [Array<Google::Apis::ContainerV1::ComplianceStandard>]
|
2092
|
+
attr_accessor :compliance_standards
|
2093
|
+
|
2094
|
+
# Defines the enablement mode for Compliance Posture.
|
2095
|
+
# Corresponds to the JSON property `mode`
|
2096
|
+
# @return [String]
|
2097
|
+
attr_accessor :mode
|
1506
2098
|
|
1507
2099
|
def initialize(**args)
|
1508
2100
|
update!(**args)
|
@@ -1510,19 +2102,19 @@ module Google
|
|
1510
2102
|
|
1511
2103
|
# Update properties of this object
|
1512
2104
|
def update!(**args)
|
1513
|
-
@
|
2105
|
+
@compliance_standards = args[:compliance_standards] if args.key?(:compliance_standards)
|
2106
|
+
@mode = args[:mode] if args.key?(:mode)
|
1514
2107
|
end
|
1515
2108
|
end
|
1516
2109
|
|
1517
|
-
#
|
1518
|
-
class
|
2110
|
+
# Defines the details of a compliance standard.
|
2111
|
+
class ComplianceStandard
|
1519
2112
|
include Google::Apis::Core::Hashable
|
1520
2113
|
|
1521
|
-
#
|
1522
|
-
# Corresponds to the JSON property `
|
1523
|
-
# @return [
|
1524
|
-
attr_accessor :
|
1525
|
-
alias_method :enabled?, :enabled
|
2114
|
+
# Name of the compliance standard.
|
2115
|
+
# Corresponds to the JSON property `standard`
|
2116
|
+
# @return [String]
|
2117
|
+
attr_accessor :standard
|
1526
2118
|
|
1527
2119
|
def initialize(**args)
|
1528
2120
|
update!(**args)
|
@@ -1530,13 +2122,54 @@ module Google
|
|
1530
2122
|
|
1531
2123
|
# Update properties of this object
|
1532
2124
|
def update!(**args)
|
1533
|
-
@
|
2125
|
+
@standard = args[:standard] if args.key?(:standard)
|
1534
2126
|
end
|
1535
2127
|
end
|
1536
2128
|
|
1537
|
-
#
|
1538
|
-
|
1539
|
-
|
2129
|
+
# ConfidentialNodes is configuration for the confidential nodes feature, which
|
2130
|
+
# makes nodes run on confidential VMs.
|
2131
|
+
class ConfidentialNodes
|
2132
|
+
include Google::Apis::Core::Hashable
|
2133
|
+
|
2134
|
+
# Whether Confidential Nodes feature is enabled.
|
2135
|
+
# Corresponds to the JSON property `enabled`
|
2136
|
+
# @return [Boolean]
|
2137
|
+
attr_accessor :enabled
|
2138
|
+
alias_method :enabled?, :enabled
|
2139
|
+
|
2140
|
+
def initialize(**args)
|
2141
|
+
update!(**args)
|
2142
|
+
end
|
2143
|
+
|
2144
|
+
# Update properties of this object
|
2145
|
+
def update!(**args)
|
2146
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
2147
|
+
end
|
2148
|
+
end
|
2149
|
+
|
2150
|
+
# Configuration options for the Config Connector add-on.
|
2151
|
+
class ConfigConnectorConfig
|
2152
|
+
include Google::Apis::Core::Hashable
|
2153
|
+
|
2154
|
+
# Whether Cloud Connector is enabled for this cluster.
|
2155
|
+
# Corresponds to the JSON property `enabled`
|
2156
|
+
# @return [Boolean]
|
2157
|
+
attr_accessor :enabled
|
2158
|
+
alias_method :enabled?, :enabled
|
2159
|
+
|
2160
|
+
def initialize(**args)
|
2161
|
+
update!(**args)
|
2162
|
+
end
|
2163
|
+
|
2164
|
+
# Update properties of this object
|
2165
|
+
def update!(**args)
|
2166
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
2167
|
+
end
|
2168
|
+
end
|
2169
|
+
|
2170
|
+
# Parameters for controlling consumption metering.
|
2171
|
+
class ConsumptionMeteringConfig
|
2172
|
+
include Google::Apis::Core::Hashable
|
1540
2173
|
|
1541
2174
|
# Whether to enable consumption metering for this cluster. If enabled, a second
|
1542
2175
|
# BigQuery table will be created to hold resource consumption records.
|
@@ -1555,6 +2188,51 @@ module Google
|
|
1555
2188
|
end
|
1556
2189
|
end
|
1557
2190
|
|
2191
|
+
# ContainerdConfig contains configuration to customize containerd.
|
2192
|
+
class ContainerdConfig
|
2193
|
+
include Google::Apis::Core::Hashable
|
2194
|
+
|
2195
|
+
# PrivateRegistryAccessConfig contains access configuration for private
|
2196
|
+
# container registries.
|
2197
|
+
# Corresponds to the JSON property `privateRegistryAccessConfig`
|
2198
|
+
# @return [Google::Apis::ContainerV1::PrivateRegistryAccessConfig]
|
2199
|
+
attr_accessor :private_registry_access_config
|
2200
|
+
|
2201
|
+
def initialize(**args)
|
2202
|
+
update!(**args)
|
2203
|
+
end
|
2204
|
+
|
2205
|
+
# Update properties of this object
|
2206
|
+
def update!(**args)
|
2207
|
+
@private_registry_access_config = args[:private_registry_access_config] if args.key?(:private_registry_access_config)
|
2208
|
+
end
|
2209
|
+
end
|
2210
|
+
|
2211
|
+
# Configuration for all of the cluster's control plane endpoints.
|
2212
|
+
class ControlPlaneEndpointsConfig
|
2213
|
+
include Google::Apis::Core::Hashable
|
2214
|
+
|
2215
|
+
# Describes the configuration of a DNS endpoint.
|
2216
|
+
# Corresponds to the JSON property `dnsEndpointConfig`
|
2217
|
+
# @return [Google::Apis::ContainerV1::DnsEndpointConfig]
|
2218
|
+
attr_accessor :dns_endpoint_config
|
2219
|
+
|
2220
|
+
# IP endpoints configuration.
|
2221
|
+
# Corresponds to the JSON property `ipEndpointsConfig`
|
2222
|
+
# @return [Google::Apis::ContainerV1::IpEndpointsConfig]
|
2223
|
+
attr_accessor :ip_endpoints_config
|
2224
|
+
|
2225
|
+
def initialize(**args)
|
2226
|
+
update!(**args)
|
2227
|
+
end
|
2228
|
+
|
2229
|
+
# Update properties of this object
|
2230
|
+
def update!(**args)
|
2231
|
+
@dns_endpoint_config = args[:dns_endpoint_config] if args.key?(:dns_endpoint_config)
|
2232
|
+
@ip_endpoints_config = args[:ip_endpoints_config] if args.key?(:ip_endpoints_config)
|
2233
|
+
end
|
2234
|
+
end
|
2235
|
+
|
1558
2236
|
# Configuration for fine-grained cost management feature.
|
1559
2237
|
class CostManagementConfig
|
1560
2238
|
include Google::Apis::Core::Hashable
|
@@ -1675,6 +2353,11 @@ module Google
|
|
1675
2353
|
class DnsConfig
|
1676
2354
|
include Google::Apis::Core::Hashable
|
1677
2355
|
|
2356
|
+
# Optional. The domain used in Additive VPC scope.
|
2357
|
+
# Corresponds to the JSON property `additiveVpcScopeDnsDomain`
|
2358
|
+
# @return [String]
|
2359
|
+
attr_accessor :additive_vpc_scope_dns_domain
|
2360
|
+
|
1678
2361
|
# cluster_dns indicates which in-cluster DNS provider should be used.
|
1679
2362
|
# Corresponds to the JSON property `clusterDns`
|
1680
2363
|
# @return [String]
|
@@ -1696,17 +2379,48 @@ module Google
|
|
1696
2379
|
|
1697
2380
|
# Update properties of this object
|
1698
2381
|
def update!(**args)
|
2382
|
+
@additive_vpc_scope_dns_domain = args[:additive_vpc_scope_dns_domain] if args.key?(:additive_vpc_scope_dns_domain)
|
1699
2383
|
@cluster_dns = args[:cluster_dns] if args.key?(:cluster_dns)
|
1700
2384
|
@cluster_dns_domain = args[:cluster_dns_domain] if args.key?(:cluster_dns_domain)
|
1701
2385
|
@cluster_dns_scope = args[:cluster_dns_scope] if args.key?(:cluster_dns_scope)
|
1702
2386
|
end
|
1703
2387
|
end
|
1704
2388
|
|
2389
|
+
# Describes the configuration of a DNS endpoint.
|
2390
|
+
class DnsEndpointConfig
|
2391
|
+
include Google::Apis::Core::Hashable
|
2392
|
+
|
2393
|
+
# Controls whether user traffic is allowed over this endpoint. Note that GCP-
|
2394
|
+
# managed services may still use the endpoint even if this is false.
|
2395
|
+
# Corresponds to the JSON property `allowExternalTraffic`
|
2396
|
+
# @return [Boolean]
|
2397
|
+
attr_accessor :allow_external_traffic
|
2398
|
+
alias_method :allow_external_traffic?, :allow_external_traffic
|
2399
|
+
|
2400
|
+
# Output only. The cluster's DNS endpoint configuration. A DNS format address.
|
2401
|
+
# This is accessible from the public internet. Ex: uid.us-central1.gke.goog.
|
2402
|
+
# Always present, but the behavior may change according to the value of
|
2403
|
+
# DNSEndpointConfig.allow_external_traffic.
|
2404
|
+
# Corresponds to the JSON property `endpoint`
|
2405
|
+
# @return [String]
|
2406
|
+
attr_accessor :endpoint
|
2407
|
+
|
2408
|
+
def initialize(**args)
|
2409
|
+
update!(**args)
|
2410
|
+
end
|
2411
|
+
|
2412
|
+
# Update properties of this object
|
2413
|
+
def update!(**args)
|
2414
|
+
@allow_external_traffic = args[:allow_external_traffic] if args.key?(:allow_external_traffic)
|
2415
|
+
@endpoint = args[:endpoint] if args.key?(:endpoint)
|
2416
|
+
end
|
2417
|
+
end
|
2418
|
+
|
1705
2419
|
# Time window specified for daily maintenance operations.
|
1706
2420
|
class DailyMaintenanceWindow
|
1707
2421
|
include Google::Apis::Core::Hashable
|
1708
2422
|
|
1709
|
-
#
|
2423
|
+
# Output only. Duration of the time window, automatically chosen to be smallest
|
1710
2424
|
# possible in the given scenario. Duration will be in [RFC3339](https://www.ietf.
|
1711
2425
|
# org/rfc/rfc3339.txt) format "PTnHnMnS".
|
1712
2426
|
# Corresponds to the JSON property `duration`
|
@@ -1735,13 +2449,29 @@ module Google
|
|
1735
2449
|
class DatabaseEncryption
|
1736
2450
|
include Google::Apis::Core::Hashable
|
1737
2451
|
|
2452
|
+
# Output only. The current state of etcd encryption.
|
2453
|
+
# Corresponds to the JSON property `currentState`
|
2454
|
+
# @return [String]
|
2455
|
+
attr_accessor :current_state
|
2456
|
+
|
2457
|
+
# Output only. Keys in use by the cluster for decrypting existing objects, in
|
2458
|
+
# addition to the key in `key_name`. Each item is a CloudKMS key resource.
|
2459
|
+
# Corresponds to the JSON property `decryptionKeys`
|
2460
|
+
# @return [Array<String>]
|
2461
|
+
attr_accessor :decryption_keys
|
2462
|
+
|
1738
2463
|
# Name of CloudKMS key to use for the encryption of secrets in etcd. Ex.
|
1739
2464
|
# projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
|
1740
2465
|
# Corresponds to the JSON property `keyName`
|
1741
2466
|
# @return [String]
|
1742
2467
|
attr_accessor :key_name
|
1743
2468
|
|
1744
|
-
#
|
2469
|
+
# Output only. Records errors seen during DatabaseEncryption update operations.
|
2470
|
+
# Corresponds to the JSON property `lastOperationErrors`
|
2471
|
+
# @return [Array<Google::Apis::ContainerV1::OperationError>]
|
2472
|
+
attr_accessor :last_operation_errors
|
2473
|
+
|
2474
|
+
# The desired state of etcd encryption.
|
1745
2475
|
# Corresponds to the JSON property `state`
|
1746
2476
|
# @return [String]
|
1747
2477
|
attr_accessor :state
|
@@ -1752,7 +2482,10 @@ module Google
|
|
1752
2482
|
|
1753
2483
|
# Update properties of this object
|
1754
2484
|
def update!(**args)
|
2485
|
+
@current_state = args[:current_state] if args.key?(:current_state)
|
2486
|
+
@decryption_keys = args[:decryption_keys] if args.key?(:decryption_keys)
|
1755
2487
|
@key_name = args[:key_name] if args.key?(:key_name)
|
2488
|
+
@last_operation_errors = args[:last_operation_errors] if args.key?(:last_operation_errors)
|
1756
2489
|
@state = args[:state] if args.key?(:state)
|
1757
2490
|
end
|
1758
2491
|
end
|
@@ -1778,6 +2511,25 @@ module Google
|
|
1778
2511
|
end
|
1779
2512
|
end
|
1780
2513
|
|
2514
|
+
# DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.
|
2515
|
+
class DesiredEnterpriseConfig
|
2516
|
+
include Google::Apis::Core::Hashable
|
2517
|
+
|
2518
|
+
# desired_tier specifies the desired tier of the cluster.
|
2519
|
+
# Corresponds to the JSON property `desiredTier`
|
2520
|
+
# @return [String]
|
2521
|
+
attr_accessor :desired_tier
|
2522
|
+
|
2523
|
+
def initialize(**args)
|
2524
|
+
update!(**args)
|
2525
|
+
end
|
2526
|
+
|
2527
|
+
# Update properties of this object
|
2528
|
+
def update!(**args)
|
2529
|
+
@desired_tier = args[:desired_tier] if args.key?(:desired_tier)
|
2530
|
+
end
|
2531
|
+
end
|
2532
|
+
|
1781
2533
|
# Configuration for NodeLocal DNSCache
|
1782
2534
|
class DnsCacheConfig
|
1783
2535
|
include Google::Apis::Core::Hashable
|
@@ -1814,16 +2566,48 @@ module Google
|
|
1814
2566
|
end
|
1815
2567
|
end
|
1816
2568
|
|
2569
|
+
# EnterpriseConfig is the cluster enterprise configuration.
|
2570
|
+
class EnterpriseConfig
|
2571
|
+
include Google::Apis::Core::Hashable
|
2572
|
+
|
2573
|
+
# Output only. cluster_tier indicates the effective tier of the cluster.
|
2574
|
+
# Corresponds to the JSON property `clusterTier`
|
2575
|
+
# @return [String]
|
2576
|
+
attr_accessor :cluster_tier
|
2577
|
+
|
2578
|
+
# desired_tier specifies the desired tier of the cluster.
|
2579
|
+
# Corresponds to the JSON property `desiredTier`
|
2580
|
+
# @return [String]
|
2581
|
+
attr_accessor :desired_tier
|
2582
|
+
|
2583
|
+
def initialize(**args)
|
2584
|
+
update!(**args)
|
2585
|
+
end
|
2586
|
+
|
2587
|
+
# Update properties of this object
|
2588
|
+
def update!(**args)
|
2589
|
+
@cluster_tier = args[:cluster_tier] if args.key?(:cluster_tier)
|
2590
|
+
@desired_tier = args[:desired_tier] if args.key?(:desired_tier)
|
2591
|
+
end
|
2592
|
+
end
|
2593
|
+
|
1817
2594
|
# EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
|
1818
|
-
# storage using Local
|
2595
|
+
# storage using Local SSDs.
|
1819
2596
|
class EphemeralStorageLocalSsdConfig
|
1820
2597
|
include Google::Apis::Core::Hashable
|
1821
2598
|
|
1822
|
-
# Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces.
|
1823
|
-
#
|
1824
|
-
#
|
1825
|
-
#
|
1826
|
-
#
|
2599
|
+
# Number of local SSDs to use to back ephemeral storage. Uses NVMe interfaces. A
|
2600
|
+
# zero (or unset) value has different meanings depending on machine type being
|
2601
|
+
# used: 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
|
2602
|
+
# zero (or unset) means to disable using local SSDs as ephemeral storage. The
|
2603
|
+
# limit for this value is dependent upon the maximum number of disk available on
|
2604
|
+
# a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd
|
2605
|
+
# for more information. 2. For Gen3 machines which dictate a specific number of
|
2606
|
+
# local ssds, zero (or unset) means to use the default number of local ssds that
|
2607
|
+
# goes with that machine type. For example, for a c3-standard-8-lssd machine, 2
|
2608
|
+
# local ssds would be provisioned. For c3-standard-8 (which doesn't support
|
2609
|
+
# local ssds), 0 will be provisioned. See https://cloud.google.com/compute/docs/
|
2610
|
+
# disks/local-ssd#choose_number_local_ssds for more info.
|
1827
2611
|
# Corresponds to the JSON property `localSsdCount`
|
1828
2612
|
# @return [Fixnum]
|
1829
2613
|
attr_accessor :local_ssd_count
|
@@ -1880,6 +2664,83 @@ module Google
|
|
1880
2664
|
end
|
1881
2665
|
end
|
1882
2666
|
|
2667
|
+
# Fleet is the fleet configuration for the cluster.
|
2668
|
+
class Fleet
|
2669
|
+
include Google::Apis::Core::Hashable
|
2670
|
+
|
2671
|
+
# Output only. The full resource name of the registered fleet membership of the
|
2672
|
+
# cluster, in the format `//gkehub.googleapis.com/projects/*/locations/*/
|
2673
|
+
# memberships/*`.
|
2674
|
+
# Corresponds to the JSON property `membership`
|
2675
|
+
# @return [String]
|
2676
|
+
attr_accessor :membership
|
2677
|
+
|
2678
|
+
# Output only. Whether the cluster has been registered through the fleet API.
|
2679
|
+
# Corresponds to the JSON property `preRegistered`
|
2680
|
+
# @return [Boolean]
|
2681
|
+
attr_accessor :pre_registered
|
2682
|
+
alias_method :pre_registered?, :pre_registered
|
2683
|
+
|
2684
|
+
# The Fleet host project(project ID or project number) where this cluster will
|
2685
|
+
# be registered to. This field cannot be changed after the cluster has been
|
2686
|
+
# registered.
|
2687
|
+
# Corresponds to the JSON property `project`
|
2688
|
+
# @return [String]
|
2689
|
+
attr_accessor :project
|
2690
|
+
|
2691
|
+
def initialize(**args)
|
2692
|
+
update!(**args)
|
2693
|
+
end
|
2694
|
+
|
2695
|
+
# Update properties of this object
|
2696
|
+
def update!(**args)
|
2697
|
+
@membership = args[:membership] if args.key?(:membership)
|
2698
|
+
@pre_registered = args[:pre_registered] if args.key?(:pre_registered)
|
2699
|
+
@project = args[:project] if args.key?(:project)
|
2700
|
+
end
|
2701
|
+
end
|
2702
|
+
|
2703
|
+
# GCPSecretManagerCertificateConfig configures a secret from [Google Secret
|
2704
|
+
# Manager](https://cloud.google.com/secret-manager).
|
2705
|
+
class GcpSecretManagerCertificateConfig
|
2706
|
+
include Google::Apis::Core::Hashable
|
2707
|
+
|
2708
|
+
# Secret URI, in the form "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$
|
2709
|
+
# VERSION". Version can be fixed (e.g. "2") or "latest"
|
2710
|
+
# Corresponds to the JSON property `secretUri`
|
2711
|
+
# @return [String]
|
2712
|
+
attr_accessor :secret_uri
|
2713
|
+
|
2714
|
+
def initialize(**args)
|
2715
|
+
update!(**args)
|
2716
|
+
end
|
2717
|
+
|
2718
|
+
# Update properties of this object
|
2719
|
+
def update!(**args)
|
2720
|
+
@secret_uri = args[:secret_uri] if args.key?(:secret_uri)
|
2721
|
+
end
|
2722
|
+
end
|
2723
|
+
|
2724
|
+
# GPUDriverInstallationConfig specifies the version of GPU driver to be auto
|
2725
|
+
# installed.
|
2726
|
+
class GpuDriverInstallationConfig
|
2727
|
+
include Google::Apis::Core::Hashable
|
2728
|
+
|
2729
|
+
# Mode for how the GPU driver is installed.
|
2730
|
+
# Corresponds to the JSON property `gpuDriverVersion`
|
2731
|
+
# @return [String]
|
2732
|
+
attr_accessor :gpu_driver_version
|
2733
|
+
|
2734
|
+
def initialize(**args)
|
2735
|
+
update!(**args)
|
2736
|
+
end
|
2737
|
+
|
2738
|
+
# Update properties of this object
|
2739
|
+
def update!(**args)
|
2740
|
+
@gpu_driver_version = args[:gpu_driver_version] if args.key?(:gpu_driver_version)
|
2741
|
+
end
|
2742
|
+
end
|
2743
|
+
|
1883
2744
|
# GPUSharingConfig represents the GPU sharing configuration for Hardware
|
1884
2745
|
# Accelerators.
|
1885
2746
|
class GpuSharingConfig
|
@@ -1986,6 +2847,26 @@ module Google
|
|
1986
2847
|
end
|
1987
2848
|
end
|
1988
2849
|
|
2850
|
+
# Configuration for the Cloud Storage Fuse CSI driver.
|
2851
|
+
class GcsFuseCsiDriverConfig
|
2852
|
+
include Google::Apis::Core::Hashable
|
2853
|
+
|
2854
|
+
# Whether the Cloud Storage Fuse CSI driver is enabled for this cluster.
|
2855
|
+
# Corresponds to the JSON property `enabled`
|
2856
|
+
# @return [Boolean]
|
2857
|
+
attr_accessor :enabled
|
2858
|
+
alias_method :enabled?, :enabled
|
2859
|
+
|
2860
|
+
def initialize(**args)
|
2861
|
+
update!(**args)
|
2862
|
+
end
|
2863
|
+
|
2864
|
+
# Update properties of this object
|
2865
|
+
def update!(**args)
|
2866
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
2867
|
+
end
|
2868
|
+
end
|
2869
|
+
|
1989
2870
|
# GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517
|
1990
2871
|
class GetJsonWebKeysResponse
|
1991
2872
|
include Google::Apis::Core::Hashable
|
@@ -2169,6 +3050,31 @@ module Google
|
|
2169
3050
|
end
|
2170
3051
|
end
|
2171
3052
|
|
3053
|
+
# Hugepages amount in both 2m and 1g size
|
3054
|
+
class HugepagesConfig
|
3055
|
+
include Google::Apis::Core::Hashable
|
3056
|
+
|
3057
|
+
# Optional. Amount of 1G hugepages
|
3058
|
+
# Corresponds to the JSON property `hugepageSize1g`
|
3059
|
+
# @return [Fixnum]
|
3060
|
+
attr_accessor :hugepage_size1g
|
3061
|
+
|
3062
|
+
# Optional. Amount of 2M hugepages
|
3063
|
+
# Corresponds to the JSON property `hugepageSize2m`
|
3064
|
+
# @return [Fixnum]
|
3065
|
+
attr_accessor :hugepage_size2m
|
3066
|
+
|
3067
|
+
def initialize(**args)
|
3068
|
+
update!(**args)
|
3069
|
+
end
|
3070
|
+
|
3071
|
+
# Update properties of this object
|
3072
|
+
def update!(**args)
|
3073
|
+
@hugepage_size1g = args[:hugepage_size1g] if args.key?(:hugepage_size1g)
|
3074
|
+
@hugepage_size2m = args[:hugepage_size2m] if args.key?(:hugepage_size2m)
|
3075
|
+
end
|
3076
|
+
end
|
3077
|
+
|
2172
3078
|
# ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
|
2173
3079
|
# subsetting on this cluster.
|
2174
3080
|
class IlbSubsettingConfig
|
@@ -2194,6 +3100,12 @@ module Google
|
|
2194
3100
|
class IpAllocationPolicy
|
2195
3101
|
include Google::Apis::Core::Hashable
|
2196
3102
|
|
3103
|
+
# AdditionalPodRangesConfig is the configuration for additional pod secondary
|
3104
|
+
# ranges supporting the ClusterUpdate message.
|
3105
|
+
# Corresponds to the JSON property `additionalPodRangesConfig`
|
3106
|
+
# @return [Google::Apis::ContainerV1::AdditionalPodRangesConfig]
|
3107
|
+
attr_accessor :additional_pod_ranges_config
|
3108
|
+
|
2197
3109
|
# This field is deprecated, use cluster_ipv4_cidr_block.
|
2198
3110
|
# Corresponds to the JSON property `clusterIpv4Cidr`
|
2199
3111
|
# @return [String]
|
@@ -2226,6 +3138,13 @@ module Google
|
|
2226
3138
|
attr_accessor :create_subnetwork
|
2227
3139
|
alias_method :create_subnetwork?, :create_subnetwork
|
2228
3140
|
|
3141
|
+
# Output only. The utilization of the cluster default IPv4 range for the pod.
|
3142
|
+
# The ratio is Usage/[Total number of IPs in the secondary range], Usage=
|
3143
|
+
# numNodes*numZones*podIPsPerNode.
|
3144
|
+
# Corresponds to the JSON property `defaultPodIpv4RangeUtilization`
|
3145
|
+
# @return [Float]
|
3146
|
+
attr_accessor :default_pod_ipv4_range_utilization
|
3147
|
+
|
2229
3148
|
# The ipv6 access type (internal or external) when create_subnetwork is true
|
2230
3149
|
# Corresponds to the JSON property `ipv6AccessType`
|
2231
3150
|
# @return [String]
|
@@ -2247,6 +3166,11 @@ module Google
|
|
2247
3166
|
# @return [String]
|
2248
3167
|
attr_accessor :node_ipv4_cidr_block
|
2249
3168
|
|
3169
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
3170
|
+
# Corresponds to the JSON property `podCidrOverprovisionConfig`
|
3171
|
+
# @return [Google::Apis::ContainerV1::PodCidrOverprovisionConfig]
|
3172
|
+
attr_accessor :pod_cidr_overprovision_config
|
3173
|
+
|
2250
3174
|
# This field is deprecated, use services_ipv4_cidr_block.
|
2251
3175
|
# Corresponds to the JSON property `servicesIpv4Cidr`
|
2252
3176
|
# @return [String]
|
@@ -2264,6 +3188,11 @@ module Google
|
|
2264
3188
|
# @return [String]
|
2265
3189
|
attr_accessor :services_ipv4_cidr_block
|
2266
3190
|
|
3191
|
+
# Output only. The services IPv6 CIDR block for the cluster.
|
3192
|
+
# Corresponds to the JSON property `servicesIpv6CidrBlock`
|
3193
|
+
# @return [String]
|
3194
|
+
attr_accessor :services_ipv6_cidr_block
|
3195
|
+
|
2267
3196
|
# The name of the secondary range to be used as for the services CIDR block. The
|
2268
3197
|
# secondary range will be used for service ClusterIPs. This must be an existing
|
2269
3198
|
# secondary range associated with the cluster subnetwork. This field is only
|
@@ -2277,6 +3206,11 @@ module Google
|
|
2277
3206
|
# @return [String]
|
2278
3207
|
attr_accessor :stack_type
|
2279
3208
|
|
3209
|
+
# Output only. The subnet's IPv6 CIDR block used by nodes and pods.
|
3210
|
+
# Corresponds to the JSON property `subnetIpv6CidrBlock`
|
3211
|
+
# @return [String]
|
3212
|
+
attr_accessor :subnet_ipv6_cidr_block
|
3213
|
+
|
2280
3214
|
# A custom subnetwork name to be used if `create_subnetwork` is true. If this
|
2281
3215
|
# field is empty, then an automatic name will be chosen for the new subnetwork.
|
2282
3216
|
# Corresponds to the JSON property `subnetworkName`
|
@@ -2319,17 +3253,22 @@ module Google
|
|
2319
3253
|
|
2320
3254
|
# Update properties of this object
|
2321
3255
|
def update!(**args)
|
3256
|
+
@additional_pod_ranges_config = args[:additional_pod_ranges_config] if args.key?(:additional_pod_ranges_config)
|
2322
3257
|
@cluster_ipv4_cidr = args[:cluster_ipv4_cidr] if args.key?(:cluster_ipv4_cidr)
|
2323
3258
|
@cluster_ipv4_cidr_block = args[:cluster_ipv4_cidr_block] if args.key?(:cluster_ipv4_cidr_block)
|
2324
3259
|
@cluster_secondary_range_name = args[:cluster_secondary_range_name] if args.key?(:cluster_secondary_range_name)
|
2325
3260
|
@create_subnetwork = args[:create_subnetwork] if args.key?(:create_subnetwork)
|
3261
|
+
@default_pod_ipv4_range_utilization = args[:default_pod_ipv4_range_utilization] if args.key?(:default_pod_ipv4_range_utilization)
|
2326
3262
|
@ipv6_access_type = args[:ipv6_access_type] if args.key?(:ipv6_access_type)
|
2327
3263
|
@node_ipv4_cidr = args[:node_ipv4_cidr] if args.key?(:node_ipv4_cidr)
|
2328
3264
|
@node_ipv4_cidr_block = args[:node_ipv4_cidr_block] if args.key?(:node_ipv4_cidr_block)
|
3265
|
+
@pod_cidr_overprovision_config = args[:pod_cidr_overprovision_config] if args.key?(:pod_cidr_overprovision_config)
|
2329
3266
|
@services_ipv4_cidr = args[:services_ipv4_cidr] if args.key?(:services_ipv4_cidr)
|
2330
3267
|
@services_ipv4_cidr_block = args[:services_ipv4_cidr_block] if args.key?(:services_ipv4_cidr_block)
|
3268
|
+
@services_ipv6_cidr_block = args[:services_ipv6_cidr_block] if args.key?(:services_ipv6_cidr_block)
|
2331
3269
|
@services_secondary_range_name = args[:services_secondary_range_name] if args.key?(:services_secondary_range_name)
|
2332
3270
|
@stack_type = args[:stack_type] if args.key?(:stack_type)
|
3271
|
+
@subnet_ipv6_cidr_block = args[:subnet_ipv6_cidr_block] if args.key?(:subnet_ipv6_cidr_block)
|
2333
3272
|
@subnetwork_name = args[:subnetwork_name] if args.key?(:subnetwork_name)
|
2334
3273
|
@tpu_ipv4_cidr_block = args[:tpu_ipv4_cidr_block] if args.key?(:tpu_ipv4_cidr_block)
|
2335
3274
|
@use_ip_aliases = args[:use_ip_aliases] if args.key?(:use_ip_aliases)
|
@@ -2337,6 +3276,76 @@ module Google
|
|
2337
3276
|
end
|
2338
3277
|
end
|
2339
3278
|
|
3279
|
+
# IP endpoints configuration.
|
3280
|
+
class IpEndpointsConfig
|
3281
|
+
include Google::Apis::Core::Hashable
|
3282
|
+
|
3283
|
+
# Configuration options for the master authorized networks feature. Enabled
|
3284
|
+
# master authorized networks will disallow all external traffic to access
|
3285
|
+
# Kubernetes master through HTTPS except traffic from the given CIDR blocks,
|
3286
|
+
# Google Compute Engine Public IPs and Google Prod IPs.
|
3287
|
+
# Corresponds to the JSON property `authorizedNetworksConfig`
|
3288
|
+
# @return [Google::Apis::ContainerV1::MasterAuthorizedNetworksConfig]
|
3289
|
+
attr_accessor :authorized_networks_config
|
3290
|
+
|
3291
|
+
# Controls whether the control plane allows access through a public IP. It is
|
3292
|
+
# invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this
|
3293
|
+
# field at the same time.
|
3294
|
+
# Corresponds to the JSON property `enablePublicEndpoint`
|
3295
|
+
# @return [Boolean]
|
3296
|
+
attr_accessor :enable_public_endpoint
|
3297
|
+
alias_method :enable_public_endpoint?, :enable_public_endpoint
|
3298
|
+
|
3299
|
+
# Controls whether to allow direct IP access.
|
3300
|
+
# Corresponds to the JSON property `enabled`
|
3301
|
+
# @return [Boolean]
|
3302
|
+
attr_accessor :enabled
|
3303
|
+
alias_method :enabled?, :enabled
|
3304
|
+
|
3305
|
+
# Controls whether the control plane's private endpoint is accessible from
|
3306
|
+
# sources in other regions. It is invalid to specify both
|
3307
|
+
# PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.
|
3308
|
+
# Corresponds to the JSON property `globalAccess`
|
3309
|
+
# @return [Boolean]
|
3310
|
+
attr_accessor :global_access
|
3311
|
+
alias_method :global_access?, :global_access
|
3312
|
+
|
3313
|
+
# Output only. The internal IP address of this cluster's control plane. Only
|
3314
|
+
# populated if enabled.
|
3315
|
+
# Corresponds to the JSON property `privateEndpoint`
|
3316
|
+
# @return [String]
|
3317
|
+
attr_accessor :private_endpoint
|
3318
|
+
|
3319
|
+
# Subnet to provision the master's private endpoint during cluster creation.
|
3320
|
+
# Specified in projects/*/regions/*/subnetworks/* format. It is invalid to
|
3321
|
+
# specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at
|
3322
|
+
# the same time.
|
3323
|
+
# Corresponds to the JSON property `privateEndpointSubnetwork`
|
3324
|
+
# @return [String]
|
3325
|
+
attr_accessor :private_endpoint_subnetwork
|
3326
|
+
|
3327
|
+
# Output only. The external IP address of this cluster's control plane. Only
|
3328
|
+
# populated if enabled.
|
3329
|
+
# Corresponds to the JSON property `publicEndpoint`
|
3330
|
+
# @return [String]
|
3331
|
+
attr_accessor :public_endpoint
|
3332
|
+
|
3333
|
+
def initialize(**args)
|
3334
|
+
update!(**args)
|
3335
|
+
end
|
3336
|
+
|
3337
|
+
# Update properties of this object
|
3338
|
+
def update!(**args)
|
3339
|
+
@authorized_networks_config = args[:authorized_networks_config] if args.key?(:authorized_networks_config)
|
3340
|
+
@enable_public_endpoint = args[:enable_public_endpoint] if args.key?(:enable_public_endpoint)
|
3341
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
3342
|
+
@global_access = args[:global_access] if args.key?(:global_access)
|
3343
|
+
@private_endpoint = args[:private_endpoint] if args.key?(:private_endpoint)
|
3344
|
+
@private_endpoint_subnetwork = args[:private_endpoint_subnetwork] if args.key?(:private_endpoint_subnetwork)
|
3345
|
+
@public_endpoint = args[:public_endpoint] if args.key?(:public_endpoint)
|
3346
|
+
end
|
3347
|
+
end
|
3348
|
+
|
2340
3349
|
# IdentityServiceConfig is configuration for Identity Service which allows
|
2341
3350
|
# customers to use external identity providers with the K8S API
|
2342
3351
|
class IdentityServiceConfig
|
@@ -2446,6 +3455,25 @@ module Google
|
|
2446
3455
|
end
|
2447
3456
|
end
|
2448
3457
|
|
3458
|
+
# K8sBetaAPIConfig , configuration for beta APIs
|
3459
|
+
class K8sBetaApiConfig
|
3460
|
+
include Google::Apis::Core::Hashable
|
3461
|
+
|
3462
|
+
# Enabled k8s beta APIs.
|
3463
|
+
# Corresponds to the JSON property `enabledApis`
|
3464
|
+
# @return [Array<String>]
|
3465
|
+
attr_accessor :enabled_apis
|
3466
|
+
|
3467
|
+
def initialize(**args)
|
3468
|
+
update!(**args)
|
3469
|
+
end
|
3470
|
+
|
3471
|
+
# Update properties of this object
|
3472
|
+
def update!(**args)
|
3473
|
+
@enabled_apis = args[:enabled_apis] if args.key?(:enabled_apis)
|
3474
|
+
end
|
3475
|
+
end
|
3476
|
+
|
2449
3477
|
# Configuration for the Kubernetes Dashboard.
|
2450
3478
|
class KubernetesDashboard
|
2451
3479
|
include Google::Apis::Core::Hashable
|
@@ -2498,11 +3526,16 @@ module Google
|
|
2498
3526
|
# @return [String]
|
2499
3527
|
attr_accessor :cgroup_mode
|
2500
3528
|
|
3529
|
+
# Hugepages amount in both 2m and 1g size
|
3530
|
+
# Corresponds to the JSON property `hugepages`
|
3531
|
+
# @return [Google::Apis::ContainerV1::HugepagesConfig]
|
3532
|
+
attr_accessor :hugepages
|
3533
|
+
|
2501
3534
|
# The Linux kernel parameters to be applied to the nodes and all pods running on
|
2502
3535
|
# the nodes. The following parameters are supported. net.core.busy_poll net.core.
|
2503
3536
|
# busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default
|
2504
3537
|
# net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.
|
2505
|
-
# ipv4.tcp_wmem net.ipv4.tcp_tw_reuse
|
3538
|
+
# ipv4.tcp_wmem net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall
|
2506
3539
|
# Corresponds to the JSON property `sysctls`
|
2507
3540
|
# @return [Hash<String,String>]
|
2508
3541
|
attr_accessor :sysctls
|
@@ -2514,6 +3547,7 @@ module Google
|
|
2514
3547
|
# Update properties of this object
|
2515
3548
|
def update!(**args)
|
2516
3549
|
@cgroup_mode = args[:cgroup_mode] if args.key?(:cgroup_mode)
|
3550
|
+
@hugepages = args[:hugepages] if args.key?(:hugepages)
|
2517
3551
|
@sysctls = args[:sysctls] if args.key?(:sysctls)
|
2518
3552
|
end
|
2519
3553
|
end
|
@@ -2618,15 +3652,22 @@ module Google
|
|
2618
3652
|
end
|
2619
3653
|
|
2620
3654
|
# LocalNvmeSsdBlockConfig contains configuration for using raw-block local NVMe
|
2621
|
-
#
|
3655
|
+
# SSDs
|
2622
3656
|
class LocalNvmeSsdBlockConfig
|
2623
3657
|
include Google::Apis::Core::Hashable
|
2624
3658
|
|
2625
|
-
#
|
2626
|
-
#
|
2627
|
-
# disks
|
2628
|
-
#
|
2629
|
-
#
|
3659
|
+
# Number of local NVMe SSDs to use. The limit for this value is dependent upon
|
3660
|
+
# the maximum number of disk available on a machine per zone. See: https://cloud.
|
3661
|
+
# google.com/compute/docs/disks/local-ssd for more information. A zero (or unset)
|
3662
|
+
# value has different meanings depending on machine type being used: 1. For pre-
|
3663
|
+
# Gen3 machines, which support flexible numbers of local ssds, zero (or unset)
|
3664
|
+
# means to disable using local SSDs as ephemeral storage. 2. For Gen3 machines
|
3665
|
+
# which dictate a specific number of local ssds, zero (or unset) means to use
|
3666
|
+
# the default number of local ssds that goes with that machine type. For example,
|
3667
|
+
# for a c3-standard-8-lssd machine, 2 local ssds would be provisioned. For c3-
|
3668
|
+
# standard-8 (which doesn't support local ssds), 0 will be provisioned. See
|
3669
|
+
# https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
|
3670
|
+
# for more info.
|
2630
3671
|
# Corresponds to the JSON property `localSsdCount`
|
2631
3672
|
# @return [Fixnum]
|
2632
3673
|
attr_accessor :local_ssd_count
|
@@ -2804,8 +3845,8 @@ module Google
|
|
2804
3845
|
class MasterAuth
|
2805
3846
|
include Google::Apis::Core::Hashable
|
2806
3847
|
|
2807
|
-
#
|
2808
|
-
#
|
3848
|
+
# Output only. Base64-encoded public certificate used by clients to authenticate
|
3849
|
+
# to the cluster endpoint. Issued only if client_certificate_config is set.
|
2809
3850
|
# Corresponds to the JSON property `clientCertificate`
|
2810
3851
|
# @return [String]
|
2811
3852
|
attr_accessor :client_certificate
|
@@ -2815,13 +3856,13 @@ module Google
|
|
2815
3856
|
# @return [Google::Apis::ContainerV1::ClientCertificateConfig]
|
2816
3857
|
attr_accessor :client_certificate_config
|
2817
3858
|
|
2818
|
-
#
|
2819
|
-
#
|
3859
|
+
# Output only. Base64-encoded private key used by clients to authenticate to the
|
3860
|
+
# cluster endpoint.
|
2820
3861
|
# Corresponds to the JSON property `clientKey`
|
2821
3862
|
# @return [String]
|
2822
3863
|
attr_accessor :client_key
|
2823
3864
|
|
2824
|
-
#
|
3865
|
+
# Output only. Base64-encoded public certificate that is the root of trust for
|
2825
3866
|
# the cluster.
|
2826
3867
|
# Corresponds to the JSON property `clusterCaCertificate`
|
2827
3868
|
# @return [String]
|
@@ -2889,6 +3930,12 @@ module Google
|
|
2889
3930
|
attr_accessor :gcp_public_cidrs_access_enabled
|
2890
3931
|
alias_method :gcp_public_cidrs_access_enabled?, :gcp_public_cidrs_access_enabled
|
2891
3932
|
|
3933
|
+
# Whether master authorized networks is enforced on private endpoint or not.
|
3934
|
+
# Corresponds to the JSON property `privateEndpointEnforcementEnabled`
|
3935
|
+
# @return [Boolean]
|
3936
|
+
attr_accessor :private_endpoint_enforcement_enabled
|
3937
|
+
alias_method :private_endpoint_enforcement_enabled?, :private_endpoint_enforcement_enabled
|
3938
|
+
|
2892
3939
|
def initialize(**args)
|
2893
3940
|
update!(**args)
|
2894
3941
|
end
|
@@ -2898,6 +3945,7 @@ module Google
|
|
2898
3945
|
@cidr_blocks = args[:cidr_blocks] if args.key?(:cidr_blocks)
|
2899
3946
|
@enabled = args[:enabled] if args.key?(:enabled)
|
2900
3947
|
@gcp_public_cidrs_access_enabled = args[:gcp_public_cidrs_access_enabled] if args.key?(:gcp_public_cidrs_access_enabled)
|
3948
|
+
@private_endpoint_enforcement_enabled = args[:private_endpoint_enforcement_enabled] if args.key?(:private_endpoint_enforcement_enabled)
|
2901
3949
|
end
|
2902
3950
|
end
|
2903
3951
|
|
@@ -3005,6 +4053,12 @@ module Google
|
|
3005
4053
|
class MonitoringConfig
|
3006
4054
|
include Google::Apis::Core::Hashable
|
3007
4055
|
|
4056
|
+
# AdvancedDatapathObservabilityConfig specifies configuration of observability
|
4057
|
+
# features of advanced datapath.
|
4058
|
+
# Corresponds to the JSON property `advancedDatapathObservabilityConfig`
|
4059
|
+
# @return [Google::Apis::ContainerV1::AdvancedDatapathObservabilityConfig]
|
4060
|
+
attr_accessor :advanced_datapath_observability_config
|
4061
|
+
|
3008
4062
|
# MonitoringComponentConfig is cluster monitoring component configuration.
|
3009
4063
|
# Corresponds to the JSON property `componentConfig`
|
3010
4064
|
# @return [Google::Apis::ContainerV1::MonitoringComponentConfig]
|
@@ -3022,6 +4076,7 @@ module Google
|
|
3022
4076
|
|
3023
4077
|
# Update properties of this object
|
3024
4078
|
def update!(**args)
|
4079
|
+
@advanced_datapath_observability_config = args[:advanced_datapath_observability_config] if args.key?(:advanced_datapath_observability_config)
|
3025
4080
|
@component_config = args[:component_config] if args.key?(:component_config)
|
3026
4081
|
@managed_prometheus_config = args[:managed_prometheus_config] if args.key?(:managed_prometheus_config)
|
3027
4082
|
end
|
@@ -3037,17 +4092,44 @@ module Google
|
|
3037
4092
|
# @return [String]
|
3038
4093
|
attr_accessor :datapath_provider
|
3039
4094
|
|
4095
|
+
# Controls whether by default nodes have private IP addresses only. It is
|
4096
|
+
# invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field
|
4097
|
+
# at the same time. To update the default setting, use ClusterUpdate.
|
4098
|
+
# desired_default_enable_private_nodes
|
4099
|
+
# Corresponds to the JSON property `defaultEnablePrivateNodes`
|
4100
|
+
# @return [Boolean]
|
4101
|
+
attr_accessor :default_enable_private_nodes
|
4102
|
+
alias_method :default_enable_private_nodes?, :default_enable_private_nodes
|
4103
|
+
|
3040
4104
|
# DefaultSnatStatus contains the desired state of whether default sNAT should be
|
3041
4105
|
# disabled on the cluster.
|
3042
4106
|
# Corresponds to the JSON property `defaultSnatStatus`
|
3043
4107
|
# @return [Google::Apis::ContainerV1::DefaultSnatStatus]
|
3044
4108
|
attr_accessor :default_snat_status
|
3045
4109
|
|
4110
|
+
# Disable L4 load balancer VPC firewalls to enable firewall policies.
|
4111
|
+
# Corresponds to the JSON property `disableL4LbFirewallReconciliation`
|
4112
|
+
# @return [Boolean]
|
4113
|
+
attr_accessor :disable_l4_lb_firewall_reconciliation
|
4114
|
+
alias_method :disable_l4_lb_firewall_reconciliation?, :disable_l4_lb_firewall_reconciliation
|
4115
|
+
|
3046
4116
|
# DNSConfig contains the desired set of options for configuring clusterDNS.
|
3047
4117
|
# Corresponds to the JSON property `dnsConfig`
|
3048
4118
|
# @return [Google::Apis::ContainerV1::DnsConfig]
|
3049
4119
|
attr_accessor :dns_config
|
3050
4120
|
|
4121
|
+
# Whether CiliumClusterwideNetworkPolicy is enabled on this cluster.
|
4122
|
+
# Corresponds to the JSON property `enableCiliumClusterwideNetworkPolicy`
|
4123
|
+
# @return [Boolean]
|
4124
|
+
attr_accessor :enable_cilium_clusterwide_network_policy
|
4125
|
+
alias_method :enable_cilium_clusterwide_network_policy?, :enable_cilium_clusterwide_network_policy
|
4126
|
+
|
4127
|
+
# Whether FQDN Network Policy is enabled on this cluster.
|
4128
|
+
# Corresponds to the JSON property `enableFqdnNetworkPolicy`
|
4129
|
+
# @return [Boolean]
|
4130
|
+
attr_accessor :enable_fqdn_network_policy
|
4131
|
+
alias_method :enable_fqdn_network_policy?, :enable_fqdn_network_policy
|
4132
|
+
|
3051
4133
|
# Whether Intra-node visibility is enabled for this cluster. This makes same
|
3052
4134
|
# node pod to pod traffic visible for VPC network.
|
3053
4135
|
# Corresponds to the JSON property `enableIntraNodeVisibility`
|
@@ -3061,11 +4143,23 @@ module Google
|
|
3061
4143
|
attr_accessor :enable_l4ilb_subsetting
|
3062
4144
|
alias_method :enable_l4ilb_subsetting?, :enable_l4ilb_subsetting
|
3063
4145
|
|
4146
|
+
# Whether multi-networking is enabled for this cluster.
|
4147
|
+
# Corresponds to the JSON property `enableMultiNetworking`
|
4148
|
+
# @return [Boolean]
|
4149
|
+
attr_accessor :enable_multi_networking
|
4150
|
+
alias_method :enable_multi_networking?, :enable_multi_networking
|
4151
|
+
|
3064
4152
|
# GatewayAPIConfig contains the desired config of Gateway API on this cluster.
|
3065
4153
|
# Corresponds to the JSON property `gatewayApiConfig`
|
3066
4154
|
# @return [Google::Apis::ContainerV1::GatewayApiConfig]
|
3067
4155
|
attr_accessor :gateway_api_config
|
3068
4156
|
|
4157
|
+
# Specify the details of in-transit encryption. Now named inter-node transparent
|
4158
|
+
# encryption.
|
4159
|
+
# Corresponds to the JSON property `inTransitEncryptionConfig`
|
4160
|
+
# @return [String]
|
4161
|
+
attr_accessor :in_transit_encryption_config
|
4162
|
+
|
3069
4163
|
# Output only. The relative name of the Google Compute Engine network(https://
|
3070
4164
|
# cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the
|
3071
4165
|
# cluster is connected. Example: projects/my-project/global/networks/my-network
|
@@ -3073,6 +4167,11 @@ module Google
|
|
3073
4167
|
# @return [String]
|
3074
4168
|
attr_accessor :network
|
3075
4169
|
|
4170
|
+
# Configuration of network bandwidth tiers
|
4171
|
+
# Corresponds to the JSON property `networkPerformanceConfig`
|
4172
|
+
# @return [Google::Apis::ContainerV1::ClusterNetworkPerformanceConfig]
|
4173
|
+
attr_accessor :network_performance_config
|
4174
|
+
|
3076
4175
|
# The desired state of IPv6 connectivity to Google Services. By default, no
|
3077
4176
|
# private IPv6 access to or from Google Services (all access will be via IPv4)
|
3078
4177
|
# Corresponds to the JSON property `privateIpv6GoogleAccess`
|
@@ -3098,12 +4197,19 @@ module Google
|
|
3098
4197
|
# Update properties of this object
|
3099
4198
|
def update!(**args)
|
3100
4199
|
@datapath_provider = args[:datapath_provider] if args.key?(:datapath_provider)
|
4200
|
+
@default_enable_private_nodes = args[:default_enable_private_nodes] if args.key?(:default_enable_private_nodes)
|
3101
4201
|
@default_snat_status = args[:default_snat_status] if args.key?(:default_snat_status)
|
4202
|
+
@disable_l4_lb_firewall_reconciliation = args[:disable_l4_lb_firewall_reconciliation] if args.key?(:disable_l4_lb_firewall_reconciliation)
|
3102
4203
|
@dns_config = args[:dns_config] if args.key?(:dns_config)
|
4204
|
+
@enable_cilium_clusterwide_network_policy = args[:enable_cilium_clusterwide_network_policy] if args.key?(:enable_cilium_clusterwide_network_policy)
|
4205
|
+
@enable_fqdn_network_policy = args[:enable_fqdn_network_policy] if args.key?(:enable_fqdn_network_policy)
|
3103
4206
|
@enable_intra_node_visibility = args[:enable_intra_node_visibility] if args.key?(:enable_intra_node_visibility)
|
3104
4207
|
@enable_l4ilb_subsetting = args[:enable_l4ilb_subsetting] if args.key?(:enable_l4ilb_subsetting)
|
4208
|
+
@enable_multi_networking = args[:enable_multi_networking] if args.key?(:enable_multi_networking)
|
3105
4209
|
@gateway_api_config = args[:gateway_api_config] if args.key?(:gateway_api_config)
|
4210
|
+
@in_transit_encryption_config = args[:in_transit_encryption_config] if args.key?(:in_transit_encryption_config)
|
3106
4211
|
@network = args[:network] if args.key?(:network)
|
4212
|
+
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
3107
4213
|
@private_ipv6_google_access = args[:private_ipv6_google_access] if args.key?(:private_ipv6_google_access)
|
3108
4214
|
@service_external_ips_config = args[:service_external_ips_config] if args.key?(:service_external_ips_config)
|
3109
4215
|
@subnetwork = args[:subnetwork] if args.key?(:subnetwork)
|
@@ -3174,19 +4280,50 @@ module Google
|
|
3174
4280
|
|
3175
4281
|
# Update properties of this object
|
3176
4282
|
def update!(**args)
|
3177
|
-
@disabled = args[:disabled] if args.key?(:disabled)
|
4283
|
+
@disabled = args[:disabled] if args.key?(:disabled)
|
4284
|
+
end
|
4285
|
+
end
|
4286
|
+
|
4287
|
+
# Collection of Compute Engine network tags that can be applied to a node's
|
4288
|
+
# underlying VM instance.
|
4289
|
+
class NetworkTags
|
4290
|
+
include Google::Apis::Core::Hashable
|
4291
|
+
|
4292
|
+
# List of network tags.
|
4293
|
+
# Corresponds to the JSON property `tags`
|
4294
|
+
# @return [Array<String>]
|
4295
|
+
attr_accessor :tags
|
4296
|
+
|
4297
|
+
def initialize(**args)
|
4298
|
+
update!(**args)
|
4299
|
+
end
|
4300
|
+
|
4301
|
+
# Update properties of this object
|
4302
|
+
def update!(**args)
|
4303
|
+
@tags = args[:tags] if args.key?(:tags)
|
3178
4304
|
end
|
3179
4305
|
end
|
3180
4306
|
|
3181
|
-
#
|
3182
|
-
#
|
3183
|
-
|
4307
|
+
# Specifies the NodeAffinity key, values, and affinity operator according to [
|
4308
|
+
# shared sole tenant node group affinities](https://cloud.google.com/compute/
|
4309
|
+
# docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity).
|
4310
|
+
class NodeAffinity
|
3184
4311
|
include Google::Apis::Core::Hashable
|
3185
4312
|
|
3186
|
-
#
|
3187
|
-
# Corresponds to the JSON property `
|
4313
|
+
# Key for NodeAffinity.
|
4314
|
+
# Corresponds to the JSON property `key`
|
4315
|
+
# @return [String]
|
4316
|
+
attr_accessor :key
|
4317
|
+
|
4318
|
+
# Operator for NodeAffinity.
|
4319
|
+
# Corresponds to the JSON property `operator`
|
4320
|
+
# @return [String]
|
4321
|
+
attr_accessor :operator
|
4322
|
+
|
4323
|
+
# Values for NodeAffinity.
|
4324
|
+
# Corresponds to the JSON property `values`
|
3188
4325
|
# @return [Array<String>]
|
3189
|
-
attr_accessor :
|
4326
|
+
attr_accessor :values
|
3190
4327
|
|
3191
4328
|
def initialize(**args)
|
3192
4329
|
update!(**args)
|
@@ -3194,7 +4331,9 @@ module Google
|
|
3194
4331
|
|
3195
4332
|
# Update properties of this object
|
3196
4333
|
def update!(**args)
|
3197
|
-
@
|
4334
|
+
@key = args[:key] if args.key?(:key)
|
4335
|
+
@operator = args[:operator] if args.key?(:operator)
|
4336
|
+
@values = args[:values] if args.key?(:values)
|
3198
4337
|
end
|
3199
4338
|
end
|
3200
4339
|
|
@@ -3230,6 +4369,11 @@ module Google
|
|
3230
4369
|
# @return [Google::Apis::ContainerV1::ConfidentialNodes]
|
3231
4370
|
attr_accessor :confidential_nodes
|
3232
4371
|
|
4372
|
+
# ContainerdConfig contains configuration to customize containerd.
|
4373
|
+
# Corresponds to the JSON property `containerdConfig`
|
4374
|
+
# @return [Google::Apis::ContainerV1::ContainerdConfig]
|
4375
|
+
attr_accessor :containerd_config
|
4376
|
+
|
3233
4377
|
# Size of the disk attached to each node, specified in GB. The smallest allowed
|
3234
4378
|
# disk size is 10GB. If unspecified, the default disk size is 100GB.
|
3235
4379
|
# Corresponds to the JSON property `diskSizeGb`
|
@@ -3242,8 +4386,22 @@ module Google
|
|
3242
4386
|
# @return [String]
|
3243
4387
|
attr_accessor :disk_type
|
3244
4388
|
|
4389
|
+
# Output only. effective_cgroup_mode is the cgroup mode actually used by the
|
4390
|
+
# node pool. It is determined by the cgroup mode specified in the
|
4391
|
+
# LinuxNodeConfig or the default cgroup mode based on the cluster creation
|
4392
|
+
# version.
|
4393
|
+
# Corresponds to the JSON property `effectiveCgroupMode`
|
4394
|
+
# @return [String]
|
4395
|
+
attr_accessor :effective_cgroup_mode
|
4396
|
+
|
4397
|
+
# Optional. Reserved for future use.
|
4398
|
+
# Corresponds to the JSON property `enableConfidentialStorage`
|
4399
|
+
# @return [Boolean]
|
4400
|
+
attr_accessor :enable_confidential_storage
|
4401
|
+
alias_method :enable_confidential_storage?, :enable_confidential_storage
|
4402
|
+
|
3245
4403
|
# EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
|
3246
|
-
# storage using Local
|
4404
|
+
# storage using Local SSDs.
|
3247
4405
|
# Corresponds to the JSON property `ephemeralStorageLocalSsdConfig`
|
3248
4406
|
# @return [Google::Apis::ContainerV1::EphemeralStorageLocalSsdConfig]
|
3249
4407
|
attr_accessor :ephemeral_storage_local_ssd_config
|
@@ -3265,7 +4423,8 @@ module Google
|
|
3265
4423
|
attr_accessor :gvnic
|
3266
4424
|
|
3267
4425
|
# The image type to use for this node. Note that for a given image type, the
|
3268
|
-
# latest version of it will be used.
|
4426
|
+
# latest version of it will be used. Please see https://cloud.google.com/
|
4427
|
+
# kubernetes-engine/docs/concepts/node-images for available image types.
|
3269
4428
|
# Corresponds to the JSON property `imageType`
|
3270
4429
|
# @return [String]
|
3271
4430
|
attr_accessor :image_type
|
@@ -3292,7 +4451,7 @@ module Google
|
|
3292
4451
|
attr_accessor :linux_node_config
|
3293
4452
|
|
3294
4453
|
# LocalNvmeSsdBlockConfig contains configuration for using raw-block local NVMe
|
3295
|
-
#
|
4454
|
+
# SSDs
|
3296
4455
|
# Corresponds to the JSON property `localNvmeSsdBlockConfig`
|
3297
4456
|
# @return [Google::Apis::ContainerV1::LocalNvmeSsdBlockConfig]
|
3298
4457
|
attr_accessor :local_nvme_ssd_block_config
|
@@ -3305,6 +4464,12 @@ module Google
|
|
3305
4464
|
# @return [Fixnum]
|
3306
4465
|
attr_accessor :local_ssd_count
|
3307
4466
|
|
4467
|
+
# Specifies which method should be used for encrypting the Local SSDs attahced
|
4468
|
+
# to the node.
|
4469
|
+
# Corresponds to the JSON property `localSsdEncryptionMode`
|
4470
|
+
# @return [String]
|
4471
|
+
attr_accessor :local_ssd_encryption_mode
|
4472
|
+
|
3308
4473
|
# NodePoolLoggingConfig specifies logging configuration for nodepools.
|
3309
4474
|
# Corresponds to the JSON property `loggingConfig`
|
3310
4475
|
# @return [Google::Apis::ContainerV1::NodePoolLoggingConfig]
|
@@ -3317,6 +4482,12 @@ module Google
|
|
3317
4482
|
# @return [String]
|
3318
4483
|
attr_accessor :machine_type
|
3319
4484
|
|
4485
|
+
# The maximum duration for the nodes to exist. If unspecified, the nodes can
|
4486
|
+
# exist indefinitely.
|
4487
|
+
# Corresponds to the JSON property `maxRunDuration`
|
4488
|
+
# @return [String]
|
4489
|
+
attr_accessor :max_run_duration
|
4490
|
+
|
3320
4491
|
# The metadata key/value pairs assigned to instances in the cluster. Keys must
|
3321
4492
|
# conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length.
|
3322
4493
|
# These are reflected as part of a URL in the metadata server. Additionally, to
|
@@ -3386,11 +4557,31 @@ module Google
|
|
3386
4557
|
# @return [Hash<String,String>]
|
3387
4558
|
attr_accessor :resource_labels
|
3388
4559
|
|
4560
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
4561
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
4562
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
4563
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
4564
|
+
# specified. Existing tags will be replaced with new values.
|
4565
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
4566
|
+
# @return [Google::Apis::ContainerV1::ResourceManagerTags]
|
4567
|
+
attr_accessor :resource_manager_tags
|
4568
|
+
|
3389
4569
|
# SandboxConfig contains configurations of the sandbox to use for the node.
|
3390
4570
|
# Corresponds to the JSON property `sandboxConfig`
|
3391
4571
|
# @return [Google::Apis::ContainerV1::SandboxConfig]
|
3392
4572
|
attr_accessor :sandbox_config
|
3393
4573
|
|
4574
|
+
# SecondaryBootDiskUpdateStrategy is a placeholder which will be extended in the
|
4575
|
+
# future to define different options for updating secondary boot disks.
|
4576
|
+
# Corresponds to the JSON property `secondaryBootDiskUpdateStrategy`
|
4577
|
+
# @return [Google::Apis::ContainerV1::SecondaryBootDiskUpdateStrategy]
|
4578
|
+
attr_accessor :secondary_boot_disk_update_strategy
|
4579
|
+
|
4580
|
+
# List of secondary boot disks attached to the nodes.
|
4581
|
+
# Corresponds to the JSON property `secondaryBootDisks`
|
4582
|
+
# @return [Array<Google::Apis::ContainerV1::SecondaryBootDisk>]
|
4583
|
+
attr_accessor :secondary_boot_disks
|
4584
|
+
|
3394
4585
|
# The Google Cloud Platform Service Account to be used by the node VMs. Specify
|
3395
4586
|
# the email address of the Service Account; otherwise, if no Service Account is
|
3396
4587
|
# specified, the "default" service account is used.
|
@@ -3403,6 +4594,12 @@ module Google
|
|
3403
4594
|
# @return [Google::Apis::ContainerV1::ShieldedInstanceConfig]
|
3404
4595
|
attr_accessor :shielded_instance_config
|
3405
4596
|
|
4597
|
+
# SoleTenantConfig contains the NodeAffinities to specify what shared sole
|
4598
|
+
# tenant node groups should back the node pool.
|
4599
|
+
# Corresponds to the JSON property `soleTenantConfig`
|
4600
|
+
# @return [Google::Apis::ContainerV1::SoleTenantConfig]
|
4601
|
+
attr_accessor :sole_tenant_config
|
4602
|
+
|
3406
4603
|
# Spot flag for enabling Spot VM, which is a rebrand of the existing preemptible
|
3407
4604
|
# flag.
|
3408
4605
|
# Corresponds to the JSON property `spot`
|
@@ -3410,6 +4607,11 @@ module Google
|
|
3410
4607
|
attr_accessor :spot
|
3411
4608
|
alias_method :spot?, :spot
|
3412
4609
|
|
4610
|
+
# List of Storage Pools where boot disks are provisioned.
|
4611
|
+
# Corresponds to the JSON property `storagePools`
|
4612
|
+
# @return [Array<String>]
|
4613
|
+
attr_accessor :storage_pools
|
4614
|
+
|
3413
4615
|
# The list of instance tags applied to all nodes. Tags are used to identify
|
3414
4616
|
# valid sources or targets for network firewalls and are specified by the client
|
3415
4617
|
# during cluster or node pool creation. Each tag within the list must comply
|
@@ -3448,8 +4650,11 @@ module Google
|
|
3448
4650
|
@advanced_machine_features = args[:advanced_machine_features] if args.key?(:advanced_machine_features)
|
3449
4651
|
@boot_disk_kms_key = args[:boot_disk_kms_key] if args.key?(:boot_disk_kms_key)
|
3450
4652
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
4653
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
3451
4654
|
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
3452
4655
|
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
4656
|
+
@effective_cgroup_mode = args[:effective_cgroup_mode] if args.key?(:effective_cgroup_mode)
|
4657
|
+
@enable_confidential_storage = args[:enable_confidential_storage] if args.key?(:enable_confidential_storage)
|
3453
4658
|
@ephemeral_storage_local_ssd_config = args[:ephemeral_storage_local_ssd_config] if args.key?(:ephemeral_storage_local_ssd_config)
|
3454
4659
|
@fast_socket = args[:fast_socket] if args.key?(:fast_socket)
|
3455
4660
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
@@ -3460,8 +4665,10 @@ module Google
|
|
3460
4665
|
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
3461
4666
|
@local_nvme_ssd_block_config = args[:local_nvme_ssd_block_config] if args.key?(:local_nvme_ssd_block_config)
|
3462
4667
|
@local_ssd_count = args[:local_ssd_count] if args.key?(:local_ssd_count)
|
4668
|
+
@local_ssd_encryption_mode = args[:local_ssd_encryption_mode] if args.key?(:local_ssd_encryption_mode)
|
3463
4669
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
3464
4670
|
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
4671
|
+
@max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
|
3465
4672
|
@metadata = args[:metadata] if args.key?(:metadata)
|
3466
4673
|
@min_cpu_platform = args[:min_cpu_platform] if args.key?(:min_cpu_platform)
|
3467
4674
|
@node_group = args[:node_group] if args.key?(:node_group)
|
@@ -3469,10 +4676,15 @@ module Google
|
|
3469
4676
|
@preemptible = args[:preemptible] if args.key?(:preemptible)
|
3470
4677
|
@reservation_affinity = args[:reservation_affinity] if args.key?(:reservation_affinity)
|
3471
4678
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
4679
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
3472
4680
|
@sandbox_config = args[:sandbox_config] if args.key?(:sandbox_config)
|
4681
|
+
@secondary_boot_disk_update_strategy = args[:secondary_boot_disk_update_strategy] if args.key?(:secondary_boot_disk_update_strategy)
|
4682
|
+
@secondary_boot_disks = args[:secondary_boot_disks] if args.key?(:secondary_boot_disks)
|
3473
4683
|
@service_account = args[:service_account] if args.key?(:service_account)
|
3474
4684
|
@shielded_instance_config = args[:shielded_instance_config] if args.key?(:shielded_instance_config)
|
4685
|
+
@sole_tenant_config = args[:sole_tenant_config] if args.key?(:sole_tenant_config)
|
3475
4686
|
@spot = args[:spot] if args.key?(:spot)
|
4687
|
+
@storage_pools = args[:storage_pools] if args.key?(:storage_pools)
|
3476
4688
|
@tags = args[:tags] if args.key?(:tags)
|
3477
4689
|
@taints = args[:taints] if args.key?(:taints)
|
3478
4690
|
@windows_node_config = args[:windows_node_config] if args.key?(:windows_node_config)
|
@@ -3484,6 +4696,11 @@ module Google
|
|
3484
4696
|
class NodeConfigDefaults
|
3485
4697
|
include Google::Apis::Core::Hashable
|
3486
4698
|
|
4699
|
+
# ContainerdConfig contains configuration to customize containerd.
|
4700
|
+
# Corresponds to the JSON property `containerdConfig`
|
4701
|
+
# @return [Google::Apis::ContainerV1::ContainerdConfig]
|
4702
|
+
attr_accessor :containerd_config
|
4703
|
+
|
3487
4704
|
# GcfsConfig contains configurations of Google Container File System (image
|
3488
4705
|
# streaming).
|
3489
4706
|
# Corresponds to the JSON property `gcfsConfig`
|
@@ -3495,14 +4712,21 @@ module Google
|
|
3495
4712
|
# @return [Google::Apis::ContainerV1::NodePoolLoggingConfig]
|
3496
4713
|
attr_accessor :logging_config
|
3497
4714
|
|
4715
|
+
# Node kubelet configs.
|
4716
|
+
# Corresponds to the JSON property `nodeKubeletConfig`
|
4717
|
+
# @return [Google::Apis::ContainerV1::NodeKubeletConfig]
|
4718
|
+
attr_accessor :node_kubelet_config
|
4719
|
+
|
3498
4720
|
def initialize(**args)
|
3499
4721
|
update!(**args)
|
3500
4722
|
end
|
3501
4723
|
|
3502
4724
|
# Update properties of this object
|
3503
4725
|
def update!(**args)
|
4726
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
3504
4727
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
3505
4728
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
4729
|
+
@node_kubelet_config = args[:node_kubelet_config] if args.key?(:node_kubelet_config)
|
3506
4730
|
end
|
3507
4731
|
end
|
3508
4732
|
|
@@ -3540,6 +4764,12 @@ module Google
|
|
3540
4764
|
# @return [String]
|
3541
4765
|
attr_accessor :cpu_manager_policy
|
3542
4766
|
|
4767
|
+
# Enable or disable Kubelet read only port.
|
4768
|
+
# Corresponds to the JSON property `insecureKubeletReadonlyPortEnabled`
|
4769
|
+
# @return [Boolean]
|
4770
|
+
attr_accessor :insecure_kubelet_readonly_port_enabled
|
4771
|
+
alias_method :insecure_kubelet_readonly_port_enabled?, :insecure_kubelet_readonly_port_enabled
|
4772
|
+
|
3543
4773
|
# Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-
|
3544
4774
|
# limiting/#pod-pid-limits Controls the maximum number of processes allowed to
|
3545
4775
|
# run in a pod. The value must be greater than or equal to 1024 and less than
|
@@ -3557,6 +4787,7 @@ module Google
|
|
3557
4787
|
@cpu_cfs_quota = args[:cpu_cfs_quota] if args.key?(:cpu_cfs_quota)
|
3558
4788
|
@cpu_cfs_quota_period = args[:cpu_cfs_quota_period] if args.key?(:cpu_cfs_quota_period)
|
3559
4789
|
@cpu_manager_policy = args[:cpu_manager_policy] if args.key?(:cpu_manager_policy)
|
4790
|
+
@insecure_kubelet_readonly_port_enabled = args[:insecure_kubelet_readonly_port_enabled] if args.key?(:insecure_kubelet_readonly_port_enabled)
|
3560
4791
|
@pod_pids_limit = args[:pod_pids_limit] if args.key?(:pod_pids_limit)
|
3561
4792
|
end
|
3562
4793
|
end
|
@@ -3625,6 +4856,18 @@ module Google
|
|
3625
4856
|
class NodeNetworkConfig
|
3626
4857
|
include Google::Apis::Core::Hashable
|
3627
4858
|
|
4859
|
+
# We specify the additional node networks for this node pool using this list.
|
4860
|
+
# Each node network corresponds to an additional interface
|
4861
|
+
# Corresponds to the JSON property `additionalNodeNetworkConfigs`
|
4862
|
+
# @return [Array<Google::Apis::ContainerV1::AdditionalNodeNetworkConfig>]
|
4863
|
+
attr_accessor :additional_node_network_configs
|
4864
|
+
|
4865
|
+
# We specify the additional pod networks for this node pool using this list.
|
4866
|
+
# Each pod network corresponds to an additional alias IP range for the node
|
4867
|
+
# Corresponds to the JSON property `additionalPodNetworkConfigs`
|
4868
|
+
# @return [Array<Google::Apis::ContainerV1::AdditionalPodNetworkConfig>]
|
4869
|
+
attr_accessor :additional_pod_network_configs
|
4870
|
+
|
3628
4871
|
# Input only. Whether to create a new range for pod IPs in this node pool.
|
3629
4872
|
# Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are
|
3630
4873
|
# not specified. If neither `create_pod_range` or `pod_range` are specified, the
|
@@ -3637,8 +4880,8 @@ module Google
|
|
3637
4880
|
alias_method :create_pod_range?, :create_pod_range
|
3638
4881
|
|
3639
4882
|
# Whether nodes have internal IP addresses only. If enable_private_nodes is not
|
3640
|
-
# specified, then the value is derived from
|
3641
|
-
#
|
4883
|
+
# specified, then the value is derived from Cluster.NetworkConfig.
|
4884
|
+
# default_enable_private_nodes
|
3642
4885
|
# Corresponds to the JSON property `enablePrivateNodes`
|
3643
4886
|
# @return [Boolean]
|
3644
4887
|
attr_accessor :enable_private_nodes
|
@@ -3649,6 +4892,11 @@ module Google
|
|
3649
4892
|
# @return [Google::Apis::ContainerV1::NetworkPerformanceConfig]
|
3650
4893
|
attr_accessor :network_performance_config
|
3651
4894
|
|
4895
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
4896
|
+
# Corresponds to the JSON property `podCidrOverprovisionConfig`
|
4897
|
+
# @return [Google::Apis::ContainerV1::PodCidrOverprovisionConfig]
|
4898
|
+
attr_accessor :pod_cidr_overprovision_config
|
4899
|
+
|
3652
4900
|
# The IP address range for pod IPs in this node pool. Only applicable if `
|
3653
4901
|
# create_pod_range` is true. Set to blank to have a range chosen with the
|
3654
4902
|
# default size. Set to /netmask (e.g. `/14`) to have a range chosen with a
|
@@ -3660,6 +4908,13 @@ module Google
|
|
3660
4908
|
# @return [String]
|
3661
4909
|
attr_accessor :pod_ipv4_cidr_block
|
3662
4910
|
|
4911
|
+
# Output only. The utilization of the IPv4 range for the pod. The ratio is Usage/
|
4912
|
+
# [Total number of IPs in the secondary range], Usage=numNodes*numZones*
|
4913
|
+
# podIPsPerNode.
|
4914
|
+
# Corresponds to the JSON property `podIpv4RangeUtilization`
|
4915
|
+
# @return [Float]
|
4916
|
+
attr_accessor :pod_ipv4_range_utilization
|
4917
|
+
|
3663
4918
|
# The ID of the secondary range for pod IPs. If `create_pod_range` is true, this
|
3664
4919
|
# ID is used for the new range. If `create_pod_range` is false, uses an existing
|
3665
4920
|
# secondary range with this ID. Only applicable if `ip_allocation_policy.
|
@@ -3675,10 +4930,14 @@ module Google
|
|
3675
4930
|
|
3676
4931
|
# Update properties of this object
|
3677
4932
|
def update!(**args)
|
4933
|
+
@additional_node_network_configs = args[:additional_node_network_configs] if args.key?(:additional_node_network_configs)
|
4934
|
+
@additional_pod_network_configs = args[:additional_pod_network_configs] if args.key?(:additional_pod_network_configs)
|
3678
4935
|
@create_pod_range = args[:create_pod_range] if args.key?(:create_pod_range)
|
3679
4936
|
@enable_private_nodes = args[:enable_private_nodes] if args.key?(:enable_private_nodes)
|
3680
4937
|
@network_performance_config = args[:network_performance_config] if args.key?(:network_performance_config)
|
4938
|
+
@pod_cidr_overprovision_config = args[:pod_cidr_overprovision_config] if args.key?(:pod_cidr_overprovision_config)
|
3681
4939
|
@pod_ipv4_cidr_block = args[:pod_ipv4_cidr_block] if args.key?(:pod_ipv4_cidr_block)
|
4940
|
+
@pod_ipv4_range_utilization = args[:pod_ipv4_range_utilization] if args.key?(:pod_ipv4_range_utilization)
|
3682
4941
|
@pod_range = args[:pod_range] if args.key?(:pod_range)
|
3683
4942
|
end
|
3684
4943
|
end
|
@@ -3698,6 +4957,11 @@ module Google
|
|
3698
4957
|
# @return [Google::Apis::ContainerV1::NodePoolAutoscaling]
|
3699
4958
|
attr_accessor :autoscaling
|
3700
4959
|
|
4960
|
+
# Best effort provisioning.
|
4961
|
+
# Corresponds to the JSON property `bestEffortProvisioning`
|
4962
|
+
# @return [Google::Apis::ContainerV1::BestEffortProvisioning]
|
4963
|
+
attr_accessor :best_effort_provisioning
|
4964
|
+
|
3701
4965
|
# Which conditions caused the current node pool state.
|
3702
4966
|
# Corresponds to the JSON property `conditions`
|
3703
4967
|
# @return [Array<Google::Apis::ContainerV1::StatusCondition>]
|
@@ -3725,7 +4989,7 @@ module Google
|
|
3725
4989
|
# @return [Fixnum]
|
3726
4990
|
attr_accessor :initial_node_count
|
3727
4991
|
|
3728
|
-
#
|
4992
|
+
# Output only. The resource URLs of the [managed instance groups](https://cloud.
|
3729
4993
|
# google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
|
3730
4994
|
# associated with this node pool. During the node pool blue-green upgrade
|
3731
4995
|
# operation, the URLs contain both blue and green resources.
|
@@ -3769,22 +5033,27 @@ module Google
|
|
3769
5033
|
# @return [Google::Apis::ContainerV1::PlacementPolicy]
|
3770
5034
|
attr_accessor :placement_policy
|
3771
5035
|
|
3772
|
-
#
|
5036
|
+
# Output only. The pod CIDR block size per node in this node pool.
|
3773
5037
|
# Corresponds to the JSON property `podIpv4CidrSize`
|
3774
5038
|
# @return [Fixnum]
|
3775
5039
|
attr_accessor :pod_ipv4_cidr_size
|
3776
5040
|
|
3777
|
-
#
|
5041
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
5042
|
+
# Corresponds to the JSON property `queuedProvisioning`
|
5043
|
+
# @return [Google::Apis::ContainerV1::QueuedProvisioning]
|
5044
|
+
attr_accessor :queued_provisioning
|
5045
|
+
|
5046
|
+
# Output only. Server-defined URL for the resource.
|
3778
5047
|
# Corresponds to the JSON property `selfLink`
|
3779
5048
|
# @return [String]
|
3780
5049
|
attr_accessor :self_link
|
3781
5050
|
|
3782
|
-
#
|
5051
|
+
# Output only. The status of the nodes in this pool instance.
|
3783
5052
|
# Corresponds to the JSON property `status`
|
3784
5053
|
# @return [String]
|
3785
5054
|
attr_accessor :status
|
3786
5055
|
|
3787
|
-
#
|
5056
|
+
# Output only. Deprecated. Use conditions instead. Additional information about
|
3788
5057
|
# the current status of this node pool instance, if available.
|
3789
5058
|
# Corresponds to the JSON property `statusMessage`
|
3790
5059
|
# @return [String]
|
@@ -3831,7 +5100,9 @@ module Google
|
|
3831
5100
|
# @return [Google::Apis::ContainerV1::UpgradeSettings]
|
3832
5101
|
attr_accessor :upgrade_settings
|
3833
5102
|
|
3834
|
-
# The version of
|
5103
|
+
# The version of Kubernetes running on this NodePool's nodes. If unspecified, it
|
5104
|
+
# defaults as described [here](https://cloud.google.com/kubernetes-engine/
|
5105
|
+
# versioning#specifying_node_version).
|
3835
5106
|
# Corresponds to the JSON property `version`
|
3836
5107
|
# @return [String]
|
3837
5108
|
attr_accessor :version
|
@@ -3843,6 +5114,7 @@ module Google
|
|
3843
5114
|
# Update properties of this object
|
3844
5115
|
def update!(**args)
|
3845
5116
|
@autoscaling = args[:autoscaling] if args.key?(:autoscaling)
|
5117
|
+
@best_effort_provisioning = args[:best_effort_provisioning] if args.key?(:best_effort_provisioning)
|
3846
5118
|
@conditions = args[:conditions] if args.key?(:conditions)
|
3847
5119
|
@config = args[:config] if args.key?(:config)
|
3848
5120
|
@etag = args[:etag] if args.key?(:etag)
|
@@ -3855,6 +5127,7 @@ module Google
|
|
3855
5127
|
@network_config = args[:network_config] if args.key?(:network_config)
|
3856
5128
|
@placement_policy = args[:placement_policy] if args.key?(:placement_policy)
|
3857
5129
|
@pod_ipv4_cidr_size = args[:pod_ipv4_cidr_size] if args.key?(:pod_ipv4_cidr_size)
|
5130
|
+
@queued_provisioning = args[:queued_provisioning] if args.key?(:queued_provisioning)
|
3858
5131
|
@self_link = args[:self_link] if args.key?(:self_link)
|
3859
5132
|
@status = args[:status] if args.key?(:status)
|
3860
5133
|
@status_message = args[:status_message] if args.key?(:status_message)
|
@@ -3869,19 +5142,41 @@ module Google
|
|
3869
5142
|
class NodePoolAutoConfig
|
3870
5143
|
include Google::Apis::Core::Hashable
|
3871
5144
|
|
5145
|
+
# Parameters that can be configured on Linux nodes.
|
5146
|
+
# Corresponds to the JSON property `linuxNodeConfig`
|
5147
|
+
# @return [Google::Apis::ContainerV1::LinuxNodeConfig]
|
5148
|
+
attr_accessor :linux_node_config
|
5149
|
+
|
3872
5150
|
# Collection of Compute Engine network tags that can be applied to a node's
|
3873
5151
|
# underlying VM instance.
|
3874
5152
|
# Corresponds to the JSON property `networkTags`
|
3875
5153
|
# @return [Google::Apis::ContainerV1::NetworkTags]
|
3876
5154
|
attr_accessor :network_tags
|
3877
5155
|
|
5156
|
+
# Node kubelet configs.
|
5157
|
+
# Corresponds to the JSON property `nodeKubeletConfig`
|
5158
|
+
# @return [Google::Apis::ContainerV1::NodeKubeletConfig]
|
5159
|
+
attr_accessor :node_kubelet_config
|
5160
|
+
|
5161
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
5162
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
5163
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
5164
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
5165
|
+
# specified. Existing tags will be replaced with new values.
|
5166
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
5167
|
+
# @return [Google::Apis::ContainerV1::ResourceManagerTags]
|
5168
|
+
attr_accessor :resource_manager_tags
|
5169
|
+
|
3878
5170
|
def initialize(**args)
|
3879
5171
|
update!(**args)
|
3880
5172
|
end
|
3881
5173
|
|
3882
5174
|
# Update properties of this object
|
3883
5175
|
def update!(**args)
|
5176
|
+
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
3884
5177
|
@network_tags = args[:network_tags] if args.key?(:network_tags)
|
5178
|
+
@node_kubelet_config = args[:node_kubelet_config] if args.key?(:node_kubelet_config)
|
5179
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
3885
5180
|
end
|
3886
5181
|
end
|
3887
5182
|
|
@@ -3907,19 +5202,19 @@ module Google
|
|
3907
5202
|
# @return [String]
|
3908
5203
|
attr_accessor :location_policy
|
3909
5204
|
|
3910
|
-
# Maximum number of nodes for one location in the
|
5205
|
+
# Maximum number of nodes for one location in the node pool. Must be >=
|
3911
5206
|
# min_node_count. There has to be enough quota to scale up the cluster.
|
3912
5207
|
# Corresponds to the JSON property `maxNodeCount`
|
3913
5208
|
# @return [Fixnum]
|
3914
5209
|
attr_accessor :max_node_count
|
3915
5210
|
|
3916
|
-
# Minimum number of nodes for one location in the
|
3917
|
-
# max_node_count.
|
5211
|
+
# Minimum number of nodes for one location in the node pool. Must be greater
|
5212
|
+
# than or equal to 0 and less than or equal to max_node_count.
|
3918
5213
|
# Corresponds to the JSON property `minNodeCount`
|
3919
5214
|
# @return [Fixnum]
|
3920
5215
|
attr_accessor :min_node_count
|
3921
5216
|
|
3922
|
-
# Maximum number of nodes in the node pool. Must be greater than
|
5217
|
+
# Maximum number of nodes in the node pool. Must be greater than or equal to
|
3923
5218
|
# total_min_node_count. There has to be enough quota to scale up the cluster.
|
3924
5219
|
# The total_*_node_count fields are mutually exclusive with the *_node_count
|
3925
5220
|
# fields.
|
@@ -3927,9 +5222,9 @@ module Google
|
|
3927
5222
|
# @return [Fixnum]
|
3928
5223
|
attr_accessor :total_max_node_count
|
3929
5224
|
|
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.
|
5225
|
+
# Minimum number of nodes in the node pool. Must be greater than or equal to 0
|
5226
|
+
# and less than or equal to total_max_node_count. The total_*_node_count fields
|
5227
|
+
# are mutually exclusive with the *_node_count fields.
|
3933
5228
|
# Corresponds to the JSON property `totalMinNodeCount`
|
3934
5229
|
# @return [Fixnum]
|
3935
5230
|
attr_accessor :total_min_node_count
|
@@ -3988,7 +5283,7 @@ module Google
|
|
3988
5283
|
end
|
3989
5284
|
end
|
3990
5285
|
|
3991
|
-
# Kubernetes taint is
|
5286
|
+
# Kubernetes taint is composed of three fields: key, value, and effect. Effect
|
3992
5287
|
# can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See
|
3993
5288
|
# [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
|
3994
5289
|
# for more information, including usage and the valid values.
|
@@ -4072,12 +5367,12 @@ module Google
|
|
4072
5367
|
# @return [Array<Google::Apis::ContainerV1::StatusCondition>]
|
4073
5368
|
attr_accessor :cluster_conditions
|
4074
5369
|
|
4075
|
-
# Detailed operation progress, if available.
|
5370
|
+
# Output only. Detailed operation progress, if available.
|
4076
5371
|
# Corresponds to the JSON property `detail`
|
4077
5372
|
# @return [String]
|
4078
5373
|
attr_accessor :detail
|
4079
5374
|
|
4080
|
-
#
|
5375
|
+
# Output only. The time the operation completed, in [RFC3339](https://www.ietf.
|
4081
5376
|
# org/rfc/rfc3339.txt) text format.
|
4082
5377
|
# Corresponds to the JSON property `endTime`
|
4083
5378
|
# @return [String]
|
@@ -4093,15 +5388,15 @@ module Google
|
|
4093
5388
|
# @return [Google::Apis::ContainerV1::Status]
|
4094
5389
|
attr_accessor :error
|
4095
5390
|
|
4096
|
-
#
|
4097
|
-
#
|
4098
|
-
#
|
4099
|
-
#
|
5391
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
5392
|
+
# com/compute/docs/regions-zones/regions-zones#available) or [region](https://
|
5393
|
+
# cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
|
5394
|
+
# the cluster resides.
|
4100
5395
|
# Corresponds to the JSON property `location`
|
4101
5396
|
# @return [String]
|
4102
5397
|
attr_accessor :location
|
4103
5398
|
|
4104
|
-
# The server-assigned ID for the operation.
|
5399
|
+
# Output only. The server-assigned ID for the operation.
|
4105
5400
|
# Corresponds to the JSON property `name`
|
4106
5401
|
# @return [String]
|
4107
5402
|
attr_accessor :name
|
@@ -4112,7 +5407,7 @@ module Google
|
|
4112
5407
|
# @return [Array<Google::Apis::ContainerV1::StatusCondition>]
|
4113
5408
|
attr_accessor :nodepool_conditions
|
4114
5409
|
|
4115
|
-
# The operation type.
|
5410
|
+
# Output only. The operation type.
|
4116
5411
|
# Corresponds to the JSON property `operationType`
|
4117
5412
|
# @return [String]
|
4118
5413
|
attr_accessor :operation_type
|
@@ -4122,18 +5417,20 @@ module Google
|
|
4122
5417
|
# @return [Google::Apis::ContainerV1::OperationProgress]
|
4123
5418
|
attr_accessor :progress
|
4124
5419
|
|
4125
|
-
# Server-defined
|
5420
|
+
# Output only. Server-defined URI for the operation. Example: `https://container.
|
5421
|
+
# googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/
|
5422
|
+
# operation-123`.
|
4126
5423
|
# Corresponds to the JSON property `selfLink`
|
4127
5424
|
# @return [String]
|
4128
5425
|
attr_accessor :self_link
|
4129
5426
|
|
4130
|
-
#
|
4131
|
-
#
|
5427
|
+
# Output only. The time the operation started, in [RFC3339](https://www.ietf.org/
|
5428
|
+
# rfc/rfc3339.txt) text format.
|
4132
5429
|
# Corresponds to the JSON property `startTime`
|
4133
5430
|
# @return [String]
|
4134
5431
|
attr_accessor :start_time
|
4135
5432
|
|
4136
|
-
# The current status of the operation.
|
5433
|
+
# Output only. The current status of the operation.
|
4137
5434
|
# Corresponds to the JSON property `status`
|
4138
5435
|
# @return [String]
|
4139
5436
|
attr_accessor :status
|
@@ -4144,14 +5441,21 @@ module Google
|
|
4144
5441
|
# @return [String]
|
4145
5442
|
attr_accessor :status_message
|
4146
5443
|
|
4147
|
-
# Server-defined
|
5444
|
+
# Output only. Server-defined URI for the target of the operation. The format of
|
5445
|
+
# this is a URI to the resource being modified (such as a cluster, node pool, or
|
5446
|
+
# node). For node pool repairs, there may be multiple nodes being repaired, but
|
5447
|
+
# only one will be the target. Examples: - ## `https://container.googleapis.com/
|
5448
|
+
# v1/projects/123/locations/us-central1/clusters/my-cluster` ## `https://
|
5449
|
+
# container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-
|
5450
|
+
# cluster/nodePools/my-np` `https://container.googleapis.com/v1/projects/123/
|
5451
|
+
# zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node`
|
4148
5452
|
# Corresponds to the JSON property `targetLink`
|
4149
5453
|
# @return [String]
|
4150
5454
|
attr_accessor :target_link
|
4151
5455
|
|
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.
|
5456
|
+
# Output only. The name of the Google Compute Engine [zone](https://cloud.google.
|
5457
|
+
# com/compute/docs/zones#available) in which the operation is taking place. This
|
5458
|
+
# field is deprecated, use location instead.
|
4155
5459
|
# Corresponds to the JSON property `zone`
|
4156
5460
|
# @return [String]
|
4157
5461
|
attr_accessor :zone
|
@@ -4180,6 +5484,38 @@ module Google
|
|
4180
5484
|
end
|
4181
5485
|
end
|
4182
5486
|
|
5487
|
+
# OperationError records errors seen from CloudKMS keys encountered during
|
5488
|
+
# updates to DatabaseEncryption configuration.
|
5489
|
+
class OperationError
|
5490
|
+
include Google::Apis::Core::Hashable
|
5491
|
+
|
5492
|
+
# Description of the error seen during the operation.
|
5493
|
+
# Corresponds to the JSON property `errorMessage`
|
5494
|
+
# @return [String]
|
5495
|
+
attr_accessor :error_message
|
5496
|
+
|
5497
|
+
# CloudKMS key resource that had the error.
|
5498
|
+
# Corresponds to the JSON property `keyName`
|
5499
|
+
# @return [String]
|
5500
|
+
attr_accessor :key_name
|
5501
|
+
|
5502
|
+
# Time when the CloudKMS error was seen.
|
5503
|
+
# Corresponds to the JSON property `timestamp`
|
5504
|
+
# @return [String]
|
5505
|
+
attr_accessor :timestamp
|
5506
|
+
|
5507
|
+
def initialize(**args)
|
5508
|
+
update!(**args)
|
5509
|
+
end
|
5510
|
+
|
5511
|
+
# Update properties of this object
|
5512
|
+
def update!(**args)
|
5513
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
5514
|
+
@key_name = args[:key_name] if args.key?(:key_name)
|
5515
|
+
@timestamp = args[:timestamp] if args.key?(:timestamp)
|
5516
|
+
end
|
5517
|
+
end
|
5518
|
+
|
4183
5519
|
# Information about operation (or operation stage) progress.
|
4184
5520
|
class OperationProgress
|
4185
5521
|
include Google::Apis::Core::Hashable
|
@@ -4220,10 +5556,70 @@ module Google
|
|
4220
5556
|
end
|
4221
5557
|
end
|
4222
5558
|
|
5559
|
+
# Configuration for the Cloud Storage Parallelstore CSI driver.
|
5560
|
+
class ParallelstoreCsiDriverConfig
|
5561
|
+
include Google::Apis::Core::Hashable
|
5562
|
+
|
5563
|
+
# Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster.
|
5564
|
+
# Corresponds to the JSON property `enabled`
|
5565
|
+
# @return [Boolean]
|
5566
|
+
attr_accessor :enabled
|
5567
|
+
alias_method :enabled?, :enabled
|
5568
|
+
|
5569
|
+
def initialize(**args)
|
5570
|
+
update!(**args)
|
5571
|
+
end
|
5572
|
+
|
5573
|
+
# Update properties of this object
|
5574
|
+
def update!(**args)
|
5575
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
5576
|
+
end
|
5577
|
+
end
|
5578
|
+
|
5579
|
+
# ParentProductConfig is the configuration of the parent product of the cluster.
|
5580
|
+
# This field is used by Google internal products that are built on top of a GKE
|
5581
|
+
# cluster and take the ownership of the cluster.
|
5582
|
+
class ParentProductConfig
|
5583
|
+
include Google::Apis::Core::Hashable
|
5584
|
+
|
5585
|
+
# Labels contain the configuration of the parent product.
|
5586
|
+
# Corresponds to the JSON property `labels`
|
5587
|
+
# @return [Hash<String,String>]
|
5588
|
+
attr_accessor :labels
|
5589
|
+
|
5590
|
+
# Name of the parent product associated with the cluster.
|
5591
|
+
# Corresponds to the JSON property `productName`
|
5592
|
+
# @return [String]
|
5593
|
+
attr_accessor :product_name
|
5594
|
+
|
5595
|
+
def initialize(**args)
|
5596
|
+
update!(**args)
|
5597
|
+
end
|
5598
|
+
|
5599
|
+
# Update properties of this object
|
5600
|
+
def update!(**args)
|
5601
|
+
@labels = args[:labels] if args.key?(:labels)
|
5602
|
+
@product_name = args[:product_name] if args.key?(:product_name)
|
5603
|
+
end
|
5604
|
+
end
|
5605
|
+
|
4223
5606
|
# PlacementPolicy defines the placement policy used by the node pool.
|
4224
5607
|
class PlacementPolicy
|
4225
5608
|
include Google::Apis::Core::Hashable
|
4226
5609
|
|
5610
|
+
# If set, refers to the name of a custom resource policy supplied by the user.
|
5611
|
+
# The resource policy must be in the same project and region as the node pool.
|
5612
|
+
# If not found, InvalidArgument error is returned.
|
5613
|
+
# Corresponds to the JSON property `policyName`
|
5614
|
+
# @return [String]
|
5615
|
+
attr_accessor :policy_name
|
5616
|
+
|
5617
|
+
# Optional. TPU placement topology for pod slice node pool. https://cloud.google.
|
5618
|
+
# com/tpu/docs/types-topologies#tpu_topologies
|
5619
|
+
# Corresponds to the JSON property `tpuTopology`
|
5620
|
+
# @return [String]
|
5621
|
+
attr_accessor :tpu_topology
|
5622
|
+
|
4227
5623
|
# The type of placement.
|
4228
5624
|
# Corresponds to the JSON property `type`
|
4229
5625
|
# @return [String]
|
@@ -4235,15 +5631,42 @@ module Google
|
|
4235
5631
|
|
4236
5632
|
# Update properties of this object
|
4237
5633
|
def update!(**args)
|
5634
|
+
@policy_name = args[:policy_name] if args.key?(:policy_name)
|
5635
|
+
@tpu_topology = args[:tpu_topology] if args.key?(:tpu_topology)
|
4238
5636
|
@type = args[:type] if args.key?(:type)
|
4239
5637
|
end
|
4240
5638
|
end
|
4241
5639
|
|
5640
|
+
# [PRIVATE FIELD] Config for pod CIDR size overprovisioning.
|
5641
|
+
class PodCidrOverprovisionConfig
|
5642
|
+
include Google::Apis::Core::Hashable
|
5643
|
+
|
5644
|
+
# Whether Pod CIDR overprovisioning is disabled. Note: Pod CIDR overprovisioning
|
5645
|
+
# is enabled by default.
|
5646
|
+
# Corresponds to the JSON property `disable`
|
5647
|
+
# @return [Boolean]
|
5648
|
+
attr_accessor :disable
|
5649
|
+
alias_method :disable?, :disable
|
5650
|
+
|
5651
|
+
def initialize(**args)
|
5652
|
+
update!(**args)
|
5653
|
+
end
|
5654
|
+
|
5655
|
+
# Update properties of this object
|
5656
|
+
def update!(**args)
|
5657
|
+
@disable = args[:disable] if args.key?(:disable)
|
5658
|
+
end
|
5659
|
+
end
|
5660
|
+
|
4242
5661
|
# Configuration options for private clusters.
|
4243
5662
|
class PrivateClusterConfig
|
4244
5663
|
include Google::Apis::Core::Hashable
|
4245
5664
|
|
4246
5665
|
# Whether the master's internal IP address is used as the cluster endpoint.
|
5666
|
+
# Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.
|
5667
|
+
# enable_public_endpoint instead. Note that the value of enable_public_endpoint
|
5668
|
+
# is reversed: if enable_private_endpoint is false, then enable_public_endpoint
|
5669
|
+
# will be true.
|
4247
5670
|
# Corresponds to the JSON property `enablePrivateEndpoint`
|
4248
5671
|
# @return [Boolean]
|
4249
5672
|
attr_accessor :enable_private_endpoint
|
@@ -4251,7 +5674,7 @@ module Google
|
|
4251
5674
|
|
4252
5675
|
# Whether nodes have internal IP addresses only. If enabled, all nodes are given
|
4253
5676
|
# only RFC 1918 private addresses and communicate with the master via private
|
4254
|
-
# networking.
|
5677
|
+
# networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.
|
4255
5678
|
# Corresponds to the JSON property `enablePrivateNodes`
|
4256
5679
|
# @return [Boolean]
|
4257
5680
|
attr_accessor :enable_private_nodes
|
@@ -4276,17 +5699,23 @@ module Google
|
|
4276
5699
|
attr_accessor :peering_name
|
4277
5700
|
|
4278
5701
|
# Output only. The internal IP address of this cluster's master endpoint.
|
5702
|
+
# Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint
|
5703
|
+
# instead.
|
4279
5704
|
# Corresponds to the JSON property `privateEndpoint`
|
4280
5705
|
# @return [String]
|
4281
5706
|
attr_accessor :private_endpoint
|
4282
5707
|
|
4283
5708
|
# Subnet to provision the master's private endpoint during cluster creation.
|
4284
|
-
# Specified in projects/*/regions/*/subnetworks/* format.
|
5709
|
+
# Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use
|
5710
|
+
# ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork
|
5711
|
+
# instead.
|
4285
5712
|
# Corresponds to the JSON property `privateEndpointSubnetwork`
|
4286
5713
|
# @return [String]
|
4287
5714
|
attr_accessor :private_endpoint_subnetwork
|
4288
5715
|
|
4289
5716
|
# Output only. The external IP address of this cluster's master endpoint.
|
5717
|
+
# Deprecated:Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint
|
5718
|
+
# instead.
|
4290
5719
|
# Corresponds to the JSON property `publicEndpoint`
|
4291
5720
|
# @return [String]
|
4292
5721
|
attr_accessor :public_endpoint
|
@@ -4328,6 +5757,33 @@ module Google
|
|
4328
5757
|
end
|
4329
5758
|
end
|
4330
5759
|
|
5760
|
+
# PrivateRegistryAccessConfig contains access configuration for private
|
5761
|
+
# container registries.
|
5762
|
+
class PrivateRegistryAccessConfig
|
5763
|
+
include Google::Apis::Core::Hashable
|
5764
|
+
|
5765
|
+
# Private registry access configuration.
|
5766
|
+
# Corresponds to the JSON property `certificateAuthorityDomainConfig`
|
5767
|
+
# @return [Array<Google::Apis::ContainerV1::CertificateAuthorityDomainConfig>]
|
5768
|
+
attr_accessor :certificate_authority_domain_config
|
5769
|
+
|
5770
|
+
# Private registry access is enabled.
|
5771
|
+
# Corresponds to the JSON property `enabled`
|
5772
|
+
# @return [Boolean]
|
5773
|
+
attr_accessor :enabled
|
5774
|
+
alias_method :enabled?, :enabled
|
5775
|
+
|
5776
|
+
def initialize(**args)
|
5777
|
+
update!(**args)
|
5778
|
+
end
|
5779
|
+
|
5780
|
+
# Update properties of this object
|
5781
|
+
def update!(**args)
|
5782
|
+
@certificate_authority_domain_config = args[:certificate_authority_domain_config] if args.key?(:certificate_authority_domain_config)
|
5783
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
5784
|
+
end
|
5785
|
+
end
|
5786
|
+
|
4331
5787
|
# Pub/Sub specific notification config.
|
4332
5788
|
class PubSub
|
4333
5789
|
include Google::Apis::Core::Hashable
|
@@ -4359,8 +5815,156 @@ module Google
|
|
4359
5815
|
# Update properties of this object
|
4360
5816
|
def update!(**args)
|
4361
5817
|
@enabled = args[:enabled] if args.key?(:enabled)
|
4362
|
-
@filter = args[:filter] if args.key?(:filter)
|
4363
|
-
@topic = args[:topic] if args.key?(:topic)
|
5818
|
+
@filter = args[:filter] if args.key?(:filter)
|
5819
|
+
@topic = args[:topic] if args.key?(:topic)
|
5820
|
+
end
|
5821
|
+
end
|
5822
|
+
|
5823
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
5824
|
+
class QueuedProvisioning
|
5825
|
+
include Google::Apis::Core::Hashable
|
5826
|
+
|
5827
|
+
# Denotes that this nodepool is QRM specific, meaning nodes can be only obtained
|
5828
|
+
# through queuing via the Cluster Autoscaler ProvisioningRequest API.
|
5829
|
+
# Corresponds to the JSON property `enabled`
|
5830
|
+
# @return [Boolean]
|
5831
|
+
attr_accessor :enabled
|
5832
|
+
alias_method :enabled?, :enabled
|
5833
|
+
|
5834
|
+
def initialize(**args)
|
5835
|
+
update!(**args)
|
5836
|
+
end
|
5837
|
+
|
5838
|
+
# Update properties of this object
|
5839
|
+
def update!(**args)
|
5840
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
5841
|
+
end
|
5842
|
+
end
|
5843
|
+
|
5844
|
+
# RBACBindingConfig allows user to restrict ClusterRoleBindings an RoleBindings
|
5845
|
+
# that can be created.
|
5846
|
+
class RbacBindingConfig
|
5847
|
+
include Google::Apis::Core::Hashable
|
5848
|
+
|
5849
|
+
# Setting this to true will allow any ClusterRoleBinding and RoleBinding with
|
5850
|
+
# subjects system:authenticated.
|
5851
|
+
# Corresponds to the JSON property `enableInsecureBindingSystemAuthenticated`
|
5852
|
+
# @return [Boolean]
|
5853
|
+
attr_accessor :enable_insecure_binding_system_authenticated
|
5854
|
+
alias_method :enable_insecure_binding_system_authenticated?, :enable_insecure_binding_system_authenticated
|
5855
|
+
|
5856
|
+
# Setting this to true will allow any ClusterRoleBinding and RoleBinding with
|
5857
|
+
# subjets system:anonymous or system:unauthenticated.
|
5858
|
+
# Corresponds to the JSON property `enableInsecureBindingSystemUnauthenticated`
|
5859
|
+
# @return [Boolean]
|
5860
|
+
attr_accessor :enable_insecure_binding_system_unauthenticated
|
5861
|
+
alias_method :enable_insecure_binding_system_unauthenticated?, :enable_insecure_binding_system_unauthenticated
|
5862
|
+
|
5863
|
+
def initialize(**args)
|
5864
|
+
update!(**args)
|
5865
|
+
end
|
5866
|
+
|
5867
|
+
# Update properties of this object
|
5868
|
+
def update!(**args)
|
5869
|
+
@enable_insecure_binding_system_authenticated = args[:enable_insecure_binding_system_authenticated] if args.key?(:enable_insecure_binding_system_authenticated)
|
5870
|
+
@enable_insecure_binding_system_unauthenticated = args[:enable_insecure_binding_system_unauthenticated] if args.key?(:enable_insecure_binding_system_unauthenticated)
|
5871
|
+
end
|
5872
|
+
end
|
5873
|
+
|
5874
|
+
# RangeInfo contains the range name and the range utilization by this cluster.
|
5875
|
+
class RangeInfo
|
5876
|
+
include Google::Apis::Core::Hashable
|
5877
|
+
|
5878
|
+
# Output only. Name of a range.
|
5879
|
+
# Corresponds to the JSON property `rangeName`
|
5880
|
+
# @return [String]
|
5881
|
+
attr_accessor :range_name
|
5882
|
+
|
5883
|
+
# Output only. The utilization of the range.
|
5884
|
+
# Corresponds to the JSON property `utilization`
|
5885
|
+
# @return [Float]
|
5886
|
+
attr_accessor :utilization
|
5887
|
+
|
5888
|
+
def initialize(**args)
|
5889
|
+
update!(**args)
|
5890
|
+
end
|
5891
|
+
|
5892
|
+
# Update properties of this object
|
5893
|
+
def update!(**args)
|
5894
|
+
@range_name = args[:range_name] if args.key?(:range_name)
|
5895
|
+
@utilization = args[:utilization] if args.key?(:utilization)
|
5896
|
+
end
|
5897
|
+
end
|
5898
|
+
|
5899
|
+
# RayClusterLoggingConfig specifies configuration of Ray logging.
|
5900
|
+
class RayClusterLoggingConfig
|
5901
|
+
include Google::Apis::Core::Hashable
|
5902
|
+
|
5903
|
+
# Enable log collection for Ray clusters.
|
5904
|
+
# Corresponds to the JSON property `enabled`
|
5905
|
+
# @return [Boolean]
|
5906
|
+
attr_accessor :enabled
|
5907
|
+
alias_method :enabled?, :enabled
|
5908
|
+
|
5909
|
+
def initialize(**args)
|
5910
|
+
update!(**args)
|
5911
|
+
end
|
5912
|
+
|
5913
|
+
# Update properties of this object
|
5914
|
+
def update!(**args)
|
5915
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
5916
|
+
end
|
5917
|
+
end
|
5918
|
+
|
5919
|
+
# RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
|
5920
|
+
class RayClusterMonitoringConfig
|
5921
|
+
include Google::Apis::Core::Hashable
|
5922
|
+
|
5923
|
+
# Enable metrics collection for Ray clusters.
|
5924
|
+
# Corresponds to the JSON property `enabled`
|
5925
|
+
# @return [Boolean]
|
5926
|
+
attr_accessor :enabled
|
5927
|
+
alias_method :enabled?, :enabled
|
5928
|
+
|
5929
|
+
def initialize(**args)
|
5930
|
+
update!(**args)
|
5931
|
+
end
|
5932
|
+
|
5933
|
+
# Update properties of this object
|
5934
|
+
def update!(**args)
|
5935
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
5936
|
+
end
|
5937
|
+
end
|
5938
|
+
|
5939
|
+
# Configuration options for the Ray Operator add-on.
|
5940
|
+
class RayOperatorConfig
|
5941
|
+
include Google::Apis::Core::Hashable
|
5942
|
+
|
5943
|
+
# Whether the Ray Operator addon is enabled for this cluster.
|
5944
|
+
# Corresponds to the JSON property `enabled`
|
5945
|
+
# @return [Boolean]
|
5946
|
+
attr_accessor :enabled
|
5947
|
+
alias_method :enabled?, :enabled
|
5948
|
+
|
5949
|
+
# RayClusterLoggingConfig specifies configuration of Ray logging.
|
5950
|
+
# Corresponds to the JSON property `rayClusterLoggingConfig`
|
5951
|
+
# @return [Google::Apis::ContainerV1::RayClusterLoggingConfig]
|
5952
|
+
attr_accessor :ray_cluster_logging_config
|
5953
|
+
|
5954
|
+
# RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
|
5955
|
+
# Corresponds to the JSON property `rayClusterMonitoringConfig`
|
5956
|
+
# @return [Google::Apis::ContainerV1::RayClusterMonitoringConfig]
|
5957
|
+
attr_accessor :ray_cluster_monitoring_config
|
5958
|
+
|
5959
|
+
def initialize(**args)
|
5960
|
+
update!(**args)
|
5961
|
+
end
|
5962
|
+
|
5963
|
+
# Update properties of this object
|
5964
|
+
def update!(**args)
|
5965
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
5966
|
+
@ray_cluster_logging_config = args[:ray_cluster_logging_config] if args.key?(:ray_cluster_logging_config)
|
5967
|
+
@ray_cluster_monitoring_config = args[:ray_cluster_monitoring_config] if args.key?(:ray_cluster_monitoring_config)
|
4364
5968
|
end
|
4365
5969
|
end
|
4366
5970
|
|
@@ -4439,6 +6043,11 @@ module Google
|
|
4439
6043
|
# @return [String]
|
4440
6044
|
attr_accessor :default_version
|
4441
6045
|
|
6046
|
+
# The auto upgrade target version for clusters on the channel.
|
6047
|
+
# Corresponds to the JSON property `upgradeTargetVersion`
|
6048
|
+
# @return [String]
|
6049
|
+
attr_accessor :upgrade_target_version
|
6050
|
+
|
4442
6051
|
# List of valid versions for the channel.
|
4443
6052
|
# Corresponds to the JSON property `validVersions`
|
4444
6053
|
# @return [Array<String>]
|
@@ -4452,6 +6061,7 @@ module Google
|
|
4452
6061
|
def update!(**args)
|
4453
6062
|
@channel = args[:channel] if args.key?(:channel)
|
4454
6063
|
@default_version = args[:default_version] if args.key?(:default_version)
|
6064
|
+
@upgrade_target_version = args[:upgrade_target_version] if args.key?(:upgrade_target_version)
|
4455
6065
|
@valid_versions = args[:valid_versions] if args.key?(:valid_versions)
|
4456
6066
|
end
|
4457
6067
|
end
|
@@ -4543,6 +6153,31 @@ module Google
|
|
4543
6153
|
end
|
4544
6154
|
end
|
4545
6155
|
|
6156
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
6157
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
6158
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
6159
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
6160
|
+
# specified. Existing tags will be replaced with new values.
|
6161
|
+
class ResourceManagerTags
|
6162
|
+
include Google::Apis::Core::Hashable
|
6163
|
+
|
6164
|
+
# TagKeyValue must be in one of the following formats ([KEY]=[VALUE]) 1. `
|
6165
|
+
# tagKeys/`tag_key_id`=tagValues/`tag_value_id`` 2. ``org_id`/`tag_key_name`=`
|
6166
|
+
# tag_value_name`` 3. ``project_id`/`tag_key_name`=`tag_value_name``
|
6167
|
+
# Corresponds to the JSON property `tags`
|
6168
|
+
# @return [Hash<String,String>]
|
6169
|
+
attr_accessor :tags
|
6170
|
+
|
6171
|
+
def initialize(**args)
|
6172
|
+
update!(**args)
|
6173
|
+
end
|
6174
|
+
|
6175
|
+
# Update properties of this object
|
6176
|
+
def update!(**args)
|
6177
|
+
@tags = args[:tags] if args.key?(:tags)
|
6178
|
+
end
|
6179
|
+
end
|
6180
|
+
|
4546
6181
|
# Configuration for exporting cluster resource usages.
|
4547
6182
|
class ResourceUsageExportConfig
|
4548
6183
|
include Google::Apis::Core::Hashable
|
@@ -4655,6 +6290,66 @@ module Google
|
|
4655
6290
|
end
|
4656
6291
|
end
|
4657
6292
|
|
6293
|
+
# SecondaryBootDisk represents a persistent disk attached to a node with special
|
6294
|
+
# configurations based on its mode.
|
6295
|
+
class SecondaryBootDisk
|
6296
|
+
include Google::Apis::Core::Hashable
|
6297
|
+
|
6298
|
+
# Fully-qualified resource ID for an existing disk image.
|
6299
|
+
# Corresponds to the JSON property `diskImage`
|
6300
|
+
# @return [String]
|
6301
|
+
attr_accessor :disk_image
|
6302
|
+
|
6303
|
+
# Disk mode (container image cache, etc.)
|
6304
|
+
# Corresponds to the JSON property `mode`
|
6305
|
+
# @return [String]
|
6306
|
+
attr_accessor :mode
|
6307
|
+
|
6308
|
+
def initialize(**args)
|
6309
|
+
update!(**args)
|
6310
|
+
end
|
6311
|
+
|
6312
|
+
# Update properties of this object
|
6313
|
+
def update!(**args)
|
6314
|
+
@disk_image = args[:disk_image] if args.key?(:disk_image)
|
6315
|
+
@mode = args[:mode] if args.key?(:mode)
|
6316
|
+
end
|
6317
|
+
end
|
6318
|
+
|
6319
|
+
# SecondaryBootDiskUpdateStrategy is a placeholder which will be extended in the
|
6320
|
+
# future to define different options for updating secondary boot disks.
|
6321
|
+
class SecondaryBootDiskUpdateStrategy
|
6322
|
+
include Google::Apis::Core::Hashable
|
6323
|
+
|
6324
|
+
def initialize(**args)
|
6325
|
+
update!(**args)
|
6326
|
+
end
|
6327
|
+
|
6328
|
+
# Update properties of this object
|
6329
|
+
def update!(**args)
|
6330
|
+
end
|
6331
|
+
end
|
6332
|
+
|
6333
|
+
# SecretManagerConfig is config for secret manager enablement.
|
6334
|
+
class SecretManagerConfig
|
6335
|
+
include Google::Apis::Core::Hashable
|
6336
|
+
|
6337
|
+
# Enable/Disable Secret Manager Config.
|
6338
|
+
# Corresponds to the JSON property `enabled`
|
6339
|
+
# @return [Boolean]
|
6340
|
+
attr_accessor :enabled
|
6341
|
+
alias_method :enabled?, :enabled
|
6342
|
+
|
6343
|
+
def initialize(**args)
|
6344
|
+
update!(**args)
|
6345
|
+
end
|
6346
|
+
|
6347
|
+
# Update properties of this object
|
6348
|
+
def update!(**args)
|
6349
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
6350
|
+
end
|
6351
|
+
end
|
6352
|
+
|
4658
6353
|
# SecurityBulletinEvent is a notification sent to customers when a security
|
4659
6354
|
# bulletin has been posted that they are vulnerable to.
|
4660
6355
|
class SecurityBulletinEvent
|
@@ -4738,6 +6433,32 @@ module Google
|
|
4738
6433
|
end
|
4739
6434
|
end
|
4740
6435
|
|
6436
|
+
# SecurityPostureConfig defines the flags needed to enable/disable features for
|
6437
|
+
# the Security Posture API.
|
6438
|
+
class SecurityPostureConfig
|
6439
|
+
include Google::Apis::Core::Hashable
|
6440
|
+
|
6441
|
+
# Sets which mode to use for Security Posture features.
|
6442
|
+
# Corresponds to the JSON property `mode`
|
6443
|
+
# @return [String]
|
6444
|
+
attr_accessor :mode
|
6445
|
+
|
6446
|
+
# Sets which mode to use for vulnerability scanning.
|
6447
|
+
# Corresponds to the JSON property `vulnerabilityMode`
|
6448
|
+
# @return [String]
|
6449
|
+
attr_accessor :vulnerability_mode
|
6450
|
+
|
6451
|
+
def initialize(**args)
|
6452
|
+
update!(**args)
|
6453
|
+
end
|
6454
|
+
|
6455
|
+
# Update properties of this object
|
6456
|
+
def update!(**args)
|
6457
|
+
@mode = args[:mode] if args.key?(:mode)
|
6458
|
+
@vulnerability_mode = args[:vulnerability_mode] if args.key?(:vulnerability_mode)
|
6459
|
+
end
|
6460
|
+
end
|
6461
|
+
|
4741
6462
|
# Kubernetes Engine service configuration.
|
4742
6463
|
class ServerConfig
|
4743
6464
|
include Google::Apis::Core::Hashable
|
@@ -5512,6 +7233,26 @@ module Google
|
|
5512
7233
|
end
|
5513
7234
|
end
|
5514
7235
|
|
7236
|
+
# SoleTenantConfig contains the NodeAffinities to specify what shared sole
|
7237
|
+
# tenant node groups should back the node pool.
|
7238
|
+
class SoleTenantConfig
|
7239
|
+
include Google::Apis::Core::Hashable
|
7240
|
+
|
7241
|
+
# NodeAffinities used to match to a shared sole tenant node group.
|
7242
|
+
# Corresponds to the JSON property `nodeAffinities`
|
7243
|
+
# @return [Array<Google::Apis::ContainerV1::NodeAffinity>]
|
7244
|
+
attr_accessor :node_affinities
|
7245
|
+
|
7246
|
+
def initialize(**args)
|
7247
|
+
update!(**args)
|
7248
|
+
end
|
7249
|
+
|
7250
|
+
# Update properties of this object
|
7251
|
+
def update!(**args)
|
7252
|
+
@node_affinities = args[:node_affinities] if args.key?(:node_affinities)
|
7253
|
+
end
|
7254
|
+
end
|
7255
|
+
|
5515
7256
|
# Standard rollout policy is the default policy for blue-green.
|
5516
7257
|
class StandardRolloutPolicy
|
5517
7258
|
include Google::Apis::Core::Hashable
|
@@ -5595,6 +7336,26 @@ module Google
|
|
5595
7336
|
end
|
5596
7337
|
end
|
5597
7338
|
|
7339
|
+
# Configuration for the Stateful HA add-on.
|
7340
|
+
class StatefulHaConfig
|
7341
|
+
include Google::Apis::Core::Hashable
|
7342
|
+
|
7343
|
+
# Whether the Stateful HA add-on is enabled for this cluster.
|
7344
|
+
# Corresponds to the JSON property `enabled`
|
7345
|
+
# @return [Boolean]
|
7346
|
+
attr_accessor :enabled
|
7347
|
+
alias_method :enabled?, :enabled
|
7348
|
+
|
7349
|
+
def initialize(**args)
|
7350
|
+
update!(**args)
|
7351
|
+
end
|
7352
|
+
|
7353
|
+
# Update properties of this object
|
7354
|
+
def update!(**args)
|
7355
|
+
@enabled = args[:enabled] if args.key?(:enabled)
|
7356
|
+
end
|
7357
|
+
end
|
7358
|
+
|
5598
7359
|
# The `Status` type defines a logical error model that is suitable for different
|
5599
7360
|
# programming environments, including REST APIs and RPC APIs. It is used by [
|
5600
7361
|
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
@@ -5828,6 +7589,12 @@ module Google
|
|
5828
7589
|
class UpdateNodePoolRequest
|
5829
7590
|
include Google::Apis::Core::Hashable
|
5830
7591
|
|
7592
|
+
# A list of hardware accelerators to be attached to each node. See https://cloud.
|
7593
|
+
# google.com/compute/docs/gpus for more information about support for GPUs.
|
7594
|
+
# Corresponds to the JSON property `accelerators`
|
7595
|
+
# @return [Array<Google::Apis::ContainerV1::AcceleratorConfig>]
|
7596
|
+
attr_accessor :accelerators
|
7597
|
+
|
5831
7598
|
# Deprecated. The name of the cluster to upgrade. This field has been deprecated
|
5832
7599
|
# and replaced by the name field.
|
5833
7600
|
# Corresponds to the JSON property `clusterId`
|
@@ -5840,6 +7607,25 @@ module Google
|
|
5840
7607
|
# @return [Google::Apis::ContainerV1::ConfidentialNodes]
|
5841
7608
|
attr_accessor :confidential_nodes
|
5842
7609
|
|
7610
|
+
# ContainerdConfig contains configuration to customize containerd.
|
7611
|
+
# Corresponds to the JSON property `containerdConfig`
|
7612
|
+
# @return [Google::Apis::ContainerV1::ContainerdConfig]
|
7613
|
+
attr_accessor :containerd_config
|
7614
|
+
|
7615
|
+
# Optional. The desired disk size for nodes in the node pool specified in GB.
|
7616
|
+
# The smallest allowed disk size is 10GB. Initiates an upgrade operation that
|
7617
|
+
# migrates the nodes in the node pool to the specified disk size.
|
7618
|
+
# Corresponds to the JSON property `diskSizeGb`
|
7619
|
+
# @return [Fixnum]
|
7620
|
+
attr_accessor :disk_size_gb
|
7621
|
+
|
7622
|
+
# Optional. The desired disk type (e.g. 'pd-standard', 'pd-ssd' or 'pd-balanced')
|
7623
|
+
# for nodes in the node pool. Initiates an upgrade operation that migrates the
|
7624
|
+
# nodes in the node pool to the specified disk type.
|
7625
|
+
# Corresponds to the JSON property `diskType`
|
7626
|
+
# @return [String]
|
7627
|
+
attr_accessor :disk_type
|
7628
|
+
|
5843
7629
|
# The current etag of the node pool. If an etag is provided and does not match
|
5844
7630
|
# the current etag of the node pool, update will be blocked and an ABORTED error
|
5845
7631
|
# will be returned.
|
@@ -5863,7 +7649,9 @@ module Google
|
|
5863
7649
|
# @return [Google::Apis::ContainerV1::VirtualNic]
|
5864
7650
|
attr_accessor :gvnic
|
5865
7651
|
|
5866
|
-
# Required. The desired image type for the node pool.
|
7652
|
+
# Required. The desired image type for the node pool. Please see https://cloud.
|
7653
|
+
# google.com/kubernetes-engine/docs/concepts/node-images for available image
|
7654
|
+
# types.
|
5867
7655
|
# Corresponds to the JSON property `imageType`
|
5868
7656
|
# @return [String]
|
5869
7657
|
attr_accessor :image_type
|
@@ -5898,6 +7686,20 @@ module Google
|
|
5898
7686
|
# @return [Google::Apis::ContainerV1::NodePoolLoggingConfig]
|
5899
7687
|
attr_accessor :logging_config
|
5900
7688
|
|
7689
|
+
# Optional. The desired [Google Compute Engine machine type](https://cloud.
|
7690
|
+
# google.com/compute/docs/machine-types) for nodes in the node pool. Initiates
|
7691
|
+
# an upgrade operation that migrates the nodes in the node pool to the specified
|
7692
|
+
# machine type.
|
7693
|
+
# Corresponds to the JSON property `machineType`
|
7694
|
+
# @return [String]
|
7695
|
+
attr_accessor :machine_type
|
7696
|
+
|
7697
|
+
# The maximum duration for the nodes to exist. If unspecified, the nodes can
|
7698
|
+
# exist indefinitely.
|
7699
|
+
# Corresponds to the JSON property `maxRunDuration`
|
7700
|
+
# @return [String]
|
7701
|
+
attr_accessor :max_run_duration
|
7702
|
+
|
5901
7703
|
# The name (project, location, cluster, node pool) of the node pool to update.
|
5902
7704
|
# Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
|
5903
7705
|
# Corresponds to the JSON property `name`
|
@@ -5933,12 +7735,32 @@ module Google
|
|
5933
7735
|
# @return [String]
|
5934
7736
|
attr_accessor :project_id
|
5935
7737
|
|
7738
|
+
# QueuedProvisioning defines the queued provisioning used by the node pool.
|
7739
|
+
# Corresponds to the JSON property `queuedProvisioning`
|
7740
|
+
# @return [Google::Apis::ContainerV1::QueuedProvisioning]
|
7741
|
+
attr_accessor :queued_provisioning
|
7742
|
+
|
5936
7743
|
# Collection of [GCP labels](https://cloud.google.com/resource-manager/docs/
|
5937
7744
|
# creating-managing-labels).
|
5938
7745
|
# Corresponds to the JSON property `resourceLabels`
|
5939
7746
|
# @return [Google::Apis::ContainerV1::ResourceLabels]
|
5940
7747
|
attr_accessor :resource_labels
|
5941
7748
|
|
7749
|
+
# A map of resource manager tag keys and values to be attached to the nodes for
|
7750
|
+
# managing Compute Engine firewalls using Network Firewall Policies. Tags must
|
7751
|
+
# be according to specifications in https://cloud.google.com/vpc/docs/tags-
|
7752
|
+
# firewalls-overview#specifications. A maximum of 5 tag key-value pairs can be
|
7753
|
+
# specified. Existing tags will be replaced with new values.
|
7754
|
+
# Corresponds to the JSON property `resourceManagerTags`
|
7755
|
+
# @return [Google::Apis::ContainerV1::ResourceManagerTags]
|
7756
|
+
attr_accessor :resource_manager_tags
|
7757
|
+
|
7758
|
+
# List of Storage Pools where boot disks are provisioned. Existing Storage Pools
|
7759
|
+
# will be replaced with storage-pools.
|
7760
|
+
# Corresponds to the JSON property `storagePools`
|
7761
|
+
# @return [Array<String>]
|
7762
|
+
attr_accessor :storage_pools
|
7763
|
+
|
5942
7764
|
# Collection of Compute Engine network tags that can be applied to a node's
|
5943
7765
|
# underlying VM instance.
|
5944
7766
|
# Corresponds to the JSON property `tags`
|
@@ -6012,8 +7834,12 @@ module Google
|
|
6012
7834
|
|
6013
7835
|
# Update properties of this object
|
6014
7836
|
def update!(**args)
|
7837
|
+
@accelerators = args[:accelerators] if args.key?(:accelerators)
|
6015
7838
|
@cluster_id = args[:cluster_id] if args.key?(:cluster_id)
|
6016
7839
|
@confidential_nodes = args[:confidential_nodes] if args.key?(:confidential_nodes)
|
7840
|
+
@containerd_config = args[:containerd_config] if args.key?(:containerd_config)
|
7841
|
+
@disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
|
7842
|
+
@disk_type = args[:disk_type] if args.key?(:disk_type)
|
6017
7843
|
@etag = args[:etag] if args.key?(:etag)
|
6018
7844
|
@fast_socket = args[:fast_socket] if args.key?(:fast_socket)
|
6019
7845
|
@gcfs_config = args[:gcfs_config] if args.key?(:gcfs_config)
|
@@ -6024,12 +7850,17 @@ module Google
|
|
6024
7850
|
@linux_node_config = args[:linux_node_config] if args.key?(:linux_node_config)
|
6025
7851
|
@locations = args[:locations] if args.key?(:locations)
|
6026
7852
|
@logging_config = args[:logging_config] if args.key?(:logging_config)
|
7853
|
+
@machine_type = args[:machine_type] if args.key?(:machine_type)
|
7854
|
+
@max_run_duration = args[:max_run_duration] if args.key?(:max_run_duration)
|
6027
7855
|
@name = args[:name] if args.key?(:name)
|
6028
7856
|
@node_network_config = args[:node_network_config] if args.key?(:node_network_config)
|
6029
7857
|
@node_pool_id = args[:node_pool_id] if args.key?(:node_pool_id)
|
6030
7858
|
@node_version = args[:node_version] if args.key?(:node_version)
|
6031
7859
|
@project_id = args[:project_id] if args.key?(:project_id)
|
7860
|
+
@queued_provisioning = args[:queued_provisioning] if args.key?(:queued_provisioning)
|
6032
7861
|
@resource_labels = args[:resource_labels] if args.key?(:resource_labels)
|
7862
|
+
@resource_manager_tags = args[:resource_manager_tags] if args.key?(:resource_manager_tags)
|
7863
|
+
@storage_pools = args[:storage_pools] if args.key?(:storage_pools)
|
6033
7864
|
@tags = args[:tags] if args.key?(:tags)
|
6034
7865
|
@taints = args[:taints] if args.key?(:taints)
|
6035
7866
|
@upgrade_settings = args[:upgrade_settings] if args.key?(:upgrade_settings)
|
@@ -6132,6 +7963,93 @@ module Google
|
|
6132
7963
|
end
|
6133
7964
|
end
|
6134
7965
|
|
7966
|
+
# UpgradeInfoEvent is a notification sent to customers about the upgrade
|
7967
|
+
# information of a resource.
|
7968
|
+
class UpgradeInfoEvent
|
7969
|
+
include Google::Apis::Core::Hashable
|
7970
|
+
|
7971
|
+
# The current version before the upgrade.
|
7972
|
+
# Corresponds to the JSON property `currentVersion`
|
7973
|
+
# @return [String]
|
7974
|
+
attr_accessor :current_version
|
7975
|
+
|
7976
|
+
# A brief description of the event.
|
7977
|
+
# Corresponds to the JSON property `description`
|
7978
|
+
# @return [String]
|
7979
|
+
attr_accessor :description
|
7980
|
+
|
7981
|
+
# The time when the operation ended.
|
7982
|
+
# Corresponds to the JSON property `endTime`
|
7983
|
+
# @return [String]
|
7984
|
+
attr_accessor :end_time
|
7985
|
+
|
7986
|
+
# The type of the event.
|
7987
|
+
# Corresponds to the JSON property `eventType`
|
7988
|
+
# @return [String]
|
7989
|
+
attr_accessor :event_type
|
7990
|
+
|
7991
|
+
# The end of extended support timestamp.
|
7992
|
+
# Corresponds to the JSON property `extendedSupportEndTime`
|
7993
|
+
# @return [String]
|
7994
|
+
attr_accessor :extended_support_end_time
|
7995
|
+
|
7996
|
+
# The operation associated with this upgrade.
|
7997
|
+
# Corresponds to the JSON property `operation`
|
7998
|
+
# @return [String]
|
7999
|
+
attr_accessor :operation
|
8000
|
+
|
8001
|
+
# Optional relative path to the resource. For example in node pool upgrades, the
|
8002
|
+
# relative path of the node pool.
|
8003
|
+
# Corresponds to the JSON property `resource`
|
8004
|
+
# @return [String]
|
8005
|
+
attr_accessor :resource
|
8006
|
+
|
8007
|
+
# The resource type associated with the upgrade.
|
8008
|
+
# Corresponds to the JSON property `resourceType`
|
8009
|
+
# @return [String]
|
8010
|
+
attr_accessor :resource_type
|
8011
|
+
|
8012
|
+
# The end of standard support timestamp.
|
8013
|
+
# Corresponds to the JSON property `standardSupportEndTime`
|
8014
|
+
# @return [String]
|
8015
|
+
attr_accessor :standard_support_end_time
|
8016
|
+
|
8017
|
+
# The time when the operation was started.
|
8018
|
+
# Corresponds to the JSON property `startTime`
|
8019
|
+
# @return [String]
|
8020
|
+
attr_accessor :start_time
|
8021
|
+
|
8022
|
+
# Output only. The state of the upgrade.
|
8023
|
+
# Corresponds to the JSON property `state`
|
8024
|
+
# @return [String]
|
8025
|
+
attr_accessor :state
|
8026
|
+
|
8027
|
+
# The target version for the upgrade.
|
8028
|
+
# Corresponds to the JSON property `targetVersion`
|
8029
|
+
# @return [String]
|
8030
|
+
attr_accessor :target_version
|
8031
|
+
|
8032
|
+
def initialize(**args)
|
8033
|
+
update!(**args)
|
8034
|
+
end
|
8035
|
+
|
8036
|
+
# Update properties of this object
|
8037
|
+
def update!(**args)
|
8038
|
+
@current_version = args[:current_version] if args.key?(:current_version)
|
8039
|
+
@description = args[:description] if args.key?(:description)
|
8040
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
8041
|
+
@event_type = args[:event_type] if args.key?(:event_type)
|
8042
|
+
@extended_support_end_time = args[:extended_support_end_time] if args.key?(:extended_support_end_time)
|
8043
|
+
@operation = args[:operation] if args.key?(:operation)
|
8044
|
+
@resource = args[:resource] if args.key?(:resource)
|
8045
|
+
@resource_type = args[:resource_type] if args.key?(:resource_type)
|
8046
|
+
@standard_support_end_time = args[:standard_support_end_time] if args.key?(:standard_support_end_time)
|
8047
|
+
@start_time = args[:start_time] if args.key?(:start_time)
|
8048
|
+
@state = args[:state] if args.key?(:state)
|
8049
|
+
@target_version = args[:target_version] if args.key?(:target_version)
|
8050
|
+
end
|
8051
|
+
end
|
8052
|
+
|
6135
8053
|
# These upgrade settings control the level of parallelism and the level of
|
6136
8054
|
# disruption caused by an upgrade. maxUnavailable controls the number of nodes
|
6137
8055
|
# that can be simultaneously unavailable. maxSurge controls the number of
|
@@ -6281,6 +8199,78 @@ module Google
|
|
6281
8199
|
end
|
6282
8200
|
end
|
6283
8201
|
|
8202
|
+
# UserManagedKeysConfig holds the resource address to Keys which are used for
|
8203
|
+
# signing certs and token that are used for communication within cluster.
|
8204
|
+
class UserManagedKeysConfig
|
8205
|
+
include Google::Apis::Core::Hashable
|
8206
|
+
|
8207
|
+
# The Certificate Authority Service caPool to use for the aggregation CA in this
|
8208
|
+
# cluster.
|
8209
|
+
# Corresponds to the JSON property `aggregationCa`
|
8210
|
+
# @return [String]
|
8211
|
+
attr_accessor :aggregation_ca
|
8212
|
+
|
8213
|
+
# The Certificate Authority Service caPool to use for the cluster CA in this
|
8214
|
+
# cluster.
|
8215
|
+
# Corresponds to the JSON property `clusterCa`
|
8216
|
+
# @return [String]
|
8217
|
+
attr_accessor :cluster_ca
|
8218
|
+
|
8219
|
+
# The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control plane
|
8220
|
+
# nodes.
|
8221
|
+
# Corresponds to the JSON property `controlPlaneDiskEncryptionKey`
|
8222
|
+
# @return [String]
|
8223
|
+
attr_accessor :control_plane_disk_encryption_key
|
8224
|
+
|
8225
|
+
# Resource path of the Certificate Authority Service caPool to use for the etcd
|
8226
|
+
# API CA in this cluster.
|
8227
|
+
# Corresponds to the JSON property `etcdApiCa`
|
8228
|
+
# @return [String]
|
8229
|
+
attr_accessor :etcd_api_ca
|
8230
|
+
|
8231
|
+
# Resource path of the Certificate Authority Service caPool to use for the etcd
|
8232
|
+
# peer CA in this cluster.
|
8233
|
+
# Corresponds to the JSON property `etcdPeerCa`
|
8234
|
+
# @return [String]
|
8235
|
+
attr_accessor :etcd_peer_ca
|
8236
|
+
|
8237
|
+
# Resource path of the Cloud KMS cryptoKey to use for encryption of internal
|
8238
|
+
# etcd backups.
|
8239
|
+
# Corresponds to the JSON property `gkeopsEtcdBackupEncryptionKey`
|
8240
|
+
# @return [String]
|
8241
|
+
attr_accessor :gkeops_etcd_backup_encryption_key
|
8242
|
+
|
8243
|
+
# The Cloud KMS cryptoKeyVersions to use for signing service account JWTs issued
|
8244
|
+
# by this cluster. Format: `projects/`project`/locations/`location`/keyRings/`
|
8245
|
+
# keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
|
8246
|
+
# Corresponds to the JSON property `serviceAccountSigningKeys`
|
8247
|
+
# @return [Array<String>]
|
8248
|
+
attr_accessor :service_account_signing_keys
|
8249
|
+
|
8250
|
+
# The Cloud KMS cryptoKeyVersions to use for verifying service account JWTs
|
8251
|
+
# issued by this cluster. Format: `projects/`project`/locations/`location`/
|
8252
|
+
# keyRings/`keyring`/cryptoKeys/`cryptoKey`/cryptoKeyVersions/`cryptoKeyVersion``
|
8253
|
+
# Corresponds to the JSON property `serviceAccountVerificationKeys`
|
8254
|
+
# @return [Array<String>]
|
8255
|
+
attr_accessor :service_account_verification_keys
|
8256
|
+
|
8257
|
+
def initialize(**args)
|
8258
|
+
update!(**args)
|
8259
|
+
end
|
8260
|
+
|
8261
|
+
# Update properties of this object
|
8262
|
+
def update!(**args)
|
8263
|
+
@aggregation_ca = args[:aggregation_ca] if args.key?(:aggregation_ca)
|
8264
|
+
@cluster_ca = args[:cluster_ca] if args.key?(:cluster_ca)
|
8265
|
+
@control_plane_disk_encryption_key = args[:control_plane_disk_encryption_key] if args.key?(:control_plane_disk_encryption_key)
|
8266
|
+
@etcd_api_ca = args[:etcd_api_ca] if args.key?(:etcd_api_ca)
|
8267
|
+
@etcd_peer_ca = args[:etcd_peer_ca] if args.key?(:etcd_peer_ca)
|
8268
|
+
@gkeops_etcd_backup_encryption_key = args[:gkeops_etcd_backup_encryption_key] if args.key?(:gkeops_etcd_backup_encryption_key)
|
8269
|
+
@service_account_signing_keys = args[:service_account_signing_keys] if args.key?(:service_account_signing_keys)
|
8270
|
+
@service_account_verification_keys = args[:service_account_verification_keys] if args.key?(:service_account_verification_keys)
|
8271
|
+
end
|
8272
|
+
end
|
8273
|
+
|
6284
8274
|
# VerticalPodAutoscaling contains global, per-cluster information required by
|
6285
8275
|
# Vertical Pod Autoscaler to automatically adjust the resources of pods
|
6286
8276
|
# controlled by it.
|
@@ -6383,6 +8373,26 @@ module Google
|
|
6383
8373
|
@mode = args[:mode] if args.key?(:mode)
|
6384
8374
|
end
|
6385
8375
|
end
|
8376
|
+
|
8377
|
+
# WorkloadPolicyConfig is the configuration related to GCW workload policy
|
8378
|
+
class WorkloadPolicyConfig
|
8379
|
+
include Google::Apis::Core::Hashable
|
8380
|
+
|
8381
|
+
# If true, workloads can use NET_ADMIN capability.
|
8382
|
+
# Corresponds to the JSON property `allowNetAdmin`
|
8383
|
+
# @return [Boolean]
|
8384
|
+
attr_accessor :allow_net_admin
|
8385
|
+
alias_method :allow_net_admin?, :allow_net_admin
|
8386
|
+
|
8387
|
+
def initialize(**args)
|
8388
|
+
update!(**args)
|
8389
|
+
end
|
8390
|
+
|
8391
|
+
# Update properties of this object
|
8392
|
+
def update!(**args)
|
8393
|
+
@allow_net_admin = args[:allow_net_admin] if args.key?(:allow_net_admin)
|
8394
|
+
end
|
8395
|
+
end
|
6386
8396
|
end
|
6387
8397
|
end
|
6388
8398
|
end
|