google-cloud-container-v1beta1 0.5.1 → 0.8.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.
@@ -154,9 +154,6 @@ module Google
154
154
  # - "install-ssh-psm1"
155
155
  # - "user-profile-psm1"
156
156
  #
157
- # The following keys are reserved for Windows nodes:
158
- # - "serial-port-logging-enable"
159
- #
160
157
  # Values are free-form strings, and only have meaning as interpreted by
161
158
  # the image running in the instance. The only restriction placed on them is
162
159
  # that each value's size must be less than or equal to 32 KB.
@@ -260,6 +257,9 @@ module Google
260
257
  # @return [::Google::Cloud::Container::V1beta1::EphemeralStorageConfig]
261
258
  # Parameters for the ephemeral storage filesystem.
262
259
  # If unspecified, ephemeral storage is backed by the boot disk.
260
+ # @!attribute [rw] gvnic
261
+ # @return [::Google::Cloud::Container::V1beta1::VirtualNIC]
262
+ # Enable or disable gvnic on the node pool.
263
263
  class NodeConfig
264
264
  include ::Google::Protobuf::MessageExts
265
265
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -283,6 +283,53 @@ module Google
283
283
  end
284
284
  end
285
285
 
286
+ # Parameters for node pool-level network config.
287
+ # @!attribute [rw] create_pod_range
288
+ # @return [::Boolean]
289
+ # Input only. Whether to create a new range for pod IPs in this node pool.
290
+ # Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they
291
+ # are not specified.
292
+ #
293
+ # If neither `create_pod_range` or `pod_range` are specified, the
294
+ # cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is
295
+ # used.
296
+ #
297
+ # Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
298
+ #
299
+ # This field cannot be changed after the node pool has been created.
300
+ # @!attribute [rw] pod_range
301
+ # @return [::String]
302
+ # The ID of the secondary range for pod IPs.
303
+ # If `create_pod_range` is true, this ID is used for the new range.
304
+ # If `create_pod_range` is false, uses an existing secondary range with this
305
+ # ID.
306
+ #
307
+ # Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
308
+ #
309
+ # This field cannot be changed after the node pool has been created.
310
+ # @!attribute [rw] pod_ipv4_cidr_block
311
+ # @return [::String]
312
+ # The IP address range for pod IPs in this node pool.
313
+ #
314
+ # Only applicable if `create_pod_range` is true.
315
+ #
316
+ # Set to blank to have a range chosen with the default size.
317
+ #
318
+ # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
319
+ # netmask.
320
+ #
321
+ # Set to a
322
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
323
+ # notation (e.g. `10.96.0.0/14`) to pick a specific range to use.
324
+ #
325
+ # Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
326
+ #
327
+ # This field cannot be changed after the node pool has been created.
328
+ class NodeNetworkConfig
329
+ include ::Google::Protobuf::MessageExts
330
+ extend ::Google::Protobuf::MessageExts::ClassMethods
331
+ end
332
+
286
333
  # A set of Shielded Instance options.
287
334
  # @!attribute [rw] enable_secure_boot
288
335
  # @return [::Boolean]
@@ -407,6 +454,46 @@ module Google
407
454
  end
408
455
  end
409
456
 
457
+ # Collection of Kubernetes [node
458
+ # taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration).
459
+ # @!attribute [rw] taints
460
+ # @return [::Array<::Google::Cloud::Container::V1beta1::NodeTaint>]
461
+ # List of node taints.
462
+ class NodeTaints
463
+ include ::Google::Protobuf::MessageExts
464
+ extend ::Google::Protobuf::MessageExts::ClassMethods
465
+ end
466
+
467
+ # Collection of node-level [Kubernetes
468
+ # labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels).
469
+ # @!attribute [rw] labels
470
+ # @return [::Google::Protobuf::Map{::String => ::String}]
471
+ # Map of node label keys and node label values.
472
+ class NodeLabels
473
+ include ::Google::Protobuf::MessageExts
474
+ extend ::Google::Protobuf::MessageExts::ClassMethods
475
+
476
+ # @!attribute [rw] key
477
+ # @return [::String]
478
+ # @!attribute [rw] value
479
+ # @return [::String]
480
+ class LabelsEntry
481
+ include ::Google::Protobuf::MessageExts
482
+ extend ::Google::Protobuf::MessageExts::ClassMethods
483
+ end
484
+ end
485
+
486
+ # Collection of Compute Engine network tags that can be applied to a node's
487
+ # underlying VM instance. (See `tags` field in
488
+ # [`NodeConfig`](/kubernetes-engine/docs/reference/rest/v1/NodeConfig)).
489
+ # @!attribute [rw] tags
490
+ # @return [::Array<::String>]
491
+ # List of network tags.
492
+ class NetworkTags
493
+ include ::Google::Protobuf::MessageExts
494
+ extend ::Google::Protobuf::MessageExts::ClassMethods
495
+ end
496
+
410
497
  # The authentication information for accessing the master endpoint.
411
498
  # Authentication can be done using HTTP basic auth or using client
412
499
  # certificates.
@@ -583,8 +670,7 @@ module Google
583
670
  extend ::Google::Protobuf::MessageExts::ClassMethods
584
671
  end
585
672
 
586
- # Configuration for the Compute Engine PD CSI driver. This option can only be
587
- # enabled at cluster creation time.
673
+ # Configuration for the Compute Engine PD CSI driver.
588
674
  # @!attribute [rw] enabled
589
675
  # @return [::Boolean]
590
676
  # Whether the Compute Engine PD CSI driver is enabled for this cluster.
@@ -1132,6 +1218,10 @@ module Google
1132
1218
  # @return [::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig]
1133
1219
  # Configuration for the use of Kubernetes Service Accounts in GCP IAM
1134
1220
  # policies.
1221
+ # @!attribute [rw] workload_certificates
1222
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadCertificates]
1223
+ # Configuration for issuance of mTLS keys and certificates to Kubernetes
1224
+ # pods.
1135
1225
  # @!attribute [rw] cluster_telemetry
1136
1226
  # @return [::Google::Cloud::Container::V1beta1::ClusterTelemetry]
1137
1227
  # Telemetry integration for the cluster.
@@ -1144,6 +1234,9 @@ module Google
1144
1234
  # @!attribute [rw] confidential_nodes
1145
1235
  # @return [::Google::Cloud::Container::V1beta1::ConfidentialNodes]
1146
1236
  # Configuration of Confidential Nodes
1237
+ # @!attribute [rw] identity_service_config
1238
+ # @return [::Google::Cloud::Container::V1beta1::IdentityServiceConfig]
1239
+ # Configuration for Identity Service component.
1147
1240
  # @!attribute [rw] self_link
1148
1241
  # @return [::String]
1149
1242
  # [Output only] Server-defined URL for the resource.
@@ -1246,6 +1339,22 @@ module Google
1246
1339
  # @!attribute [rw] master
1247
1340
  # @return [::Google::Cloud::Container::V1beta1::Master]
1248
1341
  # Configuration for master components.
1342
+ # @!attribute [rw] autopilot
1343
+ # @return [::Google::Cloud::Container::V1beta1::Autopilot]
1344
+ # Autopilot configuration for the cluster.
1345
+ # @!attribute [r] id
1346
+ # @return [::String]
1347
+ # Output only. Unique id for the cluster.
1348
+ # @!attribute [rw] node_pool_defaults
1349
+ # @return [::Google::Cloud::Container::V1beta1::NodePoolDefaults]
1350
+ # Default NodePool settings for the entire cluster. These settings are
1351
+ # overridden if specified on the specific NodePool object.
1352
+ # @!attribute [rw] logging_config
1353
+ # @return [::Google::Cloud::Container::V1beta1::LoggingConfig]
1354
+ # Logging configuration for the cluster.
1355
+ # @!attribute [rw] monitoring_config
1356
+ # @return [::Google::Cloud::Container::V1beta1::MonitoringConfig]
1357
+ # Monitoring configuration for the cluster.
1249
1358
  class Cluster
1250
1359
  include ::Google::Protobuf::MessageExts
1251
1360
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1289,6 +1398,21 @@ module Google
1289
1398
  end
1290
1399
  end
1291
1400
 
1401
+ # Subset of Nodepool message that has defaults.
1402
+ # @!attribute [rw] node_config_defaults
1403
+ # @return [::Google::Cloud::Container::V1beta1::NodeConfigDefaults]
1404
+ # Subset of NodeConfig message that has defaults.
1405
+ class NodePoolDefaults
1406
+ include ::Google::Protobuf::MessageExts
1407
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1408
+ end
1409
+
1410
+ # Subset of NodeConfig message that has defaults.
1411
+ class NodeConfigDefaults
1412
+ include ::Google::Protobuf::MessageExts
1413
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1414
+ end
1415
+
1292
1416
  # ClusterUpdate describes an update to the cluster. Exactly one update can
1293
1417
  # be applied to a cluster with each request, so at most one field can be
1294
1418
  # provided.
@@ -1396,9 +1520,15 @@ module Google
1396
1520
  # @!attribute [rw] desired_tpu_config
1397
1521
  # @return [::Google::Cloud::Container::V1beta1::TpuConfig]
1398
1522
  # The desired Cloud TPU configuration.
1523
+ # @!attribute [rw] desired_l4ilb_subsetting_config
1524
+ # @return [::Google::Cloud::Container::V1beta1::ILBSubsettingConfig]
1525
+ # The desired L4 Internal Load Balancer Subsetting configuration.
1399
1526
  # @!attribute [rw] desired_datapath_provider
1400
1527
  # @return [::Google::Cloud::Container::V1beta1::DatapathProvider]
1401
1528
  # The desired datapath provider for the cluster.
1529
+ # @!attribute [rw] desired_private_ipv6_google_access
1530
+ # @return [::Google::Cloud::Container::V1beta1::PrivateIPv6GoogleAccess]
1531
+ # The desired state of IPv6 connectivity to Google Services.
1402
1532
  # @!attribute [rw] desired_notification_config
1403
1533
  # @return [::Google::Cloud::Container::V1beta1::NotificationConfig]
1404
1534
  # The desired notification configuration.
@@ -1421,12 +1551,36 @@ module Google
1421
1551
  # @!attribute [rw] desired_workload_identity_config
1422
1552
  # @return [::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig]
1423
1553
  # Configuration for Workload Identity.
1554
+ # @!attribute [rw] desired_workload_certificates
1555
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadCertificates]
1556
+ # Configuration for issuance of mTLS keys and certificates to Kubernetes
1557
+ # pods.
1424
1558
  # @!attribute [rw] desired_shielded_nodes
1425
1559
  # @return [::Google::Cloud::Container::V1beta1::ShieldedNodes]
1426
1560
  # Configuration for Shielded Nodes.
1427
1561
  # @!attribute [rw] desired_master
1428
1562
  # @return [::Google::Cloud::Container::V1beta1::Master]
1429
1563
  # Configuration for master components.
1564
+ # @!attribute [rw] desired_dns_config
1565
+ # @return [::Google::Cloud::Container::V1beta1::DNSConfig]
1566
+ # DNSConfig contains clusterDNS config for this cluster.
1567
+ # @!attribute [rw] desired_service_external_ips_config
1568
+ # @return [::Google::Cloud::Container::V1beta1::ServiceExternalIPsConfig]
1569
+ # ServiceExternalIPsConfig specifies the config for the use of Services with
1570
+ # ExternalIPs field.
1571
+ # @!attribute [rw] desired_authenticator_groups_config
1572
+ # @return [::Google::Cloud::Container::V1beta1::AuthenticatorGroupsConfig]
1573
+ # AuthenticatorGroupsConfig specifies the config for the cluster security
1574
+ # groups settings.
1575
+ # @!attribute [rw] desired_logging_config
1576
+ # @return [::Google::Cloud::Container::V1beta1::LoggingConfig]
1577
+ # The desired logging configuration.
1578
+ # @!attribute [rw] desired_monitoring_config
1579
+ # @return [::Google::Cloud::Container::V1beta1::MonitoringConfig]
1580
+ # The desired monitoring configuration.
1581
+ # @!attribute [rw] desired_identity_service_config
1582
+ # @return [::Google::Cloud::Container::V1beta1::IdentityServiceConfig]
1583
+ # The desired Identity Service component configuration.
1430
1584
  class ClusterUpdate
1431
1585
  include ::Google::Protobuf::MessageExts
1432
1586
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1742,12 +1896,30 @@ module Google
1742
1896
  # @!attribute [rw] upgrade_settings
1743
1897
  # @return [::Google::Cloud::Container::V1beta1::NodePool::UpgradeSettings]
1744
1898
  # Upgrade settings control disruption and speed of the upgrade.
1899
+ # @!attribute [rw] tags
1900
+ # @return [::Google::Cloud::Container::V1beta1::NetworkTags]
1901
+ # The desired network tags to be applied to all nodes in the node pool.
1902
+ # If this field is not present, the tags will not be changed. Otherwise,
1903
+ # the existing network tags will be *replaced* with the provided tags.
1904
+ # @!attribute [rw] taints
1905
+ # @return [::Google::Cloud::Container::V1beta1::NodeTaints]
1906
+ # The desired node taints to be applied to all nodes in the node pool.
1907
+ # If this field is not present, the taints will not be changed. Otherwise,
1908
+ # the existing node taints will be *replaced* with the provided taints.
1909
+ # @!attribute [rw] labels
1910
+ # @return [::Google::Cloud::Container::V1beta1::NodeLabels]
1911
+ # The desired node labels to be applied to all nodes in the node pool.
1912
+ # If this field is not present, the labels will not be changed. Otherwise,
1913
+ # the existing node labels will be *replaced* with the provided labels.
1745
1914
  # @!attribute [rw] linux_node_config
1746
1915
  # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig]
1747
1916
  # Parameters that can be configured on Linux nodes.
1748
1917
  # @!attribute [rw] kubelet_config
1749
1918
  # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
1750
1919
  # Node kubelet configs.
1920
+ # @!attribute [rw] gvnic
1921
+ # @return [::Google::Cloud::Container::V1beta1::VirtualNIC]
1922
+ # Enable or disable gvnic on the node pool.
1751
1923
  class UpdateNodePoolRequest
1752
1924
  include ::Google::Protobuf::MessageExts
1753
1925
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1880,8 +2052,8 @@ module Google
1880
2052
  # This field has been deprecated and replaced by the name field.
1881
2053
  # @!attribute [rw] addons_config
1882
2054
  # @return [::Google::Cloud::Container::V1beta1::AddonsConfig]
1883
- # Required. The desired configurations for the various addons available to run in the
1884
- # cluster.
2055
+ # Required. The desired configurations for the various addons available to
2056
+ # run in the cluster.
1885
2057
  # @!attribute [rw] name
1886
2058
  # @return [::String]
1887
2059
  # The name (project, location, cluster) of the cluster to set addons.
@@ -2197,6 +2369,9 @@ module Google
2197
2369
  # @!attribute [rw] channels
2198
2370
  # @return [::Array<::Google::Cloud::Container::V1beta1::ServerConfig::ReleaseChannelConfig>]
2199
2371
  # List of release channel configurations.
2372
+ # @!attribute [rw] windows_version_maps
2373
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Container::V1beta1::WindowsVersions}]
2374
+ # Maps of Kubernetes version and supported Windows server versions.
2200
2375
  class ServerConfig
2201
2376
  include ::Google::Protobuf::MessageExts
2202
2377
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2232,6 +2407,39 @@ module Google
2232
2407
  extend ::Google::Protobuf::MessageExts::ClassMethods
2233
2408
  end
2234
2409
  end
2410
+
2411
+ # @!attribute [rw] key
2412
+ # @return [::String]
2413
+ # @!attribute [rw] value
2414
+ # @return [::Google::Cloud::Container::V1beta1::WindowsVersions]
2415
+ class WindowsVersionMapsEntry
2416
+ include ::Google::Protobuf::MessageExts
2417
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2418
+ end
2419
+ end
2420
+
2421
+ # Windows server versions.
2422
+ # @!attribute [rw] windows_versions
2423
+ # @return [::Array<::Google::Cloud::Container::V1beta1::WindowsVersions::WindowsVersion>]
2424
+ # List of Windows server versions.
2425
+ class WindowsVersions
2426
+ include ::Google::Protobuf::MessageExts
2427
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2428
+
2429
+ # Windows server version.
2430
+ # @!attribute [rw] image_type
2431
+ # @return [::String]
2432
+ # Windows server image type
2433
+ # @!attribute [rw] os_version
2434
+ # @return [::String]
2435
+ # Windows server build number
2436
+ # @!attribute [rw] support_end_date
2437
+ # @return [::Google::Type::Date]
2438
+ # Mainstream support end date
2439
+ class WindowsVersion
2440
+ include ::Google::Protobuf::MessageExts
2441
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2442
+ end
2235
2443
  end
2236
2444
 
2237
2445
  # CreateNodePoolRequest creates a node pool for a cluster.
@@ -2354,6 +2562,29 @@ module Google
2354
2562
  # of Kubernetes labels applied to them, which may be used to reference them
2355
2563
  # during pod scheduling. They may also be resized up or down, to accommodate
2356
2564
  # the workload.
2565
+ # These upgrade settings control the level of parallelism and the level of
2566
+ # disruption caused by an upgrade.
2567
+ #
2568
+ # maxUnavailable controls the number of nodes that can be simultaneously
2569
+ # unavailable.
2570
+ #
2571
+ # maxSurge controls the number of additional nodes that can be added to the
2572
+ # node pool temporarily for the time of the upgrade to increase the number of
2573
+ # available nodes.
2574
+ #
2575
+ # (maxUnavailable + maxSurge) determines the level of parallelism (how many
2576
+ # nodes are being upgraded at the same time).
2577
+ #
2578
+ # Note: upgrades inevitably introduce some disruption since workloads need to
2579
+ # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
2580
+ # this holds true. (Disruption stays within the limits of
2581
+ # PodDisruptionBudget, if it is configured.)
2582
+ #
2583
+ # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
2584
+ # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
2585
+ # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
2586
+ # down 3 old (not yet upgraded) nodes at the same time. This ensures that
2587
+ # there are always at least 4 nodes available.
2357
2588
  # @!attribute [rw] name
2358
2589
  # @return [::String]
2359
2590
  # The name of the node pool.
@@ -2378,6 +2609,10 @@ module Google
2378
2609
  #
2379
2610
  # Warning: changing node pool locations will result in nodes being added
2380
2611
  # and/or removed.
2612
+ # @!attribute [rw] network_config
2613
+ # @return [::Google::Cloud::Container::V1beta1::NodeNetworkConfig]
2614
+ # Networking configuration for this NodePool. If specified, it overrides the
2615
+ # cluster-level defaults.
2381
2616
  # @!attribute [rw] self_link
2382
2617
  # @return [::String]
2383
2618
  # [Output only] Server-defined URL for the resource.
@@ -2421,29 +2656,6 @@ module Google
2421
2656
  include ::Google::Protobuf::MessageExts
2422
2657
  extend ::Google::Protobuf::MessageExts::ClassMethods
2423
2658
 
2424
- # These upgrade settings control the level of parallelism and the level of
2425
- # disruption caused by an upgrade.
2426
- #
2427
- # maxUnavailable controls the number of nodes that can be simultaneously
2428
- # unavailable.
2429
- #
2430
- # maxSurge controls the number of additional nodes that can be added to the
2431
- # node pool temporarily for the time of the upgrade to increase the number of
2432
- # available nodes.
2433
- #
2434
- # (maxUnavailable + maxSurge) determines the level of parallelism (how many
2435
- # nodes are being upgraded at the same time).
2436
- #
2437
- # Note: upgrades inevitably introduce some disruption since workloads need to
2438
- # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
2439
- # this holds true. (Disruption stays within the limits of
2440
- # PodDisruptionBudget, if it is configured.)
2441
- #
2442
- # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
2443
- # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
2444
- # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
2445
- # down 3 old (not yet upgraded) nodes at the same time. This ensures that
2446
- # there are always at least 4 nodes available.
2447
2659
  # @!attribute [rw] max_surge
2448
2660
  # @return [::Integer]
2449
2661
  # The maximum number of nodes that can be created beyond the current size
@@ -2669,8 +2881,7 @@ module Google
2669
2881
  extend ::Google::Protobuf::MessageExts::ClassMethods
2670
2882
  end
2671
2883
 
2672
- # SetNodePoolSizeRequest sets the size a node
2673
- # pool.
2884
+ # SetNodePoolSizeRequest sets the size of a node pool.
2674
2885
  # @!attribute [rw] project_id
2675
2886
  # @return [::String]
2676
2887
  # Required. Deprecated. The Google Developers Console [project ID or project
@@ -2848,6 +3059,9 @@ module Google
2848
3059
  # For more information about protecting resources with Cloud KMS Keys please
2849
3060
  # see:
2850
3061
  # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
3062
+ # @!attribute [rw] image_type
3063
+ # @return [::String]
3064
+ # The image type to use for NAP created node.
2851
3065
  class AutoprovisioningNodePoolDefaults
2852
3066
  include ::Google::Protobuf::MessageExts
2853
3067
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2881,7 +3095,7 @@ module Google
2881
3095
  # @!attribute [rw] max_node_count
2882
3096
  # @return [::Integer]
2883
3097
  # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
2884
- # has to enough quota to scale up the cluster.
3098
+ # has to be enough quota to scale up the cluster.
2885
3099
  # @!attribute [rw] autoprovisioned
2886
3100
  # @return [::Boolean]
2887
3101
  # Can this node pool be deleted automatically.
@@ -3028,6 +3242,11 @@ module Google
3028
3242
  # @return [::String]
3029
3243
  # The accelerator type resource name. List of supported accelerators
3030
3244
  # [here](https://cloud.google.com/compute/docs/gpus)
3245
+ # @!attribute [rw] gpu_partition_size
3246
+ # @return [::String]
3247
+ # Size of partitions to create on the GPU. Valid values are described in the
3248
+ # NVIDIA [mig user
3249
+ # guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
3031
3250
  class AcceleratorConfig
3032
3251
  include ::Google::Protobuf::MessageExts
3033
3252
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3240,8 +3459,11 @@ module Google
3240
3459
 
3241
3460
  # Unable to perform an encrypt operation against the CloudKMS key used for
3242
3461
  # etcd level encryption.
3243
- # More codes TBA
3244
3462
  CLOUD_KMS_KEY_ERROR = 7
3463
+
3464
+ # Cluster CA is expiring soon.
3465
+ # More codes TBA
3466
+ CA_EXPIRING = 9
3245
3467
  end
3246
3468
  end
3247
3469
 
@@ -3268,15 +3490,39 @@ module Google
3268
3490
  # will be disabled when default_snat_status is disabled. When disabled is set
3269
3491
  # to false, default IP masquerade rules will be applied to the nodes to
3270
3492
  # prevent sNAT on cluster internal traffic.
3493
+ # @!attribute [rw] enable_l4ilb_subsetting
3494
+ # @return [::Boolean]
3495
+ # Whether L4ILB Subsetting is enabled for this cluster.
3271
3496
  # @!attribute [rw] datapath_provider
3272
3497
  # @return [::Google::Cloud::Container::V1beta1::DatapathProvider]
3273
3498
  # The desired datapath provider for this cluster. By default, uses the
3274
3499
  # IPTables-based kube-proxy implementation.
3500
+ # @!attribute [rw] private_ipv6_google_access
3501
+ # @return [::Google::Cloud::Container::V1beta1::PrivateIPv6GoogleAccess]
3502
+ # The desired state of IPv6 connectivity to Google Services.
3503
+ # By default, no private IPv6 access to or from Google Services (all access
3504
+ # will be via IPv4)
3505
+ # @!attribute [rw] dns_config
3506
+ # @return [::Google::Cloud::Container::V1beta1::DNSConfig]
3507
+ # DNSConfig contains clusterDNS config for this cluster.
3508
+ # @!attribute [rw] service_external_ips_config
3509
+ # @return [::Google::Cloud::Container::V1beta1::ServiceExternalIPsConfig]
3510
+ # ServiceExternalIPsConfig specifies if services with externalIPs field are
3511
+ # blocked or not.
3275
3512
  class NetworkConfig
3276
3513
  include ::Google::Protobuf::MessageExts
3277
3514
  extend ::Google::Protobuf::MessageExts::ClassMethods
3278
3515
  end
3279
3516
 
3517
+ # Config to block services with externalIPs field.
3518
+ # @!attribute [rw] enabled
3519
+ # @return [::Boolean]
3520
+ # Whether Services with ExternalIPs field are allowed or not.
3521
+ class ServiceExternalIPsConfig
3522
+ include ::Google::Protobuf::MessageExts
3523
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3524
+ end
3525
+
3280
3526
  # ListUsableSubnetworksRequest requests the list of usable subnetworks.
3281
3527
  # available to a user for creating clusters.
3282
3528
  # @!attribute [rw] parent
@@ -3416,6 +3662,55 @@ module Google
3416
3662
  extend ::Google::Protobuf::MessageExts::ClassMethods
3417
3663
  end
3418
3664
 
3665
+ # ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
3666
+ # subsetting on this cluster.
3667
+ # @!attribute [rw] enabled
3668
+ # @return [::Boolean]
3669
+ # Enables l4 ILB subsetting for this cluster
3670
+ class ILBSubsettingConfig
3671
+ include ::Google::Protobuf::MessageExts
3672
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3673
+ end
3674
+
3675
+ # DNSConfig contains the desired set of options for configuring clusterDNS.
3676
+ # @!attribute [rw] cluster_dns
3677
+ # @return [::Google::Cloud::Container::V1beta1::DNSConfig::Provider]
3678
+ # cluster_dns indicates which in-cluster DNS provider should be used.
3679
+ # @!attribute [rw] cluster_dns_scope
3680
+ # @return [::Google::Cloud::Container::V1beta1::DNSConfig::DNSScope]
3681
+ # cluster_dns_scope indicates the scope of access to cluster DNS records.
3682
+ # @!attribute [rw] cluster_dns_domain
3683
+ # @return [::String]
3684
+ # cluster_dns_domain is the suffix used for all cluster service records.
3685
+ class DNSConfig
3686
+ include ::Google::Protobuf::MessageExts
3687
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3688
+
3689
+ # Provider lists the various in-cluster DNS providers.
3690
+ module Provider
3691
+ # Default value
3692
+ PROVIDER_UNSPECIFIED = 0
3693
+
3694
+ # Use GKE default DNS provider(kube-dns) for DNS resolution.
3695
+ PLATFORM_DEFAULT = 1
3696
+
3697
+ # Use CloudDNS for DNS resolution.
3698
+ CLOUD_DNS = 2
3699
+ end
3700
+
3701
+ # DNSScope lists the various scopes of access to cluster DNS records.
3702
+ module DNSScope
3703
+ # Default value, will be inferred as cluster scope.
3704
+ DNS_SCOPE_UNSPECIFIED = 0
3705
+
3706
+ # DNS records are accessible from within the cluster.
3707
+ CLUSTER_SCOPE = 1
3708
+
3709
+ # DNS records are accessible from within the VPC.
3710
+ VPC_SCOPE = 2
3711
+ end
3712
+ end
3713
+
3419
3714
  # Constraints applied to pods.
3420
3715
  # @!attribute [rw] max_pods_per_node
3421
3716
  # @return [::Integer]
@@ -3441,6 +3736,23 @@ module Google
3441
3736
  extend ::Google::Protobuf::MessageExts::ClassMethods
3442
3737
  end
3443
3738
 
3739
+ # Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
3740
+ # @!attribute [rw] enable_certificates
3741
+ # @return [::Google::Protobuf::BoolValue]
3742
+ # enable_certificates controls issuance of workload mTLS certificates.
3743
+ #
3744
+ # If set, the GKE Workload Identity Certificates controller and node agent
3745
+ # will be deployed in the cluster, which can then be configured by creating a
3746
+ # WorkloadCertificateConfig Custom Resource.
3747
+ #
3748
+ # Requires Workload Identity
3749
+ # ({::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig#workload_pool workload_pool}
3750
+ # must be non-empty).
3751
+ class WorkloadCertificates
3752
+ include ::Google::Protobuf::MessageExts
3753
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3754
+ end
3755
+
3444
3756
  # Configuration of etcd encryption.
3445
3757
  # @!attribute [rw] state
3446
3758
  # @return [::Google::Cloud::Container::V1beta1::DatabaseEncryption::State]
@@ -3512,6 +3824,15 @@ module Google
3512
3824
  extend ::Google::Protobuf::MessageExts::ClassMethods
3513
3825
  end
3514
3826
 
3827
+ # Configuration of gVNIC feature.
3828
+ # @!attribute [rw] enabled
3829
+ # @return [::Boolean]
3830
+ # Whether gVNIC features are enabled in the node pool.
3831
+ class VirtualNIC
3832
+ include ::Google::Protobuf::MessageExts
3833
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3834
+ end
3835
+
3515
3836
  # GetOpenIDConfigRequest gets the OIDC discovery document for the
3516
3837
  # cluster. See the OpenID Connect Discovery 1.0 specification for details.
3517
3838
  # @!attribute [rw] parent
@@ -3665,6 +3986,15 @@ module Google
3665
3986
  extend ::Google::Protobuf::MessageExts::ClassMethods
3666
3987
  end
3667
3988
 
3989
+ # Autopilot is the configuration for Autopilot settings on the cluster.
3990
+ # @!attribute [rw] enabled
3991
+ # @return [::Boolean]
3992
+ # Enable Autopilot
3993
+ class Autopilot
3994
+ include ::Google::Protobuf::MessageExts
3995
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3996
+ end
3997
+
3668
3998
  # NotificationConfig is the configuration of notifications.
3669
3999
  # @!attribute [rw] pubsub
3670
4000
  # @return [::Google::Cloud::Container::V1beta1::NotificationConfig::PubSub]
@@ -3702,28 +4032,139 @@ module Google
3702
4032
  # a resource is upgrading.
3703
4033
  # @!attribute [rw] resource_type
3704
4034
  # @return [::Google::Cloud::Container::V1beta1::UpgradeResourceType]
3705
- # Required. The resource type that is upgrading.
4035
+ # The resource type that is upgrading.
3706
4036
  # @!attribute [rw] operation
3707
4037
  # @return [::String]
3708
- # Required. The operation associated with this upgrade.
4038
+ # The operation associated with this upgrade.
3709
4039
  # @!attribute [rw] operation_start_time
3710
4040
  # @return [::Google::Protobuf::Timestamp]
3711
- # Required. The time when the operation was started.
4041
+ # The time when the operation was started.
3712
4042
  # @!attribute [rw] current_version
3713
4043
  # @return [::String]
3714
- # Required. The current version before the upgrade.
4044
+ # The current version before the upgrade.
3715
4045
  # @!attribute [rw] target_version
3716
4046
  # @return [::String]
3717
- # Required. The target version for the upgrade.
4047
+ # The target version for the upgrade.
3718
4048
  # @!attribute [rw] resource
3719
4049
  # @return [::String]
3720
- # Optional. Optional relative path to the resource. For example in node pool upgrades,
4050
+ # Optional relative path to the resource. For example in node pool upgrades,
3721
4051
  # the relative path of the node pool.
3722
4052
  class UpgradeEvent
3723
4053
  include ::Google::Protobuf::MessageExts
3724
4054
  extend ::Google::Protobuf::MessageExts::ClassMethods
3725
4055
  end
3726
4056
 
4057
+ # UpgradeAvailableEvent is a notification sent to customers when a new
4058
+ # available version is released.
4059
+ # @!attribute [rw] version
4060
+ # @return [::String]
4061
+ # The release version available for upgrade.
4062
+ # @!attribute [rw] resource_type
4063
+ # @return [::Google::Cloud::Container::V1beta1::UpgradeResourceType]
4064
+ # The resource type of the release version.
4065
+ # @!attribute [rw] release_channel
4066
+ # @return [::Google::Cloud::Container::V1beta1::ReleaseChannel]
4067
+ # The release channel of the version. If empty, it means a non-channel
4068
+ # release.
4069
+ # @!attribute [rw] resource
4070
+ # @return [::String]
4071
+ # Optional relative path to the resource. For example, the relative path of
4072
+ # the node pool.
4073
+ # @!attribute [rw] windows_versions
4074
+ # @return [::Google::Cloud::Container::V1beta1::WindowsVersions]
4075
+ # Windows node versions info.
4076
+ class UpgradeAvailableEvent
4077
+ include ::Google::Protobuf::MessageExts
4078
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4079
+ end
4080
+
4081
+ # IdentityServiceConfig is configuration for Identity Service which allows
4082
+ # customers to use external identity providers with the K8S API
4083
+ # @!attribute [rw] enabled
4084
+ # @return [::Boolean]
4085
+ # Whether to enable the Identity Service component
4086
+ class IdentityServiceConfig
4087
+ include ::Google::Protobuf::MessageExts
4088
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4089
+ end
4090
+
4091
+ # LoggingConfig is cluster logging configuration.
4092
+ # @!attribute [rw] component_config
4093
+ # @return [::Google::Cloud::Container::V1beta1::LoggingComponentConfig]
4094
+ # Logging components configuration
4095
+ class LoggingConfig
4096
+ include ::Google::Protobuf::MessageExts
4097
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4098
+ end
4099
+
4100
+ # LoggingComponentConfig is cluster logging component configuration.
4101
+ # @!attribute [rw] enable_components
4102
+ # @return [::Array<::Google::Cloud::Container::V1beta1::LoggingComponentConfig::Component>]
4103
+ # Select components to collect logs. An empty set would disable all logging.
4104
+ class LoggingComponentConfig
4105
+ include ::Google::Protobuf::MessageExts
4106
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4107
+
4108
+ # GKE components exposing logs
4109
+ module Component
4110
+ # Default value. This shouldn't be used.
4111
+ COMPONENT_UNSPECIFIED = 0
4112
+
4113
+ # system components
4114
+ SYSTEM_COMPONENTS = 1
4115
+
4116
+ # workloads
4117
+ WORKLOADS = 2
4118
+ end
4119
+ end
4120
+
4121
+ # MonitoringConfig is cluster monitoring configuration.
4122
+ # @!attribute [rw] component_config
4123
+ # @return [::Google::Cloud::Container::V1beta1::MonitoringComponentConfig]
4124
+ # Monitoring components configuration
4125
+ class MonitoringConfig
4126
+ include ::Google::Protobuf::MessageExts
4127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4128
+ end
4129
+
4130
+ # MonitoringComponentConfig is cluster monitoring component configuration.
4131
+ # @!attribute [rw] enable_components
4132
+ # @return [::Array<::Google::Cloud::Container::V1beta1::MonitoringComponentConfig::Component>]
4133
+ # Select components to collect metrics. An empty set would disable all
4134
+ # monitoring.
4135
+ class MonitoringComponentConfig
4136
+ include ::Google::Protobuf::MessageExts
4137
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4138
+
4139
+ # GKE components exposing metrics
4140
+ module Component
4141
+ # Default value. This shouldn't be used.
4142
+ COMPONENT_UNSPECIFIED = 0
4143
+
4144
+ # system components
4145
+ SYSTEM_COMPONENTS = 1
4146
+
4147
+ # workloads
4148
+ WORKLOADS = 2
4149
+ end
4150
+ end
4151
+
4152
+ # PrivateIPv6GoogleAccess controls whether and how the pods can communicate
4153
+ # with Google Services through gRPC over IPv6.
4154
+ module PrivateIPv6GoogleAccess
4155
+ # Default value. Same as DISABLED
4156
+ PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0
4157
+
4158
+ # No private access to or from Google Services
4159
+ PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED = 1
4160
+
4161
+ # Enables private IPv6 access to Google Services from GKE
4162
+ PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE = 2
4163
+
4164
+ # Enables priate IPv6 access to and from Google Services
4165
+ PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3
4166
+ end
4167
+
3727
4168
  # The datapath provider selects the implementation of the Kubernetes networking
3728
4169
  # // model for service resolution and network policy enforcement.
3729
4170
  module DatapathProvider