blob: 4bcd83b26d977521a692ec6f86e6f49a642a4ac7 [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="container_v1.html">Kubernetes Engine API</a> . <a href="container_v1.projects.html">projects</a> . <a href="container_v1.projects.locations.html">locations</a> . <a href="container_v1.projects.locations.clusters.html">clusters</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="container_v1.projects.locations.clusters.nodePools.html">nodePools()</a></code>
79</p>
80<p class="firstline">Returns the nodePools Resource.</p>
81
82<p class="toc_element">
83 <code><a href="container_v1.projects.locations.clusters.well-known.html">well-known()</a></code>
84</p>
85<p class="firstline">Returns the well-known Resource.</p>
86
87<p class="toc_element">
88 <code><a href="#completeIpRotation">completeIpRotation(name, body, x__xgafv=None)</a></code></p>
89<p class="firstline">Completes master IP rotation.</p>
90<p class="toc_element">
91 <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
92<p class="firstline">Creates a cluster, consisting of the specified number and type of Google</p>
93<p class="toc_element">
94 <code><a href="#delete">delete(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</a></code></p>
95<p class="firstline">Deletes the cluster, including the Kubernetes endpoint and all worker</p>
96<p class="toc_element">
97 <code><a href="#get">get(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</a></code></p>
98<p class="firstline">Gets the details of a specific cluster.</p>
99<p class="toc_element">
100 <code><a href="#getJwks">getJwks(parent, x__xgafv=None)</a></code></p>
101<p class="firstline">Gets the public component of the cluster signing keys in</p>
102<p class="toc_element">
103 <code><a href="#list">list(parent, projectId=None, zone=None, x__xgafv=None)</a></code></p>
104<p class="firstline">Lists all clusters owned by a project in either the specified zone or all</p>
105<p class="toc_element">
106 <code><a href="#setAddons">setAddons(name, body, x__xgafv=None)</a></code></p>
107<p class="firstline">Sets the addons for a specific cluster.</p>
108<p class="toc_element">
109 <code><a href="#setLegacyAbac">setLegacyAbac(name, body, x__xgafv=None)</a></code></p>
110<p class="firstline">Enables or disables the ABAC authorization mechanism on a cluster.</p>
111<p class="toc_element">
112 <code><a href="#setLocations">setLocations(name, body, x__xgafv=None)</a></code></p>
113<p class="firstline">Sets the locations for a specific cluster.</p>
114<p class="toc_element">
115 <code><a href="#setLogging">setLogging(name, body, x__xgafv=None)</a></code></p>
116<p class="firstline">Sets the logging service for a specific cluster.</p>
117<p class="toc_element">
118 <code><a href="#setMaintenancePolicy">setMaintenancePolicy(name, body, x__xgafv=None)</a></code></p>
119<p class="firstline">Sets the maintenance policy for a cluster.</p>
120<p class="toc_element">
121 <code><a href="#setMasterAuth">setMasterAuth(name, body, x__xgafv=None)</a></code></p>
122<p class="firstline">Sets master auth materials. Currently supports changing the admin password</p>
123<p class="toc_element">
124 <code><a href="#setMonitoring">setMonitoring(name, body, x__xgafv=None)</a></code></p>
125<p class="firstline">Sets the monitoring service for a specific cluster.</p>
126<p class="toc_element">
127 <code><a href="#setNetworkPolicy">setNetworkPolicy(name, body, x__xgafv=None)</a></code></p>
128<p class="firstline">Enables or disables Network Policy for a cluster.</p>
129<p class="toc_element">
130 <code><a href="#setResourceLabels">setResourceLabels(name, body, x__xgafv=None)</a></code></p>
131<p class="firstline">Sets labels on a cluster.</p>
132<p class="toc_element">
133 <code><a href="#startIpRotation">startIpRotation(name, body, x__xgafv=None)</a></code></p>
134<p class="firstline">Starts master IP rotation.</p>
135<p class="toc_element">
136 <code><a href="#update">update(name, body, x__xgafv=None)</a></code></p>
137<p class="firstline">Updates the settings of a specific cluster.</p>
138<p class="toc_element">
139 <code><a href="#updateMaster">updateMaster(name, body, x__xgafv=None)</a></code></p>
140<p class="firstline">Updates the master for a specific cluster.</p>
141<h3>Method Details</h3>
142<div class="method">
143 <code class="details" id="completeIpRotation">completeIpRotation(name, body, x__xgafv=None)</code>
144 <pre>Completes master IP rotation.
145
146Args:
147 name: string, The name (project, location, cluster id) of the cluster to complete IP
148rotation. Specified in the format 'projects/*/locations/*/clusters/*'. (required)
149 body: object, The request body. (required)
150 The object takes the form of:
151
152{ # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
153 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
154 # number](https://developers.google.com/console/help/new/#projectnumber).
155 # This field has been deprecated and replaced by the name field.
156 "clusterId": "A String", # Deprecated. The name of the cluster.
157 # This field has been deprecated and replaced by the name field.
158 "name": "A String", # The name (project, location, cluster id) of the cluster to complete IP
159 # rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
160 "zone": "A String", # Deprecated. The name of the Google Compute Engine
161 # [zone](/compute/docs/zones#available) in which the cluster
162 # resides.
163 # This field has been deprecated and replaced by the name field.
164 }
165
166 x__xgafv: string, V1 error format.
167 Allowed values
168 1 - v1 error format
169 2 - v2 error format
170
171Returns:
172 An object of the form:
173
174 { # This operation resource represents operations that may have happened or are
175 # happening on the cluster. All fields are output only.
176 "status": "A String", # The current status of the operation.
177 "selfLink": "A String", # Server-defined URL for the resource.
178 "name": "A String", # The server-assigned ID for the operation.
179 "zone": "A String", # The name of the Google Compute Engine
180 # [zone](/compute/docs/zones#available) in which the operation
181 # is taking place.
182 # This field is deprecated, use location instead.
183 "startTime": "A String", # [Output only] The time the operation started, in
184 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
185 "detail": "A String", # Detailed operation progress, if available.
186 "operationType": "A String", # The operation type.
187 "targetLink": "A String", # Server-defined URL for the target of the operation.
188 "location": "A String", # [Output only] The name of the Google Compute Engine
189 # [zone](/compute/docs/regions-zones/regions-zones#available) or
190 # [region](/compute/docs/regions-zones/regions-zones#available) in which
191 # the cluster resides.
192 "nodepoolConditions": [ # Which conditions caused the current node pool state.
193 { # StatusCondition describes why a cluster or a node pool has a certain status
194 # (e.g., ERROR or DEGRADED).
195 "message": "A String", # Human-friendly representation of the condition
196 "code": "A String", # Machine-friendly representation of the condition
197 },
198 ],
199 "endTime": "A String", # [Output only] The time the operation completed, in
200 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
201 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
202 "clusterConditions": [ # Which conditions caused the current cluster state.
203 { # StatusCondition describes why a cluster or a node pool has a certain status
204 # (e.g., ERROR or DEGRADED).
205 "message": "A String", # Human-friendly representation of the condition
206 "code": "A String", # Machine-friendly representation of the condition
207 },
208 ],
209 }</pre>
210</div>
211
212<div class="method">
213 <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
214 <pre>Creates a cluster, consisting of the specified number and type of Google
215Compute Engine instances.
216
217By default, the cluster is created in the project's
218[default network](/compute/docs/networks-and-firewalls#networks).
219
220One firewall is added for the cluster. After cluster creation,
221the Kubelet creates routes for each node to allow the containers
222on that node to communicate with all other instances in the
223cluster.
224
225Finally, an entry is added to the project's global metadata indicating
226which CIDR range the cluster is using.
227
228Args:
229 parent: string, The parent (project and location) where the cluster will be created.
230Specified in the format 'projects/*/locations/*'. (required)
231 body: object, The request body. (required)
232 The object takes the form of:
233
234{ # CreateClusterRequest creates a cluster.
235 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
236 # number](https://support.google.com/cloud/answer/6158840).
237 # This field has been deprecated and replaced by the parent field.
238 "parent": "A String", # The parent (project and location) where the cluster will be created.
239 # Specified in the format 'projects/*/locations/*'.
240 "zone": "A String", # Deprecated. The name of the Google Compute Engine
241 # [zone](/compute/docs/zones#available) in which the cluster
242 # resides.
243 # This field has been deprecated and replaced by the parent field.
244 "cluster": { # A Google Kubernetes Engine cluster. # A [cluster
245 # resource](/container-engine/reference/rest/v1/projects.zones.clusters)
246 "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
247 # containers. This is provisioned from within the `container_ipv4_cidr`
248 # range. This field will only be set when cluster is in route-based network
249 # mode.
250 "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
251 "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
252 "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
253 "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
254 # smallest possible in the given scenario.
255 # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
256 # format "PTnHnMnS".
257 "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
258 # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
259 # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
260 },
261 },
262 },
263 "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
264 # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
265 "enabled": True or False, # Whether network policy is enabled on the cluster.
266 "provider": "A String", # The selected network policy provider.
267 },
268 "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
269 # master authorized networks will disallow all external traffic to access
270 # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
271 # Google Compute Engine Public IPs and Google Prod IPs.
272 "enabled": True or False, # Whether or not master authorized networks is enabled.
273 "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
274 # Kubernetes master through HTTPS.
275 { # CidrBlock contains an optional name and one CIDR block.
276 "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
277 "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
278 },
279 ],
280 },
281 "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
282 # cluster, enabling additional functionality.
283 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
284 # makes it easy to set up HTTP load balancers for services in a cluster.
285 # which makes it easy to set up HTTP load balancers for services in a cluster.
286 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
287 # When enabled, it runs a small pod in the cluster that manages the load
288 # balancers.
289 },
290 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
291 # is enabled or not on the Master, it does not track whether network policy
292 # is enabled for the nodes.
293 # is enabled or not on the Master, it does not track whether network policy
294 # is enabled for the nodes.
295 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
296 },
297 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
298 # This addon is deprecated, and will be disabled in 1.15. It is recommended
299 # to use the Cloud Console to manage and monitor your Kubernetes clusters,
300 # workloads and applications. For more information, see:
301 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
302 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
303 },
304 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
305 # increases or decreases the number of replica pods a replication controller
306 # has based on the resource usage of the existing pods.
307 # increases or decreases the number of replica pods a replication controller
308 # has based on the resource usage of the existing pods.
309 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
310 # When enabled, it ensures that a Heapster pod is running in the cluster,
311 # which is also used by the Cloud Monitoring service.
312 },
313 },
314 "locations": [ # The list of Google Compute Engine
315 # [zones](/compute/docs/zones#available) in which the cluster's nodes
316 # should be located.
317 "A String",
318 ],
319 "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
320 # API groups (e.g. v1alpha1) and features that may not be production ready in
321 # the kubernetes version of the master and nodes.
322 # The cluster has no SLA for uptime and master/node upgrades are disabled.
323 # Alpha enabled clusters are automatically deleted thirty days after
324 # creation.
325 "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
326 # simultaneously on a node in the node pool of this cluster. Only honored
327 # if cluster created with IP Alias support.
328 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
329 },
330 "network": "A String", # The name of the Google Compute Engine
331 # [network](/compute/docs/networks-and-firewalls#networks) to which the
332 # cluster is connected. If left unspecified, the `default` network
333 # will be used.
334 "zone": "A String", # [Output only] The name of the Google Compute Engine
335 # [zone](/compute/docs/zones#available) in which the cluster
336 # resides.
337 # This field is deprecated, use location instead.
338 "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
339 "A String",
340 ],
341 "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
342 "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
343 # [subnetwork](/compute/docs/vpc) to which the cluster is connected.
344 # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
345 "network": "A String", # Output only. The relative name of the Google Compute Engine
346 # network(/compute/docs/networks-and-firewalls#networks) to which
347 # the cluster is connected.
348 # Example: projects/my-project/global/networks/my-network
349 },
350 "name": "A String", # The name of this cluster. The name must be unique within this project
351 # and zone, and can be up to 40 characters with the following restrictions:
352 #
353 # * Lowercase letters, numbers, and hyphens only.
354 # * Must start with a letter.
355 # * Must end with a number or a letter.
356 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
357 "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
358 "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
359 "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
360 # block. The secondary range will be used for pod IP
361 # addresses. This must be an existing secondary range associated
362 # with the cluster subnetwork.
363 #
364 # This field is only applicable with use_ip_aliases is true and
365 # create_subnetwork is false.
366 "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
367 # `cluster.cluster_ipv4_cidr` must be left blank.
368 #
369 # This field is only applicable when `use_ip_aliases` is true.
370 #
371 # Set to blank to have a range chosen with the default size.
372 #
373 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
374 # netmask.
375 #
376 # Set to a
377 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
378 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
379 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
380 # to use.
381 "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
382 # will be automatically chosen with the default size.
383 #
384 # This field is only applicable when `use_ip_aliases` is true.
385 #
386 # Set to blank to have a range chosen with the default size.
387 #
388 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
389 # netmask.
390 #
391 # Set to a
392 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
393 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
394 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
395 # to use.
396 "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
397 #
398 # This field is only applicable when `use_ip_aliases` is true.
399 "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
400 #
401 # This is applicable only if `create_subnetwork` is true.
402 #
403 # Set to blank to have a range chosen with the default size.
404 #
405 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
406 # netmask.
407 #
408 # Set to a
409 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
410 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
411 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
412 # to use.
413 "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
414 # range will be automatically chosen with the default size.
415 #
416 # This field is only applicable when `use_ip_aliases` is true.
417 #
418 # If unspecified, the range will use the default size.
419 #
420 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
421 # netmask.
422 #
423 # Set to a
424 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
425 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
426 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
427 # to use.
428 "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
429 "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If
430 # this field is empty, then an automatic name will be chosen for the new
431 # subnetwork.
432 "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
433 # CIDR block. The secondary range will be used for service
434 # ClusterIPs. This must be an existing secondary range associated
435 # with the cluster subnetwork.
436 #
437 # This field is only applicable with use_ip_aliases is true and
438 # create_subnetwork is false.
439 "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
440 },
441 "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
442 # disabled when this config is unspecified.
443 "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
444 "datasetId": "A String", # The ID of a BigQuery Dataset.
445 },
446 "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
447 # daemonset will be created in the cluster to meter network egress traffic.
448 "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
449 "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
450 # second BigQuery table will be created to hold resource consumption
451 # records.
452 },
453 },
454 "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
455 "conditions": [ # Which conditions caused the current cluster state.
456 { # StatusCondition describes why a cluster or a node pool has a certain status
457 # (e.g., ERROR or DEGRADED).
458 "message": "A String", # Human-friendly representation of the condition
459 "code": "A String", # Machine-friendly representation of the condition
460 },
461 ],
462 "statusMessage": "A String", # [Output only] Additional information about the current status of this
463 # cluster, if available.
464 "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
465 # this cluster, in
466 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
467 # notation (e.g. `1.2.3.4/29`). Service addresses are
468 # typically put in the last `/16` from the container CIDR.
469 "status": "A String", # [Output only] The current status of this cluster.
470 "description": "A String", # An optional description of this cluster.
471 "currentNodeVersion": "A String", # [Output only] Deprecated, use
472 # [NodePools.version](/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePools)
473 # instead. The current version of the node software components. If they are
474 # currently at multiple versions because they're in the process of being
475 # upgraded, this reflects the minimum version of all nodes.
476 "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
477 "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
478 "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
479 # If unspecified, the defaults are used:
480 # For clusters before v1.12, if master_auth is unspecified, `username` will
481 # be set to "admin", a random password will be generated, and a client
482 # certificate will be issued.
483 # Authentication can be done using HTTP basic auth or using client
484 # certificates.
485 "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
486 # For clusters v1.6.0 and later, basic authentication can be disabled by
487 # leaving username unspecified (or setting it to the empty string).
488 "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
489 # to the cluster endpoint.
490 "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
491 # authenticate to the cluster endpoint.
492 "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
493 # clusters before v1.12, if no configuration is specified, a client
494 # certificate is issued.
495 "issueClientCertificate": True or False, # Issue a client certificate.
496 },
497 "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
498 # Because the master endpoint is open to the Internet, you should create a
499 # strong password. If a password is provided for cluster creation, username
500 # must be non-empty.
501 "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
502 # trust for the cluster.
503 },
504 "expireTime": "A String", # [Output only] The time the cluster will be automatically
505 # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
506 "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
507 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
508 # notation (e.g. `1.2.3.4/29`).
509 "nodePools": [ # The node pools associated with this cluster.
510 # This field should not be set if "node_config" or "initial_node_count" are
511 # specified.
512 { # NodePool contains the name and configuration for a cluster's node pool.
513 # Node pools are a set of nodes (i.e. VM's), with a common configuration and
514 # specification, under the control of the cluster master. They may have a set
515 # of Kubernetes labels applied to them, which may be used to reference them
516 # during pod scheduling. They may also be resized up or down, to accommodate
517 # the workload.
518 "status": "A String", # [Output only] The status of the nodes in this pool instance.
519 "statusMessage": "A String", # [Output only] Additional information about the current status of this
520 # node pool instance, if available.
521 "name": "A String", # The name of the node pool.
522 "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
523 # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
524 # associated with this node pool.
525 "A String",
526 ],
527 "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
528 # only if a valid configuration is present.
529 # adjust the size of the node pool to the current cluster usage.
530 "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
531 # max_node_count.
532 "enabled": True or False, # Is autoscaling enabled for this node pool.
533 "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
534 # has to enough quota to scale up the cluster.
535 },
536 "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
537 # simultaneously on a node in the node pool.
538 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
539 },
540 "version": "A String", # The version of the Kubernetes of this node.
541 "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
542 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
543 # is sufficient for this number of instances. You must also have available
544 # firewall and routes quota.
545 "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
546 "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
547 # node pool.
548 "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node
549 # pool. If enabled, the nodes in this node pool will be monitored and, if
550 # they fail health checks too many times, an automatic repair action will be
551 # triggered.
552 "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
553 # the Auto Upgrades will proceed.
554 "description": "A String", # [Output only] This field is set when upgrades are about to commence
555 # with the description of the upgrade.
556 "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
557 # with the approximate start time for the upgrades, in
558 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
559 },
560 "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
561 # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
562 # up to date with the latest release version of Kubernetes.
563 },
564 "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
565 "taints": [ # List of kubernetes taints to be applied to each node.
566 #
567 # For more information, including usage and the valid values, see:
568 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
569 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
570 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
571 #
572 # For more information, including usage and the valid values, see:
573 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
574 "key": "A String", # Key for taint.
575 "effect": "A String", # Effect for taint.
576 "value": "A String", # Value for taint.
577 },
578 ],
579 "machineType": "A String", # The name of a Google Compute Engine [machine
580 # type](/compute/docs/machine-types) (e.g.
581 # `n1-standard-1`).
582 #
583 # If unspecified, the default machine type is
584 # `n1-standard-1`.
585 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
586 # valid sources or targets for network firewalls and are specified by
587 # the client during cluster or node pool creation. Each tag within the list
588 # must comply with RFC1035.
589 "A String",
590 ],
591 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
592 # https://cloud.google.com/compute/docs/instances/preemptible for more
593 # information about preemptible VM instances.
594 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
595 # These will added in addition to any default label(s) that
596 # Kubernetes may apply to the node.
597 # In case of conflict in label keys, the applied set may differ depending on
598 # the Kubernetes version -- it's best to assume the behavior is undefined
599 # and conflicts should be avoided.
600 # For more information, including usage and the valid values, see:
601 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
602 "a_key": "A String",
603 },
604 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
605 # no Service Account is specified, the "default" service account is used.
606 "oauthScopes": [ # The set of Google API scopes to be made available on all of the
607 # node VMs under the "default" service account.
608 #
609 # The following scopes are recommended, but not required, and by default are
610 # not included:
611 #
612 # * `https://www.googleapis.com/auth/compute` is required for mounting
613 # persistent storage on your nodes.
614 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
615 # communicating with **gcr.io**
616 # (the [Google Container Registry](/container-registry/)).
617 #
618 # If unspecified, no scopes are added, unless Cloud Logging or Cloud
619 # Monitoring are enabled, in which case their required scopes will be added.
620 "A String",
621 ],
622 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
623 #
624 # If unspecified, the default disk type is 'pd-standard'
625 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
626 # The smallest allowed disk size is 10GB.
627 #
628 # If unspecified, the default disk size is 100GB.
629 "accelerators": [ # A list of hardware accelerators to be attached to each node.
630 # See https://cloud.google.com/compute/docs/gpus for more information about
631 # support for GPUs.
632 { # AcceleratorConfig represents a Hardware Accelerator request.
633 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
634 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
635 # [here](/compute/docs/gpus/#Introduction)
636 },
637 ],
638 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
639 # scheduled on the specified or newer CPU platform. Applicable values are the
640 # friendly names of CPU platforms, such as
641 # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
642 # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
643 # information, read [how to specify min CPU
644 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
645 "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
646 #
647 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
648 # in length. These are reflected as part of a URL in the metadata server.
649 # Additionally, to avoid ambiguity, keys must not conflict with any other
650 # metadata keys for the project or be one of the reserved keys:
651 # "cluster-location"
652 # "cluster-name"
653 # "cluster-uid"
654 # "configure-sh"
655 # "containerd-configure-sh"
656 # "enable-os-login"
657 # "gci-update-strategy"
658 # "gci-ensure-gke-docker"
659 # "instance-template"
660 # "kube-env"
661 # "startup-script"
662 # "user-data"
663 # "disable-address-manager"
664 # "windows-startup-script-ps1"
665 # "common-psm1"
666 # "k8s-node-setup-psm1"
667 # "install-ssh-psm1"
668 # "user-profile-psm1"
669 # "serial-port-logging-enable"
670 #
671 # Values are free-form strings, and only have meaning as interpreted by
672 # the image running in the instance. The only restriction placed on them is
673 # that each value's size must be less than or equal to 32 KB.
674 #
675 # The total size of all keys and values must be less than 512 KB.
676 "a_key": "A String",
677 },
678 "imageType": "A String", # The image type to use for this node. Note that for a given image type,
679 # the latest version of it will be used.
680 "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
681 #
682 # The limit for this value is dependant upon the maximum number of
683 # disks available on a machine per zone. See:
684 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
685 # for more information.
686 },
687 "conditions": [ # Which conditions caused the current node pool state.
688 { # StatusCondition describes why a cluster or a node pool has a certain status
689 # (e.g., ERROR or DEGRADED).
690 "message": "A String", # Human-friendly representation of the condition
691 "code": "A String", # Machine-friendly representation of the condition
692 },
693 ],
694 "selfLink": "A String", # [Output only] Server-defined URL for the resource.
695 },
696 ],
697 "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
698 # Currently available options:
699 #
700 # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
701 # * `none` - no metrics will be exported from the cluster.
702 # * if left as an empty string, `monitoring.googleapis.com` will be used.
703 "createTime": "A String", # [Output only] The time the cluster was created, in
704 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
705 "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
706 # mode.
707 "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
708 # identities in the system, including service accounts, nodes, and
709 # controllers, will have statically granted permissions beyond those
710 # provided by the RBAC configuration or IAM.
711 },
712 "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
713 "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
714 "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
715 # range will be used for assigning internal IP addresses to the master or
716 # set of masters, as well as the ILB VIP. This range must not overlap with
717 # any other ranges in use within the cluster's network.
718 "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
719 "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
720 "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
721 # given only RFC 1918 private addresses and communicate with the master via
722 # private networking.
723 },
724 "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
725 # The endpoint can be accessed from the internet at
726 # `https://username:password@endpoint/`.
727 #
728 # See the `masterAuth` property of this resource for username and
729 # password information.
730 "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated.
731 # Call Kubernetes API directly to retrieve node information.
732 "loggingService": "A String", # The logging service the cluster should use to write logs.
733 # Currently available options:
734 #
735 # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
736 # service with Kubernetes-native resource model in Stackdriver
737 # * `logging.googleapis.com` - the Google Cloud Logging service.
738 # * `none` - no logs will be exported from the cluster.
739 # * if left as an empty string,`logging.googleapis.com` will be used.
740 "location": "A String", # [Output only] The name of the Google Compute Engine
741 # [zone](/compute/docs/regions-zones/regions-zones#available) or
742 # [region](/compute/docs/regions-zones/regions-zones#available) in which
743 # the cluster resides.
744 "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those
745 # found in validMasterVersions returned by getServerConfig. The version can
746 # be upgraded over time; such upgrades are reflected in
747 # currentMasterVersion and currentNodeVersion.
748 #
749 # Users may specify either explicit versions offered by
750 # Kubernetes Engine or version aliases, which have the following behavior:
751 #
752 # - "latest": picks the highest valid Kubernetes version
753 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
754 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
755 # - "1.X.Y-gke.N": picks an explicit Kubernetes version
756 # - "","-": picks the default Kubernetes version
757 "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
758 # For requests, this field should only be used in lieu of a
759 # "node_pool" object, since this configuration (along with the
760 # "initial_node_count") will be used to create a "NodePool" object with an
761 # auto-generated name. Do not use this and a node_pool at the same time.
762 # For responses, this field will be populated with the node configuration of
763 # the first node pool. (For configuration of each node pool, see
764 # `node_pool.config`)
765 #
766 # If unspecified, the defaults are used.
767 # This field is deprecated, use node_pool.config instead.
768 "taints": [ # List of kubernetes taints to be applied to each node.
769 #
770 # For more information, including usage and the valid values, see:
771 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
772 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
773 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
774 #
775 # For more information, including usage and the valid values, see:
776 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
777 "key": "A String", # Key for taint.
778 "effect": "A String", # Effect for taint.
779 "value": "A String", # Value for taint.
780 },
781 ],
782 "machineType": "A String", # The name of a Google Compute Engine [machine
783 # type](/compute/docs/machine-types) (e.g.
784 # `n1-standard-1`).
785 #
786 # If unspecified, the default machine type is
787 # `n1-standard-1`.
788 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
789 # valid sources or targets for network firewalls and are specified by
790 # the client during cluster or node pool creation. Each tag within the list
791 # must comply with RFC1035.
792 "A String",
793 ],
794 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
795 # https://cloud.google.com/compute/docs/instances/preemptible for more
796 # information about preemptible VM instances.
797 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
798 # These will added in addition to any default label(s) that
799 # Kubernetes may apply to the node.
800 # In case of conflict in label keys, the applied set may differ depending on
801 # the Kubernetes version -- it's best to assume the behavior is undefined
802 # and conflicts should be avoided.
803 # For more information, including usage and the valid values, see:
804 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
805 "a_key": "A String",
806 },
807 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
808 # no Service Account is specified, the "default" service account is used.
809 "oauthScopes": [ # The set of Google API scopes to be made available on all of the
810 # node VMs under the "default" service account.
811 #
812 # The following scopes are recommended, but not required, and by default are
813 # not included:
814 #
815 # * `https://www.googleapis.com/auth/compute` is required for mounting
816 # persistent storage on your nodes.
817 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
818 # communicating with **gcr.io**
819 # (the [Google Container Registry](/container-registry/)).
820 #
821 # If unspecified, no scopes are added, unless Cloud Logging or Cloud
822 # Monitoring are enabled, in which case their required scopes will be added.
823 "A String",
824 ],
825 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
826 #
827 # If unspecified, the default disk type is 'pd-standard'
828 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
829 # The smallest allowed disk size is 10GB.
830 #
831 # If unspecified, the default disk size is 100GB.
832 "accelerators": [ # A list of hardware accelerators to be attached to each node.
833 # See https://cloud.google.com/compute/docs/gpus for more information about
834 # support for GPUs.
835 { # AcceleratorConfig represents a Hardware Accelerator request.
836 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
837 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
838 # [here](/compute/docs/gpus/#Introduction)
839 },
840 ],
841 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
842 # scheduled on the specified or newer CPU platform. Applicable values are the
843 # friendly names of CPU platforms, such as
844 # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
845 # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
846 # information, read [how to specify min CPU
847 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
848 "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
849 #
850 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
851 # in length. These are reflected as part of a URL in the metadata server.
852 # Additionally, to avoid ambiguity, keys must not conflict with any other
853 # metadata keys for the project or be one of the reserved keys:
854 # "cluster-location"
855 # "cluster-name"
856 # "cluster-uid"
857 # "configure-sh"
858 # "containerd-configure-sh"
859 # "enable-os-login"
860 # "gci-update-strategy"
861 # "gci-ensure-gke-docker"
862 # "instance-template"
863 # "kube-env"
864 # "startup-script"
865 # "user-data"
866 # "disable-address-manager"
867 # "windows-startup-script-ps1"
868 # "common-psm1"
869 # "k8s-node-setup-psm1"
870 # "install-ssh-psm1"
871 # "user-profile-psm1"
872 # "serial-port-logging-enable"
873 #
874 # Values are free-form strings, and only have meaning as interpreted by
875 # the image running in the instance. The only restriction placed on them is
876 # that each value's size must be less than or equal to 32 KB.
877 #
878 # The total size of all keys and values must be less than 512 KB.
879 "a_key": "A String",
880 },
881 "imageType": "A String", # The image type to use for this node. Note that for a given image type,
882 # the latest version of it will be used.
883 "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
884 #
885 # The limit for this value is dependant upon the maximum number of
886 # disks available on a machine per zone. See:
887 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
888 # for more information.
889 },
890 "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
891 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
892 # notation (e.g. `10.96.0.0/14`). Leave blank to have
893 # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
894 "subnetwork": "A String", # The name of the Google Compute Engine
895 # [subnetwork](/compute/docs/subnetworks) to which the
896 # cluster is connected.
897 "resourceLabels": { # The resource labels for the cluster to use to annotate any related
898 # Google Compute Engine resources.
899 "a_key": "A String",
900 },
901 "selfLink": "A String", # [Output only] Server-defined URL for the resource.
902 "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
903 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
904 # is sufficient for this number of instances. You must also have available
905 # firewall and routes quota.
906 # For requests, this field should only be used in lieu of a
907 # "node_pool" object, since this configuration (along with the
908 # "node_config") will be used to create a "NodePool" object with an
909 # auto-generated name. Do not use this and a node_pool at the same time.
910 #
911 # This field is deprecated, use node_pool.initial_node_count instead.
912 },
913 }
914
915 x__xgafv: string, V1 error format.
916 Allowed values
917 1 - v1 error format
918 2 - v2 error format
919
920Returns:
921 An object of the form:
922
923 { # This operation resource represents operations that may have happened or are
924 # happening on the cluster. All fields are output only.
925 "status": "A String", # The current status of the operation.
926 "selfLink": "A String", # Server-defined URL for the resource.
927 "name": "A String", # The server-assigned ID for the operation.
928 "zone": "A String", # The name of the Google Compute Engine
929 # [zone](/compute/docs/zones#available) in which the operation
930 # is taking place.
931 # This field is deprecated, use location instead.
932 "startTime": "A String", # [Output only] The time the operation started, in
933 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
934 "detail": "A String", # Detailed operation progress, if available.
935 "operationType": "A String", # The operation type.
936 "targetLink": "A String", # Server-defined URL for the target of the operation.
937 "location": "A String", # [Output only] The name of the Google Compute Engine
938 # [zone](/compute/docs/regions-zones/regions-zones#available) or
939 # [region](/compute/docs/regions-zones/regions-zones#available) in which
940 # the cluster resides.
941 "nodepoolConditions": [ # Which conditions caused the current node pool state.
942 { # StatusCondition describes why a cluster or a node pool has a certain status
943 # (e.g., ERROR or DEGRADED).
944 "message": "A String", # Human-friendly representation of the condition
945 "code": "A String", # Machine-friendly representation of the condition
946 },
947 ],
948 "endTime": "A String", # [Output only] The time the operation completed, in
949 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
950 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
951 "clusterConditions": [ # Which conditions caused the current cluster state.
952 { # StatusCondition describes why a cluster or a node pool has a certain status
953 # (e.g., ERROR or DEGRADED).
954 "message": "A String", # Human-friendly representation of the condition
955 "code": "A String", # Machine-friendly representation of the condition
956 },
957 ],
958 }</pre>
959</div>
960
961<div class="method">
962 <code class="details" id="delete">delete(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</code>
963 <pre>Deletes the cluster, including the Kubernetes endpoint and all worker
964nodes.
965
966Firewalls and routes that were configured during cluster creation
967are also deleted.
968
969Other Google Compute Engine resources that might be in use by the cluster,
970such as load balancer resources, are not deleted if they weren't present
971when the cluster was initially created.
972
973Args:
974 name: string, The name (project, location, cluster) of the cluster to delete.
975Specified in the format 'projects/*/locations/*/clusters/*'. (required)
976 projectId: string, Deprecated. The Google Developers Console [project ID or project
977number](https://support.google.com/cloud/answer/6158840).
978This field has been deprecated and replaced by the name field.
979 clusterId: string, Deprecated. The name of the cluster to delete.
980This field has been deprecated and replaced by the name field.
981 zone: string, Deprecated. The name of the Google Compute Engine
982[zone](/compute/docs/zones#available) in which the cluster
983resides.
984This field has been deprecated and replaced by the name field.
985 x__xgafv: string, V1 error format.
986 Allowed values
987 1 - v1 error format
988 2 - v2 error format
989
990Returns:
991 An object of the form:
992
993 { # This operation resource represents operations that may have happened or are
994 # happening on the cluster. All fields are output only.
995 "status": "A String", # The current status of the operation.
996 "selfLink": "A String", # Server-defined URL for the resource.
997 "name": "A String", # The server-assigned ID for the operation.
998 "zone": "A String", # The name of the Google Compute Engine
999 # [zone](/compute/docs/zones#available) in which the operation
1000 # is taking place.
1001 # This field is deprecated, use location instead.
1002 "startTime": "A String", # [Output only] The time the operation started, in
1003 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1004 "detail": "A String", # Detailed operation progress, if available.
1005 "operationType": "A String", # The operation type.
1006 "targetLink": "A String", # Server-defined URL for the target of the operation.
1007 "location": "A String", # [Output only] The name of the Google Compute Engine
1008 # [zone](/compute/docs/regions-zones/regions-zones#available) or
1009 # [region](/compute/docs/regions-zones/regions-zones#available) in which
1010 # the cluster resides.
1011 "nodepoolConditions": [ # Which conditions caused the current node pool state.
1012 { # StatusCondition describes why a cluster or a node pool has a certain status
1013 # (e.g., ERROR or DEGRADED).
1014 "message": "A String", # Human-friendly representation of the condition
1015 "code": "A String", # Machine-friendly representation of the condition
1016 },
1017 ],
1018 "endTime": "A String", # [Output only] The time the operation completed, in
1019 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1020 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
1021 "clusterConditions": [ # Which conditions caused the current cluster state.
1022 { # StatusCondition describes why a cluster or a node pool has a certain status
1023 # (e.g., ERROR or DEGRADED).
1024 "message": "A String", # Human-friendly representation of the condition
1025 "code": "A String", # Machine-friendly representation of the condition
1026 },
1027 ],
1028 }</pre>
1029</div>
1030
1031<div class="method">
1032 <code class="details" id="get">get(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</code>
1033 <pre>Gets the details of a specific cluster.
1034
1035Args:
1036 name: string, The name (project, location, cluster) of the cluster to retrieve.
1037Specified in the format 'projects/*/locations/*/clusters/*'. (required)
1038 projectId: string, Deprecated. The Google Developers Console [project ID or project
1039number](https://support.google.com/cloud/answer/6158840).
1040This field has been deprecated and replaced by the name field.
1041 clusterId: string, Deprecated. The name of the cluster to retrieve.
1042This field has been deprecated and replaced by the name field.
1043 zone: string, Deprecated. The name of the Google Compute Engine
1044[zone](/compute/docs/zones#available) in which the cluster
1045resides.
1046This field has been deprecated and replaced by the name field.
1047 x__xgafv: string, V1 error format.
1048 Allowed values
1049 1 - v1 error format
1050 2 - v2 error format
1051
1052Returns:
1053 An object of the form:
1054
1055 { # A Google Kubernetes Engine cluster.
1056 "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
1057 # containers. This is provisioned from within the `container_ipv4_cidr`
1058 # range. This field will only be set when cluster is in route-based network
1059 # mode.
1060 "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
1061 "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
1062 "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
1063 "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
1064 # smallest possible in the given scenario.
1065 # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
1066 # format "PTnHnMnS".
1067 "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
1068 # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
1069 # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
1070 },
1071 },
1072 },
1073 "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
1074 # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
1075 "enabled": True or False, # Whether network policy is enabled on the cluster.
1076 "provider": "A String", # The selected network policy provider.
1077 },
1078 "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
1079 # master authorized networks will disallow all external traffic to access
1080 # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
1081 # Google Compute Engine Public IPs and Google Prod IPs.
1082 "enabled": True or False, # Whether or not master authorized networks is enabled.
1083 "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
1084 # Kubernetes master through HTTPS.
1085 { # CidrBlock contains an optional name and one CIDR block.
1086 "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
1087 "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
1088 },
1089 ],
1090 },
1091 "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
1092 # cluster, enabling additional functionality.
1093 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
1094 # makes it easy to set up HTTP load balancers for services in a cluster.
1095 # which makes it easy to set up HTTP load balancers for services in a cluster.
1096 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
1097 # When enabled, it runs a small pod in the cluster that manages the load
1098 # balancers.
1099 },
1100 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
1101 # is enabled or not on the Master, it does not track whether network policy
1102 # is enabled for the nodes.
1103 # is enabled or not on the Master, it does not track whether network policy
1104 # is enabled for the nodes.
1105 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
1106 },
1107 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
1108 # This addon is deprecated, and will be disabled in 1.15. It is recommended
1109 # to use the Cloud Console to manage and monitor your Kubernetes clusters,
1110 # workloads and applications. For more information, see:
1111 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
1112 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
1113 },
1114 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
1115 # increases or decreases the number of replica pods a replication controller
1116 # has based on the resource usage of the existing pods.
1117 # increases or decreases the number of replica pods a replication controller
1118 # has based on the resource usage of the existing pods.
1119 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
1120 # When enabled, it ensures that a Heapster pod is running in the cluster,
1121 # which is also used by the Cloud Monitoring service.
1122 },
1123 },
1124 "locations": [ # The list of Google Compute Engine
1125 # [zones](/compute/docs/zones#available) in which the cluster's nodes
1126 # should be located.
1127 "A String",
1128 ],
1129 "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
1130 # API groups (e.g. v1alpha1) and features that may not be production ready in
1131 # the kubernetes version of the master and nodes.
1132 # The cluster has no SLA for uptime and master/node upgrades are disabled.
1133 # Alpha enabled clusters are automatically deleted thirty days after
1134 # creation.
1135 "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
1136 # simultaneously on a node in the node pool of this cluster. Only honored
1137 # if cluster created with IP Alias support.
1138 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
1139 },
1140 "network": "A String", # The name of the Google Compute Engine
1141 # [network](/compute/docs/networks-and-firewalls#networks) to which the
1142 # cluster is connected. If left unspecified, the `default` network
1143 # will be used.
1144 "zone": "A String", # [Output only] The name of the Google Compute Engine
1145 # [zone](/compute/docs/zones#available) in which the cluster
1146 # resides.
1147 # This field is deprecated, use location instead.
1148 "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
1149 "A String",
1150 ],
1151 "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
1152 "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
1153 # [subnetwork](/compute/docs/vpc) to which the cluster is connected.
1154 # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
1155 "network": "A String", # Output only. The relative name of the Google Compute Engine
1156 # network(/compute/docs/networks-and-firewalls#networks) to which
1157 # the cluster is connected.
1158 # Example: projects/my-project/global/networks/my-network
1159 },
1160 "name": "A String", # The name of this cluster. The name must be unique within this project
1161 # and zone, and can be up to 40 characters with the following restrictions:
1162 #
1163 # * Lowercase letters, numbers, and hyphens only.
1164 # * Must start with a letter.
1165 # * Must end with a number or a letter.
1166 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
1167 "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
1168 "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
1169 "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
1170 # block. The secondary range will be used for pod IP
1171 # addresses. This must be an existing secondary range associated
1172 # with the cluster subnetwork.
1173 #
1174 # This field is only applicable with use_ip_aliases is true and
1175 # create_subnetwork is false.
1176 "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
1177 # `cluster.cluster_ipv4_cidr` must be left blank.
1178 #
1179 # This field is only applicable when `use_ip_aliases` is true.
1180 #
1181 # Set to blank to have a range chosen with the default size.
1182 #
1183 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1184 # netmask.
1185 #
1186 # Set to a
1187 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1188 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1189 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1190 # to use.
1191 "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
1192 # will be automatically chosen with the default size.
1193 #
1194 # This field is only applicable when `use_ip_aliases` is true.
1195 #
1196 # Set to blank to have a range chosen with the default size.
1197 #
1198 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1199 # netmask.
1200 #
1201 # Set to a
1202 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1203 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1204 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1205 # to use.
1206 "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
1207 #
1208 # This field is only applicable when `use_ip_aliases` is true.
1209 "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
1210 #
1211 # This is applicable only if `create_subnetwork` is true.
1212 #
1213 # Set to blank to have a range chosen with the default size.
1214 #
1215 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1216 # netmask.
1217 #
1218 # Set to a
1219 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1220 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1221 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1222 # to use.
1223 "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
1224 # range will be automatically chosen with the default size.
1225 #
1226 # This field is only applicable when `use_ip_aliases` is true.
1227 #
1228 # If unspecified, the range will use the default size.
1229 #
1230 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1231 # netmask.
1232 #
1233 # Set to a
1234 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1235 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1236 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1237 # to use.
1238 "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
1239 "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If
1240 # this field is empty, then an automatic name will be chosen for the new
1241 # subnetwork.
1242 "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
1243 # CIDR block. The secondary range will be used for service
1244 # ClusterIPs. This must be an existing secondary range associated
1245 # with the cluster subnetwork.
1246 #
1247 # This field is only applicable with use_ip_aliases is true and
1248 # create_subnetwork is false.
1249 "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
1250 },
1251 "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
1252 # disabled when this config is unspecified.
1253 "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
1254 "datasetId": "A String", # The ID of a BigQuery Dataset.
1255 },
1256 "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
1257 # daemonset will be created in the cluster to meter network egress traffic.
1258 "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
1259 "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
1260 # second BigQuery table will be created to hold resource consumption
1261 # records.
1262 },
1263 },
1264 "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
1265 "conditions": [ # Which conditions caused the current cluster state.
1266 { # StatusCondition describes why a cluster or a node pool has a certain status
1267 # (e.g., ERROR or DEGRADED).
1268 "message": "A String", # Human-friendly representation of the condition
1269 "code": "A String", # Machine-friendly representation of the condition
1270 },
1271 ],
1272 "statusMessage": "A String", # [Output only] Additional information about the current status of this
1273 # cluster, if available.
1274 "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
1275 # this cluster, in
1276 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1277 # notation (e.g. `1.2.3.4/29`). Service addresses are
1278 # typically put in the last `/16` from the container CIDR.
1279 "status": "A String", # [Output only] The current status of this cluster.
1280 "description": "A String", # An optional description of this cluster.
1281 "currentNodeVersion": "A String", # [Output only] Deprecated, use
1282 # [NodePools.version](/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePools)
1283 # instead. The current version of the node software components. If they are
1284 # currently at multiple versions because they're in the process of being
1285 # upgraded, this reflects the minimum version of all nodes.
1286 "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
1287 "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
1288 "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
1289 # If unspecified, the defaults are used:
1290 # For clusters before v1.12, if master_auth is unspecified, `username` will
1291 # be set to "admin", a random password will be generated, and a client
1292 # certificate will be issued.
1293 # Authentication can be done using HTTP basic auth or using client
1294 # certificates.
1295 "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
1296 # For clusters v1.6.0 and later, basic authentication can be disabled by
1297 # leaving username unspecified (or setting it to the empty string).
1298 "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
1299 # to the cluster endpoint.
1300 "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
1301 # authenticate to the cluster endpoint.
1302 "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
1303 # clusters before v1.12, if no configuration is specified, a client
1304 # certificate is issued.
1305 "issueClientCertificate": True or False, # Issue a client certificate.
1306 },
1307 "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
1308 # Because the master endpoint is open to the Internet, you should create a
1309 # strong password. If a password is provided for cluster creation, username
1310 # must be non-empty.
1311 "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
1312 # trust for the cluster.
1313 },
1314 "expireTime": "A String", # [Output only] The time the cluster will be automatically
1315 # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1316 "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
1317 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1318 # notation (e.g. `1.2.3.4/29`).
1319 "nodePools": [ # The node pools associated with this cluster.
1320 # This field should not be set if "node_config" or "initial_node_count" are
1321 # specified.
1322 { # NodePool contains the name and configuration for a cluster's node pool.
1323 # Node pools are a set of nodes (i.e. VM's), with a common configuration and
1324 # specification, under the control of the cluster master. They may have a set
1325 # of Kubernetes labels applied to them, which may be used to reference them
1326 # during pod scheduling. They may also be resized up or down, to accommodate
1327 # the workload.
1328 "status": "A String", # [Output only] The status of the nodes in this pool instance.
1329 "statusMessage": "A String", # [Output only] Additional information about the current status of this
1330 # node pool instance, if available.
1331 "name": "A String", # The name of the node pool.
1332 "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
1333 # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
1334 # associated with this node pool.
1335 "A String",
1336 ],
1337 "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
1338 # only if a valid configuration is present.
1339 # adjust the size of the node pool to the current cluster usage.
1340 "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
1341 # max_node_count.
1342 "enabled": True or False, # Is autoscaling enabled for this node pool.
1343 "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
1344 # has to enough quota to scale up the cluster.
1345 },
1346 "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
1347 # simultaneously on a node in the node pool.
1348 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
1349 },
1350 "version": "A String", # The version of the Kubernetes of this node.
1351 "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
1352 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
1353 # is sufficient for this number of instances. You must also have available
1354 # firewall and routes quota.
1355 "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
1356 "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
1357 # node pool.
1358 "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node
1359 # pool. If enabled, the nodes in this node pool will be monitored and, if
1360 # they fail health checks too many times, an automatic repair action will be
1361 # triggered.
1362 "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
1363 # the Auto Upgrades will proceed.
1364 "description": "A String", # [Output only] This field is set when upgrades are about to commence
1365 # with the description of the upgrade.
1366 "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
1367 # with the approximate start time for the upgrades, in
1368 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1369 },
1370 "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
1371 # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
1372 # up to date with the latest release version of Kubernetes.
1373 },
1374 "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
1375 "taints": [ # List of kubernetes taints to be applied to each node.
1376 #
1377 # For more information, including usage and the valid values, see:
1378 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1379 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
1380 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
1381 #
1382 # For more information, including usage and the valid values, see:
1383 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1384 "key": "A String", # Key for taint.
1385 "effect": "A String", # Effect for taint.
1386 "value": "A String", # Value for taint.
1387 },
1388 ],
1389 "machineType": "A String", # The name of a Google Compute Engine [machine
1390 # type](/compute/docs/machine-types) (e.g.
1391 # `n1-standard-1`).
1392 #
1393 # If unspecified, the default machine type is
1394 # `n1-standard-1`.
1395 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
1396 # valid sources or targets for network firewalls and are specified by
1397 # the client during cluster or node pool creation. Each tag within the list
1398 # must comply with RFC1035.
1399 "A String",
1400 ],
1401 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
1402 # https://cloud.google.com/compute/docs/instances/preemptible for more
1403 # information about preemptible VM instances.
1404 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
1405 # These will added in addition to any default label(s) that
1406 # Kubernetes may apply to the node.
1407 # In case of conflict in label keys, the applied set may differ depending on
1408 # the Kubernetes version -- it's best to assume the behavior is undefined
1409 # and conflicts should be avoided.
1410 # For more information, including usage and the valid values, see:
1411 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1412 "a_key": "A String",
1413 },
1414 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
1415 # no Service Account is specified, the "default" service account is used.
1416 "oauthScopes": [ # The set of Google API scopes to be made available on all of the
1417 # node VMs under the "default" service account.
1418 #
1419 # The following scopes are recommended, but not required, and by default are
1420 # not included:
1421 #
1422 # * `https://www.googleapis.com/auth/compute` is required for mounting
1423 # persistent storage on your nodes.
1424 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
1425 # communicating with **gcr.io**
1426 # (the [Google Container Registry](/container-registry/)).
1427 #
1428 # If unspecified, no scopes are added, unless Cloud Logging or Cloud
1429 # Monitoring are enabled, in which case their required scopes will be added.
1430 "A String",
1431 ],
1432 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
1433 #
1434 # If unspecified, the default disk type is 'pd-standard'
1435 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
1436 # The smallest allowed disk size is 10GB.
1437 #
1438 # If unspecified, the default disk size is 100GB.
1439 "accelerators": [ # A list of hardware accelerators to be attached to each node.
1440 # See https://cloud.google.com/compute/docs/gpus for more information about
1441 # support for GPUs.
1442 { # AcceleratorConfig represents a Hardware Accelerator request.
1443 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
1444 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
1445 # [here](/compute/docs/gpus/#Introduction)
1446 },
1447 ],
1448 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
1449 # scheduled on the specified or newer CPU platform. Applicable values are the
1450 # friendly names of CPU platforms, such as
1451 # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
1452 # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
1453 # information, read [how to specify min CPU
1454 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
1455 "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
1456 #
1457 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
1458 # in length. These are reflected as part of a URL in the metadata server.
1459 # Additionally, to avoid ambiguity, keys must not conflict with any other
1460 # metadata keys for the project or be one of the reserved keys:
1461 # "cluster-location"
1462 # "cluster-name"
1463 # "cluster-uid"
1464 # "configure-sh"
1465 # "containerd-configure-sh"
1466 # "enable-os-login"
1467 # "gci-update-strategy"
1468 # "gci-ensure-gke-docker"
1469 # "instance-template"
1470 # "kube-env"
1471 # "startup-script"
1472 # "user-data"
1473 # "disable-address-manager"
1474 # "windows-startup-script-ps1"
1475 # "common-psm1"
1476 # "k8s-node-setup-psm1"
1477 # "install-ssh-psm1"
1478 # "user-profile-psm1"
1479 # "serial-port-logging-enable"
1480 #
1481 # Values are free-form strings, and only have meaning as interpreted by
1482 # the image running in the instance. The only restriction placed on them is
1483 # that each value's size must be less than or equal to 32 KB.
1484 #
1485 # The total size of all keys and values must be less than 512 KB.
1486 "a_key": "A String",
1487 },
1488 "imageType": "A String", # The image type to use for this node. Note that for a given image type,
1489 # the latest version of it will be used.
1490 "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
1491 #
1492 # The limit for this value is dependant upon the maximum number of
1493 # disks available on a machine per zone. See:
1494 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
1495 # for more information.
1496 },
1497 "conditions": [ # Which conditions caused the current node pool state.
1498 { # StatusCondition describes why a cluster or a node pool has a certain status
1499 # (e.g., ERROR or DEGRADED).
1500 "message": "A String", # Human-friendly representation of the condition
1501 "code": "A String", # Machine-friendly representation of the condition
1502 },
1503 ],
1504 "selfLink": "A String", # [Output only] Server-defined URL for the resource.
1505 },
1506 ],
1507 "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
1508 # Currently available options:
1509 #
1510 # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
1511 # * `none` - no metrics will be exported from the cluster.
1512 # * if left as an empty string, `monitoring.googleapis.com` will be used.
1513 "createTime": "A String", # [Output only] The time the cluster was created, in
1514 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1515 "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
1516 # mode.
1517 "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
1518 # identities in the system, including service accounts, nodes, and
1519 # controllers, will have statically granted permissions beyond those
1520 # provided by the RBAC configuration or IAM.
1521 },
1522 "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
1523 "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
1524 "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
1525 # range will be used for assigning internal IP addresses to the master or
1526 # set of masters, as well as the ILB VIP. This range must not overlap with
1527 # any other ranges in use within the cluster's network.
1528 "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
1529 "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
1530 "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
1531 # given only RFC 1918 private addresses and communicate with the master via
1532 # private networking.
1533 },
1534 "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
1535 # The endpoint can be accessed from the internet at
1536 # `https://username:password@endpoint/`.
1537 #
1538 # See the `masterAuth` property of this resource for username and
1539 # password information.
1540 "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated.
1541 # Call Kubernetes API directly to retrieve node information.
1542 "loggingService": "A String", # The logging service the cluster should use to write logs.
1543 # Currently available options:
1544 #
1545 # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
1546 # service with Kubernetes-native resource model in Stackdriver
1547 # * `logging.googleapis.com` - the Google Cloud Logging service.
1548 # * `none` - no logs will be exported from the cluster.
1549 # * if left as an empty string,`logging.googleapis.com` will be used.
1550 "location": "A String", # [Output only] The name of the Google Compute Engine
1551 # [zone](/compute/docs/regions-zones/regions-zones#available) or
1552 # [region](/compute/docs/regions-zones/regions-zones#available) in which
1553 # the cluster resides.
1554 "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those
1555 # found in validMasterVersions returned by getServerConfig. The version can
1556 # be upgraded over time; such upgrades are reflected in
1557 # currentMasterVersion and currentNodeVersion.
1558 #
1559 # Users may specify either explicit versions offered by
1560 # Kubernetes Engine or version aliases, which have the following behavior:
1561 #
1562 # - "latest": picks the highest valid Kubernetes version
1563 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
1564 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
1565 # - "1.X.Y-gke.N": picks an explicit Kubernetes version
1566 # - "","-": picks the default Kubernetes version
1567 "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
1568 # For requests, this field should only be used in lieu of a
1569 # "node_pool" object, since this configuration (along with the
1570 # "initial_node_count") will be used to create a "NodePool" object with an
1571 # auto-generated name. Do not use this and a node_pool at the same time.
1572 # For responses, this field will be populated with the node configuration of
1573 # the first node pool. (For configuration of each node pool, see
1574 # `node_pool.config`)
1575 #
1576 # If unspecified, the defaults are used.
1577 # This field is deprecated, use node_pool.config instead.
1578 "taints": [ # List of kubernetes taints to be applied to each node.
1579 #
1580 # For more information, including usage and the valid values, see:
1581 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1582 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
1583 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
1584 #
1585 # For more information, including usage and the valid values, see:
1586 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1587 "key": "A String", # Key for taint.
1588 "effect": "A String", # Effect for taint.
1589 "value": "A String", # Value for taint.
1590 },
1591 ],
1592 "machineType": "A String", # The name of a Google Compute Engine [machine
1593 # type](/compute/docs/machine-types) (e.g.
1594 # `n1-standard-1`).
1595 #
1596 # If unspecified, the default machine type is
1597 # `n1-standard-1`.
1598 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
1599 # valid sources or targets for network firewalls and are specified by
1600 # the client during cluster or node pool creation. Each tag within the list
1601 # must comply with RFC1035.
1602 "A String",
1603 ],
1604 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
1605 # https://cloud.google.com/compute/docs/instances/preemptible for more
1606 # information about preemptible VM instances.
1607 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
1608 # These will added in addition to any default label(s) that
1609 # Kubernetes may apply to the node.
1610 # In case of conflict in label keys, the applied set may differ depending on
1611 # the Kubernetes version -- it's best to assume the behavior is undefined
1612 # and conflicts should be avoided.
1613 # For more information, including usage and the valid values, see:
1614 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1615 "a_key": "A String",
1616 },
1617 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
1618 # no Service Account is specified, the "default" service account is used.
1619 "oauthScopes": [ # The set of Google API scopes to be made available on all of the
1620 # node VMs under the "default" service account.
1621 #
1622 # The following scopes are recommended, but not required, and by default are
1623 # not included:
1624 #
1625 # * `https://www.googleapis.com/auth/compute` is required for mounting
1626 # persistent storage on your nodes.
1627 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
1628 # communicating with **gcr.io**
1629 # (the [Google Container Registry](/container-registry/)).
1630 #
1631 # If unspecified, no scopes are added, unless Cloud Logging or Cloud
1632 # Monitoring are enabled, in which case their required scopes will be added.
1633 "A String",
1634 ],
1635 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
1636 #
1637 # If unspecified, the default disk type is 'pd-standard'
1638 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
1639 # The smallest allowed disk size is 10GB.
1640 #
1641 # If unspecified, the default disk size is 100GB.
1642 "accelerators": [ # A list of hardware accelerators to be attached to each node.
1643 # See https://cloud.google.com/compute/docs/gpus for more information about
1644 # support for GPUs.
1645 { # AcceleratorConfig represents a Hardware Accelerator request.
1646 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
1647 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
1648 # [here](/compute/docs/gpus/#Introduction)
1649 },
1650 ],
1651 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
1652 # scheduled on the specified or newer CPU platform. Applicable values are the
1653 # friendly names of CPU platforms, such as
1654 # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
1655 # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
1656 # information, read [how to specify min CPU
1657 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
1658 "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
1659 #
1660 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
1661 # in length. These are reflected as part of a URL in the metadata server.
1662 # Additionally, to avoid ambiguity, keys must not conflict with any other
1663 # metadata keys for the project or be one of the reserved keys:
1664 # "cluster-location"
1665 # "cluster-name"
1666 # "cluster-uid"
1667 # "configure-sh"
1668 # "containerd-configure-sh"
1669 # "enable-os-login"
1670 # "gci-update-strategy"
1671 # "gci-ensure-gke-docker"
1672 # "instance-template"
1673 # "kube-env"
1674 # "startup-script"
1675 # "user-data"
1676 # "disable-address-manager"
1677 # "windows-startup-script-ps1"
1678 # "common-psm1"
1679 # "k8s-node-setup-psm1"
1680 # "install-ssh-psm1"
1681 # "user-profile-psm1"
1682 # "serial-port-logging-enable"
1683 #
1684 # Values are free-form strings, and only have meaning as interpreted by
1685 # the image running in the instance. The only restriction placed on them is
1686 # that each value's size must be less than or equal to 32 KB.
1687 #
1688 # The total size of all keys and values must be less than 512 KB.
1689 "a_key": "A String",
1690 },
1691 "imageType": "A String", # The image type to use for this node. Note that for a given image type,
1692 # the latest version of it will be used.
1693 "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
1694 #
1695 # The limit for this value is dependant upon the maximum number of
1696 # disks available on a machine per zone. See:
1697 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
1698 # for more information.
1699 },
1700 "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
1701 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1702 # notation (e.g. `10.96.0.0/14`). Leave blank to have
1703 # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
1704 "subnetwork": "A String", # The name of the Google Compute Engine
1705 # [subnetwork](/compute/docs/subnetworks) to which the
1706 # cluster is connected.
1707 "resourceLabels": { # The resource labels for the cluster to use to annotate any related
1708 # Google Compute Engine resources.
1709 "a_key": "A String",
1710 },
1711 "selfLink": "A String", # [Output only] Server-defined URL for the resource.
1712 "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
1713 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
1714 # is sufficient for this number of instances. You must also have available
1715 # firewall and routes quota.
1716 # For requests, this field should only be used in lieu of a
1717 # "node_pool" object, since this configuration (along with the
1718 # "node_config") will be used to create a "NodePool" object with an
1719 # auto-generated name. Do not use this and a node_pool at the same time.
1720 #
1721 # This field is deprecated, use node_pool.initial_node_count instead.
1722 }</pre>
1723</div>
1724
1725<div class="method">
1726 <code class="details" id="getJwks">getJwks(parent, x__xgafv=None)</code>
1727 <pre>Gets the public component of the cluster signing keys in
1728JSON Web Key format.
1729This API is not yet intended for general use, and is not available for all
1730clusters.
1731
1732Args:
1733 parent: string, The cluster (project, location, cluster id) to get keys for. Specified in
1734the format 'projects/*/locations/*/clusters/*'. (required)
1735 x__xgafv: string, V1 error format.
1736 Allowed values
1737 1 - v1 error format
1738 2 - v2 error format
1739
1740Returns:
1741 An object of the form:
1742
1743 { # GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517
1744 "keys": [ # The public component of the keys used by the cluster to sign token
1745 # requests.
1746 { # Jwk is a JSON Web Key as specified in RFC 7517
1747 "crv": "A String", # Used for ECDSA keys.
1748 "use": "A String", # Permitted uses for the public keys.
1749 "e": "A String", # Used for RSA keys.
1750 "kty": "A String", # Key Type.
1751 "alg": "A String", # Algorithm.
1752 "n": "A String", # Used for RSA keys.
1753 "y": "A String", # Used for ECDSA keys.
1754 "x": "A String", # Used for ECDSA keys.
1755 "kid": "A String", # Key ID.
1756 },
1757 ],
1758 }</pre>
1759</div>
1760
1761<div class="method">
1762 <code class="details" id="list">list(parent, projectId=None, zone=None, x__xgafv=None)</code>
1763 <pre>Lists all clusters owned by a project in either the specified zone or all
1764zones.
1765
1766Args:
1767 parent: string, The parent (project and location) where the clusters will be listed.
1768Specified in the format 'projects/*/locations/*'.
1769Location "-" matches all zones and all regions. (required)
1770 projectId: string, Deprecated. The Google Developers Console [project ID or project
1771number](https://support.google.com/cloud/answer/6158840).
1772This field has been deprecated and replaced by the parent field.
1773 zone: string, Deprecated. The name of the Google Compute Engine
1774[zone](/compute/docs/zones#available) in which the cluster
1775resides, or "-" for all zones.
1776This field has been deprecated and replaced by the parent field.
1777 x__xgafv: string, V1 error format.
1778 Allowed values
1779 1 - v1 error format
1780 2 - v2 error format
1781
1782Returns:
1783 An object of the form:
1784
1785 { # ListClustersResponse is the result of ListClustersRequest.
1786 "clusters": [ # A list of clusters in the project in the specified zone, or
1787 # across all ones.
1788 { # A Google Kubernetes Engine cluster.
1789 "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
1790 # containers. This is provisioned from within the `container_ipv4_cidr`
1791 # range. This field will only be set when cluster is in route-based network
1792 # mode.
1793 "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
1794 "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
1795 "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
1796 "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
1797 # smallest possible in the given scenario.
1798 # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
1799 # format "PTnHnMnS".
1800 "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
1801 # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
1802 # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
1803 },
1804 },
1805 },
1806 "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
1807 # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
1808 "enabled": True or False, # Whether network policy is enabled on the cluster.
1809 "provider": "A String", # The selected network policy provider.
1810 },
1811 "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
1812 # master authorized networks will disallow all external traffic to access
1813 # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
1814 # Google Compute Engine Public IPs and Google Prod IPs.
1815 "enabled": True or False, # Whether or not master authorized networks is enabled.
1816 "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
1817 # Kubernetes master through HTTPS.
1818 { # CidrBlock contains an optional name and one CIDR block.
1819 "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
1820 "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
1821 },
1822 ],
1823 },
1824 "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
1825 # cluster, enabling additional functionality.
1826 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
1827 # makes it easy to set up HTTP load balancers for services in a cluster.
1828 # which makes it easy to set up HTTP load balancers for services in a cluster.
1829 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
1830 # When enabled, it runs a small pod in the cluster that manages the load
1831 # balancers.
1832 },
1833 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
1834 # is enabled or not on the Master, it does not track whether network policy
1835 # is enabled for the nodes.
1836 # is enabled or not on the Master, it does not track whether network policy
1837 # is enabled for the nodes.
1838 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
1839 },
1840 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
1841 # This addon is deprecated, and will be disabled in 1.15. It is recommended
1842 # to use the Cloud Console to manage and monitor your Kubernetes clusters,
1843 # workloads and applications. For more information, see:
1844 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
1845 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
1846 },
1847 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
1848 # increases or decreases the number of replica pods a replication controller
1849 # has based on the resource usage of the existing pods.
1850 # increases or decreases the number of replica pods a replication controller
1851 # has based on the resource usage of the existing pods.
1852 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
1853 # When enabled, it ensures that a Heapster pod is running in the cluster,
1854 # which is also used by the Cloud Monitoring service.
1855 },
1856 },
1857 "locations": [ # The list of Google Compute Engine
1858 # [zones](/compute/docs/zones#available) in which the cluster's nodes
1859 # should be located.
1860 "A String",
1861 ],
1862 "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
1863 # API groups (e.g. v1alpha1) and features that may not be production ready in
1864 # the kubernetes version of the master and nodes.
1865 # The cluster has no SLA for uptime and master/node upgrades are disabled.
1866 # Alpha enabled clusters are automatically deleted thirty days after
1867 # creation.
1868 "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
1869 # simultaneously on a node in the node pool of this cluster. Only honored
1870 # if cluster created with IP Alias support.
1871 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
1872 },
1873 "network": "A String", # The name of the Google Compute Engine
1874 # [network](/compute/docs/networks-and-firewalls#networks) to which the
1875 # cluster is connected. If left unspecified, the `default` network
1876 # will be used.
1877 "zone": "A String", # [Output only] The name of the Google Compute Engine
1878 # [zone](/compute/docs/zones#available) in which the cluster
1879 # resides.
1880 # This field is deprecated, use location instead.
1881 "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
1882 "A String",
1883 ],
1884 "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
1885 "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
1886 # [subnetwork](/compute/docs/vpc) to which the cluster is connected.
1887 # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
1888 "network": "A String", # Output only. The relative name of the Google Compute Engine
1889 # network(/compute/docs/networks-and-firewalls#networks) to which
1890 # the cluster is connected.
1891 # Example: projects/my-project/global/networks/my-network
1892 },
1893 "name": "A String", # The name of this cluster. The name must be unique within this project
1894 # and zone, and can be up to 40 characters with the following restrictions:
1895 #
1896 # * Lowercase letters, numbers, and hyphens only.
1897 # * Must start with a letter.
1898 # * Must end with a number or a letter.
1899 "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
1900 "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
1901 "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
1902 "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
1903 # block. The secondary range will be used for pod IP
1904 # addresses. This must be an existing secondary range associated
1905 # with the cluster subnetwork.
1906 #
1907 # This field is only applicable with use_ip_aliases is true and
1908 # create_subnetwork is false.
1909 "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
1910 # `cluster.cluster_ipv4_cidr` must be left blank.
1911 #
1912 # This field is only applicable when `use_ip_aliases` is true.
1913 #
1914 # Set to blank to have a range chosen with the default size.
1915 #
1916 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1917 # netmask.
1918 #
1919 # Set to a
1920 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1921 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1922 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1923 # to use.
1924 "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
1925 # will be automatically chosen with the default size.
1926 #
1927 # This field is only applicable when `use_ip_aliases` is true.
1928 #
1929 # Set to blank to have a range chosen with the default size.
1930 #
1931 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1932 # netmask.
1933 #
1934 # Set to a
1935 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1936 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1937 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1938 # to use.
1939 "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
1940 #
1941 # This field is only applicable when `use_ip_aliases` is true.
1942 "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
1943 #
1944 # This is applicable only if `create_subnetwork` is true.
1945 #
1946 # Set to blank to have a range chosen with the default size.
1947 #
1948 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1949 # netmask.
1950 #
1951 # Set to a
1952 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1953 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1954 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1955 # to use.
1956 "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
1957 # range will be automatically chosen with the default size.
1958 #
1959 # This field is only applicable when `use_ip_aliases` is true.
1960 #
1961 # If unspecified, the range will use the default size.
1962 #
1963 # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1964 # netmask.
1965 #
1966 # Set to a
1967 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1968 # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1969 # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1970 # to use.
1971 "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
1972 "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true. If
1973 # this field is empty, then an automatic name will be chosen for the new
1974 # subnetwork.
1975 "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
1976 # CIDR block. The secondary range will be used for service
1977 # ClusterIPs. This must be an existing secondary range associated
1978 # with the cluster subnetwork.
1979 #
1980 # This field is only applicable with use_ip_aliases is true and
1981 # create_subnetwork is false.
1982 "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
1983 },
1984 "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
1985 # disabled when this config is unspecified.
1986 "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
1987 "datasetId": "A String", # The ID of a BigQuery Dataset.
1988 },
1989 "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
1990 # daemonset will be created in the cluster to meter network egress traffic.
1991 "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
1992 "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
1993 # second BigQuery table will be created to hold resource consumption
1994 # records.
1995 },
1996 },
1997 "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
1998 "conditions": [ # Which conditions caused the current cluster state.
1999 { # StatusCondition describes why a cluster or a node pool has a certain status
2000 # (e.g., ERROR or DEGRADED).
2001 "message": "A String", # Human-friendly representation of the condition
2002 "code": "A String", # Machine-friendly representation of the condition
2003 },
2004 ],
2005 "statusMessage": "A String", # [Output only] Additional information about the current status of this
2006 # cluster, if available.
2007 "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
2008 # this cluster, in
2009 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2010 # notation (e.g. `1.2.3.4/29`). Service addresses are
2011 # typically put in the last `/16` from the container CIDR.
2012 "status": "A String", # [Output only] The current status of this cluster.
2013 "description": "A String", # An optional description of this cluster.
2014 "currentNodeVersion": "A String", # [Output only] Deprecated, use
2015 # [NodePools.version](/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePools)
2016 # instead. The current version of the node software components. If they are
2017 # currently at multiple versions because they're in the process of being
2018 # upgraded, this reflects the minimum version of all nodes.
2019 "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
2020 "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
2021 "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
2022 # If unspecified, the defaults are used:
2023 # For clusters before v1.12, if master_auth is unspecified, `username` will
2024 # be set to "admin", a random password will be generated, and a client
2025 # certificate will be issued.
2026 # Authentication can be done using HTTP basic auth or using client
2027 # certificates.
2028 "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
2029 # For clusters v1.6.0 and later, basic authentication can be disabled by
2030 # leaving username unspecified (or setting it to the empty string).
2031 "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
2032 # to the cluster endpoint.
2033 "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
2034 # authenticate to the cluster endpoint.
2035 "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
2036 # clusters before v1.12, if no configuration is specified, a client
2037 # certificate is issued.
2038 "issueClientCertificate": True or False, # Issue a client certificate.
2039 },
2040 "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
2041 # Because the master endpoint is open to the Internet, you should create a
2042 # strong password. If a password is provided for cluster creation, username
2043 # must be non-empty.
2044 "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
2045 # trust for the cluster.
2046 },
2047 "expireTime": "A String", # [Output only] The time the cluster will be automatically
2048 # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2049 "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
2050 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2051 # notation (e.g. `1.2.3.4/29`).
2052 "nodePools": [ # The node pools associated with this cluster.
2053 # This field should not be set if "node_config" or "initial_node_count" are
2054 # specified.
2055 { # NodePool contains the name and configuration for a cluster's node pool.
2056 # Node pools are a set of nodes (i.e. VM's), with a common configuration and
2057 # specification, under the control of the cluster master. They may have a set
2058 # of Kubernetes labels applied to them, which may be used to reference them
2059 # during pod scheduling. They may also be resized up or down, to accommodate
2060 # the workload.
2061 "status": "A String", # [Output only] The status of the nodes in this pool instance.
2062 "statusMessage": "A String", # [Output only] Additional information about the current status of this
2063 # node pool instance, if available.
2064 "name": "A String", # The name of the node pool.
2065 "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
2066 # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
2067 # associated with this node pool.
2068 "A String",
2069 ],
2070 "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
2071 # only if a valid configuration is present.
2072 # adjust the size of the node pool to the current cluster usage.
2073 "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
2074 # max_node_count.
2075 "enabled": True or False, # Is autoscaling enabled for this node pool.
2076 "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
2077 # has to enough quota to scale up the cluster.
2078 },
2079 "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
2080 # simultaneously on a node in the node pool.
2081 "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
2082 },
2083 "version": "A String", # The version of the Kubernetes of this node.
2084 "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
2085 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
2086 # is sufficient for this number of instances. You must also have available
2087 # firewall and routes quota.
2088 "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
2089 "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
2090 # node pool.
2091 "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node
2092 # pool. If enabled, the nodes in this node pool will be monitored and, if
2093 # they fail health checks too many times, an automatic repair action will be
2094 # triggered.
2095 "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
2096 # the Auto Upgrades will proceed.
2097 "description": "A String", # [Output only] This field is set when upgrades are about to commence
2098 # with the description of the upgrade.
2099 "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
2100 # with the approximate start time for the upgrades, in
2101 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2102 },
2103 "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
2104 # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
2105 # up to date with the latest release version of Kubernetes.
2106 },
2107 "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
2108 "taints": [ # List of kubernetes taints to be applied to each node.
2109 #
2110 # For more information, including usage and the valid values, see:
2111 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2112 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
2113 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
2114 #
2115 # For more information, including usage and the valid values, see:
2116 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2117 "key": "A String", # Key for taint.
2118 "effect": "A String", # Effect for taint.
2119 "value": "A String", # Value for taint.
2120 },
2121 ],
2122 "machineType": "A String", # The name of a Google Compute Engine [machine
2123 # type](/compute/docs/machine-types) (e.g.
2124 # `n1-standard-1`).
2125 #
2126 # If unspecified, the default machine type is
2127 # `n1-standard-1`.
2128 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
2129 # valid sources or targets for network firewalls and are specified by
2130 # the client during cluster or node pool creation. Each tag within the list
2131 # must comply with RFC1035.
2132 "A String",
2133 ],
2134 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
2135 # https://cloud.google.com/compute/docs/instances/preemptible for more
2136 # information about preemptible VM instances.
2137 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
2138 # These will added in addition to any default label(s) that
2139 # Kubernetes may apply to the node.
2140 # In case of conflict in label keys, the applied set may differ depending on
2141 # the Kubernetes version -- it's best to assume the behavior is undefined
2142 # and conflicts should be avoided.
2143 # For more information, including usage and the valid values, see:
2144 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2145 "a_key": "A String",
2146 },
2147 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
2148 # no Service Account is specified, the "default" service account is used.
2149 "oauthScopes": [ # The set of Google API scopes to be made available on all of the
2150 # node VMs under the "default" service account.
2151 #
2152 # The following scopes are recommended, but not required, and by default are
2153 # not included:
2154 #
2155 # * `https://www.googleapis.com/auth/compute` is required for mounting
2156 # persistent storage on your nodes.
2157 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
2158 # communicating with **gcr.io**
2159 # (the [Google Container Registry](/container-registry/)).
2160 #
2161 # If unspecified, no scopes are added, unless Cloud Logging or Cloud
2162 # Monitoring are enabled, in which case their required scopes will be added.
2163 "A String",
2164 ],
2165 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
2166 #
2167 # If unspecified, the default disk type is 'pd-standard'
2168 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
2169 # The smallest allowed disk size is 10GB.
2170 #
2171 # If unspecified, the default disk size is 100GB.
2172 "accelerators": [ # A list of hardware accelerators to be attached to each node.
2173 # See https://cloud.google.com/compute/docs/gpus for more information about
2174 # support for GPUs.
2175 { # AcceleratorConfig represents a Hardware Accelerator request.
2176 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
2177 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
2178 # [here](/compute/docs/gpus/#Introduction)
2179 },
2180 ],
2181 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
2182 # scheduled on the specified or newer CPU platform. Applicable values are the
2183 # friendly names of CPU platforms, such as
2184 # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
2185 # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
2186 # information, read [how to specify min CPU
2187 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
2188 "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
2189 #
2190 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
2191 # in length. These are reflected as part of a URL in the metadata server.
2192 # Additionally, to avoid ambiguity, keys must not conflict with any other
2193 # metadata keys for the project or be one of the reserved keys:
2194 # "cluster-location"
2195 # "cluster-name"
2196 # "cluster-uid"
2197 # "configure-sh"
2198 # "containerd-configure-sh"
2199 # "enable-os-login"
2200 # "gci-update-strategy"
2201 # "gci-ensure-gke-docker"
2202 # "instance-template"
2203 # "kube-env"
2204 # "startup-script"
2205 # "user-data"
2206 # "disable-address-manager"
2207 # "windows-startup-script-ps1"
2208 # "common-psm1"
2209 # "k8s-node-setup-psm1"
2210 # "install-ssh-psm1"
2211 # "user-profile-psm1"
2212 # "serial-port-logging-enable"
2213 #
2214 # Values are free-form strings, and only have meaning as interpreted by
2215 # the image running in the instance. The only restriction placed on them is
2216 # that each value's size must be less than or equal to 32 KB.
2217 #
2218 # The total size of all keys and values must be less than 512 KB.
2219 "a_key": "A String",
2220 },
2221 "imageType": "A String", # The image type to use for this node. Note that for a given image type,
2222 # the latest version of it will be used.
2223 "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
2224 #
2225 # The limit for this value is dependant upon the maximum number of
2226 # disks available on a machine per zone. See:
2227 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
2228 # for more information.
2229 },
2230 "conditions": [ # Which conditions caused the current node pool state.
2231 { # StatusCondition describes why a cluster or a node pool has a certain status
2232 # (e.g., ERROR or DEGRADED).
2233 "message": "A String", # Human-friendly representation of the condition
2234 "code": "A String", # Machine-friendly representation of the condition
2235 },
2236 ],
2237 "selfLink": "A String", # [Output only] Server-defined URL for the resource.
2238 },
2239 ],
2240 "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
2241 # Currently available options:
2242 #
2243 # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
2244 # * `none` - no metrics will be exported from the cluster.
2245 # * if left as an empty string, `monitoring.googleapis.com` will be used.
2246 "createTime": "A String", # [Output only] The time the cluster was created, in
2247 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2248 "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
2249 # mode.
2250 "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
2251 # identities in the system, including service accounts, nodes, and
2252 # controllers, will have statically granted permissions beyond those
2253 # provided by the RBAC configuration or IAM.
2254 },
2255 "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
2256 "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
2257 "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
2258 # range will be used for assigning internal IP addresses to the master or
2259 # set of masters, as well as the ILB VIP. This range must not overlap with
2260 # any other ranges in use within the cluster's network.
2261 "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
2262 "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
2263 "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
2264 # given only RFC 1918 private addresses and communicate with the master via
2265 # private networking.
2266 },
2267 "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
2268 # The endpoint can be accessed from the internet at
2269 # `https://username:password@endpoint/`.
2270 #
2271 # See the `masterAuth` property of this resource for username and
2272 # password information.
2273 "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster. Deprecated.
2274 # Call Kubernetes API directly to retrieve node information.
2275 "loggingService": "A String", # The logging service the cluster should use to write logs.
2276 # Currently available options:
2277 #
2278 # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
2279 # service with Kubernetes-native resource model in Stackdriver
2280 # * `logging.googleapis.com` - the Google Cloud Logging service.
2281 # * `none` - no logs will be exported from the cluster.
2282 # * if left as an empty string,`logging.googleapis.com` will be used.
2283 "location": "A String", # [Output only] The name of the Google Compute Engine
2284 # [zone](/compute/docs/regions-zones/regions-zones#available) or
2285 # [region](/compute/docs/regions-zones/regions-zones#available) in which
2286 # the cluster resides.
2287 "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster. Valid versions are those
2288 # found in validMasterVersions returned by getServerConfig. The version can
2289 # be upgraded over time; such upgrades are reflected in
2290 # currentMasterVersion and currentNodeVersion.
2291 #
2292 # Users may specify either explicit versions offered by
2293 # Kubernetes Engine or version aliases, which have the following behavior:
2294 #
2295 # - "latest": picks the highest valid Kubernetes version
2296 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
2297 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
2298 # - "1.X.Y-gke.N": picks an explicit Kubernetes version
2299 # - "","-": picks the default Kubernetes version
2300 "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
2301 # For requests, this field should only be used in lieu of a
2302 # "node_pool" object, since this configuration (along with the
2303 # "initial_node_count") will be used to create a "NodePool" object with an
2304 # auto-generated name. Do not use this and a node_pool at the same time.
2305 # For responses, this field will be populated with the node configuration of
2306 # the first node pool. (For configuration of each node pool, see
2307 # `node_pool.config`)
2308 #
2309 # If unspecified, the defaults are used.
2310 # This field is deprecated, use node_pool.config instead.
2311 "taints": [ # List of kubernetes taints to be applied to each node.
2312 #
2313 # For more information, including usage and the valid values, see:
2314 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2315 { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
2316 # can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute.
2317 #
2318 # For more information, including usage and the valid values, see:
2319 # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2320 "key": "A String", # Key for taint.
2321 "effect": "A String", # Effect for taint.
2322 "value": "A String", # Value for taint.
2323 },
2324 ],
2325 "machineType": "A String", # The name of a Google Compute Engine [machine
2326 # type](/compute/docs/machine-types) (e.g.
2327 # `n1-standard-1`).
2328 #
2329 # If unspecified, the default machine type is
2330 # `n1-standard-1`.
2331 "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
2332 # valid sources or targets for network firewalls and are specified by
2333 # the client during cluster or node pool creation. Each tag within the list
2334 # must comply with RFC1035.
2335 "A String",
2336 ],
2337 "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
2338 # https://cloud.google.com/compute/docs/instances/preemptible for more
2339 # information about preemptible VM instances.
2340 "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
2341 # These will added in addition to any default label(s) that
2342 # Kubernetes may apply to the node.
2343 # In case of conflict in label keys, the applied set may differ depending on
2344 # the Kubernetes version -- it's best to assume the behavior is undefined
2345 # and conflicts should be avoided.
2346 # For more information, including usage and the valid values, see:
2347 # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2348 "a_key": "A String",
2349 },
2350 "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
2351 # no Service Account is specified, the "default" service account is used.
2352 "oauthScopes": [ # The set of Google API scopes to be made available on all of the
2353 # node VMs under the "default" service account.
2354 #
2355 # The following scopes are recommended, but not required, and by default are
2356 # not included:
2357 #
2358 # * `https://www.googleapis.com/auth/compute` is required for mounting
2359 # persistent storage on your nodes.
2360 # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
2361 # communicating with **gcr.io**
2362 # (the [Google Container Registry](/container-registry/)).
2363 #
2364 # If unspecified, no scopes are added, unless Cloud Logging or Cloud
2365 # Monitoring are enabled, in which case their required scopes will be added.
2366 "A String",
2367 ],
2368 "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
2369 #
2370 # If unspecified, the default disk type is 'pd-standard'
2371 "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
2372 # The smallest allowed disk size is 10GB.
2373 #
2374 # If unspecified, the default disk size is 100GB.
2375 "accelerators": [ # A list of hardware accelerators to be attached to each node.
2376 # See https://cloud.google.com/compute/docs/gpus for more information about
2377 # support for GPUs.
2378 { # AcceleratorConfig represents a Hardware Accelerator request.
2379 "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
2380 "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
2381 # [here](/compute/docs/gpus/#Introduction)
2382 },
2383 ],
2384 "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
2385 # scheduled on the specified or newer CPU platform. Applicable values are the
2386 # friendly names of CPU platforms, such as
2387 # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
2388 # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
2389 # information, read [how to specify min CPU
2390 # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
2391 "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
2392 #
2393 # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
2394 # in length. These are reflected as part of a URL in the metadata server.
2395 # Additionally, to avoid ambiguity, keys must not conflict with any other
2396 # metadata keys for the project or be one of the reserved keys:
2397 # "cluster-location"
2398 # "cluster-name"
2399 # "cluster-uid"
2400 # "configure-sh"
2401 # "containerd-configure-sh"
2402 # "enable-os-login"
2403 # "gci-update-strategy"
2404 # "gci-ensure-gke-docker"
2405 # "instance-template"
2406 # "kube-env"
2407 # "startup-script"
2408 # "user-data"
2409 # "disable-address-manager"
2410 # "windows-startup-script-ps1"
2411 # "common-psm1"
2412 # "k8s-node-setup-psm1"
2413 # "install-ssh-psm1"
2414 # "user-profile-psm1"
2415 # "serial-port-logging-enable"
2416 #
2417 # Values are free-form strings, and only have meaning as interpreted by
2418 # the image running in the instance. The only restriction placed on them is
2419 # that each value's size must be less than or equal to 32 KB.
2420 #
2421 # The total size of all keys and values must be less than 512 KB.
2422 "a_key": "A String",
2423 },
2424 "imageType": "A String", # The image type to use for this node. Note that for a given image type,
2425 # the latest version of it will be used.
2426 "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
2427 #
2428 # The limit for this value is dependant upon the maximum number of
2429 # disks available on a machine per zone. See:
2430 # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
2431 # for more information.
2432 },
2433 "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
2434 # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2435 # notation (e.g. `10.96.0.0/14`). Leave blank to have
2436 # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
2437 "subnetwork": "A String", # The name of the Google Compute Engine
2438 # [subnetwork](/compute/docs/subnetworks) to which the
2439 # cluster is connected.
2440 "resourceLabels": { # The resource labels for the cluster to use to annotate any related
2441 # Google Compute Engine resources.
2442 "a_key": "A String",
2443 },
2444 "selfLink": "A String", # [Output only] Server-defined URL for the resource.
2445 "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
2446 # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
2447 # is sufficient for this number of instances. You must also have available
2448 # firewall and routes quota.
2449 # For requests, this field should only be used in lieu of a
2450 # "node_pool" object, since this configuration (along with the
2451 # "node_config") will be used to create a "NodePool" object with an
2452 # auto-generated name. Do not use this and a node_pool at the same time.
2453 #
2454 # This field is deprecated, use node_pool.initial_node_count instead.
2455 },
2456 ],
2457 "missingZones": [ # If any zones are listed here, the list of clusters returned
2458 # may be missing those zones.
2459 "A String",
2460 ],
2461 }</pre>
2462</div>
2463
2464<div class="method">
2465 <code class="details" id="setAddons">setAddons(name, body, x__xgafv=None)</code>
2466 <pre>Sets the addons for a specific cluster.
2467
2468Args:
2469 name: string, The name (project, location, cluster) of the cluster to set addons.
2470Specified in the format 'projects/*/locations/*/clusters/*'. (required)
2471 body: object, The request body. (required)
2472 The object takes the form of:
2473
2474{ # SetAddonsConfigRequest sets the addons associated with the cluster.
2475 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
2476 # number](https://support.google.com/cloud/answer/6158840).
2477 # This field has been deprecated and replaced by the name field.
2478 "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # The desired configurations for the various addons available to run in the
2479 # cluster.
2480 # cluster, enabling additional functionality.
2481 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
2482 # makes it easy to set up HTTP load balancers for services in a cluster.
2483 # which makes it easy to set up HTTP load balancers for services in a cluster.
2484 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
2485 # When enabled, it runs a small pod in the cluster that manages the load
2486 # balancers.
2487 },
2488 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
2489 # is enabled or not on the Master, it does not track whether network policy
2490 # is enabled for the nodes.
2491 # is enabled or not on the Master, it does not track whether network policy
2492 # is enabled for the nodes.
2493 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
2494 },
2495 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
2496 # This addon is deprecated, and will be disabled in 1.15. It is recommended
2497 # to use the Cloud Console to manage and monitor your Kubernetes clusters,
2498 # workloads and applications. For more information, see:
2499 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
2500 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
2501 },
2502 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
2503 # increases or decreases the number of replica pods a replication controller
2504 # has based on the resource usage of the existing pods.
2505 # increases or decreases the number of replica pods a replication controller
2506 # has based on the resource usage of the existing pods.
2507 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
2508 # When enabled, it ensures that a Heapster pod is running in the cluster,
2509 # which is also used by the Cloud Monitoring service.
2510 },
2511 },
2512 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
2513 # This field has been deprecated and replaced by the name field.
2514 "name": "A String", # The name (project, location, cluster) of the cluster to set addons.
2515 # Specified in the format 'projects/*/locations/*/clusters/*'.
2516 "zone": "A String", # Deprecated. The name of the Google Compute Engine
2517 # [zone](/compute/docs/zones#available) in which the cluster
2518 # resides.
2519 # This field has been deprecated and replaced by the name field.
2520 }
2521
2522 x__xgafv: string, V1 error format.
2523 Allowed values
2524 1 - v1 error format
2525 2 - v2 error format
2526
2527Returns:
2528 An object of the form:
2529
2530 { # This operation resource represents operations that may have happened or are
2531 # happening on the cluster. All fields are output only.
2532 "status": "A String", # The current status of the operation.
2533 "selfLink": "A String", # Server-defined URL for the resource.
2534 "name": "A String", # The server-assigned ID for the operation.
2535 "zone": "A String", # The name of the Google Compute Engine
2536 # [zone](/compute/docs/zones#available) in which the operation
2537 # is taking place.
2538 # This field is deprecated, use location instead.
2539 "startTime": "A String", # [Output only] The time the operation started, in
2540 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2541 "detail": "A String", # Detailed operation progress, if available.
2542 "operationType": "A String", # The operation type.
2543 "targetLink": "A String", # Server-defined URL for the target of the operation.
2544 "location": "A String", # [Output only] The name of the Google Compute Engine
2545 # [zone](/compute/docs/regions-zones/regions-zones#available) or
2546 # [region](/compute/docs/regions-zones/regions-zones#available) in which
2547 # the cluster resides.
2548 "nodepoolConditions": [ # Which conditions caused the current node pool state.
2549 { # StatusCondition describes why a cluster or a node pool has a certain status
2550 # (e.g., ERROR or DEGRADED).
2551 "message": "A String", # Human-friendly representation of the condition
2552 "code": "A String", # Machine-friendly representation of the condition
2553 },
2554 ],
2555 "endTime": "A String", # [Output only] The time the operation completed, in
2556 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2557 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
2558 "clusterConditions": [ # Which conditions caused the current cluster state.
2559 { # StatusCondition describes why a cluster or a node pool has a certain status
2560 # (e.g., ERROR or DEGRADED).
2561 "message": "A String", # Human-friendly representation of the condition
2562 "code": "A String", # Machine-friendly representation of the condition
2563 },
2564 ],
2565 }</pre>
2566</div>
2567
2568<div class="method">
2569 <code class="details" id="setLegacyAbac">setLegacyAbac(name, body, x__xgafv=None)</code>
2570 <pre>Enables or disables the ABAC authorization mechanism on a cluster.
2571
2572Args:
2573 name: string, The name (project, location, cluster id) of the cluster to set legacy abac.
2574Specified in the format 'projects/*/locations/*/clusters/*'. (required)
2575 body: object, The request body. (required)
2576 The object takes the form of:
2577
2578{ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
2579 # a cluster.
2580 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
2581 # number](https://support.google.com/cloud/answer/6158840).
2582 # This field has been deprecated and replaced by the name field.
2583 "clusterId": "A String", # Deprecated. The name of the cluster to update.
2584 # This field has been deprecated and replaced by the name field.
2585 "enabled": True or False, # Whether ABAC authorization will be enabled in the cluster.
2586 "name": "A String", # The name (project, location, cluster id) of the cluster to set legacy abac.
2587 # Specified in the format 'projects/*/locations/*/clusters/*'.
2588 "zone": "A String", # Deprecated. The name of the Google Compute Engine
2589 # [zone](/compute/docs/zones#available) in which the cluster
2590 # resides.
2591 # This field has been deprecated and replaced by the name field.
2592 }
2593
2594 x__xgafv: string, V1 error format.
2595 Allowed values
2596 1 - v1 error format
2597 2 - v2 error format
2598
2599Returns:
2600 An object of the form:
2601
2602 { # This operation resource represents operations that may have happened or are
2603 # happening on the cluster. All fields are output only.
2604 "status": "A String", # The current status of the operation.
2605 "selfLink": "A String", # Server-defined URL for the resource.
2606 "name": "A String", # The server-assigned ID for the operation.
2607 "zone": "A String", # The name of the Google Compute Engine
2608 # [zone](/compute/docs/zones#available) in which the operation
2609 # is taking place.
2610 # This field is deprecated, use location instead.
2611 "startTime": "A String", # [Output only] The time the operation started, in
2612 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2613 "detail": "A String", # Detailed operation progress, if available.
2614 "operationType": "A String", # The operation type.
2615 "targetLink": "A String", # Server-defined URL for the target of the operation.
2616 "location": "A String", # [Output only] The name of the Google Compute Engine
2617 # [zone](/compute/docs/regions-zones/regions-zones#available) or
2618 # [region](/compute/docs/regions-zones/regions-zones#available) in which
2619 # the cluster resides.
2620 "nodepoolConditions": [ # Which conditions caused the current node pool state.
2621 { # StatusCondition describes why a cluster or a node pool has a certain status
2622 # (e.g., ERROR or DEGRADED).
2623 "message": "A String", # Human-friendly representation of the condition
2624 "code": "A String", # Machine-friendly representation of the condition
2625 },
2626 ],
2627 "endTime": "A String", # [Output only] The time the operation completed, in
2628 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2629 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
2630 "clusterConditions": [ # Which conditions caused the current cluster state.
2631 { # StatusCondition describes why a cluster or a node pool has a certain status
2632 # (e.g., ERROR or DEGRADED).
2633 "message": "A String", # Human-friendly representation of the condition
2634 "code": "A String", # Machine-friendly representation of the condition
2635 },
2636 ],
2637 }</pre>
2638</div>
2639
2640<div class="method">
2641 <code class="details" id="setLocations">setLocations(name, body, x__xgafv=None)</code>
2642 <pre>Sets the locations for a specific cluster.
2643
2644Args:
2645 name: string, The name (project, location, cluster) of the cluster to set locations.
2646Specified in the format 'projects/*/locations/*/clusters/*'. (required)
2647 body: object, The request body. (required)
2648 The object takes the form of:
2649
2650{ # SetLocationsRequest sets the locations of the cluster.
2651 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
2652 # number](https://support.google.com/cloud/answer/6158840).
2653 # This field has been deprecated and replaced by the name field.
2654 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
2655 # This field has been deprecated and replaced by the name field.
2656 "locations": [ # The desired list of Google Compute Engine
2657 # [zones](/compute/docs/zones#available) in which the cluster's nodes
2658 # should be located. Changing the locations a cluster is in will result
2659 # in nodes being either created or removed from the cluster, depending on
2660 # whether locations are being added or removed.
2661 #
2662 # This list must always include the cluster's primary zone.
2663 "A String",
2664 ],
2665 "zone": "A String", # Deprecated. The name of the Google Compute Engine
2666 # [zone](/compute/docs/zones#available) in which the cluster
2667 # resides.
2668 # This field has been deprecated and replaced by the name field.
2669 "name": "A String", # The name (project, location, cluster) of the cluster to set locations.
2670 # Specified in the format 'projects/*/locations/*/clusters/*'.
2671 }
2672
2673 x__xgafv: string, V1 error format.
2674 Allowed values
2675 1 - v1 error format
2676 2 - v2 error format
2677
2678Returns:
2679 An object of the form:
2680
2681 { # This operation resource represents operations that may have happened or are
2682 # happening on the cluster. All fields are output only.
2683 "status": "A String", # The current status of the operation.
2684 "selfLink": "A String", # Server-defined URL for the resource.
2685 "name": "A String", # The server-assigned ID for the operation.
2686 "zone": "A String", # The name of the Google Compute Engine
2687 # [zone](/compute/docs/zones#available) in which the operation
2688 # is taking place.
2689 # This field is deprecated, use location instead.
2690 "startTime": "A String", # [Output only] The time the operation started, in
2691 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2692 "detail": "A String", # Detailed operation progress, if available.
2693 "operationType": "A String", # The operation type.
2694 "targetLink": "A String", # Server-defined URL for the target of the operation.
2695 "location": "A String", # [Output only] The name of the Google Compute Engine
2696 # [zone](/compute/docs/regions-zones/regions-zones#available) or
2697 # [region](/compute/docs/regions-zones/regions-zones#available) in which
2698 # the cluster resides.
2699 "nodepoolConditions": [ # Which conditions caused the current node pool state.
2700 { # StatusCondition describes why a cluster or a node pool has a certain status
2701 # (e.g., ERROR or DEGRADED).
2702 "message": "A String", # Human-friendly representation of the condition
2703 "code": "A String", # Machine-friendly representation of the condition
2704 },
2705 ],
2706 "endTime": "A String", # [Output only] The time the operation completed, in
2707 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2708 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
2709 "clusterConditions": [ # Which conditions caused the current cluster state.
2710 { # StatusCondition describes why a cluster or a node pool has a certain status
2711 # (e.g., ERROR or DEGRADED).
2712 "message": "A String", # Human-friendly representation of the condition
2713 "code": "A String", # Machine-friendly representation of the condition
2714 },
2715 ],
2716 }</pre>
2717</div>
2718
2719<div class="method">
2720 <code class="details" id="setLogging">setLogging(name, body, x__xgafv=None)</code>
2721 <pre>Sets the logging service for a specific cluster.
2722
2723Args:
2724 name: string, The name (project, location, cluster) of the cluster to set logging.
2725Specified in the format 'projects/*/locations/*/clusters/*'. (required)
2726 body: object, The request body. (required)
2727 The object takes the form of:
2728
2729{ # SetLoggingServiceRequest sets the logging service of a cluster.
2730 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
2731 # number](https://support.google.com/cloud/answer/6158840).
2732 # This field has been deprecated and replaced by the name field.
2733 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
2734 # This field has been deprecated and replaced by the name field.
2735 "loggingService": "A String", # The logging service the cluster should use to write metrics.
2736 # Currently available options:
2737 #
2738 # * "logging.googleapis.com" - the Google Cloud Logging service
2739 # * "none" - no metrics will be exported from the cluster
2740 "zone": "A String", # Deprecated. The name of the Google Compute Engine
2741 # [zone](/compute/docs/zones#available) in which the cluster
2742 # resides.
2743 # This field has been deprecated and replaced by the name field.
2744 "name": "A String", # The name (project, location, cluster) of the cluster to set logging.
2745 # Specified in the format 'projects/*/locations/*/clusters/*'.
2746 }
2747
2748 x__xgafv: string, V1 error format.
2749 Allowed values
2750 1 - v1 error format
2751 2 - v2 error format
2752
2753Returns:
2754 An object of the form:
2755
2756 { # This operation resource represents operations that may have happened or are
2757 # happening on the cluster. All fields are output only.
2758 "status": "A String", # The current status of the operation.
2759 "selfLink": "A String", # Server-defined URL for the resource.
2760 "name": "A String", # The server-assigned ID for the operation.
2761 "zone": "A String", # The name of the Google Compute Engine
2762 # [zone](/compute/docs/zones#available) in which the operation
2763 # is taking place.
2764 # This field is deprecated, use location instead.
2765 "startTime": "A String", # [Output only] The time the operation started, in
2766 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2767 "detail": "A String", # Detailed operation progress, if available.
2768 "operationType": "A String", # The operation type.
2769 "targetLink": "A String", # Server-defined URL for the target of the operation.
2770 "location": "A String", # [Output only] The name of the Google Compute Engine
2771 # [zone](/compute/docs/regions-zones/regions-zones#available) or
2772 # [region](/compute/docs/regions-zones/regions-zones#available) in which
2773 # the cluster resides.
2774 "nodepoolConditions": [ # Which conditions caused the current node pool state.
2775 { # StatusCondition describes why a cluster or a node pool has a certain status
2776 # (e.g., ERROR or DEGRADED).
2777 "message": "A String", # Human-friendly representation of the condition
2778 "code": "A String", # Machine-friendly representation of the condition
2779 },
2780 ],
2781 "endTime": "A String", # [Output only] The time the operation completed, in
2782 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2783 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
2784 "clusterConditions": [ # Which conditions caused the current cluster state.
2785 { # StatusCondition describes why a cluster or a node pool has a certain status
2786 # (e.g., ERROR or DEGRADED).
2787 "message": "A String", # Human-friendly representation of the condition
2788 "code": "A String", # Machine-friendly representation of the condition
2789 },
2790 ],
2791 }</pre>
2792</div>
2793
2794<div class="method">
2795 <code class="details" id="setMaintenancePolicy">setMaintenancePolicy(name, body, x__xgafv=None)</code>
2796 <pre>Sets the maintenance policy for a cluster.
2797
2798Args:
2799 name: string, The name (project, location, cluster id) of the cluster to set maintenance
2800policy.
2801Specified in the format 'projects/*/locations/*/clusters/*'. (required)
2802 body: object, The request body. (required)
2803 The object takes the form of:
2804
2805{ # SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
2806 "projectId": "A String", # The Google Developers Console [project ID or project
2807 # number](https://support.google.com/cloud/answer/6158840).
2808 "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # The maintenance policy to be set for the cluster. An empty field
2809 # clears the existing maintenance policy.
2810 "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
2811 "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
2812 "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
2813 # smallest possible in the given scenario.
2814 # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
2815 # format "PTnHnMnS".
2816 "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
2817 # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
2818 # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
2819 },
2820 },
2821 },
2822 "clusterId": "A String", # The name of the cluster to update.
2823 "name": "A String", # The name (project, location, cluster id) of the cluster to set maintenance
2824 # policy.
2825 # Specified in the format 'projects/*/locations/*/clusters/*'.
2826 "zone": "A String", # The name of the Google Compute Engine
2827 # [zone](/compute/docs/zones#available) in which the cluster
2828 # resides.
2829 }
2830
2831 x__xgafv: string, V1 error format.
2832 Allowed values
2833 1 - v1 error format
2834 2 - v2 error format
2835
2836Returns:
2837 An object of the form:
2838
2839 { # This operation resource represents operations that may have happened or are
2840 # happening on the cluster. All fields are output only.
2841 "status": "A String", # The current status of the operation.
2842 "selfLink": "A String", # Server-defined URL for the resource.
2843 "name": "A String", # The server-assigned ID for the operation.
2844 "zone": "A String", # The name of the Google Compute Engine
2845 # [zone](/compute/docs/zones#available) in which the operation
2846 # is taking place.
2847 # This field is deprecated, use location instead.
2848 "startTime": "A String", # [Output only] The time the operation started, in
2849 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2850 "detail": "A String", # Detailed operation progress, if available.
2851 "operationType": "A String", # The operation type.
2852 "targetLink": "A String", # Server-defined URL for the target of the operation.
2853 "location": "A String", # [Output only] The name of the Google Compute Engine
2854 # [zone](/compute/docs/regions-zones/regions-zones#available) or
2855 # [region](/compute/docs/regions-zones/regions-zones#available) in which
2856 # the cluster resides.
2857 "nodepoolConditions": [ # Which conditions caused the current node pool state.
2858 { # StatusCondition describes why a cluster or a node pool has a certain status
2859 # (e.g., ERROR or DEGRADED).
2860 "message": "A String", # Human-friendly representation of the condition
2861 "code": "A String", # Machine-friendly representation of the condition
2862 },
2863 ],
2864 "endTime": "A String", # [Output only] The time the operation completed, in
2865 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2866 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
2867 "clusterConditions": [ # Which conditions caused the current cluster state.
2868 { # StatusCondition describes why a cluster or a node pool has a certain status
2869 # (e.g., ERROR or DEGRADED).
2870 "message": "A String", # Human-friendly representation of the condition
2871 "code": "A String", # Machine-friendly representation of the condition
2872 },
2873 ],
2874 }</pre>
2875</div>
2876
2877<div class="method">
2878 <code class="details" id="setMasterAuth">setMasterAuth(name, body, x__xgafv=None)</code>
2879 <pre>Sets master auth materials. Currently supports changing the admin password
2880or a specific cluster, either via password generation or explicitly setting
2881the password.
2882
2883Args:
2884 name: string, The name (project, location, cluster) of the cluster to set auth.
2885Specified in the format 'projects/*/locations/*/clusters/*'. (required)
2886 body: object, The request body. (required)
2887 The object takes the form of:
2888
2889{ # SetMasterAuthRequest updates the admin password of a cluster.
2890 "name": "A String", # The name (project, location, cluster) of the cluster to set auth.
2891 # Specified in the format 'projects/*/locations/*/clusters/*'.
2892 "zone": "A String", # Deprecated. The name of the Google Compute Engine
2893 # [zone](/compute/docs/zones#available) in which the cluster
2894 # resides.
2895 # This field has been deprecated and replaced by the name field.
2896 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
2897 # number](https://support.google.com/cloud/answer/6158840).
2898 # This field has been deprecated and replaced by the name field.
2899 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
2900 # This field has been deprecated and replaced by the name field.
2901 "update": { # The authentication information for accessing the master endpoint. # A description of the update.
2902 # Authentication can be done using HTTP basic auth or using client
2903 # certificates.
2904 "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
2905 # For clusters v1.6.0 and later, basic authentication can be disabled by
2906 # leaving username unspecified (or setting it to the empty string).
2907 "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
2908 # to the cluster endpoint.
2909 "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
2910 # authenticate to the cluster endpoint.
2911 "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
2912 # clusters before v1.12, if no configuration is specified, a client
2913 # certificate is issued.
2914 "issueClientCertificate": True or False, # Issue a client certificate.
2915 },
2916 "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
2917 # Because the master endpoint is open to the Internet, you should create a
2918 # strong password. If a password is provided for cluster creation, username
2919 # must be non-empty.
2920 "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
2921 # trust for the cluster.
2922 },
2923 "action": "A String", # The exact form of action to be taken on the master auth.
2924 }
2925
2926 x__xgafv: string, V1 error format.
2927 Allowed values
2928 1 - v1 error format
2929 2 - v2 error format
2930
2931Returns:
2932 An object of the form:
2933
2934 { # This operation resource represents operations that may have happened or are
2935 # happening on the cluster. All fields are output only.
2936 "status": "A String", # The current status of the operation.
2937 "selfLink": "A String", # Server-defined URL for the resource.
2938 "name": "A String", # The server-assigned ID for the operation.
2939 "zone": "A String", # The name of the Google Compute Engine
2940 # [zone](/compute/docs/zones#available) in which the operation
2941 # is taking place.
2942 # This field is deprecated, use location instead.
2943 "startTime": "A String", # [Output only] The time the operation started, in
2944 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2945 "detail": "A String", # Detailed operation progress, if available.
2946 "operationType": "A String", # The operation type.
2947 "targetLink": "A String", # Server-defined URL for the target of the operation.
2948 "location": "A String", # [Output only] The name of the Google Compute Engine
2949 # [zone](/compute/docs/regions-zones/regions-zones#available) or
2950 # [region](/compute/docs/regions-zones/regions-zones#available) in which
2951 # the cluster resides.
2952 "nodepoolConditions": [ # Which conditions caused the current node pool state.
2953 { # StatusCondition describes why a cluster or a node pool has a certain status
2954 # (e.g., ERROR or DEGRADED).
2955 "message": "A String", # Human-friendly representation of the condition
2956 "code": "A String", # Machine-friendly representation of the condition
2957 },
2958 ],
2959 "endTime": "A String", # [Output only] The time the operation completed, in
2960 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2961 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
2962 "clusterConditions": [ # Which conditions caused the current cluster state.
2963 { # StatusCondition describes why a cluster or a node pool has a certain status
2964 # (e.g., ERROR or DEGRADED).
2965 "message": "A String", # Human-friendly representation of the condition
2966 "code": "A String", # Machine-friendly representation of the condition
2967 },
2968 ],
2969 }</pre>
2970</div>
2971
2972<div class="method">
2973 <code class="details" id="setMonitoring">setMonitoring(name, body, x__xgafv=None)</code>
2974 <pre>Sets the monitoring service for a specific cluster.
2975
2976Args:
2977 name: string, The name (project, location, cluster) of the cluster to set monitoring.
2978Specified in the format 'projects/*/locations/*/clusters/*'. (required)
2979 body: object, The request body. (required)
2980 The object takes the form of:
2981
2982{ # SetMonitoringServiceRequest sets the monitoring service of a cluster.
2983 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
2984 # number](https://support.google.com/cloud/answer/6158840).
2985 # This field has been deprecated and replaced by the name field.
2986 "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
2987 # Currently available options:
2988 #
2989 # * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
2990 # service with Kubernetes-native resource model in Stackdriver
2991 # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
2992 # * "none" - no metrics will be exported from the cluster
2993 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
2994 # This field has been deprecated and replaced by the name field.
2995 "name": "A String", # The name (project, location, cluster) of the cluster to set monitoring.
2996 # Specified in the format 'projects/*/locations/*/clusters/*'.
2997 "zone": "A String", # Deprecated. The name of the Google Compute Engine
2998 # [zone](/compute/docs/zones#available) in which the cluster
2999 # resides.
3000 # This field has been deprecated and replaced by the name field.
3001 }
3002
3003 x__xgafv: string, V1 error format.
3004 Allowed values
3005 1 - v1 error format
3006 2 - v2 error format
3007
3008Returns:
3009 An object of the form:
3010
3011 { # This operation resource represents operations that may have happened or are
3012 # happening on the cluster. All fields are output only.
3013 "status": "A String", # The current status of the operation.
3014 "selfLink": "A String", # Server-defined URL for the resource.
3015 "name": "A String", # The server-assigned ID for the operation.
3016 "zone": "A String", # The name of the Google Compute Engine
3017 # [zone](/compute/docs/zones#available) in which the operation
3018 # is taking place.
3019 # This field is deprecated, use location instead.
3020 "startTime": "A String", # [Output only] The time the operation started, in
3021 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3022 "detail": "A String", # Detailed operation progress, if available.
3023 "operationType": "A String", # The operation type.
3024 "targetLink": "A String", # Server-defined URL for the target of the operation.
3025 "location": "A String", # [Output only] The name of the Google Compute Engine
3026 # [zone](/compute/docs/regions-zones/regions-zones#available) or
3027 # [region](/compute/docs/regions-zones/regions-zones#available) in which
3028 # the cluster resides.
3029 "nodepoolConditions": [ # Which conditions caused the current node pool state.
3030 { # StatusCondition describes why a cluster or a node pool has a certain status
3031 # (e.g., ERROR or DEGRADED).
3032 "message": "A String", # Human-friendly representation of the condition
3033 "code": "A String", # Machine-friendly representation of the condition
3034 },
3035 ],
3036 "endTime": "A String", # [Output only] The time the operation completed, in
3037 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3038 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3039 "clusterConditions": [ # Which conditions caused the current cluster state.
3040 { # StatusCondition describes why a cluster or a node pool has a certain status
3041 # (e.g., ERROR or DEGRADED).
3042 "message": "A String", # Human-friendly representation of the condition
3043 "code": "A String", # Machine-friendly representation of the condition
3044 },
3045 ],
3046 }</pre>
3047</div>
3048
3049<div class="method">
3050 <code class="details" id="setNetworkPolicy">setNetworkPolicy(name, body, x__xgafv=None)</code>
3051 <pre>Enables or disables Network Policy for a cluster.
3052
3053Args:
3054 name: string, The name (project, location, cluster id) of the cluster to set networking
3055policy. Specified in the format 'projects/*/locations/*/clusters/*'. (required)
3056 body: object, The request body. (required)
3057 The object takes the form of:
3058
3059{ # SetNetworkPolicyRequest enables/disables network policy for a cluster.
3060 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3061 # number](https://developers.google.com/console/help/new/#projectnumber).
3062 # This field has been deprecated and replaced by the name field.
3063 "clusterId": "A String", # Deprecated. The name of the cluster.
3064 # This field has been deprecated and replaced by the name field.
3065 "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
3066 # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
3067 "enabled": True or False, # Whether network policy is enabled on the cluster.
3068 "provider": "A String", # The selected network policy provider.
3069 },
3070 "zone": "A String", # Deprecated. The name of the Google Compute Engine
3071 # [zone](/compute/docs/zones#available) in which the cluster
3072 # resides.
3073 # This field has been deprecated and replaced by the name field.
3074 "name": "A String", # The name (project, location, cluster id) of the cluster to set networking
3075 # policy. Specified in the format 'projects/*/locations/*/clusters/*'.
3076 }
3077
3078 x__xgafv: string, V1 error format.
3079 Allowed values
3080 1 - v1 error format
3081 2 - v2 error format
3082
3083Returns:
3084 An object of the form:
3085
3086 { # This operation resource represents operations that may have happened or are
3087 # happening on the cluster. All fields are output only.
3088 "status": "A String", # The current status of the operation.
3089 "selfLink": "A String", # Server-defined URL for the resource.
3090 "name": "A String", # The server-assigned ID for the operation.
3091 "zone": "A String", # The name of the Google Compute Engine
3092 # [zone](/compute/docs/zones#available) in which the operation
3093 # is taking place.
3094 # This field is deprecated, use location instead.
3095 "startTime": "A String", # [Output only] The time the operation started, in
3096 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3097 "detail": "A String", # Detailed operation progress, if available.
3098 "operationType": "A String", # The operation type.
3099 "targetLink": "A String", # Server-defined URL for the target of the operation.
3100 "location": "A String", # [Output only] The name of the Google Compute Engine
3101 # [zone](/compute/docs/regions-zones/regions-zones#available) or
3102 # [region](/compute/docs/regions-zones/regions-zones#available) in which
3103 # the cluster resides.
3104 "nodepoolConditions": [ # Which conditions caused the current node pool state.
3105 { # StatusCondition describes why a cluster or a node pool has a certain status
3106 # (e.g., ERROR or DEGRADED).
3107 "message": "A String", # Human-friendly representation of the condition
3108 "code": "A String", # Machine-friendly representation of the condition
3109 },
3110 ],
3111 "endTime": "A String", # [Output only] The time the operation completed, in
3112 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3113 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3114 "clusterConditions": [ # Which conditions caused the current cluster state.
3115 { # StatusCondition describes why a cluster or a node pool has a certain status
3116 # (e.g., ERROR or DEGRADED).
3117 "message": "A String", # Human-friendly representation of the condition
3118 "code": "A String", # Machine-friendly representation of the condition
3119 },
3120 ],
3121 }</pre>
3122</div>
3123
3124<div class="method">
3125 <code class="details" id="setResourceLabels">setResourceLabels(name, body, x__xgafv=None)</code>
3126 <pre>Sets labels on a cluster.
3127
3128Args:
3129 name: string, The name (project, location, cluster id) of the cluster to set labels.
3130Specified in the format 'projects/*/locations/*/clusters/*'. (required)
3131 body: object, The request body. (required)
3132 The object takes the form of:
3133
3134{ # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
3135 # Engine cluster, which will in turn set them for Google Compute Engine
3136 # resources used by that cluster
3137 "name": "A String", # The name (project, location, cluster id) of the cluster to set labels.
3138 # Specified in the format 'projects/*/locations/*/clusters/*'.
3139 "zone": "A String", # Deprecated. The name of the Google Compute Engine
3140 # [zone](/compute/docs/zones#available) in which the cluster
3141 # resides.
3142 # This field has been deprecated and replaced by the name field.
3143 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3144 # number](https://developers.google.com/console/help/new/#projectnumber).
3145 # This field has been deprecated and replaced by the name field.
3146 "labelFingerprint": "A String", # The fingerprint of the previous set of labels for this resource,
3147 # used to detect conflicts. The fingerprint is initially generated by
3148 # Kubernetes Engine and changes after every request to modify or update
3149 # labels. You must always provide an up-to-date fingerprint hash when
3150 # updating or changing labels. Make a <code>get()</code> request to the
3151 # resource to get the latest fingerprint.
3152 "clusterId": "A String", # Deprecated. The name of the cluster.
3153 # This field has been deprecated and replaced by the name field.
3154 "resourceLabels": { # The labels to set for that cluster.
3155 "a_key": "A String",
3156 },
3157 }
3158
3159 x__xgafv: string, V1 error format.
3160 Allowed values
3161 1 - v1 error format
3162 2 - v2 error format
3163
3164Returns:
3165 An object of the form:
3166
3167 { # This operation resource represents operations that may have happened or are
3168 # happening on the cluster. All fields are output only.
3169 "status": "A String", # The current status of the operation.
3170 "selfLink": "A String", # Server-defined URL for the resource.
3171 "name": "A String", # The server-assigned ID for the operation.
3172 "zone": "A String", # The name of the Google Compute Engine
3173 # [zone](/compute/docs/zones#available) in which the operation
3174 # is taking place.
3175 # This field is deprecated, use location instead.
3176 "startTime": "A String", # [Output only] The time the operation started, in
3177 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3178 "detail": "A String", # Detailed operation progress, if available.
3179 "operationType": "A String", # The operation type.
3180 "targetLink": "A String", # Server-defined URL for the target of the operation.
3181 "location": "A String", # [Output only] The name of the Google Compute Engine
3182 # [zone](/compute/docs/regions-zones/regions-zones#available) or
3183 # [region](/compute/docs/regions-zones/regions-zones#available) in which
3184 # the cluster resides.
3185 "nodepoolConditions": [ # Which conditions caused the current node pool state.
3186 { # StatusCondition describes why a cluster or a node pool has a certain status
3187 # (e.g., ERROR or DEGRADED).
3188 "message": "A String", # Human-friendly representation of the condition
3189 "code": "A String", # Machine-friendly representation of the condition
3190 },
3191 ],
3192 "endTime": "A String", # [Output only] The time the operation completed, in
3193 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3194 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3195 "clusterConditions": [ # Which conditions caused the current cluster state.
3196 { # StatusCondition describes why a cluster or a node pool has a certain status
3197 # (e.g., ERROR or DEGRADED).
3198 "message": "A String", # Human-friendly representation of the condition
3199 "code": "A String", # Machine-friendly representation of the condition
3200 },
3201 ],
3202 }</pre>
3203</div>
3204
3205<div class="method">
3206 <code class="details" id="startIpRotation">startIpRotation(name, body, x__xgafv=None)</code>
3207 <pre>Starts master IP rotation.
3208
3209Args:
3210 name: string, The name (project, location, cluster id) of the cluster to start IP
3211rotation. Specified in the format 'projects/*/locations/*/clusters/*'. (required)
3212 body: object, The request body. (required)
3213 The object takes the form of:
3214
3215{ # StartIPRotationRequest creates a new IP for the cluster and then performs
3216 # a node upgrade on each node pool to point to the new IP.
3217 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3218 # number](https://developers.google.com/console/help/new/#projectnumber).
3219 # This field has been deprecated and replaced by the name field.
3220 "rotateCredentials": True or False, # Whether to rotate credentials during IP rotation.
3221 "clusterId": "A String", # Deprecated. The name of the cluster.
3222 # This field has been deprecated and replaced by the name field.
3223 "name": "A String", # The name (project, location, cluster id) of the cluster to start IP
3224 # rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
3225 "zone": "A String", # Deprecated. The name of the Google Compute Engine
3226 # [zone](/compute/docs/zones#available) in which the cluster
3227 # resides.
3228 # This field has been deprecated and replaced by the name field.
3229 }
3230
3231 x__xgafv: string, V1 error format.
3232 Allowed values
3233 1 - v1 error format
3234 2 - v2 error format
3235
3236Returns:
3237 An object of the form:
3238
3239 { # This operation resource represents operations that may have happened or are
3240 # happening on the cluster. All fields are output only.
3241 "status": "A String", # The current status of the operation.
3242 "selfLink": "A String", # Server-defined URL for the resource.
3243 "name": "A String", # The server-assigned ID for the operation.
3244 "zone": "A String", # The name of the Google Compute Engine
3245 # [zone](/compute/docs/zones#available) in which the operation
3246 # is taking place.
3247 # This field is deprecated, use location instead.
3248 "startTime": "A String", # [Output only] The time the operation started, in
3249 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3250 "detail": "A String", # Detailed operation progress, if available.
3251 "operationType": "A String", # The operation type.
3252 "targetLink": "A String", # Server-defined URL for the target of the operation.
3253 "location": "A String", # [Output only] The name of the Google Compute Engine
3254 # [zone](/compute/docs/regions-zones/regions-zones#available) or
3255 # [region](/compute/docs/regions-zones/regions-zones#available) in which
3256 # the cluster resides.
3257 "nodepoolConditions": [ # Which conditions caused the current node pool state.
3258 { # StatusCondition describes why a cluster or a node pool has a certain status
3259 # (e.g., ERROR or DEGRADED).
3260 "message": "A String", # Human-friendly representation of the condition
3261 "code": "A String", # Machine-friendly representation of the condition
3262 },
3263 ],
3264 "endTime": "A String", # [Output only] The time the operation completed, in
3265 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3266 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3267 "clusterConditions": [ # Which conditions caused the current cluster state.
3268 { # StatusCondition describes why a cluster or a node pool has a certain status
3269 # (e.g., ERROR or DEGRADED).
3270 "message": "A String", # Human-friendly representation of the condition
3271 "code": "A String", # Machine-friendly representation of the condition
3272 },
3273 ],
3274 }</pre>
3275</div>
3276
3277<div class="method">
3278 <code class="details" id="update">update(name, body, x__xgafv=None)</code>
3279 <pre>Updates the settings of a specific cluster.
3280
3281Args:
3282 name: string, The name (project, location, cluster) of the cluster to update.
3283Specified in the format 'projects/*/locations/*/clusters/*'. (required)
3284 body: object, The request body. (required)
3285 The object takes the form of:
3286
3287{ # UpdateClusterRequest updates the settings of a cluster.
3288 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3289 # number](https://support.google.com/cloud/answer/6158840).
3290 # This field has been deprecated and replaced by the name field.
3291 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
3292 # This field has been deprecated and replaced by the name field.
3293 "update": { # ClusterUpdate describes an update to the cluster. Exactly one update can # A description of the update.
3294 # be applied to a cluster with each request, so at most one field can be
3295 # provided.
3296 "desiredLoggingService": "A String", # The logging service the cluster should use to write logs.
3297 # Currently available options:
3298 #
3299 # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
3300 # service with Kubernetes-native resource model in Stackdriver
3301 # * "logging.googleapis.com" - the Google Cloud Logging service
3302 # * "none" - no logs will be exported from the cluster
3303 "desiredMasterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The desired configuration options for master authorized networks feature.
3304 # master authorized networks will disallow all external traffic to access
3305 # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
3306 # Google Compute Engine Public IPs and Google Prod IPs.
3307 "enabled": True or False, # Whether or not master authorized networks is enabled.
3308 "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
3309 # Kubernetes master through HTTPS.
3310 { # CidrBlock contains an optional name and one CIDR block.
3311 "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
3312 "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
3313 },
3314 ],
3315 },
3316 "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if
3317 # "desired_node_version", "desired_image_family" or
3318 # "desired_node_pool_autoscaling" is specified and there is more than one
3319 # node pool on the cluster.
3320 "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
3321 # cluster, enabling additional functionality.
3322 "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
3323 # makes it easy to set up HTTP load balancers for services in a cluster.
3324 # which makes it easy to set up HTTP load balancers for services in a cluster.
3325 "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
3326 # When enabled, it runs a small pod in the cluster that manages the load
3327 # balancers.
3328 },
3329 "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
3330 # is enabled or not on the Master, it does not track whether network policy
3331 # is enabled for the nodes.
3332 # is enabled or not on the Master, it does not track whether network policy
3333 # is enabled for the nodes.
3334 "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
3335 },
3336 "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
3337 # This addon is deprecated, and will be disabled in 1.15. It is recommended
3338 # to use the Cloud Console to manage and monitor your Kubernetes clusters,
3339 # workloads and applications. For more information, see:
3340 # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
3341 "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
3342 },
3343 "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
3344 # increases or decreases the number of replica pods a replication controller
3345 # has based on the resource usage of the existing pods.
3346 # increases or decreases the number of replica pods a replication controller
3347 # has based on the resource usage of the existing pods.
3348 "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
3349 # When enabled, it ensures that a Heapster pod is running in the cluster,
3350 # which is also used by the Cloud Monitoring service.
3351 },
3352 },
3353 "desiredMasterVersion": "A String", # The Kubernetes version to change the master to.
3354 #
3355 # Users may specify either explicit versions offered by
3356 # Kubernetes Engine or version aliases, which have the following behavior:
3357 #
3358 # - "latest": picks the highest valid Kubernetes version
3359 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
3360 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
3361 # - "1.X.Y-gke.N": picks an explicit Kubernetes version
3362 # - "-": picks the default Kubernetes version
3363 "desiredLocations": [ # The desired list of Google Compute Engine
3364 # [zones](/compute/docs/zones#available) in which the cluster's nodes
3365 # should be located. Changing the locations a cluster is in will result
3366 # in nodes being either created or removed from the cluster, depending on
3367 # whether locations are being added or removed.
3368 #
3369 # This list must always include the cluster's primary zone.
3370 "A String",
3371 ],
3372 "desiredNodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an
3373 # upgrade).
3374 #
3375 # Users may specify either explicit versions offered by
3376 # Kubernetes Engine or version aliases, which have the following behavior:
3377 #
3378 # - "latest": picks the highest valid Kubernetes version
3379 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
3380 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
3381 # - "1.X.Y-gke.N": picks an explicit Kubernetes version
3382 # - "-": picks the Kubernetes master version
3383 "desiredMonitoringService": "A String", # The monitoring service the cluster should use to write metrics.
3384 # Currently available options:
3385 #
3386 # * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
3387 # service with Kubernetes-native resource model in Stackdriver
3388 # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
3389 # * "none" - no metrics will be exported from the cluster
3390 "desiredResourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # The desired configuration for exporting resource usage.
3391 "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
3392 "datasetId": "A String", # The ID of a BigQuery Dataset.
3393 },
3394 "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
3395 # daemonset will be created in the cluster to meter network egress traffic.
3396 "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
3397 "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
3398 # second BigQuery table will be created to hold resource consumption
3399 # records.
3400 },
3401 },
3402 "desiredNodePoolAutoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in
3403 # desired_node_pool_id. If there is only one pool in the
3404 # cluster and desired_node_pool_id is not provided then
3405 # the change applies to that single node pool.
3406 # adjust the size of the node pool to the current cluster usage.
3407 "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
3408 # max_node_count.
3409 "enabled": True or False, # Is autoscaling enabled for this node pool.
3410 "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
3411 # has to enough quota to scale up the cluster.
3412 },
3413 "desiredImageType": "A String", # The desired image type for the node pool.
3414 # NOTE: Set the "desired_node_pool" field as well.
3415 },
3416 "zone": "A String", # Deprecated. The name of the Google Compute Engine
3417 # [zone](/compute/docs/zones#available) in which the cluster
3418 # resides.
3419 # This field has been deprecated and replaced by the name field.
3420 "name": "A String", # The name (project, location, cluster) of the cluster to update.
3421 # Specified in the format 'projects/*/locations/*/clusters/*'.
3422 }
3423
3424 x__xgafv: string, V1 error format.
3425 Allowed values
3426 1 - v1 error format
3427 2 - v2 error format
3428
3429Returns:
3430 An object of the form:
3431
3432 { # This operation resource represents operations that may have happened or are
3433 # happening on the cluster. All fields are output only.
3434 "status": "A String", # The current status of the operation.
3435 "selfLink": "A String", # Server-defined URL for the resource.
3436 "name": "A String", # The server-assigned ID for the operation.
3437 "zone": "A String", # The name of the Google Compute Engine
3438 # [zone](/compute/docs/zones#available) in which the operation
3439 # is taking place.
3440 # This field is deprecated, use location instead.
3441 "startTime": "A String", # [Output only] The time the operation started, in
3442 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3443 "detail": "A String", # Detailed operation progress, if available.
3444 "operationType": "A String", # The operation type.
3445 "targetLink": "A String", # Server-defined URL for the target of the operation.
3446 "location": "A String", # [Output only] The name of the Google Compute Engine
3447 # [zone](/compute/docs/regions-zones/regions-zones#available) or
3448 # [region](/compute/docs/regions-zones/regions-zones#available) in which
3449 # the cluster resides.
3450 "nodepoolConditions": [ # Which conditions caused the current node pool state.
3451 { # StatusCondition describes why a cluster or a node pool has a certain status
3452 # (e.g., ERROR or DEGRADED).
3453 "message": "A String", # Human-friendly representation of the condition
3454 "code": "A String", # Machine-friendly representation of the condition
3455 },
3456 ],
3457 "endTime": "A String", # [Output only] The time the operation completed, in
3458 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3459 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3460 "clusterConditions": [ # Which conditions caused the current cluster state.
3461 { # StatusCondition describes why a cluster or a node pool has a certain status
3462 # (e.g., ERROR or DEGRADED).
3463 "message": "A String", # Human-friendly representation of the condition
3464 "code": "A String", # Machine-friendly representation of the condition
3465 },
3466 ],
3467 }</pre>
3468</div>
3469
3470<div class="method">
3471 <code class="details" id="updateMaster">updateMaster(name, body, x__xgafv=None)</code>
3472 <pre>Updates the master for a specific cluster.
3473
3474Args:
3475 name: string, The name (project, location, cluster) of the cluster to update.
3476Specified in the format 'projects/*/locations/*/clusters/*'. (required)
3477 body: object, The request body. (required)
3478 The object takes the form of:
3479
3480{ # UpdateMasterRequest updates the master of the cluster.
3481 "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3482 # number](https://support.google.com/cloud/answer/6158840).
3483 # This field has been deprecated and replaced by the name field.
3484 "masterVersion": "A String", # The Kubernetes version to change the master to.
3485 #
3486 # Users may specify either explicit versions offered by Kubernetes Engine or
3487 # version aliases, which have the following behavior:
3488 #
3489 # - "latest": picks the highest valid Kubernetes version
3490 # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
3491 # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
3492 # - "1.X.Y-gke.N": picks an explicit Kubernetes version
3493 # - "-": picks the default Kubernetes version
3494 "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
3495 # This field has been deprecated and replaced by the name field.
3496 "name": "A String", # The name (project, location, cluster) of the cluster to update.
3497 # Specified in the format 'projects/*/locations/*/clusters/*'.
3498 "zone": "A String", # Deprecated. The name of the Google Compute Engine
3499 # [zone](/compute/docs/zones#available) in which the cluster
3500 # resides.
3501 # This field has been deprecated and replaced by the name field.
3502 }
3503
3504 x__xgafv: string, V1 error format.
3505 Allowed values
3506 1 - v1 error format
3507 2 - v2 error format
3508
3509Returns:
3510 An object of the form:
3511
3512 { # This operation resource represents operations that may have happened or are
3513 # happening on the cluster. All fields are output only.
3514 "status": "A String", # The current status of the operation.
3515 "selfLink": "A String", # Server-defined URL for the resource.
3516 "name": "A String", # The server-assigned ID for the operation.
3517 "zone": "A String", # The name of the Google Compute Engine
3518 # [zone](/compute/docs/zones#available) in which the operation
3519 # is taking place.
3520 # This field is deprecated, use location instead.
3521 "startTime": "A String", # [Output only] The time the operation started, in
3522 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3523 "detail": "A String", # Detailed operation progress, if available.
3524 "operationType": "A String", # The operation type.
3525 "targetLink": "A String", # Server-defined URL for the target of the operation.
3526 "location": "A String", # [Output only] The name of the Google Compute Engine
3527 # [zone](/compute/docs/regions-zones/regions-zones#available) or
3528 # [region](/compute/docs/regions-zones/regions-zones#available) in which
3529 # the cluster resides.
3530 "nodepoolConditions": [ # Which conditions caused the current node pool state.
3531 { # StatusCondition describes why a cluster or a node pool has a certain status
3532 # (e.g., ERROR or DEGRADED).
3533 "message": "A String", # Human-friendly representation of the condition
3534 "code": "A String", # Machine-friendly representation of the condition
3535 },
3536 ],
3537 "endTime": "A String", # [Output only] The time the operation completed, in
3538 # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3539 "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3540 "clusterConditions": [ # Which conditions caused the current cluster state.
3541 { # StatusCondition describes why a cluster or a node pool has a certain status
3542 # (e.g., ERROR or DEGRADED).
3543 "message": "A String", # Human-friendly representation of the condition
3544 "code": "A String", # Machine-friendly representation of the condition
3545 },
3546 ],
3547 }</pre>
3548</div>
3549
3550</body></html>