1<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_v1beta1.html">Kubernetes Engine API</a> . <a href="container_v1beta1.projects.html">projects</a> . <a href="container_v1beta1.projects.zones.html">zones</a> . <a href="container_v1beta1.projects.zones.clusters.html">clusters</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="container_v1beta1.projects.zones.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="#addons">addons(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
84<p class="firstline">Sets the addons for a specific cluster.</p>
85<p class="toc_element">
86  <code><a href="#completeIpRotation">completeIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
87<p class="firstline">Completes master IP rotation.</p>
88<p class="toc_element">
89  <code><a href="#create">create(projectId, zone, body, x__xgafv=None)</a></code></p>
90<p class="firstline">Creates a cluster, consisting of the specified number and type of Google</p>
91<p class="toc_element">
92  <code><a href="#delete">delete(projectId, zone, clusterId, name=None, x__xgafv=None)</a></code></p>
93<p class="firstline">Deletes the cluster, including the Kubernetes endpoint and all worker</p>
94<p class="toc_element">
95  <code><a href="#get">get(projectId, zone, clusterId, name=None, x__xgafv=None)</a></code></p>
96<p class="firstline">Gets the details for a specific cluster.</p>
97<p class="toc_element">
98  <code><a href="#legacyAbac">legacyAbac(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
99<p class="firstline">Enables or disables the ABAC authorization mechanism on a cluster.</p>
100<p class="toc_element">
101  <code><a href="#list">list(projectId, zone, parent=None, x__xgafv=None)</a></code></p>
102<p class="firstline">Lists all clusters owned by a project in either the specified zone or all</p>
103<p class="toc_element">
104  <code><a href="#locations">locations(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
105<p class="firstline">Sets the locations for a specific cluster.</p>
106<p class="toc_element">
107  <code><a href="#logging">logging(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
108<p class="firstline">Sets the logging service for a specific cluster.</p>
109<p class="toc_element">
110  <code><a href="#master">master(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
111<p class="firstline">Updates the master for a specific cluster.</p>
112<p class="toc_element">
113  <code><a href="#monitoring">monitoring(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
114<p class="firstline">Sets the monitoring service for a specific cluster.</p>
115<p class="toc_element">
116  <code><a href="#resourceLabels">resourceLabels(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
117<p class="firstline">Sets labels on a cluster.</p>
118<p class="toc_element">
119  <code><a href="#setMaintenancePolicy">setMaintenancePolicy(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
120<p class="firstline">Sets the maintenance policy for a cluster.</p>
121<p class="toc_element">
122  <code><a href="#setMasterAuth">setMasterAuth(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
123<p class="firstline">Sets master auth materials. Currently supports changing the admin password</p>
124<p class="toc_element">
125  <code><a href="#setNetworkPolicy">setNetworkPolicy(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
126<p class="firstline">Enables or disables Network Policy for a cluster.</p>
127<p class="toc_element">
128  <code><a href="#startIpRotation">startIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
129<p class="firstline">Starts master IP rotation.</p>
130<p class="toc_element">
131  <code><a href="#update">update(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
132<p class="firstline">Updates the settings for a specific cluster.</p>
133<h3>Method Details</h3>
134<div class="method">
135    <code class="details" id="addons">addons(projectId, zone, clusterId, body, x__xgafv=None)</code>
136  <pre>Sets the addons for a specific cluster.
137
138Args:
139  projectId: string, Deprecated. The Google Developers Console [project ID or project
140number](https://support.google.com/cloud/answer/6158840).
141This field has been deprecated and replaced by the name field. (required)
142  zone: string, Deprecated. The name of the Google Compute Engine
143[zone](/compute/docs/zones#available) in which the cluster
144resides.
145This field has been deprecated and replaced by the name field. (required)
146  clusterId: string, Deprecated. The name of the cluster to upgrade.
147This field has been deprecated and replaced by the name field. (required)
148  body: object, The request body. (required)
149    The object takes the form of:
150
151{ # SetAddonsRequest sets the addons associated with the cluster.
152    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
153        # number](https://support.google.com/cloud/answer/6158840).
154        # This field has been deprecated and replaced by the name field.
155    "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
156        # cluster.
157        # cluster, enabling additional functionality.
158      "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
159          # is enabled or not on the Master, it does not track whether network policy
160          # is enabled for the nodes.
161          # is enabled or not on the Master, it does not track whether network policy
162          # is enabled for the nodes.
163        "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
164      },
165      "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
166          # enabled in order to enable Cloud Run addon. This option can only be enabled
167          # at cluster creation time.
168        "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
169      },
170      "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
171          # makes it easy to set up HTTP load balancers for services in a cluster.
172          # which makes it easy to set up HTTP load balancers for services in a cluster.
173        "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
174            # When enabled, it runs a small pod in the cluster that manages the load
175            # balancers.
176      },
177      "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
178          # increases or decreases the number of replica pods a replication controller
179          # has based on the resource usage of the existing pods.
180          # increases or decreases the number of replica pods a replication controller
181          # has based on the resource usage of the existing pods.
182        "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
183            # When enabled, it ensures that a Heapster pod is running in the cluster,
184            # which is also used by the Cloud Monitoring service.
185      },
186      "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
187          # microservices.
188        "disabled": True or False, # Whether Istio is enabled for this cluster.
189        "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
190      },
191      "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
192          # This addon is deprecated, and will be disabled in 1.15. It is recommended
193          # to use the Cloud Console to manage and monitor your Kubernetes clusters,
194          # workloads and applications. For more information, see:
195          # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
196        "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
197      },
198    },
199    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
200        # This field has been deprecated and replaced by the name field.
201    "name": "A String", # The name (project, location, cluster) of the cluster to set addons.
202        # Specified in the format 'projects/*/locations/*/clusters/*'.
203    "zone": "A String", # Deprecated. The name of the Google Compute Engine
204        # [zone](/compute/docs/zones#available) in which the cluster
205        # resides.
206        # This field has been deprecated and replaced by the name field.
207  }
208
209  x__xgafv: string, V1 error format.
210    Allowed values
211      1 - v1 error format
212      2 - v2 error format
213
214Returns:
215  An object of the form:
216
217    { # This operation resource represents operations that may have happened or are
218      # happening on the cluster. All fields are output only.
219    "status": "A String", # The current status of the operation.
220    "endTime": "A String", # [Output only] The time the operation completed, in
221        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
222    "name": "A String", # The server-assigned ID for the operation.
223    "zone": "A String", # The name of the Google Compute Engine
224        # [zone](/compute/docs/zones#available) in which the operation
225        # is taking place.
226        # This field is deprecated, use location instead.
227    "location": "A String", # [Output only] The name of the Google Compute Engine
228        # [zone](/compute/docs/regions-zones/regions-zones#available) or
229        # [region](/compute/docs/regions-zones/regions-zones#available) in which
230        # the cluster resides.
231    "startTime": "A String", # [Output only] The time the operation started, in
232        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
233    "detail": "A String", # Detailed operation progress, if available.
234    "clusterConditions": [ # Which conditions caused the current cluster state.
235      { # StatusCondition describes why a cluster or a node pool has a certain status
236          # (e.g., ERROR or DEGRADED).
237        "message": "A String", # Human-friendly representation of the condition
238        "code": "A String", # Machine-friendly representation of the condition
239      },
240    ],
241    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
242    "operationType": "A String", # The operation type.
243    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
244      "status": "A String", # Status of an operation stage.
245          # Unset for single-stage operations.
246      "metrics": [ # Progress metric bundle, for example:
247          #   metrics: [{name: "nodes done",     int_value: 15},
248          #             {name: "nodes total",    int_value: 32}]
249          # or
250          #   metrics: [{name: "progress",       double_value: 0.56},
251          #             {name: "progress scale", double_value: 1.0}]
252        { # Progress metric is (string, int|float|string) pair.
253          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
254          "intValue": "A String", # For metrics with integer value.
255          "name": "A String", # Metric name, required.
256              # e.g., "nodes total", "percent done"
257          "doubleValue": 3.14, # For metrics with floating point value.
258        },
259      ],
260      "stages": [ # Substages of an operation or a stage.
261        # Object with schema name: OperationProgress
262      ],
263      "name": "A String", # A non-parameterized string describing an operation stage.
264          # Unset for single-stage operations.
265    },
266    "nodepoolConditions": [ # Which conditions caused the current node pool state.
267      { # StatusCondition describes why a cluster or a node pool has a certain status
268          # (e.g., ERROR or DEGRADED).
269        "message": "A String", # Human-friendly representation of the condition
270        "code": "A String", # Machine-friendly representation of the condition
271      },
272    ],
273    "selfLink": "A String", # Server-defined URL for the resource.
274    "targetLink": "A String", # Server-defined URL for the target of the operation.
275  }</pre>
276</div>
277
278<div class="method">
279    <code class="details" id="completeIpRotation">completeIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</code>
280  <pre>Completes master IP rotation.
281
282Args:
283  projectId: string, Deprecated. The Google Developers Console [project ID or project
284number](https://developers.google.com/console/help/new/#projectnumber).
285This field has been deprecated and replaced by the name field. (required)
286  zone: string, Deprecated. The name of the Google Compute Engine
287[zone](/compute/docs/zones#available) in which the cluster
288resides.
289This field has been deprecated and replaced by the name field. (required)
290  clusterId: string, Deprecated. The name of the cluster.
291This field has been deprecated and replaced by the name field. (required)
292  body: object, The request body. (required)
293    The object takes the form of:
294
295{ # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
296    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
297        # number](https://developers.google.com/console/help/new/#projectnumber).
298        # This field has been deprecated and replaced by the name field.
299    "clusterId": "A String", # Deprecated. The name of the cluster.
300        # This field has been deprecated and replaced by the name field.
301    "name": "A String", # The name (project, location, cluster id) of the cluster to complete IP
302        # rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
303    "zone": "A String", # Deprecated. The name of the Google Compute Engine
304        # [zone](/compute/docs/zones#available) in which the cluster
305        # resides.
306        # This field has been deprecated and replaced by the name field.
307  }
308
309  x__xgafv: string, V1 error format.
310    Allowed values
311      1 - v1 error format
312      2 - v2 error format
313
314Returns:
315  An object of the form:
316
317    { # This operation resource represents operations that may have happened or are
318      # happening on the cluster. All fields are output only.
319    "status": "A String", # The current status of the operation.
320    "endTime": "A String", # [Output only] The time the operation completed, in
321        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
322    "name": "A String", # The server-assigned ID for the operation.
323    "zone": "A String", # The name of the Google Compute Engine
324        # [zone](/compute/docs/zones#available) in which the operation
325        # is taking place.
326        # This field is deprecated, use location instead.
327    "location": "A String", # [Output only] The name of the Google Compute Engine
328        # [zone](/compute/docs/regions-zones/regions-zones#available) or
329        # [region](/compute/docs/regions-zones/regions-zones#available) in which
330        # the cluster resides.
331    "startTime": "A String", # [Output only] The time the operation started, in
332        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
333    "detail": "A String", # Detailed operation progress, if available.
334    "clusterConditions": [ # Which conditions caused the current cluster state.
335      { # StatusCondition describes why a cluster or a node pool has a certain status
336          # (e.g., ERROR or DEGRADED).
337        "message": "A String", # Human-friendly representation of the condition
338        "code": "A String", # Machine-friendly representation of the condition
339      },
340    ],
341    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
342    "operationType": "A String", # The operation type.
343    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
344      "status": "A String", # Status of an operation stage.
345          # Unset for single-stage operations.
346      "metrics": [ # Progress metric bundle, for example:
347          #   metrics: [{name: "nodes done",     int_value: 15},
348          #             {name: "nodes total",    int_value: 32}]
349          # or
350          #   metrics: [{name: "progress",       double_value: 0.56},
351          #             {name: "progress scale", double_value: 1.0}]
352        { # Progress metric is (string, int|float|string) pair.
353          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
354          "intValue": "A String", # For metrics with integer value.
355          "name": "A String", # Metric name, required.
356              # e.g., "nodes total", "percent done"
357          "doubleValue": 3.14, # For metrics with floating point value.
358        },
359      ],
360      "stages": [ # Substages of an operation or a stage.
361        # Object with schema name: OperationProgress
362      ],
363      "name": "A String", # A non-parameterized string describing an operation stage.
364          # Unset for single-stage operations.
365    },
366    "nodepoolConditions": [ # Which conditions caused the current node pool state.
367      { # StatusCondition describes why a cluster or a node pool has a certain status
368          # (e.g., ERROR or DEGRADED).
369        "message": "A String", # Human-friendly representation of the condition
370        "code": "A String", # Machine-friendly representation of the condition
371      },
372    ],
373    "selfLink": "A String", # Server-defined URL for the resource.
374    "targetLink": "A String", # Server-defined URL for the target of the operation.
375  }</pre>
376</div>
377
378<div class="method">
379    <code class="details" id="create">create(projectId, zone, body, x__xgafv=None)</code>
380  <pre>Creates a cluster, consisting of the specified number and type of Google
381Compute Engine instances.
382
383By default, the cluster is created in the project's
384[default network](/compute/docs/networks-and-firewalls#networks).
385
386One firewall is added for the cluster. After cluster creation,
387the Kubelet creates routes for each node to allow the containers
388on that node to communicate with all other instances in the
389cluster.
390
391Finally, an entry is added to the project's global metadata indicating
392which CIDR range the cluster is using.
393
394Args:
395  projectId: string, Deprecated. The Google Developers Console [project ID or project
396number](https://support.google.com/cloud/answer/6158840).
397This field has been deprecated and replaced by the parent field. (required)
398  zone: string, Deprecated. The name of the Google Compute Engine
399[zone](/compute/docs/zones#available) in which the cluster
400resides.
401This field has been deprecated and replaced by the parent field. (required)
402  body: object, The request body. (required)
403    The object takes the form of:
404
405{ # CreateClusterRequest creates a cluster.
406    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
407        # number](https://support.google.com/cloud/answer/6158840).
408        # This field has been deprecated and replaced by the parent field.
409    "parent": "A String", # The parent (project and location) where the cluster will be created.
410        # Specified in the format 'projects/*/locations/*'.
411    "zone": "A String", # Deprecated. The name of the Google Compute Engine
412        # [zone](/compute/docs/zones#available) in which the cluster
413        # resides.
414        # This field has been deprecated and replaced by the parent field.
415    "cluster": { # A Google Kubernetes Engine cluster. # A [cluster
416        # resource](/container-engine/reference/rest/v1beta1/projects.zones.clusters)
417      "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
418          # containers. This is provisioned from within the `container_ipv4_cidr`
419          # range. This field will only be set when cluster is in route-based network
420          # mode.
421      "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
422        "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
423          "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
424            "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
425                # smallest possible in the given scenario.
426            "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
427                # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
428          },
429        },
430      },
431      "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
432          # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
433        "enabled": True or False, # Whether network policy is enabled on the cluster.
434        "provider": "A String", # The selected network policy provider.
435      },
436      "loggingService": "A String", # The logging service the cluster should use to write logs.
437          # Currently available options:
438          #
439          # * `logging.googleapis.com` - the Google Cloud Logging service.
440          # * `none` - no logs will be exported from the cluster.
441          # * if left as an empty string,`logging.googleapis.com` will be used.
442      "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
443          # master authorized networks will disallow all external traffic to access
444          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
445          # Google Compute Engine Public IPs and Google Prod IPs.
446        "enabled": True or False, # Whether or not master authorized networks is enabled.
447        "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access
448            # Kubernetes master through HTTPS.
449          { # CidrBlock contains an optional name and one CIDR block.
450            "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
451            "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
452          },
453        ],
454      },
455      "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
456          # cluster, enabling additional functionality.
457        "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
458            # is enabled or not on the Master, it does not track whether network policy
459            # is enabled for the nodes.
460            # is enabled or not on the Master, it does not track whether network policy
461            # is enabled for the nodes.
462          "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
463        },
464        "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
465            # enabled in order to enable Cloud Run addon. This option can only be enabled
466            # at cluster creation time.
467          "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
468        },
469        "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
470            # makes it easy to set up HTTP load balancers for services in a cluster.
471            # which makes it easy to set up HTTP load balancers for services in a cluster.
472          "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
473              # When enabled, it runs a small pod in the cluster that manages the load
474              # balancers.
475        },
476        "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
477            # increases or decreases the number of replica pods a replication controller
478            # has based on the resource usage of the existing pods.
479            # increases or decreases the number of replica pods a replication controller
480            # has based on the resource usage of the existing pods.
481          "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
482              # When enabled, it ensures that a Heapster pod is running in the cluster,
483              # which is also used by the Cloud Monitoring service.
484        },
485        "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
486            # microservices.
487          "disabled": True or False, # Whether Istio is enabled for this cluster.
488          "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
489        },
490        "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
491            # This addon is deprecated, and will be disabled in 1.15. It is recommended
492            # to use the Cloud Console to manage and monitor your Kubernetes clusters,
493            # workloads and applications. For more information, see:
494            # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
495          "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
496        },
497      },
498      "locations": [ # The list of Google Compute Engine
499          # [zones](/compute/docs/zones#available) in which the cluster's nodes
500          # should be located.
501        "A String",
502      ],
503      "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
504          # mode.
505        "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
506            # identities in the system, including service accounts, nodes, and
507            # controllers, will have statically granted permissions beyond those
508            # provided by the RBAC configuration or IAM.
509      },
510      "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
511      "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
512          # simultaneously on a node in the node pool of this cluster. Only honored
513          # if cluster created with IP Alias support.
514        "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
515      },
516      "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
517        "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
518        "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
519        "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
520        "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
521            # `cluster.cluster_ipv4_cidr` must be left blank.
522            #
523            # This field is only applicable when `use_ip_aliases` is true.
524            #
525            # Set to blank to have a range chosen with the default size.
526            #
527            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
528            # netmask.
529            #
530            # Set to a
531            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
532            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
533            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
534            # to use.
535        "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
536            # block.  The secondary range will be used for pod IP
537            # addresses. This must be an existing secondary range associated
538            # with the cluster subnetwork.
539            #
540            # This field is only applicable with use_ip_aliases and
541            # create_subnetwork is false.
542        "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
543            # will be automatically chosen with the default size.
544            #
545            # This field is only applicable when `use_ip_aliases` is true.
546            #
547            # Set to blank to have a range chosen with the default size.
548            #
549            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
550            # netmask.
551            #
552            # Set to a
553            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
554            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
555            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
556            # to use.
557        "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
558            #
559            # This field is only applicable when `use_ip_aliases` is true.
560        "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
561            #
562            # This is applicable only if `create_subnetwork` is true.
563            #
564            # Set to blank to have a range chosen with the default size.
565            #
566            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
567            # netmask.
568            #
569            # Set to a
570            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
571            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
572            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
573            # to use.
574        "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
575            # range will be automatically chosen with the default size.
576            #
577            # This field is only applicable when `use_ip_aliases` is true.
578            #
579            # If unspecified, the range will use the default size.
580            #
581            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
582            # netmask.
583            #
584            # Set to a
585            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
586            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
587            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
588            # to use.
589        "allowRouteOverlap": True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
590            # kinds of network routes. By default we do not allow cluster CIDR ranges to
591            # intersect with any user declared routes. With allow_route_overlap == true,
592            # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
593            # range.
594            #
595            # If this field is set to true, then cluster and services CIDRs must be
596            # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
597            # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
598            #    `services_ipv4_cidr_block` must be fully-specified.
599            # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
600            #    fully-specified.
601        "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true.  If
602            # this field is empty, then an automatic name will be chosen for the new
603            # subnetwork.
604        "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
605            # CIDR block.  The secondary range will be used for service
606            # ClusterIPs. This must be an existing secondary range associated
607            # with the cluster subnetwork.
608            #
609            # This field is only applicable with use_ip_aliases and
610            # create_subnetwork is false.
611        "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
612      },
613      "network": "A String", # The name of the Google Compute Engine
614          # [network](/compute/docs/networks-and-firewalls#networks) to which the
615          # cluster is connected. If left unspecified, the `default` network
616          # will be used. On output this shows the network ID instead of
617          # the name.
618      "zone": "A String", # [Output only] The name of the Google Compute Engine
619          # [zone](/compute/docs/zones#available) in which the cluster
620          # resides.
621          # This field is deprecated, use location instead.
622      "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
623        "A String",
624      ],
625      "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
626        "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
627            # [subnetwork](/compute/docs/vpc) to which the cluster is connected.
628            # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
629        "network": "A String", # Output only. The relative name of the Google Compute Engine
630            # network(/compute/docs/networks-and-firewalls#networks) to which
631            # the cluster is connected.
632            # Example: projects/my-project/global/networks/my-network
633        "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
634            # This makes same node pod to pod traffic visible for VPC network.
635      },
636      "privateCluster": True or False, # If this is a private cluster setup. Private clusters are clusters that, by
637          # default have no external IP addresses on the nodes and where nodes and the
638          # master communicate over private IP addresses.
639          # This field is deprecated, use private_cluster_config.enable_private_nodes
640          # instead.
641      "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
642        "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
643            # must be valid under a PodSecurityPolicy to be created.
644      },
645      "location": "A String", # [Output only] The name of the Google Compute Engine
646          # [zone](/compute/docs/regions-zones/regions-zones#available) or
647          # [region](/compute/docs/regions-zones/regions-zones#available) in which
648          # the cluster resides.
649      "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
650          # policies.
651          # policies.
652        "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
653      },
654      "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
655          # disabled when this config unspecified.
656        "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
657          "datasetId": "A String", # The ID of a BigQuery Dataset.
658        },
659        "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
660            # daemonset will be created in the cluster to meter network egress traffic.
661        "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
662          "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
663              # second BigQuery table will be created to hold resource consumption
664              # records.
665        },
666      },
667      "masterIpv4CidrBlock": "A String", # The IP prefix in CIDR notation to use for the hosted master network.
668          # This prefix will be used for assigning private IP addresses to the
669          # master or set of masters, as well as the ILB VIP.
670          # This field is deprecated, use
671          # private_cluster_config.master_ipv4_cidr_block instead.
672      "conditions": [ # Which conditions caused the current cluster state.
673        { # StatusCondition describes why a cluster or a node pool has a certain status
674            # (e.g., ERROR or DEGRADED).
675          "message": "A String", # Human-friendly representation of the condition
676          "code": "A String", # Machine-friendly representation of the condition
677        },
678      ],
679      "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
680          # this cluster, in
681          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
682          # notation (e.g. `1.2.3.4/29`). Service addresses are
683          # typically put in the last `/16` from the container CIDR.
684      "statusMessage": "A String", # [Output only] Additional information about the current status of this
685          # cluster, if available.
686      "tierSettings": { # Cluster tier settings. # Cluster tier settings.
687        "tier": "A String", # Cluster tier.
688      },
689      "status": "A String", # [Output only] The current status of this cluster.
690      "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
691      "description": "A String", # An optional description of this cluster.
692      "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
693        "state": "A String", # Denotes the state of etcd encryption.
694        "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
695            # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
696      },
697      "currentNodeVersion": "A String", # [Output only] Deprecated, use
698          # [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
699          # instead. The current version of the node software components.
700          # If they are currently at multiple versions because they're in the process
701          # of being upgraded, this reflects the minimum version of all nodes.
702      "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
703        "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
704            # images will be validated by Google Binauthz.
705      },
706      "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
707      "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
708          # required by Cluster Autoscaler to automatically adjust
709          # the size of the cluster and create/delete
710          # node pools based on the current needs.
711        "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
712            # created by NAP.
713            # by NAP.
714          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
715              # service_account is specified, scopes should be empty.
716          "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
717              # specified, service_account should be empty.
718            "A String",
719          ],
720        },
721        "resourceLimits": [ # Contains global constraints regarding minimum and maximum
722            # amount of resources in the cluster.
723          { # Contains information about amount of some resource in the cluster.
724              # For memory, value should be in GB.
725            "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
726            "minimum": "A String", # Minimum amount of the resource in the cluster.
727            "maximum": "A String", # Maximum amount of the resource in the cluster.
728          },
729        ],
730        "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
731            # in which the NodePool's nodes can be created by NAP.
732          "A String",
733        ],
734        "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
735      },
736      "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
737          # If unspecified, the defaults are used:
738          # For clusters before v1.12, if master_auth is unspecified, `username` will
739          # be set to "admin", a random password will be generated, and a client
740          # certificate will be issued.
741          # Authentication can be done using HTTP basic auth or using client
742          # certificates.
743        "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
744            # For clusters v1.6.0 and later, basic authentication can be disabled by
745            # leaving username unspecified (or setting it to the empty string).
746        "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
747            # to the cluster endpoint.
748        "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
749            # authenticate to the cluster endpoint.
750        "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
751            # clusters before v1.12, if no configuration is specified, a client
752            # certificate is issued.
753          "issueClientCertificate": True or False, # Issue a client certificate.
754        },
755        "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
756            # Because the master endpoint is open to the Internet, you should create a
757            # strong password.  If a password is provided for cluster creation, username
758            # must be non-empty.
759        "clusterCaCertificate": "A String",
760      },
761      "expireTime": "A String", # [Output only] The time the cluster will be automatically
762          # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
763      "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
764          # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
765          # is sufficient for this number of instances. You must also have available
766          # firewall and routes quota.
767          # For requests, this field should only be used in lieu of a
768          # "node_pool" object, since this configuration (along with the
769          # "node_config") will be used to create a "NodePool" object with an
770          # auto-generated name. Do not use this and a node_pool at the same time.
771          #
772          # This field is deprecated, use node_pool.initial_node_count instead.
773      "nodePools": [ # The node pools associated with this cluster.
774          # This field should not be set if "node_config" or "initial_node_count" are
775          # specified.
776        { # NodePool contains the name and configuration for a cluster's node pool.
777            # Node pools are a set of nodes (i.e. VM's), with a common configuration and
778            # specification, under the control of the cluster master. They may have a set
779            # of Kubernetes labels applied to them, which may be used to reference them
780            # during pod scheduling. They may also be resized up or down, to accommodate
781            # the workload.
782          "status": "A String", # [Output only] The status of the nodes in this pool instance.
783          "statusMessage": "A String", # [Output only] Additional information about the current status of this
784              # node pool instance, if available.
785          "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
786              # node pool.
787            "autoRepair": True or False, # Whether the nodes will be automatically repaired.
788            "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
789                # the Auto Upgrades will proceed.
790              "description": "A String", # [Output only] This field is set when upgrades are about to commence
791                  # with the description of the upgrade.
792              "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
793                  # with the approximate start time for the upgrades, in
794                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
795            },
796            "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
797          },
798          "name": "A String", # The name of the node pool.
799          "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
800              # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
801              # associated with this node pool.
802            "A String",
803          ],
804          "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
805              # only if a valid configuration is present.
806              # adjust the size of the node pool to the current cluster usage.
807            "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
808                # max_node_count.
809            "autoprovisioned": True or False, # Can this node pool be deleted automatically.
810            "enabled": True or False, # Is autoscaling enabled for this node pool.
811            "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
812                # has to enough quota to scale up the cluster.
813          },
814          "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
815              # in which the NodePool's nodes should be located.
816            "A String",
817          ],
818          "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
819              # simultaneously on a node in the node pool.
820            "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
821          },
822          "version": "A String", # The version of the Kubernetes of this node.
823          "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
824              # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
825              # is sufficient for this number of instances. You must also have available
826              # firewall and routes quota.
827          "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
828          "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
829            "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
830              "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
831            },
832            "machineType": "A String", # The name of a Google Compute Engine [machine
833                # type](/compute/docs/machine-types) (e.g.
834                # `n1-standard-1`).
835                #
836                # If unspecified, the default machine type is
837                # `n1-standard-1`.
838            "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
839              "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
840                  #
841                  # Enables monitoring and attestation of the boot integrity of the instance.
842                  # The attestation is performed against the integrity policy baseline. This
843                  # baseline is initially derived from the implicitly trusted boot image when
844                  # the instance is created.
845              "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
846                  #
847                  # Secure Boot helps ensure that the system only runs authentic software by
848                  # verifying the digital signature of all boot components, and halting the
849                  # boot process if signature verification fails.
850            },
851            "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
852                #
853                # If unspecified, the default disk type is 'pd-standard'
854            "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
855                # valid sources or targets for network firewalls and are specified by
856                # the client during cluster or node pool creation. Each tag within the list
857                # must comply with RFC1035.
858              "A String",
859            ],
860            "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
861                # https://cloud.google.com/compute/docs/instances/preemptible for more
862                # inforamtion about preemptible VM instances.
863            "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
864                # These will added in addition to any default label(s) that
865                # Kubernetes may apply to the node.
866                # In case of conflict in label keys, the applied set may differ depending on
867                # the Kubernetes version -- it's best to assume the behavior is undefined
868                # and conflicts should be avoided.
869                # For more information, including usage and the valid values, see:
870                # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
871              "a_key": "A String",
872            },
873            "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
874                # no Service Account is specified, the "default" service account is used.
875            "oauthScopes": [ # The set of Google API scopes to be made available on all of the
876                # node VMs under the "default" service account.
877                #
878                # The following scopes are recommended, but not required, and by default are
879                # not included:
880                #
881                # * `https://www.googleapis.com/auth/compute` is required for mounting
882                # persistent storage on your nodes.
883                # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
884                # communicating with **gcr.io**
885                # (the [Google Container Registry](/container-registry/)).
886                #
887                # If unspecified, no scopes are added, unless Cloud Logging or Cloud
888                # Monitoring are enabled, in which case their required scopes will be added.
889              "A String",
890            ],
891            "taints": [ # List of kubernetes taints to be applied to each node.
892                #
893                # For more information, including usage and the valid values, see:
894                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
895              { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
896                  # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
897                  #
898                  # For more information, including usage and the valid values, see:
899                  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
900                "key": "A String", # Key for taint.
901                "effect": "A String", # Effect for taint.
902                "value": "A String", # Value for taint.
903              },
904            ],
905            "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
906                # workloads on the node pool.
907              "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
908                  # workloads running on the node.
909            },
910            "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
911                # The smallest allowed disk size is 10GB.
912                #
913                # If unspecified, the default disk size is 100GB.
914            "accelerators": [ # A list of hardware accelerators to be attached to each node.
915                # See https://cloud.google.com/compute/docs/gpus for more information about
916                # support for GPUs.
917              { # AcceleratorConfig represents a Hardware Accelerator request.
918                "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
919                "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
920                    # [here](/compute/docs/gpus/#Introduction)
921              },
922            ],
923            "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
924                # scheduled on the specified or newer CPU platform. Applicable values are the
925                # friendly names of CPU platforms, such as
926                # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
927                # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
928                # information, read [how to specify min CPU
929                # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
930            "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
931                #
932                # The limit for this value is dependant upon the maximum number of
933                # disks available on a machine per zone. See:
934                # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
935                # for more information.
936            "imageType": "A String", # The image type to use for this node. Note that for a given image type,
937                # the latest version of it will be used.
938            "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
939                #
940                # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
941                # in length. These are reflected as part of a URL in the metadata server.
942                # Additionally, to avoid ambiguity, keys must not conflict with any other
943                # metadata keys for the project or be one of the reserved keys:
944                #  "cluster-location"
945                #  "cluster-name"
946                #  "cluster-uid"
947                #  "configure-sh"
948                #  "containerd-configure-sh"
949                #  "enable-oslogin"
950                #  "gci-ensure-gke-docker"
951                #  "gci-update-strategy"
952                #  "instance-template"
953                #  "kube-env"
954                #  "startup-script"
955                #  "user-data"
956                #  "disable-address-manager"
957                #  "windows-startup-script-ps1"
958                #  "common-psm1"
959                #  "k8s-node-setup-psm1"
960                #  "install-ssh-psm1"
961                #  "user-profile-psm1"
962                #  "serial-port-logging-enable"
963                # Values are free-form strings, and only have meaning as interpreted by
964                # the image running in the instance. The only restriction placed on them is
965                # that each value's size must be less than or equal to 32 KB.
966                #
967                # The total size of all keys and values must be less than 512 KB.
968              "a_key": "A String",
969            },
970          },
971          "conditions": [ # Which conditions caused the current node pool state.
972            { # StatusCondition describes why a cluster or a node pool has a certain status
973                # (e.g., ERROR or DEGRADED).
974              "message": "A String", # Human-friendly representation of the condition
975              "code": "A String", # Machine-friendly representation of the condition
976            },
977          ],
978          "selfLink": "A String", # [Output only] Server-defined URL for the resource.
979        },
980      ],
981      "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
982          # Currently available options:
983          #
984          # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
985          # * `none` - no metrics will be exported from the cluster.
986          # * if left as an empty string, `monitoring.googleapis.com` will be used.
987      "createTime": "A String", # [Output only] The time the cluster was created, in
988          # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
989      "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
990        "enabled": True or False, # Whether this cluster should return group membership lookups
991            # during authentication using a group of security groups.
992        "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
993            # if enabled = true.
994      },
995      "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
996        "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
997        "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
998        "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
999            # given only RFC 1918 private addresses and communicate with the master via
1000            # private networking.
1001        "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
1002        "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
1003            # range will be used for assigning internal IP addresses to the master or
1004            # set of masters, as well as the ILB VIP. This range must not overlap with
1005            # any other ranges in use within the cluster's network.
1006        "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering.
1007      },
1008      "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
1009          # The endpoint can be accessed from the internet at
1010          # `https://username:password@endpoint/`.
1011          #
1012          # See the `masterAuth` property of this resource for username and
1013          # password information.
1014      "currentNodeCount": 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
1015          # Call Kubernetes API directly to retrieve node information.
1016      "name": "A String", # The name of this cluster. The name must be unique within this project
1017          # and zone, and can be up to 40 characters with the following restrictions:
1018          #
1019          # * Lowercase letters, numbers, and hyphens only.
1020          # * Must start with a letter.
1021          # * Must end with a number or a letter.
1022      "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
1023          # required by Vertical Pod Autoscaler to automatically adjust
1024          # the resources of pods controlled by it.
1025        "enabled": True or False, # Enables vertical pod autoscaling.
1026      },
1027      "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
1028          # API groups (e.g. v1beta1) and features that may not be production ready in
1029          # the kubernetes version of the master and nodes.
1030          # The cluster has no SLA for uptime and master/node upgrades are disabled.
1031          # Alpha enabled clusters are automatically deleted thirty days after
1032          # creation.
1033      "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster.  Valid versions are those
1034          # found in validMasterVersions returned by getServerConfig.  The version can
1035          # be upgraded over time; such upgrades are reflected in
1036          # currentMasterVersion and currentNodeVersion.
1037          #
1038          # Users may specify either explicit versions offered by
1039          # Kubernetes Engine or version aliases, which have the following behavior:
1040          #
1041          # - "latest": picks the highest valid Kubernetes version
1042          # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
1043          # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
1044          # - "1.X.Y-gke.N": picks an explicit Kubernetes version
1045          # - "","-": picks the default Kubernetes version
1046      "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
1047          # For requests, this field should only be used in lieu of a
1048          # "node_pool" object, since this configuration (along with the
1049          # "initial_node_count") will be used to create a "NodePool" object with an
1050          # auto-generated name. Do not use this and a node_pool at the same time.
1051          # For responses, this field will be populated with the node configuration of
1052          # the first node pool. (For configuration of each node pool, see
1053          # `node_pool.config`)
1054          #
1055          # If unspecified, the defaults are used.
1056          # This field is deprecated, use node_pool.config instead.
1057        "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
1058          "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
1059        },
1060        "machineType": "A String", # The name of a Google Compute Engine [machine
1061            # type](/compute/docs/machine-types) (e.g.
1062            # `n1-standard-1`).
1063            #
1064            # If unspecified, the default machine type is
1065            # `n1-standard-1`.
1066        "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
1067          "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
1068              #
1069              # Enables monitoring and attestation of the boot integrity of the instance.
1070              # The attestation is performed against the integrity policy baseline. This
1071              # baseline is initially derived from the implicitly trusted boot image when
1072              # the instance is created.
1073          "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
1074              #
1075              # Secure Boot helps ensure that the system only runs authentic software by
1076              # verifying the digital signature of all boot components, and halting the
1077              # boot process if signature verification fails.
1078        },
1079        "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
1080            #
1081            # If unspecified, the default disk type is 'pd-standard'
1082        "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
1083            # valid sources or targets for network firewalls and are specified by
1084            # the client during cluster or node pool creation. Each tag within the list
1085            # must comply with RFC1035.
1086          "A String",
1087        ],
1088        "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
1089            # https://cloud.google.com/compute/docs/instances/preemptible for more
1090            # inforamtion about preemptible VM instances.
1091        "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
1092            # These will added in addition to any default label(s) that
1093            # Kubernetes may apply to the node.
1094            # In case of conflict in label keys, the applied set may differ depending on
1095            # the Kubernetes version -- it's best to assume the behavior is undefined
1096            # and conflicts should be avoided.
1097            # For more information, including usage and the valid values, see:
1098            # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1099          "a_key": "A String",
1100        },
1101        "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
1102            # no Service Account is specified, the "default" service account is used.
1103        "oauthScopes": [ # The set of Google API scopes to be made available on all of the
1104            # node VMs under the "default" service account.
1105            #
1106            # The following scopes are recommended, but not required, and by default are
1107            # not included:
1108            #
1109            # * `https://www.googleapis.com/auth/compute` is required for mounting
1110            # persistent storage on your nodes.
1111            # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
1112            # communicating with **gcr.io**
1113            # (the [Google Container Registry](/container-registry/)).
1114            #
1115            # If unspecified, no scopes are added, unless Cloud Logging or Cloud
1116            # Monitoring are enabled, in which case their required scopes will be added.
1117          "A String",
1118        ],
1119        "taints": [ # List of kubernetes taints to be applied to each node.
1120            #
1121            # For more information, including usage and the valid values, see:
1122            # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1123          { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
1124              # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
1125              #
1126              # For more information, including usage and the valid values, see:
1127              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1128            "key": "A String", # Key for taint.
1129            "effect": "A String", # Effect for taint.
1130            "value": "A String", # Value for taint.
1131          },
1132        ],
1133        "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
1134            # workloads on the node pool.
1135          "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
1136              # workloads running on the node.
1137        },
1138        "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
1139            # The smallest allowed disk size is 10GB.
1140            #
1141            # If unspecified, the default disk size is 100GB.
1142        "accelerators": [ # A list of hardware accelerators to be attached to each node.
1143            # See https://cloud.google.com/compute/docs/gpus for more information about
1144            # support for GPUs.
1145          { # AcceleratorConfig represents a Hardware Accelerator request.
1146            "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
1147            "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
1148                # [here](/compute/docs/gpus/#Introduction)
1149          },
1150        ],
1151        "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
1152            # scheduled on the specified or newer CPU platform. Applicable values are the
1153            # friendly names of CPU platforms, such as
1154            # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
1155            # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
1156            # information, read [how to specify min CPU
1157            # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
1158        "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
1159            #
1160            # The limit for this value is dependant upon the maximum number of
1161            # disks available on a machine per zone. See:
1162            # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
1163            # for more information.
1164        "imageType": "A String", # The image type to use for this node. Note that for a given image type,
1165            # the latest version of it will be used.
1166        "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
1167            #
1168            # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
1169            # in length. These are reflected as part of a URL in the metadata server.
1170            # Additionally, to avoid ambiguity, keys must not conflict with any other
1171            # metadata keys for the project or be one of the reserved keys:
1172            #  "cluster-location"
1173            #  "cluster-name"
1174            #  "cluster-uid"
1175            #  "configure-sh"
1176            #  "containerd-configure-sh"
1177            #  "enable-oslogin"
1178            #  "gci-ensure-gke-docker"
1179            #  "gci-update-strategy"
1180            #  "instance-template"
1181            #  "kube-env"
1182            #  "startup-script"
1183            #  "user-data"
1184            #  "disable-address-manager"
1185            #  "windows-startup-script-ps1"
1186            #  "common-psm1"
1187            #  "k8s-node-setup-psm1"
1188            #  "install-ssh-psm1"
1189            #  "user-profile-psm1"
1190            #  "serial-port-logging-enable"
1191            # Values are free-form strings, and only have meaning as interpreted by
1192            # the image running in the instance. The only restriction placed on them is
1193            # that each value's size must be less than or equal to 32 KB.
1194            #
1195            # The total size of all keys and values must be less than 512 KB.
1196          "a_key": "A String",
1197        },
1198      },
1199      "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
1200          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1201          # notation (e.g. `10.96.0.0/14`). Leave blank to have
1202          # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
1203      "subnetwork": "A String", # The name of the Google Compute Engine
1204          # [subnetwork](/compute/docs/subnetworks) to which the
1205          # cluster is connected. On output this shows the subnetwork ID instead of
1206          # the name.
1207      "resourceLabels": { # The resource labels for the cluster to use to annotate any related
1208          # Google Compute Engine resources.
1209        "a_key": "A String",
1210      },
1211      "selfLink": "A String", # [Output only] Server-defined URL for the resource.
1212      "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
1213          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1214          # notation (e.g. `1.2.3.4/29`).
1215    },
1216  }
1217
1218  x__xgafv: string, V1 error format.
1219    Allowed values
1220      1 - v1 error format
1221      2 - v2 error format
1222
1223Returns:
1224  An object of the form:
1225
1226    { # This operation resource represents operations that may have happened or are
1227      # happening on the cluster. All fields are output only.
1228    "status": "A String", # The current status of the operation.
1229    "endTime": "A String", # [Output only] The time the operation completed, in
1230        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1231    "name": "A String", # The server-assigned ID for the operation.
1232    "zone": "A String", # The name of the Google Compute Engine
1233        # [zone](/compute/docs/zones#available) in which the operation
1234        # is taking place.
1235        # This field is deprecated, use location instead.
1236    "location": "A String", # [Output only] The name of the Google Compute Engine
1237        # [zone](/compute/docs/regions-zones/regions-zones#available) or
1238        # [region](/compute/docs/regions-zones/regions-zones#available) in which
1239        # the cluster resides.
1240    "startTime": "A String", # [Output only] The time the operation started, in
1241        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1242    "detail": "A String", # Detailed operation progress, if available.
1243    "clusterConditions": [ # Which conditions caused the current cluster state.
1244      { # StatusCondition describes why a cluster or a node pool has a certain status
1245          # (e.g., ERROR or DEGRADED).
1246        "message": "A String", # Human-friendly representation of the condition
1247        "code": "A String", # Machine-friendly representation of the condition
1248      },
1249    ],
1250    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
1251    "operationType": "A String", # The operation type.
1252    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
1253      "status": "A String", # Status of an operation stage.
1254          # Unset for single-stage operations.
1255      "metrics": [ # Progress metric bundle, for example:
1256          #   metrics: [{name: "nodes done",     int_value: 15},
1257          #             {name: "nodes total",    int_value: 32}]
1258          # or
1259          #   metrics: [{name: "progress",       double_value: 0.56},
1260          #             {name: "progress scale", double_value: 1.0}]
1261        { # Progress metric is (string, int|float|string) pair.
1262          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
1263          "intValue": "A String", # For metrics with integer value.
1264          "name": "A String", # Metric name, required.
1265              # e.g., "nodes total", "percent done"
1266          "doubleValue": 3.14, # For metrics with floating point value.
1267        },
1268      ],
1269      "stages": [ # Substages of an operation or a stage.
1270        # Object with schema name: OperationProgress
1271      ],
1272      "name": "A String", # A non-parameterized string describing an operation stage.
1273          # Unset for single-stage operations.
1274    },
1275    "nodepoolConditions": [ # Which conditions caused the current node pool state.
1276      { # StatusCondition describes why a cluster or a node pool has a certain status
1277          # (e.g., ERROR or DEGRADED).
1278        "message": "A String", # Human-friendly representation of the condition
1279        "code": "A String", # Machine-friendly representation of the condition
1280      },
1281    ],
1282    "selfLink": "A String", # Server-defined URL for the resource.
1283    "targetLink": "A String", # Server-defined URL for the target of the operation.
1284  }</pre>
1285</div>
1286
1287<div class="method">
1288    <code class="details" id="delete">delete(projectId, zone, clusterId, name=None, x__xgafv=None)</code>
1289  <pre>Deletes the cluster, including the Kubernetes endpoint and all worker
1290nodes.
1291
1292Firewalls and routes that were configured during cluster creation
1293are also deleted.
1294
1295Other Google Compute Engine resources that might be in use by the cluster,
1296such as load balancer resources, are not deleted if they weren't present
1297when the cluster was initially created.
1298
1299Args:
1300  projectId: string, Deprecated. The Google Developers Console [project ID or project
1301number](https://support.google.com/cloud/answer/6158840).
1302This field has been deprecated and replaced by the name field. (required)
1303  zone: string, Deprecated. The name of the Google Compute Engine
1304[zone](/compute/docs/zones#available) in which the cluster
1305resides.
1306This field has been deprecated and replaced by the name field. (required)
1307  clusterId: string, Deprecated. The name of the cluster to delete.
1308This field has been deprecated and replaced by the name field. (required)
1309  name: string, The name (project, location, cluster) of the cluster to delete.
1310Specified in the format 'projects/*/locations/*/clusters/*'.
1311  x__xgafv: string, V1 error format.
1312    Allowed values
1313      1 - v1 error format
1314      2 - v2 error format
1315
1316Returns:
1317  An object of the form:
1318
1319    { # This operation resource represents operations that may have happened or are
1320      # happening on the cluster. All fields are output only.
1321    "status": "A String", # The current status of the operation.
1322    "endTime": "A String", # [Output only] The time the operation completed, in
1323        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1324    "name": "A String", # The server-assigned ID for the operation.
1325    "zone": "A String", # The name of the Google Compute Engine
1326        # [zone](/compute/docs/zones#available) in which the operation
1327        # is taking place.
1328        # This field is deprecated, use location instead.
1329    "location": "A String", # [Output only] The name of the Google Compute Engine
1330        # [zone](/compute/docs/regions-zones/regions-zones#available) or
1331        # [region](/compute/docs/regions-zones/regions-zones#available) in which
1332        # the cluster resides.
1333    "startTime": "A String", # [Output only] The time the operation started, in
1334        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1335    "detail": "A String", # Detailed operation progress, if available.
1336    "clusterConditions": [ # Which conditions caused the current cluster state.
1337      { # StatusCondition describes why a cluster or a node pool has a certain status
1338          # (e.g., ERROR or DEGRADED).
1339        "message": "A String", # Human-friendly representation of the condition
1340        "code": "A String", # Machine-friendly representation of the condition
1341      },
1342    ],
1343    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
1344    "operationType": "A String", # The operation type.
1345    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
1346      "status": "A String", # Status of an operation stage.
1347          # Unset for single-stage operations.
1348      "metrics": [ # Progress metric bundle, for example:
1349          #   metrics: [{name: "nodes done",     int_value: 15},
1350          #             {name: "nodes total",    int_value: 32}]
1351          # or
1352          #   metrics: [{name: "progress",       double_value: 0.56},
1353          #             {name: "progress scale", double_value: 1.0}]
1354        { # Progress metric is (string, int|float|string) pair.
1355          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
1356          "intValue": "A String", # For metrics with integer value.
1357          "name": "A String", # Metric name, required.
1358              # e.g., "nodes total", "percent done"
1359          "doubleValue": 3.14, # For metrics with floating point value.
1360        },
1361      ],
1362      "stages": [ # Substages of an operation or a stage.
1363        # Object with schema name: OperationProgress
1364      ],
1365      "name": "A String", # A non-parameterized string describing an operation stage.
1366          # Unset for single-stage operations.
1367    },
1368    "nodepoolConditions": [ # Which conditions caused the current node pool state.
1369      { # StatusCondition describes why a cluster or a node pool has a certain status
1370          # (e.g., ERROR or DEGRADED).
1371        "message": "A String", # Human-friendly representation of the condition
1372        "code": "A String", # Machine-friendly representation of the condition
1373      },
1374    ],
1375    "selfLink": "A String", # Server-defined URL for the resource.
1376    "targetLink": "A String", # Server-defined URL for the target of the operation.
1377  }</pre>
1378</div>
1379
1380<div class="method">
1381    <code class="details" id="get">get(projectId, zone, clusterId, name=None, x__xgafv=None)</code>
1382  <pre>Gets the details for a specific cluster.
1383
1384Args:
1385  projectId: string, Deprecated. The Google Developers Console [project ID or project
1386number](https://support.google.com/cloud/answer/6158840).
1387This field has been deprecated and replaced by the name field. (required)
1388  zone: string, Deprecated. The name of the Google Compute Engine
1389[zone](/compute/docs/zones#available) in which the cluster
1390resides.
1391This field has been deprecated and replaced by the name field. (required)
1392  clusterId: string, Deprecated. The name of the cluster to retrieve.
1393This field has been deprecated and replaced by the name field. (required)
1394  name: string, The name (project, location, cluster) of the cluster to retrieve.
1395Specified in the format 'projects/*/locations/*/clusters/*'.
1396  x__xgafv: string, V1 error format.
1397    Allowed values
1398      1 - v1 error format
1399      2 - v2 error format
1400
1401Returns:
1402  An object of the form:
1403
1404    { # A Google Kubernetes Engine cluster.
1405    "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
1406        # containers. This is provisioned from within the `container_ipv4_cidr`
1407        # range. This field will only be set when cluster is in route-based network
1408        # mode.
1409    "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
1410      "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
1411        "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
1412          "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
1413              # smallest possible in the given scenario.
1414          "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
1415              # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
1416        },
1417      },
1418    },
1419    "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
1420        # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
1421      "enabled": True or False, # Whether network policy is enabled on the cluster.
1422      "provider": "A String", # The selected network policy provider.
1423    },
1424    "loggingService": "A String", # The logging service the cluster should use to write logs.
1425        # Currently available options:
1426        #
1427        # * `logging.googleapis.com` - the Google Cloud Logging service.
1428        # * `none` - no logs will be exported from the cluster.
1429        # * if left as an empty string,`logging.googleapis.com` will be used.
1430    "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
1431        # master authorized networks will disallow all external traffic to access
1432        # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
1433        # Google Compute Engine Public IPs and Google Prod IPs.
1434      "enabled": True or False, # Whether or not master authorized networks is enabled.
1435      "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access
1436          # Kubernetes master through HTTPS.
1437        { # CidrBlock contains an optional name and one CIDR block.
1438          "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
1439          "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
1440        },
1441      ],
1442    },
1443    "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
1444        # cluster, enabling additional functionality.
1445      "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
1446          # is enabled or not on the Master, it does not track whether network policy
1447          # is enabled for the nodes.
1448          # is enabled or not on the Master, it does not track whether network policy
1449          # is enabled for the nodes.
1450        "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
1451      },
1452      "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
1453          # enabled in order to enable Cloud Run addon. This option can only be enabled
1454          # at cluster creation time.
1455        "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
1456      },
1457      "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
1458          # makes it easy to set up HTTP load balancers for services in a cluster.
1459          # which makes it easy to set up HTTP load balancers for services in a cluster.
1460        "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
1461            # When enabled, it runs a small pod in the cluster that manages the load
1462            # balancers.
1463      },
1464      "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
1465          # increases or decreases the number of replica pods a replication controller
1466          # has based on the resource usage of the existing pods.
1467          # increases or decreases the number of replica pods a replication controller
1468          # has based on the resource usage of the existing pods.
1469        "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
1470            # When enabled, it ensures that a Heapster pod is running in the cluster,
1471            # which is also used by the Cloud Monitoring service.
1472      },
1473      "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
1474          # microservices.
1475        "disabled": True or False, # Whether Istio is enabled for this cluster.
1476        "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
1477      },
1478      "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
1479          # This addon is deprecated, and will be disabled in 1.15. It is recommended
1480          # to use the Cloud Console to manage and monitor your Kubernetes clusters,
1481          # workloads and applications. For more information, see:
1482          # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
1483        "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
1484      },
1485    },
1486    "locations": [ # The list of Google Compute Engine
1487        # [zones](/compute/docs/zones#available) in which the cluster's nodes
1488        # should be located.
1489      "A String",
1490    ],
1491    "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
1492        # mode.
1493      "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
1494          # identities in the system, including service accounts, nodes, and
1495          # controllers, will have statically granted permissions beyond those
1496          # provided by the RBAC configuration or IAM.
1497    },
1498    "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
1499    "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
1500        # simultaneously on a node in the node pool of this cluster. Only honored
1501        # if cluster created with IP Alias support.
1502      "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
1503    },
1504    "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
1505      "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
1506      "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
1507      "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
1508      "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
1509          # `cluster.cluster_ipv4_cidr` must be left blank.
1510          #
1511          # This field is only applicable when `use_ip_aliases` is true.
1512          #
1513          # Set to blank to have a range chosen with the default size.
1514          #
1515          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1516          # netmask.
1517          #
1518          # Set to a
1519          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1520          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1521          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1522          # to use.
1523      "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
1524          # block.  The secondary range will be used for pod IP
1525          # addresses. This must be an existing secondary range associated
1526          # with the cluster subnetwork.
1527          #
1528          # This field is only applicable with use_ip_aliases and
1529          # create_subnetwork is false.
1530      "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
1531          # will be automatically chosen with the default size.
1532          #
1533          # This field is only applicable when `use_ip_aliases` is true.
1534          #
1535          # Set to blank to have a range chosen with the default size.
1536          #
1537          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1538          # netmask.
1539          #
1540          # Set to a
1541          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1542          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1543          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1544          # to use.
1545      "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
1546          #
1547          # This field is only applicable when `use_ip_aliases` is true.
1548      "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
1549          #
1550          # This is applicable only if `create_subnetwork` is true.
1551          #
1552          # Set to blank to have a range chosen with the default size.
1553          #
1554          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1555          # netmask.
1556          #
1557          # Set to a
1558          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1559          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1560          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1561          # to use.
1562      "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
1563          # range will be automatically chosen with the default size.
1564          #
1565          # This field is only applicable when `use_ip_aliases` is true.
1566          #
1567          # If unspecified, the range will use the default size.
1568          #
1569          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1570          # netmask.
1571          #
1572          # Set to a
1573          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1574          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1575          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1576          # to use.
1577      "allowRouteOverlap": True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
1578          # kinds of network routes. By default we do not allow cluster CIDR ranges to
1579          # intersect with any user declared routes. With allow_route_overlap == true,
1580          # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
1581          # range.
1582          #
1583          # If this field is set to true, then cluster and services CIDRs must be
1584          # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
1585          # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
1586          #    `services_ipv4_cidr_block` must be fully-specified.
1587          # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
1588          #    fully-specified.
1589      "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true.  If
1590          # this field is empty, then an automatic name will be chosen for the new
1591          # subnetwork.
1592      "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
1593          # CIDR block.  The secondary range will be used for service
1594          # ClusterIPs. This must be an existing secondary range associated
1595          # with the cluster subnetwork.
1596          #
1597          # This field is only applicable with use_ip_aliases and
1598          # create_subnetwork is false.
1599      "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
1600    },
1601    "network": "A String", # The name of the Google Compute Engine
1602        # [network](/compute/docs/networks-and-firewalls#networks) to which the
1603        # cluster is connected. If left unspecified, the `default` network
1604        # will be used. On output this shows the network ID instead of
1605        # the name.
1606    "zone": "A String", # [Output only] The name of the Google Compute Engine
1607        # [zone](/compute/docs/zones#available) in which the cluster
1608        # resides.
1609        # This field is deprecated, use location instead.
1610    "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
1611      "A String",
1612    ],
1613    "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
1614      "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
1615          # [subnetwork](/compute/docs/vpc) to which the cluster is connected.
1616          # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
1617      "network": "A String", # Output only. The relative name of the Google Compute Engine
1618          # network(/compute/docs/networks-and-firewalls#networks) to which
1619          # the cluster is connected.
1620          # Example: projects/my-project/global/networks/my-network
1621      "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
1622          # This makes same node pod to pod traffic visible for VPC network.
1623    },
1624    "privateCluster": True or False, # If this is a private cluster setup. Private clusters are clusters that, by
1625        # default have no external IP addresses on the nodes and where nodes and the
1626        # master communicate over private IP addresses.
1627        # This field is deprecated, use private_cluster_config.enable_private_nodes
1628        # instead.
1629    "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
1630      "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
1631          # must be valid under a PodSecurityPolicy to be created.
1632    },
1633    "location": "A String", # [Output only] The name of the Google Compute Engine
1634        # [zone](/compute/docs/regions-zones/regions-zones#available) or
1635        # [region](/compute/docs/regions-zones/regions-zones#available) in which
1636        # the cluster resides.
1637    "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
1638        # policies.
1639        # policies.
1640      "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
1641    },
1642    "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
1643        # disabled when this config unspecified.
1644      "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
1645        "datasetId": "A String", # The ID of a BigQuery Dataset.
1646      },
1647      "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
1648          # daemonset will be created in the cluster to meter network egress traffic.
1649      "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
1650        "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
1651            # second BigQuery table will be created to hold resource consumption
1652            # records.
1653      },
1654    },
1655    "masterIpv4CidrBlock": "A String", # The IP prefix in CIDR notation to use for the hosted master network.
1656        # This prefix will be used for assigning private IP addresses to the
1657        # master or set of masters, as well as the ILB VIP.
1658        # This field is deprecated, use
1659        # private_cluster_config.master_ipv4_cidr_block instead.
1660    "conditions": [ # Which conditions caused the current cluster state.
1661      { # StatusCondition describes why a cluster or a node pool has a certain status
1662          # (e.g., ERROR or DEGRADED).
1663        "message": "A String", # Human-friendly representation of the condition
1664        "code": "A String", # Machine-friendly representation of the condition
1665      },
1666    ],
1667    "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
1668        # this cluster, in
1669        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1670        # notation (e.g. `1.2.3.4/29`). Service addresses are
1671        # typically put in the last `/16` from the container CIDR.
1672    "statusMessage": "A String", # [Output only] Additional information about the current status of this
1673        # cluster, if available.
1674    "tierSettings": { # Cluster tier settings. # Cluster tier settings.
1675      "tier": "A String", # Cluster tier.
1676    },
1677    "status": "A String", # [Output only] The current status of this cluster.
1678    "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
1679    "description": "A String", # An optional description of this cluster.
1680    "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
1681      "state": "A String", # Denotes the state of etcd encryption.
1682      "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
1683          # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
1684    },
1685    "currentNodeVersion": "A String", # [Output only] Deprecated, use
1686        # [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
1687        # instead. The current version of the node software components.
1688        # If they are currently at multiple versions because they're in the process
1689        # of being upgraded, this reflects the minimum version of all nodes.
1690    "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
1691      "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
1692          # images will be validated by Google Binauthz.
1693    },
1694    "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
1695    "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
1696        # required by Cluster Autoscaler to automatically adjust
1697        # the size of the cluster and create/delete
1698        # node pools based on the current needs.
1699      "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
1700          # created by NAP.
1701          # by NAP.
1702        "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
1703            # service_account is specified, scopes should be empty.
1704        "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
1705            # specified, service_account should be empty.
1706          "A String",
1707        ],
1708      },
1709      "resourceLimits": [ # Contains global constraints regarding minimum and maximum
1710          # amount of resources in the cluster.
1711        { # Contains information about amount of some resource in the cluster.
1712            # For memory, value should be in GB.
1713          "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
1714          "minimum": "A String", # Minimum amount of the resource in the cluster.
1715          "maximum": "A String", # Maximum amount of the resource in the cluster.
1716        },
1717      ],
1718      "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
1719          # in which the NodePool's nodes can be created by NAP.
1720        "A String",
1721      ],
1722      "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
1723    },
1724    "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
1725        # If unspecified, the defaults are used:
1726        # For clusters before v1.12, if master_auth is unspecified, `username` will
1727        # be set to "admin", a random password will be generated, and a client
1728        # certificate will be issued.
1729        # Authentication can be done using HTTP basic auth or using client
1730        # certificates.
1731      "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
1732          # For clusters v1.6.0 and later, basic authentication can be disabled by
1733          # leaving username unspecified (or setting it to the empty string).
1734      "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
1735          # to the cluster endpoint.
1736      "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
1737          # authenticate to the cluster endpoint.
1738      "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
1739          # clusters before v1.12, if no configuration is specified, a client
1740          # certificate is issued.
1741        "issueClientCertificate": True or False, # Issue a client certificate.
1742      },
1743      "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
1744          # Because the master endpoint is open to the Internet, you should create a
1745          # strong password.  If a password is provided for cluster creation, username
1746          # must be non-empty.
1747      "clusterCaCertificate": "A String",
1748    },
1749    "expireTime": "A String", # [Output only] The time the cluster will be automatically
1750        # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1751    "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
1752        # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
1753        # is sufficient for this number of instances. You must also have available
1754        # firewall and routes quota.
1755        # For requests, this field should only be used in lieu of a
1756        # "node_pool" object, since this configuration (along with the
1757        # "node_config") will be used to create a "NodePool" object with an
1758        # auto-generated name. Do not use this and a node_pool at the same time.
1759        #
1760        # This field is deprecated, use node_pool.initial_node_count instead.
1761    "nodePools": [ # The node pools associated with this cluster.
1762        # This field should not be set if "node_config" or "initial_node_count" are
1763        # specified.
1764      { # NodePool contains the name and configuration for a cluster's node pool.
1765          # Node pools are a set of nodes (i.e. VM's), with a common configuration and
1766          # specification, under the control of the cluster master. They may have a set
1767          # of Kubernetes labels applied to them, which may be used to reference them
1768          # during pod scheduling. They may also be resized up or down, to accommodate
1769          # the workload.
1770        "status": "A String", # [Output only] The status of the nodes in this pool instance.
1771        "statusMessage": "A String", # [Output only] Additional information about the current status of this
1772            # node pool instance, if available.
1773        "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
1774            # node pool.
1775          "autoRepair": True or False, # Whether the nodes will be automatically repaired.
1776          "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
1777              # the Auto Upgrades will proceed.
1778            "description": "A String", # [Output only] This field is set when upgrades are about to commence
1779                # with the description of the upgrade.
1780            "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
1781                # with the approximate start time for the upgrades, in
1782                # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1783          },
1784          "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
1785        },
1786        "name": "A String", # The name of the node pool.
1787        "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
1788            # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
1789            # associated with this node pool.
1790          "A String",
1791        ],
1792        "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
1793            # only if a valid configuration is present.
1794            # adjust the size of the node pool to the current cluster usage.
1795          "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
1796              # max_node_count.
1797          "autoprovisioned": True or False, # Can this node pool be deleted automatically.
1798          "enabled": True or False, # Is autoscaling enabled for this node pool.
1799          "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
1800              # has to enough quota to scale up the cluster.
1801        },
1802        "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
1803            # in which the NodePool's nodes should be located.
1804          "A String",
1805        ],
1806        "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
1807            # simultaneously on a node in the node pool.
1808          "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
1809        },
1810        "version": "A String", # The version of the Kubernetes of this node.
1811        "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
1812            # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
1813            # is sufficient for this number of instances. You must also have available
1814            # firewall and routes quota.
1815        "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
1816        "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
1817          "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
1818            "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
1819          },
1820          "machineType": "A String", # The name of a Google Compute Engine [machine
1821              # type](/compute/docs/machine-types) (e.g.
1822              # `n1-standard-1`).
1823              #
1824              # If unspecified, the default machine type is
1825              # `n1-standard-1`.
1826          "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
1827            "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
1828                #
1829                # Enables monitoring and attestation of the boot integrity of the instance.
1830                # The attestation is performed against the integrity policy baseline. This
1831                # baseline is initially derived from the implicitly trusted boot image when
1832                # the instance is created.
1833            "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
1834                #
1835                # Secure Boot helps ensure that the system only runs authentic software by
1836                # verifying the digital signature of all boot components, and halting the
1837                # boot process if signature verification fails.
1838          },
1839          "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
1840              #
1841              # If unspecified, the default disk type is 'pd-standard'
1842          "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
1843              # valid sources or targets for network firewalls and are specified by
1844              # the client during cluster or node pool creation. Each tag within the list
1845              # must comply with RFC1035.
1846            "A String",
1847          ],
1848          "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
1849              # https://cloud.google.com/compute/docs/instances/preemptible for more
1850              # inforamtion about preemptible VM instances.
1851          "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
1852              # These will added in addition to any default label(s) that
1853              # Kubernetes may apply to the node.
1854              # In case of conflict in label keys, the applied set may differ depending on
1855              # the Kubernetes version -- it's best to assume the behavior is undefined
1856              # and conflicts should be avoided.
1857              # For more information, including usage and the valid values, see:
1858              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
1859            "a_key": "A String",
1860          },
1861          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
1862              # no Service Account is specified, the "default" service account is used.
1863          "oauthScopes": [ # The set of Google API scopes to be made available on all of the
1864              # node VMs under the "default" service account.
1865              #
1866              # The following scopes are recommended, but not required, and by default are
1867              # not included:
1868              #
1869              # * `https://www.googleapis.com/auth/compute` is required for mounting
1870              # persistent storage on your nodes.
1871              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
1872              # communicating with **gcr.io**
1873              # (the [Google Container Registry](/container-registry/)).
1874              #
1875              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
1876              # Monitoring are enabled, in which case their required scopes will be added.
1877            "A String",
1878          ],
1879          "taints": [ # List of kubernetes taints to be applied to each node.
1880              #
1881              # For more information, including usage and the valid values, see:
1882              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1883            { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
1884                # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
1885                #
1886                # For more information, including usage and the valid values, see:
1887                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1888              "key": "A String", # Key for taint.
1889              "effect": "A String", # Effect for taint.
1890              "value": "A String", # Value for taint.
1891            },
1892          ],
1893          "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
1894              # workloads on the node pool.
1895            "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
1896                # workloads running on the node.
1897          },
1898          "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
1899              # The smallest allowed disk size is 10GB.
1900              #
1901              # If unspecified, the default disk size is 100GB.
1902          "accelerators": [ # A list of hardware accelerators to be attached to each node.
1903              # See https://cloud.google.com/compute/docs/gpus for more information about
1904              # support for GPUs.
1905            { # AcceleratorConfig represents a Hardware Accelerator request.
1906              "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
1907              "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
1908                  # [here](/compute/docs/gpus/#Introduction)
1909            },
1910          ],
1911          "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
1912              # scheduled on the specified or newer CPU platform. Applicable values are the
1913              # friendly names of CPU platforms, such as
1914              # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
1915              # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
1916              # information, read [how to specify min CPU
1917              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
1918          "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
1919              #
1920              # The limit for this value is dependant upon the maximum number of
1921              # disks available on a machine per zone. See:
1922              # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
1923              # for more information.
1924          "imageType": "A String", # The image type to use for this node. Note that for a given image type,
1925              # the latest version of it will be used.
1926          "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
1927              #
1928              # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
1929              # in length. These are reflected as part of a URL in the metadata server.
1930              # Additionally, to avoid ambiguity, keys must not conflict with any other
1931              # metadata keys for the project or be one of the reserved keys:
1932              #  "cluster-location"
1933              #  "cluster-name"
1934              #  "cluster-uid"
1935              #  "configure-sh"
1936              #  "containerd-configure-sh"
1937              #  "enable-oslogin"
1938              #  "gci-ensure-gke-docker"
1939              #  "gci-update-strategy"
1940              #  "instance-template"
1941              #  "kube-env"
1942              #  "startup-script"
1943              #  "user-data"
1944              #  "disable-address-manager"
1945              #  "windows-startup-script-ps1"
1946              #  "common-psm1"
1947              #  "k8s-node-setup-psm1"
1948              #  "install-ssh-psm1"
1949              #  "user-profile-psm1"
1950              #  "serial-port-logging-enable"
1951              # Values are free-form strings, and only have meaning as interpreted by
1952              # the image running in the instance. The only restriction placed on them is
1953              # that each value's size must be less than or equal to 32 KB.
1954              #
1955              # The total size of all keys and values must be less than 512 KB.
1956            "a_key": "A String",
1957          },
1958        },
1959        "conditions": [ # Which conditions caused the current node pool state.
1960          { # StatusCondition describes why a cluster or a node pool has a certain status
1961              # (e.g., ERROR or DEGRADED).
1962            "message": "A String", # Human-friendly representation of the condition
1963            "code": "A String", # Machine-friendly representation of the condition
1964          },
1965        ],
1966        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
1967      },
1968    ],
1969    "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
1970        # Currently available options:
1971        #
1972        # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
1973        # * `none` - no metrics will be exported from the cluster.
1974        # * if left as an empty string, `monitoring.googleapis.com` will be used.
1975    "createTime": "A String", # [Output only] The time the cluster was created, in
1976        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1977    "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
1978      "enabled": True or False, # Whether this cluster should return group membership lookups
1979          # during authentication using a group of security groups.
1980      "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
1981          # if enabled = true.
1982    },
1983    "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
1984      "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
1985      "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
1986      "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
1987          # given only RFC 1918 private addresses and communicate with the master via
1988          # private networking.
1989      "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
1990      "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
1991          # range will be used for assigning internal IP addresses to the master or
1992          # set of masters, as well as the ILB VIP. This range must not overlap with
1993          # any other ranges in use within the cluster's network.
1994      "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering.
1995    },
1996    "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
1997        # The endpoint can be accessed from the internet at
1998        # `https://username:password@endpoint/`.
1999        #
2000        # See the `masterAuth` property of this resource for username and
2001        # password information.
2002    "currentNodeCount": 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
2003        # Call Kubernetes API directly to retrieve node information.
2004    "name": "A String", # The name of this cluster. The name must be unique within this project
2005        # and zone, and can be up to 40 characters with the following restrictions:
2006        #
2007        # * Lowercase letters, numbers, and hyphens only.
2008        # * Must start with a letter.
2009        # * Must end with a number or a letter.
2010    "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
2011        # required by Vertical Pod Autoscaler to automatically adjust
2012        # the resources of pods controlled by it.
2013      "enabled": True or False, # Enables vertical pod autoscaling.
2014    },
2015    "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
2016        # API groups (e.g. v1beta1) and features that may not be production ready in
2017        # the kubernetes version of the master and nodes.
2018        # The cluster has no SLA for uptime and master/node upgrades are disabled.
2019        # Alpha enabled clusters are automatically deleted thirty days after
2020        # creation.
2021    "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster.  Valid versions are those
2022        # found in validMasterVersions returned by getServerConfig.  The version can
2023        # be upgraded over time; such upgrades are reflected in
2024        # currentMasterVersion and currentNodeVersion.
2025        #
2026        # Users may specify either explicit versions offered by
2027        # Kubernetes Engine or version aliases, which have the following behavior:
2028        #
2029        # - "latest": picks the highest valid Kubernetes version
2030        # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
2031        # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
2032        # - "1.X.Y-gke.N": picks an explicit Kubernetes version
2033        # - "","-": picks the default Kubernetes version
2034    "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
2035        # For requests, this field should only be used in lieu of a
2036        # "node_pool" object, since this configuration (along with the
2037        # "initial_node_count") will be used to create a "NodePool" object with an
2038        # auto-generated name. Do not use this and a node_pool at the same time.
2039        # For responses, this field will be populated with the node configuration of
2040        # the first node pool. (For configuration of each node pool, see
2041        # `node_pool.config`)
2042        #
2043        # If unspecified, the defaults are used.
2044        # This field is deprecated, use node_pool.config instead.
2045      "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
2046        "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
2047      },
2048      "machineType": "A String", # The name of a Google Compute Engine [machine
2049          # type](/compute/docs/machine-types) (e.g.
2050          # `n1-standard-1`).
2051          #
2052          # If unspecified, the default machine type is
2053          # `n1-standard-1`.
2054      "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
2055        "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
2056            #
2057            # Enables monitoring and attestation of the boot integrity of the instance.
2058            # The attestation is performed against the integrity policy baseline. This
2059            # baseline is initially derived from the implicitly trusted boot image when
2060            # the instance is created.
2061        "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
2062            #
2063            # Secure Boot helps ensure that the system only runs authentic software by
2064            # verifying the digital signature of all boot components, and halting the
2065            # boot process if signature verification fails.
2066      },
2067      "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
2068          #
2069          # If unspecified, the default disk type is 'pd-standard'
2070      "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
2071          # valid sources or targets for network firewalls and are specified by
2072          # the client during cluster or node pool creation. Each tag within the list
2073          # must comply with RFC1035.
2074        "A String",
2075      ],
2076      "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
2077          # https://cloud.google.com/compute/docs/instances/preemptible for more
2078          # inforamtion about preemptible VM instances.
2079      "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
2080          # These will added in addition to any default label(s) that
2081          # Kubernetes may apply to the node.
2082          # In case of conflict in label keys, the applied set may differ depending on
2083          # the Kubernetes version -- it's best to assume the behavior is undefined
2084          # and conflicts should be avoided.
2085          # For more information, including usage and the valid values, see:
2086          # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2087        "a_key": "A String",
2088      },
2089      "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
2090          # no Service Account is specified, the "default" service account is used.
2091      "oauthScopes": [ # The set of Google API scopes to be made available on all of the
2092          # node VMs under the "default" service account.
2093          #
2094          # The following scopes are recommended, but not required, and by default are
2095          # not included:
2096          #
2097          # * `https://www.googleapis.com/auth/compute` is required for mounting
2098          # persistent storage on your nodes.
2099          # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
2100          # communicating with **gcr.io**
2101          # (the [Google Container Registry](/container-registry/)).
2102          #
2103          # If unspecified, no scopes are added, unless Cloud Logging or Cloud
2104          # Monitoring are enabled, in which case their required scopes will be added.
2105        "A String",
2106      ],
2107      "taints": [ # List of kubernetes taints to be applied to each node.
2108          #
2109          # For more information, including usage and the valid values, see:
2110          # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2111        { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
2112            # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
2113            #
2114            # For more information, including usage and the valid values, see:
2115            # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2116          "key": "A String", # Key for taint.
2117          "effect": "A String", # Effect for taint.
2118          "value": "A String", # Value for taint.
2119        },
2120      ],
2121      "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
2122          # workloads on the node pool.
2123        "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
2124            # workloads running on the node.
2125      },
2126      "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
2127          # The smallest allowed disk size is 10GB.
2128          #
2129          # If unspecified, the default disk size is 100GB.
2130      "accelerators": [ # A list of hardware accelerators to be attached to each node.
2131          # See https://cloud.google.com/compute/docs/gpus for more information about
2132          # support for GPUs.
2133        { # AcceleratorConfig represents a Hardware Accelerator request.
2134          "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
2135          "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
2136              # [here](/compute/docs/gpus/#Introduction)
2137        },
2138      ],
2139      "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
2140          # scheduled on the specified or newer CPU platform. Applicable values are the
2141          # friendly names of CPU platforms, such as
2142          # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
2143          # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
2144          # information, read [how to specify min CPU
2145          # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
2146      "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
2147          #
2148          # The limit for this value is dependant upon the maximum number of
2149          # disks available on a machine per zone. See:
2150          # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
2151          # for more information.
2152      "imageType": "A String", # The image type to use for this node. Note that for a given image type,
2153          # the latest version of it will be used.
2154      "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
2155          #
2156          # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
2157          # in length. These are reflected as part of a URL in the metadata server.
2158          # Additionally, to avoid ambiguity, keys must not conflict with any other
2159          # metadata keys for the project or be one of the reserved keys:
2160          #  "cluster-location"
2161          #  "cluster-name"
2162          #  "cluster-uid"
2163          #  "configure-sh"
2164          #  "containerd-configure-sh"
2165          #  "enable-oslogin"
2166          #  "gci-ensure-gke-docker"
2167          #  "gci-update-strategy"
2168          #  "instance-template"
2169          #  "kube-env"
2170          #  "startup-script"
2171          #  "user-data"
2172          #  "disable-address-manager"
2173          #  "windows-startup-script-ps1"
2174          #  "common-psm1"
2175          #  "k8s-node-setup-psm1"
2176          #  "install-ssh-psm1"
2177          #  "user-profile-psm1"
2178          #  "serial-port-logging-enable"
2179          # Values are free-form strings, and only have meaning as interpreted by
2180          # the image running in the instance. The only restriction placed on them is
2181          # that each value's size must be less than or equal to 32 KB.
2182          #
2183          # The total size of all keys and values must be less than 512 KB.
2184        "a_key": "A String",
2185      },
2186    },
2187    "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
2188        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2189        # notation (e.g. `10.96.0.0/14`). Leave blank to have
2190        # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
2191    "subnetwork": "A String", # The name of the Google Compute Engine
2192        # [subnetwork](/compute/docs/subnetworks) to which the
2193        # cluster is connected. On output this shows the subnetwork ID instead of
2194        # the name.
2195    "resourceLabels": { # The resource labels for the cluster to use to annotate any related
2196        # Google Compute Engine resources.
2197      "a_key": "A String",
2198    },
2199    "selfLink": "A String", # [Output only] Server-defined URL for the resource.
2200    "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
2201        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2202        # notation (e.g. `1.2.3.4/29`).
2203  }</pre>
2204</div>
2205
2206<div class="method">
2207    <code class="details" id="legacyAbac">legacyAbac(projectId, zone, clusterId, body, x__xgafv=None)</code>
2208  <pre>Enables or disables the ABAC authorization mechanism on a cluster.
2209
2210Args:
2211  projectId: string, Deprecated. The Google Developers Console [project ID or project
2212number](https://support.google.com/cloud/answer/6158840).
2213This field has been deprecated and replaced by the name field. (required)
2214  zone: string, Deprecated. The name of the Google Compute Engine
2215[zone](/compute/docs/zones#available) in which the cluster
2216resides.
2217This field has been deprecated and replaced by the name field. (required)
2218  clusterId: string, Deprecated. The name of the cluster to update.
2219This field has been deprecated and replaced by the name field. (required)
2220  body: object, The request body. (required)
2221    The object takes the form of:
2222
2223{ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
2224      # a cluster.
2225    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
2226        # number](https://support.google.com/cloud/answer/6158840).
2227        # This field has been deprecated and replaced by the name field.
2228    "clusterId": "A String", # Deprecated. The name of the cluster to update.
2229        # This field has been deprecated and replaced by the name field.
2230    "enabled": True or False, # Whether ABAC authorization will be enabled in the cluster.
2231    "name": "A String", # The name (project, location, cluster id) of the cluster to set legacy abac.
2232        # Specified in the format 'projects/*/locations/*/clusters/*'.
2233    "zone": "A String", # Deprecated. The name of the Google Compute Engine
2234        # [zone](/compute/docs/zones#available) in which the cluster
2235        # resides.
2236        # This field has been deprecated and replaced by the name field.
2237  }
2238
2239  x__xgafv: string, V1 error format.
2240    Allowed values
2241      1 - v1 error format
2242      2 - v2 error format
2243
2244Returns:
2245  An object of the form:
2246
2247    { # This operation resource represents operations that may have happened or are
2248      # happening on the cluster. All fields are output only.
2249    "status": "A String", # The current status of the operation.
2250    "endTime": "A String", # [Output only] The time the operation completed, in
2251        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2252    "name": "A String", # The server-assigned ID for the operation.
2253    "zone": "A String", # The name of the Google Compute Engine
2254        # [zone](/compute/docs/zones#available) in which the operation
2255        # is taking place.
2256        # This field is deprecated, use location instead.
2257    "location": "A String", # [Output only] The name of the Google Compute Engine
2258        # [zone](/compute/docs/regions-zones/regions-zones#available) or
2259        # [region](/compute/docs/regions-zones/regions-zones#available) in which
2260        # the cluster resides.
2261    "startTime": "A String", # [Output only] The time the operation started, in
2262        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2263    "detail": "A String", # Detailed operation progress, if available.
2264    "clusterConditions": [ # Which conditions caused the current cluster state.
2265      { # StatusCondition describes why a cluster or a node pool has a certain status
2266          # (e.g., ERROR or DEGRADED).
2267        "message": "A String", # Human-friendly representation of the condition
2268        "code": "A String", # Machine-friendly representation of the condition
2269      },
2270    ],
2271    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
2272    "operationType": "A String", # The operation type.
2273    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
2274      "status": "A String", # Status of an operation stage.
2275          # Unset for single-stage operations.
2276      "metrics": [ # Progress metric bundle, for example:
2277          #   metrics: [{name: "nodes done",     int_value: 15},
2278          #             {name: "nodes total",    int_value: 32}]
2279          # or
2280          #   metrics: [{name: "progress",       double_value: 0.56},
2281          #             {name: "progress scale", double_value: 1.0}]
2282        { # Progress metric is (string, int|float|string) pair.
2283          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
2284          "intValue": "A String", # For metrics with integer value.
2285          "name": "A String", # Metric name, required.
2286              # e.g., "nodes total", "percent done"
2287          "doubleValue": 3.14, # For metrics with floating point value.
2288        },
2289      ],
2290      "stages": [ # Substages of an operation or a stage.
2291        # Object with schema name: OperationProgress
2292      ],
2293      "name": "A String", # A non-parameterized string describing an operation stage.
2294          # Unset for single-stage operations.
2295    },
2296    "nodepoolConditions": [ # Which conditions caused the current node pool state.
2297      { # StatusCondition describes why a cluster or a node pool has a certain status
2298          # (e.g., ERROR or DEGRADED).
2299        "message": "A String", # Human-friendly representation of the condition
2300        "code": "A String", # Machine-friendly representation of the condition
2301      },
2302    ],
2303    "selfLink": "A String", # Server-defined URL for the resource.
2304    "targetLink": "A String", # Server-defined URL for the target of the operation.
2305  }</pre>
2306</div>
2307
2308<div class="method">
2309    <code class="details" id="list">list(projectId, zone, parent=None, x__xgafv=None)</code>
2310  <pre>Lists all clusters owned by a project in either the specified zone or all
2311zones.
2312
2313Args:
2314  projectId: string, Deprecated. The Google Developers Console [project ID or project
2315number](https://support.google.com/cloud/answer/6158840).
2316This field has been deprecated and replaced by the parent field. (required)
2317  zone: string, Deprecated. The name of the Google Compute Engine
2318[zone](/compute/docs/zones#available) in which the cluster
2319resides, or "-" for all zones.
2320This field has been deprecated and replaced by the parent field. (required)
2321  parent: string, The parent (project and location) where the clusters will be listed.
2322Specified in the format 'projects/*/locations/*'.
2323Location "-" matches all zones and all regions.
2324  x__xgafv: string, V1 error format.
2325    Allowed values
2326      1 - v1 error format
2327      2 - v2 error format
2328
2329Returns:
2330  An object of the form:
2331
2332    { # ListClustersResponse is the result of ListClustersRequest.
2333    "clusters": [ # A list of clusters in the project in the specified zone, or
2334        # across all ones.
2335      { # A Google Kubernetes Engine cluster.
2336        "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
2337            # containers. This is provisioned from within the `container_ipv4_cidr`
2338            # range. This field will only be set when cluster is in route-based network
2339            # mode.
2340        "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
2341          "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
2342            "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
2343              "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
2344                  # smallest possible in the given scenario.
2345              "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
2346                  # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
2347            },
2348          },
2349        },
2350        "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
2351            # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
2352          "enabled": True or False, # Whether network policy is enabled on the cluster.
2353          "provider": "A String", # The selected network policy provider.
2354        },
2355        "loggingService": "A String", # The logging service the cluster should use to write logs.
2356            # Currently available options:
2357            #
2358            # * `logging.googleapis.com` - the Google Cloud Logging service.
2359            # * `none` - no logs will be exported from the cluster.
2360            # * if left as an empty string,`logging.googleapis.com` will be used.
2361        "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
2362            # master authorized networks will disallow all external traffic to access
2363            # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
2364            # Google Compute Engine Public IPs and Google Prod IPs.
2365          "enabled": True or False, # Whether or not master authorized networks is enabled.
2366          "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access
2367              # Kubernetes master through HTTPS.
2368            { # CidrBlock contains an optional name and one CIDR block.
2369              "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
2370              "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
2371            },
2372          ],
2373        },
2374        "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
2375            # cluster, enabling additional functionality.
2376          "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
2377              # is enabled or not on the Master, it does not track whether network policy
2378              # is enabled for the nodes.
2379              # is enabled or not on the Master, it does not track whether network policy
2380              # is enabled for the nodes.
2381            "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
2382          },
2383          "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
2384              # enabled in order to enable Cloud Run addon. This option can only be enabled
2385              # at cluster creation time.
2386            "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
2387          },
2388          "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
2389              # makes it easy to set up HTTP load balancers for services in a cluster.
2390              # which makes it easy to set up HTTP load balancers for services in a cluster.
2391            "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
2392                # When enabled, it runs a small pod in the cluster that manages the load
2393                # balancers.
2394          },
2395          "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
2396              # increases or decreases the number of replica pods a replication controller
2397              # has based on the resource usage of the existing pods.
2398              # increases or decreases the number of replica pods a replication controller
2399              # has based on the resource usage of the existing pods.
2400            "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
2401                # When enabled, it ensures that a Heapster pod is running in the cluster,
2402                # which is also used by the Cloud Monitoring service.
2403          },
2404          "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
2405              # microservices.
2406            "disabled": True or False, # Whether Istio is enabled for this cluster.
2407            "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
2408          },
2409          "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
2410              # This addon is deprecated, and will be disabled in 1.15. It is recommended
2411              # to use the Cloud Console to manage and monitor your Kubernetes clusters,
2412              # workloads and applications. For more information, see:
2413              # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
2414            "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
2415          },
2416        },
2417        "locations": [ # The list of Google Compute Engine
2418            # [zones](/compute/docs/zones#available) in which the cluster's nodes
2419            # should be located.
2420          "A String",
2421        ],
2422        "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
2423            # mode.
2424          "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
2425              # identities in the system, including service accounts, nodes, and
2426              # controllers, will have statically granted permissions beyond those
2427              # provided by the RBAC configuration or IAM.
2428        },
2429        "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
2430        "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
2431            # simultaneously on a node in the node pool of this cluster. Only honored
2432            # if cluster created with IP Alias support.
2433          "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
2434        },
2435        "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
2436          "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
2437          "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
2438          "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
2439          "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
2440              # `cluster.cluster_ipv4_cidr` must be left blank.
2441              #
2442              # This field is only applicable when `use_ip_aliases` is true.
2443              #
2444              # Set to blank to have a range chosen with the default size.
2445              #
2446              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
2447              # netmask.
2448              #
2449              # Set to a
2450              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2451              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
2452              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
2453              # to use.
2454          "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
2455              # block.  The secondary range will be used for pod IP
2456              # addresses. This must be an existing secondary range associated
2457              # with the cluster subnetwork.
2458              #
2459              # This field is only applicable with use_ip_aliases and
2460              # create_subnetwork is false.
2461          "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
2462              # will be automatically chosen with the default size.
2463              #
2464              # This field is only applicable when `use_ip_aliases` is true.
2465              #
2466              # Set to blank to have a range chosen with the default size.
2467              #
2468              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
2469              # netmask.
2470              #
2471              # Set to a
2472              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2473              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
2474              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
2475              # to use.
2476          "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
2477              #
2478              # This field is only applicable when `use_ip_aliases` is true.
2479          "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
2480              #
2481              # This is applicable only if `create_subnetwork` is true.
2482              #
2483              # Set to blank to have a range chosen with the default size.
2484              #
2485              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
2486              # netmask.
2487              #
2488              # Set to a
2489              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2490              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
2491              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
2492              # to use.
2493          "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
2494              # range will be automatically chosen with the default size.
2495              #
2496              # This field is only applicable when `use_ip_aliases` is true.
2497              #
2498              # If unspecified, the range will use the default size.
2499              #
2500              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
2501              # netmask.
2502              #
2503              # Set to a
2504              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2505              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
2506              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
2507              # to use.
2508          "allowRouteOverlap": True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
2509              # kinds of network routes. By default we do not allow cluster CIDR ranges to
2510              # intersect with any user declared routes. With allow_route_overlap == true,
2511              # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
2512              # range.
2513              #
2514              # If this field is set to true, then cluster and services CIDRs must be
2515              # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
2516              # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
2517              #    `services_ipv4_cidr_block` must be fully-specified.
2518              # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
2519              #    fully-specified.
2520          "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true.  If
2521              # this field is empty, then an automatic name will be chosen for the new
2522              # subnetwork.
2523          "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
2524              # CIDR block.  The secondary range will be used for service
2525              # ClusterIPs. This must be an existing secondary range associated
2526              # with the cluster subnetwork.
2527              #
2528              # This field is only applicable with use_ip_aliases and
2529              # create_subnetwork is false.
2530          "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
2531        },
2532        "network": "A String", # The name of the Google Compute Engine
2533            # [network](/compute/docs/networks-and-firewalls#networks) to which the
2534            # cluster is connected. If left unspecified, the `default` network
2535            # will be used. On output this shows the network ID instead of
2536            # the name.
2537        "zone": "A String", # [Output only] The name of the Google Compute Engine
2538            # [zone](/compute/docs/zones#available) in which the cluster
2539            # resides.
2540            # This field is deprecated, use location instead.
2541        "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
2542          "A String",
2543        ],
2544        "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
2545          "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
2546              # [subnetwork](/compute/docs/vpc) to which the cluster is connected.
2547              # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
2548          "network": "A String", # Output only. The relative name of the Google Compute Engine
2549              # network(/compute/docs/networks-and-firewalls#networks) to which
2550              # the cluster is connected.
2551              # Example: projects/my-project/global/networks/my-network
2552          "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
2553              # This makes same node pod to pod traffic visible for VPC network.
2554        },
2555        "privateCluster": True or False, # If this is a private cluster setup. Private clusters are clusters that, by
2556            # default have no external IP addresses on the nodes and where nodes and the
2557            # master communicate over private IP addresses.
2558            # This field is deprecated, use private_cluster_config.enable_private_nodes
2559            # instead.
2560        "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
2561          "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
2562              # must be valid under a PodSecurityPolicy to be created.
2563        },
2564        "location": "A String", # [Output only] The name of the Google Compute Engine
2565            # [zone](/compute/docs/regions-zones/regions-zones#available) or
2566            # [region](/compute/docs/regions-zones/regions-zones#available) in which
2567            # the cluster resides.
2568        "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
2569            # policies.
2570            # policies.
2571          "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
2572        },
2573        "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
2574            # disabled when this config unspecified.
2575          "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
2576            "datasetId": "A String", # The ID of a BigQuery Dataset.
2577          },
2578          "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
2579              # daemonset will be created in the cluster to meter network egress traffic.
2580          "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
2581            "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
2582                # second BigQuery table will be created to hold resource consumption
2583                # records.
2584          },
2585        },
2586        "masterIpv4CidrBlock": "A String", # The IP prefix in CIDR notation to use for the hosted master network.
2587            # This prefix will be used for assigning private IP addresses to the
2588            # master or set of masters, as well as the ILB VIP.
2589            # This field is deprecated, use
2590            # private_cluster_config.master_ipv4_cidr_block instead.
2591        "conditions": [ # Which conditions caused the current cluster state.
2592          { # StatusCondition describes why a cluster or a node pool has a certain status
2593              # (e.g., ERROR or DEGRADED).
2594            "message": "A String", # Human-friendly representation of the condition
2595            "code": "A String", # Machine-friendly representation of the condition
2596          },
2597        ],
2598        "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
2599            # this cluster, in
2600            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2601            # notation (e.g. `1.2.3.4/29`). Service addresses are
2602            # typically put in the last `/16` from the container CIDR.
2603        "statusMessage": "A String", # [Output only] Additional information about the current status of this
2604            # cluster, if available.
2605        "tierSettings": { # Cluster tier settings. # Cluster tier settings.
2606          "tier": "A String", # Cluster tier.
2607        },
2608        "status": "A String", # [Output only] The current status of this cluster.
2609        "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
2610        "description": "A String", # An optional description of this cluster.
2611        "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
2612          "state": "A String", # Denotes the state of etcd encryption.
2613          "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
2614              # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
2615        },
2616        "currentNodeVersion": "A String", # [Output only] Deprecated, use
2617            # [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
2618            # instead. The current version of the node software components.
2619            # If they are currently at multiple versions because they're in the process
2620            # of being upgraded, this reflects the minimum version of all nodes.
2621        "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
2622          "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
2623              # images will be validated by Google Binauthz.
2624        },
2625        "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
2626        "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
2627            # required by Cluster Autoscaler to automatically adjust
2628            # the size of the cluster and create/delete
2629            # node pools based on the current needs.
2630          "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
2631              # created by NAP.
2632              # by NAP.
2633            "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
2634                # service_account is specified, scopes should be empty.
2635            "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
2636                # specified, service_account should be empty.
2637              "A String",
2638            ],
2639          },
2640          "resourceLimits": [ # Contains global constraints regarding minimum and maximum
2641              # amount of resources in the cluster.
2642            { # Contains information about amount of some resource in the cluster.
2643                # For memory, value should be in GB.
2644              "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
2645              "minimum": "A String", # Minimum amount of the resource in the cluster.
2646              "maximum": "A String", # Maximum amount of the resource in the cluster.
2647            },
2648          ],
2649          "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
2650              # in which the NodePool's nodes can be created by NAP.
2651            "A String",
2652          ],
2653          "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
2654        },
2655        "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
2656            # If unspecified, the defaults are used:
2657            # For clusters before v1.12, if master_auth is unspecified, `username` will
2658            # be set to "admin", a random password will be generated, and a client
2659            # certificate will be issued.
2660            # Authentication can be done using HTTP basic auth or using client
2661            # certificates.
2662          "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
2663              # For clusters v1.6.0 and later, basic authentication can be disabled by
2664              # leaving username unspecified (or setting it to the empty string).
2665          "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
2666              # to the cluster endpoint.
2667          "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
2668              # authenticate to the cluster endpoint.
2669          "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
2670              # clusters before v1.12, if no configuration is specified, a client
2671              # certificate is issued.
2672            "issueClientCertificate": True or False, # Issue a client certificate.
2673          },
2674          "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
2675              # Because the master endpoint is open to the Internet, you should create a
2676              # strong password.  If a password is provided for cluster creation, username
2677              # must be non-empty.
2678          "clusterCaCertificate": "A String",
2679        },
2680        "expireTime": "A String", # [Output only] The time the cluster will be automatically
2681            # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2682        "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
2683            # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
2684            # is sufficient for this number of instances. You must also have available
2685            # firewall and routes quota.
2686            # For requests, this field should only be used in lieu of a
2687            # "node_pool" object, since this configuration (along with the
2688            # "node_config") will be used to create a "NodePool" object with an
2689            # auto-generated name. Do not use this and a node_pool at the same time.
2690            #
2691            # This field is deprecated, use node_pool.initial_node_count instead.
2692        "nodePools": [ # The node pools associated with this cluster.
2693            # This field should not be set if "node_config" or "initial_node_count" are
2694            # specified.
2695          { # NodePool contains the name and configuration for a cluster's node pool.
2696              # Node pools are a set of nodes (i.e. VM's), with a common configuration and
2697              # specification, under the control of the cluster master. They may have a set
2698              # of Kubernetes labels applied to them, which may be used to reference them
2699              # during pod scheduling. They may also be resized up or down, to accommodate
2700              # the workload.
2701            "status": "A String", # [Output only] The status of the nodes in this pool instance.
2702            "statusMessage": "A String", # [Output only] Additional information about the current status of this
2703                # node pool instance, if available.
2704            "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
2705                # node pool.
2706              "autoRepair": True or False, # Whether the nodes will be automatically repaired.
2707              "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
2708                  # the Auto Upgrades will proceed.
2709                "description": "A String", # [Output only] This field is set when upgrades are about to commence
2710                    # with the description of the upgrade.
2711                "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
2712                    # with the approximate start time for the upgrades, in
2713                    # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2714              },
2715              "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
2716            },
2717            "name": "A String", # The name of the node pool.
2718            "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
2719                # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
2720                # associated with this node pool.
2721              "A String",
2722            ],
2723            "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
2724                # only if a valid configuration is present.
2725                # adjust the size of the node pool to the current cluster usage.
2726              "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
2727                  # max_node_count.
2728              "autoprovisioned": True or False, # Can this node pool be deleted automatically.
2729              "enabled": True or False, # Is autoscaling enabled for this node pool.
2730              "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
2731                  # has to enough quota to scale up the cluster.
2732            },
2733            "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
2734                # in which the NodePool's nodes should be located.
2735              "A String",
2736            ],
2737            "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
2738                # simultaneously on a node in the node pool.
2739              "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
2740            },
2741            "version": "A String", # The version of the Kubernetes of this node.
2742            "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
2743                # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
2744                # is sufficient for this number of instances. You must also have available
2745                # firewall and routes quota.
2746            "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
2747            "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
2748              "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
2749                "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
2750              },
2751              "machineType": "A String", # The name of a Google Compute Engine [machine
2752                  # type](/compute/docs/machine-types) (e.g.
2753                  # `n1-standard-1`).
2754                  #
2755                  # If unspecified, the default machine type is
2756                  # `n1-standard-1`.
2757              "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
2758                "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
2759                    #
2760                    # Enables monitoring and attestation of the boot integrity of the instance.
2761                    # The attestation is performed against the integrity policy baseline. This
2762                    # baseline is initially derived from the implicitly trusted boot image when
2763                    # the instance is created.
2764                "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
2765                    #
2766                    # Secure Boot helps ensure that the system only runs authentic software by
2767                    # verifying the digital signature of all boot components, and halting the
2768                    # boot process if signature verification fails.
2769              },
2770              "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
2771                  #
2772                  # If unspecified, the default disk type is 'pd-standard'
2773              "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
2774                  # valid sources or targets for network firewalls and are specified by
2775                  # the client during cluster or node pool creation. Each tag within the list
2776                  # must comply with RFC1035.
2777                "A String",
2778              ],
2779              "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
2780                  # https://cloud.google.com/compute/docs/instances/preemptible for more
2781                  # inforamtion about preemptible VM instances.
2782              "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
2783                  # These will added in addition to any default label(s) that
2784                  # Kubernetes may apply to the node.
2785                  # In case of conflict in label keys, the applied set may differ depending on
2786                  # the Kubernetes version -- it's best to assume the behavior is undefined
2787                  # and conflicts should be avoided.
2788                  # For more information, including usage and the valid values, see:
2789                  # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
2790                "a_key": "A String",
2791              },
2792              "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
2793                  # no Service Account is specified, the "default" service account is used.
2794              "oauthScopes": [ # The set of Google API scopes to be made available on all of the
2795                  # node VMs under the "default" service account.
2796                  #
2797                  # The following scopes are recommended, but not required, and by default are
2798                  # not included:
2799                  #
2800                  # * `https://www.googleapis.com/auth/compute` is required for mounting
2801                  # persistent storage on your nodes.
2802                  # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
2803                  # communicating with **gcr.io**
2804                  # (the [Google Container Registry](/container-registry/)).
2805                  #
2806                  # If unspecified, no scopes are added, unless Cloud Logging or Cloud
2807                  # Monitoring are enabled, in which case their required scopes will be added.
2808                "A String",
2809              ],
2810              "taints": [ # List of kubernetes taints to be applied to each node.
2811                  #
2812                  # For more information, including usage and the valid values, see:
2813                  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2814                { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
2815                    # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
2816                    #
2817                    # For more information, including usage and the valid values, see:
2818                    # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2819                  "key": "A String", # Key for taint.
2820                  "effect": "A String", # Effect for taint.
2821                  "value": "A String", # Value for taint.
2822                },
2823              ],
2824              "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
2825                  # workloads on the node pool.
2826                "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
2827                    # workloads running on the node.
2828              },
2829              "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
2830                  # The smallest allowed disk size is 10GB.
2831                  #
2832                  # If unspecified, the default disk size is 100GB.
2833              "accelerators": [ # A list of hardware accelerators to be attached to each node.
2834                  # See https://cloud.google.com/compute/docs/gpus for more information about
2835                  # support for GPUs.
2836                { # AcceleratorConfig represents a Hardware Accelerator request.
2837                  "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
2838                  "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
2839                      # [here](/compute/docs/gpus/#Introduction)
2840                },
2841              ],
2842              "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
2843                  # scheduled on the specified or newer CPU platform. Applicable values are the
2844                  # friendly names of CPU platforms, such as
2845                  # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
2846                  # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
2847                  # information, read [how to specify min CPU
2848                  # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
2849              "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
2850                  #
2851                  # The limit for this value is dependant upon the maximum number of
2852                  # disks available on a machine per zone. See:
2853                  # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
2854                  # for more information.
2855              "imageType": "A String", # The image type to use for this node. Note that for a given image type,
2856                  # the latest version of it will be used.
2857              "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
2858                  #
2859                  # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
2860                  # in length. These are reflected as part of a URL in the metadata server.
2861                  # Additionally, to avoid ambiguity, keys must not conflict with any other
2862                  # metadata keys for the project or be one of the reserved keys:
2863                  #  "cluster-location"
2864                  #  "cluster-name"
2865                  #  "cluster-uid"
2866                  #  "configure-sh"
2867                  #  "containerd-configure-sh"
2868                  #  "enable-oslogin"
2869                  #  "gci-ensure-gke-docker"
2870                  #  "gci-update-strategy"
2871                  #  "instance-template"
2872                  #  "kube-env"
2873                  #  "startup-script"
2874                  #  "user-data"
2875                  #  "disable-address-manager"
2876                  #  "windows-startup-script-ps1"
2877                  #  "common-psm1"
2878                  #  "k8s-node-setup-psm1"
2879                  #  "install-ssh-psm1"
2880                  #  "user-profile-psm1"
2881                  #  "serial-port-logging-enable"
2882                  # Values are free-form strings, and only have meaning as interpreted by
2883                  # the image running in the instance. The only restriction placed on them is
2884                  # that each value's size must be less than or equal to 32 KB.
2885                  #
2886                  # The total size of all keys and values must be less than 512 KB.
2887                "a_key": "A String",
2888              },
2889            },
2890            "conditions": [ # Which conditions caused the current node pool state.
2891              { # StatusCondition describes why a cluster or a node pool has a certain status
2892                  # (e.g., ERROR or DEGRADED).
2893                "message": "A String", # Human-friendly representation of the condition
2894                "code": "A String", # Machine-friendly representation of the condition
2895              },
2896            ],
2897            "selfLink": "A String", # [Output only] Server-defined URL for the resource.
2898          },
2899        ],
2900        "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
2901            # Currently available options:
2902            #
2903            # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
2904            # * `none` - no metrics will be exported from the cluster.
2905            # * if left as an empty string, `monitoring.googleapis.com` will be used.
2906        "createTime": "A String", # [Output only] The time the cluster was created, in
2907            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2908        "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
2909          "enabled": True or False, # Whether this cluster should return group membership lookups
2910              # during authentication using a group of security groups.
2911          "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
2912              # if enabled = true.
2913        },
2914        "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
2915          "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
2916          "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
2917          "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
2918              # given only RFC 1918 private addresses and communicate with the master via
2919              # private networking.
2920          "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
2921          "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
2922              # range will be used for assigning internal IP addresses to the master or
2923              # set of masters, as well as the ILB VIP. This range must not overlap with
2924              # any other ranges in use within the cluster's network.
2925          "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering.
2926        },
2927        "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
2928            # The endpoint can be accessed from the internet at
2929            # `https://username:password@endpoint/`.
2930            #
2931            # See the `masterAuth` property of this resource for username and
2932            # password information.
2933        "currentNodeCount": 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
2934            # Call Kubernetes API directly to retrieve node information.
2935        "name": "A String", # The name of this cluster. The name must be unique within this project
2936            # and zone, and can be up to 40 characters with the following restrictions:
2937            #
2938            # * Lowercase letters, numbers, and hyphens only.
2939            # * Must start with a letter.
2940            # * Must end with a number or a letter.
2941        "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
2942            # required by Vertical Pod Autoscaler to automatically adjust
2943            # the resources of pods controlled by it.
2944          "enabled": True or False, # Enables vertical pod autoscaling.
2945        },
2946        "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
2947            # API groups (e.g. v1beta1) and features that may not be production ready in
2948            # the kubernetes version of the master and nodes.
2949            # The cluster has no SLA for uptime and master/node upgrades are disabled.
2950            # Alpha enabled clusters are automatically deleted thirty days after
2951            # creation.
2952        "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster.  Valid versions are those
2953            # found in validMasterVersions returned by getServerConfig.  The version can
2954            # be upgraded over time; such upgrades are reflected in
2955            # currentMasterVersion and currentNodeVersion.
2956            #
2957            # Users may specify either explicit versions offered by
2958            # Kubernetes Engine or version aliases, which have the following behavior:
2959            #
2960            # - "latest": picks the highest valid Kubernetes version
2961            # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
2962            # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
2963            # - "1.X.Y-gke.N": picks an explicit Kubernetes version
2964            # - "","-": picks the default Kubernetes version
2965        "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
2966            # For requests, this field should only be used in lieu of a
2967            # "node_pool" object, since this configuration (along with the
2968            # "initial_node_count") will be used to create a "NodePool" object with an
2969            # auto-generated name. Do not use this and a node_pool at the same time.
2970            # For responses, this field will be populated with the node configuration of
2971            # the first node pool. (For configuration of each node pool, see
2972            # `node_pool.config`)
2973            #
2974            # If unspecified, the defaults are used.
2975            # This field is deprecated, use node_pool.config instead.
2976          "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
2977            "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
2978          },
2979          "machineType": "A String", # The name of a Google Compute Engine [machine
2980              # type](/compute/docs/machine-types) (e.g.
2981              # `n1-standard-1`).
2982              #
2983              # If unspecified, the default machine type is
2984              # `n1-standard-1`.
2985          "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
2986            "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
2987                #
2988                # Enables monitoring and attestation of the boot integrity of the instance.
2989                # The attestation is performed against the integrity policy baseline. This
2990                # baseline is initially derived from the implicitly trusted boot image when
2991                # the instance is created.
2992            "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
2993                #
2994                # Secure Boot helps ensure that the system only runs authentic software by
2995                # verifying the digital signature of all boot components, and halting the
2996                # boot process if signature verification fails.
2997          },
2998          "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
2999              #
3000              # If unspecified, the default disk type is 'pd-standard'
3001          "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
3002              # valid sources or targets for network firewalls and are specified by
3003              # the client during cluster or node pool creation. Each tag within the list
3004              # must comply with RFC1035.
3005            "A String",
3006          ],
3007          "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
3008              # https://cloud.google.com/compute/docs/instances/preemptible for more
3009              # inforamtion about preemptible VM instances.
3010          "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
3011              # These will added in addition to any default label(s) that
3012              # Kubernetes may apply to the node.
3013              # In case of conflict in label keys, the applied set may differ depending on
3014              # the Kubernetes version -- it's best to assume the behavior is undefined
3015              # and conflicts should be avoided.
3016              # For more information, including usage and the valid values, see:
3017              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
3018            "a_key": "A String",
3019          },
3020          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
3021              # no Service Account is specified, the "default" service account is used.
3022          "oauthScopes": [ # The set of Google API scopes to be made available on all of the
3023              # node VMs under the "default" service account.
3024              #
3025              # The following scopes are recommended, but not required, and by default are
3026              # not included:
3027              #
3028              # * `https://www.googleapis.com/auth/compute` is required for mounting
3029              # persistent storage on your nodes.
3030              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
3031              # communicating with **gcr.io**
3032              # (the [Google Container Registry](/container-registry/)).
3033              #
3034              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
3035              # Monitoring are enabled, in which case their required scopes will be added.
3036            "A String",
3037          ],
3038          "taints": [ # List of kubernetes taints to be applied to each node.
3039              #
3040              # For more information, including usage and the valid values, see:
3041              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3042            { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
3043                # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
3044                #
3045                # For more information, including usage and the valid values, see:
3046                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
3047              "key": "A String", # Key for taint.
3048              "effect": "A String", # Effect for taint.
3049              "value": "A String", # Value for taint.
3050            },
3051          ],
3052          "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
3053              # workloads on the node pool.
3054            "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
3055                # workloads running on the node.
3056          },
3057          "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
3058              # The smallest allowed disk size is 10GB.
3059              #
3060              # If unspecified, the default disk size is 100GB.
3061          "accelerators": [ # A list of hardware accelerators to be attached to each node.
3062              # See https://cloud.google.com/compute/docs/gpus for more information about
3063              # support for GPUs.
3064            { # AcceleratorConfig represents a Hardware Accelerator request.
3065              "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
3066              "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
3067                  # [here](/compute/docs/gpus/#Introduction)
3068            },
3069          ],
3070          "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
3071              # scheduled on the specified or newer CPU platform. Applicable values are the
3072              # friendly names of CPU platforms, such as
3073              # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
3074              # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
3075              # information, read [how to specify min CPU
3076              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
3077          "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
3078              #
3079              # The limit for this value is dependant upon the maximum number of
3080              # disks available on a machine per zone. See:
3081              # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
3082              # for more information.
3083          "imageType": "A String", # The image type to use for this node. Note that for a given image type,
3084              # the latest version of it will be used.
3085          "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
3086              #
3087              # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
3088              # in length. These are reflected as part of a URL in the metadata server.
3089              # Additionally, to avoid ambiguity, keys must not conflict with any other
3090              # metadata keys for the project or be one of the reserved keys:
3091              #  "cluster-location"
3092              #  "cluster-name"
3093              #  "cluster-uid"
3094              #  "configure-sh"
3095              #  "containerd-configure-sh"
3096              #  "enable-oslogin"
3097              #  "gci-ensure-gke-docker"
3098              #  "gci-update-strategy"
3099              #  "instance-template"
3100              #  "kube-env"
3101              #  "startup-script"
3102              #  "user-data"
3103              #  "disable-address-manager"
3104              #  "windows-startup-script-ps1"
3105              #  "common-psm1"
3106              #  "k8s-node-setup-psm1"
3107              #  "install-ssh-psm1"
3108              #  "user-profile-psm1"
3109              #  "serial-port-logging-enable"
3110              # Values are free-form strings, and only have meaning as interpreted by
3111              # the image running in the instance. The only restriction placed on them is
3112              # that each value's size must be less than or equal to 32 KB.
3113              #
3114              # The total size of all keys and values must be less than 512 KB.
3115            "a_key": "A String",
3116          },
3117        },
3118        "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
3119            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
3120            # notation (e.g. `10.96.0.0/14`). Leave blank to have
3121            # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
3122        "subnetwork": "A String", # The name of the Google Compute Engine
3123            # [subnetwork](/compute/docs/subnetworks) to which the
3124            # cluster is connected. On output this shows the subnetwork ID instead of
3125            # the name.
3126        "resourceLabels": { # The resource labels for the cluster to use to annotate any related
3127            # Google Compute Engine resources.
3128          "a_key": "A String",
3129        },
3130        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
3131        "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
3132            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
3133            # notation (e.g. `1.2.3.4/29`).
3134      },
3135    ],
3136    "missingZones": [ # If any zones are listed here, the list of clusters returned
3137        # may be missing those zones.
3138      "A String",
3139    ],
3140  }</pre>
3141</div>
3142
3143<div class="method">
3144    <code class="details" id="locations">locations(projectId, zone, clusterId, body, x__xgafv=None)</code>
3145  <pre>Sets the locations for a specific cluster.
3146
3147Args:
3148  projectId: string, Deprecated. The Google Developers Console [project ID or project
3149number](https://support.google.com/cloud/answer/6158840).
3150This field has been deprecated and replaced by the name field. (required)
3151  zone: string, Deprecated. The name of the Google Compute Engine
3152[zone](/compute/docs/zones#available) in which the cluster
3153resides.
3154This field has been deprecated and replaced by the name field. (required)
3155  clusterId: string, Deprecated. The name of the cluster to upgrade.
3156This field has been deprecated and replaced by the name field. (required)
3157  body: object, The request body. (required)
3158    The object takes the form of:
3159
3160{ # SetLocationsRequest sets the locations of the cluster.
3161    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3162        # number](https://support.google.com/cloud/answer/6158840).
3163        # This field has been deprecated and replaced by the name field.
3164    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
3165        # This field has been deprecated and replaced by the name field.
3166    "locations": [ # The desired list of Google Compute Engine
3167        # [zones](/compute/docs/zones#available) in which the cluster's nodes
3168        # should be located. Changing the locations a cluster is in will result
3169        # in nodes being either created or removed from the cluster, depending on
3170        # whether locations are being added or removed.
3171        #
3172        # This list must always include the cluster's primary zone.
3173      "A String",
3174    ],
3175    "zone": "A String", # Deprecated. The name of the Google Compute Engine
3176        # [zone](/compute/docs/zones#available) in which the cluster
3177        # resides.
3178        # This field has been deprecated and replaced by the name field.
3179    "name": "A String", # The name (project, location, cluster) of the cluster to set locations.
3180        # Specified in the format 'projects/*/locations/*/clusters/*'.
3181  }
3182
3183  x__xgafv: string, V1 error format.
3184    Allowed values
3185      1 - v1 error format
3186      2 - v2 error format
3187
3188Returns:
3189  An object of the form:
3190
3191    { # This operation resource represents operations that may have happened or are
3192      # happening on the cluster. All fields are output only.
3193    "status": "A String", # The current status of the operation.
3194    "endTime": "A String", # [Output only] The time the operation completed, in
3195        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3196    "name": "A String", # The server-assigned ID for the operation.
3197    "zone": "A String", # The name of the Google Compute Engine
3198        # [zone](/compute/docs/zones#available) in which the operation
3199        # is taking place.
3200        # This field is deprecated, use location instead.
3201    "location": "A String", # [Output only] The name of the Google Compute Engine
3202        # [zone](/compute/docs/regions-zones/regions-zones#available) or
3203        # [region](/compute/docs/regions-zones/regions-zones#available) in which
3204        # the cluster resides.
3205    "startTime": "A String", # [Output only] The time the operation started, in
3206        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3207    "detail": "A String", # Detailed operation progress, if available.
3208    "clusterConditions": [ # Which conditions caused the current cluster state.
3209      { # StatusCondition describes why a cluster or a node pool has a certain status
3210          # (e.g., ERROR or DEGRADED).
3211        "message": "A String", # Human-friendly representation of the condition
3212        "code": "A String", # Machine-friendly representation of the condition
3213      },
3214    ],
3215    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3216    "operationType": "A String", # The operation type.
3217    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
3218      "status": "A String", # Status of an operation stage.
3219          # Unset for single-stage operations.
3220      "metrics": [ # Progress metric bundle, for example:
3221          #   metrics: [{name: "nodes done",     int_value: 15},
3222          #             {name: "nodes total",    int_value: 32}]
3223          # or
3224          #   metrics: [{name: "progress",       double_value: 0.56},
3225          #             {name: "progress scale", double_value: 1.0}]
3226        { # Progress metric is (string, int|float|string) pair.
3227          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
3228          "intValue": "A String", # For metrics with integer value.
3229          "name": "A String", # Metric name, required.
3230              # e.g., "nodes total", "percent done"
3231          "doubleValue": 3.14, # For metrics with floating point value.
3232        },
3233      ],
3234      "stages": [ # Substages of an operation or a stage.
3235        # Object with schema name: OperationProgress
3236      ],
3237      "name": "A String", # A non-parameterized string describing an operation stage.
3238          # Unset for single-stage operations.
3239    },
3240    "nodepoolConditions": [ # Which conditions caused the current node pool state.
3241      { # StatusCondition describes why a cluster or a node pool has a certain status
3242          # (e.g., ERROR or DEGRADED).
3243        "message": "A String", # Human-friendly representation of the condition
3244        "code": "A String", # Machine-friendly representation of the condition
3245      },
3246    ],
3247    "selfLink": "A String", # Server-defined URL for the resource.
3248    "targetLink": "A String", # Server-defined URL for the target of the operation.
3249  }</pre>
3250</div>
3251
3252<div class="method">
3253    <code class="details" id="logging">logging(projectId, zone, clusterId, body, x__xgafv=None)</code>
3254  <pre>Sets the logging service for a specific cluster.
3255
3256Args:
3257  projectId: string, Deprecated. The Google Developers Console [project ID or project
3258number](https://support.google.com/cloud/answer/6158840).
3259This field has been deprecated and replaced by the name field. (required)
3260  zone: string, Deprecated. The name of the Google Compute Engine
3261[zone](/compute/docs/zones#available) in which the cluster
3262resides.
3263This field has been deprecated and replaced by the name field. (required)
3264  clusterId: string, Deprecated. The name of the cluster to upgrade.
3265This field has been deprecated and replaced by the name field. (required)
3266  body: object, The request body. (required)
3267    The object takes the form of:
3268
3269{ # SetLoggingServiceRequest sets the logging service of a cluster.
3270    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3271        # number](https://support.google.com/cloud/answer/6158840).
3272        # This field has been deprecated and replaced by the name field.
3273    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
3274        # This field has been deprecated and replaced by the name field.
3275    "loggingService": "A String", # The logging service the cluster should use to write metrics.
3276        # Currently available options:
3277        #
3278        # * "logging.googleapis.com" - the Google Cloud Logging service
3279        # * "none" - no metrics will be exported from the cluster
3280    "zone": "A String", # Deprecated. The name of the Google Compute Engine
3281        # [zone](/compute/docs/zones#available) in which the cluster
3282        # resides.
3283        # This field has been deprecated and replaced by the name field.
3284    "name": "A String", # The name (project, location, cluster) of the cluster to set logging.
3285        # Specified in the format 'projects/*/locations/*/clusters/*'.
3286  }
3287
3288  x__xgafv: string, V1 error format.
3289    Allowed values
3290      1 - v1 error format
3291      2 - v2 error format
3292
3293Returns:
3294  An object of the form:
3295
3296    { # This operation resource represents operations that may have happened or are
3297      # happening on the cluster. All fields are output only.
3298    "status": "A String", # The current status of the operation.
3299    "endTime": "A String", # [Output only] The time the operation completed, in
3300        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3301    "name": "A String", # The server-assigned ID for the operation.
3302    "zone": "A String", # The name of the Google Compute Engine
3303        # [zone](/compute/docs/zones#available) in which the operation
3304        # is taking place.
3305        # This field is deprecated, use location instead.
3306    "location": "A String", # [Output only] The name of the Google Compute Engine
3307        # [zone](/compute/docs/regions-zones/regions-zones#available) or
3308        # [region](/compute/docs/regions-zones/regions-zones#available) in which
3309        # the cluster resides.
3310    "startTime": "A String", # [Output only] The time the operation started, in
3311        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3312    "detail": "A String", # Detailed operation progress, if available.
3313    "clusterConditions": [ # Which conditions caused the current cluster state.
3314      { # StatusCondition describes why a cluster or a node pool has a certain status
3315          # (e.g., ERROR or DEGRADED).
3316        "message": "A String", # Human-friendly representation of the condition
3317        "code": "A String", # Machine-friendly representation of the condition
3318      },
3319    ],
3320    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3321    "operationType": "A String", # The operation type.
3322    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
3323      "status": "A String", # Status of an operation stage.
3324          # Unset for single-stage operations.
3325      "metrics": [ # Progress metric bundle, for example:
3326          #   metrics: [{name: "nodes done",     int_value: 15},
3327          #             {name: "nodes total",    int_value: 32}]
3328          # or
3329          #   metrics: [{name: "progress",       double_value: 0.56},
3330          #             {name: "progress scale", double_value: 1.0}]
3331        { # Progress metric is (string, int|float|string) pair.
3332          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
3333          "intValue": "A String", # For metrics with integer value.
3334          "name": "A String", # Metric name, required.
3335              # e.g., "nodes total", "percent done"
3336          "doubleValue": 3.14, # For metrics with floating point value.
3337        },
3338      ],
3339      "stages": [ # Substages of an operation or a stage.
3340        # Object with schema name: OperationProgress
3341      ],
3342      "name": "A String", # A non-parameterized string describing an operation stage.
3343          # Unset for single-stage operations.
3344    },
3345    "nodepoolConditions": [ # Which conditions caused the current node pool state.
3346      { # StatusCondition describes why a cluster or a node pool has a certain status
3347          # (e.g., ERROR or DEGRADED).
3348        "message": "A String", # Human-friendly representation of the condition
3349        "code": "A String", # Machine-friendly representation of the condition
3350      },
3351    ],
3352    "selfLink": "A String", # Server-defined URL for the resource.
3353    "targetLink": "A String", # Server-defined URL for the target of the operation.
3354  }</pre>
3355</div>
3356
3357<div class="method">
3358    <code class="details" id="master">master(projectId, zone, clusterId, body, x__xgafv=None)</code>
3359  <pre>Updates the master for a specific cluster.
3360
3361Args:
3362  projectId: string, Deprecated. The Google Developers Console [project ID or project
3363number](https://support.google.com/cloud/answer/6158840).
3364This field has been deprecated and replaced by the name field. (required)
3365  zone: string, Deprecated. The name of the Google Compute Engine
3366[zone](/compute/docs/zones#available) in which the cluster
3367resides.
3368This field has been deprecated and replaced by the name field. (required)
3369  clusterId: string, Deprecated. The name of the cluster to upgrade.
3370This field has been deprecated and replaced by the name field. (required)
3371  body: object, The request body. (required)
3372    The object takes the form of:
3373
3374{ # UpdateMasterRequest updates the master of the cluster.
3375    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3376        # number](https://support.google.com/cloud/answer/6158840).
3377        # This field has been deprecated and replaced by the name field.
3378    "masterVersion": "A String", # The Kubernetes version to change the master to.
3379        #
3380        # Users may specify either explicit versions offered by
3381        # Kubernetes Engine or version aliases, which have the following behavior:
3382        #
3383        # - "latest": picks the highest valid Kubernetes version
3384        # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
3385        # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
3386        # - "1.X.Y-gke.N": picks an explicit Kubernetes version
3387        # - "-": picks the default Kubernetes version
3388    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
3389        # This field has been deprecated and replaced by the name field.
3390    "name": "A String", # The name (project, location, cluster) of the cluster to update.
3391        # Specified in the format 'projects/*/locations/*/clusters/*'.
3392    "zone": "A String", # Deprecated. The name of the Google Compute Engine
3393        # [zone](/compute/docs/zones#available) in which the cluster
3394        # resides.
3395        # This field has been deprecated and replaced by the name field.
3396  }
3397
3398  x__xgafv: string, V1 error format.
3399    Allowed values
3400      1 - v1 error format
3401      2 - v2 error format
3402
3403Returns:
3404  An object of the form:
3405
3406    { # This operation resource represents operations that may have happened or are
3407      # happening on the cluster. All fields are output only.
3408    "status": "A String", # The current status of the operation.
3409    "endTime": "A String", # [Output only] The time the operation completed, in
3410        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3411    "name": "A String", # The server-assigned ID for the operation.
3412    "zone": "A String", # The name of the Google Compute Engine
3413        # [zone](/compute/docs/zones#available) in which the operation
3414        # is taking place.
3415        # This field is deprecated, use location instead.
3416    "location": "A String", # [Output only] The name of the Google Compute Engine
3417        # [zone](/compute/docs/regions-zones/regions-zones#available) or
3418        # [region](/compute/docs/regions-zones/regions-zones#available) in which
3419        # the cluster resides.
3420    "startTime": "A String", # [Output only] The time the operation started, in
3421        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3422    "detail": "A String", # Detailed operation progress, if available.
3423    "clusterConditions": [ # Which conditions caused the current cluster state.
3424      { # StatusCondition describes why a cluster or a node pool has a certain status
3425          # (e.g., ERROR or DEGRADED).
3426        "message": "A String", # Human-friendly representation of the condition
3427        "code": "A String", # Machine-friendly representation of the condition
3428      },
3429    ],
3430    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3431    "operationType": "A String", # The operation type.
3432    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
3433      "status": "A String", # Status of an operation stage.
3434          # Unset for single-stage operations.
3435      "metrics": [ # Progress metric bundle, for example:
3436          #   metrics: [{name: "nodes done",     int_value: 15},
3437          #             {name: "nodes total",    int_value: 32}]
3438          # or
3439          #   metrics: [{name: "progress",       double_value: 0.56},
3440          #             {name: "progress scale", double_value: 1.0}]
3441        { # Progress metric is (string, int|float|string) pair.
3442          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
3443          "intValue": "A String", # For metrics with integer value.
3444          "name": "A String", # Metric name, required.
3445              # e.g., "nodes total", "percent done"
3446          "doubleValue": 3.14, # For metrics with floating point value.
3447        },
3448      ],
3449      "stages": [ # Substages of an operation or a stage.
3450        # Object with schema name: OperationProgress
3451      ],
3452      "name": "A String", # A non-parameterized string describing an operation stage.
3453          # Unset for single-stage operations.
3454    },
3455    "nodepoolConditions": [ # Which conditions caused the current node pool state.
3456      { # StatusCondition describes why a cluster or a node pool has a certain status
3457          # (e.g., ERROR or DEGRADED).
3458        "message": "A String", # Human-friendly representation of the condition
3459        "code": "A String", # Machine-friendly representation of the condition
3460      },
3461    ],
3462    "selfLink": "A String", # Server-defined URL for the resource.
3463    "targetLink": "A String", # Server-defined URL for the target of the operation.
3464  }</pre>
3465</div>
3466
3467<div class="method">
3468    <code class="details" id="monitoring">monitoring(projectId, zone, clusterId, body, x__xgafv=None)</code>
3469  <pre>Sets the monitoring service for a specific cluster.
3470
3471Args:
3472  projectId: string, Deprecated. The Google Developers Console [project ID or project
3473number](https://support.google.com/cloud/answer/6158840).
3474This field has been deprecated and replaced by the name field. (required)
3475  zone: string, Deprecated. The name of the Google Compute Engine
3476[zone](/compute/docs/zones#available) in which the cluster
3477resides.
3478This field has been deprecated and replaced by the name field. (required)
3479  clusterId: string, Deprecated. The name of the cluster to upgrade.
3480This field has been deprecated and replaced by the name field. (required)
3481  body: object, The request body. (required)
3482    The object takes the form of:
3483
3484{ # SetMonitoringServiceRequest sets the monitoring service of a cluster.
3485    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3486        # number](https://support.google.com/cloud/answer/6158840).
3487        # This field has been deprecated and replaced by the name field.
3488    "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
3489        # Currently available options:
3490        #
3491        # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
3492        # * "none" - no metrics will be exported from the cluster
3493    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
3494        # This field has been deprecated and replaced by the name field.
3495    "name": "A String", # The name (project, location, cluster) of the cluster to set monitoring.
3496        # Specified in the format 'projects/*/locations/*/clusters/*'.
3497    "zone": "A String", # Deprecated. The name of the Google Compute Engine
3498        # [zone](/compute/docs/zones#available) in which the cluster
3499        # resides.
3500        # This field has been deprecated and replaced by the name field.
3501  }
3502
3503  x__xgafv: string, V1 error format.
3504    Allowed values
3505      1 - v1 error format
3506      2 - v2 error format
3507
3508Returns:
3509  An object of the form:
3510
3511    { # This operation resource represents operations that may have happened or are
3512      # happening on the cluster. All fields are output only.
3513    "status": "A String", # The current status of the operation.
3514    "endTime": "A String", # [Output only] The time the operation completed, in
3515        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
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    "location": "A String", # [Output only] The name of the Google Compute Engine
3522        # [zone](/compute/docs/regions-zones/regions-zones#available) or
3523        # [region](/compute/docs/regions-zones/regions-zones#available) in which
3524        # the cluster resides.
3525    "startTime": "A String", # [Output only] The time the operation started, in
3526        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3527    "detail": "A String", # Detailed operation progress, if available.
3528    "clusterConditions": [ # Which conditions caused the current cluster state.
3529      { # StatusCondition describes why a cluster or a node pool has a certain status
3530          # (e.g., ERROR or DEGRADED).
3531        "message": "A String", # Human-friendly representation of the condition
3532        "code": "A String", # Machine-friendly representation of the condition
3533      },
3534    ],
3535    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3536    "operationType": "A String", # The operation type.
3537    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
3538      "status": "A String", # Status of an operation stage.
3539          # Unset for single-stage operations.
3540      "metrics": [ # Progress metric bundle, for example:
3541          #   metrics: [{name: "nodes done",     int_value: 15},
3542          #             {name: "nodes total",    int_value: 32}]
3543          # or
3544          #   metrics: [{name: "progress",       double_value: 0.56},
3545          #             {name: "progress scale", double_value: 1.0}]
3546        { # Progress metric is (string, int|float|string) pair.
3547          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
3548          "intValue": "A String", # For metrics with integer value.
3549          "name": "A String", # Metric name, required.
3550              # e.g., "nodes total", "percent done"
3551          "doubleValue": 3.14, # For metrics with floating point value.
3552        },
3553      ],
3554      "stages": [ # Substages of an operation or a stage.
3555        # Object with schema name: OperationProgress
3556      ],
3557      "name": "A String", # A non-parameterized string describing an operation stage.
3558          # Unset for single-stage operations.
3559    },
3560    "nodepoolConditions": [ # Which conditions caused the current node pool state.
3561      { # StatusCondition describes why a cluster or a node pool has a certain status
3562          # (e.g., ERROR or DEGRADED).
3563        "message": "A String", # Human-friendly representation of the condition
3564        "code": "A String", # Machine-friendly representation of the condition
3565      },
3566    ],
3567    "selfLink": "A String", # Server-defined URL for the resource.
3568    "targetLink": "A String", # Server-defined URL for the target of the operation.
3569  }</pre>
3570</div>
3571
3572<div class="method">
3573    <code class="details" id="resourceLabels">resourceLabels(projectId, zone, clusterId, body, x__xgafv=None)</code>
3574  <pre>Sets labels on a cluster.
3575
3576Args:
3577  projectId: string, Deprecated. The Google Developers Console [project ID or project
3578number](https://developers.google.com/console/help/new/#projectnumber).
3579This field has been deprecated and replaced by the name field. (required)
3580  zone: string, Deprecated. The name of the Google Compute Engine
3581[zone](/compute/docs/zones#available) in which the cluster
3582resides.
3583This field has been deprecated and replaced by the name field. (required)
3584  clusterId: string, Deprecated. The name of the cluster.
3585This field has been deprecated and replaced by the name field. (required)
3586  body: object, The request body. (required)
3587    The object takes the form of:
3588
3589{ # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
3590      # Engine cluster, which will in turn set them for Google Compute Engine
3591      # resources used by that cluster
3592    "name": "A String", # The name (project, location, cluster id) of the cluster to set labels.
3593        # Specified in the format 'projects/*/locations/*/clusters/*'.
3594    "zone": "A String", # Deprecated. The name of the Google Compute Engine
3595        # [zone](/compute/docs/zones#available) in which the cluster
3596        # resides.
3597        # This field has been deprecated and replaced by the name field.
3598    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3599        # number](https://developers.google.com/console/help/new/#projectnumber).
3600        # This field has been deprecated and replaced by the name field.
3601    "labelFingerprint": "A String", # The fingerprint of the previous set of labels for this resource,
3602        # used to detect conflicts. The fingerprint is initially generated by
3603        # Kubernetes Engine and changes after every request to modify or update
3604        # labels. You must always provide an up-to-date fingerprint hash when
3605        # updating or changing labels. Make a <code>get()</code> request to the
3606        # resource to get the latest fingerprint.
3607    "clusterId": "A String", # Deprecated. The name of the cluster.
3608        # This field has been deprecated and replaced by the name field.
3609    "resourceLabels": { # The labels to set for that cluster.
3610      "a_key": "A String",
3611    },
3612  }
3613
3614  x__xgafv: string, V1 error format.
3615    Allowed values
3616      1 - v1 error format
3617      2 - v2 error format
3618
3619Returns:
3620  An object of the form:
3621
3622    { # This operation resource represents operations that may have happened or are
3623      # happening on the cluster. All fields are output only.
3624    "status": "A String", # The current status of the operation.
3625    "endTime": "A String", # [Output only] The time the operation completed, in
3626        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3627    "name": "A String", # The server-assigned ID for the operation.
3628    "zone": "A String", # The name of the Google Compute Engine
3629        # [zone](/compute/docs/zones#available) in which the operation
3630        # is taking place.
3631        # This field is deprecated, use location instead.
3632    "location": "A String", # [Output only] The name of the Google Compute Engine
3633        # [zone](/compute/docs/regions-zones/regions-zones#available) or
3634        # [region](/compute/docs/regions-zones/regions-zones#available) in which
3635        # the cluster resides.
3636    "startTime": "A String", # [Output only] The time the operation started, in
3637        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3638    "detail": "A String", # Detailed operation progress, if available.
3639    "clusterConditions": [ # Which conditions caused the current cluster state.
3640      { # StatusCondition describes why a cluster or a node pool has a certain status
3641          # (e.g., ERROR or DEGRADED).
3642        "message": "A String", # Human-friendly representation of the condition
3643        "code": "A String", # Machine-friendly representation of the condition
3644      },
3645    ],
3646    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3647    "operationType": "A String", # The operation type.
3648    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
3649      "status": "A String", # Status of an operation stage.
3650          # Unset for single-stage operations.
3651      "metrics": [ # Progress metric bundle, for example:
3652          #   metrics: [{name: "nodes done",     int_value: 15},
3653          #             {name: "nodes total",    int_value: 32}]
3654          # or
3655          #   metrics: [{name: "progress",       double_value: 0.56},
3656          #             {name: "progress scale", double_value: 1.0}]
3657        { # Progress metric is (string, int|float|string) pair.
3658          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
3659          "intValue": "A String", # For metrics with integer value.
3660          "name": "A String", # Metric name, required.
3661              # e.g., "nodes total", "percent done"
3662          "doubleValue": 3.14, # For metrics with floating point value.
3663        },
3664      ],
3665      "stages": [ # Substages of an operation or a stage.
3666        # Object with schema name: OperationProgress
3667      ],
3668      "name": "A String", # A non-parameterized string describing an operation stage.
3669          # Unset for single-stage operations.
3670    },
3671    "nodepoolConditions": [ # Which conditions caused the current node pool state.
3672      { # StatusCondition describes why a cluster or a node pool has a certain status
3673          # (e.g., ERROR or DEGRADED).
3674        "message": "A String", # Human-friendly representation of the condition
3675        "code": "A String", # Machine-friendly representation of the condition
3676      },
3677    ],
3678    "selfLink": "A String", # Server-defined URL for the resource.
3679    "targetLink": "A String", # Server-defined URL for the target of the operation.
3680  }</pre>
3681</div>
3682
3683<div class="method">
3684    <code class="details" id="setMaintenancePolicy">setMaintenancePolicy(projectId, zone, clusterId, body, x__xgafv=None)</code>
3685  <pre>Sets the maintenance policy for a cluster.
3686
3687Args:
3688  projectId: string, The Google Developers Console [project ID or project
3689number](https://support.google.com/cloud/answer/6158840). (required)
3690  zone: string, The name of the Google Compute Engine
3691[zone](/compute/docs/zones#available) in which the cluster
3692resides. (required)
3693  clusterId: string, The name of the cluster to update. (required)
3694  body: object, The request body. (required)
3695    The object takes the form of:
3696
3697{ # SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
3698    "projectId": "A String", # The Google Developers Console [project ID or project
3699        # number](https://support.google.com/cloud/answer/6158840).
3700    "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # The maintenance policy to be set for the cluster. An empty field
3701        # clears the existing maintenance policy.
3702      "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
3703        "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
3704          "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
3705              # smallest possible in the given scenario.
3706          "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
3707              # It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
3708        },
3709      },
3710    },
3711    "clusterId": "A String", # The name of the cluster to update.
3712    "name": "A String", # The name (project, location, cluster id) of the cluster to set maintenance
3713        # policy.
3714        # Specified in the format 'projects/*/locations/*/clusters/*'.
3715    "zone": "A String", # The name of the Google Compute Engine
3716        # [zone](/compute/docs/zones#available) in which the cluster
3717        # resides.
3718  }
3719
3720  x__xgafv: string, V1 error format.
3721    Allowed values
3722      1 - v1 error format
3723      2 - v2 error format
3724
3725Returns:
3726  An object of the form:
3727
3728    { # This operation resource represents operations that may have happened or are
3729      # happening on the cluster. All fields are output only.
3730    "status": "A String", # The current status of the operation.
3731    "endTime": "A String", # [Output only] The time the operation completed, in
3732        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3733    "name": "A String", # The server-assigned ID for the operation.
3734    "zone": "A String", # The name of the Google Compute Engine
3735        # [zone](/compute/docs/zones#available) in which the operation
3736        # is taking place.
3737        # This field is deprecated, use location instead.
3738    "location": "A String", # [Output only] The name of the Google Compute Engine
3739        # [zone](/compute/docs/regions-zones/regions-zones#available) or
3740        # [region](/compute/docs/regions-zones/regions-zones#available) in which
3741        # the cluster resides.
3742    "startTime": "A String", # [Output only] The time the operation started, in
3743        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3744    "detail": "A String", # Detailed operation progress, if available.
3745    "clusterConditions": [ # Which conditions caused the current cluster state.
3746      { # StatusCondition describes why a cluster or a node pool has a certain status
3747          # (e.g., ERROR or DEGRADED).
3748        "message": "A String", # Human-friendly representation of the condition
3749        "code": "A String", # Machine-friendly representation of the condition
3750      },
3751    ],
3752    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3753    "operationType": "A String", # The operation type.
3754    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
3755      "status": "A String", # Status of an operation stage.
3756          # Unset for single-stage operations.
3757      "metrics": [ # Progress metric bundle, for example:
3758          #   metrics: [{name: "nodes done",     int_value: 15},
3759          #             {name: "nodes total",    int_value: 32}]
3760          # or
3761          #   metrics: [{name: "progress",       double_value: 0.56},
3762          #             {name: "progress scale", double_value: 1.0}]
3763        { # Progress metric is (string, int|float|string) pair.
3764          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
3765          "intValue": "A String", # For metrics with integer value.
3766          "name": "A String", # Metric name, required.
3767              # e.g., "nodes total", "percent done"
3768          "doubleValue": 3.14, # For metrics with floating point value.
3769        },
3770      ],
3771      "stages": [ # Substages of an operation or a stage.
3772        # Object with schema name: OperationProgress
3773      ],
3774      "name": "A String", # A non-parameterized string describing an operation stage.
3775          # Unset for single-stage operations.
3776    },
3777    "nodepoolConditions": [ # Which conditions caused the current node pool state.
3778      { # StatusCondition describes why a cluster or a node pool has a certain status
3779          # (e.g., ERROR or DEGRADED).
3780        "message": "A String", # Human-friendly representation of the condition
3781        "code": "A String", # Machine-friendly representation of the condition
3782      },
3783    ],
3784    "selfLink": "A String", # Server-defined URL for the resource.
3785    "targetLink": "A String", # Server-defined URL for the target of the operation.
3786  }</pre>
3787</div>
3788
3789<div class="method">
3790    <code class="details" id="setMasterAuth">setMasterAuth(projectId, zone, clusterId, body, x__xgafv=None)</code>
3791  <pre>Sets master auth materials. Currently supports changing the admin password
3792or a specific cluster, either via password generation or explicitly setting
3793the password.
3794
3795Args:
3796  projectId: string, Deprecated. The Google Developers Console [project ID or project
3797number](https://support.google.com/cloud/answer/6158840).
3798This field has been deprecated and replaced by the name field. (required)
3799  zone: string, Deprecated. The name of the Google Compute Engine
3800[zone](/compute/docs/zones#available) in which the cluster
3801resides.
3802This field has been deprecated and replaced by the name field. (required)
3803  clusterId: string, Deprecated. The name of the cluster to upgrade.
3804This field has been deprecated and replaced by the name field. (required)
3805  body: object, The request body. (required)
3806    The object takes the form of:
3807
3808{ # SetMasterAuthRequest updates the admin password of a cluster.
3809    "name": "A String", # The name (project, location, cluster) of the cluster to set auth.
3810        # Specified in the format 'projects/*/locations/*/clusters/*'.
3811    "zone": "A String", # Deprecated. The name of the Google Compute Engine
3812        # [zone](/compute/docs/zones#available) in which the cluster
3813        # resides.
3814        # This field has been deprecated and replaced by the name field.
3815    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3816        # number](https://support.google.com/cloud/answer/6158840).
3817        # This field has been deprecated and replaced by the name field.
3818    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
3819        # This field has been deprecated and replaced by the name field.
3820    "update": { # The authentication information for accessing the master endpoint. # A description of the update.
3821        # Authentication can be done using HTTP basic auth or using client
3822        # certificates.
3823      "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
3824          # For clusters v1.6.0 and later, basic authentication can be disabled by
3825          # leaving username unspecified (or setting it to the empty string).
3826      "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
3827          # to the cluster endpoint.
3828      "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
3829          # authenticate to the cluster endpoint.
3830      "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
3831          # clusters before v1.12, if no configuration is specified, a client
3832          # certificate is issued.
3833        "issueClientCertificate": True or False, # Issue a client certificate.
3834      },
3835      "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
3836          # Because the master endpoint is open to the Internet, you should create a
3837          # strong password.  If a password is provided for cluster creation, username
3838          # must be non-empty.
3839      "clusterCaCertificate": "A String",
3840    },
3841    "action": "A String", # The exact form of action to be taken on the master auth.
3842  }
3843
3844  x__xgafv: string, V1 error format.
3845    Allowed values
3846      1 - v1 error format
3847      2 - v2 error format
3848
3849Returns:
3850  An object of the form:
3851
3852    { # This operation resource represents operations that may have happened or are
3853      # happening on the cluster. All fields are output only.
3854    "status": "A String", # The current status of the operation.
3855    "endTime": "A String", # [Output only] The time the operation completed, in
3856        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3857    "name": "A String", # The server-assigned ID for the operation.
3858    "zone": "A String", # The name of the Google Compute Engine
3859        # [zone](/compute/docs/zones#available) in which the operation
3860        # is taking place.
3861        # This field is deprecated, use location instead.
3862    "location": "A String", # [Output only] The name of the Google Compute Engine
3863        # [zone](/compute/docs/regions-zones/regions-zones#available) or
3864        # [region](/compute/docs/regions-zones/regions-zones#available) in which
3865        # the cluster resides.
3866    "startTime": "A String", # [Output only] The time the operation started, in
3867        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3868    "detail": "A String", # Detailed operation progress, if available.
3869    "clusterConditions": [ # Which conditions caused the current cluster state.
3870      { # StatusCondition describes why a cluster or a node pool has a certain status
3871          # (e.g., ERROR or DEGRADED).
3872        "message": "A String", # Human-friendly representation of the condition
3873        "code": "A String", # Machine-friendly representation of the condition
3874      },
3875    ],
3876    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3877    "operationType": "A String", # The operation type.
3878    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
3879      "status": "A String", # Status of an operation stage.
3880          # Unset for single-stage operations.
3881      "metrics": [ # Progress metric bundle, for example:
3882          #   metrics: [{name: "nodes done",     int_value: 15},
3883          #             {name: "nodes total",    int_value: 32}]
3884          # or
3885          #   metrics: [{name: "progress",       double_value: 0.56},
3886          #             {name: "progress scale", double_value: 1.0}]
3887        { # Progress metric is (string, int|float|string) pair.
3888          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
3889          "intValue": "A String", # For metrics with integer value.
3890          "name": "A String", # Metric name, required.
3891              # e.g., "nodes total", "percent done"
3892          "doubleValue": 3.14, # For metrics with floating point value.
3893        },
3894      ],
3895      "stages": [ # Substages of an operation or a stage.
3896        # Object with schema name: OperationProgress
3897      ],
3898      "name": "A String", # A non-parameterized string describing an operation stage.
3899          # Unset for single-stage operations.
3900    },
3901    "nodepoolConditions": [ # Which conditions caused the current node pool state.
3902      { # StatusCondition describes why a cluster or a node pool has a certain status
3903          # (e.g., ERROR or DEGRADED).
3904        "message": "A String", # Human-friendly representation of the condition
3905        "code": "A String", # Machine-friendly representation of the condition
3906      },
3907    ],
3908    "selfLink": "A String", # Server-defined URL for the resource.
3909    "targetLink": "A String", # Server-defined URL for the target of the operation.
3910  }</pre>
3911</div>
3912
3913<div class="method">
3914    <code class="details" id="setNetworkPolicy">setNetworkPolicy(projectId, zone, clusterId, body, x__xgafv=None)</code>
3915  <pre>Enables or disables Network Policy for a cluster.
3916
3917Args:
3918  projectId: string, Deprecated. The Google Developers Console [project ID or project
3919number](https://developers.google.com/console/help/new/#projectnumber).
3920This field has been deprecated and replaced by the name field. (required)
3921  zone: string, Deprecated. The name of the Google Compute Engine
3922[zone](/compute/docs/zones#available) in which the cluster
3923resides.
3924This field has been deprecated and replaced by the name field. (required)
3925  clusterId: string, Deprecated. The name of the cluster.
3926This field has been deprecated and replaced by the name field. (required)
3927  body: object, The request body. (required)
3928    The object takes the form of:
3929
3930{ # SetNetworkPolicyRequest enables/disables network policy for a cluster.
3931    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
3932        # number](https://developers.google.com/console/help/new/#projectnumber).
3933        # This field has been deprecated and replaced by the name field.
3934    "clusterId": "A String", # Deprecated. The name of the cluster.
3935        # This field has been deprecated and replaced by the name field.
3936    "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
3937        # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
3938      "enabled": True or False, # Whether network policy is enabled on the cluster.
3939      "provider": "A String", # The selected network policy provider.
3940    },
3941    "zone": "A String", # Deprecated. The name of the Google Compute Engine
3942        # [zone](/compute/docs/zones#available) in which the cluster
3943        # resides.
3944        # This field has been deprecated and replaced by the name field.
3945    "name": "A String", # The name (project, location, cluster id) of the cluster to set networking
3946        # policy. Specified in the format 'projects/*/locations/*/clusters/*'.
3947  }
3948
3949  x__xgafv: string, V1 error format.
3950    Allowed values
3951      1 - v1 error format
3952      2 - v2 error format
3953
3954Returns:
3955  An object of the form:
3956
3957    { # This operation resource represents operations that may have happened or are
3958      # happening on the cluster. All fields are output only.
3959    "status": "A String", # The current status of the operation.
3960    "endTime": "A String", # [Output only] The time the operation completed, in
3961        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3962    "name": "A String", # The server-assigned ID for the operation.
3963    "zone": "A String", # The name of the Google Compute Engine
3964        # [zone](/compute/docs/zones#available) in which the operation
3965        # is taking place.
3966        # This field is deprecated, use location instead.
3967    "location": "A String", # [Output only] The name of the Google Compute Engine
3968        # [zone](/compute/docs/regions-zones/regions-zones#available) or
3969        # [region](/compute/docs/regions-zones/regions-zones#available) in which
3970        # the cluster resides.
3971    "startTime": "A String", # [Output only] The time the operation started, in
3972        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3973    "detail": "A String", # Detailed operation progress, if available.
3974    "clusterConditions": [ # Which conditions caused the current cluster state.
3975      { # StatusCondition describes why a cluster or a node pool has a certain status
3976          # (e.g., ERROR or DEGRADED).
3977        "message": "A String", # Human-friendly representation of the condition
3978        "code": "A String", # Machine-friendly representation of the condition
3979      },
3980    ],
3981    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
3982    "operationType": "A String", # The operation type.
3983    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
3984      "status": "A String", # Status of an operation stage.
3985          # Unset for single-stage operations.
3986      "metrics": [ # Progress metric bundle, for example:
3987          #   metrics: [{name: "nodes done",     int_value: 15},
3988          #             {name: "nodes total",    int_value: 32}]
3989          # or
3990          #   metrics: [{name: "progress",       double_value: 0.56},
3991          #             {name: "progress scale", double_value: 1.0}]
3992        { # Progress metric is (string, int|float|string) pair.
3993          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
3994          "intValue": "A String", # For metrics with integer value.
3995          "name": "A String", # Metric name, required.
3996              # e.g., "nodes total", "percent done"
3997          "doubleValue": 3.14, # For metrics with floating point value.
3998        },
3999      ],
4000      "stages": [ # Substages of an operation or a stage.
4001        # Object with schema name: OperationProgress
4002      ],
4003      "name": "A String", # A non-parameterized string describing an operation stage.
4004          # Unset for single-stage operations.
4005    },
4006    "nodepoolConditions": [ # Which conditions caused the current node pool state.
4007      { # StatusCondition describes why a cluster or a node pool has a certain status
4008          # (e.g., ERROR or DEGRADED).
4009        "message": "A String", # Human-friendly representation of the condition
4010        "code": "A String", # Machine-friendly representation of the condition
4011      },
4012    ],
4013    "selfLink": "A String", # Server-defined URL for the resource.
4014    "targetLink": "A String", # Server-defined URL for the target of the operation.
4015  }</pre>
4016</div>
4017
4018<div class="method">
4019    <code class="details" id="startIpRotation">startIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</code>
4020  <pre>Starts master IP rotation.
4021
4022Args:
4023  projectId: string, Deprecated. The Google Developers Console [project ID or project
4024number](https://developers.google.com/console/help/new/#projectnumber).
4025This field has been deprecated and replaced by the name field. (required)
4026  zone: string, Deprecated. The name of the Google Compute Engine
4027[zone](/compute/docs/zones#available) in which the cluster
4028resides.
4029This field has been deprecated and replaced by the name field. (required)
4030  clusterId: string, Deprecated. The name of the cluster.
4031This field has been deprecated and replaced by the name field. (required)
4032  body: object, The request body. (required)
4033    The object takes the form of:
4034
4035{ # StartIPRotationRequest creates a new IP for the cluster and then performs
4036      # a node upgrade on each node pool to point to the new IP.
4037    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
4038        # number](https://developers.google.com/console/help/new/#projectnumber).
4039        # This field has been deprecated and replaced by the name field.
4040    "rotateCredentials": True or False, # Whether to rotate credentials during IP rotation.
4041    "clusterId": "A String", # Deprecated. The name of the cluster.
4042        # This field has been deprecated and replaced by the name field.
4043    "name": "A String", # The name (project, location, cluster id) of the cluster to start IP
4044        # rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
4045    "zone": "A String", # Deprecated. The name of the Google Compute Engine
4046        # [zone](/compute/docs/zones#available) in which the cluster
4047        # resides.
4048        # This field has been deprecated and replaced by the name field.
4049  }
4050
4051  x__xgafv: string, V1 error format.
4052    Allowed values
4053      1 - v1 error format
4054      2 - v2 error format
4055
4056Returns:
4057  An object of the form:
4058
4059    { # This operation resource represents operations that may have happened or are
4060      # happening on the cluster. All fields are output only.
4061    "status": "A String", # The current status of the operation.
4062    "endTime": "A String", # [Output only] The time the operation completed, in
4063        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
4064    "name": "A String", # The server-assigned ID for the operation.
4065    "zone": "A String", # The name of the Google Compute Engine
4066        # [zone](/compute/docs/zones#available) in which the operation
4067        # is taking place.
4068        # This field is deprecated, use location instead.
4069    "location": "A String", # [Output only] The name of the Google Compute Engine
4070        # [zone](/compute/docs/regions-zones/regions-zones#available) or
4071        # [region](/compute/docs/regions-zones/regions-zones#available) in which
4072        # the cluster resides.
4073    "startTime": "A String", # [Output only] The time the operation started, in
4074        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
4075    "detail": "A String", # Detailed operation progress, if available.
4076    "clusterConditions": [ # Which conditions caused the current cluster state.
4077      { # StatusCondition describes why a cluster or a node pool has a certain status
4078          # (e.g., ERROR or DEGRADED).
4079        "message": "A String", # Human-friendly representation of the condition
4080        "code": "A String", # Machine-friendly representation of the condition
4081      },
4082    ],
4083    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
4084    "operationType": "A String", # The operation type.
4085    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
4086      "status": "A String", # Status of an operation stage.
4087          # Unset for single-stage operations.
4088      "metrics": [ # Progress metric bundle, for example:
4089          #   metrics: [{name: "nodes done",     int_value: 15},
4090          #             {name: "nodes total",    int_value: 32}]
4091          # or
4092          #   metrics: [{name: "progress",       double_value: 0.56},
4093          #             {name: "progress scale", double_value: 1.0}]
4094        { # Progress metric is (string, int|float|string) pair.
4095          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
4096          "intValue": "A String", # For metrics with integer value.
4097          "name": "A String", # Metric name, required.
4098              # e.g., "nodes total", "percent done"
4099          "doubleValue": 3.14, # For metrics with floating point value.
4100        },
4101      ],
4102      "stages": [ # Substages of an operation or a stage.
4103        # Object with schema name: OperationProgress
4104      ],
4105      "name": "A String", # A non-parameterized string describing an operation stage.
4106          # Unset for single-stage operations.
4107    },
4108    "nodepoolConditions": [ # Which conditions caused the current node pool state.
4109      { # StatusCondition describes why a cluster or a node pool has a certain status
4110          # (e.g., ERROR or DEGRADED).
4111        "message": "A String", # Human-friendly representation of the condition
4112        "code": "A String", # Machine-friendly representation of the condition
4113      },
4114    ],
4115    "selfLink": "A String", # Server-defined URL for the resource.
4116    "targetLink": "A String", # Server-defined URL for the target of the operation.
4117  }</pre>
4118</div>
4119
4120<div class="method">
4121    <code class="details" id="update">update(projectId, zone, clusterId, body, x__xgafv=None)</code>
4122  <pre>Updates the settings for a specific cluster.
4123
4124Args:
4125  projectId: string, Deprecated. The Google Developers Console [project ID or project
4126number](https://support.google.com/cloud/answer/6158840).
4127This field has been deprecated and replaced by the name field. (required)
4128  zone: string, Deprecated. The name of the Google Compute Engine
4129[zone](/compute/docs/zones#available) in which the cluster
4130resides.
4131This field has been deprecated and replaced by the name field. (required)
4132  clusterId: string, Deprecated. The name of the cluster to upgrade.
4133This field has been deprecated and replaced by the name field. (required)
4134  body: object, The request body. (required)
4135    The object takes the form of:
4136
4137{ # UpdateClusterRequest updates the settings of a cluster.
4138    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
4139        # number](https://support.google.com/cloud/answer/6158840).
4140        # This field has been deprecated and replaced by the name field.
4141    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
4142        # This field has been deprecated and replaced by the name field.
4143    "update": { # ClusterUpdate describes an update to the cluster. Exactly one update can # A description of the update.
4144        # be applied to a cluster with each request, so at most one field can be
4145        # provided.
4146      "desiredPodSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # The desired configuration options for the PodSecurityPolicy feature.
4147        "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
4148            # must be valid under a PodSecurityPolicy to be created.
4149      },
4150      "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node # The desired config of Intra-node visibility.
4151          # visibility on this cluster.
4152        "enabled": True or False, # Enables intra node visibility for this cluster.
4153      },
4154      "desiredLoggingService": "A String", # The logging service the cluster should use to write metrics.
4155          # Currently available options:
4156          #
4157          # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
4158          # service with Kubernetes-native resource model in Stackdriver
4159          # * "logging.googleapis.com" - the Google Cloud Logging service
4160          # * "none" - no logs will be exported from the cluster
4161      "desiredMasterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The desired configuration options for master authorized networks feature.
4162          # master authorized networks will disallow all external traffic to access
4163          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
4164          # Google Compute Engine Public IPs and Google Prod IPs.
4165        "enabled": True or False, # Whether or not master authorized networks is enabled.
4166        "cidrBlocks": [ # cidr_blocks define up to 10 external networks that could access
4167            # Kubernetes master through HTTPS.
4168          { # CidrBlock contains an optional name and one CIDR block.
4169            "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
4170            "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
4171          },
4172        ],
4173      },
4174      "desiredImageType": "A String", # The desired image type for the node pool.
4175          # NOTE: Set the "desired_node_pool" field as well.
4176      "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if
4177          # "desired_node_version", "desired_image_family",
4178          # "desired_node_pool_autoscaling", or "desired_workload_metadata_config"
4179          # is specified and there is more than one node pool on the cluster.
4180      "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
4181          # cluster, enabling additional functionality.
4182        "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
4183            # is enabled or not on the Master, it does not track whether network policy
4184            # is enabled for the nodes.
4185            # is enabled or not on the Master, it does not track whether network policy
4186            # is enabled for the nodes.
4187          "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
4188        },
4189        "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
4190            # enabled in order to enable Cloud Run addon. This option can only be enabled
4191            # at cluster creation time.
4192          "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
4193        },
4194        "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
4195            # makes it easy to set up HTTP load balancers for services in a cluster.
4196            # which makes it easy to set up HTTP load balancers for services in a cluster.
4197          "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
4198              # When enabled, it runs a small pod in the cluster that manages the load
4199              # balancers.
4200        },
4201        "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
4202            # increases or decreases the number of replica pods a replication controller
4203            # has based on the resource usage of the existing pods.
4204            # increases or decreases the number of replica pods a replication controller
4205            # has based on the resource usage of the existing pods.
4206          "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
4207              # When enabled, it ensures that a Heapster pod is running in the cluster,
4208              # which is also used by the Cloud Monitoring service.
4209        },
4210        "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
4211            # microservices.
4212          "disabled": True or False, # Whether Istio is enabled for this cluster.
4213          "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
4214        },
4215        "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
4216            # This addon is deprecated, and will be disabled in 1.15. It is recommended
4217            # to use the Cloud Console to manage and monitor your Kubernetes clusters,
4218            # workloads and applications. For more information, see:
4219            # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
4220          "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
4221        },
4222      },
4223      "desiredVerticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
4224          # required by Vertical Pod Autoscaler to automatically adjust
4225          # the resources of pods controlled by it.
4226        "enabled": True or False, # Enables vertical pod autoscaling.
4227      },
4228      "desiredMasterVersion": "A String", # The Kubernetes version to change the master to. The only valid value is the
4229          # latest supported version.
4230          #
4231          # Users may specify either explicit versions offered by
4232          # Kubernetes Engine or version aliases, which have the following behavior:
4233          #
4234          # - "latest": picks the highest valid Kubernetes version
4235          # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
4236          # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
4237          # - "1.X.Y-gke.N": picks an explicit Kubernetes version
4238          # - "-": picks the default Kubernetes version
4239      "desiredLocations": [ # The desired list of Google Compute Engine
4240          # [zones](/compute/docs/zones#available) in which the cluster's nodes
4241          # should be located. Changing the locations a cluster is in will result
4242          # in nodes being either created or removed from the cluster, depending on
4243          # whether locations are being added or removed.
4244          #
4245          # This list must always include the cluster's primary zone.
4246        "A String",
4247      ],
4248      "desiredNodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an
4249          # upgrade).
4250          #
4251          # Users may specify either explicit versions offered by
4252          # Kubernetes Engine or version aliases, which have the following behavior:
4253          #
4254          # - "latest": picks the highest valid Kubernetes version
4255          # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
4256          # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
4257          # - "1.X.Y-gke.N": picks an explicit Kubernetes version
4258          # - "-": picks the Kubernetes master version
4259      "desiredMonitoringService": "A String", # The monitoring service the cluster should use to write metrics.
4260          # Currently available options:
4261          #
4262          # * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
4263          # service with Kubernetes-native resource model in Stackdriver
4264          # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
4265          # * "none" - no metrics will be exported from the cluster
4266      "desiredBinaryAuthorization": { # Configuration for Binary Authorization. # The desired configuration options for the Binary Authorization feature.
4267        "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
4268            # images will be validated by Google Binauthz.
4269      },
4270      "desiredPrivateClusterConfig": { # Configuration options for private clusters. # The desired private cluster configuration.
4271        "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
4272        "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
4273        "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
4274            # given only RFC 1918 private addresses and communicate with the master via
4275            # private networking.
4276        "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
4277        "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
4278            # range will be used for assigning internal IP addresses to the master or
4279            # set of masters, as well as the ILB VIP. This range must not overlap with
4280            # any other ranges in use within the cluster's network.
4281        "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering.
4282      },
4283      "desiredResourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # The desired configuration for exporting resource usage.
4284        "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
4285          "datasetId": "A String", # The ID of a BigQuery Dataset.
4286        },
4287        "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
4288            # daemonset will be created in the cluster to meter network egress traffic.
4289        "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
4290          "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
4291              # second BigQuery table will be created to hold resource consumption
4292              # records.
4293        },
4294      },
4295      "desiredWorkloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity.
4296          # policies.
4297        "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
4298      },
4299      "desiredClusterAutoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
4300          # required by Cluster Autoscaler to automatically adjust
4301          # the size of the cluster and create/delete
4302          # node pools based on the current needs.
4303        "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
4304            # created by NAP.
4305            # by NAP.
4306          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
4307              # service_account is specified, scopes should be empty.
4308          "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
4309              # specified, service_account should be empty.
4310            "A String",
4311          ],
4312        },
4313        "resourceLimits": [ # Contains global constraints regarding minimum and maximum
4314            # amount of resources in the cluster.
4315          { # Contains information about amount of some resource in the cluster.
4316              # For memory, value should be in GB.
4317            "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
4318            "minimum": "A String", # Minimum amount of the resource in the cluster.
4319            "maximum": "A String", # Maximum amount of the resource in the cluster.
4320          },
4321        ],
4322        "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
4323            # in which the NodePool's nodes can be created by NAP.
4324          "A String",
4325        ],
4326        "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
4327      },
4328      "desiredNodePoolAutoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in
4329          # desired_node_pool_id. If there is only one pool in the
4330          # cluster and desired_node_pool_id is not provided then
4331          # the change applies to that single node pool.
4332          # adjust the size of the node pool to the current cluster usage.
4333        "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
4334            # max_node_count.
4335        "autoprovisioned": True or False, # Can this node pool be deleted automatically.
4336        "enabled": True or False, # Is autoscaling enabled for this node pool.
4337        "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
4338            # has to enough quota to scale up the cluster.
4339      },
4340      "desiredDatabaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
4341        "state": "A String", # Denotes the state of etcd encryption.
4342        "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
4343            # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
4344      },
4345    },
4346    "zone": "A String", # Deprecated. The name of the Google Compute Engine
4347        # [zone](/compute/docs/zones#available) in which the cluster
4348        # resides.
4349        # This field has been deprecated and replaced by the name field.
4350    "name": "A String", # The name (project, location, cluster) of the cluster to update.
4351        # Specified in the format 'projects/*/locations/*/clusters/*'.
4352  }
4353
4354  x__xgafv: string, V1 error format.
4355    Allowed values
4356      1 - v1 error format
4357      2 - v2 error format
4358
4359Returns:
4360  An object of the form:
4361
4362    { # This operation resource represents operations that may have happened or are
4363      # happening on the cluster. All fields are output only.
4364    "status": "A String", # The current status of the operation.
4365    "endTime": "A String", # [Output only] The time the operation completed, in
4366        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
4367    "name": "A String", # The server-assigned ID for the operation.
4368    "zone": "A String", # The name of the Google Compute Engine
4369        # [zone](/compute/docs/zones#available) in which the operation
4370        # is taking place.
4371        # This field is deprecated, use location instead.
4372    "location": "A String", # [Output only] The name of the Google Compute Engine
4373        # [zone](/compute/docs/regions-zones/regions-zones#available) or
4374        # [region](/compute/docs/regions-zones/regions-zones#available) in which
4375        # the cluster resides.
4376    "startTime": "A String", # [Output only] The time the operation started, in
4377        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
4378    "detail": "A String", # Detailed operation progress, if available.
4379    "clusterConditions": [ # Which conditions caused the current cluster state.
4380      { # StatusCondition describes why a cluster or a node pool has a certain status
4381          # (e.g., ERROR or DEGRADED).
4382        "message": "A String", # Human-friendly representation of the condition
4383        "code": "A String", # Machine-friendly representation of the condition
4384      },
4385    ],
4386    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
4387    "operationType": "A String", # The operation type.
4388    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
4389      "status": "A String", # Status of an operation stage.
4390          # Unset for single-stage operations.
4391      "metrics": [ # Progress metric bundle, for example:
4392          #   metrics: [{name: "nodes done",     int_value: 15},
4393          #             {name: "nodes total",    int_value: 32}]
4394          # or
4395          #   metrics: [{name: "progress",       double_value: 0.56},
4396          #             {name: "progress scale", double_value: 1.0}]
4397        { # Progress metric is (string, int|float|string) pair.
4398          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
4399          "intValue": "A String", # For metrics with integer value.
4400          "name": "A String", # Metric name, required.
4401              # e.g., "nodes total", "percent done"
4402          "doubleValue": 3.14, # For metrics with floating point value.
4403        },
4404      ],
4405      "stages": [ # Substages of an operation or a stage.
4406        # Object with schema name: OperationProgress
4407      ],
4408      "name": "A String", # A non-parameterized string describing an operation stage.
4409          # Unset for single-stage operations.
4410    },
4411    "nodepoolConditions": [ # Which conditions caused the current node pool state.
4412      { # StatusCondition describes why a cluster or a node pool has a certain status
4413          # (e.g., ERROR or DEGRADED).
4414        "message": "A String", # Human-friendly representation of the condition
4415        "code": "A String", # Machine-friendly representation of the condition
4416      },
4417    ],
4418    "selfLink": "A String", # Server-defined URL for the resource.
4419    "targetLink": "A String", # Server-defined URL for the target of the operation.
4420  }</pre>
4421</div>
4422
4423</body></html>