google-cloud-container 0.1.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.
@@ -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