google-cloud-container-v1beta1 0.51.1 → 0.52.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.
@@ -21,6 +21,20 @@ module Google
21
21
  module Cloud
22
22
  module Container
23
23
  module V1beta1
24
+ # CompleteControlPlaneUpgradeRequest sets the name of target cluster to
25
+ # complete upgrade.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # The name (project, location, cluster) of the cluster to complete upgrade.
29
+ # Specified in the format `projects/*/locations/*/clusters/*`.
30
+ # @!attribute [rw] version
31
+ # @return [::String]
32
+ # API request version that initiates this operation.
33
+ class CompleteControlPlaneUpgradeRequest
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+
24
38
  # Parameters that can be configured on Linux nodes.
25
39
  # @!attribute [rw] sysctls
26
40
  # @return [::Google::Protobuf::Map{::String => ::String}]
@@ -41,7 +55,12 @@ module Google
41
55
  # net.ipv4.tcp_rmem
42
56
  # net.ipv4.tcp_wmem
43
57
  # net.ipv4.tcp_tw_reuse
58
+ # net.ipv4.tcp_mtu_probing
44
59
  # net.ipv4.tcp_max_orphans
60
+ # net.ipv4.tcp_max_tw_buckets
61
+ # net.ipv4.tcp_syn_retries
62
+ # net.ipv4.tcp_ecn
63
+ # net.ipv4.tcp_congestion_control
45
64
  # net.netfilter.nf_conntrack_max
46
65
  # net.netfilter.nf_conntrack_buckets
47
66
  # net.netfilter.nf_conntrack_tcp_timeout_close_wait
@@ -51,14 +70,23 @@ module Google
51
70
  # kernel.shmmni
52
71
  # kernel.shmmax
53
72
  # kernel.shmall
73
+ # kernel.perf_event_paranoid
74
+ # kernel.sched_rt_runtime_us
75
+ # kernel.softlockup_panic
76
+ # kernel.yama.ptrace_scope
77
+ # kernel.kptr_restrict
78
+ # kernel.dmesg_restrict
79
+ # kernel.sysrq
54
80
  # fs.aio-max-nr
55
81
  # fs.file-max
56
82
  # fs.inotify.max_user_instances
57
83
  # fs.inotify.max_user_watches
58
84
  # fs.nr_open
59
85
  # vm.dirty_background_ratio
86
+ # vm.dirty_background_bytes
60
87
  # vm.dirty_expire_centisecs
61
88
  # vm.dirty_ratio
89
+ # vm.dirty_bytes
62
90
  # vm.dirty_writeback_centisecs
63
91
  # vm.max_map_count
64
92
  # vm.overcommit_memory
@@ -501,6 +529,24 @@ module Google
501
529
  # If true, will prevent the memory.oom.group flag from being set for
502
530
  # container cgroups in cgroups v2. This causes processes in the container to
503
531
  # be OOM killed individually instead of as a group.
532
+ # @!attribute [rw] shutdown_grace_period_seconds
533
+ # @return [::Integer]
534
+ # Optional. shutdown_grace_period_seconds is the maximum allowed grace period
535
+ # (in seconds) the total duration that the node should delay the shutdown
536
+ # during a graceful shutdown. This is the total grace period for pod
537
+ # termination for both regular and critical pods.
538
+ # https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/
539
+ # If set to 0, node will not enable the graceful node shutdown functionality.
540
+ # This field is only valid for Spot VMs.
541
+ # Allowed values: 0, 30, 120.
542
+ # @!attribute [rw] shutdown_grace_period_critical_pods_seconds
543
+ # @return [::Integer]
544
+ # Optional. shutdown_grace_period_critical_pod_seconds is the maximum allowed
545
+ # grace period (in seconds) used to terminate critical pods during a node
546
+ # shutdown. This value should be <= shutdown_grace_period_seconds, and is
547
+ # only valid if shutdown_grace_period_seconds is set.
548
+ # https://kubernetes.io/docs/concepts/cluster-administration/node-shutdown/
549
+ # Range: [0, 120].
504
550
  class NodeKubeletConfig
505
551
  include ::Google::Protobuf::MessageExts
506
552
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -932,6 +978,9 @@ module Google
932
978
  # @!attribute [rw] secondary_boot_disk_update_strategy
933
979
  # @return [::Google::Cloud::Container::V1beta1::SecondaryBootDiskUpdateStrategy]
934
980
  # Secondary boot disk update strategy.
981
+ # @!attribute [rw] gpu_direct_config
982
+ # @return [::Google::Cloud::Container::V1beta1::GPUDirectConfig]
983
+ # The configuration for GPU Direct
935
984
  # @!attribute [rw] max_run_duration
936
985
  # @return [::Google::Protobuf::Duration]
937
986
  # The maximum duration for the nodes to exist.
@@ -952,6 +1001,11 @@ module Google
952
1001
  # @!attribute [rw] boot_disk
953
1002
  # @return [::Google::Cloud::Container::V1beta1::BootDisk]
954
1003
  # Boot disk configuration for the node pool.
1004
+ # @!attribute [rw] consolidation_delay
1005
+ # @return [::Google::Protobuf::Duration]
1006
+ # Consolidation delay defines duration after which the Cluster Autoscaler can
1007
+ # scale down underutilized nodes. If not set, nodes are scaled down by
1008
+ # default behavior, i.e. according to the chosen autoscaling profile.
955
1009
  class NodeConfig
956
1010
  include ::Google::Protobuf::MessageExts
957
1011
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1129,13 +1183,17 @@ module Google
1129
1183
  # Output only. The utilization of the IPv4 range for the pod.
1130
1184
  # The ratio is Usage/[Total number of IPs in the secondary range],
1131
1185
  # Usage=numNodes*numZones*podIPsPerNode.
1132
- # @!attribute [r] subnetwork
1186
+ # @!attribute [rw] subnetwork
1133
1187
  # @return [::String]
1134
- # Output only. The subnetwork path for the node pool.
1188
+ # Optional. The subnetwork name/path for the node pool.
1135
1189
  # Format: projects/\\{project}/regions/\\{region}/subnetworks/\\{subnetwork}
1136
- # If the cluster is associated with multiple subnetworks, the subnetwork for
1137
- # the node pool is picked based on the IP utilization during node pool
1138
- # creation and is immutable.
1190
+ # If the cluster is associated with multiple subnetworks, the subnetwork can
1191
+ # be either:
1192
+ # 1. A user supplied subnetwork name/full path during node pool creation.
1193
+ # Example1: my-subnet
1194
+ # Example2: projects/gke-project/regions/us-central1/subnetworks/my-subnet
1195
+ # 2. A subnetwork path picked based on the IP utilization during node pool
1196
+ # creation and is immutable.
1139
1197
  # @!attribute [r] network_tier_config
1140
1198
  # @return [::Google::Cloud::Container::V1beta1::NetworkTierConfig]
1141
1199
  # Output only. The network tier configuration for the node pool inherits from
@@ -1427,6 +1485,11 @@ module Google
1427
1485
  # @return [::Google::Cloud::Container::V1beta1::ContainerdConfig::WritableCgroups]
1428
1486
  # Optional. WritableCgroups defines writable cgroups configuration for the
1429
1487
  # node pool.
1488
+ # @!attribute [rw] registry_hosts
1489
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig>]
1490
+ # RegistryHostConfig configures containerd registry host configuration.
1491
+ # Each registry_hosts represents a hosts.toml file.
1492
+ # At most 25 registry_hosts are allowed.
1430
1493
  class ContainerdConfig
1431
1494
  include ::Google::Protobuf::MessageExts
1432
1495
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1482,6 +1545,128 @@ module Google
1482
1545
  include ::Google::Protobuf::MessageExts
1483
1546
  extend ::Google::Protobuf::MessageExts::ClassMethods
1484
1547
  end
1548
+
1549
+ # RegistryHostConfig configures the top-level structure for a single
1550
+ # containerd registry server's configuration, which represents one hosts.toml
1551
+ # file on the node. It will override the same fqdns in
1552
+ # PrivateRegistryAccessConfig.
1553
+ # @!attribute [rw] server
1554
+ # @return [::String]
1555
+ # Defines the host name of the registry server, which will be used to
1556
+ # create configuration file as /etc/containerd/hosts.d/<server>/hosts.toml.
1557
+ # It supports fully qualified domain names (FQDN) and IP addresses:
1558
+ # Specifying port is supported.
1559
+ # Wildcards are NOT supported.
1560
+ # Examples:
1561
+ # - my.customdomain.com
1562
+ # - 10.0.1.2:5000
1563
+ # @!attribute [rw] hosts
1564
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig::HostConfig>]
1565
+ # HostConfig configures a list of host-specific configurations for the
1566
+ # server.
1567
+ # Each server can have at most 10 host configurations.
1568
+ class RegistryHostConfig
1569
+ include ::Google::Protobuf::MessageExts
1570
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1571
+
1572
+ # CertificateConfig configures certificate for the registry.
1573
+ # @!attribute [rw] gcp_secret_manager_secret_uri
1574
+ # @return [::String]
1575
+ # The URI configures a secret from
1576
+ # [Secret Manager](https://cloud.google.com/secret-manager)
1577
+ # in the format
1578
+ # "projects/$PROJECT_ID/secrets/$SECRET_NAME/versions/$VERSION" for
1579
+ # global secret or
1580
+ # "projects/$PROJECT_ID/locations/$REGION/secrets/$SECRET_NAME/versions/$VERSION"
1581
+ # for regional secret. Version can be fixed (e.g. "2") or "latest"
1582
+ class CertificateConfig
1583
+ include ::Google::Protobuf::MessageExts
1584
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1585
+ end
1586
+
1587
+ # CertificateConfigPair configures pairs of certificates, which is used for
1588
+ # client certificate and key pairs under a registry.
1589
+ # @!attribute [rw] cert
1590
+ # @return [::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig::CertificateConfig]
1591
+ # Cert configures the client certificate.
1592
+ # @!attribute [rw] key
1593
+ # @return [::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig::CertificateConfig]
1594
+ # Key configures the client private key. Optional.
1595
+ class CertificateConfigPair
1596
+ include ::Google::Protobuf::MessageExts
1597
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1598
+ end
1599
+
1600
+ # RegistryHeader configures headers for the registry.
1601
+ # @!attribute [rw] key
1602
+ # @return [::String]
1603
+ # Key configures the header key.
1604
+ # @!attribute [rw] value
1605
+ # @return [::Array<::String>]
1606
+ # Value configures the header value.
1607
+ class RegistryHeader
1608
+ include ::Google::Protobuf::MessageExts
1609
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1610
+ end
1611
+
1612
+ # HostConfig configures the registry host under a given Server.
1613
+ # @!attribute [rw] host
1614
+ # @return [::String]
1615
+ # Host configures the registry host/mirror.
1616
+ # It supports fully qualified domain names (FQDN) and IP addresses:
1617
+ # Specifying port is supported.
1618
+ # Wildcards are NOT supported.
1619
+ # Examples:
1620
+ # - my.customdomain.com
1621
+ # - 10.0.1.2:5000
1622
+ # @!attribute [rw] capabilities
1623
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig::HostCapability>]
1624
+ # Capabilities represent the capabilities of the registry host,
1625
+ # specifying what operations a host is capable of performing.
1626
+ # If not set, containerd enables all capabilities by default.
1627
+ # @!attribute [rw] override_path
1628
+ # @return [::Boolean]
1629
+ # OverridePath is used to indicate the host's API root endpoint is
1630
+ # defined in the URL path rather than by the API specification. This may
1631
+ # be used with non-compliant OCI registries which are missing the /v2
1632
+ # prefix.
1633
+ # If not set, containerd sets default false.
1634
+ # @!attribute [rw] header
1635
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig::RegistryHeader>]
1636
+ # Header configures the registry host headers.
1637
+ # @!attribute [rw] ca
1638
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig::CertificateConfig>]
1639
+ # CA configures the registry host certificate.
1640
+ # @!attribute [rw] client
1641
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ContainerdConfig::RegistryHostConfig::CertificateConfigPair>]
1642
+ # Client configures the registry host client certificate and key.
1643
+ # @!attribute [rw] dial_timeout
1644
+ # @return [::Google::Protobuf::Duration]
1645
+ # Specifies the maximum duration allowed for a connection attempt to
1646
+ # complete. A shorter timeout helps reduce delays when falling back to
1647
+ # the original registry if the mirror is unreachable.
1648
+ # Maximum allowed value is 180s. If not set, containerd sets default 30s.
1649
+ # The value should be a decimal number of seconds with an `s` suffix.
1650
+ class HostConfig
1651
+ include ::Google::Protobuf::MessageExts
1652
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1653
+ end
1654
+
1655
+ # HostCapability configures capabilities for the registry host.
1656
+ module HostCapability
1657
+ # UNKNOWN should never be set.
1658
+ HOST_CAPABILITY_UNSPECIFIED = 0
1659
+
1660
+ # Pull represents the capability to fetch manifests and blobs by digest.
1661
+ HOST_CAPABILITY_PULL = 1
1662
+
1663
+ # Resolve represents the capability to fetch manifests by name.
1664
+ HOST_CAPABILITY_RESOLVE = 2
1665
+
1666
+ # Push represents the capability to push blobs and manifests.
1667
+ HOST_CAPABILITY_PUSH = 3
1668
+ end
1669
+ end
1485
1670
  end
1486
1671
 
1487
1672
  # HostMaintenancePolicy contains the maintenance policy for the hosts on which
@@ -1765,6 +1950,12 @@ module Google
1765
1950
  # @!attribute [rw] lustre_csi_driver_config
1766
1951
  # @return [::Google::Cloud::Container::V1beta1::LustreCsiDriverConfig]
1767
1952
  # Configuration for the Lustre CSI driver.
1953
+ # @!attribute [rw] pod_snapshot_config
1954
+ # @return [::Google::Cloud::Container::V1beta1::PodSnapshotConfig]
1955
+ # Configuration for the Pod Snapshot feature.
1956
+ # @!attribute [rw] slice_controller_config
1957
+ # @return [::Google::Cloud::Container::V1beta1::SliceControllerConfig]
1958
+ # Optional. Configuration for the slice controller add-on.
1768
1959
  class AddonsConfig
1769
1960
  include ::Google::Protobuf::MessageExts
1770
1961
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1923,11 +2114,23 @@ module Google
1923
2114
  # 1. The GKE node version is older than 1.33.2-gke.4655000.
1924
2115
  # 2. You're connecting to a Lustre instance that has the
1925
2116
  # 'gke-support-enabled' flag.
2117
+ # Deprecated: This flag is no longer required as of GKE node version
2118
+ # 1.33.2-gke.4655000, unless you are connecting to a Lustre instance
2119
+ # that has the `gke-support-enabled` flag.
1926
2120
  class LustreCsiDriverConfig
1927
2121
  include ::Google::Protobuf::MessageExts
1928
2122
  extend ::Google::Protobuf::MessageExts::ClassMethods
1929
2123
  end
1930
2124
 
2125
+ # Configuration for the Slice Controller.
2126
+ # @!attribute [rw] enabled
2127
+ # @return [::Boolean]
2128
+ # Optional. Indicates whether Slice Controller is enabled in the cluster.
2129
+ class SliceControllerConfig
2130
+ include ::Google::Protobuf::MessageExts
2131
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2132
+ end
2133
+
1931
2134
  # Configuration options for the Ray Operator add-on.
1932
2135
  # @!attribute [rw] enabled
1933
2136
  # @return [::Boolean]
@@ -2205,7 +2408,7 @@ module Google
2205
2408
  # netmask.
2206
2409
  #
2207
2410
  # Set to a
2208
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2411
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2209
2412
  # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
2210
2413
  # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
2211
2414
  # to use.
@@ -2221,7 +2424,7 @@ module Google
2221
2424
  # netmask.
2222
2425
  #
2223
2426
  # Set to a
2224
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2427
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2225
2428
  # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
2226
2429
  # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
2227
2430
  # to use.
@@ -2238,7 +2441,7 @@ module Google
2238
2441
  # netmask.
2239
2442
  #
2240
2443
  # Set to a
2241
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2444
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2242
2445
  # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
2243
2446
  # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
2244
2447
  # to use.
@@ -2270,7 +2473,7 @@ module Google
2270
2473
  # netmask.
2271
2474
  #
2272
2475
  # Set to a
2273
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2476
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2274
2477
  # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
2275
2478
  # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
2276
2479
  # to use.
@@ -2547,7 +2750,7 @@ module Google
2547
2750
  # @!attribute [rw] cluster_ipv4_cidr
2548
2751
  # @return [::String]
2549
2752
  # The IP address range of the container pods in this cluster, in
2550
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2753
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2551
2754
  # notation (e.g. `10.96.0.0/14`). Leave blank to have
2552
2755
  # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
2553
2756
  # @!attribute [rw] addons_config
@@ -2751,6 +2954,15 @@ module Google
2751
2954
  # @!attribute [r] current_master_version
2752
2955
  # @return [::String]
2753
2956
  # Output only. The current software version of the master endpoint.
2957
+ # @!attribute [r] current_emulated_version
2958
+ # @return [::String]
2959
+ # Output only. The current emulated version of the master endpoint.
2960
+ # The version is in minor version format, e.g. 1.30.
2961
+ # No value or empty string means the cluster has no emulated version.
2962
+ # @!attribute [rw] rollback_safe_upgrade
2963
+ # @return [::Google::Cloud::Container::V1beta1::RollbackSafeUpgrade]
2964
+ # The rollback safe upgrade information of the cluster.
2965
+ # This field is used when user manually triggers a rollback safe upgrade.
2754
2966
  # @!attribute [r] current_node_version
2755
2967
  # @deprecated This field is deprecated and may be removed in the next major version update.
2756
2968
  # @return [::String]
@@ -2782,7 +2994,7 @@ module Google
2782
2994
  # @return [::String]
2783
2995
  # Output only. The IP address range of the Kubernetes services in
2784
2996
  # this cluster, in
2785
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2997
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2786
2998
  # notation (e.g. `1.2.3.4/29`). Service addresses are
2787
2999
  # typically put in the last `/16` from the container CIDR.
2788
3000
  # @!attribute [r] instance_group_urls
@@ -2816,7 +3028,7 @@ module Google
2816
3028
  # @deprecated This field is deprecated and may be removed in the next major version update.
2817
3029
  # @return [::String]
2818
3030
  # Output only. The IP address range of the Cloud TPUs in this cluster, in
2819
- # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
3031
+ # [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2820
3032
  # notation (e.g. `1.2.3.4/29`).
2821
3033
  # This field is deprecated due to the deprecation of 2VM TPU. The end of life
2822
3034
  # date for 2VM TPU is 2025-04-25.
@@ -2907,6 +3119,9 @@ module Google
2907
3119
  # @!attribute [rw] secret_sync_config
2908
3120
  # @return [::Google::Cloud::Container::V1beta1::SecretSyncConfig]
2909
3121
  # Configuration for sync Secret Manager secrets as k8s secrets.
3122
+ # @!attribute [rw] managed_opentelemetry_config
3123
+ # @return [::Google::Cloud::Container::V1beta1::ManagedOpenTelemetryConfig]
3124
+ # Configuration for Managed OpenTelemetry pipeline.
2910
3125
  class Cluster
2911
3126
  include ::Google::Protobuf::MessageExts
2912
3127
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3001,6 +3216,10 @@ module Google
3001
3216
  # @return [::String]
3002
3217
  # The Cloud KMS cryptoKey to use for Confidential Hyperdisk on the control
3003
3218
  # plane nodes.
3219
+ # @!attribute [r] control_plane_disk_encryption_key_versions
3220
+ # @return [::Array<::String>]
3221
+ # Output only. All of the versions of the Cloud KMS cryptoKey that are used
3222
+ # by Confidential Hyperdisks on the control plane nodes.
3004
3223
  # @!attribute [rw] gkeops_etcd_backup_encryption_key
3005
3224
  # @return [::String]
3006
3225
  # Resource path of the Cloud KMS cryptoKey to use for encryption of internal
@@ -3604,6 +3823,15 @@ module Google
3604
3823
  # @!attribute [rw] desired_secret_sync_config
3605
3824
  # @return [::Google::Cloud::Container::V1beta1::SecretSyncConfig]
3606
3825
  # Configuration for sync Secret Manager secrets as k8s secrets.
3826
+ # @!attribute [rw] desired_privileged_admission_config
3827
+ # @return [::Google::Cloud::Container::V1beta1::PrivilegedAdmissionConfig]
3828
+ # The desired privileged admission config for the cluster.
3829
+ # @!attribute [rw] desired_rollback_safe_upgrade
3830
+ # @return [::Google::Cloud::Container::V1beta1::RollbackSafeUpgrade]
3831
+ # The desired rollback safe upgrade configuration.
3832
+ # @!attribute [rw] desired_managed_opentelemetry_config
3833
+ # @return [::Google::Cloud::Container::V1beta1::ManagedOpenTelemetryConfig]
3834
+ # The desired managed open telemetry configuration.
3607
3835
  class ClusterUpdate
3608
3836
  include ::Google::Protobuf::MessageExts
3609
3837
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3636,9 +3864,31 @@ module Google
3636
3864
  # pod IPs.
3637
3865
  # Example1: gke-pod-range1
3638
3866
  # Example2: gke-pod-range1,gke-pod-range2
3867
+ # @!attribute [rw] status
3868
+ # @return [::Google::Cloud::Container::V1beta1::AdditionalIPRangesConfig::Status]
3869
+ # Draining status of the additional subnet.
3639
3870
  class AdditionalIPRangesConfig
3640
3871
  include ::Google::Protobuf::MessageExts
3641
3872
  extend ::Google::Protobuf::MessageExts::ClassMethods
3873
+
3874
+ # Additional subnet with DRAINING status will not be selected during new node
3875
+ # pool creation. To undrain the draining status, update the cluster to set
3876
+ # the sunbet to ACTIVE status. To remove the additional subnet, use the
3877
+ # update cluster API to remove the subnet from the
3878
+ # desired_additional_ip_ranges list. IP ranges can be removed regardless of
3879
+ # its status, as long as no node pools are using them.
3880
+ module Status
3881
+ # Not set, same as ACTIVE.
3882
+ STATUS_UNSPECIFIED = 0
3883
+
3884
+ # ACTIVE status indicates that the subnet is available for new node pool
3885
+ # creation.
3886
+ ACTIVE = 1
3887
+
3888
+ # DRAINING status indicates that the subnet is not used for new node pool
3889
+ # creation.
3890
+ DRAINING = 2
3891
+ end
3642
3892
  end
3643
3893
 
3644
3894
  # DesiredAdditionalIPRangesConfig is a wrapper used for cluster update
@@ -4218,6 +4468,14 @@ module Google
4218
4468
  # The desired boot disk config for nodes in the node pool.
4219
4469
  # Initiates an upgrade operation that migrates the nodes in the
4220
4470
  # node pool to the specified boot disk config.
4471
+ # @!attribute [rw] node_drain_config
4472
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::NodeDrainConfig]
4473
+ # The desired node drain configuration for nodes in the node pool.
4474
+ # @!attribute [rw] consolidation_delay
4475
+ # @return [::Google::Protobuf::Duration]
4476
+ # Consolidation delay defines duration after which the Cluster Autoscaler can
4477
+ # scale down underutilized nodes. If not set, nodes are scaled down by
4478
+ # default behavior, i.e. according to the chosen autoscaling profile.
4221
4479
  class UpdateNodePoolRequest
4222
4480
  include ::Google::Protobuf::MessageExts
4223
4481
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -5075,6 +5333,9 @@ module Google
5075
5333
  # @!attribute [rw] best_effort_provisioning
5076
5334
  # @return [::Google::Cloud::Container::V1beta1::BestEffortProvisioning]
5077
5335
  # Enable best effort provisioning for nodes
5336
+ # @!attribute [rw] node_drain_config
5337
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::NodeDrainConfig]
5338
+ # Specifies the node drain configuration for this node pool.
5078
5339
  class NodePool
5079
5340
  include ::Google::Protobuf::MessageExts
5080
5341
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -5251,6 +5512,16 @@ module Google
5251
5512
  extend ::Google::Protobuf::MessageExts::ClassMethods
5252
5513
  end
5253
5514
 
5515
+ # NodeDrainConfig contains the node drain related configurations for this
5516
+ # nodepool.
5517
+ # @!attribute [rw] respect_pdb_during_node_pool_deletion
5518
+ # @return [::Boolean]
5519
+ # Whether to respect PDB during node pool deletion.
5520
+ class NodeDrainConfig
5521
+ include ::Google::Protobuf::MessageExts
5522
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5523
+ end
5524
+
5254
5525
  # The current status of the node pool instance.
5255
5526
  module Status
5256
5527
  # Not set.
@@ -5639,6 +5910,10 @@ module Google
5639
5910
  # @!attribute [rw] default_compute_class_config
5640
5911
  # @return [::Google::Cloud::Container::V1beta1::DefaultComputeClassConfig]
5641
5912
  # Default compute class is a configuration for default compute class.
5913
+ # @!attribute [rw] autopilot_general_profile
5914
+ # @return [::Google::Cloud::Container::V1beta1::ClusterAutoscaling::AutopilotGeneralProfile]
5915
+ # Autopilot general profile for the cluster, which defines the
5916
+ # configuration for the cluster.
5642
5917
  class ClusterAutoscaling
5643
5918
  include ::Google::Protobuf::MessageExts
5644
5919
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -5654,6 +5929,15 @@ module Google
5654
5929
  # Use default (balanced) autoscaling configuration.
5655
5930
  BALANCED = 2
5656
5931
  end
5932
+
5933
+ # Defines possible options for Autopilot general profile.
5934
+ module AutopilotGeneralProfile
5935
+ # Use default configuration.
5936
+ AUTOPILOT_GENERAL_PROFILE_UNSPECIFIED = 0
5937
+
5938
+ # Avoid extra IP consumption.
5939
+ NO_PERFORMANCE = 1
5940
+ end
5657
5941
  end
5658
5942
 
5659
5943
  # AutoprovisioningNodePoolDefaults contains defaults for a node pool created
@@ -6836,6 +7120,24 @@ module Google
6836
7120
  extend ::Google::Protobuf::MessageExts::ClassMethods
6837
7121
  end
6838
7122
 
7123
+ # GPUDirectConfig specifies the GPU direct strategy on the node pool.
7124
+ # @!attribute [rw] gpu_direct_strategy
7125
+ # @return [::Google::Cloud::Container::V1beta1::GPUDirectConfig::GPUDirectStrategy]
7126
+ # The type of GPU direct strategy to enable on the node pool.
7127
+ class GPUDirectConfig
7128
+ include ::Google::Protobuf::MessageExts
7129
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7130
+
7131
+ # Option for GPU direct Strategies
7132
+ module GPUDirectStrategy
7133
+ # Default value. No GPU Direct strategy is enabled on the node.
7134
+ GPU_DIRECT_STRATEGY_UNSPECIFIED = 0
7135
+
7136
+ # GPUDirect-RDMA on A3 Ultra, and A4 machine types
7137
+ RDMA = 2
7138
+ end
7139
+ end
7140
+
6839
7141
  # GetOpenIDConfigRequest gets the OIDC discovery document for the
6840
7142
  # cluster. See the OpenID Connect Discovery 1.0 specification for details.
6841
7143
  # @!attribute [rw] parent
@@ -7067,11 +7369,42 @@ module Google
7067
7369
  end
7068
7370
 
7069
7371
  # Master is the configuration for components on master.
7372
+ # @!attribute [r] compatibility_status
7373
+ # @return [::Google::Cloud::Container::V1beta1::CompatibilityStatus]
7374
+ # Output only. The compatibility status of the control plane.
7375
+ # It should be empty if the cluster does not have emulated version.
7070
7376
  class Master
7071
7377
  include ::Google::Protobuf::MessageExts
7072
7378
  extend ::Google::Protobuf::MessageExts::ClassMethods
7073
7379
  end
7074
7380
 
7381
+ # CompatibilityStatus is the status regarding the control plane's
7382
+ # compatibility.
7383
+ # @!attribute [r] downgradable_version
7384
+ # @return [::String]
7385
+ # Output only. The GKE version that the cluster can be safely downgraded to
7386
+ # if the cluster is emulating the previous minor version. It is usually the
7387
+ # cluster's previous version before a minor version upgrade.
7388
+ # @!attribute [r] emulated_version_time
7389
+ # @return [::Google::Protobuf::Timestamp]
7390
+ # Output only. Last time the control plane became available after a minor
7391
+ # version binary upgrade with emulated version set. It indicates the last
7392
+ # time the cluster entered the rollback safe mode.
7393
+ class CompatibilityStatus
7394
+ include ::Google::Protobuf::MessageExts
7395
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7396
+ end
7397
+
7398
+ # RollbackSafeUpgrade is the configuration for the rollback safe upgrade.
7399
+ # @!attribute [rw] control_plane_soak_duration
7400
+ # @return [::Google::Protobuf::Duration]
7401
+ # A user-defined period for the cluster remains in the rollbackable state.
7402
+ # ex: \\{seconds: 21600}.
7403
+ class RollbackSafeUpgrade
7404
+ include ::Google::Protobuf::MessageExts
7405
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7406
+ end
7407
+
7075
7408
  # AutopilotConversionStatus represents conversion status.
7076
7409
  # @!attribute [r] state
7077
7410
  # @return [::Google::Cloud::Container::V1beta1::AutopilotConversionStatus::State]
@@ -7306,6 +7639,10 @@ module Google
7306
7639
  # @!attribute [rw] event_type
7307
7640
  # @return [::Google::Cloud::Container::V1beta1::UpgradeInfoEvent::EventType]
7308
7641
  # The type of the event.
7642
+ # @!attribute [rw] disruption_event
7643
+ # @return [::Google::Cloud::Container::V1beta1::DisruptionEvent]
7644
+ # The information about the disruption event. This field is only populated
7645
+ # when event_type is DISRUPTION_EVENT.
7309
7646
  class UpgradeInfoEvent
7310
7647
  include ::Google::Protobuf::MessageExts
7311
7648
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -7344,6 +7681,59 @@ module Google
7344
7681
 
7345
7682
  # UPGRADE_LIFECYCLE indicates the event is about the upgrade lifecycle.
7346
7683
  UPGRADE_LIFECYCLE = 3
7684
+
7685
+ # DISRUPTION_EVENT indicates the event is about the disruption.
7686
+ DISRUPTION_EVENT = 4
7687
+ end
7688
+ end
7689
+
7690
+ # DisruptionEvent is a notification sent to customers about the disruption
7691
+ # event of a resource.
7692
+ # @!attribute [rw] disruption_type
7693
+ # @return [::Google::Cloud::Container::V1beta1::DisruptionEvent::DisruptionType]
7694
+ # The type of the disruption event.
7695
+ # @!attribute [rw] pdb_blocked_node
7696
+ # @return [::String]
7697
+ # The node whose drain is blocked by PDB. This field is set for both
7698
+ # POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event.
7699
+ # @!attribute [rw] pdb_blocked_pod
7700
+ # @return [::Array<::Google::Cloud::Container::V1beta1::DisruptionEvent::PdbBlockedPod>]
7701
+ # The pods whose evictions are blocked by PDB. This field is set for
7702
+ # both POD_PDB_VIOLATION and POD_NOT_ENOUGH_PDB event.
7703
+ # @!attribute [rw] pdb_violation_timeout
7704
+ # @return [::Google::Protobuf::Duration]
7705
+ # The timeout in seconds for which the node drain is blocked by PDB.
7706
+ # After this timeout, pods are forcefully evicted.
7707
+ # This field is only populated when event_type is
7708
+ # POD_PDB_VIOLATION.
7709
+ class DisruptionEvent
7710
+ include ::Google::Protobuf::MessageExts
7711
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7712
+
7713
+ # The namespace/name of the pod whose eviction is blocked by PDB.
7714
+ # @!attribute [rw] namespace
7715
+ # @return [::String]
7716
+ # The namespace of the pod.
7717
+ # @!attribute [rw] name
7718
+ # @return [::String]
7719
+ # The name of the pod.
7720
+ class PdbBlockedPod
7721
+ include ::Google::Protobuf::MessageExts
7722
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7723
+ end
7724
+
7725
+ # The type of the disruption event.
7726
+ module DisruptionType
7727
+ # DISRUPTION_TYPE_UNSPECIFIED indicates the disruption type is unspecified.
7728
+ DISRUPTION_TYPE_UNSPECIFIED = 0
7729
+
7730
+ # POD_NOT_ENOUGH_PDB indicates there are still running pods
7731
+ # on the node during node drain because their evictions are blocked by PDB.
7732
+ POD_NOT_ENOUGH_PDB = 1
7733
+
7734
+ # POD_PDB_VIOLATION indicates that there are force pod
7735
+ # evictions during node drain which violate the PDB.
7736
+ POD_PDB_VIOLATION = 2
7347
7737
  end
7348
7738
  end
7349
7739
 
@@ -7940,6 +8330,9 @@ module Google
7940
8330
  # @!attribute [rw] end_of_extended_support_timestamp
7941
8331
  # @return [::String]
7942
8332
  # The cluster's current minor version's end of extended support timestamp.
8333
+ # @!attribute [rw] rollback_safe_upgrade_status
8334
+ # @return [::Google::Cloud::Container::V1beta1::RollbackSafeUpgradeStatus]
8335
+ # The cluster's rollback-safe upgrade status.
7943
8336
  class ClusterUpgradeInfo
7944
8337
  include ::Google::Protobuf::MessageExts
7945
8338
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -7991,6 +8384,32 @@ module Google
7991
8384
  end
7992
8385
  end
7993
8386
 
8387
+ # RollbackSafeUpgradeStatus contains the rollback-safe upgrade status of a
8388
+ # cluster.
8389
+ # @!attribute [rw] mode
8390
+ # @return [::Google::Cloud::Container::V1beta1::RollbackSafeUpgradeStatus::Mode]
8391
+ # The mode of the rollback-safe upgrade.
8392
+ # @!attribute [rw] control_plane_upgrade_rollback_end_time
8393
+ # @return [::Google::Protobuf::Timestamp]
8394
+ # The rollback-safe mode expiration time.
8395
+ # @!attribute [rw] previous_version
8396
+ # @return [::String]
8397
+ # The GKE version that the cluster previously used before step-one upgrade.
8398
+ class RollbackSafeUpgradeStatus
8399
+ include ::Google::Protobuf::MessageExts
8400
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8401
+
8402
+ # Mode indicates the mode of the rollback-safe upgrade.
8403
+ module Mode
8404
+ # MODE_UNSPECIFIED means it's in regular upgrade mode.
8405
+ MODE_UNSPECIFIED = 0
8406
+
8407
+ # KCP_MINOR_UPGRADE_ROLLBACK_SAFE_MODE means it's in rollback-safe mode
8408
+ # after a KCP minor version step-one upgrade.
8409
+ KCP_MINOR_UPGRADE_ROLLBACK_SAFE_MODE = 1
8410
+ end
8411
+ end
8412
+
7994
8413
  # UpgradeDetails contains detailed information of each individual upgrade
7995
8414
  # operation.
7996
8415
  # @!attribute [r] state
@@ -8011,6 +8430,12 @@ module Google
8011
8430
  # @!attribute [rw] start_type
8012
8431
  # @return [::Google::Cloud::Container::V1beta1::UpgradeDetails::StartType]
8013
8432
  # The start type of the upgrade.
8433
+ # @!attribute [rw] initial_emulated_version
8434
+ # @return [::String]
8435
+ # The emulated version before the upgrade.
8436
+ # @!attribute [rw] target_emulated_version
8437
+ # @return [::String]
8438
+ # The emulated version after the upgrade.
8014
8439
  class UpgradeDetails
8015
8440
  include ::Google::Protobuf::MessageExts
8016
8441
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -8205,6 +8630,38 @@ module Google
8205
8630
  end
8206
8631
  end
8207
8632
 
8633
+ # ManagedOpenTelemetryConfig is the configuration for the GKE Managed
8634
+ # OpenTelemetry pipeline.
8635
+ # @!attribute [rw] scope
8636
+ # @return [::Google::Cloud::Container::V1beta1::ManagedOpenTelemetryConfig::Scope]
8637
+ # Scope of the Managed OpenTelemetry pipeline.
8638
+ class ManagedOpenTelemetryConfig
8639
+ include ::Google::Protobuf::MessageExts
8640
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8641
+
8642
+ # Scope is the scope of the Managed OpenTelemetry pipeline.
8643
+ module Scope
8644
+ # SCOPE_UNSPECIFIED is when the scope is not set.
8645
+ SCOPE_UNSPECIFIED = 0
8646
+
8647
+ # NONE is used to disable the Managed OpenTelemetry pipeline.
8648
+ NONE = 1
8649
+
8650
+ # COLLECTION_AND_INSTRUMENTATION_COMPONENTS is used to enable the Managed
8651
+ # OpenTelemetry pipeline for collection and instrumentation components.
8652
+ COLLECTION_AND_INSTRUMENTATION_COMPONENTS = 2
8653
+ end
8654
+ end
8655
+
8656
+ # PodSnapshotConfig is the configuration for GKE Pod Snapshots feature.
8657
+ # @!attribute [rw] enabled
8658
+ # @return [::Boolean]
8659
+ # Whether or not the Pod Snapshots feature is enabled.
8660
+ class PodSnapshotConfig
8661
+ include ::Google::Protobuf::MessageExts
8662
+ extend ::Google::Protobuf::MessageExts::ClassMethods
8663
+ end
8664
+
8208
8665
  # PrivateIPv6GoogleAccess controls whether and how the pods can communicate
8209
8666
  # with Google Services through gRPC over IPv6.
8210
8667
  module PrivateIPv6GoogleAccess
@@ -8246,6 +8703,11 @@ module Google
8246
8703
  # SURGE is the traditional way of upgrading a node pool.
8247
8704
  # max_surge and max_unavailable determines the level of upgrade parallelism.
8248
8705
  SURGE = 3
8706
+
8707
+ # SHORT_LIVED is the dedicated upgrade strategy for
8708
+ # QueuedProvisioning and flex start nodepools scaled up only by enqueueing to
8709
+ # the Dynamic Workload Scheduler (DWS).
8710
+ SHORT_LIVED = 5
8249
8711
  end
8250
8712
 
8251
8713
  # The datapath provider selects the implementation of the Kubernetes networking