google-cloud-container-v1beta1 0.2.4 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: google/container/v1beta1/cluster_service.proto for package 'Google.Cloud.Container.V1beta1'
3
3
  # Original file comments:
4
- # Copyright 2019 Google LLC.
4
+ # Copyright 2020 Google LLC
5
5
  #
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
15
15
  # See the License for the specific language governing permissions and
16
16
  # limitations under the License.
17
17
  #
18
- #
19
18
 
20
19
  require 'grpc'
21
20
  require 'google/container/v1beta1/cluster_service_pb'
@@ -36,14 +35,15 @@ module Google
36
35
 
37
36
  # Lists all clusters owned by a project in either the specified zone or all
38
37
  # zones.
39
- rpc :ListClusters, Google::Cloud::Container::V1beta1::ListClustersRequest, Google::Cloud::Container::V1beta1::ListClustersResponse
38
+ rpc :ListClusters, ::Google::Cloud::Container::V1beta1::ListClustersRequest, ::Google::Cloud::Container::V1beta1::ListClustersResponse
40
39
  # Gets the details for a specific cluster.
41
- rpc :GetCluster, Google::Cloud::Container::V1beta1::GetClusterRequest, Google::Cloud::Container::V1beta1::Cluster
40
+ rpc :GetCluster, ::Google::Cloud::Container::V1beta1::GetClusterRequest, ::Google::Cloud::Container::V1beta1::Cluster
42
41
  # Creates a cluster, consisting of the specified number and type of Google
43
42
  # Compute Engine instances.
44
43
  #
45
44
  # By default, the cluster is created in the project's
46
- # [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
45
+ # [default
46
+ # network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
47
47
  #
48
48
  # One firewall is added for the cluster. After cluster creation,
49
49
  # the Kubelet creates routes for each node to allow the containers
@@ -52,27 +52,30 @@ module Google
52
52
  #
53
53
  # Finally, an entry is added to the project's global metadata indicating
54
54
  # which CIDR range the cluster is using.
55
- rpc :CreateCluster, Google::Cloud::Container::V1beta1::CreateClusterRequest, Google::Cloud::Container::V1beta1::Operation
55
+ rpc :CreateCluster, ::Google::Cloud::Container::V1beta1::CreateClusterRequest, ::Google::Cloud::Container::V1beta1::Operation
56
56
  # Updates the settings for a specific cluster.
57
- rpc :UpdateCluster, Google::Cloud::Container::V1beta1::UpdateClusterRequest, Google::Cloud::Container::V1beta1::Operation
57
+ rpc :UpdateCluster, ::Google::Cloud::Container::V1beta1::UpdateClusterRequest, ::Google::Cloud::Container::V1beta1::Operation
58
58
  # Updates the version and/or image type of a specific node pool.
59
- rpc :UpdateNodePool, Google::Cloud::Container::V1beta1::UpdateNodePoolRequest, Google::Cloud::Container::V1beta1::Operation
59
+ rpc :UpdateNodePool, ::Google::Cloud::Container::V1beta1::UpdateNodePoolRequest, ::Google::Cloud::Container::V1beta1::Operation
60
60
  # Sets the autoscaling settings of a specific node pool.
61
- rpc :SetNodePoolAutoscaling, Google::Cloud::Container::V1beta1::SetNodePoolAutoscalingRequest, Google::Cloud::Container::V1beta1::Operation
61
+ rpc :SetNodePoolAutoscaling, ::Google::Cloud::Container::V1beta1::SetNodePoolAutoscalingRequest, ::Google::Cloud::Container::V1beta1::Operation
62
62
  # Sets the logging service for a specific cluster.
63
- rpc :SetLoggingService, Google::Cloud::Container::V1beta1::SetLoggingServiceRequest, Google::Cloud::Container::V1beta1::Operation
63
+ rpc :SetLoggingService, ::Google::Cloud::Container::V1beta1::SetLoggingServiceRequest, ::Google::Cloud::Container::V1beta1::Operation
64
64
  # Sets the monitoring service for a specific cluster.
65
- rpc :SetMonitoringService, Google::Cloud::Container::V1beta1::SetMonitoringServiceRequest, Google::Cloud::Container::V1beta1::Operation
65
+ rpc :SetMonitoringService, ::Google::Cloud::Container::V1beta1::SetMonitoringServiceRequest, ::Google::Cloud::Container::V1beta1::Operation
66
66
  # Sets the addons for a specific cluster.
67
- rpc :SetAddonsConfig, Google::Cloud::Container::V1beta1::SetAddonsConfigRequest, Google::Cloud::Container::V1beta1::Operation
67
+ rpc :SetAddonsConfig, ::Google::Cloud::Container::V1beta1::SetAddonsConfigRequest, ::Google::Cloud::Container::V1beta1::Operation
68
68
  # Sets the locations for a specific cluster.
69
- rpc :SetLocations, Google::Cloud::Container::V1beta1::SetLocationsRequest, Google::Cloud::Container::V1beta1::Operation
69
+ # Deprecated. Use
70
+ # [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)
71
+ # instead.
72
+ rpc :SetLocations, ::Google::Cloud::Container::V1beta1::SetLocationsRequest, ::Google::Cloud::Container::V1beta1::Operation
70
73
  # Updates the master for a specific cluster.
71
- rpc :UpdateMaster, Google::Cloud::Container::V1beta1::UpdateMasterRequest, Google::Cloud::Container::V1beta1::Operation
74
+ rpc :UpdateMaster, ::Google::Cloud::Container::V1beta1::UpdateMasterRequest, ::Google::Cloud::Container::V1beta1::Operation
72
75
  # Sets master auth materials. Currently supports changing the admin password
73
76
  # or a specific cluster, either via password generation or explicitly setting
74
77
  # the password.
75
- rpc :SetMasterAuth, Google::Cloud::Container::V1beta1::SetMasterAuthRequest, Google::Cloud::Container::V1beta1::Operation
78
+ rpc :SetMasterAuth, ::Google::Cloud::Container::V1beta1::SetMasterAuthRequest, ::Google::Cloud::Container::V1beta1::Operation
76
79
  # Deletes the cluster, including the Kubernetes endpoint and all worker
77
80
  # nodes.
78
81
  #
@@ -82,46 +85,51 @@ module Google
82
85
  # Other Google Compute Engine resources that might be in use by the cluster,
83
86
  # such as load balancer resources, are not deleted if they weren't present
84
87
  # when the cluster was initially created.
85
- rpc :DeleteCluster, Google::Cloud::Container::V1beta1::DeleteClusterRequest, Google::Cloud::Container::V1beta1::Operation
88
+ rpc :DeleteCluster, ::Google::Cloud::Container::V1beta1::DeleteClusterRequest, ::Google::Cloud::Container::V1beta1::Operation
86
89
  # Lists all operations in a project in the specified zone or all zones.
87
- rpc :ListOperations, Google::Cloud::Container::V1beta1::ListOperationsRequest, Google::Cloud::Container::V1beta1::ListOperationsResponse
90
+ rpc :ListOperations, ::Google::Cloud::Container::V1beta1::ListOperationsRequest, ::Google::Cloud::Container::V1beta1::ListOperationsResponse
88
91
  # Gets the specified operation.
89
- rpc :GetOperation, Google::Cloud::Container::V1beta1::GetOperationRequest, Google::Cloud::Container::V1beta1::Operation
92
+ rpc :GetOperation, ::Google::Cloud::Container::V1beta1::GetOperationRequest, ::Google::Cloud::Container::V1beta1::Operation
90
93
  # Cancels the specified operation.
91
- rpc :CancelOperation, Google::Cloud::Container::V1beta1::CancelOperationRequest, Google::Protobuf::Empty
94
+ rpc :CancelOperation, ::Google::Cloud::Container::V1beta1::CancelOperationRequest, ::Google::Protobuf::Empty
92
95
  # Returns configuration info about the Google Kubernetes Engine service.
93
- rpc :GetServerConfig, Google::Cloud::Container::V1beta1::GetServerConfigRequest, Google::Cloud::Container::V1beta1::ServerConfig
96
+ rpc :GetServerConfig, ::Google::Cloud::Container::V1beta1::GetServerConfigRequest, ::Google::Cloud::Container::V1beta1::ServerConfig
94
97
  # Lists the node pools for a cluster.
95
- rpc :ListNodePools, Google::Cloud::Container::V1beta1::ListNodePoolsRequest, Google::Cloud::Container::V1beta1::ListNodePoolsResponse
98
+ rpc :ListNodePools, ::Google::Cloud::Container::V1beta1::ListNodePoolsRequest, ::Google::Cloud::Container::V1beta1::ListNodePoolsResponse
99
+ # Gets the public component of the cluster signing keys in
100
+ # JSON Web Key format.
101
+ # This API is not yet intended for general use, and is not available for all
102
+ # clusters.
103
+ rpc :GetJSONWebKeys, ::Google::Cloud::Container::V1beta1::GetJSONWebKeysRequest, ::Google::Cloud::Container::V1beta1::GetJSONWebKeysResponse
96
104
  # Retrieves the requested node pool.
97
- rpc :GetNodePool, Google::Cloud::Container::V1beta1::GetNodePoolRequest, Google::Cloud::Container::V1beta1::NodePool
105
+ rpc :GetNodePool, ::Google::Cloud::Container::V1beta1::GetNodePoolRequest, ::Google::Cloud::Container::V1beta1::NodePool
98
106
  # Creates a node pool for a cluster.
99
- rpc :CreateNodePool, Google::Cloud::Container::V1beta1::CreateNodePoolRequest, Google::Cloud::Container::V1beta1::Operation
107
+ rpc :CreateNodePool, ::Google::Cloud::Container::V1beta1::CreateNodePoolRequest, ::Google::Cloud::Container::V1beta1::Operation
100
108
  # Deletes a node pool from a cluster.
101
- rpc :DeleteNodePool, Google::Cloud::Container::V1beta1::DeleteNodePoolRequest, Google::Cloud::Container::V1beta1::Operation
109
+ rpc :DeleteNodePool, ::Google::Cloud::Container::V1beta1::DeleteNodePoolRequest, ::Google::Cloud::Container::V1beta1::Operation
102
110
  # Rolls back a previously Aborted or Failed NodePool upgrade.
103
111
  # This makes no changes if the last upgrade successfully completed.
104
- rpc :RollbackNodePoolUpgrade, Google::Cloud::Container::V1beta1::RollbackNodePoolUpgradeRequest, Google::Cloud::Container::V1beta1::Operation
112
+ rpc :RollbackNodePoolUpgrade, ::Google::Cloud::Container::V1beta1::RollbackNodePoolUpgradeRequest, ::Google::Cloud::Container::V1beta1::Operation
105
113
  # Sets the NodeManagement options for a node pool.
106
- rpc :SetNodePoolManagement, Google::Cloud::Container::V1beta1::SetNodePoolManagementRequest, Google::Cloud::Container::V1beta1::Operation
114
+ rpc :SetNodePoolManagement, ::Google::Cloud::Container::V1beta1::SetNodePoolManagementRequest, ::Google::Cloud::Container::V1beta1::Operation
107
115
  # Sets labels on a cluster.
108
- rpc :SetLabels, Google::Cloud::Container::V1beta1::SetLabelsRequest, Google::Cloud::Container::V1beta1::Operation
116
+ rpc :SetLabels, ::Google::Cloud::Container::V1beta1::SetLabelsRequest, ::Google::Cloud::Container::V1beta1::Operation
109
117
  # Enables or disables the ABAC authorization mechanism on a cluster.
110
- rpc :SetLegacyAbac, Google::Cloud::Container::V1beta1::SetLegacyAbacRequest, Google::Cloud::Container::V1beta1::Operation
118
+ rpc :SetLegacyAbac, ::Google::Cloud::Container::V1beta1::SetLegacyAbacRequest, ::Google::Cloud::Container::V1beta1::Operation
111
119
  # Starts master IP rotation.
112
- rpc :StartIPRotation, Google::Cloud::Container::V1beta1::StartIPRotationRequest, Google::Cloud::Container::V1beta1::Operation
120
+ rpc :StartIPRotation, ::Google::Cloud::Container::V1beta1::StartIPRotationRequest, ::Google::Cloud::Container::V1beta1::Operation
113
121
  # Completes master IP rotation.
114
- rpc :CompleteIPRotation, Google::Cloud::Container::V1beta1::CompleteIPRotationRequest, Google::Cloud::Container::V1beta1::Operation
122
+ rpc :CompleteIPRotation, ::Google::Cloud::Container::V1beta1::CompleteIPRotationRequest, ::Google::Cloud::Container::V1beta1::Operation
115
123
  # Sets the size for a specific node pool.
116
- rpc :SetNodePoolSize, Google::Cloud::Container::V1beta1::SetNodePoolSizeRequest, Google::Cloud::Container::V1beta1::Operation
124
+ rpc :SetNodePoolSize, ::Google::Cloud::Container::V1beta1::SetNodePoolSizeRequest, ::Google::Cloud::Container::V1beta1::Operation
117
125
  # Enables or disables Network Policy for a cluster.
118
- rpc :SetNetworkPolicy, Google::Cloud::Container::V1beta1::SetNetworkPolicyRequest, Google::Cloud::Container::V1beta1::Operation
126
+ rpc :SetNetworkPolicy, ::Google::Cloud::Container::V1beta1::SetNetworkPolicyRequest, ::Google::Cloud::Container::V1beta1::Operation
119
127
  # Sets the maintenance policy for a cluster.
120
- rpc :SetMaintenancePolicy, Google::Cloud::Container::V1beta1::SetMaintenancePolicyRequest, Google::Cloud::Container::V1beta1::Operation
128
+ rpc :SetMaintenancePolicy, ::Google::Cloud::Container::V1beta1::SetMaintenancePolicyRequest, ::Google::Cloud::Container::V1beta1::Operation
121
129
  # Lists subnetworks that can be used for creating clusters in a project.
122
- rpc :ListUsableSubnetworks, Google::Cloud::Container::V1beta1::ListUsableSubnetworksRequest, Google::Cloud::Container::V1beta1::ListUsableSubnetworksResponse
130
+ rpc :ListUsableSubnetworks, ::Google::Cloud::Container::V1beta1::ListUsableSubnetworksRequest, ::Google::Cloud::Container::V1beta1::ListUsableSubnetworksResponse
123
131
  # Fetches locations that offer Google Kubernetes Engine.
124
- rpc :ListLocations, Google::Cloud::Container::V1beta1::ListLocationsRequest, Google::Cloud::Container::V1beta1::ListLocationsResponse
132
+ rpc :ListLocations, ::Google::Cloud::Container::V1beta1::ListLocationsRequest, ::Google::Cloud::Container::V1beta1::ListLocationsResponse
125
133
  end
126
134
 
127
135
  Stub = Service.rpc_stub_class
@@ -54,6 +54,12 @@ module Google
54
54
  # This indicates that the field may be set once in a request to create a
55
55
  # resource, but may not be changed thereafter.
56
56
  IMMUTABLE = 5
57
+
58
+ # Denotes that a (repeated) field is an unordered list.
59
+ # This indicates that the service may provide the elements of the list
60
+ # in any arbitrary order, rather than the order the user originally
61
+ # provided. Additionally, the list's order may or may not be stable.
62
+ UNORDERED_LIST = 6
57
63
  end
58
64
  end
59
65
  end
@@ -43,12 +43,12 @@ module Google
43
43
  #
44
44
  # The ResourceDescriptor Yaml config will look like:
45
45
  #
46
- # resources:
47
- # - type: "pubsub.googleapis.com/Topic"
48
- # name_descriptor:
49
- # - pattern: "projects/\\{project}/topics/\\{topic}"
50
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
- # parent_name_extractor: "projects/\\{project}"
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/{project}/topics/{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/{project}"
52
52
  #
53
53
  # Sometimes, resources have multiple patterns, typically because they can
54
54
  # live under multiple parents.
@@ -183,15 +183,24 @@ module Google
183
183
  # }
184
184
  # @!attribute [rw] plural
185
185
  # @return [::String]
186
- # The plural name used in the resource name, such as 'projects' for
187
- # the name of 'projects/\\{project}'. It is the same concept of the `plural`
188
- # field in k8s CRD spec
186
+ # The plural name used in the resource name and permission names, such as
187
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
188
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
189
+ # concept of the `plural` field in k8s CRD spec
189
190
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
191
+ #
192
+ # Note: The plural form is required even for singleton resources. See
193
+ # https://aip.dev/156
190
194
  # @!attribute [rw] singular
191
195
  # @return [::String]
192
196
  # The same concept of the `singular` field in k8s CRD spec
193
197
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
194
198
  # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
199
+ # @!attribute [rw] style
200
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
201
+ # Style flag(s) for this resource.
202
+ # These indicate that a resource is expected to conform to a given
203
+ # style. See the specific style flags for additional information.
195
204
  class ResourceDescriptor
196
205
  include ::Google::Protobuf::MessageExts
197
206
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -211,6 +220,22 @@ module Google
211
220
  # that from being necessary once there are multiple patterns.)
212
221
  FUTURE_MULTI_PATTERN = 2
213
222
  end
223
+
224
+ # A flag representing a specific style that a resource claims to conform to.
225
+ module Style
226
+ # The unspecified value. Do not use.
227
+ STYLE_UNSPECIFIED = 0
228
+
229
+ # This resource is intended to be "declarative-friendly".
230
+ #
231
+ # Declarative-friendly resources must be more strictly consistent, and
232
+ # setting this to true communicates to tools that this resource should
233
+ # adhere to declarative-friendly expectations.
234
+ #
235
+ # Note: This is used by the API linter (linter.aip.dev) to enable
236
+ # additional checks.
237
+ DECLARATIVE_FRIENDLY = 1
238
+ end
214
239
  end
215
240
 
216
241
  # Defines a proto annotation that describes a string field that refers to
@@ -226,6 +251,17 @@ module Google
226
251
  # type: "pubsub.googleapis.com/Topic"
227
252
  # }];
228
253
  # }
254
+ #
255
+ # Occasionally, a field may reference an arbitrary resource. In this case,
256
+ # APIs use the special value * in their resource reference.
257
+ #
258
+ # Example:
259
+ #
260
+ # message GetIamPolicyRequest {
261
+ # string resource = 2 [(google.api.resource_reference) = {
262
+ # type: "*"
263
+ # }];
264
+ # }
229
265
  # @!attribute [rw] child_type
230
266
  # @return [::String]
231
267
  # The resource type of a child collection that the annotated field
@@ -234,11 +270,11 @@ module Google
234
270
  #
235
271
  # Example:
236
272
  #
237
- # message ListLogEntriesRequest {
238
- # string parent = 1 [(google.api.resource_reference) = {
239
- # child_type: "logging.googleapis.com/LogEntry"
240
- # };
241
- # }
273
+ # message ListLogEntriesRequest {
274
+ # string parent = 1 [(google.api.resource_reference) = {
275
+ # child_type: "logging.googleapis.com/LogEntry"
276
+ # };
277
+ # }
242
278
  class ResourceReference
243
279
  include ::Google::Protobuf::MessageExts
244
280
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -21,15 +21,83 @@ module Google
21
21
  module Cloud
22
22
  module Container
23
23
  module V1beta1
24
+ # Parameters that can be configured on Linux nodes.
25
+ # @!attribute [rw] sysctls
26
+ # @return [::Google::Protobuf::Map{::String => ::String}]
27
+ # The Linux kernel parameters to be applied to the nodes and all pods running
28
+ # on the nodes.
29
+ #
30
+ # The following parameters are supported.
31
+ #
32
+ # net.core.netdev_max_backlog
33
+ # net.core.rmem_max
34
+ # net.core.wmem_default
35
+ # net.core.wmem_max
36
+ # net.core.optmem_max
37
+ # net.core.somaxconn
38
+ # net.ipv4.tcp_rmem
39
+ # net.ipv4.tcp_wmem
40
+ # net.ipv4.tcp_tw_reuse
41
+ class LinuxNodeConfig
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
+
45
+ # @!attribute [rw] key
46
+ # @return [::String]
47
+ # @!attribute [rw] value
48
+ # @return [::String]
49
+ class SysctlsEntry
50
+ include ::Google::Protobuf::MessageExts
51
+ extend ::Google::Protobuf::MessageExts::ClassMethods
52
+ end
53
+ end
54
+
55
+ # Node kubelet configs.
56
+ # @!attribute [rw] cpu_manager_policy
57
+ # @return [::String]
58
+ # Control the CPU management policy on the node.
59
+ # See
60
+ # https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
61
+ #
62
+ # The following values are allowed.
63
+ # - "none": the default, which represents the existing scheduling behavior.
64
+ # - "static": allows pods with certain resource characteristics to be
65
+ # granted increased CPU affinity and exclusivity on the node.
66
+ # The default value is 'none' if unspecified.
67
+ # @!attribute [rw] cpu_cfs_quota
68
+ # @return [::Google::Protobuf::BoolValue]
69
+ # Enable CPU CFS quota enforcement for containers that specify CPU limits.
70
+ #
71
+ # This option is enabled by default which makes kubelet use CFS quota
72
+ # (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
73
+ # enforce container CPU limits. Otherwise, CPU limits will not be enforced at
74
+ # all.
75
+ #
76
+ # Disable this option to mitigate CPU throttling problems while still having
77
+ # your pods to be in Guaranteed QoS class by specifying the CPU limits.
78
+ #
79
+ # The default value is 'true' if unspecified.
80
+ # @!attribute [rw] cpu_cfs_quota_period
81
+ # @return [::String]
82
+ # Set the CPU CFS quota period value 'cpu.cfs_period_us'.
83
+ #
84
+ # The string must be a sequence of decimal numbers, each with optional
85
+ # fraction and a unit suffix, such as "300ms".
86
+ # Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
87
+ # The value must be a positive duration.
88
+ class NodeKubeletConfig
89
+ include ::Google::Protobuf::MessageExts
90
+ extend ::Google::Protobuf::MessageExts::ClassMethods
91
+ end
92
+
24
93
  # Parameters that describe the nodes in a cluster.
25
94
  # @!attribute [rw] machine_type
26
95
  # @return [::String]
27
96
  # The name of a Google Compute Engine [machine
28
- # type](https://cloud.google.com/compute/docs/machine-types) (e.g.
29
- # `n1-standard-1`).
97
+ # type](https://cloud.google.com/compute/docs/machine-types).
30
98
  #
31
99
  # If unspecified, the default machine type is
32
- # `n1-standard-1`.
100
+ # `e2-medium`.
33
101
  # @!attribute [rw] disk_size_gb
34
102
  # @return [::Integer]
35
103
  # Size of the disk attached to each node, specified in GB.
@@ -48,42 +116,47 @@ module Google
48
116
  # persistent storage on your nodes.
49
117
  # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
50
118
  # communicating with **gcr.io**
51
- # (the [Google Container Registry](https://cloud.google.com/container-registry/)).
119
+ # (the [Google Container
120
+ # Registry](https://cloud.google.com/container-registry/)).
52
121
  #
53
122
  # If unspecified, no scopes are added, unless Cloud Logging or Cloud
54
123
  # Monitoring are enabled, in which case their required scopes will be added.
55
124
  # @!attribute [rw] service_account
56
125
  # @return [::String]
57
- # The Google Cloud Platform Service Account to be used by the node VMs. If
58
- # no Service Account is specified, the "default" service account is used.
126
+ # The Google Cloud Platform Service Account to be used by the node VMs.
127
+ # Specify the email address of the Service Account; otherwise, if no Service
128
+ # Account is specified, the "default" service account is used.
59
129
  # @!attribute [rw] metadata
60
130
  # @return [::Google::Protobuf::Map{::String => ::String}]
61
131
  # The metadata key/value pairs assigned to instances in the cluster.
62
132
  #
63
- # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
133
+ # Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes
64
134
  # in length. These are reflected as part of a URL in the metadata server.
65
135
  # Additionally, to avoid ambiguity, keys must not conflict with any other
66
136
  # metadata keys for the project or be one of the reserved keys:
67
- # "cluster-location"
68
- # "cluster-name"
69
- # "cluster-uid"
70
- # "configure-sh"
71
- # "containerd-configure-sh"
72
- # "enable-oslogin"
73
- # "gci-ensure-gke-docker"
74
- # "gci-metrics-enabled"
75
- # "gci-update-strategy"
76
- # "instance-template"
77
- # "kube-env"
78
- # "startup-script"
79
- # "user-data"
80
- # "disable-address-manager"
81
- # "windows-startup-script-ps1"
82
- # "common-psm1"
83
- # "k8s-node-setup-psm1"
84
- # "install-ssh-psm1"
85
- # "user-profile-psm1"
86
- # "serial-port-logging-enable"
137
+ # - "cluster-location"
138
+ # - "cluster-name"
139
+ # - "cluster-uid"
140
+ # - "configure-sh"
141
+ # - "containerd-configure-sh"
142
+ # - "enable-oslogin"
143
+ # - "gci-ensure-gke-docker"
144
+ # - "gci-metrics-enabled"
145
+ # - "gci-update-strategy"
146
+ # - "instance-template"
147
+ # - "kube-env"
148
+ # - "startup-script"
149
+ # - "user-data"
150
+ # - "disable-address-manager"
151
+ # - "windows-startup-script-ps1"
152
+ # - "common-psm1"
153
+ # - "k8s-node-setup-psm1"
154
+ # - "install-ssh-psm1"
155
+ # - "user-profile-psm1"
156
+ #
157
+ # The following keys are reserved for Windows nodes:
158
+ # - "serial-port-logging-enable"
159
+ #
87
160
  # Values are free-form strings, and only have meaning as interpreted by
88
161
  # the image running in the instance. The only restriction placed on them is
89
162
  # that each value's size must be less than or equal to 32 KB.
@@ -127,9 +200,25 @@ module Google
127
200
  # A list of hardware accelerators to be attached to each node.
128
201
  # See https://cloud.google.com/compute/docs/gpus for more information about
129
202
  # support for GPUs.
203
+ # @!attribute [rw] sandbox_config
204
+ # @return [::Google::Cloud::Container::V1beta1::SandboxConfig]
205
+ # Sandbox configuration for this node.
206
+ # @!attribute [rw] node_group
207
+ # @return [::String]
208
+ # Setting this field will assign instances of this
209
+ # pool to run on the specified node group. This is useful for running
210
+ # workloads on [sole tenant
211
+ # nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
212
+ # @!attribute [rw] reservation_affinity
213
+ # @return [::Google::Cloud::Container::V1beta1::ReservationAffinity]
214
+ # The optional reservation affinity. Setting this field will apply
215
+ # the specified [Zonal Compute
216
+ # Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
217
+ # to this node pool.
130
218
  # @!attribute [rw] disk_type
131
219
  # @return [::String]
132
- # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
220
+ # Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or
221
+ # 'pd-balanced')
133
222
  #
134
223
  # If unspecified, the default disk type is 'pd-standard'
135
224
  # @!attribute [rw] min_cpu_platform
@@ -137,11 +226,10 @@ module Google
137
226
  # Minimum CPU platform to be used by this instance. The instance may be
138
227
  # scheduled on the specified or newer CPU platform. Applicable values are the
139
228
  # friendly names of CPU platforms, such as
140
- # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
141
- # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
229
+ # `minCpuPlatform: "Intel Haswell"` or
230
+ # `minCpuPlatform: "Intel Sandy Bridge"`. For more
142
231
  # information, read [how to specify min CPU
143
232
  # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
144
- # To unset the min cpu platform field pass "automatic" as field value.
145
233
  # @!attribute [rw] workload_metadata_config
146
234
  # @return [::Google::Cloud::Container::V1beta1::WorkloadMetadataConfig]
147
235
  # The workload metadata configuration for this node.
@@ -151,9 +239,27 @@ module Google
151
239
  #
152
240
  # For more information, including usage and the valid values, see:
153
241
  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
242
+ # @!attribute [rw] boot_disk_kms_key
243
+ # @return [::String]
244
+ # The Customer Managed Encryption Key used to encrypt the boot disk attached
245
+ # to each node in the node pool. This should be of the form
246
+ # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
247
+ # For more information about protecting resources with Cloud KMS Keys please
248
+ # see:
249
+ # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
154
250
  # @!attribute [rw] shielded_instance_config
155
251
  # @return [::Google::Cloud::Container::V1beta1::ShieldedInstanceConfig]
156
252
  # Shielded Instance options.
253
+ # @!attribute [rw] linux_node_config
254
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig]
255
+ # Parameters that can be configured on Linux nodes.
256
+ # @!attribute [rw] kubelet_config
257
+ # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
258
+ # Node kubelet configs.
259
+ # @!attribute [rw] ephemeral_storage_config
260
+ # @return [::Google::Cloud::Container::V1beta1::EphemeralStorageConfig]
261
+ # Parameters for the ephemeral storage filesystem.
262
+ # If unspecified, ephemeral storage is backed by the boot disk.
157
263
  class NodeConfig
158
264
  include ::Google::Protobuf::MessageExts
159
265
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -198,11 +304,80 @@ module Google
198
304
  extend ::Google::Protobuf::MessageExts::ClassMethods
199
305
  end
200
306
 
307
+ # SandboxConfig contains configurations of the sandbox to use for the node.
308
+ # @!attribute [rw] sandbox_type
309
+ # @return [::String]
310
+ # Type of the sandbox to use for the node (e.g. 'gvisor')
311
+ # @!attribute [rw] type
312
+ # @return [::Google::Cloud::Container::V1beta1::SandboxConfig::Type]
313
+ # Type of the sandbox to use for the node.
314
+ class SandboxConfig
315
+ include ::Google::Protobuf::MessageExts
316
+ extend ::Google::Protobuf::MessageExts::ClassMethods
317
+
318
+ # Possible types of sandboxes.
319
+ module Type
320
+ # Default value. This should not be used.
321
+ UNSPECIFIED = 0
322
+
323
+ # Run sandbox using gvisor.
324
+ GVISOR = 1
325
+ end
326
+ end
327
+
328
+ # EphemeralStorageConfig contains configuration for the ephemeral storage
329
+ # filesystem.
330
+ # @!attribute [rw] local_ssd_count
331
+ # @return [::Integer]
332
+ # Number of local SSDs to use to back ephemeral storage. Uses NVMe
333
+ # interfaces. Each local SSD is 375 GB in size.
334
+ # If zero, it means to disable using local SSDs as ephemeral storage.
335
+ class EphemeralStorageConfig
336
+ include ::Google::Protobuf::MessageExts
337
+ extend ::Google::Protobuf::MessageExts::ClassMethods
338
+ end
339
+
340
+ # [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
341
+ # is the configuration of desired reservation which instances could take
342
+ # capacity from.
343
+ # @!attribute [rw] consume_reservation_type
344
+ # @return [::Google::Cloud::Container::V1beta1::ReservationAffinity::Type]
345
+ # Corresponds to the type of reservation consumption.
346
+ # @!attribute [rw] key
347
+ # @return [::String]
348
+ # Corresponds to the label key of a reservation resource. To target a
349
+ # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
350
+ # the key and specify the name of your reservation as its value.
351
+ # @!attribute [rw] values
352
+ # @return [::Array<::String>]
353
+ # Corresponds to the label value(s) of reservation resource(s).
354
+ class ReservationAffinity
355
+ include ::Google::Protobuf::MessageExts
356
+ extend ::Google::Protobuf::MessageExts::ClassMethods
357
+
358
+ # Indicates whether to consume capacity from a reservation or not.
359
+ module Type
360
+ # Default value. This should not be used.
361
+ UNSPECIFIED = 0
362
+
363
+ # Do not consume from any reserved capacity.
364
+ NO_RESERVATION = 1
365
+
366
+ # Consume any reservation available.
367
+ ANY_RESERVATION = 2
368
+
369
+ # Must consume from a specific reservation. Must specify key value fields
370
+ # for specifying the reservations.
371
+ SPECIFIC_RESERVATION = 3
372
+ end
373
+ end
374
+
201
375
  # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
202
376
  # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
203
377
  #
204
- # For more information, including usage and the valid values, see:
205
- # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
378
+ # See
379
+ # [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
380
+ # for more information, including usage and the valid values.
206
381
  # @!attribute [rw] key
207
382
  # @return [::String]
208
383
  # Key for taint.
@@ -240,12 +415,22 @@ module Google
240
415
  # The username to use for HTTP basic authentication to the master endpoint.
241
416
  # For clusters v1.6.0 and later, basic authentication can be disabled by
242
417
  # leaving username unspecified (or setting it to the empty string).
418
+ #
419
+ # Warning: basic authentication is deprecated, and will be removed in GKE
420
+ # control plane versions 1.19 and newer. For a list of recommended
421
+ # authentication methods, see:
422
+ # https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication
243
423
  # @!attribute [rw] password
244
424
  # @return [::String]
245
425
  # The password to use for HTTP basic authentication to the master endpoint.
246
426
  # Because the master endpoint is open to the Internet, you should create a
247
427
  # strong password. If a password is provided for cluster creation, username
248
428
  # must be non-empty.
429
+ #
430
+ # Warning: basic authentication is deprecated, and will be removed in GKE
431
+ # control plane versions 1.19 and newer. For a list of recommended
432
+ # authentication methods, see:
433
+ # https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication
249
434
  # @!attribute [rw] client_certificate_config
250
435
  # @return [::Google::Cloud::Container::V1beta1::ClientCertificateConfig]
251
436
  # Configuration for client certificate authentication on the cluster. For
@@ -253,8 +438,6 @@ module Google
253
438
  # certificate is issued.
254
439
  # @!attribute [rw] cluster_ca_certificate
255
440
  # @return [::String]
256
- # [Output only] Base64-encoded public certificate that is the root of
257
- # trust for the cluster.
258
441
  # @!attribute [rw] client_certificate
259
442
  # @return [::String]
260
443
  # [Output only] Base64-encoded public certificate used by clients to
@@ -309,6 +492,20 @@ module Google
309
492
  # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
310
493
  # enabled in order to enable Cloud Run addon. This option can only be enabled
311
494
  # at cluster creation time.
495
+ # @!attribute [rw] dns_cache_config
496
+ # @return [::Google::Cloud::Container::V1beta1::DnsCacheConfig]
497
+ # Configuration for NodeLocalDNS, a dns cache running on cluster nodes
498
+ # @!attribute [rw] config_connector_config
499
+ # @return [::Google::Cloud::Container::V1beta1::ConfigConnectorConfig]
500
+ # Configuration for the ConfigConnector add-on, a Kubernetes
501
+ # extension to manage hosted GCP services through the Kubernetes API
502
+ # @!attribute [rw] gce_persistent_disk_csi_driver_config
503
+ # @return [::Google::Cloud::Container::V1beta1::GcePersistentDiskCsiDriverConfig]
504
+ # Configuration for the Compute Engine Persistent Disk CSI driver.
505
+ # @!attribute [rw] kalm_config
506
+ # @return [::Google::Cloud::Container::V1beta1::KalmConfig]
507
+ # Configuration for the KALM addon, which manages the lifecycle of k8s
508
+ # applications.
312
509
  class AddonsConfig
313
510
  include ::Google::Protobuf::MessageExts
314
511
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -332,8 +529,8 @@ module Google
332
529
  # @!attribute [rw] disabled
333
530
  # @return [::Boolean]
334
531
  # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
335
- # When enabled, it ensures that a Heapster pod is running in the cluster,
336
- # which is also used by the Cloud Monitoring service.
532
+ # When enabled, it ensures that metrics are collected into Stackdriver
533
+ # Monitoring.
337
534
  class HorizontalPodAutoscaling
338
535
  include ::Google::Protobuf::MessageExts
339
536
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -359,6 +556,52 @@ module Google
359
556
  extend ::Google::Protobuf::MessageExts::ClassMethods
360
557
  end
361
558
 
559
+ # Configuration for NodeLocal DNSCache
560
+ # @!attribute [rw] enabled
561
+ # @return [::Boolean]
562
+ # Whether NodeLocal DNSCache is enabled for this cluster.
563
+ class DnsCacheConfig
564
+ include ::Google::Protobuf::MessageExts
565
+ extend ::Google::Protobuf::MessageExts::ClassMethods
566
+ end
567
+
568
+ # Configuration options for the KALM addon.
569
+ # @!attribute [rw] enabled
570
+ # @return [::Boolean]
571
+ # Whether KALM is enabled for this cluster.
572
+ class KalmConfig
573
+ include ::Google::Protobuf::MessageExts
574
+ extend ::Google::Protobuf::MessageExts::ClassMethods
575
+ end
576
+
577
+ # Configuration options for the Config Connector add-on.
578
+ # @!attribute [rw] enabled
579
+ # @return [::Boolean]
580
+ # Whether Cloud Connector is enabled for this cluster.
581
+ class ConfigConnectorConfig
582
+ include ::Google::Protobuf::MessageExts
583
+ extend ::Google::Protobuf::MessageExts::ClassMethods
584
+ end
585
+
586
+ # Configuration for the Compute Engine PD CSI driver. This option can only be
587
+ # enabled at cluster creation time.
588
+ # @!attribute [rw] enabled
589
+ # @return [::Boolean]
590
+ # Whether the Compute Engine PD CSI driver is enabled for this cluster.
591
+ class GcePersistentDiskCsiDriverConfig
592
+ include ::Google::Protobuf::MessageExts
593
+ extend ::Google::Protobuf::MessageExts::ClassMethods
594
+ end
595
+
596
+ # Configuration for controlling master global access settings.
597
+ # @!attribute [rw] enabled
598
+ # @return [::Boolean]
599
+ # Whenever master is accessible globally or not.
600
+ class PrivateClusterMasterGlobalAccessConfig
601
+ include ::Google::Protobuf::MessageExts
602
+ extend ::Google::Protobuf::MessageExts::ClassMethods
603
+ end
604
+
362
605
  # Configuration options for private clusters.
363
606
  # @!attribute [rw] enable_private_nodes
364
607
  # @return [::Boolean]
@@ -380,6 +623,12 @@ module Google
380
623
  # @!attribute [rw] public_endpoint
381
624
  # @return [::String]
382
625
  # Output only. The external IP address of this cluster's master endpoint.
626
+ # @!attribute [rw] peering_name
627
+ # @return [::String]
628
+ # Output only. The peering name in the customer VPC used by this cluster.
629
+ # @!attribute [rw] master_global_access_config
630
+ # @return [::Google::Cloud::Container::V1beta1::PrivateClusterMasterGlobalAccessConfig]
631
+ # Controls master global access settings.
383
632
  class PrivateClusterConfig
384
633
  include ::Google::Protobuf::MessageExts
385
634
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -410,9 +659,24 @@ module Google
410
659
  # @!attribute [rw] disabled
411
660
  # @return [::Boolean]
412
661
  # Whether Cloud Run addon is enabled for this cluster.
662
+ # @!attribute [rw] load_balancer_type
663
+ # @return [::Google::Cloud::Container::V1beta1::CloudRunConfig::LoadBalancerType]
664
+ # Which load balancer type is installed for Cloud Run.
413
665
  class CloudRunConfig
414
666
  include ::Google::Protobuf::MessageExts
415
667
  extend ::Google::Protobuf::MessageExts::ClassMethods
668
+
669
+ # Load balancer type of ingress service of Cloud Run.
670
+ module LoadBalancerType
671
+ # Load balancer type for Cloud Run is unspecified.
672
+ LOAD_BALANCER_TYPE_UNSPECIFIED = 0
673
+
674
+ # Install external load balancer for Cloud Run.
675
+ LOAD_BALANCER_TYPE_EXTERNAL = 1
676
+
677
+ # Install internal load balancer for Cloud Run.
678
+ LOAD_BALANCER_TYPE_INTERNAL = 2
679
+ end
416
680
  end
417
681
 
418
682
  # Configuration options for the master authorized networks feature. Enabled
@@ -482,6 +746,9 @@ module Google
482
746
  # @!attribute [rw] use_ip_aliases
483
747
  # @return [::Boolean]
484
748
  # Whether alias IPs will be used for pod IPs in the cluster.
749
+ # This is used in conjunction with use_routes. It cannot
750
+ # be true if use_routes is true. If both use_ip_aliases and use_routes are
751
+ # false, then the server picks the default IP allocation mode
485
752
  # @!attribute [rw] create_subnetwork
486
753
  # @return [::Boolean]
487
754
  # Whether a new subnetwork will be created automatically for the cluster.
@@ -600,6 +867,13 @@ module Google
600
867
  # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
601
868
  # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
602
869
  # to use.
870
+ # This field is deprecated, use cluster.tpu_config.ipv4_cidr_block instead.
871
+ # @!attribute [rw] use_routes
872
+ # @return [::Boolean]
873
+ # Whether routes will be used for pod IPs in the cluster.
874
+ # This is used in conjunction with use_ip_aliases. It cannot be true if
875
+ # use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
876
+ # then the server picks the default IP allocation mode
603
877
  class IPAllocationPolicy
604
878
  include ::Google::Protobuf::MessageExts
605
879
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -639,6 +913,30 @@ module Google
639
913
  extend ::Google::Protobuf::MessageExts::ClassMethods
640
914
  end
641
915
 
916
+ # Telemetry integration for the cluster.
917
+ # @!attribute [rw] type
918
+ # @return [::Google::Cloud::Container::V1beta1::ClusterTelemetry::Type]
919
+ # Type of the integration.
920
+ class ClusterTelemetry
921
+ include ::Google::Protobuf::MessageExts
922
+ extend ::Google::Protobuf::MessageExts::ClassMethods
923
+
924
+ # Type of the integration.
925
+ module Type
926
+ # Not set.
927
+ UNSPECIFIED = 0
928
+
929
+ # Monitoring integration is disabled.
930
+ DISABLED = 1
931
+
932
+ # Monitoring integration is enabled.
933
+ ENABLED = 2
934
+
935
+ # Only system components are monitored and logged.
936
+ SYSTEM_ONLY = 3
937
+ end
938
+ end
939
+
642
940
  # A Google Kubernetes Engine cluster.
643
941
  # @!attribute [rw] name
644
942
  # @return [::String]
@@ -689,24 +987,34 @@ module Google
689
987
  # The logging service the cluster should use to write logs.
690
988
  # Currently available options:
691
989
  #
692
- # * `logging.googleapis.com` - the Google Cloud Logging service.
990
+ # * `logging.googleapis.com/kubernetes` - The Cloud Logging
991
+ # service with a Kubernetes-native resource model
992
+ # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
993
+ # available as of GKE 1.15).
693
994
  # * `none` - no logs will be exported from the cluster.
694
- # * if left as an empty string,`logging.googleapis.com` will be used.
995
+ #
996
+ # If left as an empty string,`logging.googleapis.com/kubernetes` will be
997
+ # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
695
998
  # @!attribute [rw] monitoring_service
696
999
  # @return [::String]
697
1000
  # The monitoring service the cluster should use to write metrics.
698
1001
  # Currently available options:
699
1002
  #
700
- # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
701
- # * `none` - no metrics will be exported from the cluster.
702
- # * if left as an empty string, `monitoring.googleapis.com` will be used.
1003
+ # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
1004
+ # service with a Kubernetes-native resource model
1005
+ # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
1006
+ # longer available as of GKE 1.15).
1007
+ # * `none` - No metrics will be exported from the cluster.
1008
+ #
1009
+ # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
1010
+ # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
703
1011
  # @!attribute [rw] network
704
1012
  # @return [::String]
705
1013
  # The name of the Google Compute Engine
706
- # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the
707
- # cluster is connected. If left unspecified, the `default` network
708
- # will be used. On output this shows the network ID instead of
709
- # the name.
1014
+ # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
1015
+ # to which the cluster is connected. If left unspecified, the `default`
1016
+ # network will be used. On output this shows the network ID instead of the
1017
+ # name.
710
1018
  # @!attribute [rw] cluster_ipv4_cidr
711
1019
  # @return [::String]
712
1020
  # The IP address range of the container pods in this cluster, in
@@ -719,8 +1027,8 @@ module Google
719
1027
  # @!attribute [rw] subnetwork
720
1028
  # @return [::String]
721
1029
  # The name of the Google Compute Engine
722
- # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the
723
- # cluster is connected. On output this shows the subnetwork ID instead of
1030
+ # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
1031
+ # the cluster is connected. On output this shows the subnetwork ID instead of
724
1032
  # the name.
725
1033
  # @!attribute [rw] node_pools
726
1034
  # @return [::Array<::Google::Cloud::Container::V1beta1::NodePool>]
@@ -730,8 +1038,16 @@ module Google
730
1038
  # @!attribute [rw] locations
731
1039
  # @return [::Array<::String>]
732
1040
  # The list of Google Compute Engine
733
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
734
- # should be located.
1041
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
1042
+ # cluster's nodes should be located.
1043
+ #
1044
+ # This field provides a default value if
1045
+ # [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations)
1046
+ # are not specified during node pool creation.
1047
+ #
1048
+ # Warning: changing cluster locations will update the
1049
+ # [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations)
1050
+ # of all node pools and will result in nodes being added and/or removed.
735
1051
  # @!attribute [rw] enable_kubernetes_alpha
736
1052
  # @return [::Boolean]
737
1053
  # Kubernetes alpha features are enabled on this cluster. This includes alpha
@@ -806,15 +1122,36 @@ module Google
806
1122
  # @!attribute [rw] vertical_pod_autoscaling
807
1123
  # @return [::Google::Cloud::Container::V1beta1::VerticalPodAutoscaling]
808
1124
  # Cluster-level Vertical Pod Autoscaling configuration.
1125
+ # @!attribute [rw] shielded_nodes
1126
+ # @return [::Google::Cloud::Container::V1beta1::ShieldedNodes]
1127
+ # Shielded Nodes configuration.
1128
+ # @!attribute [rw] release_channel
1129
+ # @return [::Google::Cloud::Container::V1beta1::ReleaseChannel]
1130
+ # Release channel configuration.
1131
+ # @!attribute [rw] workload_identity_config
1132
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig]
1133
+ # Configuration for the use of Kubernetes Service Accounts in GCP IAM
1134
+ # policies.
1135
+ # @!attribute [rw] cluster_telemetry
1136
+ # @return [::Google::Cloud::Container::V1beta1::ClusterTelemetry]
1137
+ # Telemetry integration for the cluster.
1138
+ # @!attribute [rw] tpu_config
1139
+ # @return [::Google::Cloud::Container::V1beta1::TpuConfig]
1140
+ # Configuration for Cloud TPU support;
1141
+ # @!attribute [rw] notification_config
1142
+ # @return [::Google::Cloud::Container::V1beta1::NotificationConfig]
1143
+ # Notification configuration of the cluster.
1144
+ # @!attribute [rw] confidential_nodes
1145
+ # @return [::Google::Cloud::Container::V1beta1::ConfidentialNodes]
1146
+ # Configuration of Confidential Nodes
809
1147
  # @!attribute [rw] self_link
810
1148
  # @return [::String]
811
1149
  # [Output only] Server-defined URL for the resource.
812
1150
  # @!attribute [rw] zone
813
1151
  # @return [::String]
814
1152
  # [Output only] The name of the Google Compute Engine
815
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
816
- # resides.
817
- # This field is deprecated, use location instead.
1153
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1154
+ # cluster resides. This field is deprecated, use location instead.
818
1155
  # @!attribute [rw] endpoint
819
1156
  # @return [::String]
820
1157
  # [Output only] The IP address of this cluster's master endpoint.
@@ -857,7 +1194,8 @@ module Google
857
1194
  # [Output only] The current status of this cluster.
858
1195
  # @!attribute [rw] status_message
859
1196
  # @return [::String]
860
- # [Output only] Additional information about the current status of this
1197
+ # [Output only] Deprecated. Use conditions instead.
1198
+ # Additional information about the current status of this
861
1199
  # cluster, if available.
862
1200
  # @!attribute [rw] node_ipv4_cidr_size
863
1201
  # @return [::Integer]
@@ -886,12 +1224,14 @@ module Google
886
1224
  # @!attribute [rw] location
887
1225
  # @return [::String]
888
1226
  # [Output only] The name of the Google Compute Engine
889
- # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or
890
- # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
891
- # the cluster resides.
1227
+ # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
1228
+ # or
1229
+ # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
1230
+ # in which the cluster resides.
892
1231
  # @!attribute [rw] enable_tpu
893
1232
  # @return [::Boolean]
894
1233
  # Enable the ability to use Cloud TPUs in this cluster.
1234
+ # This field is deprecated, use tpu_config.enabled instead.
895
1235
  # @!attribute [rw] tpu_ipv4_cidr_block
896
1236
  # @return [::String]
897
1237
  # [Output only] The IP address range of the Cloud TPUs in this cluster, in
@@ -903,6 +1243,9 @@ module Google
903
1243
  # @!attribute [rw] conditions
904
1244
  # @return [::Array<::Google::Cloud::Container::V1beta1::StatusCondition>]
905
1245
  # Which conditions caused the current cluster state.
1246
+ # @!attribute [rw] master
1247
+ # @return [::Google::Cloud::Container::V1beta1::Master]
1248
+ # Configuration for master components.
906
1249
  class Cluster
907
1250
  include ::Google::Protobuf::MessageExts
908
1251
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -967,10 +1310,14 @@ module Google
967
1310
  # The monitoring service the cluster should use to write metrics.
968
1311
  # Currently available options:
969
1312
  #
970
- # * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
971
- # service with Kubernetes-native resource model
972
- # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
973
- # * "none" - no metrics will be exported from the cluster
1313
+ # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
1314
+ # service with a Kubernetes-native resource model
1315
+ # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
1316
+ # longer available as of GKE 1.15).
1317
+ # * `none` - No metrics will be exported from the cluster.
1318
+ #
1319
+ # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
1320
+ # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
974
1321
  # @!attribute [rw] desired_addons_config
975
1322
  # @return [::Google::Cloud::Container::V1beta1::AddonsConfig]
976
1323
  # Configurations for the various addons available to run in the cluster.
@@ -993,12 +1340,13 @@ module Google
993
1340
  # @!attribute [rw] desired_locations
994
1341
  # @return [::Array<::String>]
995
1342
  # The desired list of Google Compute Engine
996
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
997
- # should be located. Changing the locations a cluster is in will result
998
- # in nodes being either created or removed from the cluster, depending on
999
- # whether locations are being added or removed.
1343
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
1344
+ # cluster's nodes should be located.
1000
1345
  #
1001
1346
  # This list must always include the cluster's primary zone.
1347
+ #
1348
+ # Warning: changing cluster locations will update the locations of all node
1349
+ # pools and will result in nodes being added and/or removed.
1002
1350
  # @!attribute [rw] desired_master_authorized_networks_config
1003
1351
  # @return [::Google::Cloud::Container::V1beta1::MasterAuthorizedNetworksConfig]
1004
1352
  # The desired configuration options for master authorized networks feature.
@@ -1013,22 +1361,47 @@ module Google
1013
1361
  # The desired configuration options for the Binary Authorization feature.
1014
1362
  # @!attribute [rw] desired_logging_service
1015
1363
  # @return [::String]
1016
- # The logging service the cluster should use to write metrics.
1364
+ # The logging service the cluster should use to write logs.
1017
1365
  # Currently available options:
1018
1366
  #
1019
- # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
1020
- # service with Kubernetes-native resource model
1021
- # * "logging.googleapis.com" - the Google Cloud Logging service
1022
- # * "none" - no logs will be exported from the cluster
1367
+ # * `logging.googleapis.com/kubernetes` - The Cloud Logging
1368
+ # service with a Kubernetes-native resource model
1369
+ # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
1370
+ # available as of GKE 1.15).
1371
+ # * `none` - no logs will be exported from the cluster.
1372
+ #
1373
+ # If left as an empty string,`logging.googleapis.com/kubernetes` will be
1374
+ # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
1023
1375
  # @!attribute [rw] desired_resource_usage_export_config
1024
1376
  # @return [::Google::Cloud::Container::V1beta1::ResourceUsageExportConfig]
1025
1377
  # The desired configuration for exporting resource usage.
1026
1378
  # @!attribute [rw] desired_vertical_pod_autoscaling
1027
1379
  # @return [::Google::Cloud::Container::V1beta1::VerticalPodAutoscaling]
1028
1380
  # Cluster-level Vertical Pod Autoscaling configuration.
1381
+ # @!attribute [rw] desired_private_cluster_config
1382
+ # @return [::Google::Cloud::Container::V1beta1::PrivateClusterConfig]
1383
+ # The desired private cluster configuration.
1029
1384
  # @!attribute [rw] desired_intra_node_visibility_config
1030
1385
  # @return [::Google::Cloud::Container::V1beta1::IntraNodeVisibilityConfig]
1031
1386
  # The desired config of Intra-node visibility.
1387
+ # @!attribute [rw] desired_default_snat_status
1388
+ # @return [::Google::Cloud::Container::V1beta1::DefaultSnatStatus]
1389
+ # The desired status of whether to disable default sNAT for this cluster.
1390
+ # @!attribute [rw] desired_cluster_telemetry
1391
+ # @return [::Google::Cloud::Container::V1beta1::ClusterTelemetry]
1392
+ # The desired telemetry integration for the cluster.
1393
+ # @!attribute [rw] desired_release_channel
1394
+ # @return [::Google::Cloud::Container::V1beta1::ReleaseChannel]
1395
+ # The desired release channel configuration.
1396
+ # @!attribute [rw] desired_tpu_config
1397
+ # @return [::Google::Cloud::Container::V1beta1::TpuConfig]
1398
+ # The desired Cloud TPU configuration.
1399
+ # @!attribute [rw] desired_datapath_provider
1400
+ # @return [::Google::Cloud::Container::V1beta1::DatapathProvider]
1401
+ # The desired datapath provider for the cluster.
1402
+ # @!attribute [rw] desired_notification_config
1403
+ # @return [::Google::Cloud::Container::V1beta1::NotificationConfig]
1404
+ # The desired notification configuration.
1032
1405
  # @!attribute [rw] desired_master_version
1033
1406
  # @return [::String]
1034
1407
  # The Kubernetes version to change the master to. The only valid value is the
@@ -1042,6 +1415,18 @@ module Google
1042
1415
  # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
1043
1416
  # - "1.X.Y-gke.N": picks an explicit Kubernetes version
1044
1417
  # - "-": picks the default Kubernetes version
1418
+ # @!attribute [rw] desired_database_encryption
1419
+ # @return [::Google::Cloud::Container::V1beta1::DatabaseEncryption]
1420
+ # Configuration of etcd encryption.
1421
+ # @!attribute [rw] desired_workload_identity_config
1422
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadIdentityConfig]
1423
+ # Configuration for Workload Identity.
1424
+ # @!attribute [rw] desired_shielded_nodes
1425
+ # @return [::Google::Cloud::Container::V1beta1::ShieldedNodes]
1426
+ # Configuration for Shielded Nodes.
1427
+ # @!attribute [rw] desired_master
1428
+ # @return [::Google::Cloud::Container::V1beta1::Master]
1429
+ # Configuration for master components.
1045
1430
  class ClusterUpdate
1046
1431
  include ::Google::Protobuf::MessageExts
1047
1432
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1055,9 +1440,8 @@ module Google
1055
1440
  # @!attribute [rw] zone
1056
1441
  # @return [::String]
1057
1442
  # The name of the Google Compute Engine
1058
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation
1059
- # is taking place.
1060
- # This field is deprecated, use location instead.
1443
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1444
+ # operation is taking place. This field is deprecated, use location instead.
1061
1445
  # @!attribute [rw] operation_type
1062
1446
  # @return [::Google::Cloud::Container::V1beta1::Operation::Type]
1063
1447
  # The operation type.
@@ -1067,9 +1451,10 @@ module Google
1067
1451
  # @!attribute [rw] detail
1068
1452
  # @return [::String]
1069
1453
  # Detailed operation progress, if available.
1070
- # @!attribute [rw] status_message
1454
+ # @!attribute [r] status_message
1071
1455
  # @return [::String]
1072
- # If an error has occurred, a textual description of the error.
1456
+ # Output only. If an error has occurred, a textual description of the error.
1457
+ # Deprecated. Use field error instead.
1073
1458
  # @!attribute [rw] self_link
1074
1459
  # @return [::String]
1075
1460
  # Server-defined URL for the resource.
@@ -1079,9 +1464,10 @@ module Google
1079
1464
  # @!attribute [rw] location
1080
1465
  # @return [::String]
1081
1466
  # [Output only] The name of the Google Compute Engine
1082
- # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or
1083
- # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which
1084
- # the cluster resides.
1467
+ # [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
1468
+ # or
1469
+ # [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
1470
+ # in which the cluster resides.
1085
1471
  # @!attribute [rw] start_time
1086
1472
  # @return [::String]
1087
1473
  # [Output only] The time the operation started, in
@@ -1090,15 +1476,20 @@ module Google
1090
1476
  # @return [::String]
1091
1477
  # [Output only] The time the operation completed, in
1092
1478
  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1093
- # @!attribute [rw] progress
1479
+ # @!attribute [r] progress
1094
1480
  # @return [::Google::Cloud::Container::V1beta1::OperationProgress]
1095
- # [Output only] Progress information for an operation.
1481
+ # Output only. [Output only] Progress information for an operation.
1096
1482
  # @!attribute [rw] cluster_conditions
1097
1483
  # @return [::Array<::Google::Cloud::Container::V1beta1::StatusCondition>]
1098
1484
  # Which conditions caused the current cluster state.
1485
+ # Deprecated. Use field error instead.
1099
1486
  # @!attribute [rw] nodepool_conditions
1100
1487
  # @return [::Array<::Google::Cloud::Container::V1beta1::StatusCondition>]
1101
1488
  # Which conditions caused the current node pool state.
1489
+ # Deprecated. Use field error instead.
1490
+ # @!attribute [rw] error
1491
+ # @return [::Google::Rpc::Status]
1492
+ # The error result of the operation in case of failure.
1102
1493
  class Operation
1103
1494
  include ::Google::Protobuf::MessageExts
1104
1495
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1203,8 +1594,7 @@ module Google
1203
1594
  # Progress metric is (string, int|float|string) pair.
1204
1595
  # @!attribute [rw] name
1205
1596
  # @return [::String]
1206
- # Metric name, required.
1207
- # e.g., "nodes total", "percent done"
1597
+ # Required. Metric name, e.g., "nodes total", "percent done".
1208
1598
  # @!attribute [rw] int_value
1209
1599
  # @return [::Integer]
1210
1600
  # For metrics with integer value.
@@ -1229,13 +1619,13 @@ module Google
1229
1619
  # @!attribute [rw] zone
1230
1620
  # @return [::String]
1231
1621
  # Required. Deprecated. The name of the Google Compute Engine
1232
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1233
- # resides.
1234
- # This field has been deprecated and replaced by the parent field.
1622
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1623
+ # cluster resides. This field has been deprecated and replaced by the parent
1624
+ # field.
1235
1625
  # @!attribute [rw] cluster
1236
1626
  # @return [::Google::Cloud::Container::V1beta1::Cluster]
1237
1627
  # Required. A [cluster
1238
- # resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.zones.clusters)
1628
+ # resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)
1239
1629
  # @!attribute [rw] parent
1240
1630
  # @return [::String]
1241
1631
  # The parent (project and location) where the cluster will be created.
@@ -1254,9 +1644,9 @@ module Google
1254
1644
  # @!attribute [rw] zone
1255
1645
  # @return [::String]
1256
1646
  # Required. Deprecated. The name of the Google Compute Engine
1257
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1258
- # resides.
1259
- # This field has been deprecated and replaced by the name field.
1647
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1648
+ # cluster resides. This field has been deprecated and replaced by the name
1649
+ # field.
1260
1650
  # @!attribute [rw] cluster_id
1261
1651
  # @return [::String]
1262
1652
  # Required. Deprecated. The name of the cluster to retrieve.
@@ -1279,9 +1669,9 @@ module Google
1279
1669
  # @!attribute [rw] zone
1280
1670
  # @return [::String]
1281
1671
  # Required. Deprecated. The name of the Google Compute Engine
1282
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1283
- # resides.
1284
- # This field has been deprecated and replaced by the name field.
1672
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1673
+ # cluster resides. This field has been deprecated and replaced by the name
1674
+ # field.
1285
1675
  # @!attribute [rw] cluster_id
1286
1676
  # @return [::String]
1287
1677
  # Required. Deprecated. The name of the cluster to upgrade.
@@ -1307,9 +1697,9 @@ module Google
1307
1697
  # @!attribute [rw] zone
1308
1698
  # @return [::String]
1309
1699
  # Required. Deprecated. The name of the Google Compute Engine
1310
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1311
- # resides.
1312
- # This field has been deprecated and replaced by the name field.
1700
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1701
+ # cluster resides. This field has been deprecated and replaced by the name
1702
+ # field.
1313
1703
  # @!attribute [rw] cluster_id
1314
1704
  # @return [::String]
1315
1705
  # Required. Deprecated. The name of the cluster to upgrade.
@@ -1334,14 +1724,30 @@ module Google
1334
1724
  # @!attribute [rw] image_type
1335
1725
  # @return [::String]
1336
1726
  # Required. The desired image type for the node pool.
1727
+ # @!attribute [rw] locations
1728
+ # @return [::Array<::String>]
1729
+ # The desired list of Google Compute Engine
1730
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
1731
+ # node pool's nodes should be located. Changing the locations for a node pool
1732
+ # will result in nodes being either created or removed from the node pool,
1733
+ # depending on whether locations are being added or removed.
1337
1734
  # @!attribute [rw] workload_metadata_config
1338
1735
  # @return [::Google::Cloud::Container::V1beta1::WorkloadMetadataConfig]
1339
- # The desired image type for the node pool.
1736
+ # The desired workload metadata config for the node pool.
1340
1737
  # @!attribute [rw] name
1341
1738
  # @return [::String]
1342
1739
  # The name (project, location, cluster, node pool) of the node pool to
1343
1740
  # update. Specified in the format
1344
1741
  # `projects/*/locations/*/clusters/*/nodePools/*`.
1742
+ # @!attribute [rw] upgrade_settings
1743
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::UpgradeSettings]
1744
+ # Upgrade settings control disruption and speed of the upgrade.
1745
+ # @!attribute [rw] linux_node_config
1746
+ # @return [::Google::Cloud::Container::V1beta1::LinuxNodeConfig]
1747
+ # Parameters that can be configured on Linux nodes.
1748
+ # @!attribute [rw] kubelet_config
1749
+ # @return [::Google::Cloud::Container::V1beta1::NodeKubeletConfig]
1750
+ # Node kubelet configs.
1345
1751
  class UpdateNodePoolRequest
1346
1752
  include ::Google::Protobuf::MessageExts
1347
1753
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1356,9 +1762,9 @@ module Google
1356
1762
  # @!attribute [rw] zone
1357
1763
  # @return [::String]
1358
1764
  # Required. Deprecated. The name of the Google Compute Engine
1359
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1360
- # resides.
1361
- # This field has been deprecated and replaced by the name field.
1765
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1766
+ # cluster resides. This field has been deprecated and replaced by the name
1767
+ # field.
1362
1768
  # @!attribute [rw] cluster_id
1363
1769
  # @return [::String]
1364
1770
  # Required. Deprecated. The name of the cluster to upgrade.
@@ -1389,20 +1795,26 @@ module Google
1389
1795
  # @!attribute [rw] zone
1390
1796
  # @return [::String]
1391
1797
  # Required. Deprecated. The name of the Google Compute Engine
1392
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1393
- # resides.
1394
- # This field has been deprecated and replaced by the name field.
1798
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1799
+ # cluster resides. This field has been deprecated and replaced by the name
1800
+ # field.
1395
1801
  # @!attribute [rw] cluster_id
1396
1802
  # @return [::String]
1397
1803
  # Required. Deprecated. The name of the cluster to upgrade.
1398
1804
  # This field has been deprecated and replaced by the name field.
1399
1805
  # @!attribute [rw] logging_service
1400
1806
  # @return [::String]
1401
- # Required. The logging service the cluster should use to write metrics.
1807
+ # Required. The logging service the cluster should use to write logs.
1402
1808
  # Currently available options:
1403
1809
  #
1404
- # * "logging.googleapis.com" - the Google Cloud Logging service
1405
- # * "none" - no metrics will be exported from the cluster
1810
+ # * `logging.googleapis.com/kubernetes` - The Cloud Logging
1811
+ # service with a Kubernetes-native resource model
1812
+ # * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
1813
+ # available as of GKE 1.15).
1814
+ # * `none` - no logs will be exported from the cluster.
1815
+ #
1816
+ # If left as an empty string,`logging.googleapis.com/kubernetes` will be
1817
+ # used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
1406
1818
  # @!attribute [rw] name
1407
1819
  # @return [::String]
1408
1820
  # The name (project, location, cluster) of the cluster to set logging.
@@ -1421,9 +1833,9 @@ module Google
1421
1833
  # @!attribute [rw] zone
1422
1834
  # @return [::String]
1423
1835
  # Required. Deprecated. The name of the Google Compute Engine
1424
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1425
- # resides.
1426
- # This field has been deprecated and replaced by the name field.
1836
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1837
+ # cluster resides. This field has been deprecated and replaced by the name
1838
+ # field.
1427
1839
  # @!attribute [rw] cluster_id
1428
1840
  # @return [::String]
1429
1841
  # Required. Deprecated. The name of the cluster to upgrade.
@@ -1433,8 +1845,14 @@ module Google
1433
1845
  # Required. The monitoring service the cluster should use to write metrics.
1434
1846
  # Currently available options:
1435
1847
  #
1436
- # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
1437
- # * "none" - no metrics will be exported from the cluster
1848
+ # * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
1849
+ # service with a Kubernetes-native resource model
1850
+ # * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
1851
+ # longer available as of GKE 1.15).
1852
+ # * `none` - No metrics will be exported from the cluster.
1853
+ #
1854
+ # If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
1855
+ # used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
1438
1856
  # @!attribute [rw] name
1439
1857
  # @return [::String]
1440
1858
  # The name (project, location, cluster) of the cluster to set monitoring.
@@ -1453,9 +1871,9 @@ module Google
1453
1871
  # @!attribute [rw] zone
1454
1872
  # @return [::String]
1455
1873
  # Required. Deprecated. The name of the Google Compute Engine
1456
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1457
- # resides.
1458
- # This field has been deprecated and replaced by the name field.
1874
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1875
+ # cluster resides. This field has been deprecated and replaced by the name
1876
+ # field.
1459
1877
  # @!attribute [rw] cluster_id
1460
1878
  # @return [::String]
1461
1879
  # Required. Deprecated. The name of the cluster to upgrade.
@@ -1482,9 +1900,9 @@ module Google
1482
1900
  # @!attribute [rw] zone
1483
1901
  # @return [::String]
1484
1902
  # Required. Deprecated. The name of the Google Compute Engine
1485
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1486
- # resides.
1487
- # This field has been deprecated and replaced by the name field.
1903
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1904
+ # cluster resides. This field has been deprecated and replaced by the name
1905
+ # field.
1488
1906
  # @!attribute [rw] cluster_id
1489
1907
  # @return [::String]
1490
1908
  # Required. Deprecated. The name of the cluster to upgrade.
@@ -1492,10 +1910,10 @@ module Google
1492
1910
  # @!attribute [rw] locations
1493
1911
  # @return [::Array<::String>]
1494
1912
  # Required. The desired list of Google Compute Engine
1495
- # [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
1496
- # should be located. Changing the locations a cluster is in will result
1497
- # in nodes being either created or removed from the cluster, depending on
1498
- # whether locations are being added or removed.
1913
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
1914
+ # cluster's nodes should be located. Changing the locations a cluster is in
1915
+ # will result in nodes being either created or removed from the cluster,
1916
+ # depending on whether locations are being added or removed.
1499
1917
  #
1500
1918
  # This list must always include the cluster's primary zone.
1501
1919
  # @!attribute [rw] name
@@ -1516,9 +1934,9 @@ module Google
1516
1934
  # @!attribute [rw] zone
1517
1935
  # @return [::String]
1518
1936
  # Required. Deprecated. The name of the Google Compute Engine
1519
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1520
- # resides.
1521
- # This field has been deprecated and replaced by the name field.
1937
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1938
+ # cluster resides. This field has been deprecated and replaced by the name
1939
+ # field.
1522
1940
  # @!attribute [rw] cluster_id
1523
1941
  # @return [::String]
1524
1942
  # Required. Deprecated. The name of the cluster to upgrade.
@@ -1553,9 +1971,9 @@ module Google
1553
1971
  # @!attribute [rw] zone
1554
1972
  # @return [::String]
1555
1973
  # Required. Deprecated. The name of the Google Compute Engine
1556
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1557
- # resides.
1558
- # This field has been deprecated and replaced by the name field.
1974
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
1975
+ # cluster resides. This field has been deprecated and replaced by the name
1976
+ # field.
1559
1977
  # @!attribute [rw] cluster_id
1560
1978
  # @return [::String]
1561
1979
  # Required. Deprecated. The name of the cluster to upgrade.
@@ -1602,9 +2020,9 @@ module Google
1602
2020
  # @!attribute [rw] zone
1603
2021
  # @return [::String]
1604
2022
  # Required. Deprecated. The name of the Google Compute Engine
1605
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1606
- # resides.
1607
- # This field has been deprecated and replaced by the name field.
2023
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2024
+ # cluster resides. This field has been deprecated and replaced by the name
2025
+ # field.
1608
2026
  # @!attribute [rw] cluster_id
1609
2027
  # @return [::String]
1610
2028
  # Required. Deprecated. The name of the cluster to delete.
@@ -1627,9 +2045,9 @@ module Google
1627
2045
  # @!attribute [rw] zone
1628
2046
  # @return [::String]
1629
2047
  # Required. Deprecated. The name of the Google Compute Engine
1630
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1631
- # resides, or "-" for all zones.
1632
- # This field has been deprecated and replaced by the parent field.
2048
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2049
+ # cluster resides, or "-" for all zones. This field has been deprecated and
2050
+ # replaced by the parent field.
1633
2051
  # @!attribute [rw] parent
1634
2052
  # @return [::String]
1635
2053
  # The parent (project and location) where the clusters will be listed.
@@ -1663,9 +2081,9 @@ module Google
1663
2081
  # @!attribute [rw] zone
1664
2082
  # @return [::String]
1665
2083
  # Required. Deprecated. The name of the Google Compute Engine
1666
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1667
- # resides.
1668
- # This field has been deprecated and replaced by the name field.
2084
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2085
+ # cluster resides. This field has been deprecated and replaced by the name
2086
+ # field.
1669
2087
  # @!attribute [rw] operation_id
1670
2088
  # @return [::String]
1671
2089
  # Required. Deprecated. The server-assigned `name` of the operation.
@@ -1688,8 +2106,9 @@ module Google
1688
2106
  # @!attribute [rw] zone
1689
2107
  # @return [::String]
1690
2108
  # Required. Deprecated. The name of the Google Compute Engine
1691
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for
1692
- # all zones. This field has been deprecated and replaced by the parent field.
2109
+ # [zone](https://cloud.google.com/compute/docs/zones#available) to return
2110
+ # operations for, or `-` for all zones. This field has been deprecated and
2111
+ # replaced by the parent field.
1693
2112
  # @!attribute [rw] parent
1694
2113
  # @return [::String]
1695
2114
  # The parent (project and location) where the operations will be listed.
@@ -1709,8 +2128,9 @@ module Google
1709
2128
  # @!attribute [rw] zone
1710
2129
  # @return [::String]
1711
2130
  # Required. Deprecated. The name of the Google Compute Engine
1712
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides.
1713
- # This field has been deprecated and replaced by the name field.
2131
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2132
+ # operation resides. This field has been deprecated and replaced by the name
2133
+ # field.
1714
2134
  # @!attribute [rw] operation_id
1715
2135
  # @return [::String]
1716
2136
  # Required. Deprecated. The server-assigned `name` of the operation.
@@ -1746,8 +2166,9 @@ module Google
1746
2166
  # @!attribute [rw] zone
1747
2167
  # @return [::String]
1748
2168
  # Required. Deprecated. The name of the Google Compute Engine
1749
- # [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for.
1750
- # This field has been deprecated and replaced by the name field.
2169
+ # [zone](https://cloud.google.com/compute/docs/zones#available) to return
2170
+ # operations for. This field has been deprecated and replaced by the name
2171
+ # field.
1751
2172
  # @!attribute [rw] name
1752
2173
  # @return [::String]
1753
2174
  # The name (project and location) of the server config to get,
@@ -1763,7 +2184,7 @@ module Google
1763
2184
  # Version of Kubernetes the service deploys by default.
1764
2185
  # @!attribute [rw] valid_node_versions
1765
2186
  # @return [::Array<::String>]
1766
- # List of valid node upgrade target versions.
2187
+ # List of valid node upgrade target versions, in descending order.
1767
2188
  # @!attribute [rw] default_image_type
1768
2189
  # @return [::String]
1769
2190
  # Default image type.
@@ -1772,10 +2193,45 @@ module Google
1772
2193
  # List of valid image types.
1773
2194
  # @!attribute [rw] valid_master_versions
1774
2195
  # @return [::Array<::String>]
1775
- # List of valid master versions.
2196
+ # List of valid master versions, in descending order.
2197
+ # @!attribute [rw] channels
2198
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ServerConfig::ReleaseChannelConfig>]
2199
+ # List of release channel configurations.
1776
2200
  class ServerConfig
1777
2201
  include ::Google::Protobuf::MessageExts
1778
2202
  extend ::Google::Protobuf::MessageExts::ClassMethods
2203
+
2204
+ # ReleaseChannelConfig exposes configuration for a release channel.
2205
+ # @!attribute [rw] channel
2206
+ # @return [::Google::Cloud::Container::V1beta1::ReleaseChannel::Channel]
2207
+ # The release channel this configuration applies to.
2208
+ # @!attribute [rw] default_version
2209
+ # @return [::String]
2210
+ # The default version for newly created clusters on the channel.
2211
+ # @!attribute [rw] available_versions
2212
+ # @return [::Array<::Google::Cloud::Container::V1beta1::ServerConfig::ReleaseChannelConfig::AvailableVersion>]
2213
+ # Deprecated.
2214
+ # This field has been deprecated and replaced with the valid_versions
2215
+ # field.
2216
+ # @!attribute [rw] valid_versions
2217
+ # @return [::Array<::String>]
2218
+ # List of valid versions for the channel.
2219
+ class ReleaseChannelConfig
2220
+ include ::Google::Protobuf::MessageExts
2221
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2222
+
2223
+ # Deprecated.
2224
+ # @!attribute [rw] version
2225
+ # @return [::String]
2226
+ # Kubernetes version.
2227
+ # @!attribute [rw] reason
2228
+ # @return [::String]
2229
+ # Reason for availability.
2230
+ class AvailableVersion
2231
+ include ::Google::Protobuf::MessageExts
2232
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2233
+ end
2234
+ end
1779
2235
  end
1780
2236
 
1781
2237
  # CreateNodePoolRequest creates a node pool for a cluster.
@@ -1787,9 +2243,9 @@ module Google
1787
2243
  # @!attribute [rw] zone
1788
2244
  # @return [::String]
1789
2245
  # Required. Deprecated. The name of the Google Compute Engine
1790
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1791
- # resides.
1792
- # This field has been deprecated and replaced by the parent field.
2246
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2247
+ # cluster resides. This field has been deprecated and replaced by the parent
2248
+ # field.
1793
2249
  # @!attribute [rw] cluster_id
1794
2250
  # @return [::String]
1795
2251
  # Required. Deprecated. The name of the cluster.
@@ -1816,9 +2272,9 @@ module Google
1816
2272
  # @!attribute [rw] zone
1817
2273
  # @return [::String]
1818
2274
  # Required. Deprecated. The name of the Google Compute Engine
1819
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1820
- # resides.
1821
- # This field has been deprecated and replaced by the name field.
2275
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2276
+ # cluster resides. This field has been deprecated and replaced by the name
2277
+ # field.
1822
2278
  # @!attribute [rw] cluster_id
1823
2279
  # @return [::String]
1824
2280
  # Required. Deprecated. The name of the cluster.
@@ -1846,9 +2302,9 @@ module Google
1846
2302
  # @!attribute [rw] zone
1847
2303
  # @return [::String]
1848
2304
  # Required. Deprecated. The name of the Google Compute Engine
1849
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1850
- # resides.
1851
- # This field has been deprecated and replaced by the parent field.
2305
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2306
+ # cluster resides. This field has been deprecated and replaced by the parent
2307
+ # field.
1852
2308
  # @!attribute [rw] cluster_id
1853
2309
  # @return [::String]
1854
2310
  # Required. Deprecated. The name of the cluster.
@@ -1871,9 +2327,9 @@ module Google
1871
2327
  # @!attribute [rw] zone
1872
2328
  # @return [::String]
1873
2329
  # Required. Deprecated. The name of the Google Compute Engine
1874
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1875
- # resides.
1876
- # This field has been deprecated and replaced by the name field.
2330
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2331
+ # cluster resides. This field has been deprecated and replaced by the name
2332
+ # field.
1877
2333
  # @!attribute [rw] cluster_id
1878
2334
  # @return [::String]
1879
2335
  # Required. Deprecated. The name of the cluster.
@@ -1910,6 +2366,18 @@ module Google
1910
2366
  # Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
1911
2367
  # is sufficient for this number of instances. You must also have available
1912
2368
  # firewall and routes quota.
2369
+ # @!attribute [rw] locations
2370
+ # @return [::Array<::String>]
2371
+ # The list of Google Compute Engine
2372
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
2373
+ # NodePool's nodes should be located.
2374
+ #
2375
+ # If this value is unspecified during node pool creation, the
2376
+ # [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
2377
+ # value will be used, instead.
2378
+ #
2379
+ # Warning: changing node pool locations will result in nodes being added
2380
+ # and/or removed.
1913
2381
  # @!attribute [rw] self_link
1914
2382
  # @return [::String]
1915
2383
  # [Output only] Server-defined URL for the resource.
@@ -1926,7 +2394,8 @@ module Google
1926
2394
  # [Output only] The status of the nodes in this pool instance.
1927
2395
  # @!attribute [rw] status_message
1928
2396
  # @return [::String]
1929
- # [Output only] Additional information about the current status of this
2397
+ # [Output only] Deprecated. Use conditions instead.
2398
+ # Additional information about the current status of this
1930
2399
  # node pool instance, if available.
1931
2400
  # @!attribute [rw] autoscaling
1932
2401
  # @return [::Google::Cloud::Container::V1beta1::NodePoolAutoscaling]
@@ -1945,10 +2414,50 @@ module Google
1945
2414
  # @!attribute [rw] pod_ipv4_cidr_size
1946
2415
  # @return [::Integer]
1947
2416
  # [Output only] The pod CIDR block size per node in this node pool.
2417
+ # @!attribute [rw] upgrade_settings
2418
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::UpgradeSettings]
2419
+ # Upgrade settings control disruption and speed of the upgrade.
1948
2420
  class NodePool
1949
2421
  include ::Google::Protobuf::MessageExts
1950
2422
  extend ::Google::Protobuf::MessageExts::ClassMethods
1951
2423
 
2424
+ # These upgrade settings control the level of parallelism and the level of
2425
+ # disruption caused by an upgrade.
2426
+ #
2427
+ # maxUnavailable controls the number of nodes that can be simultaneously
2428
+ # unavailable.
2429
+ #
2430
+ # maxSurge controls the number of additional nodes that can be added to the
2431
+ # node pool temporarily for the time of the upgrade to increase the number of
2432
+ # available nodes.
2433
+ #
2434
+ # (maxUnavailable + maxSurge) determines the level of parallelism (how many
2435
+ # nodes are being upgraded at the same time).
2436
+ #
2437
+ # Note: upgrades inevitably introduce some disruption since workloads need to
2438
+ # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
2439
+ # this holds true. (Disruption stays within the limits of
2440
+ # PodDisruptionBudget, if it is configured.)
2441
+ #
2442
+ # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
2443
+ # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
2444
+ # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
2445
+ # down 3 old (not yet upgraded) nodes at the same time. This ensures that
2446
+ # there are always at least 4 nodes available.
2447
+ # @!attribute [rw] max_surge
2448
+ # @return [::Integer]
2449
+ # The maximum number of nodes that can be created beyond the current size
2450
+ # of the node pool during the upgrade process.
2451
+ # @!attribute [rw] max_unavailable
2452
+ # @return [::Integer]
2453
+ # The maximum number of nodes that can be simultaneously unavailable during
2454
+ # the upgrade process. A node is considered available if its status is
2455
+ # Ready.
2456
+ class UpgradeSettings
2457
+ include ::Google::Protobuf::MessageExts
2458
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2459
+ end
2460
+
1952
2461
  # The current status of the node pool instance.
1953
2462
  module Status
1954
2463
  # Not set.
@@ -2022,7 +2531,7 @@ module Google
2022
2531
  # A hash identifying the version of this policy, so that updates to fields of
2023
2532
  # the policy won't accidentally undo intermediate changes (and so that users
2024
2533
  # of the API unaware of some fields won't accidentally remove other fields).
2025
- # Make a <code>get()</code> request to the cluster to get the current
2534
+ # Make a `get()` request to the cluster to get the current
2026
2535
  # resource version and include it with requests to set the policy.
2027
2536
  class MaintenancePolicy
2028
2537
  include ::Google::Protobuf::MessageExts
@@ -2080,25 +2589,30 @@ module Google
2080
2589
  # end time.
2081
2590
  #
2082
2591
  # For example, to have something repeat every weekday, you'd use:
2083
- # <code>FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR</code>
2592
+ # `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`
2593
+ #
2084
2594
  # To repeat some window daily (equivalent to the DailyMaintenanceWindow):
2085
- # <code>FREQ=DAILY</code>
2595
+ # `FREQ=DAILY`
2596
+ #
2086
2597
  # For the first weekend of every month:
2087
- # <code>FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU</code>
2598
+ # `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
2599
+ #
2088
2600
  # This specifies how frequently the window starts. Eg, if you wanted to have
2089
2601
  # a 9-5 UTC-4 window every weekday, you'd use something like:
2090
- # <code>
2091
- # start time = 2019-01-01T09:00:00-0400
2092
- # end time = 2019-01-01T17:00:00-0400
2093
- # recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
2094
- # </code>
2602
+ # ```
2603
+ # start time = 2019-01-01T09:00:00-0400
2604
+ # end time = 2019-01-01T17:00:00-0400
2605
+ # recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
2606
+ # ```
2607
+ #
2095
2608
  # Windows can span multiple days. Eg, to make the window encompass every
2096
2609
  # weekend from midnight Saturday till the last minute of Sunday UTC:
2097
- # <code>
2098
- # start time = 2019-01-05T00:00:00Z
2099
- # end time = 2019-01-07T23:59:00Z
2100
- # recurrence = FREQ=WEEKLY;BYDAY=SA
2101
- # </code>
2610
+ # ```
2611
+ # start time = 2019-01-05T00:00:00Z
2612
+ # end time = 2019-01-07T23:59:00Z
2613
+ # recurrence = FREQ=WEEKLY;BYDAY=SA
2614
+ # ```
2615
+ #
2102
2616
  # Note the start and end time's specific dates are largely arbitrary except
2103
2617
  # to specify duration of the window and when it first starts.
2104
2618
  # The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
@@ -2131,9 +2645,9 @@ module Google
2131
2645
  # @!attribute [rw] zone
2132
2646
  # @return [::String]
2133
2647
  # Required. Deprecated. The name of the Google Compute Engine
2134
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2135
- # resides.
2136
- # This field has been deprecated and replaced by the name field.
2648
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2649
+ # cluster resides. This field has been deprecated and replaced by the name
2650
+ # field.
2137
2651
  # @!attribute [rw] cluster_id
2138
2652
  # @return [::String]
2139
2653
  # Required. Deprecated. The name of the cluster to update.
@@ -2165,9 +2679,9 @@ module Google
2165
2679
  # @!attribute [rw] zone
2166
2680
  # @return [::String]
2167
2681
  # Required. Deprecated. The name of the Google Compute Engine
2168
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2169
- # resides.
2170
- # This field has been deprecated and replaced by the name field.
2682
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2683
+ # cluster resides. This field has been deprecated and replaced by the name
2684
+ # field.
2171
2685
  # @!attribute [rw] cluster_id
2172
2686
  # @return [::String]
2173
2687
  # Required. Deprecated. The name of the cluster to update.
@@ -2200,9 +2714,9 @@ module Google
2200
2714
  # @!attribute [rw] zone
2201
2715
  # @return [::String]
2202
2716
  # Required. Deprecated. The name of the Google Compute Engine
2203
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2204
- # resides.
2205
- # This field has been deprecated and replaced by the name field.
2717
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2718
+ # cluster resides. This field has been deprecated and replaced by the name
2719
+ # field.
2206
2720
  # @!attribute [rw] cluster_id
2207
2721
  # @return [::String]
2208
2722
  # Required. Deprecated. The name of the cluster to rollback.
@@ -2241,29 +2755,99 @@ module Google
2241
2755
  # @return [::Array<::Google::Cloud::Container::V1beta1::ResourceLimit>]
2242
2756
  # Contains global constraints regarding minimum and maximum
2243
2757
  # amount of resources in the cluster.
2758
+ # @!attribute [rw] autoscaling_profile
2759
+ # @return [::Google::Cloud::Container::V1beta1::ClusterAutoscaling::AutoscalingProfile]
2760
+ # Defines autoscaling behaviour.
2244
2761
  # @!attribute [rw] autoprovisioning_node_pool_defaults
2245
2762
  # @return [::Google::Cloud::Container::V1beta1::AutoprovisioningNodePoolDefaults]
2246
2763
  # AutoprovisioningNodePoolDefaults contains defaults for a node pool
2247
2764
  # created by NAP.
2248
2765
  # @!attribute [rw] autoprovisioning_locations
2249
2766
  # @return [::Array<::String>]
2250
- # The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available)
2251
- # in which the NodePool's nodes can be created by NAP.
2767
+ # The list of Google Compute Engine
2768
+ # [zones](https://cloud.google.com/compute/docs/zones#available) in which the
2769
+ # NodePool's nodes can be created by NAP.
2252
2770
  class ClusterAutoscaling
2253
2771
  include ::Google::Protobuf::MessageExts
2254
2772
  extend ::Google::Protobuf::MessageExts::ClassMethods
2773
+
2774
+ # Defines possible options for autoscaling_profile field.
2775
+ module AutoscalingProfile
2776
+ # No change to autoscaling configuration.
2777
+ PROFILE_UNSPECIFIED = 0
2778
+
2779
+ # Prioritize optimizing utilization of resources.
2780
+ OPTIMIZE_UTILIZATION = 1
2781
+
2782
+ # Use default (balanced) autoscaling configuration.
2783
+ BALANCED = 2
2784
+ end
2255
2785
  end
2256
2786
 
2257
2787
  # AutoprovisioningNodePoolDefaults contains defaults for a node pool created
2258
2788
  # by NAP.
2259
2789
  # @!attribute [rw] oauth_scopes
2260
2790
  # @return [::Array<::String>]
2261
- # Scopes that are used by NAP when creating node pools. If oauth_scopes are
2262
- # specified, service_account should be empty.
2791
+ # The set of Google API scopes to be made available on all of the
2792
+ # node VMs under the "default" service account.
2793
+ #
2794
+ # The following scopes are recommended, but not required, and by default are
2795
+ # not included:
2796
+ #
2797
+ # * `https://www.googleapis.com/auth/compute` is required for mounting
2798
+ # persistent storage on your nodes.
2799
+ # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
2800
+ # communicating with **gcr.io**
2801
+ # (the [Google Container
2802
+ # Registry](https://cloud.google.com/container-registry/)).
2803
+ #
2804
+ # If unspecified, no scopes are added, unless Cloud Logging or Cloud
2805
+ # Monitoring are enabled, in which case their required scopes will be added.
2263
2806
  # @!attribute [rw] service_account
2264
2807
  # @return [::String]
2265
- # The Google Cloud Platform Service Account to be used by the node VMs. If
2266
- # service_account is specified, scopes should be empty.
2808
+ # The Google Cloud Platform Service Account to be used by the node VMs.
2809
+ # Specify the email address of the Service Account; otherwise, if no Service
2810
+ # Account is specified, the "default" service account is used.
2811
+ # @!attribute [rw] upgrade_settings
2812
+ # @return [::Google::Cloud::Container::V1beta1::NodePool::UpgradeSettings]
2813
+ # Upgrade settings control disruption and speed of the upgrade.
2814
+ # @!attribute [rw] management
2815
+ # @return [::Google::Cloud::Container::V1beta1::NodeManagement]
2816
+ # NodeManagement configuration for this NodePool.
2817
+ # @!attribute [rw] min_cpu_platform
2818
+ # @return [::String]
2819
+ # Minimum CPU platform to be used by this instance. The instance may be
2820
+ # scheduled on the specified or newer CPU platform. Applicable values are the
2821
+ # friendly names of CPU platforms, such as
2822
+ # `minCpuPlatform: "Intel Haswell"` or
2823
+ # `minCpuPlatform: "Intel Sandy Bridge"`. For more
2824
+ # information, read [how to specify min CPU
2825
+ # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
2826
+ # To unset the min cpu platform field pass "automatic"
2827
+ # as field value.
2828
+ # @!attribute [rw] disk_size_gb
2829
+ # @return [::Integer]
2830
+ # Size of the disk attached to each node, specified in GB.
2831
+ # The smallest allowed disk size is 10GB.
2832
+ #
2833
+ # If unspecified, the default disk size is 100GB.
2834
+ # @!attribute [rw] disk_type
2835
+ # @return [::String]
2836
+ # Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or
2837
+ # 'pd-balanced')
2838
+ #
2839
+ # If unspecified, the default disk type is 'pd-standard'
2840
+ # @!attribute [rw] shielded_instance_config
2841
+ # @return [::Google::Cloud::Container::V1beta1::ShieldedInstanceConfig]
2842
+ # Shielded Instance options.
2843
+ # @!attribute [rw] boot_disk_kms_key
2844
+ # @return [::String]
2845
+ # The Customer Managed Encryption Key used to encrypt the boot disk attached
2846
+ # to each node in the node pool. This should be of the form
2847
+ # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
2848
+ # For more information about protecting resources with Cloud KMS Keys please
2849
+ # see:
2850
+ # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
2267
2851
  class AutoprovisioningNodePoolDefaults
2268
2852
  include ::Google::Protobuf::MessageExts
2269
2853
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2317,9 +2901,9 @@ module Google
2317
2901
  # @!attribute [rw] zone
2318
2902
  # @return [::String]
2319
2903
  # Required. Deprecated. The name of the Google Compute Engine
2320
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2321
- # resides.
2322
- # This field has been deprecated and replaced by the name field.
2904
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2905
+ # cluster resides. This field has been deprecated and replaced by the name
2906
+ # field.
2323
2907
  # @!attribute [rw] cluster_id
2324
2908
  # @return [::String]
2325
2909
  # Required. Deprecated. The name of the cluster.
@@ -2333,7 +2917,7 @@ module Google
2333
2917
  # used to detect conflicts. The fingerprint is initially generated by
2334
2918
  # Kubernetes Engine and changes after every request to modify or update
2335
2919
  # labels. You must always provide an up-to-date fingerprint hash when
2336
- # updating or changing labels. Make a <code>get()</code> request to the
2920
+ # updating or changing labels. Make a `get()` request to the
2337
2921
  # resource to get the latest fingerprint.
2338
2922
  # @!attribute [rw] name
2339
2923
  # @return [::String]
@@ -2363,9 +2947,9 @@ module Google
2363
2947
  # @!attribute [rw] zone
2364
2948
  # @return [::String]
2365
2949
  # Required. Deprecated. The name of the Google Compute Engine
2366
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2367
- # resides.
2368
- # This field has been deprecated and replaced by the name field.
2950
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2951
+ # cluster resides. This field has been deprecated and replaced by the name
2952
+ # field.
2369
2953
  # @!attribute [rw] cluster_id
2370
2954
  # @return [::String]
2371
2955
  # Required. Deprecated. The name of the cluster to update.
@@ -2392,9 +2976,9 @@ module Google
2392
2976
  # @!attribute [rw] zone
2393
2977
  # @return [::String]
2394
2978
  # Required. Deprecated. The name of the Google Compute Engine
2395
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2396
- # resides.
2397
- # This field has been deprecated and replaced by the name field.
2979
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2980
+ # cluster resides. This field has been deprecated and replaced by the name
2981
+ # field.
2398
2982
  # @!attribute [rw] cluster_id
2399
2983
  # @return [::String]
2400
2984
  # Required. Deprecated. The name of the cluster.
@@ -2420,9 +3004,9 @@ module Google
2420
3004
  # @!attribute [rw] zone
2421
3005
  # @return [::String]
2422
3006
  # Required. Deprecated. The name of the Google Compute Engine
2423
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2424
- # resides.
2425
- # This field has been deprecated and replaced by the name field.
3007
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3008
+ # cluster resides. This field has been deprecated and replaced by the name
3009
+ # field.
2426
3010
  # @!attribute [rw] cluster_id
2427
3011
  # @return [::String]
2428
3012
  # Required. Deprecated. The name of the cluster.
@@ -2455,6 +3039,10 @@ module Google
2455
3039
  # @return [::Google::Cloud::Container::V1beta1::WorkloadMetadataConfig::NodeMetadata]
2456
3040
  # NodeMetadata is the configuration for how to expose metadata to the
2457
3041
  # workloads running on the node.
3042
+ # @!attribute [rw] mode
3043
+ # @return [::Google::Cloud::Container::V1beta1::WorkloadMetadataConfig::Mode]
3044
+ # Mode is the configuration for how to expose metadata to workloads running
3045
+ # on the node pool.
2458
3046
  class WorkloadMetadataConfig
2459
3047
  include ::Google::Protobuf::MessageExts
2460
3048
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2477,6 +3065,30 @@ module Google
2477
3065
 
2478
3066
  # Expose all VM metadata to pods.
2479
3067
  EXPOSE = 2
3068
+
3069
+ # Run the GKE Metadata Server on this node. The GKE Metadata Server exposes
3070
+ # a metadata API to workloads that is compatible with the V1 Compute
3071
+ # Metadata APIs exposed by the Compute Engine and App Engine Metadata
3072
+ # Servers. This feature can only be enabled if Workload Identity is enabled
3073
+ # at the cluster level.
3074
+ GKE_METADATA_SERVER = 3
3075
+ end
3076
+
3077
+ # Mode is the configuration for how to expose metadata to workloads running
3078
+ # on the node.
3079
+ module Mode
3080
+ # Not set.
3081
+ MODE_UNSPECIFIED = 0
3082
+
3083
+ # Expose all Compute Engine metadata to pods.
3084
+ GCE_METADATA = 1
3085
+
3086
+ # Run the GKE Metadata Server on this node. The GKE Metadata Server exposes
3087
+ # a metadata API to workloads that is compatible with the V1 Compute
3088
+ # Metadata APIs exposed by the Compute Engine and App Engine Metadata
3089
+ # Servers. This feature can only be enabled if Workload Identity is enabled
3090
+ # at the cluster level.
3091
+ GKE_METADATA = 2
2480
3092
  end
2481
3093
  end
2482
3094
 
@@ -2489,9 +3101,9 @@ module Google
2489
3101
  # @!attribute [rw] zone
2490
3102
  # @return [::String]
2491
3103
  # Required. Deprecated. The name of the Google Compute Engine
2492
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2493
- # resides.
2494
- # This field has been deprecated and replaced by the name field.
3104
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3105
+ # cluster resides. This field has been deprecated and replaced by the name
3106
+ # field.
2495
3107
  # @!attribute [rw] cluster_id
2496
3108
  # @return [::String]
2497
3109
  # Required. Deprecated. The name of the cluster.
@@ -2516,8 +3128,8 @@ module Google
2516
3128
  # @!attribute [rw] zone
2517
3129
  # @return [::String]
2518
3130
  # Required. The name of the Google Compute Engine
2519
- # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
2520
- # resides.
3131
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3132
+ # cluster resides.
2521
3133
  # @!attribute [rw] cluster_id
2522
3134
  # @return [::String]
2523
3135
  # Required. The name of the cluster to update.
@@ -2596,9 +3208,13 @@ module Google
2596
3208
  # @!attribute [rw] code
2597
3209
  # @return [::Google::Cloud::Container::V1beta1::StatusCondition::Code]
2598
3210
  # Machine-friendly representation of the condition
3211
+ # Deprecated. Use canonical_code instead.
2599
3212
  # @!attribute [rw] message
2600
3213
  # @return [::String]
2601
3214
  # Human-friendly representation of the condition
3215
+ # @!attribute [rw] canonical_code
3216
+ # @return [::Google::Rpc::Code]
3217
+ # Canonical code of the condition.
2602
3218
  class StatusCondition
2603
3219
  include ::Google::Protobuf::MessageExts
2604
3220
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2608,7 +3224,8 @@ module Google
2608
3224
  # UNKNOWN indicates a generic condition.
2609
3225
  UNKNOWN = 0
2610
3226
 
2611
- # GCE_STOCKOUT indicates a Google Compute Engine stockout.
3227
+ # GCE_STOCKOUT indicates that Google Compute Engine resources are
3228
+ # temporarily unavailable.
2612
3229
  GCE_STOCKOUT = 1
2613
3230
 
2614
3231
  # GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot
@@ -2632,18 +3249,29 @@ module Google
2632
3249
  # @!attribute [rw] network
2633
3250
  # @return [::String]
2634
3251
  # Output only. The relative name of the Google Compute Engine
2635
- # {::Google::Cloud::Container::V1beta1::NetworkConfig#network network}(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which
2636
- # the cluster is connected.
2637
- # Example: projects/my-project/global/networks/my-network
3252
+ # {::Google::Cloud::Container::V1beta1::NetworkConfig#network network}(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
3253
+ # to which the cluster is connected. Example:
3254
+ # projects/my-project/global/networks/my-network
2638
3255
  # @!attribute [rw] subnetwork
2639
3256
  # @return [::String]
2640
3257
  # Output only. The relative name of the Google Compute Engine
2641
- # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the cluster is connected.
2642
- # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
3258
+ # [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
3259
+ # cluster is connected. Example:
3260
+ # projects/my-project/regions/us-central1/subnetworks/my-subnet
2643
3261
  # @!attribute [rw] enable_intra_node_visibility
2644
3262
  # @return [::Boolean]
2645
3263
  # Whether Intra-node visibility is enabled for this cluster.
2646
3264
  # This makes same node pod to pod traffic visible for VPC network.
3265
+ # @!attribute [rw] default_snat_status
3266
+ # @return [::Google::Cloud::Container::V1beta1::DefaultSnatStatus]
3267
+ # Whether the cluster disables default in-node sNAT rules. In-node sNAT rules
3268
+ # will be disabled when default_snat_status is disabled. When disabled is set
3269
+ # to false, default IP masquerade rules will be applied to the nodes to
3270
+ # prevent sNAT on cluster internal traffic.
3271
+ # @!attribute [rw] datapath_provider
3272
+ # @return [::Google::Cloud::Container::V1beta1::DatapathProvider]
3273
+ # The desired datapath provider for this cluster. By default, uses the
3274
+ # IPTables-based kube-proxy implementation.
2647
3275
  class NetworkConfig
2648
3276
  include ::Google::Protobuf::MessageExts
2649
3277
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2768,6 +3396,16 @@ module Google
2768
3396
  extend ::Google::Protobuf::MessageExts::ClassMethods
2769
3397
  end
2770
3398
 
3399
+ # DefaultSnatStatus contains the desired state of whether default sNAT should
3400
+ # be disabled on the cluster.
3401
+ # @!attribute [rw] disabled
3402
+ # @return [::Boolean]
3403
+ # Disables cluster default sNAT rules.
3404
+ class DefaultSnatStatus
3405
+ include ::Google::Protobuf::MessageExts
3406
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3407
+ end
3408
+
2771
3409
  # IntraNodeVisibilityConfig contains the desired config of the intra-node
2772
3410
  # visibility on this cluster.
2773
3411
  # @!attribute [rw] enabled
@@ -2787,6 +3425,22 @@ module Google
2787
3425
  extend ::Google::Protobuf::MessageExts::ClassMethods
2788
3426
  end
2789
3427
 
3428
+ # Configuration for the use of Kubernetes Service Accounts in GCP IAM
3429
+ # policies.
3430
+ # @!attribute [rw] identity_namespace
3431
+ # @return [::String]
3432
+ # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
3433
+ # @!attribute [rw] workload_pool
3434
+ # @return [::String]
3435
+ # The workload pool to attach all Kubernetes service accounts to.
3436
+ # @!attribute [rw] identity_provider
3437
+ # @return [::String]
3438
+ # identity provider is the third party identity provider.
3439
+ class WorkloadIdentityConfig
3440
+ include ::Google::Protobuf::MessageExts
3441
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3442
+ end
3443
+
2790
3444
  # Configuration of etcd encryption.
2791
3445
  # @!attribute [rw] state
2792
3446
  # @return [::Google::Cloud::Container::V1beta1::DatabaseEncryption::State]
@@ -2808,7 +3462,7 @@ module Google
2808
3462
  ENCRYPTED = 1
2809
3463
 
2810
3464
  # Secrets in etcd are stored in plain text (at etcd level) - this is
2811
- # unrelated to Google Compute Engine level full disk encryption.
3465
+ # unrelated to Compute Engine level full disk encryption.
2812
3466
  DECRYPTED = 2
2813
3467
  end
2814
3468
  end
@@ -2848,6 +3502,256 @@ module Google
2848
3502
  extend ::Google::Protobuf::MessageExts::ClassMethods
2849
3503
  end
2850
3504
  end
3505
+
3506
+ # Configuration of Shielded Nodes feature.
3507
+ # @!attribute [rw] enabled
3508
+ # @return [::Boolean]
3509
+ # Whether Shielded Nodes features are enabled on all nodes in this cluster.
3510
+ class ShieldedNodes
3511
+ include ::Google::Protobuf::MessageExts
3512
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3513
+ end
3514
+
3515
+ # GetOpenIDConfigRequest gets the OIDC discovery document for the
3516
+ # cluster. See the OpenID Connect Discovery 1.0 specification for details.
3517
+ # @!attribute [rw] parent
3518
+ # @return [::String]
3519
+ # The cluster (project, location, cluster id) to get the discovery document
3520
+ # for. Specified in the format `projects/*/locations/*/clusters/*`.
3521
+ class GetOpenIDConfigRequest
3522
+ include ::Google::Protobuf::MessageExts
3523
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3524
+ end
3525
+
3526
+ # GetOpenIDConfigResponse is an OIDC discovery document for the cluster.
3527
+ # See the OpenID Connect Discovery 1.0 specification for details.
3528
+ # @!attribute [rw] issuer
3529
+ # @return [::String]
3530
+ # OIDC Issuer.
3531
+ # @!attribute [rw] jwks_uri
3532
+ # @return [::String]
3533
+ # JSON Web Key uri.
3534
+ # @!attribute [rw] response_types_supported
3535
+ # @return [::Array<::String>]
3536
+ # Supported response types.
3537
+ # @!attribute [rw] subject_types_supported
3538
+ # @return [::Array<::String>]
3539
+ # Supported subject types.
3540
+ # @!attribute [rw] id_token_signing_alg_values_supported
3541
+ # @return [::Array<::String>]
3542
+ # supported ID Token signing Algorithms.
3543
+ # @!attribute [rw] claims_supported
3544
+ # @return [::Array<::String>]
3545
+ # Supported claims.
3546
+ # @!attribute [rw] grant_types
3547
+ # @return [::Array<::String>]
3548
+ # Supported grant types.
3549
+ class GetOpenIDConfigResponse
3550
+ include ::Google::Protobuf::MessageExts
3551
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3552
+ end
3553
+
3554
+ # GetJSONWebKeysRequest gets the public component of the keys used by the
3555
+ # cluster to sign token requests. This will be the jwks_uri for the discover
3556
+ # document returned by getOpenIDConfig. See the OpenID Connect
3557
+ # Discovery 1.0 specification for details.
3558
+ # @!attribute [rw] parent
3559
+ # @return [::String]
3560
+ # The cluster (project, location, cluster id) to get keys for. Specified in
3561
+ # the format `projects/*/locations/*/clusters/*`.
3562
+ class GetJSONWebKeysRequest
3563
+ include ::Google::Protobuf::MessageExts
3564
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3565
+ end
3566
+
3567
+ # Jwk is a JSON Web Key as specified in RFC 7517
3568
+ # @!attribute [rw] kty
3569
+ # @return [::String]
3570
+ # Key Type.
3571
+ # @!attribute [rw] alg
3572
+ # @return [::String]
3573
+ # Algorithm.
3574
+ # @!attribute [rw] use
3575
+ # @return [::String]
3576
+ # Permitted uses for the public keys.
3577
+ # @!attribute [rw] kid
3578
+ # @return [::String]
3579
+ # Key ID.
3580
+ # @!attribute [rw] n
3581
+ # @return [::String]
3582
+ # Used for RSA keys.
3583
+ # @!attribute [rw] e
3584
+ # @return [::String]
3585
+ # Used for RSA keys.
3586
+ # @!attribute [rw] x
3587
+ # @return [::String]
3588
+ # Used for ECDSA keys.
3589
+ # @!attribute [rw] y
3590
+ # @return [::String]
3591
+ # Used for ECDSA keys.
3592
+ # @!attribute [rw] crv
3593
+ # @return [::String]
3594
+ # Used for ECDSA keys.
3595
+ class Jwk
3596
+ include ::Google::Protobuf::MessageExts
3597
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3598
+ end
3599
+
3600
+ # GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517
3601
+ # @!attribute [rw] keys
3602
+ # @return [::Array<::Google::Cloud::Container::V1beta1::Jwk>]
3603
+ # The public component of the keys used by the cluster to sign token
3604
+ # requests.
3605
+ class GetJSONWebKeysResponse
3606
+ include ::Google::Protobuf::MessageExts
3607
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3608
+ end
3609
+
3610
+ # ReleaseChannel indicates which release channel a cluster is
3611
+ # subscribed to. Release channels are arranged in order of risk.
3612
+ #
3613
+ # When a cluster is subscribed to a release channel, Google maintains
3614
+ # both the master version and the node version. Node auto-upgrade
3615
+ # defaults to true and cannot be disabled.
3616
+ # @!attribute [rw] channel
3617
+ # @return [::Google::Cloud::Container::V1beta1::ReleaseChannel::Channel]
3618
+ # channel specifies which release channel the cluster is subscribed to.
3619
+ class ReleaseChannel
3620
+ include ::Google::Protobuf::MessageExts
3621
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3622
+
3623
+ # Possible values for 'channel'.
3624
+ module Channel
3625
+ # No channel specified.
3626
+ UNSPECIFIED = 0
3627
+
3628
+ # RAPID channel is offered on an early access basis for customers who want
3629
+ # to test new releases.
3630
+ #
3631
+ # WARNING: Versions available in the RAPID Channel may be subject to
3632
+ # unresolved issues with no known workaround and are not subject to any
3633
+ # SLAs.
3634
+ RAPID = 1
3635
+
3636
+ # Clusters subscribed to REGULAR receive versions that are considered GA
3637
+ # quality. REGULAR is intended for production users who want to take
3638
+ # advantage of new features.
3639
+ REGULAR = 2
3640
+
3641
+ # Clusters subscribed to STABLE receive versions that are known to be
3642
+ # stable and reliable in production.
3643
+ STABLE = 3
3644
+ end
3645
+ end
3646
+
3647
+ # Configuration for Cloud TPU.
3648
+ # @!attribute [rw] enabled
3649
+ # @return [::Boolean]
3650
+ # Whether Cloud TPU integration is enabled or not.
3651
+ # @!attribute [rw] use_service_networking
3652
+ # @return [::Boolean]
3653
+ # Whether to use service networking for Cloud TPU or not.
3654
+ # @!attribute [rw] ipv4_cidr_block
3655
+ # @return [::String]
3656
+ # IPv4 CIDR block reserved for Cloud TPU in the VPC.
3657
+ class TpuConfig
3658
+ include ::Google::Protobuf::MessageExts
3659
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3660
+ end
3661
+
3662
+ # Master is the configuration for components on master.
3663
+ class Master
3664
+ include ::Google::Protobuf::MessageExts
3665
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3666
+ end
3667
+
3668
+ # NotificationConfig is the configuration of notifications.
3669
+ # @!attribute [rw] pubsub
3670
+ # @return [::Google::Cloud::Container::V1beta1::NotificationConfig::PubSub]
3671
+ # Notification config for Pub/Sub.
3672
+ class NotificationConfig
3673
+ include ::Google::Protobuf::MessageExts
3674
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3675
+
3676
+ # Pub/Sub specific notification config.
3677
+ # @!attribute [rw] enabled
3678
+ # @return [::Boolean]
3679
+ # Enable notifications for Pub/Sub.
3680
+ # @!attribute [rw] topic
3681
+ # @return [::String]
3682
+ # The desired Pub/Sub topic to which notifications will be
3683
+ # sent by GKE. Format is `projects/{project}/topics/{topic}`.
3684
+ class PubSub
3685
+ include ::Google::Protobuf::MessageExts
3686
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3687
+ end
3688
+ end
3689
+
3690
+ # ConfidentialNodes is configuration for the confidential nodes feature, which
3691
+ # makes nodes run on confidential VMs.
3692
+ # @!attribute [rw] enabled
3693
+ # @return [::Boolean]
3694
+ # Whether Confidential Nodes feature is enabled for all nodes in this
3695
+ # cluster.
3696
+ class ConfidentialNodes
3697
+ include ::Google::Protobuf::MessageExts
3698
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3699
+ end
3700
+
3701
+ # UpgradeEvent is a notification sent to customers by the cluster server when
3702
+ # a resource is upgrading.
3703
+ # @!attribute [rw] resource_type
3704
+ # @return [::Google::Cloud::Container::V1beta1::UpgradeResourceType]
3705
+ # Required. The resource type that is upgrading.
3706
+ # @!attribute [rw] operation
3707
+ # @return [::String]
3708
+ # Required. The operation associated with this upgrade.
3709
+ # @!attribute [rw] operation_start_time
3710
+ # @return [::Google::Protobuf::Timestamp]
3711
+ # Required. The time when the operation was started.
3712
+ # @!attribute [rw] current_version
3713
+ # @return [::String]
3714
+ # Required. The current version before the upgrade.
3715
+ # @!attribute [rw] target_version
3716
+ # @return [::String]
3717
+ # Required. The target version for the upgrade.
3718
+ # @!attribute [rw] resource
3719
+ # @return [::String]
3720
+ # Optional. Optional relative path to the resource. For example in node pool upgrades,
3721
+ # the relative path of the node pool.
3722
+ class UpgradeEvent
3723
+ include ::Google::Protobuf::MessageExts
3724
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3725
+ end
3726
+
3727
+ # The datapath provider selects the implementation of the Kubernetes networking
3728
+ # // model for service resolution and network policy enforcement.
3729
+ module DatapathProvider
3730
+ # Default value.
3731
+ DATAPATH_PROVIDER_UNSPECIFIED = 0
3732
+
3733
+ # Use the IPTables implementation based on kube-proxy.
3734
+ LEGACY_DATAPATH = 1
3735
+
3736
+ # Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE
3737
+ # Dataplane V2
3738
+ # documentation](https://cloud.google.com/kubernetes-enginw/docs/how-to/dataplane-v2)
3739
+ # for more.
3740
+ ADVANCED_DATAPATH = 2
3741
+ end
3742
+
3743
+ # UpgradeResourceType is the resource type that is upgrading. It is used
3744
+ # in upgrade notifications.
3745
+ module UpgradeResourceType
3746
+ # Default value. This shouldn't be used.
3747
+ UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0
3748
+
3749
+ # Master / control plane
3750
+ MASTER = 1
3751
+
3752
+ # Node pool
3753
+ NODE_POOL = 2
3754
+ end
2851
3755
  end
2852
3756
  end
2853
3757
  end