google-cloud-container-v1beta1 0.9.0 → 0.10.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.
@@ -29,6 +29,8 @@ module Google
29
29
  #
30
30
  # The following parameters are supported.
31
31
  #
32
+ # net.core.busy_poll
33
+ # net.core.busy_read
32
34
  # net.core.netdev_max_backlog
33
35
  # net.core.rmem_max
34
36
  # net.core.wmem_default
@@ -38,6 +40,9 @@ module Google
38
40
  # net.ipv4.tcp_rmem
39
41
  # net.ipv4.tcp_wmem
40
42
  # net.ipv4.tcp_tw_reuse
43
+ # @!attribute [rw] cgroup_mode
44
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig::CgroupMode]
45
+ # cgroup_mode specifies the cgroup mode to be used on the node.
41
46
  class LinuxNodeConfig
42
47
  include ::Google::Protobuf::MessageExts
43
48
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -50,6 +55,21 @@ module Google
50
55
  include ::Google::Protobuf::MessageExts
51
56
  extend ::Google::Protobuf::MessageExts::ClassMethods
52
57
  end
58
+
59
+ # Possible cgroup modes that can be used.
60
+ module CgroupMode
61
+ # CGROUP_MODE_UNSPECIFIED is when unspecified cgroup configuration is used.
62
+ # The default for the GKE node OS image will be used.
63
+ CGROUP_MODE_UNSPECIFIED = 0
64
+
65
+ # CGROUP_MODE_V1 specifies to use cgroupv1 for the cgroup configuration on
66
+ # the node image.
67
+ CGROUP_MODE_V1 = 1
68
+
69
+ # CGROUP_MODE_V2 specifies to use cgroupv2 for the cgroup configuration on
70
+ # the node image.
71
+ CGROUP_MODE_V2 = 2
72
+ end
53
73
  end
54
74
 
55
75
  # Node kubelet configs.
@@ -85,12 +105,24 @@ module Google
85
105
  # fraction and a unit suffix, such as "300ms".
86
106
  # Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
87
107
  # The value must be a positive duration.
108
+ # @!attribute [rw] pod_pids_limit
109
+ # @return [::Integer]
110
+ # Set the Pod PID limits. See
111
+ # https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits
112
+ #
113
+ # Controls the maximum number of processes allowed to run in a pod. The value
114
+ # must be greater than or equal to 1024 and less than 4194304.
88
115
  class NodeKubeletConfig
89
116
  include ::Google::Protobuf::MessageExts
90
117
  extend ::Google::Protobuf::MessageExts::ClassMethods
91
118
  end
92
119
 
93
120
  # Parameters that describe the nodes in a cluster.
121
+ #
122
+ # GKE Autopilot clusters do not
123
+ # recognize parameters in `NodeConfig`. Use
124
+ # {::Google::Cloud::Container::V1beta1::AutoprovisioningNodePoolDefaults AutoprovisioningNodePoolDefaults}
125
+ # instead.
94
126
  # @!attribute [rw] machine_type
95
127
  # @return [::String]
96
128
  # The name of a Google Compute Engine [machine
@@ -134,6 +166,7 @@ module Google
134
166
  # in length. These are reflected as part of a URL in the metadata server.
135
167
  # Additionally, to avoid ambiguity, keys must not conflict with any other
136
168
  # metadata keys for the project or be one of the reserved keys:
169
+ #
137
170
  # - "cluster-location"
138
171
  # - "cluster-name"
139
172
  # - "cluster-uid"
@@ -270,6 +303,10 @@ module Google
270
303
  # @return [::Boolean]
271
304
  # Spot flag for enabling Spot VM, which is a rebrand of
272
305
  # the existing preemptible flag.
306
+ # @!attribute [rw] confidential_nodes
307
+ # @return [::Google::Cloud::Container::V1beta1::ConfidentialNodes]
308
+ # Confidential nodes config.
309
+ # All the nodes in the node pool will be Confidential VM once enabled.
273
310
  class NodeConfig
274
311
  include ::Google::Protobuf::MessageExts
275
312
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -346,9 +383,34 @@ module Google
346
383
  # Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
347
384
  #
348
385
  # This field cannot be changed after the node pool has been created.
386
+ # @!attribute [rw] network_performance_config
387
+ # @return [::Google::Cloud::Container::V1beta1::NodeNetworkConfig::NetworkPerformanceConfig]
388
+ # Network bandwidth tier configuration.
349
389
  class NodeNetworkConfig
350
390
  include ::Google::Protobuf::MessageExts
351
391
  extend ::Google::Protobuf::MessageExts::ClassMethods
392
+
393
+ # Configuration of all network bandwidth tiers
394
+ # @!attribute [rw] total_egress_bandwidth_tier
395
+ # @return [::Google::Cloud::Container::V1beta1::NodeNetworkConfig::NetworkPerformanceConfig::Tier]
396
+ # Specifies the total network bandwidth tier for the NodePool.
397
+ # @!attribute [rw] external_ip_egress_bandwidth_tier
398
+ # @return [::Google::Cloud::Container::V1beta1::NodeNetworkConfig::NetworkPerformanceConfig::Tier]
399
+ # Specifies the network bandwidth tier for the NodePool for traffic to
400
+ # external/public IP addresses.
401
+ class NetworkPerformanceConfig
402
+ include ::Google::Protobuf::MessageExts
403
+ extend ::Google::Protobuf::MessageExts::ClassMethods
404
+
405
+ # Node network tier
406
+ module Tier
407
+ # Default value
408
+ TIER_UNSPECIFIED = 0
409
+
410
+ # Higher bandwidth, actual values based on VM size.
411
+ TIER_1 = 1
412
+ end
413
+ end
352
414
  end
353
415
 
354
416
  # A set of Shielded Instance options.
@@ -1014,19 +1076,74 @@ module Google
1014
1076
  # This is used in conjunction with use_ip_aliases. It cannot be true if
1015
1077
  # use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
1016
1078
  # then the server picks the default IP allocation mode
1079
+ # @!attribute [rw] stack_type
1080
+ # @return [::Google::Cloud::Container::V1beta1::IPAllocationPolicy::StackType]
1081
+ # IP stack type
1082
+ # @!attribute [rw] ipv6_access_type
1083
+ # @return [::Google::Cloud::Container::V1beta1::IPAllocationPolicy::IPv6AccessType]
1084
+ # The ipv6 access type (internal or external) when create_subnetwork is true
1085
+ # @!attribute [r] subnet_ipv6_cidr_block
1086
+ # @return [::String]
1087
+ # Output only. [Output only] The subnet's IPv6 CIDR block used by nodes and pods.
1088
+ # @!attribute [r] services_ipv6_cidr_block
1089
+ # @return [::String]
1090
+ # Output only. [Output only] The services IPv6 CIDR block for the cluster.
1017
1091
  class IPAllocationPolicy
1018
1092
  include ::Google::Protobuf::MessageExts
1019
1093
  extend ::Google::Protobuf::MessageExts::ClassMethods
1094
+
1095
+ # IP stack type
1096
+ module StackType
1097
+ # By default, the clusters will be IPV4 only
1098
+ STACK_TYPE_UNSPECIFIED = 0
1099
+
1100
+ # The value used if the cluster is a IPV4 only
1101
+ IPV4 = 1
1102
+
1103
+ # The value used if the cluster is a dual stack cluster
1104
+ IPV4_IPV6 = 2
1105
+ end
1106
+
1107
+ # IPv6 access type
1108
+ module IPv6AccessType
1109
+ # Default value, will be defaulted as type external.
1110
+ IPV6_ACCESS_TYPE_UNSPECIFIED = 0
1111
+
1112
+ # Access type internal (all v6 addresses are internal IPs)
1113
+ INTERNAL = 1
1114
+
1115
+ # Access type external (all v6 addresses are external IPs)
1116
+ EXTERNAL = 2
1117
+ end
1020
1118
  end
1021
1119
 
1022
1120
  # Configuration for Binary Authorization.
1023
1121
  # @!attribute [rw] enabled
1024
1122
  # @return [::Boolean]
1025
1123
  # Enable Binary Authorization for this cluster. If enabled, all container
1026
- # images will be validated by Google Binauthz.
1124
+ # images will be validated by Binary Authorization.
1125
+ # @!attribute [rw] evaluation_mode
1126
+ # @return [::Google::Cloud::Container::V1beta1::BinaryAuthorization::EvaluationMode]
1127
+ # Mode of operation for binauthz policy evaluation. Currently the only
1128
+ # options are equivalent to enable/disable. If unspecified, defaults to
1129
+ # DISABLED.
1027
1130
  class BinaryAuthorization
1028
1131
  include ::Google::Protobuf::MessageExts
1029
1132
  extend ::Google::Protobuf::MessageExts::ClassMethods
1133
+
1134
+ # Binary Authorization mode of operation.
1135
+ module EvaluationMode
1136
+ # Default value
1137
+ EVALUATION_MODE_UNSPECIFIED = 0
1138
+
1139
+ # Disable BinaryAuthorization
1140
+ DISABLED = 1
1141
+
1142
+ # Enforce Kubernetes admission requests with BinaryAuthorization using the
1143
+ # project's singleton policy. This is equivalent to setting the
1144
+ # enabled boolean to true.
1145
+ PROJECT_SINGLETON_POLICY_ENFORCE = 2
1146
+ end
1030
1147
  end
1031
1148
 
1032
1149
  # Configuration for the PodSecurityPolicy feature.
@@ -1280,6 +1397,12 @@ module Google
1280
1397
  # @return [::Google::Cloud::Container::V1beta1::MeshCertificates]
1281
1398
  # Configuration for issuance of mTLS keys and certificates to Kubernetes
1282
1399
  # pods.
1400
+ # @!attribute [rw] workload_alts_config
1401
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadALTSConfig]
1402
+ # Configuration for direct-path (via ALTS) with workload identity.
1403
+ # @!attribute [rw] cost_management_config
1404
+ # @return [::Google::Cloud::Container::V1beta1::CostManagementConfig]
1405
+ # Configuration for the fine-grained cost management feature.
1283
1406
  # @!attribute [rw] cluster_telemetry
1284
1407
  # @return [::Google::Cloud::Container::V1beta1::ClusterTelemetry]
1285
1408
  # Telemetry integration for the cluster.
@@ -1291,7 +1414,8 @@ module Google
1291
1414
  # Notification configuration of the cluster.
1292
1415
  # @!attribute [rw] confidential_nodes
1293
1416
  # @return [::Google::Cloud::Container::V1beta1::ConfidentialNodes]
1294
- # Configuration of Confidential Nodes
1417
+ # Configuration of Confidential Nodes.
1418
+ # All the nodes in the cluster will be Confidential VM once enabled.
1295
1419
  # @!attribute [rw] identity_service_config
1296
1420
  # @return [::Google::Cloud::Container::V1beta1::IdentityServiceConfig]
1297
1421
  # Configuration for Identity Service component.
@@ -1413,6 +1537,13 @@ module Google
1413
1537
  # @!attribute [rw] monitoring_config
1414
1538
  # @return [::Google::Cloud::Container::V1beta1::MonitoringConfig]
1415
1539
  # Monitoring configuration for the cluster.
1540
+ # @!attribute [rw] node_pool_auto_config
1541
+ # @return [::Google::Cloud::Container::V1beta1::NodePoolAutoConfig]
1542
+ # Node pool configs that apply to all auto-provisioned node pools
1543
+ # in autopilot clusters and node auto-provisioning enabled clusters.
1544
+ # @!attribute [rw] protect_config
1545
+ # @return [::Google::Cloud::Container::V1beta1::ProtectConfig]
1546
+ # Enable/Disable Protect API features for the cluster.
1416
1547
  class Cluster
1417
1548
  include ::Google::Protobuf::MessageExts
1418
1549
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1456,6 +1587,48 @@ module Google
1456
1587
  end
1457
1588
  end
1458
1589
 
1590
+ # WorkloadConfig defines the flags to enable or disable the
1591
+ # workload configurations for the cluster.
1592
+ # @!attribute [rw] audit_mode
1593
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadConfig::Mode]
1594
+ # Sets which mode of auditing should be used for the cluster's workloads.
1595
+ class WorkloadConfig
1596
+ include ::Google::Protobuf::MessageExts
1597
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1598
+
1599
+ # Mode defines how to audit the workload configs.
1600
+ module Mode
1601
+ # Default value meaning that no mode has been specified.
1602
+ MODE_UNSPECIFIED = 0
1603
+
1604
+ # This disables Workload Configuration auditing on the cluster,
1605
+ # meaning that nothing is surfaced.
1606
+ DISABLED = 1
1607
+
1608
+ # Applies the default set of policy auditing to a cluster's workloads.
1609
+ BASIC = 4
1610
+
1611
+ # Surfaces configurations that are not in line with the
1612
+ # Pod Security Standard Baseline policy.
1613
+ BASELINE = 2
1614
+
1615
+ # Surfaces configurations that are not in line with the
1616
+ # Pod Security Standard Restricted policy.
1617
+ RESTRICTED = 3
1618
+ end
1619
+ end
1620
+
1621
+ # ProtectConfig defines the flags needed to enable/disable features for the
1622
+ # Protect API.
1623
+ # @!attribute [rw] workload_config
1624
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadConfig]
1625
+ # WorkloadConfig defines which actions are enabled for a cluster's workload
1626
+ # configurations.
1627
+ class ProtectConfig
1628
+ include ::Google::Protobuf::MessageExts
1629
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1630
+ end
1631
+
1459
1632
  # Subset of Nodepool message that has defaults.
1460
1633
  # @!attribute [rw] node_config_defaults
1461
1634
  # @return [::Google::Cloud::Container::V1beta1::NodeConfigDefaults]
@@ -1468,12 +1641,25 @@ module Google
1468
1641
  # Subset of NodeConfig message that has defaults.
1469
1642
  # @!attribute [rw] gcfs_config
1470
1643
  # @return [::Google::Cloud::Container::V1beta1::GcfsConfig]
1471
- # GCFS (Google Container File System, a.k.a Riptide) options.
1644
+ # GCFS (Google Container File System, a.k.a. Riptide) options.
1472
1645
  class NodeConfigDefaults
1473
1646
  include ::Google::Protobuf::MessageExts
1474
1647
  extend ::Google::Protobuf::MessageExts::ClassMethods
1475
1648
  end
1476
1649
 
1650
+ # node pool configs that apply to all auto-provisioned node pools
1651
+ # in autopilot clusters and node auto-provisioning enabled clusters
1652
+ # @!attribute [rw] network_tags
1653
+ # @return [::Google::Cloud::Container::V1beta1::NetworkTags]
1654
+ # The list of instance tags applied to all nodes. Tags are used to identify
1655
+ # valid sources or targets for network firewalls and are specified by
1656
+ # the client during cluster creation. Each tag within the list
1657
+ # must comply with RFC1035.
1658
+ class NodePoolAutoConfig
1659
+ include ::Google::Protobuf::MessageExts
1660
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1661
+ end
1662
+
1477
1663
  # ClusterUpdate describes an update to the cluster. Exactly one update can
1478
1664
  # be applied to a cluster with each request, so at most one field can be
1479
1665
  # provided.
@@ -1623,9 +1809,15 @@ module Google
1623
1809
  # @return [::Google::Cloud::Container::V1beta1::MeshCertificates]
1624
1810
  # Configuration for issuance of mTLS keys and certificates to Kubernetes
1625
1811
  # pods.
1812
+ # @!attribute [rw] desired_workload_alts_config
1813
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadALTSConfig]
1814
+ # Configuration for direct-path (via ALTS) with workload identity.
1626
1815
  # @!attribute [rw] desired_shielded_nodes
1627
1816
  # @return [::Google::Cloud::Container::V1beta1::ShieldedNodes]
1628
1817
  # Configuration for Shielded Nodes.
1818
+ # @!attribute [rw] desired_cost_management_config
1819
+ # @return [::Google::Cloud::Container::V1beta1::CostManagementConfig]
1820
+ # The desired configuration for the fine-grained cost management feature.
1629
1821
  # @!attribute [rw] desired_master
1630
1822
  # @return [::Google::Cloud::Container::V1beta1::Master]
1631
1823
  # Configuration for master components.
@@ -1649,6 +1841,13 @@ module Google
1649
1841
  # @!attribute [rw] desired_identity_service_config
1650
1842
  # @return [::Google::Cloud::Container::V1beta1::IdentityServiceConfig]
1651
1843
  # The desired Identity Service component configuration.
1844
+ # @!attribute [rw] desired_node_pool_auto_config_network_tags
1845
+ # @return [::Google::Cloud::Container::V1beta1::NetworkTags]
1846
+ # The desired network tags that apply to all auto-provisioned node pools
1847
+ # in autopilot clusters and node auto-provisioning enabled clusters.
1848
+ # @!attribute [rw] desired_protect_config
1849
+ # @return [::Google::Cloud::Container::V1beta1::ProtectConfig]
1850
+ # Enable/Disable Protect API features for the cluster.
1652
1851
  class ClusterUpdate
1653
1852
  include ::Google::Protobuf::MessageExts
1654
1853
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1836,7 +2035,7 @@ module Google
1836
2035
  # @!attribute [rw] project_id
1837
2036
  # @return [::String]
1838
2037
  # Required. Deprecated. The Google Developers Console [project ID or project
1839
- # number](https://support.google.com/cloud/answer/6158840).
2038
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1840
2039
  # This field has been deprecated and replaced by the parent field.
1841
2040
  # @!attribute [rw] zone
1842
2041
  # @return [::String]
@@ -1861,7 +2060,7 @@ module Google
1861
2060
  # @!attribute [rw] project_id
1862
2061
  # @return [::String]
1863
2062
  # Required. Deprecated. The Google Developers Console [project ID or project
1864
- # number](https://support.google.com/cloud/answer/6158840).
2063
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1865
2064
  # This field has been deprecated and replaced by the name field.
1866
2065
  # @!attribute [rw] zone
1867
2066
  # @return [::String]
@@ -1886,7 +2085,7 @@ module Google
1886
2085
  # @!attribute [rw] project_id
1887
2086
  # @return [::String]
1888
2087
  # Required. Deprecated. The Google Developers Console [project ID or project
1889
- # number](https://support.google.com/cloud/answer/6158840).
2088
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1890
2089
  # This field has been deprecated and replaced by the name field.
1891
2090
  # @!attribute [rw] zone
1892
2091
  # @return [::String]
@@ -1914,7 +2113,7 @@ module Google
1914
2113
  # @!attribute [rw] project_id
1915
2114
  # @return [::String]
1916
2115
  # Required. Deprecated. The Google Developers Console [project ID or project
1917
- # number](https://support.google.com/cloud/answer/6158840).
2116
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1918
2117
  # This field has been deprecated and replaced by the name field.
1919
2118
  # @!attribute [rw] zone
1920
2119
  # @return [::String]
@@ -1985,9 +2184,16 @@ module Google
1985
2184
  # @!attribute [rw] kubelet_config
1986
2185
  # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
1987
2186
  # Node kubelet configs.
2187
+ # @!attribute [rw] node_network_config
2188
+ # @return [::Google::Cloud::Container::V1beta1::NodeNetworkConfig]
2189
+ # Node network config.
1988
2190
  # @!attribute [rw] gcfs_config
1989
2191
  # @return [::Google::Cloud::Container::V1beta1::GcfsConfig]
1990
2192
  # GCFS config.
2193
+ # @!attribute [rw] confidential_nodes
2194
+ # @return [::Google::Cloud::Container::V1beta1::ConfidentialNodes]
2195
+ # Confidential nodes config.
2196
+ # All the nodes in the node pool will be Confidential VM once enabled.
1991
2197
  # @!attribute [rw] gvnic
1992
2198
  # @return [::Google::Cloud::Container::V1beta1::VirtualNIC]
1993
2199
  # Enable or disable gvnic on the node pool.
@@ -2000,7 +2206,7 @@ module Google
2000
2206
  # @!attribute [rw] project_id
2001
2207
  # @return [::String]
2002
2208
  # Required. Deprecated. The Google Developers Console [project ID or project
2003
- # number](https://support.google.com/cloud/answer/6158840).
2209
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2004
2210
  # This field has been deprecated and replaced by the name field.
2005
2211
  # @!attribute [rw] zone
2006
2212
  # @return [::String]
@@ -2033,7 +2239,7 @@ module Google
2033
2239
  # @!attribute [rw] project_id
2034
2240
  # @return [::String]
2035
2241
  # Required. Deprecated. The Google Developers Console [project ID or project
2036
- # number](https://support.google.com/cloud/answer/6158840).
2242
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2037
2243
  # This field has been deprecated and replaced by the name field.
2038
2244
  # @!attribute [rw] zone
2039
2245
  # @return [::String]
@@ -2071,7 +2277,7 @@ module Google
2071
2277
  # @!attribute [rw] project_id
2072
2278
  # @return [::String]
2073
2279
  # Required. Deprecated. The Google Developers Console [project ID or project
2074
- # number](https://support.google.com/cloud/answer/6158840).
2280
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2075
2281
  # This field has been deprecated and replaced by the name field.
2076
2282
  # @!attribute [rw] zone
2077
2283
  # @return [::String]
@@ -2109,7 +2315,7 @@ module Google
2109
2315
  # @!attribute [rw] project_id
2110
2316
  # @return [::String]
2111
2317
  # Required. Deprecated. The Google Developers Console [project ID or project
2112
- # number](https://support.google.com/cloud/answer/6158840).
2318
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2113
2319
  # This field has been deprecated and replaced by the name field.
2114
2320
  # @!attribute [rw] zone
2115
2321
  # @return [::String]
@@ -2138,7 +2344,7 @@ module Google
2138
2344
  # @!attribute [rw] project_id
2139
2345
  # @return [::String]
2140
2346
  # Required. Deprecated. The Google Developers Console [project ID or project
2141
- # number](https://support.google.com/cloud/answer/6158840).
2347
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2142
2348
  # This field has been deprecated and replaced by the name field.
2143
2349
  # @!attribute [rw] zone
2144
2350
  # @return [::String]
@@ -2172,7 +2378,7 @@ module Google
2172
2378
  # @!attribute [rw] project_id
2173
2379
  # @return [::String]
2174
2380
  # Required. Deprecated. The Google Developers Console [project ID or project
2175
- # number](https://support.google.com/cloud/answer/6158840).
2381
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2176
2382
  # This field has been deprecated and replaced by the name field.
2177
2383
  # @!attribute [rw] zone
2178
2384
  # @return [::String]
@@ -2209,7 +2415,7 @@ module Google
2209
2415
  # @!attribute [rw] project_id
2210
2416
  # @return [::String]
2211
2417
  # Required. Deprecated. The Google Developers Console [project ID or project
2212
- # number](https://support.google.com/cloud/answer/6158840).
2418
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2213
2419
  # This field has been deprecated and replaced by the name field.
2214
2420
  # @!attribute [rw] zone
2215
2421
  # @return [::String]
@@ -2258,7 +2464,7 @@ module Google
2258
2464
  # @!attribute [rw] project_id
2259
2465
  # @return [::String]
2260
2466
  # Required. Deprecated. The Google Developers Console [project ID or project
2261
- # number](https://support.google.com/cloud/answer/6158840).
2467
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2262
2468
  # This field has been deprecated and replaced by the name field.
2263
2469
  # @!attribute [rw] zone
2264
2470
  # @return [::String]
@@ -2283,7 +2489,7 @@ module Google
2283
2489
  # @!attribute [rw] project_id
2284
2490
  # @return [::String]
2285
2491
  # Required. Deprecated. The Google Developers Console [project ID or project
2286
- # number](https://support.google.com/cloud/answer/6158840).
2492
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2287
2493
  # This field has been deprecated and replaced by the parent field.
2288
2494
  # @!attribute [rw] zone
2289
2495
  # @return [::String]
@@ -2319,7 +2525,7 @@ module Google
2319
2525
  # @!attribute [rw] project_id
2320
2526
  # @return [::String]
2321
2527
  # Required. Deprecated. The Google Developers Console [project ID or project
2322
- # number](https://support.google.com/cloud/answer/6158840).
2528
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2323
2529
  # This field has been deprecated and replaced by the name field.
2324
2530
  # @!attribute [rw] zone
2325
2531
  # @return [::String]
@@ -2344,7 +2550,7 @@ module Google
2344
2550
  # @!attribute [rw] project_id
2345
2551
  # @return [::String]
2346
2552
  # Required. Deprecated. The Google Developers Console [project ID or project
2347
- # number](https://support.google.com/cloud/answer/6158840).
2553
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2348
2554
  # This field has been deprecated and replaced by the parent field.
2349
2555
  # @!attribute [rw] zone
2350
2556
  # @return [::String]
@@ -2366,7 +2572,7 @@ module Google
2366
2572
  # @!attribute [rw] project_id
2367
2573
  # @return [::String]
2368
2574
  # Required. Deprecated. The Google Developers Console [project ID or project
2369
- # number](https://support.google.com/cloud/answer/6158840).
2575
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2370
2576
  # This field has been deprecated and replaced by the name field.
2371
2577
  # @!attribute [rw] zone
2372
2578
  # @return [::String]
@@ -2404,7 +2610,7 @@ module Google
2404
2610
  # @!attribute [rw] project_id
2405
2611
  # @return [::String]
2406
2612
  # Required. Deprecated. The Google Developers Console [project ID or project
2407
- # number](https://support.google.com/cloud/answer/6158840).
2613
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2408
2614
  # This field has been deprecated and replaced by the name field.
2409
2615
  # @!attribute [rw] zone
2410
2616
  # @return [::String]
@@ -2517,7 +2723,7 @@ module Google
2517
2723
  # @!attribute [rw] project_id
2518
2724
  # @return [::String]
2519
2725
  # Required. Deprecated. The Google Developers Console [project ID or project
2520
- # number](https://developers.google.com/console/help/new/#projectnumber).
2726
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2521
2727
  # This field has been deprecated and replaced by the parent field.
2522
2728
  # @!attribute [rw] zone
2523
2729
  # @return [::String]
@@ -2534,7 +2740,7 @@ module Google
2534
2740
  # Required. The node pool to create.
2535
2741
  # @!attribute [rw] parent
2536
2742
  # @return [::String]
2537
- # The parent (project, location, cluster id) where the node pool will be
2743
+ # The parent (project, location, cluster name) where the node pool will be
2538
2744
  # created. Specified in the format
2539
2745
  # `projects/*/locations/*/clusters/*`.
2540
2746
  class CreateNodePoolRequest
@@ -2546,7 +2752,7 @@ module Google
2546
2752
  # @!attribute [rw] project_id
2547
2753
  # @return [::String]
2548
2754
  # Required. Deprecated. The Google Developers Console [project ID or project
2549
- # number](https://developers.google.com/console/help/new/#projectnumber).
2755
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2550
2756
  # This field has been deprecated and replaced by the name field.
2551
2757
  # @!attribute [rw] zone
2552
2758
  # @return [::String]
@@ -2576,7 +2782,7 @@ module Google
2576
2782
  # @!attribute [rw] project_id
2577
2783
  # @return [::String]
2578
2784
  # Required. Deprecated. The Google Developers Console [project ID or project
2579
- # number](https://developers.google.com/console/help/new/#projectnumber).
2785
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2580
2786
  # This field has been deprecated and replaced by the parent field.
2581
2787
  # @!attribute [rw] zone
2582
2788
  # @return [::String]
@@ -2590,7 +2796,7 @@ module Google
2590
2796
  # This field has been deprecated and replaced by the parent field.
2591
2797
  # @!attribute [rw] parent
2592
2798
  # @return [::String]
2593
- # The parent (project, location, cluster id) where the node pools will be
2799
+ # The parent (project, location, cluster name) where the node pools will be
2594
2800
  # listed. Specified in the format `projects/*/locations/*/clusters/*`.
2595
2801
  class ListNodePoolsRequest
2596
2802
  include ::Google::Protobuf::MessageExts
@@ -2601,7 +2807,7 @@ module Google
2601
2807
  # @!attribute [rw] project_id
2602
2808
  # @return [::String]
2603
2809
  # Required. Deprecated. The Google Developers Console [project ID or project
2604
- # number](https://developers.google.com/console/help/new/#projectnumber).
2810
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2605
2811
  # This field has been deprecated and replaced by the name field.
2606
2812
  # @!attribute [rw] zone
2607
2813
  # @return [::String]
@@ -2627,6 +2833,35 @@ module Google
2627
2833
  extend ::Google::Protobuf::MessageExts::ClassMethods
2628
2834
  end
2629
2835
 
2836
+ # Settings for blue-green upgrade.
2837
+ # @!attribute [rw] standard_rollout_policy
2838
+ # @return [::Google::Cloud::Container::V1beta1::BlueGreenSettings::StandardRolloutPolicy]
2839
+ # Standard policy for the blue-green upgrade.
2840
+ # @!attribute [rw] node_pool_soak_duration
2841
+ # @return [::Google::Protobuf::Duration]
2842
+ # Time needed after draining entire blue pool. After this period, blue pool
2843
+ # will be cleaned up.
2844
+ class BlueGreenSettings
2845
+ include ::Google::Protobuf::MessageExts
2846
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2847
+
2848
+ # Standard rollout policy is the default policy for blue-green.
2849
+ # @!attribute [rw] batch_percentage
2850
+ # @return [::Float]
2851
+ # Percentage of the bool pool nodes to drain in a batch.
2852
+ # The range of this field should be (0.0, 1.0].
2853
+ # @!attribute [rw] batch_node_count
2854
+ # @return [::Integer]
2855
+ # Number of blue nodes to drain in a batch.
2856
+ # @!attribute [rw] batch_soak_duration
2857
+ # @return [::Google::Protobuf::Duration]
2858
+ # Soak time after each batch gets drained. Default to zero.
2859
+ class StandardRolloutPolicy
2860
+ include ::Google::Protobuf::MessageExts
2861
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2862
+ end
2863
+ end
2864
+
2630
2865
  # NodePool contains the name and configuration for a cluster's node pool.
2631
2866
  # Node pools are a set of nodes (i.e. VM's), with a common configuration and
2632
2867
  # specification, under the control of the cluster master. They may have a set
@@ -2695,6 +2930,8 @@ module Google
2695
2930
  # [Output only] The resource URLs of the [managed instance
2696
2931
  # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
2697
2932
  # associated with this node pool.
2933
+ # During the node pool blue-green upgrade operation, the URLs contain both
2934
+ # blue and green resources.
2698
2935
  # @!attribute [rw] status
2699
2936
  # @return [::Google::Cloud::Container::V1beta1::NodePool::Status]
2700
2937
  # [Output only] The status of the nodes in this pool instance.
@@ -2726,10 +2963,36 @@ module Google
2726
2963
  # @!attribute [rw] placement_policy
2727
2964
  # @return [::Google::Cloud::Container::V1beta1::NodePool::PlacementPolicy]
2728
2965
  # Specifies the node placement policy.
2966
+ # @!attribute [r] update_info
2967
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::UpdateInfo]
2968
+ # Output only. [Output only] Update info contains relevant information during a node
2969
+ # pool update.
2729
2970
  class NodePool
2730
2971
  include ::Google::Protobuf::MessageExts
2731
2972
  extend ::Google::Protobuf::MessageExts::ClassMethods
2732
2973
 
2974
+ # These upgrade settings configure the upgrade strategy for the node pool.
2975
+ # Use strategy to switch between the strategies applied to the node pool.
2976
+ #
2977
+ # If the strategy is SURGE, use max_surge and max_unavailable to control
2978
+ # the level of parallelism and the level of disruption caused by upgrade.
2979
+ # 1. maxSurge controls the number of additional nodes that can be added to
2980
+ # the node pool temporarily for the time of the upgrade to increase the
2981
+ # number of available nodes.
2982
+ # 2. maxUnavailable controls the number of nodes that can be simultaneously
2983
+ # unavailable.
2984
+ # 3. (maxUnavailable + maxSurge) determines the level of parallelism (how
2985
+ # many nodes are being upgraded at the same time).
2986
+ #
2987
+ # If the strategy is BLUE_GREEN, use blue_green_settings to configure the
2988
+ # blue-green upgrade related settings.
2989
+ # 1. standard_rollout_policy is the default policy. The policy is used to
2990
+ # control the way blue pool gets drained. The draining is executed in the
2991
+ # batch mode. The batch size could be specified as either percentage of the
2992
+ # node pool size or the number of nodes. batch_soak_duration is the soak
2993
+ # time after each batch gets drained.
2994
+ # 2. node_pool_soak_duration is the soak time after all blue nodes are
2995
+ # drained. After this period, the blue pool nodes will be deleted.
2733
2996
  # @!attribute [rw] max_surge
2734
2997
  # @return [::Integer]
2735
2998
  # The maximum number of nodes that can be created beyond the current size
@@ -2739,11 +3002,80 @@ module Google
2739
3002
  # The maximum number of nodes that can be simultaneously unavailable during
2740
3003
  # the upgrade process. A node is considered available if its status is
2741
3004
  # Ready.
3005
+ # @!attribute [rw] strategy
3006
+ # @return [::Google::Cloud::Container::V1beta1::NodePoolUpdateStrategy]
3007
+ # Update strategy of the node pool.
3008
+ # @!attribute [rw] blue_green_settings
3009
+ # @return [::Google::Cloud::Container::V1beta1::BlueGreenSettings]
3010
+ # Settings for blue-green upgrade strategy.
2742
3011
  class UpgradeSettings
2743
3012
  include ::Google::Protobuf::MessageExts
2744
3013
  extend ::Google::Protobuf::MessageExts::ClassMethods
2745
3014
  end
2746
3015
 
3016
+ # UpdateInfo contains resource (instance groups, etc), status and other
3017
+ # intermediate information relevant to a node pool upgrade.
3018
+ # @!attribute [rw] blue_green_info
3019
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::UpdateInfo::BlueGreenInfo]
3020
+ # Information of a blue-green upgrade.
3021
+ class UpdateInfo
3022
+ include ::Google::Protobuf::MessageExts
3023
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3024
+
3025
+ # Information relevant to blue-green upgrade.
3026
+ # @!attribute [rw] phase
3027
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
3028
+ # Current blue-green upgrade phase.
3029
+ # @!attribute [rw] blue_instance_group_urls
3030
+ # @return [::Array<::String>]
3031
+ # The resource URLs of the [managed instance groups]
3032
+ # (/compute/docs/instance-groups/creating-groups-of-managed-instances)
3033
+ # associated with blue pool.
3034
+ # @!attribute [rw] green_instance_group_urls
3035
+ # @return [::Array<::String>]
3036
+ # The resource URLs of the [managed instance groups]
3037
+ # (/compute/docs/instance-groups/creating-groups-of-managed-instances)
3038
+ # associated with green pool.
3039
+ # @!attribute [rw] blue_pool_deletion_start_time
3040
+ # @return [::String]
3041
+ # Time to start deleting blue pool to complete blue-green upgrade,
3042
+ # in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3043
+ # @!attribute [rw] green_pool_version
3044
+ # @return [::String]
3045
+ # Version of green pool.
3046
+ class BlueGreenInfo
3047
+ include ::Google::Protobuf::MessageExts
3048
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3049
+
3050
+ # Phase represents the different stages blue-green upgrade is running in.
3051
+ module Phase
3052
+ # Unspecified phase.
3053
+ PHASE_UNSPECIFIED = 0
3054
+
3055
+ # blue-green upgrade has been initiated.
3056
+ UPDATE_STARTED = 1
3057
+
3058
+ # Start creating green pool nodes.
3059
+ CREATING_GREEN_POOL = 2
3060
+
3061
+ # Start cordoning blue pool nodes.
3062
+ CORDONING_BLUE_POOL = 3
3063
+
3064
+ # Start draining blue pool nodes.
3065
+ DRAINING_BLUE_POOL = 4
3066
+
3067
+ # Start soaking time after draining entire blue pool.
3068
+ NODE_POOL_SOAKING = 5
3069
+
3070
+ # Start deleting blue nodes.
3071
+ DELETING_BLUE_POOL = 6
3072
+
3073
+ # Rollback has been initiated.
3074
+ ROLLBACK_STARTED = 7
3075
+ end
3076
+ end
3077
+ end
3078
+
2747
3079
  # PlacementPolicy defines the placement policy used by the node pool.
2748
3080
  # @!attribute [rw] type
2749
3081
  # @return [::Google::Cloud::Container::V1beta1::NodePool::PlacementPolicy::Type]
@@ -2977,7 +3309,7 @@ module Google
2977
3309
  # @!attribute [rw] project_id
2978
3310
  # @return [::String]
2979
3311
  # Required. Deprecated. The Google Developers Console [project ID or project
2980
- # number](https://support.google.com/cloud/answer/6158840).
3312
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2981
3313
  # This field has been deprecated and replaced by the name field.
2982
3314
  # @!attribute [rw] zone
2983
3315
  # @return [::String]
@@ -3010,7 +3342,7 @@ module Google
3010
3342
  # @!attribute [rw] project_id
3011
3343
  # @return [::String]
3012
3344
  # Required. Deprecated. The Google Developers Console [project ID or project
3013
- # number](https://support.google.com/cloud/answer/6158840).
3345
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3014
3346
  # This field has been deprecated and replaced by the name field.
3015
3347
  # @!attribute [rw] zone
3016
3348
  # @return [::String]
@@ -3039,13 +3371,25 @@ module Google
3039
3371
  extend ::Google::Protobuf::MessageExts::ClassMethods
3040
3372
  end
3041
3373
 
3374
+ # CompleteNodePoolUpgradeRequest sets the name of target node pool to complete
3375
+ # upgrade.
3376
+ # @!attribute [rw] name
3377
+ # @return [::String]
3378
+ # The name (project, location, cluster, node pool id) of the node pool to
3379
+ # complete upgrade.
3380
+ # Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
3381
+ class CompleteNodePoolUpgradeRequest
3382
+ include ::Google::Protobuf::MessageExts
3383
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3384
+ end
3385
+
3042
3386
  # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
3043
3387
  # NodePool upgrade. This will be an no-op if the last upgrade successfully
3044
3388
  # completed.
3045
3389
  # @!attribute [rw] project_id
3046
3390
  # @return [::String]
3047
3391
  # Required. Deprecated. The Google Developers Console [project ID or project
3048
- # number](https://support.google.com/cloud/answer/6158840).
3392
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3049
3393
  # This field has been deprecated and replaced by the name field.
3050
3394
  # @!attribute [rw] zone
3051
3395
  # @return [::String]
@@ -3066,6 +3410,10 @@ module Google
3066
3410
  # The name (project, location, cluster, node pool id) of the node poll to
3067
3411
  # rollback upgrade.
3068
3412
  # Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
3413
+ # @!attribute [rw] respect_pdb
3414
+ # @return [::Boolean]
3415
+ # Option for rollback to ignore the PodDisruptionBudget.
3416
+ # Default value is false.
3069
3417
  class RollbackNodePoolUpgradeRequest
3070
3418
  include ::Google::Protobuf::MessageExts
3071
3419
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3152,13 +3500,15 @@ module Google
3152
3500
  # NodeManagement configuration for this NodePool.
3153
3501
  # @!attribute [rw] min_cpu_platform
3154
3502
  # @return [::String]
3155
- # Minimum CPU platform to be used by this instance. The instance may be
3156
- # scheduled on the specified or newer CPU platform. Applicable values are the
3157
- # friendly names of CPU platforms, such as
3158
- # `minCpuPlatform: "Intel Haswell"` or
3159
- # `minCpuPlatform: "Intel Sandy Bridge"`. For more
3503
+ # Deprecated. Minimum CPU platform to be used for NAP created node pools.
3504
+ # The instance may be scheduled on the specified or newer CPU platform.
3505
+ # Applicable values are the friendly names of CPU platforms, such as
3506
+ # minCpuPlatform: Intel Haswell or
3507
+ # minCpuPlatform: Intel Sandy Bridge. For more
3160
3508
  # information, read [how to specify min CPU
3161
3509
  # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
3510
+ # This field is deprecated, min_cpu_platform should be specified using
3511
+ # cloud.google.com/requested-min-cpu-platform label selector on the pod.
3162
3512
  # To unset the min cpu platform field pass "automatic"
3163
3513
  # as field value.
3164
3514
  # @!attribute [rw] disk_size_gb
@@ -3224,9 +3574,38 @@ module Google
3224
3574
  # @!attribute [rw] autoprovisioned
3225
3575
  # @return [::Boolean]
3226
3576
  # Can this node pool be deleted automatically.
3577
+ # @!attribute [rw] location_policy
3578
+ # @return [::Google::Cloud::Container::V1beta1::NodePoolAutoscaling::LocationPolicy]
3579
+ # Location policy used when scaling up a nodepool.
3580
+ # @!attribute [rw] total_min_node_count
3581
+ # @return [::Integer]
3582
+ # Minimum number of nodes in the node pool. Must be greater than 1 less than
3583
+ # total_max_node_count.
3584
+ # The total_*_node_count fields are mutually exclusive with the *_node_count
3585
+ # fields.
3586
+ # @!attribute [rw] total_max_node_count
3587
+ # @return [::Integer]
3588
+ # Maximum number of nodes in the node pool. Must be greater than
3589
+ # total_min_node_count. There has to be enough quota to scale up the cluster.
3590
+ # The total_*_node_count fields are mutually exclusive with the *_node_count
3591
+ # fields.
3227
3592
  class NodePoolAutoscaling
3228
3593
  include ::Google::Protobuf::MessageExts
3229
3594
  extend ::Google::Protobuf::MessageExts::ClassMethods
3595
+
3596
+ # Location policy specifies how zones are picked when scaling up the
3597
+ # nodepool.
3598
+ module LocationPolicy
3599
+ # Not set.
3600
+ LOCATION_POLICY_UNSPECIFIED = 0
3601
+
3602
+ # BALANCED is a best effort policy that aims to balance the sizes of
3603
+ # different zones.
3604
+ BALANCED = 1
3605
+
3606
+ # ANY policy picks zones that have the highest capacity available.
3607
+ ANY = 2
3608
+ end
3230
3609
  end
3231
3610
 
3232
3611
  # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
@@ -3235,7 +3614,7 @@ module Google
3235
3614
  # @!attribute [rw] project_id
3236
3615
  # @return [::String]
3237
3616
  # Required. Deprecated. The Google Developers Console [project ID or project
3238
- # number](https://developers.google.com/console/help/new/#projectnumber).
3617
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3239
3618
  # This field has been deprecated and replaced by the name field.
3240
3619
  # @!attribute [rw] zone
3241
3620
  # @return [::String]
@@ -3260,7 +3639,7 @@ module Google
3260
3639
  # resource to get the latest fingerprint.
3261
3640
  # @!attribute [rw] name
3262
3641
  # @return [::String]
3263
- # The name (project, location, cluster id) of the cluster to set labels.
3642
+ # The name (project, location, cluster name) of the cluster to set labels.
3264
3643
  # Specified in the format `projects/*/locations/*/clusters/*`.
3265
3644
  class SetLabelsRequest
3266
3645
  include ::Google::Protobuf::MessageExts
@@ -3281,7 +3660,7 @@ module Google
3281
3660
  # @!attribute [rw] project_id
3282
3661
  # @return [::String]
3283
3662
  # Required. Deprecated. The Google Developers Console [project ID or project
3284
- # number](https://support.google.com/cloud/answer/6158840).
3663
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3285
3664
  # This field has been deprecated and replaced by the name field.
3286
3665
  # @!attribute [rw] zone
3287
3666
  # @return [::String]
@@ -3298,8 +3677,8 @@ module Google
3298
3677
  # Required. Whether ABAC authorization will be enabled in the cluster.
3299
3678
  # @!attribute [rw] name
3300
3679
  # @return [::String]
3301
- # The name (project, location, cluster id) of the cluster to set legacy abac.
3302
- # Specified in the format `projects/*/locations/*/clusters/*`.
3680
+ # The name (project, location, cluster name) of the cluster to set legacy
3681
+ # abac. Specified in the format `projects/*/locations/*/clusters/*`.
3303
3682
  class SetLegacyAbacRequest
3304
3683
  include ::Google::Protobuf::MessageExts
3305
3684
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3310,7 +3689,7 @@ module Google
3310
3689
  # @!attribute [rw] project_id
3311
3690
  # @return [::String]
3312
3691
  # Required. Deprecated. The Google Developers Console [project ID or project
3313
- # number](https://developers.google.com/console/help/new/#projectnumber).
3692
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3314
3693
  # This field has been deprecated and replaced by the name field.
3315
3694
  # @!attribute [rw] zone
3316
3695
  # @return [::String]
@@ -3324,7 +3703,7 @@ module Google
3324
3703
  # This field has been deprecated and replaced by the name field.
3325
3704
  # @!attribute [rw] name
3326
3705
  # @return [::String]
3327
- # The name (project, location, cluster id) of the cluster to start IP
3706
+ # The name (project, location, cluster name) of the cluster to start IP
3328
3707
  # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
3329
3708
  # @!attribute [rw] rotate_credentials
3330
3709
  # @return [::Boolean]
@@ -3338,7 +3717,7 @@ module Google
3338
3717
  # @!attribute [rw] project_id
3339
3718
  # @return [::String]
3340
3719
  # Required. Deprecated. The Google Developers Console [project ID or project
3341
- # number](https://developers.google.com/console/help/new/#projectnumber).
3720
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3342
3721
  # This field has been deprecated and replaced by the name field.
3343
3722
  # @!attribute [rw] zone
3344
3723
  # @return [::String]
@@ -3352,7 +3731,7 @@ module Google
3352
3731
  # This field has been deprecated and replaced by the name field.
3353
3732
  # @!attribute [rw] name
3354
3733
  # @return [::String]
3355
- # The name (project, location, cluster id) of the cluster to complete IP
3734
+ # The name (project, location, cluster name) of the cluster to complete IP
3356
3735
  # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
3357
3736
  class CompleteIPRotationRequest
3358
3737
  include ::Google::Protobuf::MessageExts
@@ -3372,11 +3751,39 @@ module Google
3372
3751
  # Size of partitions to create on the GPU. Valid values are described in the
3373
3752
  # NVIDIA [mig user
3374
3753
  # guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
3754
+ # @!attribute [rw] max_time_shared_clients_per_gpu
3755
+ # @return [::Integer]
3756
+ # The number of time-shared GPU resources to expose for each physical GPU.
3757
+ # @!attribute [rw] gpu_sharing_config
3758
+ # @return [::Google::Cloud::Container::V1beta1::GPUSharingConfig]
3759
+ # The configuration for GPU sharing options.
3375
3760
  class AcceleratorConfig
3376
3761
  include ::Google::Protobuf::MessageExts
3377
3762
  extend ::Google::Protobuf::MessageExts::ClassMethods
3378
3763
  end
3379
3764
 
3765
+ # GPUSharingConfig represents the GPU sharing configuration for Hardware
3766
+ # Accelerators.
3767
+ # @!attribute [rw] max_shared_clients_per_gpu
3768
+ # @return [::Integer]
3769
+ # The max number of containers that can share a physical GPU.
3770
+ # @!attribute [rw] gpu_sharing_strategy
3771
+ # @return [::Google::Cloud::Container::V1beta1::GPUSharingConfig::GPUSharingStrategy]
3772
+ # The type of GPU sharing strategy to enable on the GPU node.
3773
+ class GPUSharingConfig
3774
+ include ::Google::Protobuf::MessageExts
3775
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3776
+
3777
+ # The type of GPU sharing strategy currently provided.
3778
+ module GPUSharingStrategy
3779
+ # Default value.
3780
+ GPU_SHARING_STRATEGY_UNSPECIFIED = 0
3781
+
3782
+ # GPUs are time-shared between containers.
3783
+ TIME_SHARING = 1
3784
+ end
3785
+ end
3786
+
3380
3787
  # ManagedPrometheusConfig defines the configuration for
3381
3788
  # Google Cloud Managed Service for Prometheus.
3382
3789
  # @!attribute [rw] enabled
@@ -3450,7 +3857,7 @@ module Google
3450
3857
  # @!attribute [rw] project_id
3451
3858
  # @return [::String]
3452
3859
  # Required. Deprecated. The Google Developers Console [project ID or project
3453
- # number](https://developers.google.com/console/help/new/#projectnumber).
3860
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3454
3861
  # This field has been deprecated and replaced by the name field.
3455
3862
  # @!attribute [rw] zone
3456
3863
  # @return [::String]
@@ -3467,7 +3874,7 @@ module Google
3467
3874
  # Required. Configuration options for the NetworkPolicy feature.
3468
3875
  # @!attribute [rw] name
3469
3876
  # @return [::String]
3470
- # The name (project, location, cluster id) of the cluster to set networking
3877
+ # The name (project, location, cluster name) of the cluster to set networking
3471
3878
  # policy. Specified in the format `projects/*/locations/*/clusters/*`.
3472
3879
  class SetNetworkPolicyRequest
3473
3880
  include ::Google::Protobuf::MessageExts
@@ -3478,7 +3885,7 @@ module Google
3478
3885
  # @!attribute [rw] project_id
3479
3886
  # @return [::String]
3480
3887
  # Required. The Google Developers Console [project ID or project
3481
- # number](https://support.google.com/cloud/answer/6158840).
3888
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3482
3889
  # @!attribute [rw] zone
3483
3890
  # @return [::String]
3484
3891
  # Required. The name of the Google Compute Engine
@@ -3493,8 +3900,8 @@ module Google
3493
3900
  # clears the existing maintenance policy.
3494
3901
  # @!attribute [rw] name
3495
3902
  # @return [::String]
3496
- # The name (project, location, cluster id) of the cluster to set maintenance
3497
- # policy.
3903
+ # The name (project, location, cluster name) of the cluster to set
3904
+ # maintenance policy.
3498
3905
  # Specified in the format `projects/*/locations/*/clusters/*`.
3499
3906
  class SetMaintenancePolicyRequest
3500
3907
  include ::Google::Protobuf::MessageExts
@@ -3871,6 +4278,20 @@ module Google
3871
4278
  extend ::Google::Protobuf::MessageExts::ClassMethods
3872
4279
  end
3873
4280
 
4281
+ # Configuration for direct-path (via ALTS) with workload identity.
4282
+ # @!attribute [rw] enable_alts
4283
+ # @return [::Google::Protobuf::BoolValue]
4284
+ # enable_alts controls whether the alts handshaker should be enabled or not
4285
+ # for direct-path.
4286
+ #
4287
+ # Requires Workload Identity
4288
+ # ({::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig#workload_pool workload_pool}
4289
+ # must be non-empty).
4290
+ class WorkloadALTSConfig
4291
+ include ::Google::Protobuf::MessageExts
4292
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4293
+ end
4294
+
3874
4295
  # Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
3875
4296
  # @!attribute [rw] enable_certificates
3876
4297
  # @return [::Google::Protobuf::BoolValue]
@@ -4030,7 +4451,7 @@ module Google
4030
4451
  # Discovery 1.0 specification for details.
4031
4452
  # @!attribute [rw] parent
4032
4453
  # @return [::String]
4033
- # The cluster (project, location, cluster id) to get keys for. Specified in
4454
+ # The cluster (project, location, cluster name) to get keys for. Specified in
4034
4455
  # the format `projects/*/locations/*/clusters/*`.
4035
4456
  class GetJSONWebKeysRequest
4036
4457
  include ::Google::Protobuf::MessageExts
@@ -4117,6 +4538,15 @@ module Google
4117
4538
  end
4118
4539
  end
4119
4540
 
4541
+ # Configuration for fine-grained cost management feature.
4542
+ # @!attribute [rw] enabled
4543
+ # @return [::Boolean]
4544
+ # Whether the feature is enabled or not.
4545
+ class CostManagementConfig
4546
+ include ::Google::Protobuf::MessageExts
4547
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4548
+ end
4549
+
4120
4550
  # Configuration for Cloud TPU.
4121
4551
  # @!attribute [rw] enabled
4122
4552
  # @return [::Boolean]
@@ -4206,8 +4636,7 @@ module Google
4206
4636
  # makes nodes run on confidential VMs.
4207
4637
  # @!attribute [rw] enabled
4208
4638
  # @return [::Boolean]
4209
- # Whether Confidential Nodes feature is enabled for all nodes in this
4210
- # cluster.
4639
+ # Whether Confidential Nodes feature is enabled.
4211
4640
  class ConfidentialNodes
4212
4641
  include ::Google::Protobuf::MessageExts
4213
4642
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4378,8 +4807,17 @@ module Google
4378
4807
  # system components
4379
4808
  SYSTEM_COMPONENTS = 1
4380
4809
 
4381
- # workloads
4810
+ # Deprecated: Use Google Cloud Managed Service for Prometheus.
4382
4811
  WORKLOADS = 2
4812
+
4813
+ # kube-apiserver
4814
+ APISERVER = 3
4815
+
4816
+ # kube-scheduler
4817
+ SCHEDULER = 4
4818
+
4819
+ # kube-controller-manager
4820
+ CONTROLLER_MANAGER = 5
4383
4821
  end
4384
4822
  end
4385
4823
 
@@ -4399,8 +4837,34 @@ module Google
4399
4837
  PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3
4400
4838
  end
4401
4839
 
4840
+ # UpgradeResourceType is the resource type that is upgrading. It is used
4841
+ # in upgrade notifications.
4842
+ module UpgradeResourceType
4843
+ # Default value. This shouldn't be used.
4844
+ UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0
4845
+
4846
+ # Master / control plane
4847
+ MASTER = 1
4848
+
4849
+ # Node pool
4850
+ NODE_POOL = 2
4851
+ end
4852
+
4853
+ # Strategy used for node pool update.
4854
+ module NodePoolUpdateStrategy
4855
+ # Default value.
4856
+ NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED = 0
4857
+
4858
+ # blue-green upgrade.
4859
+ BLUE_GREEN = 2
4860
+
4861
+ # SURGE is the traditional way of upgrading a node pool.
4862
+ # max_surge and max_unavailable determines the level of upgrade parallelism.
4863
+ SURGE = 3
4864
+ end
4865
+
4402
4866
  # The datapath provider selects the implementation of the Kubernetes networking
4403
- # // model for service resolution and network policy enforcement.
4867
+ # model for service resolution and network policy enforcement.
4404
4868
  module DatapathProvider
4405
4869
  # Default value.
4406
4870
  DATAPATH_PROVIDER_UNSPECIFIED = 0
@@ -4414,19 +4878,6 @@ module Google
4414
4878
  # for more.
4415
4879
  ADVANCED_DATAPATH = 2
4416
4880
  end
4417
-
4418
- # UpgradeResourceType is the resource type that is upgrading. It is used
4419
- # in upgrade notifications.
4420
- module UpgradeResourceType
4421
- # Default value. This shouldn't be used.
4422
- UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0
4423
-
4424
- # Master / control plane
4425
- MASTER = 1
4426
-
4427
- # Node pool
4428
- NODE_POOL = 2
4429
- end
4430
4881
  end
4431
4882
  end
4432
4883
  end