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