google-cloud-container-v1beta1 0.8.3 → 0.10.1

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
@@ -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"
@@ -257,9 +290,23 @@ module Google
257
290
  # @return [::Google::Cloud::Container::V1beta1::EphemeralStorageConfig]
258
291
  # Parameters for the ephemeral storage filesystem.
259
292
  # If unspecified, ephemeral storage is backed by the boot disk.
293
+ # @!attribute [rw] gcfs_config
294
+ # @return [::Google::Cloud::Container::V1beta1::GcfsConfig]
295
+ # GCFS (Google Container File System) configs.
296
+ # @!attribute [rw] advanced_machine_features
297
+ # @return [::Google::Cloud::Container::V1beta1::AdvancedMachineFeatures]
298
+ # Advanced features for the Compute Engine VM.
260
299
  # @!attribute [rw] gvnic
261
300
  # @return [::Google::Cloud::Container::V1beta1::VirtualNIC]
262
301
  # Enable or disable gvnic on the node pool.
302
+ # @!attribute [rw] spot
303
+ # @return [::Boolean]
304
+ # Spot flag for enabling Spot VM, which is a rebrand of
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.
263
310
  class NodeConfig
264
311
  include ::Google::Protobuf::MessageExts
265
312
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -283,6 +330,17 @@ module Google
283
330
  end
284
331
  end
285
332
 
333
+ # Specifies options for controlling advanced machine features.
334
+ # @!attribute [rw] threads_per_core
335
+ # @return [::Integer]
336
+ # The number of threads per physical core. To disable simultaneous
337
+ # multithreading (SMT) set this to 1. If unset, the maximum number of threads
338
+ # supported per core by the underlying processor is assumed.
339
+ class AdvancedMachineFeatures
340
+ include ::Google::Protobuf::MessageExts
341
+ extend ::Google::Protobuf::MessageExts::ClassMethods
342
+ end
343
+
286
344
  # Parameters for node pool-level network config.
287
345
  # @!attribute [rw] create_pod_range
288
346
  # @return [::Boolean]
@@ -325,9 +383,34 @@ module Google
325
383
  # Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
326
384
  #
327
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.
328
389
  class NodeNetworkConfig
329
390
  include ::Google::Protobuf::MessageExts
330
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
331
414
  end
332
415
 
333
416
  # A set of Shielded Instance options.
@@ -384,6 +467,15 @@ module Google
384
467
  extend ::Google::Protobuf::MessageExts::ClassMethods
385
468
  end
386
469
 
470
+ # GcfsConfig contains configurations of Google Container File System.
471
+ # @!attribute [rw] enabled
472
+ # @return [::Boolean]
473
+ # Whether to use GCFS.
474
+ class GcfsConfig
475
+ include ::Google::Protobuf::MessageExts
476
+ extend ::Google::Protobuf::MessageExts::ClassMethods
477
+ end
478
+
387
479
  # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
388
480
  # is the configuration of desired reservation which instances could take
389
481
  # capacity from.
@@ -593,6 +685,12 @@ module Google
593
685
  # @return [::Google::Cloud::Container::V1beta1::KalmConfig]
594
686
  # Configuration for the KALM addon, which manages the lifecycle of k8s
595
687
  # applications.
688
+ # @!attribute [rw] gcp_filestore_csi_driver_config
689
+ # @return [::Google::Cloud::Container::V1beta1::GcpFilestoreCsiDriverConfig]
690
+ # Configuration for the GCP Filestore CSI driver.
691
+ # @!attribute [rw] gke_backup_agent_config
692
+ # @return [::Google::Cloud::Container::V1beta1::GkeBackupAgentConfig]
693
+ # Configuration for the Backup for GKE agent addon.
596
694
  class AddonsConfig
597
695
  include ::Google::Protobuf::MessageExts
598
696
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -661,6 +759,15 @@ module Google
661
759
  extend ::Google::Protobuf::MessageExts::ClassMethods
662
760
  end
663
761
 
762
+ # Configuration for the Backup for GKE Agent.
763
+ # @!attribute [rw] enabled
764
+ # @return [::Boolean]
765
+ # Whether the Backup for GKE agent is enabled for this cluster.
766
+ class GkeBackupAgentConfig
767
+ include ::Google::Protobuf::MessageExts
768
+ extend ::Google::Protobuf::MessageExts::ClassMethods
769
+ end
770
+
664
771
  # Configuration options for the Config Connector add-on.
665
772
  # @!attribute [rw] enabled
666
773
  # @return [::Boolean]
@@ -679,6 +786,15 @@ module Google
679
786
  extend ::Google::Protobuf::MessageExts::ClassMethods
680
787
  end
681
788
 
789
+ # Configuration for the GCP Filestore CSI driver.
790
+ # @!attribute [rw] enabled
791
+ # @return [::Boolean]
792
+ # Whether the GCP Filestore CSI driver is enabled for this cluster.
793
+ class GcpFilestoreCsiDriverConfig
794
+ include ::Google::Protobuf::MessageExts
795
+ extend ::Google::Protobuf::MessageExts::ClassMethods
796
+ end
797
+
682
798
  # Configuration for controlling master global access settings.
683
799
  # @!attribute [rw] enabled
684
800
  # @return [::Boolean]
@@ -960,19 +1076,75 @@ module Google
960
1076
  # This is used in conjunction with use_ip_aliases. It cannot be true if
961
1077
  # use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
962
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.
963
1091
  class IPAllocationPolicy
964
1092
  include ::Google::Protobuf::MessageExts
965
1093
  extend ::Google::Protobuf::MessageExts::ClassMethods
1094
+
1095
+ # Possible values for 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
966
1118
  end
967
1119
 
968
1120
  # Configuration for Binary Authorization.
969
1121
  # @!attribute [rw] enabled
970
1122
  # @return [::Boolean]
971
- # Enable Binary Authorization for this cluster. If enabled, all container
972
- # images will be validated by Google Binauthz.
1123
+ # This field is deprecated. Leave this unset and instead configure
1124
+ # BinaryAuthorization using evaluation_mode. If evaluation_mode is set to
1125
+ # anything other than EVALUATION_MODE_UNSPECIFIED, this field is ignored.
1126
+ # @!attribute [rw] evaluation_mode
1127
+ # @return [::Google::Cloud::Container::V1beta1::BinaryAuthorization::EvaluationMode]
1128
+ # Mode of operation for binauthz policy evaluation. Currently the only
1129
+ # options are equivalent to enable/disable. If unspecified, defaults to
1130
+ # DISABLED.
973
1131
  class BinaryAuthorization
974
1132
  include ::Google::Protobuf::MessageExts
975
1133
  extend ::Google::Protobuf::MessageExts::ClassMethods
1134
+
1135
+ # Binary Authorization mode of operation.
1136
+ module EvaluationMode
1137
+ # Default value
1138
+ EVALUATION_MODE_UNSPECIFIED = 0
1139
+
1140
+ # Disable BinaryAuthorization
1141
+ DISABLED = 1
1142
+
1143
+ # Enforce Kubernetes admission requests with BinaryAuthorization using the
1144
+ # project's singleton policy. This is equivalent to setting the
1145
+ # enabled boolean to true.
1146
+ PROJECT_SINGLETON_POLICY_ENFORCE = 2
1147
+ end
976
1148
  end
977
1149
 
978
1150
  # Configuration for the PodSecurityPolicy feature.
@@ -1222,6 +1394,16 @@ module Google
1222
1394
  # @return [::Google::Cloud::Container::V1beta1::WorkloadCertificates]
1223
1395
  # Configuration for issuance of mTLS keys and certificates to Kubernetes
1224
1396
  # pods.
1397
+ # @!attribute [rw] mesh_certificates
1398
+ # @return [::Google::Cloud::Container::V1beta1::MeshCertificates]
1399
+ # Configuration for issuance of mTLS keys and certificates to Kubernetes
1400
+ # pods.
1401
+ # @!attribute [rw] workload_alts_config
1402
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadALTSConfig]
1403
+ # Configuration for direct-path (via ALTS) with workload identity.
1404
+ # @!attribute [rw] cost_management_config
1405
+ # @return [::Google::Cloud::Container::V1beta1::CostManagementConfig]
1406
+ # Configuration for the fine-grained cost management feature.
1225
1407
  # @!attribute [rw] cluster_telemetry
1226
1408
  # @return [::Google::Cloud::Container::V1beta1::ClusterTelemetry]
1227
1409
  # Telemetry integration for the cluster.
@@ -1233,7 +1415,8 @@ module Google
1233
1415
  # Notification configuration of the cluster.
1234
1416
  # @!attribute [rw] confidential_nodes
1235
1417
  # @return [::Google::Cloud::Container::V1beta1::ConfidentialNodes]
1236
- # Configuration of Confidential Nodes
1418
+ # Configuration of Confidential Nodes.
1419
+ # All the nodes in the cluster will be Confidential VM once enabled.
1237
1420
  # @!attribute [rw] identity_service_config
1238
1421
  # @return [::Google::Cloud::Container::V1beta1::IdentityServiceConfig]
1239
1422
  # Configuration for Identity Service component.
@@ -1355,6 +1538,13 @@ module Google
1355
1538
  # @!attribute [rw] monitoring_config
1356
1539
  # @return [::Google::Cloud::Container::V1beta1::MonitoringConfig]
1357
1540
  # Monitoring configuration for the cluster.
1541
+ # @!attribute [rw] node_pool_auto_config
1542
+ # @return [::Google::Cloud::Container::V1beta1::NodePoolAutoConfig]
1543
+ # Node pool configs that apply to all auto-provisioned node pools
1544
+ # in autopilot clusters and node auto-provisioning enabled clusters.
1545
+ # @!attribute [rw] protect_config
1546
+ # @return [::Google::Cloud::Container::V1beta1::ProtectConfig]
1547
+ # Enable/Disable Protect API features for the cluster.
1358
1548
  class Cluster
1359
1549
  include ::Google::Protobuf::MessageExts
1360
1550
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1398,6 +1588,48 @@ module Google
1398
1588
  end
1399
1589
  end
1400
1590
 
1591
+ # WorkloadConfig defines the flags to enable or disable the
1592
+ # workload configurations for the cluster.
1593
+ # @!attribute [rw] audit_mode
1594
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadConfig::Mode]
1595
+ # Sets which mode of auditing should be used for the cluster's workloads.
1596
+ class WorkloadConfig
1597
+ include ::Google::Protobuf::MessageExts
1598
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1599
+
1600
+ # Mode defines how to audit the workload configs.
1601
+ module Mode
1602
+ # Default value meaning that no mode has been specified.
1603
+ MODE_UNSPECIFIED = 0
1604
+
1605
+ # This disables Workload Configuration auditing on the cluster,
1606
+ # meaning that nothing is surfaced.
1607
+ DISABLED = 1
1608
+
1609
+ # Applies the default set of policy auditing to a cluster's workloads.
1610
+ BASIC = 4
1611
+
1612
+ # Surfaces configurations that are not in line with the
1613
+ # Pod Security Standard Baseline policy.
1614
+ BASELINE = 2
1615
+
1616
+ # Surfaces configurations that are not in line with the
1617
+ # Pod Security Standard Restricted policy.
1618
+ RESTRICTED = 3
1619
+ end
1620
+ end
1621
+
1622
+ # ProtectConfig defines the flags needed to enable/disable features for the
1623
+ # Protect API.
1624
+ # @!attribute [rw] workload_config
1625
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadConfig]
1626
+ # WorkloadConfig defines which actions are enabled for a cluster's workload
1627
+ # configurations.
1628
+ class ProtectConfig
1629
+ include ::Google::Protobuf::MessageExts
1630
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1631
+ end
1632
+
1401
1633
  # Subset of Nodepool message that has defaults.
1402
1634
  # @!attribute [rw] node_config_defaults
1403
1635
  # @return [::Google::Cloud::Container::V1beta1::NodeConfigDefaults]
@@ -1408,11 +1640,27 @@ module Google
1408
1640
  end
1409
1641
 
1410
1642
  # Subset of NodeConfig message that has defaults.
1643
+ # @!attribute [rw] gcfs_config
1644
+ # @return [::Google::Cloud::Container::V1beta1::GcfsConfig]
1645
+ # GCFS (Google Container File System, also known as Riptide) options.
1411
1646
  class NodeConfigDefaults
1412
1647
  include ::Google::Protobuf::MessageExts
1413
1648
  extend ::Google::Protobuf::MessageExts::ClassMethods
1414
1649
  end
1415
1650
 
1651
+ # node pool configs that apply to all auto-provisioned node pools
1652
+ # in autopilot clusters and node auto-provisioning enabled clusters
1653
+ # @!attribute [rw] network_tags
1654
+ # @return [::Google::Cloud::Container::V1beta1::NetworkTags]
1655
+ # The list of instance tags applied to all nodes. Tags are used to identify
1656
+ # valid sources or targets for network firewalls and are specified by
1657
+ # the client during cluster creation. Each tag within the list
1658
+ # must comply with RFC1035.
1659
+ class NodePoolAutoConfig
1660
+ include ::Google::Protobuf::MessageExts
1661
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1662
+ end
1663
+
1416
1664
  # ClusterUpdate describes an update to the cluster. Exactly one update can
1417
1665
  # be applied to a cluster with each request, so at most one field can be
1418
1666
  # provided.
@@ -1545,6 +1793,9 @@ module Google
1545
1793
  # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
1546
1794
  # - "1.X.Y-gke.N": picks an explicit Kubernetes version
1547
1795
  # - "-": picks the default Kubernetes version
1796
+ # @!attribute [rw] desired_gcfs_config
1797
+ # @return [::Google::Cloud::Container::V1beta1::GcfsConfig]
1798
+ # The desired GCFS config for the cluster.
1548
1799
  # @!attribute [rw] desired_database_encryption
1549
1800
  # @return [::Google::Cloud::Container::V1beta1::DatabaseEncryption]
1550
1801
  # Configuration of etcd encryption.
@@ -1555,9 +1806,19 @@ module Google
1555
1806
  # @return [::Google::Cloud::Container::V1beta1::WorkloadCertificates]
1556
1807
  # Configuration for issuance of mTLS keys and certificates to Kubernetes
1557
1808
  # pods.
1809
+ # @!attribute [rw] desired_mesh_certificates
1810
+ # @return [::Google::Cloud::Container::V1beta1::MeshCertificates]
1811
+ # Configuration for issuance of mTLS keys and certificates to Kubernetes
1812
+ # pods.
1813
+ # @!attribute [rw] desired_workload_alts_config
1814
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadALTSConfig]
1815
+ # Configuration for direct-path (via ALTS) with workload identity.
1558
1816
  # @!attribute [rw] desired_shielded_nodes
1559
1817
  # @return [::Google::Cloud::Container::V1beta1::ShieldedNodes]
1560
1818
  # Configuration for Shielded Nodes.
1819
+ # @!attribute [rw] desired_cost_management_config
1820
+ # @return [::Google::Cloud::Container::V1beta1::CostManagementConfig]
1821
+ # The desired configuration for the fine-grained cost management feature.
1561
1822
  # @!attribute [rw] desired_master
1562
1823
  # @return [::Google::Cloud::Container::V1beta1::Master]
1563
1824
  # Configuration for master components.
@@ -1581,6 +1842,13 @@ module Google
1581
1842
  # @!attribute [rw] desired_identity_service_config
1582
1843
  # @return [::Google::Cloud::Container::V1beta1::IdentityServiceConfig]
1583
1844
  # The desired Identity Service component configuration.
1845
+ # @!attribute [rw] desired_node_pool_auto_config_network_tags
1846
+ # @return [::Google::Cloud::Container::V1beta1::NetworkTags]
1847
+ # The desired network tags that apply to all auto-provisioned node pools
1848
+ # in autopilot clusters and node auto-provisioning enabled clusters.
1849
+ # @!attribute [rw] desired_protect_config
1850
+ # @return [::Google::Cloud::Container::V1beta1::ProtectConfig]
1851
+ # Enable/Disable Protect API features for the cluster.
1584
1852
  class ClusterUpdate
1585
1853
  include ::Google::Protobuf::MessageExts
1586
1854
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1768,7 +2036,7 @@ module Google
1768
2036
  # @!attribute [rw] project_id
1769
2037
  # @return [::String]
1770
2038
  # Required. Deprecated. The Google Developers Console [project ID or project
1771
- # number](https://support.google.com/cloud/answer/6158840).
2039
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1772
2040
  # This field has been deprecated and replaced by the parent field.
1773
2041
  # @!attribute [rw] zone
1774
2042
  # @return [::String]
@@ -1793,7 +2061,7 @@ module Google
1793
2061
  # @!attribute [rw] project_id
1794
2062
  # @return [::String]
1795
2063
  # Required. Deprecated. The Google Developers Console [project ID or project
1796
- # number](https://support.google.com/cloud/answer/6158840).
2064
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1797
2065
  # This field has been deprecated and replaced by the name field.
1798
2066
  # @!attribute [rw] zone
1799
2067
  # @return [::String]
@@ -1818,7 +2086,7 @@ module Google
1818
2086
  # @!attribute [rw] project_id
1819
2087
  # @return [::String]
1820
2088
  # Required. Deprecated. The Google Developers Console [project ID or project
1821
- # number](https://support.google.com/cloud/answer/6158840).
2089
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1822
2090
  # This field has been deprecated and replaced by the name field.
1823
2091
  # @!attribute [rw] zone
1824
2092
  # @return [::String]
@@ -1846,7 +2114,7 @@ module Google
1846
2114
  # @!attribute [rw] project_id
1847
2115
  # @return [::String]
1848
2116
  # Required. Deprecated. The Google Developers Console [project ID or project
1849
- # number](https://support.google.com/cloud/answer/6158840).
2117
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1850
2118
  # This field has been deprecated and replaced by the name field.
1851
2119
  # @!attribute [rw] zone
1852
2120
  # @return [::String]
@@ -1917,6 +2185,16 @@ module Google
1917
2185
  # @!attribute [rw] kubelet_config
1918
2186
  # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
1919
2187
  # Node kubelet configs.
2188
+ # @!attribute [rw] node_network_config
2189
+ # @return [::Google::Cloud::Container::V1beta1::NodeNetworkConfig]
2190
+ # Node network config.
2191
+ # @!attribute [rw] gcfs_config
2192
+ # @return [::Google::Cloud::Container::V1beta1::GcfsConfig]
2193
+ # GCFS config.
2194
+ # @!attribute [rw] confidential_nodes
2195
+ # @return [::Google::Cloud::Container::V1beta1::ConfidentialNodes]
2196
+ # Confidential nodes config.
2197
+ # All the nodes in the node pool will be Confidential VM once enabled.
1920
2198
  # @!attribute [rw] gvnic
1921
2199
  # @return [::Google::Cloud::Container::V1beta1::VirtualNIC]
1922
2200
  # Enable or disable gvnic on the node pool.
@@ -1929,7 +2207,7 @@ module Google
1929
2207
  # @!attribute [rw] project_id
1930
2208
  # @return [::String]
1931
2209
  # Required. Deprecated. The Google Developers Console [project ID or project
1932
- # number](https://support.google.com/cloud/answer/6158840).
2210
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1933
2211
  # This field has been deprecated and replaced by the name field.
1934
2212
  # @!attribute [rw] zone
1935
2213
  # @return [::String]
@@ -1962,7 +2240,7 @@ module Google
1962
2240
  # @!attribute [rw] project_id
1963
2241
  # @return [::String]
1964
2242
  # Required. Deprecated. The Google Developers Console [project ID or project
1965
- # number](https://support.google.com/cloud/answer/6158840).
2243
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
1966
2244
  # This field has been deprecated and replaced by the name field.
1967
2245
  # @!attribute [rw] zone
1968
2246
  # @return [::String]
@@ -2000,7 +2278,7 @@ module Google
2000
2278
  # @!attribute [rw] project_id
2001
2279
  # @return [::String]
2002
2280
  # Required. Deprecated. The Google Developers Console [project ID or project
2003
- # number](https://support.google.com/cloud/answer/6158840).
2281
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2004
2282
  # This field has been deprecated and replaced by the name field.
2005
2283
  # @!attribute [rw] zone
2006
2284
  # @return [::String]
@@ -2038,7 +2316,7 @@ module Google
2038
2316
  # @!attribute [rw] project_id
2039
2317
  # @return [::String]
2040
2318
  # Required. Deprecated. The Google Developers Console [project ID or project
2041
- # number](https://support.google.com/cloud/answer/6158840).
2319
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2042
2320
  # This field has been deprecated and replaced by the name field.
2043
2321
  # @!attribute [rw] zone
2044
2322
  # @return [::String]
@@ -2052,8 +2330,8 @@ module Google
2052
2330
  # This field has been deprecated and replaced by the name field.
2053
2331
  # @!attribute [rw] addons_config
2054
2332
  # @return [::Google::Cloud::Container::V1beta1::AddonsConfig]
2055
- # Required. The desired configurations for the various addons available to
2056
- # run in the cluster.
2333
+ # Required. The desired configurations for the various addons available to run in the
2334
+ # cluster.
2057
2335
  # @!attribute [rw] name
2058
2336
  # @return [::String]
2059
2337
  # The name (project, location, cluster) of the cluster to set addons.
@@ -2067,7 +2345,7 @@ module Google
2067
2345
  # @!attribute [rw] project_id
2068
2346
  # @return [::String]
2069
2347
  # Required. Deprecated. The Google Developers Console [project ID or project
2070
- # number](https://support.google.com/cloud/answer/6158840).
2348
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2071
2349
  # This field has been deprecated and replaced by the name field.
2072
2350
  # @!attribute [rw] zone
2073
2351
  # @return [::String]
@@ -2101,7 +2379,7 @@ module Google
2101
2379
  # @!attribute [rw] project_id
2102
2380
  # @return [::String]
2103
2381
  # Required. Deprecated. The Google Developers Console [project ID or project
2104
- # number](https://support.google.com/cloud/answer/6158840).
2382
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2105
2383
  # This field has been deprecated and replaced by the name field.
2106
2384
  # @!attribute [rw] zone
2107
2385
  # @return [::String]
@@ -2138,7 +2416,7 @@ module Google
2138
2416
  # @!attribute [rw] project_id
2139
2417
  # @return [::String]
2140
2418
  # Required. Deprecated. The Google Developers Console [project ID or project
2141
- # number](https://support.google.com/cloud/answer/6158840).
2419
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2142
2420
  # This field has been deprecated and replaced by the name field.
2143
2421
  # @!attribute [rw] zone
2144
2422
  # @return [::String]
@@ -2187,7 +2465,7 @@ module Google
2187
2465
  # @!attribute [rw] project_id
2188
2466
  # @return [::String]
2189
2467
  # Required. Deprecated. The Google Developers Console [project ID or project
2190
- # number](https://support.google.com/cloud/answer/6158840).
2468
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2191
2469
  # This field has been deprecated and replaced by the name field.
2192
2470
  # @!attribute [rw] zone
2193
2471
  # @return [::String]
@@ -2212,7 +2490,7 @@ module Google
2212
2490
  # @!attribute [rw] project_id
2213
2491
  # @return [::String]
2214
2492
  # Required. Deprecated. The Google Developers Console [project ID or project
2215
- # number](https://support.google.com/cloud/answer/6158840).
2493
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2216
2494
  # This field has been deprecated and replaced by the parent field.
2217
2495
  # @!attribute [rw] zone
2218
2496
  # @return [::String]
@@ -2248,7 +2526,7 @@ module Google
2248
2526
  # @!attribute [rw] project_id
2249
2527
  # @return [::String]
2250
2528
  # Required. Deprecated. The Google Developers Console [project ID or project
2251
- # number](https://support.google.com/cloud/answer/6158840).
2529
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2252
2530
  # This field has been deprecated and replaced by the name field.
2253
2531
  # @!attribute [rw] zone
2254
2532
  # @return [::String]
@@ -2273,7 +2551,7 @@ module Google
2273
2551
  # @!attribute [rw] project_id
2274
2552
  # @return [::String]
2275
2553
  # Required. Deprecated. The Google Developers Console [project ID or project
2276
- # number](https://support.google.com/cloud/answer/6158840).
2554
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2277
2555
  # This field has been deprecated and replaced by the parent field.
2278
2556
  # @!attribute [rw] zone
2279
2557
  # @return [::String]
@@ -2295,7 +2573,7 @@ module Google
2295
2573
  # @!attribute [rw] project_id
2296
2574
  # @return [::String]
2297
2575
  # Required. Deprecated. The Google Developers Console [project ID or project
2298
- # number](https://support.google.com/cloud/answer/6158840).
2576
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2299
2577
  # This field has been deprecated and replaced by the name field.
2300
2578
  # @!attribute [rw] zone
2301
2579
  # @return [::String]
@@ -2333,7 +2611,7 @@ module Google
2333
2611
  # @!attribute [rw] project_id
2334
2612
  # @return [::String]
2335
2613
  # Required. Deprecated. The Google Developers Console [project ID or project
2336
- # number](https://support.google.com/cloud/answer/6158840).
2614
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2337
2615
  # This field has been deprecated and replaced by the name field.
2338
2616
  # @!attribute [rw] zone
2339
2617
  # @return [::String]
@@ -2446,7 +2724,7 @@ module Google
2446
2724
  # @!attribute [rw] project_id
2447
2725
  # @return [::String]
2448
2726
  # Required. Deprecated. The Google Developers Console [project ID or project
2449
- # number](https://developers.google.com/console/help/new/#projectnumber).
2727
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2450
2728
  # This field has been deprecated and replaced by the parent field.
2451
2729
  # @!attribute [rw] zone
2452
2730
  # @return [::String]
@@ -2463,7 +2741,7 @@ module Google
2463
2741
  # Required. The node pool to create.
2464
2742
  # @!attribute [rw] parent
2465
2743
  # @return [::String]
2466
- # The parent (project, location, cluster id) where the node pool will be
2744
+ # The parent (project, location, cluster name) where the node pool will be
2467
2745
  # created. Specified in the format
2468
2746
  # `projects/*/locations/*/clusters/*`.
2469
2747
  class CreateNodePoolRequest
@@ -2475,7 +2753,7 @@ module Google
2475
2753
  # @!attribute [rw] project_id
2476
2754
  # @return [::String]
2477
2755
  # Required. Deprecated. The Google Developers Console [project ID or project
2478
- # number](https://developers.google.com/console/help/new/#projectnumber).
2756
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2479
2757
  # This field has been deprecated and replaced by the name field.
2480
2758
  # @!attribute [rw] zone
2481
2759
  # @return [::String]
@@ -2505,7 +2783,7 @@ module Google
2505
2783
  # @!attribute [rw] project_id
2506
2784
  # @return [::String]
2507
2785
  # Required. Deprecated. The Google Developers Console [project ID or project
2508
- # number](https://developers.google.com/console/help/new/#projectnumber).
2786
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2509
2787
  # This field has been deprecated and replaced by the parent field.
2510
2788
  # @!attribute [rw] zone
2511
2789
  # @return [::String]
@@ -2519,7 +2797,7 @@ module Google
2519
2797
  # This field has been deprecated and replaced by the parent field.
2520
2798
  # @!attribute [rw] parent
2521
2799
  # @return [::String]
2522
- # The parent (project, location, cluster id) where the node pools will be
2800
+ # The parent (project, location, cluster name) where the node pools will be
2523
2801
  # listed. Specified in the format `projects/*/locations/*/clusters/*`.
2524
2802
  class ListNodePoolsRequest
2525
2803
  include ::Google::Protobuf::MessageExts
@@ -2530,7 +2808,7 @@ module Google
2530
2808
  # @!attribute [rw] project_id
2531
2809
  # @return [::String]
2532
2810
  # Required. Deprecated. The Google Developers Console [project ID or project
2533
- # number](https://developers.google.com/console/help/new/#projectnumber).
2811
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2534
2812
  # This field has been deprecated and replaced by the name field.
2535
2813
  # @!attribute [rw] zone
2536
2814
  # @return [::String]
@@ -2556,6 +2834,35 @@ module Google
2556
2834
  extend ::Google::Protobuf::MessageExts::ClassMethods
2557
2835
  end
2558
2836
 
2837
+ # Settings for blue-green upgrade.
2838
+ # @!attribute [rw] standard_rollout_policy
2839
+ # @return [::Google::Cloud::Container::V1beta1::BlueGreenSettings::StandardRolloutPolicy]
2840
+ # Standard policy for the blue-green upgrade.
2841
+ # @!attribute [rw] node_pool_soak_duration
2842
+ # @return [::Google::Protobuf::Duration]
2843
+ # Time needed after draining entire blue pool. After this period, blue pool
2844
+ # will be cleaned up.
2845
+ class BlueGreenSettings
2846
+ include ::Google::Protobuf::MessageExts
2847
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2848
+
2849
+ # Standard rollout policy is the default policy for blue-green.
2850
+ # @!attribute [rw] batch_percentage
2851
+ # @return [::Float]
2852
+ # Percentage of the bool pool nodes to drain in a batch.
2853
+ # The range of this field should be (0.0, 1.0].
2854
+ # @!attribute [rw] batch_node_count
2855
+ # @return [::Integer]
2856
+ # Number of blue nodes to drain in a batch.
2857
+ # @!attribute [rw] batch_soak_duration
2858
+ # @return [::Google::Protobuf::Duration]
2859
+ # Soak time after each batch gets drained. Default to zero.
2860
+ class StandardRolloutPolicy
2861
+ include ::Google::Protobuf::MessageExts
2862
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2863
+ end
2864
+ end
2865
+
2559
2866
  # NodePool contains the name and configuration for a cluster's node pool.
2560
2867
  # Node pools are a set of nodes (i.e. VM's), with a common configuration and
2561
2868
  # specification, under the control of the cluster master. They may have a set
@@ -2624,6 +2931,8 @@ module Google
2624
2931
  # [Output only] The resource URLs of the [managed instance
2625
2932
  # groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
2626
2933
  # associated with this node pool.
2934
+ # During the node pool blue-green upgrade operation, the URLs contain both
2935
+ # blue and green resources.
2627
2936
  # @!attribute [rw] status
2628
2937
  # @return [::Google::Cloud::Container::V1beta1::NodePool::Status]
2629
2938
  # [Output only] The status of the nodes in this pool instance.
@@ -2652,10 +2961,39 @@ module Google
2652
2961
  # @!attribute [rw] upgrade_settings
2653
2962
  # @return [::Google::Cloud::Container::V1beta1::NodePool::UpgradeSettings]
2654
2963
  # Upgrade settings control disruption and speed of the upgrade.
2964
+ # @!attribute [rw] placement_policy
2965
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::PlacementPolicy]
2966
+ # Specifies the node placement policy.
2967
+ # @!attribute [r] update_info
2968
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::UpdateInfo]
2969
+ # Output only. [Output only] Update info contains relevant information during a node
2970
+ # pool update.
2655
2971
  class NodePool
2656
2972
  include ::Google::Protobuf::MessageExts
2657
2973
  extend ::Google::Protobuf::MessageExts::ClassMethods
2658
2974
 
2975
+ # These upgrade settings configure the upgrade strategy for the node pool.
2976
+ # Use strategy to switch between the strategies applied to the node pool.
2977
+ #
2978
+ # If the strategy is SURGE, use max_surge and max_unavailable to control
2979
+ # the level of parallelism and the level of disruption caused by upgrade.
2980
+ # 1. maxSurge controls the number of additional nodes that can be added to
2981
+ # the node pool temporarily for the time of the upgrade to increase the
2982
+ # number of available nodes.
2983
+ # 2. maxUnavailable controls the number of nodes that can be simultaneously
2984
+ # unavailable.
2985
+ # 3. (maxUnavailable + maxSurge) determines the level of parallelism (how
2986
+ # many nodes are being upgraded at the same time).
2987
+ #
2988
+ # If the strategy is BLUE_GREEN, use blue_green_settings to configure the
2989
+ # blue-green upgrade related settings.
2990
+ # 1. standard_rollout_policy is the default policy. The policy is used to
2991
+ # control the way blue pool gets drained. The draining is executed in the
2992
+ # batch mode. The batch size could be specified as either percentage of the
2993
+ # node pool size or the number of nodes. batch_soak_duration is the soak
2994
+ # time after each batch gets drained.
2995
+ # 2. node_pool_soak_duration is the soak time after all blue nodes are
2996
+ # drained. After this period, the blue pool nodes will be deleted.
2659
2997
  # @!attribute [rw] max_surge
2660
2998
  # @return [::Integer]
2661
2999
  # The maximum number of nodes that can be created beyond the current size
@@ -2665,11 +3003,100 @@ module Google
2665
3003
  # The maximum number of nodes that can be simultaneously unavailable during
2666
3004
  # the upgrade process. A node is considered available if its status is
2667
3005
  # Ready.
3006
+ # @!attribute [rw] strategy
3007
+ # @return [::Google::Cloud::Container::V1beta1::NodePoolUpdateStrategy]
3008
+ # Update strategy of the node pool.
3009
+ # @!attribute [rw] blue_green_settings
3010
+ # @return [::Google::Cloud::Container::V1beta1::BlueGreenSettings]
3011
+ # Settings for blue-green upgrade strategy.
2668
3012
  class UpgradeSettings
2669
3013
  include ::Google::Protobuf::MessageExts
2670
3014
  extend ::Google::Protobuf::MessageExts::ClassMethods
2671
3015
  end
2672
3016
 
3017
+ # UpdateInfo contains resource (instance groups, etc), status and other
3018
+ # intermediate information relevant to a node pool upgrade.
3019
+ # @!attribute [rw] blue_green_info
3020
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::UpdateInfo::BlueGreenInfo]
3021
+ # Information of a blue-green upgrade.
3022
+ class UpdateInfo
3023
+ include ::Google::Protobuf::MessageExts
3024
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3025
+
3026
+ # Information relevant to blue-green upgrade.
3027
+ # @!attribute [rw] phase
3028
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::UpdateInfo::BlueGreenInfo::Phase]
3029
+ # Current blue-green upgrade phase.
3030
+ # @!attribute [rw] blue_instance_group_urls
3031
+ # @return [::Array<::String>]
3032
+ # The resource URLs of the [managed instance groups]
3033
+ # (/compute/docs/instance-groups/creating-groups-of-managed-instances)
3034
+ # associated with blue pool.
3035
+ # @!attribute [rw] green_instance_group_urls
3036
+ # @return [::Array<::String>]
3037
+ # The resource URLs of the [managed instance groups]
3038
+ # (/compute/docs/instance-groups/creating-groups-of-managed-instances)
3039
+ # associated with green pool.
3040
+ # @!attribute [rw] blue_pool_deletion_start_time
3041
+ # @return [::String]
3042
+ # Time to start deleting blue pool to complete blue-green upgrade,
3043
+ # in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3044
+ # @!attribute [rw] green_pool_version
3045
+ # @return [::String]
3046
+ # Version of green pool.
3047
+ class BlueGreenInfo
3048
+ include ::Google::Protobuf::MessageExts
3049
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3050
+
3051
+ # Phase represents the different stages blue-green upgrade is running in.
3052
+ module Phase
3053
+ # Unspecified phase.
3054
+ PHASE_UNSPECIFIED = 0
3055
+
3056
+ # blue-green upgrade has been initiated.
3057
+ UPDATE_STARTED = 1
3058
+
3059
+ # Start creating green pool nodes.
3060
+ CREATING_GREEN_POOL = 2
3061
+
3062
+ # Start cordoning blue pool nodes.
3063
+ CORDONING_BLUE_POOL = 3
3064
+
3065
+ # Start draining blue pool nodes.
3066
+ DRAINING_BLUE_POOL = 4
3067
+
3068
+ # Start soaking time after draining entire blue pool.
3069
+ NODE_POOL_SOAKING = 5
3070
+
3071
+ # Start deleting blue nodes.
3072
+ DELETING_BLUE_POOL = 6
3073
+
3074
+ # Rollback has been initiated.
3075
+ ROLLBACK_STARTED = 7
3076
+ end
3077
+ end
3078
+ end
3079
+
3080
+ # PlacementPolicy defines the placement policy used by the node pool.
3081
+ # @!attribute [rw] type
3082
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::PlacementPolicy::Type]
3083
+ # The type of placement.
3084
+ class PlacementPolicy
3085
+ include ::Google::Protobuf::MessageExts
3086
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3087
+
3088
+ # Type defines the type of placement policy.
3089
+ module Type
3090
+ # TYPE_UNSPECIFIED specifies no requirements on nodes
3091
+ # placement.
3092
+ TYPE_UNSPECIFIED = 0
3093
+
3094
+ # COMPACT specifies node placement in the same availability domain to
3095
+ # ensure low communication latency.
3096
+ COMPACT = 1
3097
+ end
3098
+ end
3099
+
2673
3100
  # The current status of the node pool instance.
2674
3101
  module Status
2675
3102
  # Not set.
@@ -2778,6 +3205,10 @@ module Google
2778
3205
  end
2779
3206
 
2780
3207
  # Represents an arbitrary window of time.
3208
+ # @!attribute [rw] maintenance_exclusion_options
3209
+ # @return [::Google::Cloud::Container::V1beta1::MaintenanceExclusionOptions]
3210
+ # MaintenanceExclusionOptions provides maintenance exclusion related
3211
+ # options.
2781
3212
  # @!attribute [rw] start_time
2782
3213
  # @return [::Google::Protobuf::Timestamp]
2783
3214
  # The time that the window first starts.
@@ -2790,6 +3221,33 @@ module Google
2790
3221
  extend ::Google::Protobuf::MessageExts::ClassMethods
2791
3222
  end
2792
3223
 
3224
+ # Represents the Maintenance exclusion option.
3225
+ # @!attribute [rw] scope
3226
+ # @return [::Google::Cloud::Container::V1beta1::MaintenanceExclusionOptions::Scope]
3227
+ # Scope specifies the upgrade scope which upgrades are blocked by the
3228
+ # exclusion.
3229
+ class MaintenanceExclusionOptions
3230
+ include ::Google::Protobuf::MessageExts
3231
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3232
+
3233
+ # Scope of exclusion.
3234
+ module Scope
3235
+ # NO_UPGRADES excludes all upgrades, including patch upgrades and minor
3236
+ # upgrades across control planes and nodes. This is the default exclusion
3237
+ # behavior.
3238
+ NO_UPGRADES = 0
3239
+
3240
+ # NO_MINOR_UPGRADES excludes all minor upgrades for the cluster, only
3241
+ # patches are allowed.
3242
+ NO_MINOR_UPGRADES = 1
3243
+
3244
+ # NO_MINOR_OR_NODE_UPGRADES excludes all minor upgrades for the cluster,
3245
+ # and also exclude all node pool upgrades. Only control
3246
+ # plane patches are allowed.
3247
+ NO_MINOR_OR_NODE_UPGRADES = 2
3248
+ end
3249
+ end
3250
+
2793
3251
  # Represents an arbitrary window of time that recurs.
2794
3252
  # @!attribute [rw] window
2795
3253
  # @return [::Google::Cloud::Container::V1beta1::TimeWindow]
@@ -2852,7 +3310,7 @@ module Google
2852
3310
  # @!attribute [rw] project_id
2853
3311
  # @return [::String]
2854
3312
  # Required. Deprecated. The Google Developers Console [project ID or project
2855
- # number](https://support.google.com/cloud/answer/6158840).
3313
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2856
3314
  # This field has been deprecated and replaced by the name field.
2857
3315
  # @!attribute [rw] zone
2858
3316
  # @return [::String]
@@ -2885,7 +3343,7 @@ module Google
2885
3343
  # @!attribute [rw] project_id
2886
3344
  # @return [::String]
2887
3345
  # Required. Deprecated. The Google Developers Console [project ID or project
2888
- # number](https://support.google.com/cloud/answer/6158840).
3346
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2889
3347
  # This field has been deprecated and replaced by the name field.
2890
3348
  # @!attribute [rw] zone
2891
3349
  # @return [::String]
@@ -2914,13 +3372,25 @@ module Google
2914
3372
  extend ::Google::Protobuf::MessageExts::ClassMethods
2915
3373
  end
2916
3374
 
3375
+ # CompleteNodePoolUpgradeRequest sets the name of target node pool to complete
3376
+ # upgrade.
3377
+ # @!attribute [rw] name
3378
+ # @return [::String]
3379
+ # The name (project, location, cluster, node pool id) of the node pool to
3380
+ # complete upgrade.
3381
+ # Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
3382
+ class CompleteNodePoolUpgradeRequest
3383
+ include ::Google::Protobuf::MessageExts
3384
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3385
+ end
3386
+
2917
3387
  # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
2918
3388
  # NodePool upgrade. This will be an no-op if the last upgrade successfully
2919
3389
  # completed.
2920
3390
  # @!attribute [rw] project_id
2921
3391
  # @return [::String]
2922
3392
  # Required. Deprecated. The Google Developers Console [project ID or project
2923
- # number](https://support.google.com/cloud/answer/6158840).
3393
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2924
3394
  # This field has been deprecated and replaced by the name field.
2925
3395
  # @!attribute [rw] zone
2926
3396
  # @return [::String]
@@ -2941,6 +3411,10 @@ module Google
2941
3411
  # The name (project, location, cluster, node pool id) of the node poll to
2942
3412
  # rollback upgrade.
2943
3413
  # Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
3414
+ # @!attribute [rw] respect_pdb
3415
+ # @return [::Boolean]
3416
+ # Option for rollback to ignore the PodDisruptionBudget.
3417
+ # Default value is false.
2944
3418
  class RollbackNodePoolUpgradeRequest
2945
3419
  include ::Google::Protobuf::MessageExts
2946
3420
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3027,13 +3501,16 @@ module Google
3027
3501
  # NodeManagement configuration for this NodePool.
3028
3502
  # @!attribute [rw] min_cpu_platform
3029
3503
  # @return [::String]
3030
- # Minimum CPU platform to be used by this instance. The instance may be
3031
- # scheduled on the specified or newer CPU platform. Applicable values are the
3032
- # friendly names of CPU platforms, such as
3033
- # `minCpuPlatform: "Intel Haswell"` or
3034
- # `minCpuPlatform: "Intel Sandy Bridge"`. For more
3504
+ # Deprecated. Minimum CPU platform to be used for NAP created node pools.
3505
+ # The instance may be scheduled on the specified or newer CPU platform.
3506
+ # Applicable values are the friendly names of CPU platforms, such as
3507
+ # minCpuPlatform: Intel Haswell or
3508
+ # minCpuPlatform: Intel Sandy Bridge. For more
3035
3509
  # information, read [how to specify min CPU
3036
3510
  # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
3511
+ # This field is deprecated, min_cpu_platform should be specified using
3512
+ # https://cloud.google.com/requested-min-cpu-platform label selector on the
3513
+ # pod.
3037
3514
  # To unset the min cpu platform field pass "automatic"
3038
3515
  # as field value.
3039
3516
  # @!attribute [rw] disk_size_gb
@@ -3090,18 +3567,47 @@ module Google
3090
3567
  # Is autoscaling enabled for this node pool.
3091
3568
  # @!attribute [rw] min_node_count
3092
3569
  # @return [::Integer]
3093
- # Minimum number of nodes in the NodePool. Must be >= 1 and <=
3094
- # max_node_count.
3570
+ # Minimum number of nodes for one location in the NodePool. Must be >= 1 and
3571
+ # <= max_node_count.
3095
3572
  # @!attribute [rw] max_node_count
3096
3573
  # @return [::Integer]
3097
- # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
3098
- # has to be enough quota to scale up the cluster.
3574
+ # Maximum number of nodes for one location in the NodePool. Must be >=
3575
+ # min_node_count. There has to be enough quota to scale up the cluster.
3099
3576
  # @!attribute [rw] autoprovisioned
3100
3577
  # @return [::Boolean]
3101
3578
  # Can this node pool be deleted automatically.
3579
+ # @!attribute [rw] location_policy
3580
+ # @return [::Google::Cloud::Container::V1beta1::NodePoolAutoscaling::LocationPolicy]
3581
+ # Location policy used when scaling up a nodepool.
3582
+ # @!attribute [rw] total_min_node_count
3583
+ # @return [::Integer]
3584
+ # Minimum number of nodes in the node pool. Must be greater than 1 less than
3585
+ # total_max_node_count.
3586
+ # The total_*_node_count fields are mutually exclusive with the *_node_count
3587
+ # fields.
3588
+ # @!attribute [rw] total_max_node_count
3589
+ # @return [::Integer]
3590
+ # Maximum number of nodes in the node pool. Must be greater than
3591
+ # total_min_node_count. There has to be enough quota to scale up the cluster.
3592
+ # The total_*_node_count fields are mutually exclusive with the *_node_count
3593
+ # fields.
3102
3594
  class NodePoolAutoscaling
3103
3595
  include ::Google::Protobuf::MessageExts
3104
3596
  extend ::Google::Protobuf::MessageExts::ClassMethods
3597
+
3598
+ # Location policy specifies how zones are picked when scaling up the
3599
+ # nodepool.
3600
+ module LocationPolicy
3601
+ # Not set.
3602
+ LOCATION_POLICY_UNSPECIFIED = 0
3603
+
3604
+ # BALANCED is a best effort policy that aims to balance the sizes of
3605
+ # different zones.
3606
+ BALANCED = 1
3607
+
3608
+ # ANY policy picks zones that have the highest capacity available.
3609
+ ANY = 2
3610
+ end
3105
3611
  end
3106
3612
 
3107
3613
  # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
@@ -3110,7 +3616,7 @@ module Google
3110
3616
  # @!attribute [rw] project_id
3111
3617
  # @return [::String]
3112
3618
  # Required. Deprecated. The Google Developers Console [project ID or project
3113
- # number](https://developers.google.com/console/help/new/#projectnumber).
3619
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3114
3620
  # This field has been deprecated and replaced by the name field.
3115
3621
  # @!attribute [rw] zone
3116
3622
  # @return [::String]
@@ -3135,7 +3641,7 @@ module Google
3135
3641
  # resource to get the latest fingerprint.
3136
3642
  # @!attribute [rw] name
3137
3643
  # @return [::String]
3138
- # The name (project, location, cluster id) of the cluster to set labels.
3644
+ # The name (project, location, cluster name) of the cluster to set labels.
3139
3645
  # Specified in the format `projects/*/locations/*/clusters/*`.
3140
3646
  class SetLabelsRequest
3141
3647
  include ::Google::Protobuf::MessageExts
@@ -3156,7 +3662,7 @@ module Google
3156
3662
  # @!attribute [rw] project_id
3157
3663
  # @return [::String]
3158
3664
  # Required. Deprecated. The Google Developers Console [project ID or project
3159
- # number](https://support.google.com/cloud/answer/6158840).
3665
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3160
3666
  # This field has been deprecated and replaced by the name field.
3161
3667
  # @!attribute [rw] zone
3162
3668
  # @return [::String]
@@ -3173,8 +3679,8 @@ module Google
3173
3679
  # Required. Whether ABAC authorization will be enabled in the cluster.
3174
3680
  # @!attribute [rw] name
3175
3681
  # @return [::String]
3176
- # The name (project, location, cluster id) of the cluster to set legacy abac.
3177
- # Specified in the format `projects/*/locations/*/clusters/*`.
3682
+ # The name (project, location, cluster name) of the cluster to set legacy
3683
+ # abac. Specified in the format `projects/*/locations/*/clusters/*`.
3178
3684
  class SetLegacyAbacRequest
3179
3685
  include ::Google::Protobuf::MessageExts
3180
3686
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3185,7 +3691,7 @@ module Google
3185
3691
  # @!attribute [rw] project_id
3186
3692
  # @return [::String]
3187
3693
  # Required. Deprecated. The Google Developers Console [project ID or project
3188
- # number](https://developers.google.com/console/help/new/#projectnumber).
3694
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3189
3695
  # This field has been deprecated and replaced by the name field.
3190
3696
  # @!attribute [rw] zone
3191
3697
  # @return [::String]
@@ -3199,7 +3705,7 @@ module Google
3199
3705
  # This field has been deprecated and replaced by the name field.
3200
3706
  # @!attribute [rw] name
3201
3707
  # @return [::String]
3202
- # The name (project, location, cluster id) of the cluster to start IP
3708
+ # The name (project, location, cluster name) of the cluster to start IP
3203
3709
  # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
3204
3710
  # @!attribute [rw] rotate_credentials
3205
3711
  # @return [::Boolean]
@@ -3213,7 +3719,7 @@ module Google
3213
3719
  # @!attribute [rw] project_id
3214
3720
  # @return [::String]
3215
3721
  # Required. Deprecated. The Google Developers Console [project ID or project
3216
- # number](https://developers.google.com/console/help/new/#projectnumber).
3722
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3217
3723
  # This field has been deprecated and replaced by the name field.
3218
3724
  # @!attribute [rw] zone
3219
3725
  # @return [::String]
@@ -3227,7 +3733,7 @@ module Google
3227
3733
  # This field has been deprecated and replaced by the name field.
3228
3734
  # @!attribute [rw] name
3229
3735
  # @return [::String]
3230
- # The name (project, location, cluster id) of the cluster to complete IP
3736
+ # The name (project, location, cluster name) of the cluster to complete IP
3231
3737
  # rotation. Specified in the format `projects/*/locations/*/clusters/*`.
3232
3738
  class CompleteIPRotationRequest
3233
3739
  include ::Google::Protobuf::MessageExts
@@ -3247,11 +3753,49 @@ module Google
3247
3753
  # Size of partitions to create on the GPU. Valid values are described in the
3248
3754
  # NVIDIA [mig user
3249
3755
  # guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
3756
+ # @!attribute [rw] max_time_shared_clients_per_gpu
3757
+ # @return [::Integer]
3758
+ # The number of time-shared GPU resources to expose for each physical GPU.
3759
+ # @!attribute [rw] gpu_sharing_config
3760
+ # @return [::Google::Cloud::Container::V1beta1::GPUSharingConfig]
3761
+ # The configuration for GPU sharing options.
3250
3762
  class AcceleratorConfig
3251
3763
  include ::Google::Protobuf::MessageExts
3252
3764
  extend ::Google::Protobuf::MessageExts::ClassMethods
3253
3765
  end
3254
3766
 
3767
+ # GPUSharingConfig represents the GPU sharing configuration for Hardware
3768
+ # Accelerators.
3769
+ # @!attribute [rw] max_shared_clients_per_gpu
3770
+ # @return [::Integer]
3771
+ # The max number of containers that can share a physical GPU.
3772
+ # @!attribute [rw] gpu_sharing_strategy
3773
+ # @return [::Google::Cloud::Container::V1beta1::GPUSharingConfig::GPUSharingStrategy]
3774
+ # The type of GPU sharing strategy to enable on the GPU node.
3775
+ class GPUSharingConfig
3776
+ include ::Google::Protobuf::MessageExts
3777
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3778
+
3779
+ # The type of GPU sharing strategy currently provided.
3780
+ module GPUSharingStrategy
3781
+ # Default value.
3782
+ GPU_SHARING_STRATEGY_UNSPECIFIED = 0
3783
+
3784
+ # GPUs are time-shared between containers.
3785
+ TIME_SHARING = 1
3786
+ end
3787
+ end
3788
+
3789
+ # ManagedPrometheusConfig defines the configuration for
3790
+ # Google Cloud Managed Service for Prometheus.
3791
+ # @!attribute [rw] enabled
3792
+ # @return [::Boolean]
3793
+ # Enable Managed Collection.
3794
+ class ManagedPrometheusConfig
3795
+ include ::Google::Protobuf::MessageExts
3796
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3797
+ end
3798
+
3255
3799
  # WorkloadMetadataConfig defines the metadata configuration to expose to
3256
3800
  # workloads on the node pool.
3257
3801
  # @!attribute [rw] node_metadata
@@ -3315,7 +3859,7 @@ module Google
3315
3859
  # @!attribute [rw] project_id
3316
3860
  # @return [::String]
3317
3861
  # Required. Deprecated. The Google Developers Console [project ID or project
3318
- # number](https://developers.google.com/console/help/new/#projectnumber).
3862
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3319
3863
  # This field has been deprecated and replaced by the name field.
3320
3864
  # @!attribute [rw] zone
3321
3865
  # @return [::String]
@@ -3332,7 +3876,7 @@ module Google
3332
3876
  # Required. Configuration options for the NetworkPolicy feature.
3333
3877
  # @!attribute [rw] name
3334
3878
  # @return [::String]
3335
- # The name (project, location, cluster id) of the cluster to set networking
3879
+ # The name (project, location, cluster name) of the cluster to set networking
3336
3880
  # policy. Specified in the format `projects/*/locations/*/clusters/*`.
3337
3881
  class SetNetworkPolicyRequest
3338
3882
  include ::Google::Protobuf::MessageExts
@@ -3343,7 +3887,7 @@ module Google
3343
3887
  # @!attribute [rw] project_id
3344
3888
  # @return [::String]
3345
3889
  # Required. The Google Developers Console [project ID or project
3346
- # number](https://support.google.com/cloud/answer/6158840).
3890
+ # number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3347
3891
  # @!attribute [rw] zone
3348
3892
  # @return [::String]
3349
3893
  # Required. The name of the Google Compute Engine
@@ -3358,8 +3902,8 @@ module Google
3358
3902
  # clears the existing maintenance policy.
3359
3903
  # @!attribute [rw] name
3360
3904
  # @return [::String]
3361
- # The name (project, location, cluster id) of the cluster to set maintenance
3362
- # policy.
3905
+ # The name (project, location, cluster name) of the cluster to set
3906
+ # maintenance policy.
3363
3907
  # Specified in the format `projects/*/locations/*/clusters/*`.
3364
3908
  class SetMaintenancePolicyRequest
3365
3909
  include ::Google::Protobuf::MessageExts
@@ -3404,7 +3948,7 @@ module Google
3404
3948
  # Specified in the format `projects/*/locations/*`.
3405
3949
  # @!attribute [rw] recommended
3406
3950
  # @return [::Boolean]
3407
- # Whether the location is recomended for GKE cluster scheduling.
3951
+ # Whether the location is recommended for GKE cluster scheduling.
3408
3952
  class Location
3409
3953
  include ::Google::Protobuf::MessageExts
3410
3954
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3736,6 +4280,20 @@ module Google
3736
4280
  extend ::Google::Protobuf::MessageExts::ClassMethods
3737
4281
  end
3738
4282
 
4283
+ # Configuration for direct-path (via ALTS) with workload identity.
4284
+ # @!attribute [rw] enable_alts
4285
+ # @return [::Google::Protobuf::BoolValue]
4286
+ # enable_alts controls whether the alts handshaker should be enabled or not
4287
+ # for direct-path.
4288
+ #
4289
+ # Requires Workload Identity
4290
+ # ({::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig#workload_pool workload_pool}
4291
+ # must be non-empty).
4292
+ class WorkloadALTSConfig
4293
+ include ::Google::Protobuf::MessageExts
4294
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4295
+ end
4296
+
3739
4297
  # Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
3740
4298
  # @!attribute [rw] enable_certificates
3741
4299
  # @return [::Google::Protobuf::BoolValue]
@@ -3753,6 +4311,23 @@ module Google
3753
4311
  extend ::Google::Protobuf::MessageExts::ClassMethods
3754
4312
  end
3755
4313
 
4314
+ # Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
4315
+ # @!attribute [rw] enable_certificates
4316
+ # @return [::Google::Protobuf::BoolValue]
4317
+ # enable_certificates controls issuance of workload mTLS certificates.
4318
+ #
4319
+ # If set, the GKE Workload Identity Certificates controller and node agent
4320
+ # will be deployed in the cluster, which can then be configured by creating a
4321
+ # WorkloadCertificateConfig Custom Resource.
4322
+ #
4323
+ # Requires Workload Identity
4324
+ # ([workload_pool][google.container.v1alpha1.WorkloadIdentityConfig.workload_pool]
4325
+ # must be non-empty).
4326
+ class MeshCertificates
4327
+ include ::Google::Protobuf::MessageExts
4328
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4329
+ end
4330
+
3756
4331
  # Configuration of etcd encryption.
3757
4332
  # @!attribute [rw] state
3758
4333
  # @return [::Google::Cloud::Container::V1beta1::DatabaseEncryption::State]
@@ -3837,7 +4412,7 @@ module Google
3837
4412
  # cluster. See the OpenID Connect Discovery 1.0 specification for details.
3838
4413
  # @!attribute [rw] parent
3839
4414
  # @return [::String]
3840
- # The cluster (project, location, cluster id) to get the discovery document
4415
+ # The cluster (project, location, cluster name) to get the discovery document
3841
4416
  # for. Specified in the format `projects/*/locations/*/clusters/*`.
3842
4417
  class GetOpenIDConfigRequest
3843
4418
  include ::Google::Protobuf::MessageExts
@@ -3878,7 +4453,7 @@ module Google
3878
4453
  # Discovery 1.0 specification for details.
3879
4454
  # @!attribute [rw] parent
3880
4455
  # @return [::String]
3881
- # The cluster (project, location, cluster id) to get keys for. Specified in
4456
+ # The cluster (project, location, cluster name) to get keys for. Specified in
3882
4457
  # the format `projects/*/locations/*/clusters/*`.
3883
4458
  class GetJSONWebKeysRequest
3884
4459
  include ::Google::Protobuf::MessageExts
@@ -3965,6 +4540,15 @@ module Google
3965
4540
  end
3966
4541
  end
3967
4542
 
4543
+ # Configuration for fine-grained cost management feature.
4544
+ # @!attribute [rw] enabled
4545
+ # @return [::Boolean]
4546
+ # Whether the feature is enabled or not.
4547
+ class CostManagementConfig
4548
+ include ::Google::Protobuf::MessageExts
4549
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4550
+ end
4551
+
3968
4552
  # Configuration for Cloud TPU.
3969
4553
  # @!attribute [rw] enabled
3970
4554
  # @return [::Boolean]
@@ -4011,18 +4595,50 @@ module Google
4011
4595
  # @return [::String]
4012
4596
  # The desired Pub/Sub topic to which notifications will be
4013
4597
  # sent by GKE. Format is `projects/{project}/topics/{topic}`.
4598
+ # @!attribute [rw] filter
4599
+ # @return [::Google::Cloud::Container::V1beta1::NotificationConfig::Filter]
4600
+ # Allows filtering to one or more specific event types. If no filter is
4601
+ # specified, or if a filter is specified with no event types, all event
4602
+ # types will be sent
4014
4603
  class PubSub
4015
4604
  include ::Google::Protobuf::MessageExts
4016
4605
  extend ::Google::Protobuf::MessageExts::ClassMethods
4017
4606
  end
4607
+
4608
+ # Allows filtering to one or more specific event types. If event types are
4609
+ # present, those and only those event types will be transmitted to the
4610
+ # cluster. Other types will be skipped. If no filter is specified, or no
4611
+ # event types are present, all event types will be sent
4612
+ # @!attribute [rw] event_type
4613
+ # @return [::Array<::Google::Cloud::Container::V1beta1::NotificationConfig::EventType>]
4614
+ # Event types to allowlist.
4615
+ class Filter
4616
+ include ::Google::Protobuf::MessageExts
4617
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4618
+ end
4619
+
4620
+ # Types of notifications currently supported. Can be used to filter what
4621
+ # notifications are sent.
4622
+ module EventType
4623
+ # Not set, will be ignored.
4624
+ EVENT_TYPE_UNSPECIFIED = 0
4625
+
4626
+ # Corresponds with UpgradeAvailableEvent.
4627
+ UPGRADE_AVAILABLE_EVENT = 1
4628
+
4629
+ # Corresponds with UpgradeEvent.
4630
+ UPGRADE_EVENT = 2
4631
+
4632
+ # Corresponds with SecurityBulletinEvent.
4633
+ SECURITY_BULLETIN_EVENT = 3
4634
+ end
4018
4635
  end
4019
4636
 
4020
4637
  # ConfidentialNodes is configuration for the confidential nodes feature, which
4021
4638
  # makes nodes run on confidential VMs.
4022
4639
  # @!attribute [rw] enabled
4023
4640
  # @return [::Boolean]
4024
- # Whether Confidential Nodes feature is enabled for all nodes in this
4025
- # cluster.
4641
+ # Whether Confidential Nodes feature is enabled.
4026
4642
  class ConfidentialNodes
4027
4643
  include ::Google::Protobuf::MessageExts
4028
4644
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4078,6 +4694,51 @@ module Google
4078
4694
  extend ::Google::Protobuf::MessageExts::ClassMethods
4079
4695
  end
4080
4696
 
4697
+ # SecurityBulletinEvent is a notification sent to customers when a security
4698
+ # bulletin has been posted that they are vulnerable to.
4699
+ # @!attribute [rw] resource_type_affected
4700
+ # @return [::String]
4701
+ # The resource type (node/control plane) that has the vulnerability. Multiple
4702
+ # notifications (1 notification per resource type) will be sent for a
4703
+ # vulnerability that affects > 1 resource type.
4704
+ # @!attribute [rw] bulletin_id
4705
+ # @return [::String]
4706
+ # The ID of the bulletin corresponding to the vulnerability.
4707
+ # @!attribute [rw] cve_ids
4708
+ # @return [::Array<::String>]
4709
+ # The CVEs associated with this bulletin.
4710
+ # @!attribute [rw] severity
4711
+ # @return [::String]
4712
+ # The severity of this bulletin as it relates to GKE.
4713
+ # @!attribute [rw] bulletin_uri
4714
+ # @return [::String]
4715
+ # The URI link to the bulletin on the website for more information.
4716
+ # @!attribute [rw] brief_description
4717
+ # @return [::String]
4718
+ # A brief description of the bulletin. See the bulletin pointed to by the
4719
+ # bulletin_uri field for an expanded description.
4720
+ # @!attribute [rw] affected_supported_minors
4721
+ # @return [::Array<::String>]
4722
+ # The GKE minor versions affected by this vulnerability.
4723
+ # @!attribute [rw] patched_versions
4724
+ # @return [::Array<::String>]
4725
+ # The GKE versions where this vulnerability is patched.
4726
+ # @!attribute [rw] suggested_upgrade_target
4727
+ # @return [::String]
4728
+ # This represents a version selected from the patched_versions field that
4729
+ # the cluster receiving this notification should most likely want to upgrade
4730
+ # to based on its current version. Note that if this notification is being
4731
+ # received by a given cluster, it means that this version is currently
4732
+ # available as an upgrade target in that cluster's location.
4733
+ # @!attribute [rw] manual_steps_required
4734
+ # @return [::Boolean]
4735
+ # If this field is specified, it means there are manual steps that the user
4736
+ # must take to make their clusters safe.
4737
+ class SecurityBulletinEvent
4738
+ include ::Google::Protobuf::MessageExts
4739
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4740
+ end
4741
+
4081
4742
  # IdentityServiceConfig is configuration for Identity Service which allows
4082
4743
  # customers to use external identity providers with the K8S API
4083
4744
  # @!attribute [rw] enabled
@@ -4122,6 +4783,10 @@ module Google
4122
4783
  # @!attribute [rw] component_config
4123
4784
  # @return [::Google::Cloud::Container::V1beta1::MonitoringComponentConfig]
4124
4785
  # Monitoring components configuration
4786
+ # @!attribute [rw] managed_prometheus_config
4787
+ # @return [::Google::Cloud::Container::V1beta1::ManagedPrometheusConfig]
4788
+ # Enable Google Cloud Managed Service for Prometheus
4789
+ # in the cluster.
4125
4790
  class MonitoringConfig
4126
4791
  include ::Google::Protobuf::MessageExts
4127
4792
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4144,8 +4809,17 @@ module Google
4144
4809
  # system components
4145
4810
  SYSTEM_COMPONENTS = 1
4146
4811
 
4147
- # workloads
4812
+ # Deprecated: Use Google Cloud Managed Service for Prometheus.
4148
4813
  WORKLOADS = 2
4814
+
4815
+ # kube-apiserver
4816
+ APISERVER = 3
4817
+
4818
+ # kube-scheduler
4819
+ SCHEDULER = 4
4820
+
4821
+ # kube-controller-manager
4822
+ CONTROLLER_MANAGER = 5
4149
4823
  end
4150
4824
  end
4151
4825
 
@@ -4165,8 +4839,34 @@ module Google
4165
4839
  PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3
4166
4840
  end
4167
4841
 
4842
+ # UpgradeResourceType is the resource type that is upgrading. It is used
4843
+ # in upgrade notifications.
4844
+ module UpgradeResourceType
4845
+ # Default value. This shouldn't be used.
4846
+ UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0
4847
+
4848
+ # Master / control plane
4849
+ MASTER = 1
4850
+
4851
+ # Node pool
4852
+ NODE_POOL = 2
4853
+ end
4854
+
4855
+ # Strategy used for node pool update.
4856
+ module NodePoolUpdateStrategy
4857
+ # Default value.
4858
+ NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED = 0
4859
+
4860
+ # blue-green upgrade.
4861
+ BLUE_GREEN = 2
4862
+
4863
+ # SURGE is the traditional way of upgrading a node pool.
4864
+ # max_surge and max_unavailable determines the level of upgrade parallelism.
4865
+ SURGE = 3
4866
+ end
4867
+
4168
4868
  # The datapath provider selects the implementation of the Kubernetes networking
4169
- # // model for service resolution and network policy enforcement.
4869
+ # model for service resolution and network policy enforcement.
4170
4870
  module DatapathProvider
4171
4871
  # Default value.
4172
4872
  DATAPATH_PROVIDER_UNSPECIFIED = 0
@@ -4180,19 +4880,6 @@ module Google
4180
4880
  # for more.
4181
4881
  ADVANCED_DATAPATH = 2
4182
4882
  end
4183
-
4184
- # UpgradeResourceType is the resource type that is upgrading. It is used
4185
- # in upgrade notifications.
4186
- module UpgradeResourceType
4187
- # Default value. This shouldn't be used.
4188
- UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0
4189
-
4190
- # Master / control plane
4191
- MASTER = 1
4192
-
4193
- # Node pool
4194
- NODE_POOL = 2
4195
- end
4196
4883
  end
4197
4884
  end
4198
4885
  end