google-cloud-container 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,176 @@
1
+ {
2
+ "interfaces": {
3
+ "google.container.v1.ClusterManager": {
4
+ "retry_codes": {
5
+ "idempotent": [
6
+ "DEADLINE_EXCEEDED",
7
+ "UNAVAILABLE"
8
+ ],
9
+ "non_idempotent": []
10
+ },
11
+ "retry_params": {
12
+ "default": {
13
+ "initial_retry_delay_millis": 100,
14
+ "retry_delay_multiplier": 1.3,
15
+ "max_retry_delay_millis": 60000,
16
+ "initial_rpc_timeout_millis": 20000,
17
+ "rpc_timeout_multiplier": 1.0,
18
+ "max_rpc_timeout_millis": 20000,
19
+ "total_timeout_millis": 600000
20
+ }
21
+ },
22
+ "methods": {
23
+ "ListClusters": {
24
+ "timeout_millis": 10000,
25
+ "retry_codes_name": "idempotent",
26
+ "retry_params_name": "default"
27
+ },
28
+ "GetCluster": {
29
+ "timeout_millis": 10000,
30
+ "retry_codes_name": "idempotent",
31
+ "retry_params_name": "default"
32
+ },
33
+ "CreateCluster": {
34
+ "timeout_millis": 60000,
35
+ "retry_codes_name": "non_idempotent",
36
+ "retry_params_name": "default"
37
+ },
38
+ "UpdateCluster": {
39
+ "timeout_millis": 60000,
40
+ "retry_codes_name": "non_idempotent",
41
+ "retry_params_name": "default"
42
+ },
43
+ "UpdateNodePool": {
44
+ "timeout_millis": 60000,
45
+ "retry_codes_name": "non_idempotent",
46
+ "retry_params_name": "default"
47
+ },
48
+ "SetNodePoolAutoscaling": {
49
+ "timeout_millis": 60000,
50
+ "retry_codes_name": "non_idempotent",
51
+ "retry_params_name": "default"
52
+ },
53
+ "SetLoggingService": {
54
+ "timeout_millis": 60000,
55
+ "retry_codes_name": "non_idempotent",
56
+ "retry_params_name": "default"
57
+ },
58
+ "SetMonitoringService": {
59
+ "timeout_millis": 60000,
60
+ "retry_codes_name": "non_idempotent",
61
+ "retry_params_name": "default"
62
+ },
63
+ "SetAddonsConfig": {
64
+ "timeout_millis": 60000,
65
+ "retry_codes_name": "non_idempotent",
66
+ "retry_params_name": "default"
67
+ },
68
+ "SetLocations": {
69
+ "timeout_millis": 60000,
70
+ "retry_codes_name": "non_idempotent",
71
+ "retry_params_name": "default"
72
+ },
73
+ "UpdateMaster": {
74
+ "timeout_millis": 60000,
75
+ "retry_codes_name": "non_idempotent",
76
+ "retry_params_name": "default"
77
+ },
78
+ "SetMasterAuth": {
79
+ "timeout_millis": 60000,
80
+ "retry_codes_name": "non_idempotent",
81
+ "retry_params_name": "default"
82
+ },
83
+ "DeleteCluster": {
84
+ "timeout_millis": 30000,
85
+ "retry_codes_name": "idempotent",
86
+ "retry_params_name": "default"
87
+ },
88
+ "ListOperations": {
89
+ "timeout_millis": 10000,
90
+ "retry_codes_name": "idempotent",
91
+ "retry_params_name": "default"
92
+ },
93
+ "GetOperation": {
94
+ "timeout_millis": 10000,
95
+ "retry_codes_name": "idempotent",
96
+ "retry_params_name": "default"
97
+ },
98
+ "CancelOperation": {
99
+ "timeout_millis": 30000,
100
+ "retry_codes_name": "non_idempotent",
101
+ "retry_params_name": "default"
102
+ },
103
+ "GetServerConfig": {
104
+ "timeout_millis": 10000,
105
+ "retry_codes_name": "idempotent",
106
+ "retry_params_name": "default"
107
+ },
108
+ "ListNodePools": {
109
+ "timeout_millis": 10000,
110
+ "retry_codes_name": "idempotent",
111
+ "retry_params_name": "default"
112
+ },
113
+ "GetNodePool": {
114
+ "timeout_millis": 10000,
115
+ "retry_codes_name": "idempotent",
116
+ "retry_params_name": "default"
117
+ },
118
+ "CreateNodePool": {
119
+ "timeout_millis": 60000,
120
+ "retry_codes_name": "non_idempotent",
121
+ "retry_params_name": "default"
122
+ },
123
+ "DeleteNodePool": {
124
+ "timeout_millis": 30000,
125
+ "retry_codes_name": "idempotent",
126
+ "retry_params_name": "default"
127
+ },
128
+ "RollbackNodePoolUpgrade": {
129
+ "timeout_millis": 60000,
130
+ "retry_codes_name": "non_idempotent",
131
+ "retry_params_name": "default"
132
+ },
133
+ "SetNodePoolManagement": {
134
+ "timeout_millis": 60000,
135
+ "retry_codes_name": "non_idempotent",
136
+ "retry_params_name": "default"
137
+ },
138
+ "SetLabels": {
139
+ "timeout_millis": 60000,
140
+ "retry_codes_name": "non_idempotent",
141
+ "retry_params_name": "default"
142
+ },
143
+ "SetLegacyAbac": {
144
+ "timeout_millis": 60000,
145
+ "retry_codes_name": "non_idempotent",
146
+ "retry_params_name": "default"
147
+ },
148
+ "StartIPRotation": {
149
+ "timeout_millis": 60000,
150
+ "retry_codes_name": "non_idempotent",
151
+ "retry_params_name": "default"
152
+ },
153
+ "CompleteIPRotation": {
154
+ "timeout_millis": 60000,
155
+ "retry_codes_name": "non_idempotent",
156
+ "retry_params_name": "default"
157
+ },
158
+ "SetNodePoolSize": {
159
+ "timeout_millis": 60000,
160
+ "retry_codes_name": "non_idempotent",
161
+ "retry_params_name": "default"
162
+ },
163
+ "SetNetworkPolicy": {
164
+ "timeout_millis": 60000,
165
+ "retry_codes_name": "non_idempotent",
166
+ "retry_params_name": "default"
167
+ },
168
+ "SetMaintenancePolicy": {
169
+ "timeout_millis": 60000,
170
+ "retry_codes_name": "non_idempotent",
171
+ "retry_params_name": "default"
172
+ }
173
+ }
174
+ }
175
+ }
176
+ }
@@ -0,0 +1,1504 @@
1
+ # Copyright 2017 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ module Google
16
+ module Container
17
+ ##
18
+ # # Google Container Engine API Contents
19
+ #
20
+ # | Class | Description |
21
+ # | ----- | ----------- |
22
+ # | [ClusterManagerClient][] | The Google Kubernetes Engine API is used for building and managing container based applications, powered by the open source Kubernetes technology. |
23
+ # | [Data Types][] | Data types for Google::Cloud::Container::V1 |
24
+ #
25
+ # [ClusterManagerClient]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-container/latest/google/container/v1/clustermanagerclient
26
+ # [Data Types]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-container/latest/google/container/v1/datatypes
27
+ #
28
+ module V1
29
+ # Parameters that describe the nodes in a cluster.
30
+ # @!attribute [rw] machine_type
31
+ # @return [String]
32
+ # The name of a Google Compute Engine [machine
33
+ # type](/compute/docs/machine-types) (e.g.
34
+ # +n1-standard-1+).
35
+ #
36
+ # If unspecified, the default machine type is
37
+ # +n1-standard-1+.
38
+ # @!attribute [rw] disk_size_gb
39
+ # @return [Integer]
40
+ # Size of the disk attached to each node, specified in GB.
41
+ # The smallest allowed disk size is 10GB.
42
+ #
43
+ # If unspecified, the default disk size is 100GB.
44
+ # @!attribute [rw] oauth_scopes
45
+ # @return [Array<String>]
46
+ # The set of Google API scopes to be made available on all of the
47
+ # node VMs under the "default" service account.
48
+ #
49
+ # The following scopes are recommended, but not required, and by default are
50
+ # not included:
51
+ #
52
+ # * +https://www.googleapis.com/auth/compute+ is required for mounting
53
+ # persistent storage on your nodes.
54
+ # * +https://www.googleapis.com/auth/devstorage.read_only+ is required for
55
+ # communicating with **gcr.io**
56
+ # (the [Google Container Registry](https://cloud.google.com/container-registry/)).
57
+ #
58
+ # If unspecified, no scopes are added, unless Cloud Logging or Cloud
59
+ # Monitoring are enabled, in which case their required scopes will be added.
60
+ # @!attribute [rw] service_account
61
+ # @return [String]
62
+ # The Google Cloud Platform Service Account to be used by the node VMs. If
63
+ # no Service Account is specified, the "default" service account is used.
64
+ # @!attribute [rw] metadata
65
+ # @return [Hash{String => String}]
66
+ # The metadata key/value pairs assigned to instances in the cluster.
67
+ #
68
+ # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
69
+ # in length. These are reflected as part of a URL in the metadata server.
70
+ # Additionally, to avoid ambiguity, keys must not conflict with any other
71
+ # metadata keys for the project or be one of the four reserved keys:
72
+ # "instance-template", "kube-env", "startup-script", and "user-data"
73
+ #
74
+ # Values are free-form strings, and only have meaning as interpreted by
75
+ # the image running in the instance. The only restriction placed on them is
76
+ # that each value's size must be less than or equal to 32 KB.
77
+ #
78
+ # The total size of all keys and values must be less than 512 KB.
79
+ # @!attribute [rw] image_type
80
+ # @return [String]
81
+ # The image type to use for this node. Note that for a given image type,
82
+ # the latest version of it will be used.
83
+ # @!attribute [rw] labels
84
+ # @return [Hash{String => String}]
85
+ # The map of Kubernetes labels (key/value pairs) to be applied to each node.
86
+ # These will added in addition to any default label(s) that
87
+ # Kubernetes may apply to the node.
88
+ # In case of conflict in label keys, the applied set may differ depending on
89
+ # the Kubernetes version -- it's best to assume the behavior is undefined
90
+ # and conflicts should be avoided.
91
+ # For more information, including usage and the valid values, see:
92
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
93
+ # @!attribute [rw] local_ssd_count
94
+ # @return [Integer]
95
+ # The number of local SSD disks to be attached to the node.
96
+ #
97
+ # The limit for this value is dependant upon the maximum number of
98
+ # disks available on a machine per zone. See:
99
+ # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
100
+ # for more information.
101
+ # @!attribute [rw] tags
102
+ # @return [Array<String>]
103
+ # The list of instance tags applied to all nodes. Tags are used to identify
104
+ # valid sources or targets for network firewalls and are specified by
105
+ # the client during cluster or node pool creation. Each tag within the list
106
+ # must comply with RFC1035.
107
+ # @!attribute [rw] preemptible
108
+ # @return [true, false]
109
+ # Whether the nodes are created as preemptible VM instances. See:
110
+ # https://cloud.google.com/compute/docs/instances/preemptible for more
111
+ # information about preemptible VM instances.
112
+ # @!attribute [rw] accelerators
113
+ # @return [Array<Google::Container::V1::AcceleratorConfig>]
114
+ # A list of hardware accelerators to be attached to each node.
115
+ # See https://cloud.google.com/compute/docs/gpus for more information about
116
+ # support for GPUs.
117
+ # @!attribute [rw] min_cpu_platform
118
+ # @return [String]
119
+ # Minimum CPU platform to be used by this instance. The instance may be
120
+ # scheduled on the specified or newer CPU platform. Applicable values are the
121
+ # friendly names of CPU platforms, such as
122
+ # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
123
+ # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
124
+ # information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
125
+ class NodeConfig; end
126
+
127
+ # The authentication information for accessing the master endpoint.
128
+ # Authentication can be done using HTTP basic auth or using client
129
+ # certificates.
130
+ # @!attribute [rw] username
131
+ # @return [String]
132
+ # The username to use for HTTP basic authentication to the master endpoint.
133
+ # For clusters v1.6.0 and later, you can disable basic authentication by
134
+ # providing an empty username.
135
+ # @!attribute [rw] password
136
+ # @return [String]
137
+ # The password to use for HTTP basic authentication to the master endpoint.
138
+ # Because the master endpoint is open to the Internet, you should create a
139
+ # strong password. If a password is provided for cluster creation, username
140
+ # must be non-empty.
141
+ # @!attribute [rw] client_certificate_config
142
+ # @return [Google::Container::V1::ClientCertificateConfig]
143
+ # Configuration for client certificate authentication on the cluster. If no
144
+ # configuration is specified, a client certificate is issued.
145
+ # @!attribute [rw] cluster_ca_certificate
146
+ # @return [String]
147
+ # [Output only] Base64-encoded public certificate that is the root of
148
+ # trust for the cluster.
149
+ # @!attribute [rw] client_certificate
150
+ # @return [String]
151
+ # [Output only] Base64-encoded public certificate used by clients to
152
+ # authenticate to the cluster endpoint.
153
+ # @!attribute [rw] client_key
154
+ # @return [String]
155
+ # [Output only] Base64-encoded private key used by clients to authenticate
156
+ # to the cluster endpoint.
157
+ class MasterAuth; end
158
+
159
+ # Configuration for client certificates on the cluster.
160
+ # @!attribute [rw] issue_client_certificate
161
+ # @return [true, false]
162
+ # Issue a client certificate.
163
+ class ClientCertificateConfig; end
164
+
165
+ # Configuration for the addons that can be automatically spun up in the
166
+ # cluster, enabling additional functionality.
167
+ # @!attribute [rw] http_load_balancing
168
+ # @return [Google::Container::V1::HttpLoadBalancing]
169
+ # Configuration for the HTTP (L7) load balancing controller addon, which
170
+ # makes it easy to set up HTTP load balancers for services in a cluster.
171
+ # @!attribute [rw] horizontal_pod_autoscaling
172
+ # @return [Google::Container::V1::HorizontalPodAutoscaling]
173
+ # Configuration for the horizontal pod autoscaling feature, which
174
+ # increases or decreases the number of replica pods a replication controller
175
+ # has based on the resource usage of the existing pods.
176
+ # @!attribute [rw] kubernetes_dashboard
177
+ # @return [Google::Container::V1::KubernetesDashboard]
178
+ # Configuration for the Kubernetes Dashboard.
179
+ # @!attribute [rw] network_policy_config
180
+ # @return [Google::Container::V1::NetworkPolicyConfig]
181
+ # Configuration for NetworkPolicy. This only tracks whether the addon
182
+ # is enabled or not on the Master, it does not track whether network policy
183
+ # is enabled for the nodes.
184
+ class AddonsConfig; end
185
+
186
+ # Configuration options for the HTTP (L7) load balancing controller addon,
187
+ # which makes it easy to set up HTTP load balancers for services in a cluster.
188
+ # @!attribute [rw] disabled
189
+ # @return [true, false]
190
+ # Whether the HTTP Load Balancing controller is enabled in the cluster.
191
+ # When enabled, it runs a small pod in the cluster that manages the load
192
+ # balancers.
193
+ class HttpLoadBalancing; end
194
+
195
+ # Configuration options for the horizontal pod autoscaling feature, which
196
+ # increases or decreases the number of replica pods a replication controller
197
+ # has based on the resource usage of the existing pods.
198
+ # @!attribute [rw] disabled
199
+ # @return [true, false]
200
+ # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
201
+ # When enabled, it ensures that a Heapster pod is running in the cluster,
202
+ # which is also used by the Cloud Monitoring service.
203
+ class HorizontalPodAutoscaling; end
204
+
205
+ # Configuration for the Kubernetes Dashboard.
206
+ # @!attribute [rw] disabled
207
+ # @return [true, false]
208
+ # Whether the Kubernetes Dashboard is enabled for this cluster.
209
+ class KubernetesDashboard; end
210
+
211
+ # Configuration for NetworkPolicy. This only tracks whether the addon
212
+ # is enabled or not on the Master, it does not track whether network policy
213
+ # is enabled for the nodes.
214
+ # @!attribute [rw] disabled
215
+ # @return [true, false]
216
+ # Whether NetworkPolicy is enabled for this cluster.
217
+ class NetworkPolicyConfig; end
218
+
219
+ # Master authorized networks is a Beta feature.
220
+ # Configuration options for the master authorized networks feature. Enabled
221
+ # master authorized networks will disallow all external traffic to access
222
+ # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
223
+ # Google Compute Engine Public IPs and Google Prod IPs.
224
+ # @!attribute [rw] enabled
225
+ # @return [true, false]
226
+ # Whether or not master authorized networks is enabled.
227
+ # @!attribute [rw] cidr_blocks
228
+ # @return [Array<Google::Container::V1::MasterAuthorizedNetworksConfig::CidrBlock>]
229
+ # cidr_blocks define up to 10 external networks that could access
230
+ # Kubernetes master through HTTPS.
231
+ class MasterAuthorizedNetworksConfig
232
+ # CidrBlock contains an optional name and one CIDR block.
233
+ # @!attribute [rw] display_name
234
+ # @return [String]
235
+ # display_name is an optional field for users to identify CIDR blocks.
236
+ # @!attribute [rw] cidr_block
237
+ # @return [String]
238
+ # cidr_block must be specified in CIDR notation.
239
+ class CidrBlock; end
240
+ end
241
+
242
+ # Configuration for the legacy Attribute Based Access Control authorization
243
+ # mode.
244
+ # @!attribute [rw] enabled
245
+ # @return [true, false]
246
+ # Whether the ABAC authorizer is enabled for this cluster. When enabled,
247
+ # identities in the system, including service accounts, nodes, and
248
+ # controllers, will have statically granted permissions beyond those
249
+ # provided by the RBAC configuration or IAM.
250
+ class LegacyAbac; end
251
+
252
+ # Configuration options for the NetworkPolicy feature.
253
+ # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
254
+ # @!attribute [rw] provider
255
+ # @return [Google::Container::V1::NetworkPolicy::Provider]
256
+ # The selected network policy provider.
257
+ # @!attribute [rw] enabled
258
+ # @return [true, false]
259
+ # Whether network policy is enabled on the cluster.
260
+ class NetworkPolicy
261
+ # Allowed Network Policy providers.
262
+ module Provider
263
+ # Not set
264
+ PROVIDER_UNSPECIFIED = 0
265
+
266
+ # Tigera (Calico Felix).
267
+ CALICO = 1
268
+ end
269
+ end
270
+
271
+ # Configuration for controlling how IPs are allocated in the cluster.
272
+ # @!attribute [rw] use_ip_aliases
273
+ # @return [true, false]
274
+ # Whether alias IPs will be used for pod IPs in the cluster.
275
+ # @!attribute [rw] create_subnetwork
276
+ # @return [true, false]
277
+ # Whether a new subnetwork will be created automatically for the cluster.
278
+ #
279
+ # This field is only applicable when +use_ip_aliases+ is true.
280
+ # @!attribute [rw] subnetwork_name
281
+ # @return [String]
282
+ # A custom subnetwork name to be used if +create_subnetwork+ is true. If
283
+ # this field is empty, then an automatic name will be chosen for the new
284
+ # subnetwork.
285
+ # @!attribute [rw] cluster_ipv4_cidr
286
+ # @return [String]
287
+ # This field is deprecated, use cluster_ipv4_cidr_block.
288
+ # @!attribute [rw] node_ipv4_cidr
289
+ # @return [String]
290
+ # This field is deprecated, use node_ipv4_cidr_block.
291
+ # @!attribute [rw] services_ipv4_cidr
292
+ # @return [String]
293
+ # This field is deprecated, use services_ipv4_cidr_block.
294
+ # @!attribute [rw] cluster_secondary_range_name
295
+ # @return [String]
296
+ # The name of the secondary range to be used for the cluster CIDR
297
+ # block. The secondary range will be used for pod IP
298
+ # addresses. This must be an existing secondary range associated
299
+ # with the cluster subnetwork.
300
+ #
301
+ # This field is only applicable with use_ip_aliases is true and
302
+ # create_subnetwork is false.
303
+ # @!attribute [rw] services_secondary_range_name
304
+ # @return [String]
305
+ # The name of the secondary range to be used as for the services
306
+ # CIDR block. The secondary range will be used for service
307
+ # ClusterIPs. This must be an existing secondary range associated
308
+ # with the cluster subnetwork.
309
+ #
310
+ # This field is only applicable with use_ip_aliases is true and
311
+ # create_subnetwork is false.
312
+ # @!attribute [rw] cluster_ipv4_cidr_block
313
+ # @return [String]
314
+ # The IP address range for the cluster pod IPs. If this field is set, then
315
+ # +cluster.cluster_ipv4_cidr+ must be left blank.
316
+ #
317
+ # This field is only applicable when +use_ip_aliases+ is true.
318
+ #
319
+ # Set to blank to have a range chosen with the default size.
320
+ #
321
+ # Set to /netmask (e.g. +/14+) to have a range chosen with a specific
322
+ # netmask.
323
+ #
324
+ # Set to a
325
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
326
+ # notation (e.g. +10.96.0.0/14+) from the RFC-1918 private networks (e.g.
327
+ # +10.0.0.0/8+, +172.16.0.0/12+, +192.168.0.0/16+) to pick a specific range
328
+ # to use.
329
+ # @!attribute [rw] node_ipv4_cidr_block
330
+ # @return [String]
331
+ # The IP address range of the instance IPs in this cluster.
332
+ #
333
+ # This is applicable only if +create_subnetwork+ is true.
334
+ #
335
+ # Set to blank to have a range chosen with the default size.
336
+ #
337
+ # Set to /netmask (e.g. +/14+) to have a range chosen with a specific
338
+ # netmask.
339
+ #
340
+ # Set to a
341
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
342
+ # notation (e.g. +10.96.0.0/14+) from the RFC-1918 private networks (e.g.
343
+ # +10.0.0.0/8+, +172.16.0.0/12+, +192.168.0.0/16+) to pick a specific range
344
+ # to use.
345
+ # @!attribute [rw] services_ipv4_cidr_block
346
+ # @return [String]
347
+ # The IP address range of the services IPs in this cluster. If blank, a range
348
+ # will be automatically chosen with the default size.
349
+ #
350
+ # This field is only applicable when +use_ip_aliases+ is true.
351
+ #
352
+ # Set to blank to have a range chosen with the default size.
353
+ #
354
+ # Set to /netmask (e.g. +/14+) to have a range chosen with a specific
355
+ # netmask.
356
+ #
357
+ # Set to a
358
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
359
+ # notation (e.g. +10.96.0.0/14+) from the RFC-1918 private networks (e.g.
360
+ # +10.0.0.0/8+, +172.16.0.0/12+, +192.168.0.0/16+) to pick a specific range
361
+ # to use.
362
+ class IPAllocationPolicy; end
363
+
364
+ # A Google Container Engine cluster.
365
+ # @!attribute [rw] name
366
+ # @return [String]
367
+ # The name of this cluster. The name must be unique within this project
368
+ # and zone, and can be up to 40 characters with the following restrictions:
369
+ #
370
+ # * Lowercase letters, numbers, and hyphens only.
371
+ # * Must start with a letter.
372
+ # * Must end with a number or a letter.
373
+ # @!attribute [rw] description
374
+ # @return [String]
375
+ # An optional description of this cluster.
376
+ # @!attribute [rw] initial_node_count
377
+ # @return [Integer]
378
+ # The number of nodes to create in this cluster. You must ensure that your
379
+ # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
380
+ # is sufficient for this number of instances. You must also have available
381
+ # firewall and routes quota.
382
+ # For requests, this field should only be used in lieu of a
383
+ # "node_pool" object, since this configuration (along with the
384
+ # "node_config") will be used to create a "NodePool" object with an
385
+ # auto-generated name. Do not use this and a node_pool at the same time.
386
+ # @!attribute [rw] node_config
387
+ # @return [Google::Container::V1::NodeConfig]
388
+ # Parameters used in creating the cluster's nodes.
389
+ # See +nodeConfig+ for the description of its properties.
390
+ # For requests, this field should only be used in lieu of a
391
+ # "node_pool" object, since this configuration (along with the
392
+ # "initial_node_count") will be used to create a "NodePool" object with an
393
+ # auto-generated name. Do not use this and a node_pool at the same time.
394
+ # For responses, this field will be populated with the node configuration of
395
+ # the first node pool.
396
+ #
397
+ # If unspecified, the defaults are used.
398
+ # @!attribute [rw] master_auth
399
+ # @return [Google::Container::V1::MasterAuth]
400
+ # The authentication information for accessing the master endpoint.
401
+ # @!attribute [rw] logging_service
402
+ # @return [String]
403
+ # The logging service the cluster should use to write logs.
404
+ # Currently available options:
405
+ #
406
+ # * +logging.googleapis.com+ - the Google Cloud Logging service.
407
+ # * +none+ - no logs will be exported from the cluster.
408
+ # * if left as an empty string,+logging.googleapis.com+ will be used.
409
+ # @!attribute [rw] monitoring_service
410
+ # @return [String]
411
+ # The monitoring service the cluster should use to write metrics.
412
+ # Currently available options:
413
+ #
414
+ # * +monitoring.googleapis.com+ - the Google Cloud Monitoring service.
415
+ # * +none+ - no metrics will be exported from the cluster.
416
+ # * if left as an empty string, +monitoring.googleapis.com+ will be used.
417
+ # @!attribute [rw] network
418
+ # @return [String]
419
+ # The name of the Google Compute Engine
420
+ # [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the
421
+ # cluster is connected. If left unspecified, the +default+ network
422
+ # will be used.
423
+ # @!attribute [rw] cluster_ipv4_cidr
424
+ # @return [String]
425
+ # The IP address range of the container pods in this cluster, in
426
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
427
+ # notation (e.g. +10.96.0.0/14+). Leave blank to have
428
+ # one automatically chosen or specify a +/14+ block in +10.0.0.0/8+.
429
+ # @!attribute [rw] addons_config
430
+ # @return [Google::Container::V1::AddonsConfig]
431
+ # Configurations for the various addons available to run in the cluster.
432
+ # @!attribute [rw] subnetwork
433
+ # @return [String]
434
+ # The name of the Google Compute Engine
435
+ # [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the
436
+ # cluster is connected.
437
+ # @!attribute [rw] node_pools
438
+ # @return [Array<Google::Container::V1::NodePool>]
439
+ # The node pools associated with this cluster.
440
+ # This field should not be set if "node_config" or "initial_node_count" are
441
+ # specified.
442
+ # @!attribute [rw] locations
443
+ # @return [Array<String>]
444
+ # The list of Google Compute Engine
445
+ # [locations](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
446
+ # should be located.
447
+ # @!attribute [rw] enable_kubernetes_alpha
448
+ # @return [true, false]
449
+ # Kubernetes alpha features are enabled on this cluster. This includes alpha
450
+ # API groups (e.g. v1alpha1) and features that may not be production ready in
451
+ # the kubernetes version of the master and nodes.
452
+ # The cluster has no SLA for uptime and master/node upgrades are disabled.
453
+ # Alpha enabled clusters are automatically deleted thirty days after
454
+ # creation.
455
+ # @!attribute [rw] resource_labels
456
+ # @return [Hash{String => String}]
457
+ # The resource labels for the cluster to use to annotate any related
458
+ # Google Compute Engine resources.
459
+ # @!attribute [rw] label_fingerprint
460
+ # @return [String]
461
+ # The fingerprint of the set of labels for this cluster.
462
+ # @!attribute [rw] legacy_abac
463
+ # @return [Google::Container::V1::LegacyAbac]
464
+ # Configuration for the legacy ABAC authorization mode.
465
+ # @!attribute [rw] network_policy
466
+ # @return [Google::Container::V1::NetworkPolicy]
467
+ # Configuration options for the NetworkPolicy feature.
468
+ # @!attribute [rw] ip_allocation_policy
469
+ # @return [Google::Container::V1::IPAllocationPolicy]
470
+ # Configuration for cluster IP allocation.
471
+ # @!attribute [rw] master_authorized_networks_config
472
+ # @return [Google::Container::V1::MasterAuthorizedNetworksConfig]
473
+ # Master authorized networks is a Beta feature.
474
+ # The configuration options for master authorized networks feature.
475
+ # @!attribute [rw] maintenance_policy
476
+ # @return [Google::Container::V1::MaintenancePolicy]
477
+ # Configure the maintenance policy for this cluster.
478
+ # @!attribute [rw] self_link
479
+ # @return [String]
480
+ # [Output only] Server-defined URL for the resource.
481
+ # @!attribute [rw] zone
482
+ # @return [String]
483
+ # [Output only] The name of the Google Compute Engine
484
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
485
+ # resides.
486
+ # @!attribute [rw] endpoint
487
+ # @return [String]
488
+ # [Output only] The IP address of this cluster's master endpoint.
489
+ # The endpoint can be accessed from the internet at
490
+ # +https://username:password@endpoint/+.
491
+ #
492
+ # See the +masterAuth+ property of this resource for username and
493
+ # password information.
494
+ # @!attribute [rw] initial_cluster_version
495
+ # @return [String]
496
+ # The initial Kubernetes version for this cluster. Valid versions are those
497
+ # found in validMasterVersions returned by getServerConfig. The version can
498
+ # be upgraded over time; such upgrades are reflected in
499
+ # currentMasterVersion and currentNodeVersion.
500
+ # @!attribute [rw] current_master_version
501
+ # @return [String]
502
+ # [Output only] The current software version of the master endpoint.
503
+ # @!attribute [rw] current_node_version
504
+ # @return [String]
505
+ # [Output only] The current version of the node software components.
506
+ # If they are currently at multiple versions because they're in the process
507
+ # of being upgraded, this reflects the minimum version of all nodes.
508
+ # @!attribute [rw] create_time
509
+ # @return [String]
510
+ # [Output only] The time the cluster was created, in
511
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
512
+ # @!attribute [rw] status
513
+ # @return [Google::Container::V1::Cluster::Status]
514
+ # [Output only] The current status of this cluster.
515
+ # @!attribute [rw] status_message
516
+ # @return [String]
517
+ # [Output only] Additional information about the current status of this
518
+ # cluster, if available.
519
+ # @!attribute [rw] node_ipv4_cidr_size
520
+ # @return [Integer]
521
+ # [Output only] The size of the address space on each node for hosting
522
+ # containers. This is provisioned from within the +container_ipv4_cidr+
523
+ # range.
524
+ # @!attribute [rw] services_ipv4_cidr
525
+ # @return [String]
526
+ # [Output only] The IP address range of the Kubernetes services in
527
+ # this cluster, in
528
+ # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
529
+ # notation (e.g. +1.2.3.4/29+). Service addresses are
530
+ # typically put in the last +/16+ from the container CIDR.
531
+ # @!attribute [rw] instance_group_urls
532
+ # @return [Array<String>]
533
+ # Deprecated. Use node_pools.instance_group_urls.
534
+ # @!attribute [rw] current_node_count
535
+ # @return [Integer]
536
+ # [Output only] The number of nodes currently in the cluster.
537
+ # @!attribute [rw] expire_time
538
+ # @return [String]
539
+ # [Output only] The time the cluster will be automatically
540
+ # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
541
+ class Cluster
542
+ # The current status of the cluster.
543
+ module Status
544
+ # Not set.
545
+ STATUS_UNSPECIFIED = 0
546
+
547
+ # The PROVISIONING state indicates the cluster is being created.
548
+ PROVISIONING = 1
549
+
550
+ # The RUNNING state indicates the cluster has been created and is fully
551
+ # usable.
552
+ RUNNING = 2
553
+
554
+ # The RECONCILING state indicates that some work is actively being done on
555
+ # the cluster, such as upgrading the master or node software. Details can
556
+ # be found in the +statusMessage+ field.
557
+ RECONCILING = 3
558
+
559
+ # The STOPPING state indicates the cluster is being deleted.
560
+ STOPPING = 4
561
+
562
+ # The ERROR state indicates the cluster may be unusable. Details
563
+ # can be found in the +statusMessage+ field.
564
+ ERROR = 5
565
+ end
566
+ end
567
+
568
+ # ClusterUpdate describes an update to the cluster. Exactly one update can
569
+ # be applied to a cluster with each request, so at most one field can be
570
+ # provided.
571
+ # @!attribute [rw] desired_node_version
572
+ # @return [String]
573
+ # The Kubernetes version to change the nodes to (typically an
574
+ # upgrade). Use +-+ to upgrade to the latest version supported by
575
+ # the server.
576
+ # @!attribute [rw] desired_monitoring_service
577
+ # @return [String]
578
+ # The monitoring service the cluster should use to write metrics.
579
+ # Currently available options:
580
+ #
581
+ # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
582
+ # * "none" - no metrics will be exported from the cluster
583
+ # @!attribute [rw] desired_addons_config
584
+ # @return [Google::Container::V1::AddonsConfig]
585
+ # Configurations for the various addons available to run in the cluster.
586
+ # @!attribute [rw] desired_node_pool_id
587
+ # @return [String]
588
+ # The node pool to be upgraded. This field is mandatory if
589
+ # "desired_node_version", "desired_image_family" or
590
+ # "desired_node_pool_autoscaling" is specified and there is more than one
591
+ # node pool on the cluster.
592
+ # @!attribute [rw] desired_image_type
593
+ # @return [String]
594
+ # The desired image type for the node pool.
595
+ # NOTE: Set the "desired_node_pool" field as well.
596
+ # @!attribute [rw] desired_node_pool_autoscaling
597
+ # @return [Google::Container::V1::NodePoolAutoscaling]
598
+ # Autoscaler configuration for the node pool specified in
599
+ # desired_node_pool_id. If there is only one pool in the
600
+ # cluster and desired_node_pool_id is not provided then
601
+ # the change applies to that single node pool.
602
+ # @!attribute [rw] desired_locations
603
+ # @return [Array<String>]
604
+ # The desired list of Google Compute Engine
605
+ # [locations](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
606
+ # should be located. Changing the locations a cluster is in will result
607
+ # in nodes being either created or removed from the cluster, depending on
608
+ # whether locations are being added or removed.
609
+ #
610
+ # This list must always include the cluster's primary zone.
611
+ # @!attribute [rw] desired_master_authorized_networks_config
612
+ # @return [Google::Container::V1::MasterAuthorizedNetworksConfig]
613
+ # Master authorized networks is a Beta feature.
614
+ # The desired configuration options for master authorized networks feature.
615
+ # @!attribute [rw] desired_master_version
616
+ # @return [String]
617
+ # The Kubernetes version to change the master to. The only valid value is the
618
+ # latest supported version. Use "-" to have the server automatically select
619
+ # the latest version.
620
+ class ClusterUpdate; end
621
+
622
+ # This operation resource represents operations that may have happened or are
623
+ # happening on the cluster. All fields are output only.
624
+ # @!attribute [rw] name
625
+ # @return [String]
626
+ # The server-assigned ID for the operation.
627
+ # @!attribute [rw] zone
628
+ # @return [String]
629
+ # The name of the Google Compute Engine
630
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation
631
+ # is taking place.
632
+ # @!attribute [rw] operation_type
633
+ # @return [Google::Container::V1::Operation::Type]
634
+ # The operation type.
635
+ # @!attribute [rw] status
636
+ # @return [Google::Container::V1::Operation::Status]
637
+ # The current status of the operation.
638
+ # @!attribute [rw] detail
639
+ # @return [String]
640
+ # Detailed operation progress, if available.
641
+ # @!attribute [rw] status_message
642
+ # @return [String]
643
+ # If an error has occurred, a textual description of the error.
644
+ # @!attribute [rw] self_link
645
+ # @return [String]
646
+ # Server-defined URL for the resource.
647
+ # @!attribute [rw] target_link
648
+ # @return [String]
649
+ # Server-defined URL for the target of the operation.
650
+ # @!attribute [rw] start_time
651
+ # @return [String]
652
+ # [Output only] The time the operation started, in
653
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
654
+ # @!attribute [rw] end_time
655
+ # @return [String]
656
+ # [Output only] The time the operation completed, in
657
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
658
+ class Operation
659
+ # Current status of the operation.
660
+ module Status
661
+ # Not set.
662
+ STATUS_UNSPECIFIED = 0
663
+
664
+ # The operation has been created.
665
+ PENDING = 1
666
+
667
+ # The operation is currently running.
668
+ RUNNING = 2
669
+
670
+ # The operation is done, either cancelled or completed.
671
+ DONE = 3
672
+
673
+ # The operation is aborting.
674
+ ABORTING = 4
675
+ end
676
+
677
+ # Operation type.
678
+ module Type
679
+ # Not set.
680
+ TYPE_UNSPECIFIED = 0
681
+
682
+ # Cluster create.
683
+ CREATE_CLUSTER = 1
684
+
685
+ # Cluster delete.
686
+ DELETE_CLUSTER = 2
687
+
688
+ # A master upgrade.
689
+ UPGRADE_MASTER = 3
690
+
691
+ # A node upgrade.
692
+ UPGRADE_NODES = 4
693
+
694
+ # Cluster repair.
695
+ REPAIR_CLUSTER = 5
696
+
697
+ # Cluster update.
698
+ UPDATE_CLUSTER = 6
699
+
700
+ # Node pool create.
701
+ CREATE_NODE_POOL = 7
702
+
703
+ # Node pool delete.
704
+ DELETE_NODE_POOL = 8
705
+
706
+ # Set node pool management.
707
+ SET_NODE_POOL_MANAGEMENT = 9
708
+
709
+ # Automatic node pool repair.
710
+ AUTO_REPAIR_NODES = 10
711
+
712
+ # Automatic node upgrade.
713
+ AUTO_UPGRADE_NODES = 11
714
+
715
+ # Set labels.
716
+ SET_LABELS = 12
717
+
718
+ # Set/generate master auth materials
719
+ SET_MASTER_AUTH = 13
720
+
721
+ # Set node pool size.
722
+ SET_NODE_POOL_SIZE = 14
723
+
724
+ # Updates network policy for a cluster.
725
+ SET_NETWORK_POLICY = 15
726
+
727
+ # Set the maintenance policy.
728
+ SET_MAINTENANCE_POLICY = 16
729
+ end
730
+ end
731
+
732
+ # CreateClusterRequest creates a cluster.
733
+ # @!attribute [rw] project_id
734
+ # @return [String]
735
+ # The Google Developers Console [project ID or project
736
+ # number](https://support.google.com/cloud/answer/6158840).
737
+ # @!attribute [rw] zone
738
+ # @return [String]
739
+ # The name of the Google Compute Engine
740
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
741
+ # resides.
742
+ # @!attribute [rw] cluster
743
+ # @return [Google::Container::V1::Cluster]
744
+ # A [cluster
745
+ # resource](/container-engine/reference/rest/v1/projects.zones.clusters)
746
+ class CreateClusterRequest; end
747
+
748
+ # GetClusterRequest gets the settings of a cluster.
749
+ # @!attribute [rw] project_id
750
+ # @return [String]
751
+ # The Google Developers Console [project ID or project
752
+ # number](https://support.google.com/cloud/answer/6158840).
753
+ # @!attribute [rw] zone
754
+ # @return [String]
755
+ # The name of the Google Compute Engine
756
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
757
+ # resides.
758
+ # @!attribute [rw] cluster_id
759
+ # @return [String]
760
+ # The name of the cluster to retrieve.
761
+ class GetClusterRequest; end
762
+
763
+ # UpdateClusterRequest updates the settings of a cluster.
764
+ # @!attribute [rw] project_id
765
+ # @return [String]
766
+ # The Google Developers Console [project ID or project
767
+ # number](https://support.google.com/cloud/answer/6158840).
768
+ # @!attribute [rw] zone
769
+ # @return [String]
770
+ # The name of the Google Compute Engine
771
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
772
+ # resides.
773
+ # @!attribute [rw] cluster_id
774
+ # @return [String]
775
+ # The name of the cluster to upgrade.
776
+ # @!attribute [rw] update
777
+ # @return [Google::Container::V1::ClusterUpdate]
778
+ # A description of the update.
779
+ class UpdateClusterRequest; end
780
+
781
+ # UpdateNodePoolRequests update a node pool's image and/or version.
782
+ # @!attribute [rw] project_id
783
+ # @return [String]
784
+ # The Google Developers Console [project ID or project
785
+ # number](https://support.google.com/cloud/answer/6158840).
786
+ # @!attribute [rw] zone
787
+ # @return [String]
788
+ # The name of the Google Compute Engine
789
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
790
+ # resides.
791
+ # @!attribute [rw] cluster_id
792
+ # @return [String]
793
+ # The name of the cluster to upgrade.
794
+ # @!attribute [rw] node_pool_id
795
+ # @return [String]
796
+ # The name of the node pool to upgrade.
797
+ # @!attribute [rw] node_version
798
+ # @return [String]
799
+ # The Kubernetes version to change the nodes to (typically an
800
+ # upgrade). Use +-+ to upgrade to the latest version supported by
801
+ # the server.
802
+ # @!attribute [rw] image_type
803
+ # @return [String]
804
+ # The desired image type for the node pool.
805
+ class UpdateNodePoolRequest; end
806
+
807
+ # SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
808
+ # @!attribute [rw] project_id
809
+ # @return [String]
810
+ # The Google Developers Console [project ID or project
811
+ # number](https://support.google.com/cloud/answer/6158840).
812
+ # @!attribute [rw] zone
813
+ # @return [String]
814
+ # The name of the Google Compute Engine
815
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
816
+ # resides.
817
+ # @!attribute [rw] cluster_id
818
+ # @return [String]
819
+ # The name of the cluster to upgrade.
820
+ # @!attribute [rw] node_pool_id
821
+ # @return [String]
822
+ # The name of the node pool to upgrade.
823
+ # @!attribute [rw] autoscaling
824
+ # @return [Google::Container::V1::NodePoolAutoscaling]
825
+ # Autoscaling configuration for the node pool.
826
+ class SetNodePoolAutoscalingRequest; end
827
+
828
+ # SetLoggingServiceRequest sets the logging service of a cluster.
829
+ # @!attribute [rw] project_id
830
+ # @return [String]
831
+ # The Google Developers Console [project ID or project
832
+ # number](https://support.google.com/cloud/answer/6158840).
833
+ # @!attribute [rw] zone
834
+ # @return [String]
835
+ # The name of the Google Compute Engine
836
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
837
+ # resides.
838
+ # @!attribute [rw] cluster_id
839
+ # @return [String]
840
+ # The name of the cluster to upgrade.
841
+ # @!attribute [rw] logging_service
842
+ # @return [String]
843
+ # The logging service the cluster should use to write metrics.
844
+ # Currently available options:
845
+ #
846
+ # * "logging.googleapis.com" - the Google Cloud Logging service
847
+ # * "none" - no metrics will be exported from the cluster
848
+ class SetLoggingServiceRequest; end
849
+
850
+ # SetMonitoringServiceRequest sets the monitoring service of a cluster.
851
+ # @!attribute [rw] project_id
852
+ # @return [String]
853
+ # The Google Developers Console [project ID or project
854
+ # number](https://support.google.com/cloud/answer/6158840).
855
+ # @!attribute [rw] zone
856
+ # @return [String]
857
+ # The name of the Google Compute Engine
858
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
859
+ # resides.
860
+ # @!attribute [rw] cluster_id
861
+ # @return [String]
862
+ # The name of the cluster to upgrade.
863
+ # @!attribute [rw] monitoring_service
864
+ # @return [String]
865
+ # The monitoring service the cluster should use to write metrics.
866
+ # Currently available options:
867
+ #
868
+ # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
869
+ # * "none" - no metrics will be exported from the cluster
870
+ class SetMonitoringServiceRequest; end
871
+
872
+ # SetAddonsConfigRequest sets the addons associated with the cluster.
873
+ # @!attribute [rw] project_id
874
+ # @return [String]
875
+ # The Google Developers Console [project ID or project
876
+ # number](https://support.google.com/cloud/answer/6158840).
877
+ # @!attribute [rw] zone
878
+ # @return [String]
879
+ # The name of the Google Compute Engine
880
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
881
+ # resides.
882
+ # @!attribute [rw] cluster_id
883
+ # @return [String]
884
+ # The name of the cluster to upgrade.
885
+ # @!attribute [rw] addons_config
886
+ # @return [Google::Container::V1::AddonsConfig]
887
+ # The desired configurations for the various addons available to run in the
888
+ # cluster.
889
+ class SetAddonsConfigRequest; end
890
+
891
+ # SetLocationsRequest sets the locations of the cluster.
892
+ # @!attribute [rw] project_id
893
+ # @return [String]
894
+ # The Google Developers Console [project ID or project
895
+ # number](https://support.google.com/cloud/answer/6158840).
896
+ # @!attribute [rw] zone
897
+ # @return [String]
898
+ # The name of the Google Compute Engine
899
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
900
+ # resides.
901
+ # @!attribute [rw] cluster_id
902
+ # @return [String]
903
+ # The name of the cluster to upgrade.
904
+ # @!attribute [rw] locations
905
+ # @return [Array<String>]
906
+ # The desired list of Google Compute Engine
907
+ # [locations](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes
908
+ # should be located. Changing the locations a cluster is in will result
909
+ # in nodes being either created or removed from the cluster, depending on
910
+ # whether locations are being added or removed.
911
+ #
912
+ # This list must always include the cluster's primary zone.
913
+ class SetLocationsRequest; end
914
+
915
+ # UpdateMasterRequest updates the master of the cluster.
916
+ # @!attribute [rw] project_id
917
+ # @return [String]
918
+ # The Google Developers Console [project ID or project
919
+ # number](https://support.google.com/cloud/answer/6158840).
920
+ # @!attribute [rw] zone
921
+ # @return [String]
922
+ # The name of the Google Compute Engine
923
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
924
+ # resides.
925
+ # @!attribute [rw] cluster_id
926
+ # @return [String]
927
+ # The name of the cluster to upgrade.
928
+ # @!attribute [rw] master_version
929
+ # @return [String]
930
+ # The Kubernetes version to change the master to. The only valid value is the
931
+ # latest supported version. Use "-" to have the server automatically select
932
+ # the latest version.
933
+ class UpdateMasterRequest; end
934
+
935
+ # SetMasterAuthRequest updates the admin password of a cluster.
936
+ # @!attribute [rw] project_id
937
+ # @return [String]
938
+ # The Google Developers Console [project ID or project
939
+ # number](https://support.google.com/cloud/answer/6158840).
940
+ # @!attribute [rw] zone
941
+ # @return [String]
942
+ # The name of the Google Compute Engine
943
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
944
+ # resides.
945
+ # @!attribute [rw] cluster_id
946
+ # @return [String]
947
+ # The name of the cluster to upgrade.
948
+ # @!attribute [rw] action
949
+ # @return [Google::Container::V1::SetMasterAuthRequest::Action]
950
+ # The exact form of action to be taken on the master auth.
951
+ # @!attribute [rw] update
952
+ # @return [Google::Container::V1::MasterAuth]
953
+ # A description of the update.
954
+ class SetMasterAuthRequest
955
+ # Operation type: what type update to perform.
956
+ module Action
957
+ # Operation is unknown and will error out.
958
+ UNKNOWN = 0
959
+
960
+ # Set the password to a user generated value.
961
+ SET_PASSWORD = 1
962
+
963
+ # Generate a new password and set it to that.
964
+ GENERATE_PASSWORD = 2
965
+
966
+ # Set the username. If an empty username is provided, basic authentication
967
+ # is disabled for the cluster. If a non-empty username is provided, basic
968
+ # authentication is enabled, with either a provided password or a generated
969
+ # one.
970
+ SET_USERNAME = 3
971
+ end
972
+ end
973
+
974
+ # DeleteClusterRequest deletes a cluster.
975
+ # @!attribute [rw] project_id
976
+ # @return [String]
977
+ # The Google Developers Console [project ID or project
978
+ # number](https://support.google.com/cloud/answer/6158840).
979
+ # @!attribute [rw] zone
980
+ # @return [String]
981
+ # The name of the Google Compute Engine
982
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
983
+ # resides.
984
+ # @!attribute [rw] cluster_id
985
+ # @return [String]
986
+ # The name of the cluster to delete.
987
+ class DeleteClusterRequest; end
988
+
989
+ # ListClustersRequest lists clusters.
990
+ # @!attribute [rw] project_id
991
+ # @return [String]
992
+ # The Google Developers Console [project ID or project
993
+ # number](https://support.google.com/cloud/answer/6158840).
994
+ # @!attribute [rw] zone
995
+ # @return [String]
996
+ # The name of the Google Compute Engine
997
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
998
+ # resides, or "-" for all zones.
999
+ class ListClustersRequest; end
1000
+
1001
+ # ListClustersResponse is the result of ListClustersRequest.
1002
+ # @!attribute [rw] clusters
1003
+ # @return [Array<Google::Container::V1::Cluster>]
1004
+ # A list of clusters in the project in the specified zone, or
1005
+ # across all ones.
1006
+ # @!attribute [rw] missing_zones
1007
+ # @return [Array<String>]
1008
+ # If any zones are listed here, the list of clusters returned
1009
+ # may be missing those zones.
1010
+ class ListClustersResponse; end
1011
+
1012
+ # GetOperationRequest gets a single operation.
1013
+ # @!attribute [rw] project_id
1014
+ # @return [String]
1015
+ # The Google Developers Console [project ID or project
1016
+ # number](https://support.google.com/cloud/answer/6158840).
1017
+ # @!attribute [rw] zone
1018
+ # @return [String]
1019
+ # The name of the Google Compute Engine
1020
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1021
+ # resides.
1022
+ # @!attribute [rw] operation_id
1023
+ # @return [String]
1024
+ # The server-assigned +name+ of the operation.
1025
+ class GetOperationRequest; end
1026
+
1027
+ # ListOperationsRequest lists operations.
1028
+ # @!attribute [rw] project_id
1029
+ # @return [String]
1030
+ # The Google Developers Console [project ID or project
1031
+ # number](https://support.google.com/cloud/answer/6158840).
1032
+ # @!attribute [rw] zone
1033
+ # @return [String]
1034
+ # The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available)
1035
+ # to return operations for, or +-+ for all zones.
1036
+ class ListOperationsRequest; end
1037
+
1038
+ # CancelOperationRequest cancels a single operation.
1039
+ # @!attribute [rw] project_id
1040
+ # @return [String]
1041
+ # The Google Developers Console [project ID or project
1042
+ # number](https://support.google.com/cloud/answer/6158840).
1043
+ # @!attribute [rw] zone
1044
+ # @return [String]
1045
+ # The name of the Google Compute Engine
1046
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides.
1047
+ # @!attribute [rw] operation_id
1048
+ # @return [String]
1049
+ # The server-assigned +name+ of the operation.
1050
+ class CancelOperationRequest; end
1051
+
1052
+ # ListOperationsResponse is the result of ListOperationsRequest.
1053
+ # @!attribute [rw] operations
1054
+ # @return [Array<Google::Container::V1::Operation>]
1055
+ # A list of operations in the project in the specified zone.
1056
+ # @!attribute [rw] missing_zones
1057
+ # @return [Array<String>]
1058
+ # If any zones are listed here, the list of operations returned
1059
+ # may be missing the operations from those zones.
1060
+ class ListOperationsResponse; end
1061
+
1062
+ # Gets the current Container Engine service configuration.
1063
+ # @!attribute [rw] project_id
1064
+ # @return [String]
1065
+ # The Google Developers Console [project ID or project
1066
+ # number](https://support.google.com/cloud/answer/6158840).
1067
+ # @!attribute [rw] zone
1068
+ # @return [String]
1069
+ # The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available)
1070
+ # to return operations for.
1071
+ class GetServerConfigRequest; end
1072
+
1073
+ # Container Engine service configuration.
1074
+ # @!attribute [rw] default_cluster_version
1075
+ # @return [String]
1076
+ # Version of Kubernetes the service deploys by default.
1077
+ # @!attribute [rw] valid_node_versions
1078
+ # @return [Array<String>]
1079
+ # List of valid node upgrade target versions.
1080
+ # @!attribute [rw] default_image_type
1081
+ # @return [String]
1082
+ # Default image type.
1083
+ # @!attribute [rw] valid_image_types
1084
+ # @return [Array<String>]
1085
+ # List of valid image types.
1086
+ # @!attribute [rw] valid_master_versions
1087
+ # @return [Array<String>]
1088
+ # List of valid master versions.
1089
+ class ServerConfig; end
1090
+
1091
+ # CreateNodePoolRequest creates a node pool for a cluster.
1092
+ # @!attribute [rw] project_id
1093
+ # @return [String]
1094
+ # The Google Developers Console [project ID or project
1095
+ # number](https://developers.google.com/console/help/new/#projectnumber).
1096
+ # @!attribute [rw] zone
1097
+ # @return [String]
1098
+ # The name of the Google Compute Engine
1099
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1100
+ # resides.
1101
+ # @!attribute [rw] cluster_id
1102
+ # @return [String]
1103
+ # The name of the cluster.
1104
+ # @!attribute [rw] node_pool
1105
+ # @return [Google::Container::V1::NodePool]
1106
+ # The node pool to create.
1107
+ class CreateNodePoolRequest; end
1108
+
1109
+ # DeleteNodePoolRequest deletes a node pool for a cluster.
1110
+ # @!attribute [rw] project_id
1111
+ # @return [String]
1112
+ # The Google Developers Console [project ID or project
1113
+ # number](https://developers.google.com/console/help/new/#projectnumber).
1114
+ # @!attribute [rw] zone
1115
+ # @return [String]
1116
+ # The name of the Google Compute Engine
1117
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1118
+ # resides.
1119
+ # @!attribute [rw] cluster_id
1120
+ # @return [String]
1121
+ # The name of the cluster.
1122
+ # @!attribute [rw] node_pool_id
1123
+ # @return [String]
1124
+ # The name of the node pool to delete.
1125
+ class DeleteNodePoolRequest; end
1126
+
1127
+ # ListNodePoolsRequest lists the node pool(s) for a cluster.
1128
+ # @!attribute [rw] project_id
1129
+ # @return [String]
1130
+ # The Google Developers Console [project ID or project
1131
+ # number](https://developers.google.com/console/help/new/#projectnumber).
1132
+ # @!attribute [rw] zone
1133
+ # @return [String]
1134
+ # The name of the Google Compute Engine
1135
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1136
+ # resides.
1137
+ # @!attribute [rw] cluster_id
1138
+ # @return [String]
1139
+ # The name of the cluster.
1140
+ class ListNodePoolsRequest; end
1141
+
1142
+ # GetNodePoolRequest retrieves a node pool for a cluster.
1143
+ # @!attribute [rw] project_id
1144
+ # @return [String]
1145
+ # The Google Developers Console [project ID or project
1146
+ # number](https://developers.google.com/console/help/new/#projectnumber).
1147
+ # @!attribute [rw] zone
1148
+ # @return [String]
1149
+ # The name of the Google Compute Engine
1150
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1151
+ # resides.
1152
+ # @!attribute [rw] cluster_id
1153
+ # @return [String]
1154
+ # The name of the cluster.
1155
+ # @!attribute [rw] node_pool_id
1156
+ # @return [String]
1157
+ # The name of the node pool.
1158
+ class GetNodePoolRequest; end
1159
+
1160
+ # NodePool contains the name and configuration for a cluster's node pool.
1161
+ # Node pools are a set of nodes (i.e. VM's), with a common configuration and
1162
+ # specification, under the control of the cluster master. They may have a set
1163
+ # of Kubernetes labels applied to them, which may be used to reference them
1164
+ # during pod scheduling. They may also be resized up or down, to accommodate
1165
+ # the workload.
1166
+ # @!attribute [rw] name
1167
+ # @return [String]
1168
+ # The name of the node pool.
1169
+ # @!attribute [rw] config
1170
+ # @return [Google::Container::V1::NodeConfig]
1171
+ # The node configuration of the pool.
1172
+ # @!attribute [rw] initial_node_count
1173
+ # @return [Integer]
1174
+ # The initial node count for the pool. You must ensure that your
1175
+ # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
1176
+ # is sufficient for this number of instances. You must also have available
1177
+ # firewall and routes quota.
1178
+ # @!attribute [rw] self_link
1179
+ # @return [String]
1180
+ # [Output only] Server-defined URL for the resource.
1181
+ # @!attribute [rw] version
1182
+ # @return [String]
1183
+ # The version of the Kubernetes of this node.
1184
+ # @!attribute [rw] instance_group_urls
1185
+ # @return [Array<String>]
1186
+ # [Output only] The resource URLs of the [managed instance
1187
+ # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
1188
+ # associated with this node pool.
1189
+ # @!attribute [rw] status
1190
+ # @return [Google::Container::V1::NodePool::Status]
1191
+ # [Output only] The status of the nodes in this pool instance.
1192
+ # @!attribute [rw] status_message
1193
+ # @return [String]
1194
+ # [Output only] Additional information about the current status of this
1195
+ # node pool instance, if available.
1196
+ # @!attribute [rw] autoscaling
1197
+ # @return [Google::Container::V1::NodePoolAutoscaling]
1198
+ # Autoscaler configuration for this NodePool. Autoscaler is enabled
1199
+ # only if a valid configuration is present.
1200
+ # @!attribute [rw] management
1201
+ # @return [Google::Container::V1::NodeManagement]
1202
+ # NodeManagement configuration for this NodePool.
1203
+ class NodePool
1204
+ # The current status of the node pool instance.
1205
+ module Status
1206
+ # Not set.
1207
+ STATUS_UNSPECIFIED = 0
1208
+
1209
+ # The PROVISIONING state indicates the node pool is being created.
1210
+ PROVISIONING = 1
1211
+
1212
+ # The RUNNING state indicates the node pool has been created
1213
+ # and is fully usable.
1214
+ RUNNING = 2
1215
+
1216
+ # The RUNNING_WITH_ERROR state indicates the node pool has been created
1217
+ # and is partially usable. Some error state has occurred and some
1218
+ # functionality may be impaired. Customer may need to reissue a request
1219
+ # or trigger a new update.
1220
+ RUNNING_WITH_ERROR = 3
1221
+
1222
+ # The RECONCILING state indicates that some work is actively being done on
1223
+ # the node pool, such as upgrading node software. Details can
1224
+ # be found in the +statusMessage+ field.
1225
+ RECONCILING = 4
1226
+
1227
+ # The STOPPING state indicates the node pool is being deleted.
1228
+ STOPPING = 5
1229
+
1230
+ # The ERROR state indicates the node pool may be unusable. Details
1231
+ # can be found in the +statusMessage+ field.
1232
+ ERROR = 6
1233
+ end
1234
+ end
1235
+
1236
+ # NodeManagement defines the set of node management services turned on for the
1237
+ # node pool.
1238
+ # @!attribute [rw] auto_upgrade
1239
+ # @return [true, false]
1240
+ # A flag that specifies whether node auto-upgrade is enabled for the node
1241
+ # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
1242
+ # up to date with the latest release version of Kubernetes.
1243
+ # @!attribute [rw] auto_repair
1244
+ # @return [true, false]
1245
+ # A flag that specifies whether the node auto-repair is enabled for the node
1246
+ # pool. If enabled, the nodes in this node pool will be monitored and, if
1247
+ # they fail health checks too many times, an automatic repair action will be
1248
+ # triggered.
1249
+ # @!attribute [rw] upgrade_options
1250
+ # @return [Google::Container::V1::AutoUpgradeOptions]
1251
+ # Specifies the Auto Upgrade knobs for the node pool.
1252
+ class NodeManagement; end
1253
+
1254
+ # AutoUpgradeOptions defines the set of options for the user to control how
1255
+ # the Auto Upgrades will proceed.
1256
+ # @!attribute [rw] auto_upgrade_start_time
1257
+ # @return [String]
1258
+ # [Output only] This field is set when upgrades are about to commence
1259
+ # with the approximate start time for the upgrades, in
1260
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1261
+ # @!attribute [rw] description
1262
+ # @return [String]
1263
+ # [Output only] This field is set when upgrades are about to commence
1264
+ # with the description of the upgrade.
1265
+ class AutoUpgradeOptions; end
1266
+
1267
+ # MaintenancePolicy defines the maintenance policy to be used for the cluster.
1268
+ # @!attribute [rw] window
1269
+ # @return [Google::Container::V1::MaintenanceWindow]
1270
+ # Specifies the maintenance window in which maintenance may be performed.
1271
+ class MaintenancePolicy; end
1272
+
1273
+ # MaintenanceWindow defines the maintenance window to be used for the cluster.
1274
+ # @!attribute [rw] daily_maintenance_window
1275
+ # @return [Google::Container::V1::DailyMaintenanceWindow]
1276
+ # DailyMaintenanceWindow specifies a daily maintenance operation window.
1277
+ class MaintenanceWindow; end
1278
+
1279
+ # Time window specified for daily maintenance operations.
1280
+ # @!attribute [rw] start_time
1281
+ # @return [String]
1282
+ # Time within the maintenance window to start the maintenance operations.
1283
+ # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
1284
+ # format "HH:MM”, where HH : [00-23] and MM : [00-59] GMT.
1285
+ # @!attribute [rw] duration
1286
+ # @return [String]
1287
+ # [Output only] Duration of the time window, automatically chosen to be
1288
+ # smallest possible in the given scenario.
1289
+ # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
1290
+ # format "PTnHnMnS".
1291
+ class DailyMaintenanceWindow; end
1292
+
1293
+ # SetNodePoolManagementRequest sets the node management properties of a node
1294
+ # pool.
1295
+ # @!attribute [rw] project_id
1296
+ # @return [String]
1297
+ # The Google Developers Console [project ID or project
1298
+ # number](https://support.google.com/cloud/answer/6158840).
1299
+ # @!attribute [rw] zone
1300
+ # @return [String]
1301
+ # The name of the Google Compute Engine
1302
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1303
+ # resides.
1304
+ # @!attribute [rw] cluster_id
1305
+ # @return [String]
1306
+ # The name of the cluster to update.
1307
+ # @!attribute [rw] node_pool_id
1308
+ # @return [String]
1309
+ # The name of the node pool to update.
1310
+ # @!attribute [rw] management
1311
+ # @return [Google::Container::V1::NodeManagement]
1312
+ # NodeManagement configuration for the node pool.
1313
+ class SetNodePoolManagementRequest; end
1314
+
1315
+ # SetNodePoolSizeRequest sets the size a node
1316
+ # pool.
1317
+ # @!attribute [rw] project_id
1318
+ # @return [String]
1319
+ # The Google Developers Console [project ID or project
1320
+ # number](https://support.google.com/cloud/answer/6158840).
1321
+ # @!attribute [rw] zone
1322
+ # @return [String]
1323
+ # The name of the Google Compute Engine
1324
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1325
+ # resides.
1326
+ # @!attribute [rw] cluster_id
1327
+ # @return [String]
1328
+ # The name of the cluster to update.
1329
+ # @!attribute [rw] node_pool_id
1330
+ # @return [String]
1331
+ # The name of the node pool to update.
1332
+ # @!attribute [rw] node_count
1333
+ # @return [Integer]
1334
+ # The desired node count for the pool.
1335
+ class SetNodePoolSizeRequest; end
1336
+
1337
+ # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
1338
+ # NodePool upgrade. This will be an no-op if the last upgrade successfully
1339
+ # completed.
1340
+ # @!attribute [rw] project_id
1341
+ # @return [String]
1342
+ # The Google Developers Console [project ID or project
1343
+ # number](https://support.google.com/cloud/answer/6158840).
1344
+ # @!attribute [rw] zone
1345
+ # @return [String]
1346
+ # The name of the Google Compute Engine
1347
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1348
+ # resides.
1349
+ # @!attribute [rw] cluster_id
1350
+ # @return [String]
1351
+ # The name of the cluster to rollback.
1352
+ # @!attribute [rw] node_pool_id
1353
+ # @return [String]
1354
+ # The name of the node pool to rollback.
1355
+ class RollbackNodePoolUpgradeRequest; end
1356
+
1357
+ # ListNodePoolsResponse is the result of ListNodePoolsRequest.
1358
+ # @!attribute [rw] node_pools
1359
+ # @return [Array<Google::Container::V1::NodePool>]
1360
+ # A list of node pools for a cluster.
1361
+ class ListNodePoolsResponse; end
1362
+
1363
+ # NodePoolAutoscaling contains information required by cluster autoscaler to
1364
+ # adjust the size of the node pool to the current cluster usage.
1365
+ # @!attribute [rw] enabled
1366
+ # @return [true, false]
1367
+ # Is autoscaling enabled for this node pool.
1368
+ # @!attribute [rw] min_node_count
1369
+ # @return [Integer]
1370
+ # Minimum number of nodes in the NodePool. Must be >= 1 and <=
1371
+ # max_node_count.
1372
+ # @!attribute [rw] max_node_count
1373
+ # @return [Integer]
1374
+ # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
1375
+ # has to enough quota to scale up the cluster.
1376
+ class NodePoolAutoscaling; end
1377
+
1378
+ # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
1379
+ # Engine cluster, which will in turn set them for Google Compute Engine
1380
+ # resources used by that cluster
1381
+ # @!attribute [rw] project_id
1382
+ # @return [String]
1383
+ # The Google Developers Console [project ID or project
1384
+ # number](https://developers.google.com/console/help/new/#projectnumber).
1385
+ # @!attribute [rw] zone
1386
+ # @return [String]
1387
+ # The name of the Google Compute Engine
1388
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1389
+ # resides.
1390
+ # @!attribute [rw] cluster_id
1391
+ # @return [String]
1392
+ # The name of the cluster.
1393
+ # @!attribute [rw] resource_labels
1394
+ # @return [Hash{String => String}]
1395
+ # The labels to set for that cluster.
1396
+ # @!attribute [rw] label_fingerprint
1397
+ # @return [String]
1398
+ # The fingerprint of the previous set of labels for this resource,
1399
+ # used to detect conflicts. The fingerprint is initially generated by
1400
+ # Container Engine and changes after every request to modify or update
1401
+ # labels. You must always provide an up-to-date fingerprint hash when
1402
+ # updating or changing labels. Make a <code>get()</code> request to the
1403
+ # resource to get the latest fingerprint.
1404
+ class SetLabelsRequest; end
1405
+
1406
+ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
1407
+ # a cluster.
1408
+ # @!attribute [rw] project_id
1409
+ # @return [String]
1410
+ # The Google Developers Console [project ID or project
1411
+ # number](https://support.google.com/cloud/answer/6158840).
1412
+ # @!attribute [rw] zone
1413
+ # @return [String]
1414
+ # The name of the Google Compute Engine
1415
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1416
+ # resides.
1417
+ # @!attribute [rw] cluster_id
1418
+ # @return [String]
1419
+ # The name of the cluster to update.
1420
+ # @!attribute [rw] enabled
1421
+ # @return [true, false]
1422
+ # Whether ABAC authorization will be enabled in the cluster.
1423
+ class SetLegacyAbacRequest; end
1424
+
1425
+ # StartIPRotationRequest creates a new IP for the cluster and then performs
1426
+ # a node upgrade on each node pool to point to the new IP.
1427
+ # @!attribute [rw] project_id
1428
+ # @return [String]
1429
+ # The Google Developers Console [project ID or project
1430
+ # number](https://developers.google.com/console/help/new/#projectnumber).
1431
+ # @!attribute [rw] zone
1432
+ # @return [String]
1433
+ # The name of the Google Compute Engine
1434
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1435
+ # resides.
1436
+ # @!attribute [rw] cluster_id
1437
+ # @return [String]
1438
+ # The name of the cluster.
1439
+ class StartIPRotationRequest; end
1440
+
1441
+ # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
1442
+ # @!attribute [rw] project_id
1443
+ # @return [String]
1444
+ # The Google Developers Console [project ID or project
1445
+ # number](https://developers.google.com/console/help/new/#projectnumber).
1446
+ # @!attribute [rw] zone
1447
+ # @return [String]
1448
+ # The name of the Google Compute Engine
1449
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1450
+ # resides.
1451
+ # @!attribute [rw] cluster_id
1452
+ # @return [String]
1453
+ # The name of the cluster.
1454
+ class CompleteIPRotationRequest; end
1455
+
1456
+ # AcceleratorConfig represents a Hardware Accelerator request.
1457
+ # @!attribute [rw] accelerator_count
1458
+ # @return [Integer]
1459
+ # The number of the accelerator cards exposed to an instance.
1460
+ # @!attribute [rw] accelerator_type
1461
+ # @return [String]
1462
+ # The accelerator type resource name. List of supported accelerators
1463
+ # [here](https://cloud.google.com/compute/docs/gpus/#Introduction)
1464
+ class AcceleratorConfig; end
1465
+
1466
+ # SetNetworkPolicyRequest enables/disables network policy for a cluster.
1467
+ # @!attribute [rw] project_id
1468
+ # @return [String]
1469
+ # The Google Developers Console [project ID or project
1470
+ # number](https://developers.google.com/console/help/new/#projectnumber).
1471
+ # @!attribute [rw] zone
1472
+ # @return [String]
1473
+ # The name of the Google Compute Engine
1474
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1475
+ # resides.
1476
+ # @!attribute [rw] cluster_id
1477
+ # @return [String]
1478
+ # The name of the cluster.
1479
+ # @!attribute [rw] network_policy
1480
+ # @return [Google::Container::V1::NetworkPolicy]
1481
+ # Configuration options for the NetworkPolicy feature.
1482
+ class SetNetworkPolicyRequest; end
1483
+
1484
+ # SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
1485
+ # @!attribute [rw] project_id
1486
+ # @return [String]
1487
+ # The Google Developers Console [project ID or project
1488
+ # number](https://support.google.com/cloud/answer/6158840).
1489
+ # @!attribute [rw] zone
1490
+ # @return [String]
1491
+ # The name of the Google Compute Engine
1492
+ # [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster
1493
+ # resides.
1494
+ # @!attribute [rw] cluster_id
1495
+ # @return [String]
1496
+ # The name of the cluster to update.
1497
+ # @!attribute [rw] maintenance_policy
1498
+ # @return [Google::Container::V1::MaintenancePolicy]
1499
+ # The maintenance policy to be set for the cluster. An empty field
1500
+ # clears the existing maintenance policy.
1501
+ class SetMaintenancePolicyRequest; end
1502
+ end
1503
+ end
1504
+ end