google-cloud-container-v1beta1 0.7.1 → 0.8.3

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.
@@ -60,10 +60,10 @@ module Google
60
60
  # https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
61
61
  #
62
62
  # The following values are allowed.
63
- # - "none": the default, which represents the existing scheduling behavior.
64
- # - "static": allows pods with certain resource characteristics to be
65
- # granted increased CPU affinity and exclusivity on the node.
66
- # The default value is 'none' if unspecified.
63
+ # * "none": the default, which represents the existing scheduling behavior.
64
+ # * "static": allows pods with certain resource characteristics to be granted
65
+ # increased CPU affinity and exclusivity on the node.
66
+ # The default value is 'none' if unspecified.
67
67
  # @!attribute [rw] cpu_cfs_quota
68
68
  # @return [::Google::Protobuf::BoolValue]
69
69
  # Enable CPU CFS quota enforcement for containers that specify CPU limits.
@@ -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,16 +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.
1430
1571
  # @!attribute [rw] desired_authenticator_groups_config
1431
1572
  # @return [::Google::Cloud::Container::V1beta1::AuthenticatorGroupsConfig]
1432
1573
  # AuthenticatorGroupsConfig specifies the config for the cluster security
1433
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.
1434
1584
  class ClusterUpdate
1435
1585
  include ::Google::Protobuf::MessageExts
1436
1586
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1746,12 +1896,30 @@ module Google
1746
1896
  # @!attribute [rw] upgrade_settings
1747
1897
  # @return [::Google::Cloud::Container::V1beta1::NodePool::UpgradeSettings]
1748
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.
1749
1914
  # @!attribute [rw] linux_node_config
1750
1915
  # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig]
1751
1916
  # Parameters that can be configured on Linux nodes.
1752
1917
  # @!attribute [rw] kubelet_config
1753
1918
  # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
1754
1919
  # Node kubelet configs.
1920
+ # @!attribute [rw] gvnic
1921
+ # @return [::Google::Cloud::Container::V1beta1::VirtualNIC]
1922
+ # Enable or disable gvnic on the node pool.
1755
1923
  class UpdateNodePoolRequest
1756
1924
  include ::Google::Protobuf::MessageExts
1757
1925
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1884,8 +2052,8 @@ module Google
1884
2052
  # This field has been deprecated and replaced by the name field.
1885
2053
  # @!attribute [rw] addons_config
1886
2054
  # @return [::Google::Cloud::Container::V1beta1::AddonsConfig]
1887
- # Required. The desired configurations for the various addons available to run in the
1888
- # cluster.
2055
+ # Required. The desired configurations for the various addons available to
2056
+ # run in the cluster.
1889
2057
  # @!attribute [rw] name
1890
2058
  # @return [::String]
1891
2059
  # The name (project, location, cluster) of the cluster to set addons.
@@ -2201,6 +2369,9 @@ module Google
2201
2369
  # @!attribute [rw] channels
2202
2370
  # @return [::Array<::Google::Cloud::Container::V1beta1::ServerConfig::ReleaseChannelConfig>]
2203
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.
2204
2375
  class ServerConfig
2205
2376
  include ::Google::Protobuf::MessageExts
2206
2377
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2236,6 +2407,39 @@ module Google
2236
2407
  extend ::Google::Protobuf::MessageExts::ClassMethods
2237
2408
  end
2238
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
2239
2443
  end
2240
2444
 
2241
2445
  # CreateNodePoolRequest creates a node pool for a cluster.
@@ -2358,6 +2562,29 @@ module Google
2358
2562
  # of Kubernetes labels applied to them, which may be used to reference them
2359
2563
  # during pod scheduling. They may also be resized up or down, to accommodate
2360
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.
2361
2588
  # @!attribute [rw] name
2362
2589
  # @return [::String]
2363
2590
  # The name of the node pool.
@@ -2382,6 +2609,10 @@ module Google
2382
2609
  #
2383
2610
  # Warning: changing node pool locations will result in nodes being added
2384
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.
2385
2616
  # @!attribute [rw] self_link
2386
2617
  # @return [::String]
2387
2618
  # [Output only] Server-defined URL for the resource.
@@ -2425,29 +2656,6 @@ module Google
2425
2656
  include ::Google::Protobuf::MessageExts
2426
2657
  extend ::Google::Protobuf::MessageExts::ClassMethods
2427
2658
 
2428
- # These upgrade settings control the level of parallelism and the level of
2429
- # disruption caused by an upgrade.
2430
- #
2431
- # maxUnavailable controls the number of nodes that can be simultaneously
2432
- # unavailable.
2433
- #
2434
- # maxSurge controls the number of additional nodes that can be added to the
2435
- # node pool temporarily for the time of the upgrade to increase the number of
2436
- # available nodes.
2437
- #
2438
- # (maxUnavailable + maxSurge) determines the level of parallelism (how many
2439
- # nodes are being upgraded at the same time).
2440
- #
2441
- # Note: upgrades inevitably introduce some disruption since workloads need to
2442
- # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
2443
- # this holds true. (Disruption stays within the limits of
2444
- # PodDisruptionBudget, if it is configured.)
2445
- #
2446
- # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
2447
- # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
2448
- # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
2449
- # down 3 old (not yet upgraded) nodes at the same time. This ensures that
2450
- # there are always at least 4 nodes available.
2451
2659
  # @!attribute [rw] max_surge
2452
2660
  # @return [::Integer]
2453
2661
  # The maximum number of nodes that can be created beyond the current size
@@ -2673,8 +2881,7 @@ module Google
2673
2881
  extend ::Google::Protobuf::MessageExts::ClassMethods
2674
2882
  end
2675
2883
 
2676
- # SetNodePoolSizeRequest sets the size a node
2677
- # pool.
2884
+ # SetNodePoolSizeRequest sets the size of a node pool.
2678
2885
  # @!attribute [rw] project_id
2679
2886
  # @return [::String]
2680
2887
  # Required. Deprecated. The Google Developers Console [project ID or project
@@ -2854,7 +3061,7 @@ module Google
2854
3061
  # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
2855
3062
  # @!attribute [rw] image_type
2856
3063
  # @return [::String]
2857
- # The image type to use for node created by NodeAutoprovisioning.
3064
+ # The image type to use for NAP created node.
2858
3065
  class AutoprovisioningNodePoolDefaults
2859
3066
  include ::Google::Protobuf::MessageExts
2860
3067
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2888,7 +3095,7 @@ module Google
2888
3095
  # @!attribute [rw] max_node_count
2889
3096
  # @return [::Integer]
2890
3097
  # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
2891
- # has to enough quota to scale up the cluster.
3098
+ # has to be enough quota to scale up the cluster.
2892
3099
  # @!attribute [rw] autoprovisioned
2893
3100
  # @return [::Boolean]
2894
3101
  # Can this node pool be deleted automatically.
@@ -3035,6 +3242,11 @@ module Google
3035
3242
  # @return [::String]
3036
3243
  # The accelerator type resource name. List of supported accelerators
3037
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).
3038
3250
  class AcceleratorConfig
3039
3251
  include ::Google::Protobuf::MessageExts
3040
3252
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3247,8 +3459,11 @@ module Google
3247
3459
 
3248
3460
  # Unable to perform an encrypt operation against the CloudKMS key used for
3249
3461
  # etcd level encryption.
3250
- # More codes TBA
3251
3462
  CLOUD_KMS_KEY_ERROR = 7
3463
+
3464
+ # Cluster CA is expiring soon.
3465
+ # More codes TBA
3466
+ CA_EXPIRING = 9
3252
3467
  end
3253
3468
  end
3254
3469
 
@@ -3275,15 +3490,39 @@ module Google
3275
3490
  # will be disabled when default_snat_status is disabled. When disabled is set
3276
3491
  # to false, default IP masquerade rules will be applied to the nodes to
3277
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.
3278
3496
  # @!attribute [rw] datapath_provider
3279
3497
  # @return [::Google::Cloud::Container::V1beta1::DatapathProvider]
3280
3498
  # The desired datapath provider for this cluster. By default, uses the
3281
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.
3282
3512
  class NetworkConfig
3283
3513
  include ::Google::Protobuf::MessageExts
3284
3514
  extend ::Google::Protobuf::MessageExts::ClassMethods
3285
3515
  end
3286
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
+
3287
3526
  # ListUsableSubnetworksRequest requests the list of usable subnetworks.
3288
3527
  # available to a user for creating clusters.
3289
3528
  # @!attribute [rw] parent
@@ -3423,6 +3662,55 @@ module Google
3423
3662
  extend ::Google::Protobuf::MessageExts::ClassMethods
3424
3663
  end
3425
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
+
3426
3714
  # Constraints applied to pods.
3427
3715
  # @!attribute [rw] max_pods_per_node
3428
3716
  # @return [::Integer]
@@ -3448,6 +3736,23 @@ module Google
3448
3736
  extend ::Google::Protobuf::MessageExts::ClassMethods
3449
3737
  end
3450
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
+
3451
3756
  # Configuration of etcd encryption.
3452
3757
  # @!attribute [rw] state
3453
3758
  # @return [::Google::Cloud::Container::V1beta1::DatabaseEncryption::State]
@@ -3519,6 +3824,15 @@ module Google
3519
3824
  extend ::Google::Protobuf::MessageExts::ClassMethods
3520
3825
  end
3521
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
+
3522
3836
  # GetOpenIDConfigRequest gets the OIDC discovery document for the
3523
3837
  # cluster. See the OpenID Connect Discovery 1.0 specification for details.
3524
3838
  # @!attribute [rw] parent
@@ -3672,6 +3986,15 @@ module Google
3672
3986
  extend ::Google::Protobuf::MessageExts::ClassMethods
3673
3987
  end
3674
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
+
3675
3998
  # NotificationConfig is the configuration of notifications.
3676
3999
  # @!attribute [rw] pubsub
3677
4000
  # @return [::Google::Cloud::Container::V1beta1::NotificationConfig::PubSub]
@@ -3709,28 +4032,139 @@ module Google
3709
4032
  # a resource is upgrading.
3710
4033
  # @!attribute [rw] resource_type
3711
4034
  # @return [::Google::Cloud::Container::V1beta1::UpgradeResourceType]
3712
- # Required. The resource type that is upgrading.
4035
+ # The resource type that is upgrading.
3713
4036
  # @!attribute [rw] operation
3714
4037
  # @return [::String]
3715
- # Required. The operation associated with this upgrade.
4038
+ # The operation associated with this upgrade.
3716
4039
  # @!attribute [rw] operation_start_time
3717
4040
  # @return [::Google::Protobuf::Timestamp]
3718
- # Required. The time when the operation was started.
4041
+ # The time when the operation was started.
3719
4042
  # @!attribute [rw] current_version
3720
4043
  # @return [::String]
3721
- # Required. The current version before the upgrade.
4044
+ # The current version before the upgrade.
3722
4045
  # @!attribute [rw] target_version
3723
4046
  # @return [::String]
3724
- # Required. The target version for the upgrade.
4047
+ # The target version for the upgrade.
3725
4048
  # @!attribute [rw] resource
3726
4049
  # @return [::String]
3727
- # 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,
3728
4051
  # the relative path of the node pool.
3729
4052
  class UpgradeEvent
3730
4053
  include ::Google::Protobuf::MessageExts
3731
4054
  extend ::Google::Protobuf::MessageExts::ClassMethods
3732
4055
  end
3733
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
+
3734
4168
  # The datapath provider selects the implementation of the Kubernetes networking
3735
4169
  # // model for service resolution and network policy enforcement.
3736
4170
  module DatapathProvider