google-cloud-container-v1 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -85,12 +87,24 @@ module Google
85
87
  # fraction and a unit suffix, such as "300ms".
86
88
  # Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
87
89
  # The value must be a positive duration.
90
+ # @!attribute [rw] pod_pids_limit
91
+ # @return [::Integer]
92
+ # Set the Pod PID limits. See
93
+ # https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits
94
+ #
95
+ # Controls the maximum number of processes allowed to run in a pod. The value
96
+ # must be greater than or equal to 1024 and less than 4194304.
88
97
  class NodeKubeletConfig
89
98
  include ::Google::Protobuf::MessageExts
90
99
  extend ::Google::Protobuf::MessageExts::ClassMethods
91
100
  end
92
101
 
93
102
  # Parameters that describe the nodes in a cluster.
103
+ #
104
+ # GKE Autopilot clusters do not
105
+ # recognize parameters in `NodeConfig`. Use
106
+ # {::Google::Cloud::Container::V1::AutoprovisioningNodePoolDefaults AutoprovisioningNodePoolDefaults}
107
+ # instead.
94
108
  # @!attribute [rw] machine_type
95
109
  # @return [::String]
96
110
  # The name of a Google Compute Engine [machine
@@ -133,6 +147,7 @@ module Google
133
147
  # in length. These are reflected as part of a URL in the metadata server.
134
148
  # Additionally, to avoid ambiguity, keys must not conflict with any other
135
149
  # metadata keys for the project or be one of the reserved keys:
150
+ #
136
151
  # - "cluster-location"
137
152
  # - "cluster-name"
138
153
  # - "cluster-uid"
@@ -261,6 +276,14 @@ module Google
261
276
  # @!attribute [rw] gvnic
262
277
  # @return [::Google::Cloud::Container::V1::VirtualNIC]
263
278
  # Enable or disable gvnic in the node pool.
279
+ # @!attribute [rw] spot
280
+ # @return [::Boolean]
281
+ # Spot flag for enabling Spot VM, which is a rebrand of
282
+ # the existing preemptible flag.
283
+ # @!attribute [rw] confidential_nodes
284
+ # @return [::Google::Cloud::Container::V1::ConfidentialNodes]
285
+ # Confidential nodes config.
286
+ # All the nodes in the node pool will be Confidential VM once enabled.
264
287
  class NodeConfig
265
288
  include ::Google::Protobuf::MessageExts
266
289
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -337,9 +360,30 @@ module Google
337
360
  # Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
338
361
  #
339
362
  # This field cannot be changed after the node pool has been created.
363
+ # @!attribute [rw] network_performance_config
364
+ # @return [::Google::Cloud::Container::V1::NodeNetworkConfig::NetworkPerformanceConfig]
365
+ # Network bandwidth tier configuration.
340
366
  class NodeNetworkConfig
341
367
  include ::Google::Protobuf::MessageExts
342
368
  extend ::Google::Protobuf::MessageExts::ClassMethods
369
+
370
+ # Configuration of all network bandwidth tiers
371
+ # @!attribute [rw] total_egress_bandwidth_tier
372
+ # @return [::Google::Cloud::Container::V1::NodeNetworkConfig::NetworkPerformanceConfig::Tier]
373
+ # Specifies the total network bandwidth tier for the NodePool.
374
+ class NetworkPerformanceConfig
375
+ include ::Google::Protobuf::MessageExts
376
+ extend ::Google::Protobuf::MessageExts::ClassMethods
377
+
378
+ # Node network tier
379
+ module Tier
380
+ # Default value
381
+ TIER_UNSPECIFIED = 0
382
+
383
+ # Higher bandwidth, actual values based on VM size.
384
+ TIER_1 = 1
385
+ end
386
+ end
343
387
  end
344
388
 
345
389
  # A set of Shielded Instance options.
@@ -461,6 +505,45 @@ module Google
461
505
  end
462
506
  end
463
507
 
508
+ # Collection of Kubernetes [node
509
+ # taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration).
510
+ # @!attribute [rw] taints
511
+ # @return [::Array<::Google::Cloud::Container::V1::NodeTaint>]
512
+ # List of node taints.
513
+ class NodeTaints
514
+ include ::Google::Protobuf::MessageExts
515
+ extend ::Google::Protobuf::MessageExts::ClassMethods
516
+ end
517
+
518
+ # Collection of node-level [Kubernetes
519
+ # labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels).
520
+ # @!attribute [rw] labels
521
+ # @return [::Google::Protobuf::Map{::String => ::String}]
522
+ # Map of node label keys and node label values.
523
+ class NodeLabels
524
+ include ::Google::Protobuf::MessageExts
525
+ extend ::Google::Protobuf::MessageExts::ClassMethods
526
+
527
+ # @!attribute [rw] key
528
+ # @return [::String]
529
+ # @!attribute [rw] value
530
+ # @return [::String]
531
+ class LabelsEntry
532
+ include ::Google::Protobuf::MessageExts
533
+ extend ::Google::Protobuf::MessageExts::ClassMethods
534
+ end
535
+ end
536
+
537
+ # Collection of Compute Engine network tags that can be applied to a node's
538
+ # underlying VM instance.
539
+ # @!attribute [rw] tags
540
+ # @return [::Array<::String>]
541
+ # List of network tags.
542
+ class NetworkTags
543
+ include ::Google::Protobuf::MessageExts
544
+ extend ::Google::Protobuf::MessageExts::ClassMethods
545
+ end
546
+
464
547
  # The authentication information for accessing the master endpoint.
465
548
  # Authentication can be done using HTTP basic auth or using client
466
549
  # certificates.
@@ -789,9 +872,28 @@ module Google
789
872
  # @return [::Boolean]
790
873
  # Enable Binary Authorization for this cluster. If enabled, all container
791
874
  # images will be validated by Binary Authorization.
875
+ # @!attribute [rw] evaluation_mode
876
+ # @return [::Google::Cloud::Container::V1::BinaryAuthorization::EvaluationMode]
877
+ # Mode of operation for binauthz policy evaluation. Currently the only
878
+ # options are equivalent to enable/disable. If unspecified, defaults to
879
+ # DISABLED.
792
880
  class BinaryAuthorization
793
881
  include ::Google::Protobuf::MessageExts
794
882
  extend ::Google::Protobuf::MessageExts::ClassMethods
883
+
884
+ # Binary Authorization mode of operation.
885
+ module EvaluationMode
886
+ # Default value
887
+ EVALUATION_MODE_UNSPECIFIED = 0
888
+
889
+ # Disable BinaryAuthorization
890
+ DISABLED = 1
891
+
892
+ # Enforce Kubernetes admission requests with BinaryAuthorization using the
893
+ # project's singleton policy. This is equivalent to setting the
894
+ # enabled boolean to true.
895
+ PROJECT_SINGLETON_POLICY_ENFORCE = 2
896
+ end
795
897
  end
796
898
 
797
899
  # Configuration for controlling how IPs are allocated in the cluster.
@@ -1104,7 +1206,11 @@ module Google
1104
1206
  # Notification configuration of the cluster.
1105
1207
  # @!attribute [rw] confidential_nodes
1106
1208
  # @return [::Google::Cloud::Container::V1::ConfidentialNodes]
1107
- # Configuration of Confidential Nodes
1209
+ # Configuration of Confidential Nodes.
1210
+ # All the nodes in the cluster will be Confidential VM once enabled.
1211
+ # @!attribute [rw] identity_service_config
1212
+ # @return [::Google::Cloud::Container::V1::IdentityServiceConfig]
1213
+ # Configuration for Identity Service component.
1108
1214
  # @!attribute [rw] self_link
1109
1215
  # @return [::String]
1110
1216
  # [Output only] Server-defined URL for the resource.
@@ -1216,6 +1322,10 @@ module Google
1216
1322
  # @!attribute [rw] monitoring_config
1217
1323
  # @return [::Google::Cloud::Container::V1::MonitoringConfig]
1218
1324
  # Monitoring configuration for the cluster.
1325
+ # @!attribute [rw] node_pool_auto_config
1326
+ # @return [::Google::Cloud::Container::V1::NodePoolAutoConfig]
1327
+ # Node pool configs that apply to all auto-provisioned node pools
1328
+ # in autopilot clusters and node auto-provisioning enabled clusters.
1219
1329
  class Cluster
1220
1330
  include ::Google::Protobuf::MessageExts
1221
1331
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1259,6 +1369,19 @@ module Google
1259
1369
  end
1260
1370
  end
1261
1371
 
1372
+ # Node pool configs that apply to all auto-provisioned node pools
1373
+ # in autopilot clusters and node auto-provisioning enabled clusters.
1374
+ # @!attribute [rw] network_tags
1375
+ # @return [::Google::Cloud::Container::V1::NetworkTags]
1376
+ # The list of instance tags applied to all nodes. Tags are used to identify
1377
+ # valid sources or targets for network firewalls and are specified by
1378
+ # the client during cluster creation. Each tag within the list
1379
+ # must comply with RFC1035.
1380
+ class NodePoolAutoConfig
1381
+ include ::Google::Protobuf::MessageExts
1382
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1383
+ end
1384
+
1262
1385
  # Subset of Nodepool message that has defaults.
1263
1386
  # @!attribute [rw] node_config_defaults
1264
1387
  # @return [::Google::Cloud::Container::V1::NodeConfigDefaults]
@@ -1271,7 +1394,7 @@ module Google
1271
1394
  # Subset of NodeConfig message that has defaults.
1272
1395
  # @!attribute [rw] gcfs_config
1273
1396
  # @return [::Google::Cloud::Container::V1::GcfsConfig]
1274
- # GCFS (Google Container File System, a.k.a Riptide) options.
1397
+ # GCFS (Google Container File System, a.k.a. Riptide) options.
1275
1398
  class NodeConfigDefaults
1276
1399
  include ::Google::Protobuf::MessageExts
1277
1400
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1412,6 +1535,9 @@ module Google
1412
1535
  # @!attribute [rw] desired_monitoring_config
1413
1536
  # @return [::Google::Cloud::Container::V1::MonitoringConfig]
1414
1537
  # The desired monitoring configuration.
1538
+ # @!attribute [rw] desired_identity_service_config
1539
+ # @return [::Google::Cloud::Container::V1::IdentityServiceConfig]
1540
+ # The desired Identity Service component configuration.
1415
1541
  # @!attribute [rw] desired_service_external_ips_config
1416
1542
  # @return [::Google::Cloud::Container::V1::ServiceExternalIPsConfig]
1417
1543
  # ServiceExternalIPsConfig specifies the config for the use of Services with
@@ -1431,6 +1557,10 @@ module Google
1431
1557
  # @!attribute [rw] desired_gcfs_config
1432
1558
  # @return [::Google::Cloud::Container::V1::GcfsConfig]
1433
1559
  # The desired GCFS config for the cluster
1560
+ # @!attribute [rw] desired_node_pool_auto_config_network_tags
1561
+ # @return [::Google::Cloud::Container::V1::NetworkTags]
1562
+ # The desired network tags that apply to all auto-provisioned node pools
1563
+ # in autopilot clusters and node auto-provisioning enabled clusters.
1434
1564
  class ClusterUpdate
1435
1565
  include ::Google::Protobuf::MessageExts
1436
1566
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1618,7 +1748,7 @@ module Google
1618
1748
  # @!attribute [rw] project_id
1619
1749
  # @return [::String]
1620
1750
  # Deprecated. The Google Developers Console [project ID or project
1621
- # number](https://support.google.com/cloud/answer/6158840).
1751
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1622
1752
  # This field has been deprecated and replaced by the parent field.
1623
1753
  # @!attribute [rw] zone
1624
1754
  # @return [::String]
@@ -1643,7 +1773,7 @@ module Google
1643
1773
  # @!attribute [rw] project_id
1644
1774
  # @return [::String]
1645
1775
  # Deprecated. The Google Developers Console [project ID or project
1646
- # number](https://support.google.com/cloud/answer/6158840).
1776
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1647
1777
  # This field has been deprecated and replaced by the name field.
1648
1778
  # @!attribute [rw] zone
1649
1779
  # @return [::String]
@@ -1668,7 +1798,7 @@ module Google
1668
1798
  # @!attribute [rw] project_id
1669
1799
  # @return [::String]
1670
1800
  # Deprecated. The Google Developers Console [project ID or project
1671
- # number](https://support.google.com/cloud/answer/6158840).
1801
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1672
1802
  # This field has been deprecated and replaced by the name field.
1673
1803
  # @!attribute [rw] zone
1674
1804
  # @return [::String]
@@ -1696,7 +1826,7 @@ module Google
1696
1826
  # @!attribute [rw] project_id
1697
1827
  # @return [::String]
1698
1828
  # Deprecated. The Google Developers Console [project ID or project
1699
- # number](https://support.google.com/cloud/answer/6158840).
1829
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1700
1830
  # This field has been deprecated and replaced by the name field.
1701
1831
  # @!attribute [rw] zone
1702
1832
  # @return [::String]
@@ -1746,15 +1876,37 @@ module Google
1746
1876
  # @!attribute [rw] upgrade_settings
1747
1877
  # @return [::Google::Cloud::Container::V1::NodePool::UpgradeSettings]
1748
1878
  # Upgrade settings control disruption and speed of the upgrade.
1879
+ # @!attribute [rw] tags
1880
+ # @return [::Google::Cloud::Container::V1::NetworkTags]
1881
+ # The desired network tags to be applied to all nodes in the node pool.
1882
+ # If this field is not present, the tags will not be changed. Otherwise,
1883
+ # the existing network tags will be *replaced* with the provided tags.
1884
+ # @!attribute [rw] taints
1885
+ # @return [::Google::Cloud::Container::V1::NodeTaints]
1886
+ # The desired node taints to be applied to all nodes in the node pool.
1887
+ # If this field is not present, the taints will not be changed. Otherwise,
1888
+ # the existing node taints will be *replaced* with the provided taints.
1889
+ # @!attribute [rw] labels
1890
+ # @return [::Google::Cloud::Container::V1::NodeLabels]
1891
+ # The desired node labels to be applied to all nodes in the node pool.
1892
+ # If this field is not present, the labels will not be changed. Otherwise,
1893
+ # the existing node labels will be *replaced* with the provided labels.
1749
1894
  # @!attribute [rw] linux_node_config
1750
1895
  # @return [::Google::Cloud::Container::V1::LinuxNodeConfig]
1751
1896
  # Parameters that can be configured on Linux nodes.
1752
1897
  # @!attribute [rw] kubelet_config
1753
1898
  # @return [::Google::Cloud::Container::V1::NodeKubeletConfig]
1754
1899
  # Node kubelet configs.
1900
+ # @!attribute [rw] node_network_config
1901
+ # @return [::Google::Cloud::Container::V1::NodeNetworkConfig]
1902
+ # Node network config.
1755
1903
  # @!attribute [rw] gcfs_config
1756
1904
  # @return [::Google::Cloud::Container::V1::GcfsConfig]
1757
1905
  # GCFS config.
1906
+ # @!attribute [rw] confidential_nodes
1907
+ # @return [::Google::Cloud::Container::V1::ConfidentialNodes]
1908
+ # Confidential nodes config.
1909
+ # All the nodes in the node pool will be Confidential VM once enabled.
1758
1910
  # @!attribute [rw] gvnic
1759
1911
  # @return [::Google::Cloud::Container::V1::VirtualNIC]
1760
1912
  # Enable or disable gvnic on the node pool.
@@ -1767,7 +1919,7 @@ module Google
1767
1919
  # @!attribute [rw] project_id
1768
1920
  # @return [::String]
1769
1921
  # Deprecated. The Google Developers Console [project ID or project
1770
- # number](https://support.google.com/cloud/answer/6158840).
1922
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1771
1923
  # This field has been deprecated and replaced by the name field.
1772
1924
  # @!attribute [rw] zone
1773
1925
  # @return [::String]
@@ -1800,7 +1952,7 @@ module Google
1800
1952
  # @!attribute [rw] project_id
1801
1953
  # @return [::String]
1802
1954
  # Deprecated. The Google Developers Console [project ID or project
1803
- # number](https://support.google.com/cloud/answer/6158840).
1955
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1804
1956
  # This field has been deprecated and replaced by the name field.
1805
1957
  # @!attribute [rw] zone
1806
1958
  # @return [::String]
@@ -1838,7 +1990,7 @@ module Google
1838
1990
  # @!attribute [rw] project_id
1839
1991
  # @return [::String]
1840
1992
  # Deprecated. The Google Developers Console [project ID or project
1841
- # number](https://support.google.com/cloud/answer/6158840).
1993
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1842
1994
  # This field has been deprecated and replaced by the name field.
1843
1995
  # @!attribute [rw] zone
1844
1996
  # @return [::String]
@@ -1876,7 +2028,7 @@ module Google
1876
2028
  # @!attribute [rw] project_id
1877
2029
  # @return [::String]
1878
2030
  # Deprecated. The Google Developers Console [project ID or project
1879
- # number](https://support.google.com/cloud/answer/6158840).
2031
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1880
2032
  # This field has been deprecated and replaced by the name field.
1881
2033
  # @!attribute [rw] zone
1882
2034
  # @return [::String]
@@ -1905,7 +2057,7 @@ module Google
1905
2057
  # @!attribute [rw] project_id
1906
2058
  # @return [::String]
1907
2059
  # Deprecated. The Google Developers Console [project ID or project
1908
- # number](https://support.google.com/cloud/answer/6158840).
2060
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1909
2061
  # This field has been deprecated and replaced by the name field.
1910
2062
  # @!attribute [rw] zone
1911
2063
  # @return [::String]
@@ -1939,7 +2091,7 @@ module Google
1939
2091
  # @!attribute [rw] project_id
1940
2092
  # @return [::String]
1941
2093
  # Deprecated. The Google Developers Console [project ID or project
1942
- # number](https://support.google.com/cloud/answer/6158840).
2094
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1943
2095
  # This field has been deprecated and replaced by the name field.
1944
2096
  # @!attribute [rw] zone
1945
2097
  # @return [::String]
@@ -1976,7 +2128,7 @@ module Google
1976
2128
  # @!attribute [rw] project_id
1977
2129
  # @return [::String]
1978
2130
  # Deprecated. The Google Developers Console [project ID or project
1979
- # number](https://support.google.com/cloud/answer/6158840).
2131
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1980
2132
  # This field has been deprecated and replaced by the name field.
1981
2133
  # @!attribute [rw] zone
1982
2134
  # @return [::String]
@@ -2025,7 +2177,7 @@ module Google
2025
2177
  # @!attribute [rw] project_id
2026
2178
  # @return [::String]
2027
2179
  # Deprecated. The Google Developers Console [project ID or project
2028
- # number](https://support.google.com/cloud/answer/6158840).
2180
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2029
2181
  # This field has been deprecated and replaced by the name field.
2030
2182
  # @!attribute [rw] zone
2031
2183
  # @return [::String]
@@ -2050,7 +2202,7 @@ module Google
2050
2202
  # @!attribute [rw] project_id
2051
2203
  # @return [::String]
2052
2204
  # Deprecated. The Google Developers Console [project ID or project
2053
- # number](https://support.google.com/cloud/answer/6158840).
2205
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2054
2206
  # This field has been deprecated and replaced by the parent field.
2055
2207
  # @!attribute [rw] zone
2056
2208
  # @return [::String]
@@ -2086,7 +2238,7 @@ module Google
2086
2238
  # @!attribute [rw] project_id
2087
2239
  # @return [::String]
2088
2240
  # Deprecated. The Google Developers Console [project ID or project
2089
- # number](https://support.google.com/cloud/answer/6158840).
2241
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2090
2242
  # This field has been deprecated and replaced by the name field.
2091
2243
  # @!attribute [rw] zone
2092
2244
  # @return [::String]
@@ -2111,7 +2263,7 @@ module Google
2111
2263
  # @!attribute [rw] project_id
2112
2264
  # @return [::String]
2113
2265
  # Deprecated. The Google Developers Console [project ID or project
2114
- # number](https://support.google.com/cloud/answer/6158840).
2266
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2115
2267
  # This field has been deprecated and replaced by the parent field.
2116
2268
  # @!attribute [rw] zone
2117
2269
  # @return [::String]
@@ -2133,7 +2285,7 @@ module Google
2133
2285
  # @!attribute [rw] project_id
2134
2286
  # @return [::String]
2135
2287
  # Deprecated. The Google Developers Console [project ID or project
2136
- # number](https://support.google.com/cloud/answer/6158840).
2288
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2137
2289
  # This field has been deprecated and replaced by the name field.
2138
2290
  # @!attribute [rw] zone
2139
2291
  # @return [::String]
@@ -2171,7 +2323,7 @@ module Google
2171
2323
  # @!attribute [rw] project_id
2172
2324
  # @return [::String]
2173
2325
  # Deprecated. The Google Developers Console [project ID or project
2174
- # number](https://support.google.com/cloud/answer/6158840).
2326
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2175
2327
  # This field has been deprecated and replaced by the name field.
2176
2328
  # @!attribute [rw] zone
2177
2329
  # @return [::String]
@@ -2231,7 +2383,7 @@ module Google
2231
2383
  # @!attribute [rw] project_id
2232
2384
  # @return [::String]
2233
2385
  # Deprecated. The Google Developers Console [project ID or project
2234
- # number](https://developers.google.com/console/help/new/#projectnumber).
2386
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2235
2387
  # This field has been deprecated and replaced by the parent field.
2236
2388
  # @!attribute [rw] zone
2237
2389
  # @return [::String]
@@ -2248,7 +2400,7 @@ module Google
2248
2400
  # Required. The node pool to create.
2249
2401
  # @!attribute [rw] parent
2250
2402
  # @return [::String]
2251
- # The parent (project, location, cluster id) where the node pool will be
2403
+ # The parent (project, location, cluster name) where the node pool will be
2252
2404
  # created. Specified in the format
2253
2405
  # `projects/*/locations/*/clusters/*`.
2254
2406
  class CreateNodePoolRequest
@@ -2260,7 +2412,7 @@ module Google
2260
2412
  # @!attribute [rw] project_id
2261
2413
  # @return [::String]
2262
2414
  # Deprecated. The Google Developers Console [project ID or project
2263
- # number](https://developers.google.com/console/help/new/#projectnumber).
2415
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2264
2416
  # This field has been deprecated and replaced by the name field.
2265
2417
  # @!attribute [rw] zone
2266
2418
  # @return [::String]
@@ -2290,7 +2442,7 @@ module Google
2290
2442
  # @!attribute [rw] project_id
2291
2443
  # @return [::String]
2292
2444
  # Deprecated. The Google Developers Console [project ID or project
2293
- # number](https://developers.google.com/console/help/new/#projectnumber).
2445
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2294
2446
  # This field has been deprecated and replaced by the parent field.
2295
2447
  # @!attribute [rw] zone
2296
2448
  # @return [::String]
@@ -2304,7 +2456,7 @@ module Google
2304
2456
  # This field has been deprecated and replaced by the parent field.
2305
2457
  # @!attribute [rw] parent
2306
2458
  # @return [::String]
2307
- # The parent (project, location, cluster id) where the node pools will be
2459
+ # The parent (project, location, cluster name) where the node pools will be
2308
2460
  # listed. Specified in the format `projects/*/locations/*/clusters/*`.
2309
2461
  class ListNodePoolsRequest
2310
2462
  include ::Google::Protobuf::MessageExts
@@ -2315,7 +2467,7 @@ module Google
2315
2467
  # @!attribute [rw] project_id
2316
2468
  # @return [::String]
2317
2469
  # Deprecated. The Google Developers Console [project ID or project
2318
- # number](https://developers.google.com/console/help/new/#projectnumber).
2470
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2319
2471
  # This field has been deprecated and replaced by the name field.
2320
2472
  # @!attribute [rw] zone
2321
2473
  # @return [::String]
@@ -2341,6 +2493,35 @@ module Google
2341
2493
  extend ::Google::Protobuf::MessageExts::ClassMethods
2342
2494
  end
2343
2495
 
2496
+ # Settings for blue-green upgrade.
2497
+ # @!attribute [rw] standard_rollout_policy
2498
+ # @return [::Google::Cloud::Container::V1::BlueGreenSettings::StandardRolloutPolicy]
2499
+ # Standard policy for the blue-green upgrade.
2500
+ # @!attribute [rw] node_pool_soak_duration
2501
+ # @return [::Google::Protobuf::Duration]
2502
+ # Time needed after draining entire blue pool. After this period, blue pool
2503
+ # will be cleaned up.
2504
+ class BlueGreenSettings
2505
+ include ::Google::Protobuf::MessageExts
2506
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2507
+
2508
+ # Standard rollout policy is the default policy for blue-green.
2509
+ # @!attribute [rw] batch_percentage
2510
+ # @return [::Float]
2511
+ # Percentage of the bool pool nodes to drain in a batch.
2512
+ # The range of this field should be (0.0, 1.0].
2513
+ # @!attribute [rw] batch_node_count
2514
+ # @return [::Integer]
2515
+ # Number of blue nodes to drain in a batch.
2516
+ # @!attribute [rw] batch_soak_duration
2517
+ # @return [::Google::Protobuf::Duration]
2518
+ # Soak time after each batch gets drained. Default to zero.
2519
+ class StandardRolloutPolicy
2520
+ include ::Google::Protobuf::MessageExts
2521
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2522
+ end
2523
+ end
2524
+
2344
2525
  # NodePool contains the name and configuration for a cluster's node pool.
2345
2526
  # Node pools are a set of nodes (i.e. VM's), with a common configuration and
2346
2527
  # specification, under the control of the cluster master. They may have a set
@@ -2386,6 +2567,8 @@ module Google
2386
2567
  # [Output only] The resource URLs of the [managed instance
2387
2568
  # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
2388
2569
  # associated with this node pool.
2570
+ # During the node pool blue-green upgrade operation, the URLs contain both
2571
+ # blue and green resources.
2389
2572
  # @!attribute [rw] status
2390
2573
  # @return [::Google::Cloud::Container::V1::NodePool::Status]
2391
2574
  # [Output only] The status of the nodes in this pool instance.
@@ -2414,6 +2597,10 @@ module Google
2414
2597
  # @!attribute [rw] upgrade_settings
2415
2598
  # @return [::Google::Cloud::Container::V1::NodePool::UpgradeSettings]
2416
2599
  # Upgrade settings control disruption and speed of the upgrade.
2600
+ # @!attribute [r] update_info
2601
+ # @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo]
2602
+ # Output only. [Output only] Update info contains relevant information during a node
2603
+ # pool update.
2417
2604
  class NodePool
2418
2605
  include ::Google::Protobuf::MessageExts
2419
2606
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2441,6 +2628,29 @@ module Google
2441
2628
  # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
2442
2629
  # down 3 old (not yet upgraded) nodes at the same time. This ensures that
2443
2630
  # there are always at least 4 nodes available.
2631
+ #
2632
+ # These upgrade settings configure the upgrade strategy for the node pool.
2633
+ # Use strategy to switch between the strategies applied to the node pool.
2634
+ #
2635
+ # If the strategy is ROLLING, use max_surge and max_unavailable to control
2636
+ # the level of parallelism and the level of disruption caused by upgrade.
2637
+ # 1. maxSurge controls the number of additional nodes that can be added to
2638
+ # the node pool temporarily for the time of the upgrade to increase the
2639
+ # number of available nodes.
2640
+ # 2. maxUnavailable controls the number of nodes that can be simultaneously
2641
+ # unavailable.
2642
+ # 3. (maxUnavailable + maxSurge) determines the level of parallelism (how
2643
+ # many nodes are being upgraded at the same time).
2644
+ #
2645
+ # If the strategy is BLUE_GREEN, use blue_green_settings to configure the
2646
+ # blue-green upgrade related settings.
2647
+ # 1. standard_rollout_policy is the default policy. The policy is used to
2648
+ # control the way blue pool gets drained. The draining is executed in the
2649
+ # batch mode. The batch size could be specified as either percentage of the
2650
+ # node pool size or the number of nodes. batch_soak_duration is the soak
2651
+ # time after each batch gets drained.
2652
+ # 2. node_pool_soak_duration is the soak time after all blue nodes are
2653
+ # drained. After this period, the blue pool nodes will be deleted.
2444
2654
  # @!attribute [rw] max_surge
2445
2655
  # @return [::Integer]
2446
2656
  # The maximum number of nodes that can be created beyond the current size
@@ -2450,11 +2660,80 @@ module Google
2450
2660
  # The maximum number of nodes that can be simultaneously unavailable during
2451
2661
  # the upgrade process. A node is considered available if its status is
2452
2662
  # Ready.
2663
+ # @!attribute [rw] strategy
2664
+ # @return [::Google::Cloud::Container::V1::NodePoolUpdateStrategy]
2665
+ # Update strategy of the node pool.
2666
+ # @!attribute [rw] blue_green_settings
2667
+ # @return [::Google::Cloud::Container::V1::BlueGreenSettings]
2668
+ # Settings for blue-green upgrade strategy.
2453
2669
  class UpgradeSettings
2454
2670
  include ::Google::Protobuf::MessageExts
2455
2671
  extend ::Google::Protobuf::MessageExts::ClassMethods
2456
2672
  end
2457
2673
 
2674
+ # UpdateInfo contains resource (instance groups, etc), status and other
2675
+ # intermediate information relevant to a node pool upgrade.
2676
+ # @!attribute [rw] blue_green_info
2677
+ # @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo]
2678
+ # Information of a blue-green upgrade.
2679
+ class UpdateInfo
2680
+ include ::Google::Protobuf::MessageExts
2681
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2682
+
2683
+ # Information relevant to blue-green upgrade.
2684
+ # @!attribute [rw] phase
2685
+ # @return [::Google::Cloud::Container::V1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
2686
+ # Current blue-green upgrade phase.
2687
+ # @!attribute [rw] blue_instance_group_urls
2688
+ # @return [::Array<::String>]
2689
+ # The resource URLs of the [managed instance groups]
2690
+ # (/compute/docs/instance-groups/creating-groups-of-managed-instances)
2691
+ # associated with blue pool.
2692
+ # @!attribute [rw] green_instance_group_urls
2693
+ # @return [::Array<::String>]
2694
+ # The resource URLs of the [managed instance groups]
2695
+ # (/compute/docs/instance-groups/creating-groups-of-managed-instances)
2696
+ # associated with green pool.
2697
+ # @!attribute [rw] blue_pool_deletion_start_time
2698
+ # @return [::String]
2699
+ # Time to start deleting blue pool to complete blue-green upgrade,
2700
+ # in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2701
+ # @!attribute [rw] green_pool_version
2702
+ # @return [::String]
2703
+ # Version of green pool.
2704
+ class BlueGreenInfo
2705
+ include ::Google::Protobuf::MessageExts
2706
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2707
+
2708
+ # Phase represents the different stages blue-green upgrade is running in.
2709
+ module Phase
2710
+ # Unspecified phase.
2711
+ PHASE_UNSPECIFIED = 0
2712
+
2713
+ # blue-green upgrade has been initiated.
2714
+ UPDATE_STARTED = 1
2715
+
2716
+ # Start creating green pool nodes.
2717
+ CREATING_GREEN_POOL = 2
2718
+
2719
+ # Start cordoning blue pool nodes.
2720
+ CORDONING_BLUE_POOL = 3
2721
+
2722
+ # Start draining blue pool nodes.
2723
+ DRAINING_BLUE_POOL = 4
2724
+
2725
+ # Start soaking time after draining entire blue pool.
2726
+ NODE_POOL_SOAKING = 5
2727
+
2728
+ # Start deleting blue nodes.
2729
+ DELETING_BLUE_POOL = 6
2730
+
2731
+ # Rollback has been initiated.
2732
+ ROLLBACK_STARTED = 7
2733
+ end
2734
+ end
2735
+ end
2736
+
2458
2737
  # The current status of the node pool instance.
2459
2738
  module Status
2460
2739
  # Not set.
@@ -2676,7 +2955,7 @@ module Google
2676
2955
  # @!attribute [rw] project_id
2677
2956
  # @return [::String]
2678
2957
  # Deprecated. The Google Developers Console [project ID or project
2679
- # number](https://support.google.com/cloud/answer/6158840).
2958
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2680
2959
  # This field has been deprecated and replaced by the name field.
2681
2960
  # @!attribute [rw] zone
2682
2961
  # @return [::String]
@@ -2709,7 +2988,7 @@ module Google
2709
2988
  # @!attribute [rw] project_id
2710
2989
  # @return [::String]
2711
2990
  # Deprecated. The Google Developers Console [project ID or project
2712
- # number](https://support.google.com/cloud/answer/6158840).
2991
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2713
2992
  # This field has been deprecated and replaced by the name field.
2714
2993
  # @!attribute [rw] zone
2715
2994
  # @return [::String]
@@ -2738,13 +3017,25 @@ module Google
2738
3017
  extend ::Google::Protobuf::MessageExts::ClassMethods
2739
3018
  end
2740
3019
 
3020
+ # CompleteNodePoolUpgradeRequest sets the name of target node pool to complete
3021
+ # upgrade.
3022
+ # @!attribute [rw] name
3023
+ # @return [::String]
3024
+ # The name (project, location, cluster, node pool id) of the node pool to
3025
+ # complete upgrade.
3026
+ # Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
3027
+ class CompleteNodePoolUpgradeRequest
3028
+ include ::Google::Protobuf::MessageExts
3029
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3030
+ end
3031
+
2741
3032
  # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
2742
3033
  # NodePool upgrade. This will be an no-op if the last upgrade successfully
2743
3034
  # completed.
2744
3035
  # @!attribute [rw] project_id
2745
3036
  # @return [::String]
2746
3037
  # Deprecated. The Google Developers Console [project ID or project
2747
- # number](https://support.google.com/cloud/answer/6158840).
3038
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2748
3039
  # This field has been deprecated and replaced by the name field.
2749
3040
  # @!attribute [rw] zone
2750
3041
  # @return [::String]
@@ -2765,6 +3056,10 @@ module Google
2765
3056
  # The name (project, location, cluster, node pool id) of the node poll to
2766
3057
  # rollback upgrade.
2767
3058
  # Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
3059
+ # @!attribute [rw] respect_pdb
3060
+ # @return [::Boolean]
3061
+ # Option for rollback to ignore the PodDisruptionBudget.
3062
+ # Default value is false.
2768
3063
  class RollbackNodePoolUpgradeRequest
2769
3064
  include ::Google::Protobuf::MessageExts
2770
3065
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2835,13 +3130,15 @@ module Google
2835
3130
  # Specifies the node management options for NAP created node-pools.
2836
3131
  # @!attribute [rw] min_cpu_platform
2837
3132
  # @return [::String]
2838
- # Minimum CPU platform to be used for NAP created node pools.
3133
+ # Deprecated. Minimum CPU platform to be used for NAP created node pools.
2839
3134
  # The instance may be scheduled on the specified or newer CPU platform.
2840
3135
  # Applicable values are the friendly names of CPU platforms, such as
2841
3136
  # minCpuPlatform: Intel Haswell or
2842
3137
  # minCpuPlatform: Intel Sandy Bridge. For more
2843
3138
  # information, read [how to specify min CPU
2844
3139
  # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
3140
+ # This field is deprecated, min_cpu_platform should be specified using
3141
+ # cloud.google.com/requested-min-cpu-platform label selector on the pod.
2845
3142
  # To unset the min cpu platform field pass "automatic"
2846
3143
  # as field value.
2847
3144
  # @!attribute [rw] disk_size_gb
@@ -2907,9 +3204,38 @@ module Google
2907
3204
  # @!attribute [rw] autoprovisioned
2908
3205
  # @return [::Boolean]
2909
3206
  # Can this node pool be deleted automatically.
3207
+ # @!attribute [rw] location_policy
3208
+ # @return [::Google::Cloud::Container::V1::NodePoolAutoscaling::LocationPolicy]
3209
+ # Location policy used when scaling up a nodepool.
3210
+ # @!attribute [rw] total_min_node_count
3211
+ # @return [::Integer]
3212
+ # Minimum number of nodes in the node pool. Must be greater than 1 less than
3213
+ # total_max_node_count.
3214
+ # The total_*_node_count fields are mutually exclusive with the *_node_count
3215
+ # fields.
3216
+ # @!attribute [rw] total_max_node_count
3217
+ # @return [::Integer]
3218
+ # Maximum number of nodes in the node pool. Must be greater than
3219
+ # total_min_node_count. There has to be enough quota to scale up the cluster.
3220
+ # The total_*_node_count fields are mutually exclusive with the *_node_count
3221
+ # fields.
2910
3222
  class NodePoolAutoscaling
2911
3223
  include ::Google::Protobuf::MessageExts
2912
3224
  extend ::Google::Protobuf::MessageExts::ClassMethods
3225
+
3226
+ # Location policy specifies how zones are picked when scaling up the
3227
+ # nodepool.
3228
+ module LocationPolicy
3229
+ # Not set.
3230
+ LOCATION_POLICY_UNSPECIFIED = 0
3231
+
3232
+ # BALANCED is a best effort policy that aims to balance the sizes of
3233
+ # different zones.
3234
+ BALANCED = 1
3235
+
3236
+ # ANY policy picks zones that have the highest capacity available.
3237
+ ANY = 2
3238
+ end
2913
3239
  end
2914
3240
 
2915
3241
  # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
@@ -2918,7 +3244,7 @@ module Google
2918
3244
  # @!attribute [rw] project_id
2919
3245
  # @return [::String]
2920
3246
  # Deprecated. The Google Developers Console [project ID or project
2921
- # number](https://developers.google.com/console/help/new/#projectnumber).
3247
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2922
3248
  # This field has been deprecated and replaced by the name field.
2923
3249
  # @!attribute [rw] zone
2924
3250
  # @return [::String]
@@ -2943,7 +3269,7 @@ module Google
2943
3269
  # resource to get the latest fingerprint.
2944
3270
  # @!attribute [rw] name
2945
3271
  # @return [::String]
2946
- # The name (project, location, cluster id) of the cluster to set labels.
3272
+ # The name (project, location, cluster name) of the cluster to set labels.
2947
3273
  # Specified in the format `projects/*/locations/*/clusters/*`.
2948
3274
  class SetLabelsRequest
2949
3275
  include ::Google::Protobuf::MessageExts
@@ -2964,7 +3290,7 @@ module Google
2964
3290
  # @!attribute [rw] project_id
2965
3291
  # @return [::String]
2966
3292
  # Deprecated. The Google Developers Console [project ID or project
2967
- # number](https://support.google.com/cloud/answer/6158840).
3293
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2968
3294
  # This field has been deprecated and replaced by the name field.
2969
3295
  # @!attribute [rw] zone
2970
3296
  # @return [::String]
@@ -2981,8 +3307,8 @@ module Google
2981
3307
  # Required. Whether ABAC authorization will be enabled in the cluster.
2982
3308
  # @!attribute [rw] name
2983
3309
  # @return [::String]
2984
- # The name (project, location, cluster id) of the cluster to set legacy abac.
2985
- # Specified in the format `projects/*/locations/*/clusters/*`.
3310
+ # The name (project, location, cluster name) of the cluster to set legacy
3311
+ # abac. Specified in the format `projects/*/locations/*/clusters/*`.
2986
3312
  class SetLegacyAbacRequest
2987
3313
  include ::Google::Protobuf::MessageExts
2988
3314
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2993,7 +3319,7 @@ module Google
2993
3319
  # @!attribute [rw] project_id
2994
3320
  # @return [::String]
2995
3321
  # Deprecated. The Google Developers Console [project ID or project
2996
- # number](https://developers.google.com/console/help/new/#projectnumber).
3322
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2997
3323
  # This field has been deprecated and replaced by the name field.
2998
3324
  # @!attribute [rw] zone
2999
3325
  # @return [::String]
@@ -3007,7 +3333,7 @@ module Google
3007
3333
  # This field has been deprecated and replaced by the name field.
3008
3334
  # @!attribute [rw] name
3009
3335
  # @return [::String]
3010
- # The name (project, location, cluster id) of the cluster to start IP
3336
+ # The name (project, location, cluster name) of the cluster to start IP
3011
3337
  # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
3012
3338
  # @!attribute [rw] rotate_credentials
3013
3339
  # @return [::Boolean]
@@ -3021,7 +3347,7 @@ module Google
3021
3347
  # @!attribute [rw] project_id
3022
3348
  # @return [::String]
3023
3349
  # Deprecated. The Google Developers Console [project ID or project
3024
- # number](https://developers.google.com/console/help/new/#projectnumber).
3350
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3025
3351
  # This field has been deprecated and replaced by the name field.
3026
3352
  # @!attribute [rw] zone
3027
3353
  # @return [::String]
@@ -3035,7 +3361,7 @@ module Google
3035
3361
  # This field has been deprecated and replaced by the name field.
3036
3362
  # @!attribute [rw] name
3037
3363
  # @return [::String]
3038
- # The name (project, location, cluster id) of the cluster to complete IP
3364
+ # The name (project, location, cluster name) of the cluster to complete IP
3039
3365
  # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
3040
3366
  class CompleteIPRotationRequest
3041
3367
  include ::Google::Protobuf::MessageExts
@@ -3055,11 +3381,36 @@ module Google
3055
3381
  # Size of partitions to create on the GPU. Valid values are described in the
3056
3382
  # NVIDIA [mig user
3057
3383
  # guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
3384
+ # @!attribute [rw] gpu_sharing_config
3385
+ # @return [::Google::Cloud::Container::V1::GPUSharingConfig]
3386
+ # The configuration for GPU sharing options.
3058
3387
  class AcceleratorConfig
3059
3388
  include ::Google::Protobuf::MessageExts
3060
3389
  extend ::Google::Protobuf::MessageExts::ClassMethods
3061
3390
  end
3062
3391
 
3392
+ # GPUSharingConfig represents the GPU sharing configuration for Hardware
3393
+ # Accelerators.
3394
+ # @!attribute [rw] max_shared_clients_per_gpu
3395
+ # @return [::Integer]
3396
+ # The max number of containers that can share a physical GPU.
3397
+ # @!attribute [rw] gpu_sharing_strategy
3398
+ # @return [::Google::Cloud::Container::V1::GPUSharingConfig::GPUSharingStrategy]
3399
+ # The type of GPU sharing strategy to enable on the GPU node.
3400
+ class GPUSharingConfig
3401
+ include ::Google::Protobuf::MessageExts
3402
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3403
+
3404
+ # The type of GPU sharing strategy currently provided.
3405
+ module GPUSharingStrategy
3406
+ # Default value.
3407
+ GPU_SHARING_STRATEGY_UNSPECIFIED = 0
3408
+
3409
+ # GPUs are time-shared between containers.
3410
+ TIME_SHARING = 1
3411
+ end
3412
+ end
3413
+
3063
3414
  # WorkloadMetadataConfig defines the metadata configuration to expose to
3064
3415
  # workloads on the node pool.
3065
3416
  # @!attribute [rw] mode
@@ -3092,7 +3443,7 @@ module Google
3092
3443
  # @!attribute [rw] project_id
3093
3444
  # @return [::String]
3094
3445
  # Deprecated. The Google Developers Console [project ID or project
3095
- # number](https://developers.google.com/console/help/new/#projectnumber).
3446
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3096
3447
  # This field has been deprecated and replaced by the name field.
3097
3448
  # @!attribute [rw] zone
3098
3449
  # @return [::String]
@@ -3109,7 +3460,7 @@ module Google
3109
3460
  # Required. Configuration options for the NetworkPolicy feature.
3110
3461
  # @!attribute [rw] name
3111
3462
  # @return [::String]
3112
- # The name (project, location, cluster id) of the cluster to set networking
3463
+ # The name (project, location, cluster name) of the cluster to set networking
3113
3464
  # policy. Specified in the format `projects/*/locations/*/clusters/*`.
3114
3465
  class SetNetworkPolicyRequest
3115
3466
  include ::Google::Protobuf::MessageExts
@@ -3120,7 +3471,7 @@ module Google
3120
3471
  # @!attribute [rw] project_id
3121
3472
  # @return [::String]
3122
3473
  # Required. The Google Developers Console [project ID or project
3123
- # number](https://support.google.com/cloud/answer/6158840).
3474
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3124
3475
  # @!attribute [rw] zone
3125
3476
  # @return [::String]
3126
3477
  # Required. The name of the Google Compute Engine
@@ -3135,8 +3486,8 @@ module Google
3135
3486
  # clears the existing maintenance policy.
3136
3487
  # @!attribute [rw] name
3137
3488
  # @return [::String]
3138
- # The name (project, location, cluster id) of the cluster to set maintenance
3139
- # policy.
3489
+ # The name (project, location, cluster name) of the cluster to set
3490
+ # maintenance policy.
3140
3491
  # Specified in the format `projects/*/locations/*/clusters/*`.
3141
3492
  class SetMaintenancePolicyRequest
3142
3493
  include ::Google::Protobuf::MessageExts
@@ -3288,7 +3639,7 @@ module Google
3288
3639
  # Discovery 1.0 specification for details.
3289
3640
  # @!attribute [rw] parent
3290
3641
  # @return [::String]
3291
- # The cluster (project, location, cluster id) to get keys for. Specified in
3642
+ # The cluster (project, location, cluster name) to get keys for. Specified in
3292
3643
  # the format `projects/*/locations/*/clusters/*`.
3293
3644
  class GetJSONWebKeysRequest
3294
3645
  include ::Google::Protobuf::MessageExts
@@ -3450,6 +3801,16 @@ module Google
3450
3801
  extend ::Google::Protobuf::MessageExts::ClassMethods
3451
3802
  end
3452
3803
 
3804
+ # IdentityServiceConfig is configuration for Identity Service which allows
3805
+ # customers to use external identity providers with the K8S API
3806
+ # @!attribute [rw] enabled
3807
+ # @return [::Boolean]
3808
+ # Whether to enable the Identity Service component
3809
+ class IdentityServiceConfig
3810
+ include ::Google::Protobuf::MessageExts
3811
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3812
+ end
3813
+
3453
3814
  # Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
3454
3815
  # @!attribute [rw] enable_certificates
3455
3816
  # @return [::Google::Protobuf::BoolValue]
@@ -3735,8 +4096,7 @@ module Google
3735
4096
  # makes nodes run on confidential VMs.
3736
4097
  # @!attribute [rw] enabled
3737
4098
  # @return [::Boolean]
3738
- # Whether Confidential Nodes feature is enabled for all nodes in this
3739
- # cluster.
4099
+ # Whether Confidential Nodes feature is enabled.
3740
4100
  class ConfidentialNodes
3741
4101
  include ::Google::Protobuf::MessageExts
3742
4102
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3877,6 +4237,10 @@ module Google
3877
4237
  # @!attribute [rw] component_config
3878
4238
  # @return [::Google::Cloud::Container::V1::MonitoringComponentConfig]
3879
4239
  # Monitoring components configuration
4240
+ # @!attribute [rw] managed_prometheus_config
4241
+ # @return [::Google::Cloud::Container::V1::ManagedPrometheusConfig]
4242
+ # Enable Google Cloud Managed Service for Prometheus
4243
+ # in the cluster.
3880
4244
  class MonitoringConfig
3881
4245
  include ::Google::Protobuf::MessageExts
3882
4246
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3898,9 +4262,28 @@ module Google
3898
4262
 
3899
4263
  # system components
3900
4264
  SYSTEM_COMPONENTS = 1
4265
+
4266
+ # kube-apiserver
4267
+ APISERVER = 3
4268
+
4269
+ # kube-scheduler
4270
+ SCHEDULER = 4
4271
+
4272
+ # kube-controller-manager
4273
+ CONTROLLER_MANAGER = 5
3901
4274
  end
3902
4275
  end
3903
4276
 
4277
+ # ManagedPrometheusConfig defines the configuration for
4278
+ # Google Cloud Managed Service for Prometheus.
4279
+ # @!attribute [rw] enabled
4280
+ # @return [::Boolean]
4281
+ # Enable Managed Collection.
4282
+ class ManagedPrometheusConfig
4283
+ include ::Google::Protobuf::MessageExts
4284
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4285
+ end
4286
+
3904
4287
  # PrivateIPv6GoogleAccess controls whether and how the pods can communicate
3905
4288
  # with Google Services through gRPC over IPv6.
3906
4289
  module PrivateIPv6GoogleAccess
@@ -3917,6 +4300,19 @@ module Google
3917
4300
  PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3
3918
4301
  end
3919
4302
 
4303
+ # UpgradeResourceType is the resource type that is upgrading. It is used
4304
+ # in upgrade notifications.
4305
+ module UpgradeResourceType
4306
+ # Default value. This shouldn't be used.
4307
+ UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0
4308
+
4309
+ # Master / control plane
4310
+ MASTER = 1
4311
+
4312
+ # Node pool
4313
+ NODE_POOL = 2
4314
+ end
4315
+
3920
4316
  # The datapath provider selects the implementation of the Kubernetes networking
3921
4317
  # model for service resolution and network policy enforcement.
3922
4318
  module DatapathProvider
@@ -3933,17 +4329,17 @@ module Google
3933
4329
  ADVANCED_DATAPATH = 2
3934
4330
  end
3935
4331
 
3936
- # UpgradeResourceType is the resource type that is upgrading. It is used
3937
- # in upgrade notifications.
3938
- module UpgradeResourceType
3939
- # Default value. This shouldn't be used.
3940
- UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0
4332
+ # Strategy used for node pool update.
4333
+ module NodePoolUpdateStrategy
4334
+ # Default value.
4335
+ NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED = 0
3941
4336
 
3942
- # Master / control plane
3943
- MASTER = 1
4337
+ # blue-green upgrade.
4338
+ BLUE_GREEN = 2
3944
4339
 
3945
- # Node pool
3946
- NODE_POOL = 2
4340
+ # SURGE is the traditional way of upgrade a node pool.
4341
+ # max_surge and max_unavailable determines the level of upgrade parallelism.
4342
+ SURGE = 3
3947
4343
  end
3948
4344
  end
3949
4345
  end