Regen all docs. (#700)

* Stop recursing if discovery == {}

* Generate docs with 'make docs'.
diff --git a/docs/dyn/container_v1.projects.locations.clusters.html b/docs/dyn/container_v1.projects.locations.clusters.html
new file mode 100644
index 0000000..4bcd83b
--- /dev/null
+++ b/docs/dyn/container_v1.projects.locations.clusters.html
@@ -0,0 +1,3550 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="container_v1.html">Kubernetes Engine API</a> . <a href="container_v1.projects.html">projects</a> . <a href="container_v1.projects.locations.html">locations</a> . <a href="container_v1.projects.locations.clusters.html">clusters</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="container_v1.projects.locations.clusters.nodePools.html">nodePools()</a></code>
+</p>
+<p class="firstline">Returns the nodePools Resource.</p>
+
+<p class="toc_element">
+  <code><a href="container_v1.projects.locations.clusters.well-known.html">well-known()</a></code>
+</p>
+<p class="firstline">Returns the well-known Resource.</p>
+
+<p class="toc_element">
+  <code><a href="#completeIpRotation">completeIpRotation(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Completes master IP rotation.</p>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a cluster, consisting of the specified number and type of Google</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes the cluster, including the Kubernetes endpoint and all worker</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the details of a specific cluster.</p>
+<p class="toc_element">
+  <code><a href="#getJwks">getJwks(parent, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the public component of the cluster signing keys in</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, projectId=None, zone=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists all clusters owned by a project in either the specified zone or all</p>
+<p class="toc_element">
+  <code><a href="#setAddons">setAddons(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the addons for a specific cluster.</p>
+<p class="toc_element">
+  <code><a href="#setLegacyAbac">setLegacyAbac(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Enables or disables the ABAC authorization mechanism on a cluster.</p>
+<p class="toc_element">
+  <code><a href="#setLocations">setLocations(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the locations for a specific cluster.</p>
+<p class="toc_element">
+  <code><a href="#setLogging">setLogging(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the logging service for a specific cluster.</p>
+<p class="toc_element">
+  <code><a href="#setMaintenancePolicy">setMaintenancePolicy(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the maintenance policy for a cluster.</p>
+<p class="toc_element">
+  <code><a href="#setMasterAuth">setMasterAuth(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets master auth materials. Currently supports changing the admin password</p>
+<p class="toc_element">
+  <code><a href="#setMonitoring">setMonitoring(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the monitoring service for a specific cluster.</p>
+<p class="toc_element">
+  <code><a href="#setNetworkPolicy">setNetworkPolicy(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Enables or disables Network Policy for a cluster.</p>
+<p class="toc_element">
+  <code><a href="#setResourceLabels">setResourceLabels(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets labels on a cluster.</p>
+<p class="toc_element">
+  <code><a href="#startIpRotation">startIpRotation(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Starts master IP rotation.</p>
+<p class="toc_element">
+  <code><a href="#update">update(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the settings of a specific cluster.</p>
+<p class="toc_element">
+  <code><a href="#updateMaster">updateMaster(name, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the master for a specific cluster.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="completeIpRotation">completeIpRotation(name, body, x__xgafv=None)</code>
+  <pre>Completes master IP rotation.
+
+Args:
+  name: string, The name (project, location, cluster id) of the cluster to complete IP
+rotation. Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://developers.google.com/console/help/new/#projectnumber).
+        # This field has been deprecated and replaced by the name field.
+    "clusterId": "A String", # Deprecated. The name of the cluster.
+        # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster id) of the cluster to complete IP
+        # rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
+  <pre>Creates a cluster, consisting of the specified number and type of Google
+Compute Engine instances.
+
+By default, the cluster is created in the project's
+[default network](/compute/docs/networks-and-firewalls#networks).
+
+One firewall is added for the cluster. After cluster creation,
+the Kubelet creates routes for each node to allow the containers
+on that node to communicate with all other instances in the
+cluster.
+
+Finally, an entry is added to the project's global metadata indicating
+which CIDR range the cluster is using.
+
+Args:
+  parent: string, The parent (project and location) where the cluster will be created.
+Specified in the format 'projects/*/locations/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # CreateClusterRequest creates a cluster.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the parent field.
+    "parent": "A String", # The parent (project and location) where the cluster will be created.
+        # Specified in the format 'projects/*/locations/*'.
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the parent field.
+    "cluster": { # A Google Kubernetes Engine cluster. # A [cluster
+        # resource](/container-engine/reference/rest/v1/projects.zones.clusters)
+      "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
+          # containers. This is provisioned from within the `container_ipv4_cidr`
+          # range. This field will only be set when cluster is in route-based network
+          # mode.
+      "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
+        "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+          "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+            "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
+                # smallest possible in the given scenario.
+                # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+                # format "PTnHnMnS".
+            "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+                # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+                # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
+          },
+        },
+      },
+      "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
+          # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+        "enabled": True or False, # Whether network policy is enabled on the cluster.
+        "provider": "A String", # The selected network policy provider.
+      },
+      "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+          # master authorized networks will disallow all external traffic to access
+          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+          # Google Compute Engine Public IPs and Google Prod IPs.
+        "enabled": True or False, # Whether or not master authorized networks is enabled.
+        "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
+            # Kubernetes master through HTTPS.
+          { # CidrBlock contains an optional name and one CIDR block.
+            "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
+            "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
+          },
+        ],
+      },
+      "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+          # cluster, enabling additional functionality.
+        "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+            # makes it easy to set up HTTP load balancers for services in a cluster.
+            # which makes it easy to set up HTTP load balancers for services in a cluster.
+          "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+              # When enabled, it runs a small pod in the cluster that manages the load
+              # balancers.
+        },
+        "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+          "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
+        },
+        "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+            # This addon is deprecated, and will be disabled in 1.15. It is recommended
+            # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+            # workloads and applications. For more information, see:
+            # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+          "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
+        },
+        "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
+            # increases or decreases the number of replica pods a replication controller
+            # has based on the resource usage of the existing pods.
+            # increases or decreases the number of replica pods a replication controller
+            # has based on the resource usage of the existing pods.
+          "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+              # When enabled, it ensures that a Heapster pod is running in the cluster,
+              # which is also used by the Cloud Monitoring service.
+        },
+      },
+      "locations": [ # The list of Google Compute Engine
+          # [zones](/compute/docs/zones#available) in which the cluster's nodes
+          # should be located.
+        "A String",
+      ],
+      "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+          # API groups (e.g. v1alpha1) and features that may not be production ready in
+          # the kubernetes version of the master and nodes.
+          # The cluster has no SLA for uptime and master/node upgrades are disabled.
+          # Alpha enabled clusters are automatically deleted thirty days after
+          # creation.
+      "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
+          # simultaneously on a node in the node pool of this cluster. Only honored
+          # if cluster created with IP Alias support.
+        "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
+      },
+      "network": "A String", # The name of the Google Compute Engine
+          # [network](/compute/docs/networks-and-firewalls#networks) to which the
+          # cluster is connected. If left unspecified, the `default` network
+          # will be used.
+      "zone": "A String", # [Output only] The name of the Google Compute Engine
+          # [zone](/compute/docs/zones#available) in which the cluster
+          # resides.
+          # This field is deprecated, use location instead.
+      "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
+        "A String",
+      ],
+      "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
+        "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
+            # [subnetwork](/compute/docs/vpc) to which the cluster is connected.
+            # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
+        "network": "A String", # Output only. The relative name of the Google Compute Engine
+            # network(/compute/docs/networks-and-firewalls#networks) to which
+            # the cluster is connected.
+            # Example: projects/my-project/global/networks/my-network
+      },
+      "name": "A String", # The name of this cluster. The name must be unique within this project
+          # and zone, and can be up to 40 characters with the following restrictions:
+          #
+          # * Lowercase letters, numbers, and hyphens only.
+          # * Must start with a letter.
+          # * Must end with a number or a letter.
+      "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+        "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
+        "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+        "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
+            # block.  The secondary range will be used for pod IP
+            # addresses. This must be an existing secondary range associated
+            # with the cluster subnetwork.
+            #
+            # This field is only applicable with use_ip_aliases is true and
+            # create_subnetwork is false.
+        "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
+            # `cluster.cluster_ipv4_cidr` must be left blank.
+            #
+            # This field is only applicable when `use_ip_aliases` is true.
+            #
+            # Set to blank to have a range chosen with the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
+        "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
+            # will be automatically chosen with the default size.
+            #
+            # This field is only applicable when `use_ip_aliases` is true.
+            #
+            # Set to blank to have a range chosen with the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
+        "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
+            #
+            # This field is only applicable when `use_ip_aliases` is true.
+        "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
+            #
+            # This is applicable only if `create_subnetwork` is true.
+            #
+            # Set to blank to have a range chosen with the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
+        "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+            # range will be automatically chosen with the default size.
+            #
+            # This field is only applicable when `use_ip_aliases` is true.
+            #
+            # If unspecified, the range will use the default size.
+            #
+            # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+            # netmask.
+            #
+            # Set to a
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+            # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+            # to use.
+        "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
+        "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true.  If
+            # this field is empty, then an automatic name will be chosen for the new
+            # subnetwork.
+        "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
+            # CIDR block.  The secondary range will be used for service
+            # ClusterIPs. This must be an existing secondary range associated
+            # with the cluster subnetwork.
+            #
+            # This field is only applicable with use_ip_aliases is true and
+            # create_subnetwork is false.
+        "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+      },
+      "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+          # disabled when this config is unspecified.
+        "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+          "datasetId": "A String", # The ID of a BigQuery Dataset.
+        },
+        "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+            # daemonset will be created in the cluster to meter network egress traffic.
+        "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+          "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+              # second BigQuery table will be created to hold resource consumption
+              # records.
+        },
+      },
+      "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
+      "conditions": [ # Which conditions caused the current cluster state.
+        { # StatusCondition describes why a cluster or a node pool has a certain status
+            # (e.g., ERROR or DEGRADED).
+          "message": "A String", # Human-friendly representation of the condition
+          "code": "A String", # Machine-friendly representation of the condition
+        },
+      ],
+      "statusMessage": "A String", # [Output only] Additional information about the current status of this
+          # cluster, if available.
+      "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
+          # this cluster, in
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `1.2.3.4/29`). Service addresses are
+          # typically put in the last `/16` from the container CIDR.
+      "status": "A String", # [Output only] The current status of this cluster.
+      "description": "A String", # An optional description of this cluster.
+      "currentNodeVersion": "A String", # [Output only] Deprecated, use
+          # [NodePools.version](/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePools)
+          # instead. The current version of the node software components. If they are
+          # currently at multiple versions because they're in the process of being
+          # upgraded, this reflects the minimum version of all nodes.
+      "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
+      "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
+      "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
+          # If unspecified, the defaults are used:
+          # For clusters before v1.12, if master_auth is unspecified, `username` will
+          # be set to "admin", a random password will be generated, and a client
+          # certificate will be issued.
+          # Authentication can be done using HTTP basic auth or using client
+          # certificates.
+        "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
+            # For clusters v1.6.0 and later, basic authentication can be disabled by
+            # leaving username unspecified (or setting it to the empty string).
+        "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
+            # to the cluster endpoint.
+        "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
+            # authenticate to the cluster endpoint.
+        "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+            # clusters before v1.12, if no configuration is specified, a client
+            # certificate is issued.
+          "issueClientCertificate": True or False, # Issue a client certificate.
+        },
+        "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
+            # Because the master endpoint is open to the Internet, you should create a
+            # strong password.  If a password is provided for cluster creation, username
+            # must be non-empty.
+        "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
+            # trust for the cluster.
+      },
+      "expireTime": "A String", # [Output only] The time the cluster will be automatically
+          # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+      "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `1.2.3.4/29`).
+      "nodePools": [ # The node pools associated with this cluster.
+          # This field should not be set if "node_config" or "initial_node_count" are
+          # specified.
+        { # NodePool contains the name and configuration for a cluster's node pool.
+            # Node pools are a set of nodes (i.e. VM's), with a common configuration and
+            # specification, under the control of the cluster master. They may have a set
+            # of Kubernetes labels applied to them, which may be used to reference them
+            # during pod scheduling. They may also be resized up or down, to accommodate
+            # the workload.
+          "status": "A String", # [Output only] The status of the nodes in this pool instance.
+          "statusMessage": "A String", # [Output only] Additional information about the current status of this
+              # node pool instance, if available.
+          "name": "A String", # The name of the node pool.
+          "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
+              # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
+              # associated with this node pool.
+            "A String",
+          ],
+          "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+              # only if a valid configuration is present.
+              # adjust the size of the node pool to the current cluster usage.
+            "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
+                # max_node_count.
+            "enabled": True or False, # Is autoscaling enabled for this node pool.
+            "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
+                # has to enough quota to scale up the cluster.
+          },
+          "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
+              # simultaneously on a node in the node pool.
+            "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
+          },
+          "version": "A String", # The version of the Kubernetes of this node.
+          "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
+              # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
+              # is sufficient for this number of instances. You must also have available
+              # firewall and routes quota.
+          "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
+          "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+              # node pool.
+            "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node
+                # pool. If enabled, the nodes in this node pool will be monitored and, if
+                # they fail health checks too many times, an automatic repair action will be
+                # triggered.
+            "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+                # the Auto Upgrades will proceed.
+              "description": "A String", # [Output only] This field is set when upgrades are about to commence
+                  # with the description of the upgrade.
+              "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
+                  # with the approximate start time for the upgrades, in
+                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+            },
+            "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
+                # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
+                # up to date with the latest release version of Kubernetes.
+          },
+          "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+            "taints": [ # List of kubernetes taints to be applied to each node.
+                #
+                # For more information, including usage and the valid values, see:
+                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+              { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                  # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                  #
+                  # For more information, including usage and the valid values, see:
+                  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+                "key": "A String", # Key for taint.
+                "effect": "A String", # Effect for taint.
+                "value": "A String", # Value for taint.
+              },
+            ],
+            "machineType": "A String", # The name of a Google Compute Engine [machine
+                # type](/compute/docs/machine-types) (e.g.
+                # `n1-standard-1`).
+                #
+                # If unspecified, the default machine type is
+                # `n1-standard-1`.
+            "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+                # valid sources or targets for network firewalls and are specified by
+                # the client during cluster or node pool creation. Each tag within the list
+                # must comply with RFC1035.
+              "A String",
+            ],
+            "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
+                # https://cloud.google.com/compute/docs/instances/preemptible for more
+                # information about preemptible VM instances.
+            "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+                # These will added in addition to any default label(s) that
+                # Kubernetes may apply to the node.
+                # In case of conflict in label keys, the applied set may differ depending on
+                # the Kubernetes version -- it's best to assume the behavior is undefined
+                # and conflicts should be avoided.
+                # For more information, including usage and the valid values, see:
+                # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+              "a_key": "A String",
+            },
+            "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+                # no Service Account is specified, the "default" service account is used.
+            "oauthScopes": [ # The set of Google API scopes to be made available on all of the
+                # node VMs under the "default" service account.
+                #
+                # The following scopes are recommended, but not required, and by default are
+                # not included:
+                #
+                # * `https://www.googleapis.com/auth/compute` is required for mounting
+                # persistent storage on your nodes.
+                # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+                # communicating with **gcr.io**
+                # (the [Google Container Registry](/container-registry/)).
+                #
+                # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+                # Monitoring are enabled, in which case their required scopes will be added.
+              "A String",
+            ],
+            "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+                #
+                # If unspecified, the default disk type is 'pd-standard'
+            "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+                # The smallest allowed disk size is 10GB.
+                #
+                # If unspecified, the default disk size is 100GB.
+            "accelerators": [ # A list of hardware accelerators to be attached to each node.
+                # See https://cloud.google.com/compute/docs/gpus for more information about
+                # support for GPUs.
+              { # AcceleratorConfig represents a Hardware Accelerator request.
+                "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+                "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+                    # [here](/compute/docs/gpus/#Introduction)
+              },
+            ],
+            "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+                # scheduled on the specified or newer CPU platform. Applicable values are the
+                # friendly names of CPU platforms, such as
+                # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+                # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+                # information, read [how to specify min CPU
+                # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+            "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
+                #
+                # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+                # in length. These are reflected as part of a URL in the metadata server.
+                # Additionally, to avoid ambiguity, keys must not conflict with any other
+                # metadata keys for the project or be one of the reserved keys:
+                #  "cluster-location"
+                #  "cluster-name"
+                #  "cluster-uid"
+                #  "configure-sh"
+                #  "containerd-configure-sh"
+                #  "enable-os-login"
+                #  "gci-update-strategy"
+                #  "gci-ensure-gke-docker"
+                #  "instance-template"
+                #  "kube-env"
+                #  "startup-script"
+                #  "user-data"
+                #  "disable-address-manager"
+                #  "windows-startup-script-ps1"
+                #  "common-psm1"
+                #  "k8s-node-setup-psm1"
+                #  "install-ssh-psm1"
+                #  "user-profile-psm1"
+                #  "serial-port-logging-enable"
+                #
+                # Values are free-form strings, and only have meaning as interpreted by
+                # the image running in the instance. The only restriction placed on them is
+                # that each value's size must be less than or equal to 32 KB.
+                #
+                # The total size of all keys and values must be less than 512 KB.
+              "a_key": "A String",
+            },
+            "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+                # the latest version of it will be used.
+            "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+                #
+                # The limit for this value is dependant upon the maximum number of
+                # disks available on a machine per zone. See:
+                # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
+                # for more information.
+          },
+          "conditions": [ # Which conditions caused the current node pool state.
+            { # StatusCondition describes why a cluster or a node pool has a certain status
+                # (e.g., ERROR or DEGRADED).
+              "message": "A String", # Human-friendly representation of the condition
+              "code": "A String", # Machine-friendly representation of the condition
+            },
+          ],
+          "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+        },
+      ],
+      "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+          # Currently available options:
+          #
+          # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
+          # * `none` - no metrics will be exported from the cluster.
+          # * if left as an empty string, `monitoring.googleapis.com` will be used.
+      "createTime": "A String", # [Output only] The time the cluster was created, in
+          # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+      "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+          # mode.
+        "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+            # identities in the system, including service accounts, nodes, and
+            # controllers, will have statically granted permissions beyond those
+            # provided by the RBAC configuration or IAM.
+      },
+      "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
+        "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
+        "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
+            # range will be used for assigning internal IP addresses to the master or
+            # set of masters, as well as the ILB VIP. This range must not overlap with
+            # any other ranges in use within the cluster's network.
+        "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
+        "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
+        "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+            # given only RFC 1918 private addresses and communicate with the master via
+            # private networking.
+      },
+      "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
+          # The endpoint can be accessed from the internet at
+          # `https://username:password@endpoint/`.
+          #
+          # See the `masterAuth` property of this resource for username and
+          # password information.
+      "currentNodeCount": 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
+          # Call Kubernetes API directly to retrieve node information.
+      "loggingService": "A String", # The logging service the cluster should use to write logs.
+          # Currently available options:
+          #
+          # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
+          # service with Kubernetes-native resource model in Stackdriver
+          # * `logging.googleapis.com` - the Google Cloud Logging service.
+          # * `none` - no logs will be exported from the cluster.
+          # * if left as an empty string,`logging.googleapis.com` will be used.
+      "location": "A String", # [Output only] The name of the Google Compute Engine
+          # [zone](/compute/docs/regions-zones/regions-zones#available) or
+          # [region](/compute/docs/regions-zones/regions-zones#available) in which
+          # the cluster resides.
+      "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster.  Valid versions are those
+          # found in validMasterVersions returned by getServerConfig.  The version can
+          # be upgraded over time; such upgrades are reflected in
+          # currentMasterVersion and currentNodeVersion.
+          #
+          # Users may specify either explicit versions offered by
+          # Kubernetes Engine or version aliases, which have the following behavior:
+          #
+          # - "latest": picks the highest valid Kubernetes version
+          # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+          # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+          # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+          # - "","-": picks the default Kubernetes version
+      "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
+          # For requests, this field should only be used in lieu of a
+          # "node_pool" object, since this configuration (along with the
+          # "initial_node_count") will be used to create a "NodePool" object with an
+          # auto-generated name. Do not use this and a node_pool at the same time.
+          # For responses, this field will be populated with the node configuration of
+          # the first node pool. (For configuration of each node pool, see
+          # `node_pool.config`)
+          #
+          # If unspecified, the defaults are used.
+          # This field is deprecated, use node_pool.config instead.
+        "taints": [ # List of kubernetes taints to be applied to each node.
+            #
+            # For more information, including usage and the valid values, see:
+            # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+          { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+              # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+              #
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+            "key": "A String", # Key for taint.
+            "effect": "A String", # Effect for taint.
+            "value": "A String", # Value for taint.
+          },
+        ],
+        "machineType": "A String", # The name of a Google Compute Engine [machine
+            # type](/compute/docs/machine-types) (e.g.
+            # `n1-standard-1`).
+            #
+            # If unspecified, the default machine type is
+            # `n1-standard-1`.
+        "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+            # valid sources or targets for network firewalls and are specified by
+            # the client during cluster or node pool creation. Each tag within the list
+            # must comply with RFC1035.
+          "A String",
+        ],
+        "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
+            # https://cloud.google.com/compute/docs/instances/preemptible for more
+            # information about preemptible VM instances.
+        "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+            # These will added in addition to any default label(s) that
+            # Kubernetes may apply to the node.
+            # In case of conflict in label keys, the applied set may differ depending on
+            # the Kubernetes version -- it's best to assume the behavior is undefined
+            # and conflicts should be avoided.
+            # For more information, including usage and the valid values, see:
+            # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+          "a_key": "A String",
+        },
+        "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+            # no Service Account is specified, the "default" service account is used.
+        "oauthScopes": [ # The set of Google API scopes to be made available on all of the
+            # node VMs under the "default" service account.
+            #
+            # The following scopes are recommended, but not required, and by default are
+            # not included:
+            #
+            # * `https://www.googleapis.com/auth/compute` is required for mounting
+            # persistent storage on your nodes.
+            # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+            # communicating with **gcr.io**
+            # (the [Google Container Registry](/container-registry/)).
+            #
+            # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+            # Monitoring are enabled, in which case their required scopes will be added.
+          "A String",
+        ],
+        "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+            #
+            # If unspecified, the default disk type is 'pd-standard'
+        "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+            # The smallest allowed disk size is 10GB.
+            #
+            # If unspecified, the default disk size is 100GB.
+        "accelerators": [ # A list of hardware accelerators to be attached to each node.
+            # See https://cloud.google.com/compute/docs/gpus for more information about
+            # support for GPUs.
+          { # AcceleratorConfig represents a Hardware Accelerator request.
+            "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+            "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+                # [here](/compute/docs/gpus/#Introduction)
+          },
+        ],
+        "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+            # scheduled on the specified or newer CPU platform. Applicable values are the
+            # friendly names of CPU platforms, such as
+            # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+            # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+            # information, read [how to specify min CPU
+            # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+        "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
+            #
+            # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+            # in length. These are reflected as part of a URL in the metadata server.
+            # Additionally, to avoid ambiguity, keys must not conflict with any other
+            # metadata keys for the project or be one of the reserved keys:
+            #  "cluster-location"
+            #  "cluster-name"
+            #  "cluster-uid"
+            #  "configure-sh"
+            #  "containerd-configure-sh"
+            #  "enable-os-login"
+            #  "gci-update-strategy"
+            #  "gci-ensure-gke-docker"
+            #  "instance-template"
+            #  "kube-env"
+            #  "startup-script"
+            #  "user-data"
+            #  "disable-address-manager"
+            #  "windows-startup-script-ps1"
+            #  "common-psm1"
+            #  "k8s-node-setup-psm1"
+            #  "install-ssh-psm1"
+            #  "user-profile-psm1"
+            #  "serial-port-logging-enable"
+            #
+            # Values are free-form strings, and only have meaning as interpreted by
+            # the image running in the instance. The only restriction placed on them is
+            # that each value's size must be less than or equal to 32 KB.
+            #
+            # The total size of all keys and values must be less than 512 KB.
+          "a_key": "A String",
+        },
+        "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+            # the latest version of it will be used.
+        "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+            #
+            # The limit for this value is dependant upon the maximum number of
+            # disks available on a machine per zone. See:
+            # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
+            # for more information.
+      },
+      "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`). Leave blank to have
+          # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+      "subnetwork": "A String", # The name of the Google Compute Engine
+          # [subnetwork](/compute/docs/subnetworks) to which the
+          # cluster is connected.
+      "resourceLabels": { # The resource labels for the cluster to use to annotate any related
+          # Google Compute Engine resources.
+        "a_key": "A String",
+      },
+      "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+      "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
+          # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
+          # is sufficient for this number of instances. You must also have available
+          # firewall and routes quota.
+          # For requests, this field should only be used in lieu of a
+          # "node_pool" object, since this configuration (along with the
+          # "node_config") will be used to create a "NodePool" object with an
+          # auto-generated name. Do not use this and a node_pool at the same time.
+          #
+          # This field is deprecated, use node_pool.initial_node_count instead.
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</code>
+  <pre>Deletes the cluster, including the Kubernetes endpoint and all worker
+nodes.
+
+Firewalls and routes that were configured during cluster creation
+are also deleted.
+
+Other Google Compute Engine resources that might be in use by the cluster,
+such as load balancer resources, are not deleted if they weren't present
+when the cluster was initially created.
+
+Args:
+  name: string, The name (project, location, cluster) of the cluster to delete.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  projectId: string, Deprecated. The Google Developers Console [project ID or project
+number](https://support.google.com/cloud/answer/6158840).
+This field has been deprecated and replaced by the name field.
+  clusterId: string, Deprecated. The name of the cluster to delete.
+This field has been deprecated and replaced by the name field.
+  zone: string, Deprecated. The name of the Google Compute Engine
+[zone](/compute/docs/zones#available) in which the cluster
+resides.
+This field has been deprecated and replaced by the name field.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, projectId=None, clusterId=None, zone=None, x__xgafv=None)</code>
+  <pre>Gets the details of a specific cluster.
+
+Args:
+  name: string, The name (project, location, cluster) of the cluster to retrieve.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  projectId: string, Deprecated. The Google Developers Console [project ID or project
+number](https://support.google.com/cloud/answer/6158840).
+This field has been deprecated and replaced by the name field.
+  clusterId: string, Deprecated. The name of the cluster to retrieve.
+This field has been deprecated and replaced by the name field.
+  zone: string, Deprecated. The name of the Google Compute Engine
+[zone](/compute/docs/zones#available) in which the cluster
+resides.
+This field has been deprecated and replaced by the name field.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A Google Kubernetes Engine cluster.
+    "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
+        # containers. This is provisioned from within the `container_ipv4_cidr`
+        # range. This field will only be set when cluster is in route-based network
+        # mode.
+    "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
+      "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+        "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+          "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
+              # smallest possible in the given scenario.
+              # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+              # format "PTnHnMnS".
+          "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+              # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+              # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
+        },
+      },
+    },
+    "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
+        # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+      "enabled": True or False, # Whether network policy is enabled on the cluster.
+      "provider": "A String", # The selected network policy provider.
+    },
+    "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+        # master authorized networks will disallow all external traffic to access
+        # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+        # Google Compute Engine Public IPs and Google Prod IPs.
+      "enabled": True or False, # Whether or not master authorized networks is enabled.
+      "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
+          # Kubernetes master through HTTPS.
+        { # CidrBlock contains an optional name and one CIDR block.
+          "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
+          "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
+        },
+      ],
+    },
+    "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+        # cluster, enabling additional functionality.
+      "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+          # makes it easy to set up HTTP load balancers for services in a cluster.
+          # which makes it easy to set up HTTP load balancers for services in a cluster.
+        "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+            # When enabled, it runs a small pod in the cluster that manages the load
+            # balancers.
+      },
+      "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+          # is enabled or not on the Master, it does not track whether network policy
+          # is enabled for the nodes.
+          # is enabled or not on the Master, it does not track whether network policy
+          # is enabled for the nodes.
+        "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
+      },
+      "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+          # This addon is deprecated, and will be disabled in 1.15. It is recommended
+          # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+          # workloads and applications. For more information, see:
+          # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+        "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
+      },
+      "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
+          # increases or decreases the number of replica pods a replication controller
+          # has based on the resource usage of the existing pods.
+          # increases or decreases the number of replica pods a replication controller
+          # has based on the resource usage of the existing pods.
+        "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+            # When enabled, it ensures that a Heapster pod is running in the cluster,
+            # which is also used by the Cloud Monitoring service.
+      },
+    },
+    "locations": [ # The list of Google Compute Engine
+        # [zones](/compute/docs/zones#available) in which the cluster's nodes
+        # should be located.
+      "A String",
+    ],
+    "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+        # API groups (e.g. v1alpha1) and features that may not be production ready in
+        # the kubernetes version of the master and nodes.
+        # The cluster has no SLA for uptime and master/node upgrades are disabled.
+        # Alpha enabled clusters are automatically deleted thirty days after
+        # creation.
+    "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
+        # simultaneously on a node in the node pool of this cluster. Only honored
+        # if cluster created with IP Alias support.
+      "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
+    },
+    "network": "A String", # The name of the Google Compute Engine
+        # [network](/compute/docs/networks-and-firewalls#networks) to which the
+        # cluster is connected. If left unspecified, the `default` network
+        # will be used.
+    "zone": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field is deprecated, use location instead.
+    "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
+      "A String",
+    ],
+    "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
+      "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
+          # [subnetwork](/compute/docs/vpc) to which the cluster is connected.
+          # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
+      "network": "A String", # Output only. The relative name of the Google Compute Engine
+          # network(/compute/docs/networks-and-firewalls#networks) to which
+          # the cluster is connected.
+          # Example: projects/my-project/global/networks/my-network
+    },
+    "name": "A String", # The name of this cluster. The name must be unique within this project
+        # and zone, and can be up to 40 characters with the following restrictions:
+        #
+        # * Lowercase letters, numbers, and hyphens only.
+        # * Must start with a letter.
+        # * Must end with a number or a letter.
+    "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+      "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
+      "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+      "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
+          # block.  The secondary range will be used for pod IP
+          # addresses. This must be an existing secondary range associated
+          # with the cluster subnetwork.
+          #
+          # This field is only applicable with use_ip_aliases is true and
+          # create_subnetwork is false.
+      "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
+          # `cluster.cluster_ipv4_cidr` must be left blank.
+          #
+          # This field is only applicable when `use_ip_aliases` is true.
+          #
+          # Set to blank to have a range chosen with the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
+      "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
+          # will be automatically chosen with the default size.
+          #
+          # This field is only applicable when `use_ip_aliases` is true.
+          #
+          # Set to blank to have a range chosen with the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
+      "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
+          #
+          # This field is only applicable when `use_ip_aliases` is true.
+      "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
+          #
+          # This is applicable only if `create_subnetwork` is true.
+          #
+          # Set to blank to have a range chosen with the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
+      "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+          # range will be automatically chosen with the default size.
+          #
+          # This field is only applicable when `use_ip_aliases` is true.
+          #
+          # If unspecified, the range will use the default size.
+          #
+          # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+          # netmask.
+          #
+          # Set to a
+          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+          # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+          # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+          # to use.
+      "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
+      "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true.  If
+          # this field is empty, then an automatic name will be chosen for the new
+          # subnetwork.
+      "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
+          # CIDR block.  The secondary range will be used for service
+          # ClusterIPs. This must be an existing secondary range associated
+          # with the cluster subnetwork.
+          #
+          # This field is only applicable with use_ip_aliases is true and
+          # create_subnetwork is false.
+      "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+    },
+    "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+        # disabled when this config is unspecified.
+      "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+        "datasetId": "A String", # The ID of a BigQuery Dataset.
+      },
+      "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+          # daemonset will be created in the cluster to meter network egress traffic.
+      "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+        "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+            # second BigQuery table will be created to hold resource consumption
+            # records.
+      },
+    },
+    "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
+    "conditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "statusMessage": "A String", # [Output only] Additional information about the current status of this
+        # cluster, if available.
+    "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
+        # this cluster, in
+        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+        # notation (e.g. `1.2.3.4/29`). Service addresses are
+        # typically put in the last `/16` from the container CIDR.
+    "status": "A String", # [Output only] The current status of this cluster.
+    "description": "A String", # An optional description of this cluster.
+    "currentNodeVersion": "A String", # [Output only] Deprecated, use
+        # [NodePools.version](/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePools)
+        # instead. The current version of the node software components. If they are
+        # currently at multiple versions because they're in the process of being
+        # upgraded, this reflects the minimum version of all nodes.
+    "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
+    "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
+    "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
+        # If unspecified, the defaults are used:
+        # For clusters before v1.12, if master_auth is unspecified, `username` will
+        # be set to "admin", a random password will be generated, and a client
+        # certificate will be issued.
+        # Authentication can be done using HTTP basic auth or using client
+        # certificates.
+      "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
+          # For clusters v1.6.0 and later, basic authentication can be disabled by
+          # leaving username unspecified (or setting it to the empty string).
+      "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
+          # to the cluster endpoint.
+      "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
+          # authenticate to the cluster endpoint.
+      "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+          # clusters before v1.12, if no configuration is specified, a client
+          # certificate is issued.
+        "issueClientCertificate": True or False, # Issue a client certificate.
+      },
+      "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
+          # Because the master endpoint is open to the Internet, you should create a
+          # strong password.  If a password is provided for cluster creation, username
+          # must be non-empty.
+      "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
+          # trust for the cluster.
+    },
+    "expireTime": "A String", # [Output only] The time the cluster will be automatically
+        # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
+        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+        # notation (e.g. `1.2.3.4/29`).
+    "nodePools": [ # The node pools associated with this cluster.
+        # This field should not be set if "node_config" or "initial_node_count" are
+        # specified.
+      { # NodePool contains the name and configuration for a cluster's node pool.
+          # Node pools are a set of nodes (i.e. VM's), with a common configuration and
+          # specification, under the control of the cluster master. They may have a set
+          # of Kubernetes labels applied to them, which may be used to reference them
+          # during pod scheduling. They may also be resized up or down, to accommodate
+          # the workload.
+        "status": "A String", # [Output only] The status of the nodes in this pool instance.
+        "statusMessage": "A String", # [Output only] Additional information about the current status of this
+            # node pool instance, if available.
+        "name": "A String", # The name of the node pool.
+        "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
+            # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
+            # associated with this node pool.
+          "A String",
+        ],
+        "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+            # only if a valid configuration is present.
+            # adjust the size of the node pool to the current cluster usage.
+          "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
+              # max_node_count.
+          "enabled": True or False, # Is autoscaling enabled for this node pool.
+          "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
+              # has to enough quota to scale up the cluster.
+        },
+        "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
+            # simultaneously on a node in the node pool.
+          "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
+        },
+        "version": "A String", # The version of the Kubernetes of this node.
+        "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
+            # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
+            # is sufficient for this number of instances. You must also have available
+            # firewall and routes quota.
+        "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
+        "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+            # node pool.
+          "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node
+              # pool. If enabled, the nodes in this node pool will be monitored and, if
+              # they fail health checks too many times, an automatic repair action will be
+              # triggered.
+          "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+              # the Auto Upgrades will proceed.
+            "description": "A String", # [Output only] This field is set when upgrades are about to commence
+                # with the description of the upgrade.
+            "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
+                # with the approximate start time for the upgrades, in
+                # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+          },
+          "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
+              # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
+              # up to date with the latest release version of Kubernetes.
+        },
+        "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+          "taints": [ # List of kubernetes taints to be applied to each node.
+              #
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+            { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                #
+                # For more information, including usage and the valid values, see:
+                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+              "key": "A String", # Key for taint.
+              "effect": "A String", # Effect for taint.
+              "value": "A String", # Value for taint.
+            },
+          ],
+          "machineType": "A String", # The name of a Google Compute Engine [machine
+              # type](/compute/docs/machine-types) (e.g.
+              # `n1-standard-1`).
+              #
+              # If unspecified, the default machine type is
+              # `n1-standard-1`.
+          "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+              # valid sources or targets for network firewalls and are specified by
+              # the client during cluster or node pool creation. Each tag within the list
+              # must comply with RFC1035.
+            "A String",
+          ],
+          "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
+              # https://cloud.google.com/compute/docs/instances/preemptible for more
+              # information about preemptible VM instances.
+          "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+              # These will added in addition to any default label(s) that
+              # Kubernetes may apply to the node.
+              # In case of conflict in label keys, the applied set may differ depending on
+              # the Kubernetes version -- it's best to assume the behavior is undefined
+              # and conflicts should be avoided.
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+            "a_key": "A String",
+          },
+          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+              # no Service Account is specified, the "default" service account is used.
+          "oauthScopes": [ # The set of Google API scopes to be made available on all of the
+              # node VMs under the "default" service account.
+              #
+              # The following scopes are recommended, but not required, and by default are
+              # not included:
+              #
+              # * `https://www.googleapis.com/auth/compute` is required for mounting
+              # persistent storage on your nodes.
+              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+              # communicating with **gcr.io**
+              # (the [Google Container Registry](/container-registry/)).
+              #
+              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+              # Monitoring are enabled, in which case their required scopes will be added.
+            "A String",
+          ],
+          "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+              #
+              # If unspecified, the default disk type is 'pd-standard'
+          "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+              # The smallest allowed disk size is 10GB.
+              #
+              # If unspecified, the default disk size is 100GB.
+          "accelerators": [ # A list of hardware accelerators to be attached to each node.
+              # See https://cloud.google.com/compute/docs/gpus for more information about
+              # support for GPUs.
+            { # AcceleratorConfig represents a Hardware Accelerator request.
+              "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+              "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+                  # [here](/compute/docs/gpus/#Introduction)
+            },
+          ],
+          "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+              # scheduled on the specified or newer CPU platform. Applicable values are the
+              # friendly names of CPU platforms, such as
+              # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+              # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+              # information, read [how to specify min CPU
+              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+          "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
+              #
+              # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+              # in length. These are reflected as part of a URL in the metadata server.
+              # Additionally, to avoid ambiguity, keys must not conflict with any other
+              # metadata keys for the project or be one of the reserved keys:
+              #  "cluster-location"
+              #  "cluster-name"
+              #  "cluster-uid"
+              #  "configure-sh"
+              #  "containerd-configure-sh"
+              #  "enable-os-login"
+              #  "gci-update-strategy"
+              #  "gci-ensure-gke-docker"
+              #  "instance-template"
+              #  "kube-env"
+              #  "startup-script"
+              #  "user-data"
+              #  "disable-address-manager"
+              #  "windows-startup-script-ps1"
+              #  "common-psm1"
+              #  "k8s-node-setup-psm1"
+              #  "install-ssh-psm1"
+              #  "user-profile-psm1"
+              #  "serial-port-logging-enable"
+              #
+              # Values are free-form strings, and only have meaning as interpreted by
+              # the image running in the instance. The only restriction placed on them is
+              # that each value's size must be less than or equal to 32 KB.
+              #
+              # The total size of all keys and values must be less than 512 KB.
+            "a_key": "A String",
+          },
+          "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+              # the latest version of it will be used.
+          "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+              #
+              # The limit for this value is dependant upon the maximum number of
+              # disks available on a machine per zone. See:
+              # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
+              # for more information.
+        },
+        "conditions": [ # Which conditions caused the current node pool state.
+          { # StatusCondition describes why a cluster or a node pool has a certain status
+              # (e.g., ERROR or DEGRADED).
+            "message": "A String", # Human-friendly representation of the condition
+            "code": "A String", # Machine-friendly representation of the condition
+          },
+        ],
+        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+      },
+    ],
+    "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+        # Currently available options:
+        #
+        # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
+        # * `none` - no metrics will be exported from the cluster.
+        # * if left as an empty string, `monitoring.googleapis.com` will be used.
+    "createTime": "A String", # [Output only] The time the cluster was created, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+        # mode.
+      "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+          # identities in the system, including service accounts, nodes, and
+          # controllers, will have statically granted permissions beyond those
+          # provided by the RBAC configuration or IAM.
+    },
+    "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
+      "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
+      "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
+          # range will be used for assigning internal IP addresses to the master or
+          # set of masters, as well as the ILB VIP. This range must not overlap with
+          # any other ranges in use within the cluster's network.
+      "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
+      "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
+      "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+          # given only RFC 1918 private addresses and communicate with the master via
+          # private networking.
+    },
+    "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
+        # The endpoint can be accessed from the internet at
+        # `https://username:password@endpoint/`.
+        #
+        # See the `masterAuth` property of this resource for username and
+        # password information.
+    "currentNodeCount": 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
+        # Call Kubernetes API directly to retrieve node information.
+    "loggingService": "A String", # The logging service the cluster should use to write logs.
+        # Currently available options:
+        #
+        # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
+        # service with Kubernetes-native resource model in Stackdriver
+        # * `logging.googleapis.com` - the Google Cloud Logging service.
+        # * `none` - no logs will be exported from the cluster.
+        # * if left as an empty string,`logging.googleapis.com` will be used.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster.  Valid versions are those
+        # found in validMasterVersions returned by getServerConfig.  The version can
+        # be upgraded over time; such upgrades are reflected in
+        # currentMasterVersion and currentNodeVersion.
+        #
+        # Users may specify either explicit versions offered by
+        # Kubernetes Engine or version aliases, which have the following behavior:
+        #
+        # - "latest": picks the highest valid Kubernetes version
+        # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+        # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+        # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+        # - "","-": picks the default Kubernetes version
+    "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
+        # For requests, this field should only be used in lieu of a
+        # "node_pool" object, since this configuration (along with the
+        # "initial_node_count") will be used to create a "NodePool" object with an
+        # auto-generated name. Do not use this and a node_pool at the same time.
+        # For responses, this field will be populated with the node configuration of
+        # the first node pool. (For configuration of each node pool, see
+        # `node_pool.config`)
+        #
+        # If unspecified, the defaults are used.
+        # This field is deprecated, use node_pool.config instead.
+      "taints": [ # List of kubernetes taints to be applied to each node.
+          #
+          # For more information, including usage and the valid values, see:
+          # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+        { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+            # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+            #
+            # For more information, including usage and the valid values, see:
+            # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+          "key": "A String", # Key for taint.
+          "effect": "A String", # Effect for taint.
+          "value": "A String", # Value for taint.
+        },
+      ],
+      "machineType": "A String", # The name of a Google Compute Engine [machine
+          # type](/compute/docs/machine-types) (e.g.
+          # `n1-standard-1`).
+          #
+          # If unspecified, the default machine type is
+          # `n1-standard-1`.
+      "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+          # valid sources or targets for network firewalls and are specified by
+          # the client during cluster or node pool creation. Each tag within the list
+          # must comply with RFC1035.
+        "A String",
+      ],
+      "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
+          # https://cloud.google.com/compute/docs/instances/preemptible for more
+          # information about preemptible VM instances.
+      "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+          # These will added in addition to any default label(s) that
+          # Kubernetes may apply to the node.
+          # In case of conflict in label keys, the applied set may differ depending on
+          # the Kubernetes version -- it's best to assume the behavior is undefined
+          # and conflicts should be avoided.
+          # For more information, including usage and the valid values, see:
+          # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+        "a_key": "A String",
+      },
+      "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+          # no Service Account is specified, the "default" service account is used.
+      "oauthScopes": [ # The set of Google API scopes to be made available on all of the
+          # node VMs under the "default" service account.
+          #
+          # The following scopes are recommended, but not required, and by default are
+          # not included:
+          #
+          # * `https://www.googleapis.com/auth/compute` is required for mounting
+          # persistent storage on your nodes.
+          # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+          # communicating with **gcr.io**
+          # (the [Google Container Registry](/container-registry/)).
+          #
+          # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+          # Monitoring are enabled, in which case their required scopes will be added.
+        "A String",
+      ],
+      "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+          #
+          # If unspecified, the default disk type is 'pd-standard'
+      "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+          # The smallest allowed disk size is 10GB.
+          #
+          # If unspecified, the default disk size is 100GB.
+      "accelerators": [ # A list of hardware accelerators to be attached to each node.
+          # See https://cloud.google.com/compute/docs/gpus for more information about
+          # support for GPUs.
+        { # AcceleratorConfig represents a Hardware Accelerator request.
+          "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+          "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+              # [here](/compute/docs/gpus/#Introduction)
+        },
+      ],
+      "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+          # scheduled on the specified or newer CPU platform. Applicable values are the
+          # friendly names of CPU platforms, such as
+          # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+          # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+          # information, read [how to specify min CPU
+          # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+      "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
+          #
+          # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+          # in length. These are reflected as part of a URL in the metadata server.
+          # Additionally, to avoid ambiguity, keys must not conflict with any other
+          # metadata keys for the project or be one of the reserved keys:
+          #  "cluster-location"
+          #  "cluster-name"
+          #  "cluster-uid"
+          #  "configure-sh"
+          #  "containerd-configure-sh"
+          #  "enable-os-login"
+          #  "gci-update-strategy"
+          #  "gci-ensure-gke-docker"
+          #  "instance-template"
+          #  "kube-env"
+          #  "startup-script"
+          #  "user-data"
+          #  "disable-address-manager"
+          #  "windows-startup-script-ps1"
+          #  "common-psm1"
+          #  "k8s-node-setup-psm1"
+          #  "install-ssh-psm1"
+          #  "user-profile-psm1"
+          #  "serial-port-logging-enable"
+          #
+          # Values are free-form strings, and only have meaning as interpreted by
+          # the image running in the instance. The only restriction placed on them is
+          # that each value's size must be less than or equal to 32 KB.
+          #
+          # The total size of all keys and values must be less than 512 KB.
+        "a_key": "A String",
+      },
+      "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+          # the latest version of it will be used.
+      "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+          #
+          # The limit for this value is dependant upon the maximum number of
+          # disks available on a machine per zone. See:
+          # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
+          # for more information.
+    },
+    "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
+        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+        # notation (e.g. `10.96.0.0/14`). Leave blank to have
+        # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+    "subnetwork": "A String", # The name of the Google Compute Engine
+        # [subnetwork](/compute/docs/subnetworks) to which the
+        # cluster is connected.
+    "resourceLabels": { # The resource labels for the cluster to use to annotate any related
+        # Google Compute Engine resources.
+      "a_key": "A String",
+    },
+    "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+    "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
+        # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
+        # is sufficient for this number of instances. You must also have available
+        # firewall and routes quota.
+        # For requests, this field should only be used in lieu of a
+        # "node_pool" object, since this configuration (along with the
+        # "node_config") will be used to create a "NodePool" object with an
+        # auto-generated name. Do not use this and a node_pool at the same time.
+        #
+        # This field is deprecated, use node_pool.initial_node_count instead.
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="getJwks">getJwks(parent, x__xgafv=None)</code>
+  <pre>Gets the public component of the cluster signing keys in
+JSON Web Key format.
+This API is not yet intended for general use, and is not available for all
+clusters.
+
+Args:
+  parent: string, The cluster (project, location, cluster id) to get keys for. Specified in
+the format 'projects/*/locations/*/clusters/*'. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517
+    "keys": [ # The public component of the keys used by the cluster to sign token
+        # requests.
+      { # Jwk is a JSON Web Key as specified in RFC 7517
+        "crv": "A String", # Used for ECDSA keys.
+        "use": "A String", # Permitted uses for the public keys.
+        "e": "A String", # Used for RSA keys.
+        "kty": "A String", # Key Type.
+        "alg": "A String", # Algorithm.
+        "n": "A String", # Used for RSA keys.
+        "y": "A String", # Used for ECDSA keys.
+        "x": "A String", # Used for ECDSA keys.
+        "kid": "A String", # Key ID.
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, projectId=None, zone=None, x__xgafv=None)</code>
+  <pre>Lists all clusters owned by a project in either the specified zone or all
+zones.
+
+Args:
+  parent: string, The parent (project and location) where the clusters will be listed.
+Specified in the format 'projects/*/locations/*'.
+Location "-" matches all zones and all regions. (required)
+  projectId: string, Deprecated. The Google Developers Console [project ID or project
+number](https://support.google.com/cloud/answer/6158840).
+This field has been deprecated and replaced by the parent field.
+  zone: string, Deprecated. The name of the Google Compute Engine
+[zone](/compute/docs/zones#available) in which the cluster
+resides, or "-" for all zones.
+This field has been deprecated and replaced by the parent field.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # ListClustersResponse is the result of ListClustersRequest.
+    "clusters": [ # A list of clusters in the project in the specified zone, or
+        # across all ones.
+      { # A Google Kubernetes Engine cluster.
+        "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
+            # containers. This is provisioned from within the `container_ipv4_cidr`
+            # range. This field will only be set when cluster is in route-based network
+            # mode.
+        "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # Configure the maintenance policy for this cluster.
+          "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+            "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+              "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
+                  # smallest possible in the given scenario.
+                  # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+                  # format "PTnHnMnS".
+              "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+                  # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+                  # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
+            },
+          },
+        },
+        "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
+            # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+          "enabled": True or False, # Whether network policy is enabled on the cluster.
+          "provider": "A String", # The selected network policy provider.
+        },
+        "masterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The configuration options for master authorized networks feature.
+            # master authorized networks will disallow all external traffic to access
+            # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+            # Google Compute Engine Public IPs and Google Prod IPs.
+          "enabled": True or False, # Whether or not master authorized networks is enabled.
+          "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
+              # Kubernetes master through HTTPS.
+            { # CidrBlock contains an optional name and one CIDR block.
+              "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
+              "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
+            },
+          ],
+        },
+        "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+            # cluster, enabling additional functionality.
+          "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+              # makes it easy to set up HTTP load balancers for services in a cluster.
+              # which makes it easy to set up HTTP load balancers for services in a cluster.
+            "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+                # When enabled, it runs a small pod in the cluster that manages the load
+                # balancers.
+          },
+          "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+              # is enabled or not on the Master, it does not track whether network policy
+              # is enabled for the nodes.
+              # is enabled or not on the Master, it does not track whether network policy
+              # is enabled for the nodes.
+            "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
+          },
+          "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+              # This addon is deprecated, and will be disabled in 1.15. It is recommended
+              # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+              # workloads and applications. For more information, see:
+              # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+            "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
+          },
+          "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
+              # increases or decreases the number of replica pods a replication controller
+              # has based on the resource usage of the existing pods.
+              # increases or decreases the number of replica pods a replication controller
+              # has based on the resource usage of the existing pods.
+            "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+                # When enabled, it ensures that a Heapster pod is running in the cluster,
+                # which is also used by the Cloud Monitoring service.
+          },
+        },
+        "locations": [ # The list of Google Compute Engine
+            # [zones](/compute/docs/zones#available) in which the cluster's nodes
+            # should be located.
+          "A String",
+        ],
+        "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+            # API groups (e.g. v1alpha1) and features that may not be production ready in
+            # the kubernetes version of the master and nodes.
+            # The cluster has no SLA for uptime and master/node upgrades are disabled.
+            # Alpha enabled clusters are automatically deleted thirty days after
+            # creation.
+        "defaultMaxPodsConstraint": { # Constraints applied to pods. # The default constraint on the maximum number of pods that can be run
+            # simultaneously on a node in the node pool of this cluster. Only honored
+            # if cluster created with IP Alias support.
+          "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
+        },
+        "network": "A String", # The name of the Google Compute Engine
+            # [network](/compute/docs/networks-and-firewalls#networks) to which the
+            # cluster is connected. If left unspecified, the `default` network
+            # will be used.
+        "zone": "A String", # [Output only] The name of the Google Compute Engine
+            # [zone](/compute/docs/zones#available) in which the cluster
+            # resides.
+            # This field is deprecated, use location instead.
+        "instanceGroupUrls": [ # Deprecated. Use node_pools.instance_group_urls.
+          "A String",
+        ],
+        "networkConfig": { # NetworkConfig reports the relative names of network & subnetwork. # Configuration for cluster networking.
+          "subnetwork": "A String", # Output only. The relative name of the Google Compute Engine
+              # [subnetwork](/compute/docs/vpc) to which the cluster is connected.
+              # Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
+          "network": "A String", # Output only. The relative name of the Google Compute Engine
+              # network(/compute/docs/networks-and-firewalls#networks) to which
+              # the cluster is connected.
+              # Example: projects/my-project/global/networks/my-network
+        },
+        "name": "A String", # The name of this cluster. The name must be unique within this project
+            # and zone, and can be up to 40 characters with the following restrictions:
+            #
+            # * Lowercase letters, numbers, and hyphens only.
+            # * Must start with a letter.
+            # * Must end with a number or a letter.
+        "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+          "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
+          "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+          "clusterSecondaryRangeName": "A String", # The name of the secondary range to be used for the cluster CIDR
+              # block.  The secondary range will be used for pod IP
+              # addresses. This must be an existing secondary range associated
+              # with the cluster subnetwork.
+              #
+              # This field is only applicable with use_ip_aliases is true and
+              # create_subnetwork is false.
+          "clusterIpv4CidrBlock": "A String", # The IP address range for the cluster pod IPs. If this field is set, then
+              # `cluster.cluster_ipv4_cidr` must be left blank.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+              #
+              # Set to blank to have a range chosen with the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          "servicesIpv4CidrBlock": "A String", # The IP address range of the services IPs in this cluster. If blank, a range
+              # will be automatically chosen with the default size.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+              #
+              # Set to blank to have a range chosen with the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          "createSubnetwork": True or False, # Whether a new subnetwork will be created automatically for the cluster.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+          "nodeIpv4CidrBlock": "A String", # The IP address range of the instance IPs in this cluster.
+              #
+              # This is applicable only if `create_subnetwork` is true.
+              #
+              # Set to blank to have a range chosen with the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          "tpuIpv4CidrBlock": "A String", # The IP address range of the Cloud TPUs in this cluster. If unspecified, a
+              # range will be automatically chosen with the default size.
+              #
+              # This field is only applicable when `use_ip_aliases` is true.
+              #
+              # If unspecified, the range will use the default size.
+              #
+              # Set to /netmask (e.g. `/14`) to have a range chosen with a specific
+              # netmask.
+              #
+              # Set to a
+              # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+              # notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
+              # `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
+              # to use.
+          "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
+          "subnetworkName": "A String", # A custom subnetwork name to be used if `create_subnetwork` is true.  If
+              # this field is empty, then an automatic name will be chosen for the new
+              # subnetwork.
+          "servicesSecondaryRangeName": "A String", # The name of the secondary range to be used as for the services
+              # CIDR block.  The secondary range will be used for service
+              # ClusterIPs. This must be an existing secondary range associated
+              # with the cluster subnetwork.
+              #
+              # This field is only applicable with use_ip_aliases is true and
+              # create_subnetwork is false.
+          "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+        },
+        "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+            # disabled when this config is unspecified.
+          "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+            "datasetId": "A String", # The ID of a BigQuery Dataset.
+          },
+          "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+              # daemonset will be created in the cluster to meter network egress traffic.
+          "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+            "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+                # second BigQuery table will be created to hold resource consumption
+                # records.
+          },
+        },
+        "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
+        "conditions": [ # Which conditions caused the current cluster state.
+          { # StatusCondition describes why a cluster or a node pool has a certain status
+              # (e.g., ERROR or DEGRADED).
+            "message": "A String", # Human-friendly representation of the condition
+            "code": "A String", # Machine-friendly representation of the condition
+          },
+        ],
+        "statusMessage": "A String", # [Output only] Additional information about the current status of this
+            # cluster, if available.
+        "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
+            # this cluster, in
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `1.2.3.4/29`). Service addresses are
+            # typically put in the last `/16` from the container CIDR.
+        "status": "A String", # [Output only] The current status of this cluster.
+        "description": "A String", # An optional description of this cluster.
+        "currentNodeVersion": "A String", # [Output only] Deprecated, use
+            # [NodePools.version](/kubernetes-engine/docs/reference/rest/v1/projects.zones.clusters.nodePools)
+            # instead. The current version of the node software components. If they are
+            # currently at multiple versions because they're in the process of being
+            # upgraded, this reflects the minimum version of all nodes.
+        "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
+        "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
+        "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
+            # If unspecified, the defaults are used:
+            # For clusters before v1.12, if master_auth is unspecified, `username` will
+            # be set to "admin", a random password will be generated, and a client
+            # certificate will be issued.
+            # Authentication can be done using HTTP basic auth or using client
+            # certificates.
+          "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
+              # For clusters v1.6.0 and later, basic authentication can be disabled by
+              # leaving username unspecified (or setting it to the empty string).
+          "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
+              # to the cluster endpoint.
+          "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
+              # authenticate to the cluster endpoint.
+          "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+              # clusters before v1.12, if no configuration is specified, a client
+              # certificate is issued.
+            "issueClientCertificate": True or False, # Issue a client certificate.
+          },
+          "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
+              # Because the master endpoint is open to the Internet, you should create a
+              # strong password.  If a password is provided for cluster creation, username
+              # must be non-empty.
+          "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
+              # trust for the cluster.
+        },
+        "expireTime": "A String", # [Output only] The time the cluster will be automatically
+            # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+        "tpuIpv4CidrBlock": "A String", # [Output only] The IP address range of the Cloud TPUs in this cluster, in
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `1.2.3.4/29`).
+        "nodePools": [ # The node pools associated with this cluster.
+            # This field should not be set if "node_config" or "initial_node_count" are
+            # specified.
+          { # NodePool contains the name and configuration for a cluster's node pool.
+              # Node pools are a set of nodes (i.e. VM's), with a common configuration and
+              # specification, under the control of the cluster master. They may have a set
+              # of Kubernetes labels applied to them, which may be used to reference them
+              # during pod scheduling. They may also be resized up or down, to accommodate
+              # the workload.
+            "status": "A String", # [Output only] The status of the nodes in this pool instance.
+            "statusMessage": "A String", # [Output only] Additional information about the current status of this
+                # node pool instance, if available.
+            "name": "A String", # The name of the node pool.
+            "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
+                # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
+                # associated with this node pool.
+              "A String",
+            ],
+            "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
+                # only if a valid configuration is present.
+                # adjust the size of the node pool to the current cluster usage.
+              "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
+                  # max_node_count.
+              "enabled": True or False, # Is autoscaling enabled for this node pool.
+              "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
+                  # has to enough quota to scale up the cluster.
+            },
+            "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
+                # simultaneously on a node in the node pool.
+              "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
+            },
+            "version": "A String", # The version of the Kubernetes of this node.
+            "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
+                # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
+                # is sufficient for this number of instances. You must also have available
+                # firewall and routes quota.
+            "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
+            "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+                # node pool.
+              "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node
+                  # pool. If enabled, the nodes in this node pool will be monitored and, if
+                  # they fail health checks too many times, an automatic repair action will be
+                  # triggered.
+              "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
+                  # the Auto Upgrades will proceed.
+                "description": "A String", # [Output only] This field is set when upgrades are about to commence
+                    # with the description of the upgrade.
+                "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
+                    # with the approximate start time for the upgrades, in
+                    # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+              },
+              "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
+                  # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
+                  # up to date with the latest release version of Kubernetes.
+            },
+            "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+              "taints": [ # List of kubernetes taints to be applied to each node.
+                  #
+                  # For more information, including usage and the valid values, see:
+                  # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+                { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                    # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                    #
+                    # For more information, including usage and the valid values, see:
+                    # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+                  "key": "A String", # Key for taint.
+                  "effect": "A String", # Effect for taint.
+                  "value": "A String", # Value for taint.
+                },
+              ],
+              "machineType": "A String", # The name of a Google Compute Engine [machine
+                  # type](/compute/docs/machine-types) (e.g.
+                  # `n1-standard-1`).
+                  #
+                  # If unspecified, the default machine type is
+                  # `n1-standard-1`.
+              "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+                  # valid sources or targets for network firewalls and are specified by
+                  # the client during cluster or node pool creation. Each tag within the list
+                  # must comply with RFC1035.
+                "A String",
+              ],
+              "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
+                  # https://cloud.google.com/compute/docs/instances/preemptible for more
+                  # information about preemptible VM instances.
+              "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+                  # These will added in addition to any default label(s) that
+                  # Kubernetes may apply to the node.
+                  # In case of conflict in label keys, the applied set may differ depending on
+                  # the Kubernetes version -- it's best to assume the behavior is undefined
+                  # and conflicts should be avoided.
+                  # For more information, including usage and the valid values, see:
+                  # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+                "a_key": "A String",
+              },
+              "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+                  # no Service Account is specified, the "default" service account is used.
+              "oauthScopes": [ # The set of Google API scopes to be made available on all of the
+                  # node VMs under the "default" service account.
+                  #
+                  # The following scopes are recommended, but not required, and by default are
+                  # not included:
+                  #
+                  # * `https://www.googleapis.com/auth/compute` is required for mounting
+                  # persistent storage on your nodes.
+                  # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+                  # communicating with **gcr.io**
+                  # (the [Google Container Registry](/container-registry/)).
+                  #
+                  # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+                  # Monitoring are enabled, in which case their required scopes will be added.
+                "A String",
+              ],
+              "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+                  #
+                  # If unspecified, the default disk type is 'pd-standard'
+              "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+                  # The smallest allowed disk size is 10GB.
+                  #
+                  # If unspecified, the default disk size is 100GB.
+              "accelerators": [ # A list of hardware accelerators to be attached to each node.
+                  # See https://cloud.google.com/compute/docs/gpus for more information about
+                  # support for GPUs.
+                { # AcceleratorConfig represents a Hardware Accelerator request.
+                  "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+                  "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+                      # [here](/compute/docs/gpus/#Introduction)
+                },
+              ],
+              "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+                  # scheduled on the specified or newer CPU platform. Applicable values are the
+                  # friendly names of CPU platforms, such as
+                  # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+                  # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+                  # information, read [how to specify min CPU
+                  # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+              "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
+                  #
+                  # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+                  # in length. These are reflected as part of a URL in the metadata server.
+                  # Additionally, to avoid ambiguity, keys must not conflict with any other
+                  # metadata keys for the project or be one of the reserved keys:
+                  #  "cluster-location"
+                  #  "cluster-name"
+                  #  "cluster-uid"
+                  #  "configure-sh"
+                  #  "containerd-configure-sh"
+                  #  "enable-os-login"
+                  #  "gci-update-strategy"
+                  #  "gci-ensure-gke-docker"
+                  #  "instance-template"
+                  #  "kube-env"
+                  #  "startup-script"
+                  #  "user-data"
+                  #  "disable-address-manager"
+                  #  "windows-startup-script-ps1"
+                  #  "common-psm1"
+                  #  "k8s-node-setup-psm1"
+                  #  "install-ssh-psm1"
+                  #  "user-profile-psm1"
+                  #  "serial-port-logging-enable"
+                  #
+                  # Values are free-form strings, and only have meaning as interpreted by
+                  # the image running in the instance. The only restriction placed on them is
+                  # that each value's size must be less than or equal to 32 KB.
+                  #
+                  # The total size of all keys and values must be less than 512 KB.
+                "a_key": "A String",
+              },
+              "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+                  # the latest version of it will be used.
+              "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+                  #
+                  # The limit for this value is dependant upon the maximum number of
+                  # disks available on a machine per zone. See:
+                  # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
+                  # for more information.
+            },
+            "conditions": [ # Which conditions caused the current node pool state.
+              { # StatusCondition describes why a cluster or a node pool has a certain status
+                  # (e.g., ERROR or DEGRADED).
+                "message": "A String", # Human-friendly representation of the condition
+                "code": "A String", # Machine-friendly representation of the condition
+              },
+            ],
+            "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+          },
+        ],
+        "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+            # Currently available options:
+            #
+            # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
+            # * `none` - no metrics will be exported from the cluster.
+            # * if left as an empty string, `monitoring.googleapis.com` will be used.
+        "createTime": "A String", # [Output only] The time the cluster was created, in
+            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+        "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
+            # mode.
+          "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
+              # identities in the system, including service accounts, nodes, and
+              # controllers, will have statically granted permissions beyond those
+              # provided by the RBAC configuration or IAM.
+        },
+        "privateClusterConfig": { # Configuration options for private clusters. # Configuration for private cluster.
+          "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster endpoint.
+          "masterIpv4CidrBlock": "A String", # The IP range in CIDR notation to use for the hosted master network. This
+              # range will be used for assigning internal IP addresses to the master or
+              # set of masters, as well as the ILB VIP. This range must not overlap with
+              # any other ranges in use within the cluster's network.
+          "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master endpoint.
+          "publicEndpoint": "A String", # Output only. The external IP address of this cluster's master endpoint.
+          "enablePrivateNodes": True or False, # Whether nodes have internal IP addresses only. If enabled, all nodes are
+              # given only RFC 1918 private addresses and communicate with the master via
+              # private networking.
+        },
+        "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
+            # The endpoint can be accessed from the internet at
+            # `https://username:password@endpoint/`.
+            #
+            # See the `masterAuth` property of this resource for username and
+            # password information.
+        "currentNodeCount": 42, # [Output only]  The number of nodes currently in the cluster. Deprecated.
+            # Call Kubernetes API directly to retrieve node information.
+        "loggingService": "A String", # The logging service the cluster should use to write logs.
+            # Currently available options:
+            #
+            # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
+            # service with Kubernetes-native resource model in Stackdriver
+            # * `logging.googleapis.com` - the Google Cloud Logging service.
+            # * `none` - no logs will be exported from the cluster.
+            # * if left as an empty string,`logging.googleapis.com` will be used.
+        "location": "A String", # [Output only] The name of the Google Compute Engine
+            # [zone](/compute/docs/regions-zones/regions-zones#available) or
+            # [region](/compute/docs/regions-zones/regions-zones#available) in which
+            # the cluster resides.
+        "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster.  Valid versions are those
+            # found in validMasterVersions returned by getServerConfig.  The version can
+            # be upgraded over time; such upgrades are reflected in
+            # currentMasterVersion and currentNodeVersion.
+            #
+            # Users may specify either explicit versions offered by
+            # Kubernetes Engine or version aliases, which have the following behavior:
+            #
+            # - "latest": picks the highest valid Kubernetes version
+            # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+            # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+            # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+            # - "","-": picks the default Kubernetes version
+        "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
+            # For requests, this field should only be used in lieu of a
+            # "node_pool" object, since this configuration (along with the
+            # "initial_node_count") will be used to create a "NodePool" object with an
+            # auto-generated name. Do not use this and a node_pool at the same time.
+            # For responses, this field will be populated with the node configuration of
+            # the first node pool. (For configuration of each node pool, see
+            # `node_pool.config`)
+            #
+            # If unspecified, the defaults are used.
+            # This field is deprecated, use node_pool.config instead.
+          "taints": [ # List of kubernetes taints to be applied to each node.
+              #
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+            { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
+                # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
+                #
+                # For more information, including usage and the valid values, see:
+                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
+              "key": "A String", # Key for taint.
+              "effect": "A String", # Effect for taint.
+              "value": "A String", # Value for taint.
+            },
+          ],
+          "machineType": "A String", # The name of a Google Compute Engine [machine
+              # type](/compute/docs/machine-types) (e.g.
+              # `n1-standard-1`).
+              #
+              # If unspecified, the default machine type is
+              # `n1-standard-1`.
+          "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
+              # valid sources or targets for network firewalls and are specified by
+              # the client during cluster or node pool creation. Each tag within the list
+              # must comply with RFC1035.
+            "A String",
+          ],
+          "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
+              # https://cloud.google.com/compute/docs/instances/preemptible for more
+              # information about preemptible VM instances.
+          "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
+              # These will added in addition to any default label(s) that
+              # Kubernetes may apply to the node.
+              # In case of conflict in label keys, the applied set may differ depending on
+              # the Kubernetes version -- it's best to assume the behavior is undefined
+              # and conflicts should be avoided.
+              # For more information, including usage and the valid values, see:
+              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
+            "a_key": "A String",
+          },
+          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+              # no Service Account is specified, the "default" service account is used.
+          "oauthScopes": [ # The set of Google API scopes to be made available on all of the
+              # node VMs under the "default" service account.
+              #
+              # The following scopes are recommended, but not required, and by default are
+              # not included:
+              #
+              # * `https://www.googleapis.com/auth/compute` is required for mounting
+              # persistent storage on your nodes.
+              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
+              # communicating with **gcr.io**
+              # (the [Google Container Registry](/container-registry/)).
+              #
+              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
+              # Monitoring are enabled, in which case their required scopes will be added.
+            "A String",
+          ],
+          "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
+              #
+              # If unspecified, the default disk type is 'pd-standard'
+          "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
+              # The smallest allowed disk size is 10GB.
+              #
+              # If unspecified, the default disk size is 100GB.
+          "accelerators": [ # A list of hardware accelerators to be attached to each node.
+              # See https://cloud.google.com/compute/docs/gpus for more information about
+              # support for GPUs.
+            { # AcceleratorConfig represents a Hardware Accelerator request.
+              "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
+              "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
+                  # [here](/compute/docs/gpus/#Introduction)
+            },
+          ],
+          "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
+              # scheduled on the specified or newer CPU platform. Applicable values are the
+              # friendly names of CPU platforms, such as
+              # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
+              # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
+              # information, read [how to specify min CPU
+              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
+          "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
+              #
+              # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
+              # in length. These are reflected as part of a URL in the metadata server.
+              # Additionally, to avoid ambiguity, keys must not conflict with any other
+              # metadata keys for the project or be one of the reserved keys:
+              #  "cluster-location"
+              #  "cluster-name"
+              #  "cluster-uid"
+              #  "configure-sh"
+              #  "containerd-configure-sh"
+              #  "enable-os-login"
+              #  "gci-update-strategy"
+              #  "gci-ensure-gke-docker"
+              #  "instance-template"
+              #  "kube-env"
+              #  "startup-script"
+              #  "user-data"
+              #  "disable-address-manager"
+              #  "windows-startup-script-ps1"
+              #  "common-psm1"
+              #  "k8s-node-setup-psm1"
+              #  "install-ssh-psm1"
+              #  "user-profile-psm1"
+              #  "serial-port-logging-enable"
+              #
+              # Values are free-form strings, and only have meaning as interpreted by
+              # the image running in the instance. The only restriction placed on them is
+              # that each value's size must be less than or equal to 32 KB.
+              #
+              # The total size of all keys and values must be less than 512 KB.
+            "a_key": "A String",
+          },
+          "imageType": "A String", # The image type to use for this node. Note that for a given image type,
+              # the latest version of it will be used.
+          "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
+              #
+              # The limit for this value is dependant upon the maximum number of
+              # disks available on a machine per zone. See:
+              # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
+              # for more information.
+        },
+        "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
+            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
+            # notation (e.g. `10.96.0.0/14`). Leave blank to have
+            # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+        "subnetwork": "A String", # The name of the Google Compute Engine
+            # [subnetwork](/compute/docs/subnetworks) to which the
+            # cluster is connected.
+        "resourceLabels": { # The resource labels for the cluster to use to annotate any related
+            # Google Compute Engine resources.
+          "a_key": "A String",
+        },
+        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
+        "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
+            # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
+            # is sufficient for this number of instances. You must also have available
+            # firewall and routes quota.
+            # For requests, this field should only be used in lieu of a
+            # "node_pool" object, since this configuration (along with the
+            # "node_config") will be used to create a "NodePool" object with an
+            # auto-generated name. Do not use this and a node_pool at the same time.
+            #
+            # This field is deprecated, use node_pool.initial_node_count instead.
+      },
+    ],
+    "missingZones": [ # If any zones are listed here, the list of clusters returned
+        # may be missing those zones.
+      "A String",
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setAddons">setAddons(name, body, x__xgafv=None)</code>
+  <pre>Sets the addons for a specific cluster.
+
+Args:
+  name: string, The name (project, location, cluster) of the cluster to set addons.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SetAddonsConfigRequest sets the addons associated with the cluster.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    "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
+        # cluster.
+        # cluster, enabling additional functionality.
+      "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+          # makes it easy to set up HTTP load balancers for services in a cluster.
+          # which makes it easy to set up HTTP load balancers for services in a cluster.
+        "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+            # When enabled, it runs a small pod in the cluster that manages the load
+            # balancers.
+      },
+      "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+          # is enabled or not on the Master, it does not track whether network policy
+          # is enabled for the nodes.
+          # is enabled or not on the Master, it does not track whether network policy
+          # is enabled for the nodes.
+        "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
+      },
+      "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+          # This addon is deprecated, and will be disabled in 1.15. It is recommended
+          # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+          # workloads and applications. For more information, see:
+          # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+        "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
+      },
+      "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
+          # increases or decreases the number of replica pods a replication controller
+          # has based on the resource usage of the existing pods.
+          # increases or decreases the number of replica pods a replication controller
+          # has based on the resource usage of the existing pods.
+        "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+            # When enabled, it ensures that a Heapster pod is running in the cluster,
+            # which is also used by the Cloud Monitoring service.
+      },
+    },
+    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster) of the cluster to set addons.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setLegacyAbac">setLegacyAbac(name, body, x__xgafv=None)</code>
+  <pre>Enables or disables the ABAC authorization mechanism on a cluster.
+
+Args:
+  name: string, The name (project, location, cluster id) of the cluster to set legacy abac.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
+      # a cluster.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    "clusterId": "A String", # Deprecated. The name of the cluster to update.
+        # This field has been deprecated and replaced by the name field.
+    "enabled": True or False, # Whether ABAC authorization will be enabled in the cluster.
+    "name": "A String", # The name (project, location, cluster id) of the cluster to set legacy abac.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setLocations">setLocations(name, body, x__xgafv=None)</code>
+  <pre>Sets the locations for a specific cluster.
+
+Args:
+  name: string, The name (project, location, cluster) of the cluster to set locations.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SetLocationsRequest sets the locations of the cluster.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
+    "locations": [ # The desired list of Google Compute Engine
+        # [zones](/compute/docs/zones#available) in which the cluster's nodes
+        # should be located. Changing the locations a cluster is in will result
+        # in nodes being either created or removed from the cluster, depending on
+        # whether locations are being added or removed.
+        # 
+        # This list must always include the cluster's primary zone.
+      "A String",
+    ],
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster) of the cluster to set locations.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setLogging">setLogging(name, body, x__xgafv=None)</code>
+  <pre>Sets the logging service for a specific cluster.
+
+Args:
+  name: string, The name (project, location, cluster) of the cluster to set logging.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SetLoggingServiceRequest sets the logging service of a cluster.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
+    "loggingService": "A String", # The logging service the cluster should use to write metrics.
+        # Currently available options:
+        # 
+        # * "logging.googleapis.com" - the Google Cloud Logging service
+        # * "none" - no metrics will be exported from the cluster
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster) of the cluster to set logging.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setMaintenancePolicy">setMaintenancePolicy(name, body, x__xgafv=None)</code>
+  <pre>Sets the maintenance policy for a cluster.
+
+Args:
+  name: string, The name (project, location, cluster id) of the cluster to set maintenance
+policy.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
+    "projectId": "A String", # The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+    "maintenancePolicy": { # MaintenancePolicy defines the maintenance policy to be used for the cluster. # The maintenance policy to be set for the cluster. An empty field
+        # clears the existing maintenance policy.
+      "window": { # MaintenanceWindow defines the maintenance window to be used for the cluster. # Specifies the maintenance window in which maintenance may be performed.
+        "dailyMaintenanceWindow": { # Time window specified for daily maintenance operations. # DailyMaintenanceWindow specifies a daily maintenance operation window.
+          "duration": "A String", # [Output only] Duration of the time window, automatically chosen to be
+              # smallest possible in the given scenario.
+              # Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+              # format "PTnHnMnS".
+          "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+              # Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
+              # format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
+        },
+      },
+    },
+    "clusterId": "A String", # The name of the cluster to update.
+    "name": "A String", # The name (project, location, cluster id) of the cluster to set maintenance
+        # policy.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setMasterAuth">setMasterAuth(name, body, x__xgafv=None)</code>
+  <pre>Sets master auth materials. Currently supports changing the admin password
+or a specific cluster, either via password generation or explicitly setting
+the password.
+
+Args:
+  name: string, The name (project, location, cluster) of the cluster to set auth.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SetMasterAuthRequest updates the admin password of a cluster.
+    "name": "A String", # The name (project, location, cluster) of the cluster to set auth.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
+    "update": { # The authentication information for accessing the master endpoint. # A description of the update.
+        # Authentication can be done using HTTP basic auth or using client
+        # certificates.
+      "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
+          # For clusters v1.6.0 and later, basic authentication can be disabled by
+          # leaving username unspecified (or setting it to the empty string).
+      "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
+          # to the cluster endpoint.
+      "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
+          # authenticate to the cluster endpoint.
+      "clientCertificateConfig": { # Configuration for client certificates on the cluster. # Configuration for client certificate authentication on the cluster. For
+          # clusters before v1.12, if no configuration is specified, a client
+          # certificate is issued.
+        "issueClientCertificate": True or False, # Issue a client certificate.
+      },
+      "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
+          # Because the master endpoint is open to the Internet, you should create a
+          # strong password.  If a password is provided for cluster creation, username
+          # must be non-empty.
+      "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
+          # trust for the cluster.
+    },
+    "action": "A String", # The exact form of action to be taken on the master auth.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setMonitoring">setMonitoring(name, body, x__xgafv=None)</code>
+  <pre>Sets the monitoring service for a specific cluster.
+
+Args:
+  name: string, The name (project, location, cluster) of the cluster to set monitoring.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SetMonitoringServiceRequest sets the monitoring service of a cluster.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+        # Currently available options:
+        # 
+        # * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
+        # service with Kubernetes-native resource model in Stackdriver
+        # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
+        # * "none" - no metrics will be exported from the cluster
+    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster) of the cluster to set monitoring.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setNetworkPolicy">setNetworkPolicy(name, body, x__xgafv=None)</code>
+  <pre>Enables or disables Network Policy for a cluster.
+
+Args:
+  name: string, The name (project, location, cluster id) of the cluster to set networking
+policy. Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SetNetworkPolicyRequest enables/disables network policy for a cluster.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://developers.google.com/console/help/new/#projectnumber).
+        # This field has been deprecated and replaced by the name field.
+    "clusterId": "A String", # Deprecated. The name of the cluster.
+        # This field has been deprecated and replaced by the name field.
+    "networkPolicy": { # Configuration options for the NetworkPolicy feature. # Configuration options for the NetworkPolicy feature.
+        # https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
+      "enabled": True or False, # Whether network policy is enabled on the cluster.
+      "provider": "A String", # The selected network policy provider.
+    },
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster id) of the cluster to set networking
+        # policy. Specified in the format 'projects/*/locations/*/clusters/*'.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="setResourceLabels">setResourceLabels(name, body, x__xgafv=None)</code>
+  <pre>Sets labels on a cluster.
+
+Args:
+  name: string, The name (project, location, cluster id) of the cluster to set labels.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
+      # Engine cluster, which will in turn set them for Google Compute Engine
+      # resources used by that cluster
+    "name": "A String", # The name (project, location, cluster id) of the cluster to set labels.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://developers.google.com/console/help/new/#projectnumber).
+        # This field has been deprecated and replaced by the name field.
+    "labelFingerprint": "A String", # The fingerprint of the previous set of labels for this resource,
+        # used to detect conflicts. The fingerprint is initially generated by
+        # Kubernetes Engine and changes after every request to modify or update
+        # labels. You must always provide an up-to-date fingerprint hash when
+        # updating or changing labels. Make a <code>get()</code> request to the
+        # resource to get the latest fingerprint.
+    "clusterId": "A String", # Deprecated. The name of the cluster.
+        # This field has been deprecated and replaced by the name field.
+    "resourceLabels": { # The labels to set for that cluster.
+      "a_key": "A String",
+    },
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="startIpRotation">startIpRotation(name, body, x__xgafv=None)</code>
+  <pre>Starts master IP rotation.
+
+Args:
+  name: string, The name (project, location, cluster id) of the cluster to start IP
+rotation. Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # StartIPRotationRequest creates a new IP for the cluster and then performs
+      # a node upgrade on each node pool to point to the new IP.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://developers.google.com/console/help/new/#projectnumber).
+        # This field has been deprecated and replaced by the name field.
+    "rotateCredentials": True or False, # Whether to rotate credentials during IP rotation.
+    "clusterId": "A String", # Deprecated. The name of the cluster.
+        # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster id) of the cluster to start IP
+        # rotation. Specified in the format 'projects/*/locations/*/clusters/*'.
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="update">update(name, body, x__xgafv=None)</code>
+  <pre>Updates the settings of a specific cluster.
+
+Args:
+  name: string, The name (project, location, cluster) of the cluster to update.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # UpdateClusterRequest updates the settings of a cluster.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
+    "update": { # ClusterUpdate describes an update to the cluster. Exactly one update can # A description of the update.
+        # be applied to a cluster with each request, so at most one field can be
+        # provided.
+      "desiredLoggingService": "A String", # The logging service the cluster should use to write logs.
+          # Currently available options:
+          #
+          # * "logging.googleapis.com/kubernetes" - the Google Cloud Logging
+          # service with Kubernetes-native resource model in Stackdriver
+          # * "logging.googleapis.com" - the Google Cloud Logging service
+          # * "none" - no logs will be exported from the cluster
+      "desiredMasterAuthorizedNetworksConfig": { # Configuration options for the master authorized networks feature. Enabled # The desired configuration options for master authorized networks feature.
+          # master authorized networks will disallow all external traffic to access
+          # Kubernetes master through HTTPS except traffic from the given CIDR blocks,
+          # Google Compute Engine Public IPs and Google Prod IPs.
+        "enabled": True or False, # Whether or not master authorized networks is enabled.
+        "cidrBlocks": [ # cidr_blocks define up to 50 external networks that could access
+            # Kubernetes master through HTTPS.
+          { # CidrBlock contains an optional name and one CIDR block.
+            "displayName": "A String", # display_name is an optional field for users to identify CIDR blocks.
+            "cidrBlock": "A String", # cidr_block must be specified in CIDR notation.
+          },
+        ],
+      },
+      "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if
+          # "desired_node_version", "desired_image_family" or
+          # "desired_node_pool_autoscaling" is specified and there is more than one
+          # node pool on the cluster.
+      "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
+          # cluster, enabling additional functionality.
+        "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
+            # makes it easy to set up HTTP load balancers for services in a cluster.
+            # which makes it easy to set up HTTP load balancers for services in a cluster.
+          "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
+              # When enabled, it runs a small pod in the cluster that manages the load
+              # balancers.
+        },
+        "networkPolicyConfig": { # Configuration for NetworkPolicy. This only tracks whether the addon # Configuration for NetworkPolicy. This only tracks whether the addon
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+            # is enabled or not on the Master, it does not track whether network policy
+            # is enabled for the nodes.
+          "disabled": True or False, # Whether NetworkPolicy is enabled for this cluster.
+        },
+        "kubernetesDashboard": { # Configuration for the Kubernetes Dashboard. # Configuration for the Kubernetes Dashboard.
+            # This addon is deprecated, and will be disabled in 1.15. It is recommended
+            # to use the Cloud Console to manage and monitor your Kubernetes clusters,
+            # workloads and applications. For more information, see:
+            # https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
+          "disabled": True or False, # Whether the Kubernetes Dashboard is enabled for this cluster.
+        },
+        "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
+            # increases or decreases the number of replica pods a replication controller
+            # has based on the resource usage of the existing pods.
+            # increases or decreases the number of replica pods a replication controller
+            # has based on the resource usage of the existing pods.
+          "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
+              # When enabled, it ensures that a Heapster pod is running in the cluster,
+              # which is also used by the Cloud Monitoring service.
+        },
+      },
+      "desiredMasterVersion": "A String", # The Kubernetes version to change the master to.
+          #
+          # Users may specify either explicit versions offered by
+          # Kubernetes Engine or version aliases, which have the following behavior:
+          #
+          # - "latest": picks the highest valid Kubernetes version
+          # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+          # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+          # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+          # - "-": picks the default Kubernetes version
+      "desiredLocations": [ # The desired list of Google Compute Engine
+          # [zones](/compute/docs/zones#available) in which the cluster's nodes
+          # should be located. Changing the locations a cluster is in will result
+          # in nodes being either created or removed from the cluster, depending on
+          # whether locations are being added or removed.
+          #
+          # This list must always include the cluster's primary zone.
+        "A String",
+      ],
+      "desiredNodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an
+          # upgrade).
+          #
+          # Users may specify either explicit versions offered by
+          # Kubernetes Engine or version aliases, which have the following behavior:
+          #
+          # - "latest": picks the highest valid Kubernetes version
+          # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+          # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+          # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+          # - "-": picks the Kubernetes master version
+      "desiredMonitoringService": "A String", # The monitoring service the cluster should use to write metrics.
+          # Currently available options:
+          #
+          # * "monitoring.googleapis.com/kubernetes" - the Google Cloud Monitoring
+          # service with Kubernetes-native resource model in Stackdriver
+          # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
+          # * "none" - no metrics will be exported from the cluster
+      "desiredResourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # The desired configuration for exporting resource usage.
+        "bigqueryDestination": { # Parameters for using BigQuery as the destination of resource usage export. # Configuration to use BigQuery as usage export destination.
+          "datasetId": "A String", # The ID of a BigQuery Dataset.
+        },
+        "enableNetworkEgressMetering": True or False, # Whether to enable network egress metering for this cluster. If enabled, a
+            # daemonset will be created in the cluster to meter network egress traffic.
+        "consumptionMeteringConfig": { # Parameters for controlling consumption metering. # Configuration to enable resource consumption metering.
+          "enabled": True or False, # Whether to enable consumption metering for this cluster. If enabled, a
+              # second BigQuery table will be created to hold resource consumption
+              # records.
+        },
+      },
+      "desiredNodePoolAutoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in
+          # desired_node_pool_id. If there is only one pool in the
+          # cluster and desired_node_pool_id is not provided then
+          # the change applies to that single node pool.
+          # adjust the size of the node pool to the current cluster usage.
+        "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
+            # max_node_count.
+        "enabled": True or False, # Is autoscaling enabled for this node pool.
+        "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
+            # has to enough quota to scale up the cluster.
+      },
+      "desiredImageType": "A String", # The desired image type for the node pool.
+          # NOTE: Set the "desired_node_pool" field as well.
+    },
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster) of the cluster to update.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateMaster">updateMaster(name, body, x__xgafv=None)</code>
+  <pre>Updates the master for a specific cluster.
+
+Args:
+  name: string, The name (project, location, cluster) of the cluster to update.
+Specified in the format 'projects/*/locations/*/clusters/*'. (required)
+  body: object, The request body. (required)
+    The object takes the form of:
+
+{ # UpdateMasterRequest updates the master of the cluster.
+    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
+        # number](https://support.google.com/cloud/answer/6158840).
+        # This field has been deprecated and replaced by the name field.
+    "masterVersion": "A String", # The Kubernetes version to change the master to.
+        # 
+        # Users may specify either explicit versions offered by Kubernetes Engine or
+        # version aliases, which have the following behavior:
+        # 
+        # - "latest": picks the highest valid Kubernetes version
+        # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
+        # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
+        # - "1.X.Y-gke.N": picks an explicit Kubernetes version
+        # - "-": picks the default Kubernetes version
+    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
+        # This field has been deprecated and replaced by the name field.
+    "name": "A String", # The name (project, location, cluster) of the cluster to update.
+        # Specified in the format 'projects/*/locations/*/clusters/*'.
+    "zone": "A String", # Deprecated. The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the cluster
+        # resides.
+        # This field has been deprecated and replaced by the name field.
+  }
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This operation resource represents operations that may have happened or are
+      # happening on the cluster. All fields are output only.
+    "status": "A String", # The current status of the operation.
+    "selfLink": "A String", # Server-defined URL for the resource.
+    "name": "A String", # The server-assigned ID for the operation.
+    "zone": "A String", # The name of the Google Compute Engine
+        # [zone](/compute/docs/zones#available) in which the operation
+        # is taking place.
+        # This field is deprecated, use location instead.
+    "startTime": "A String", # [Output only] The time the operation started, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "detail": "A String", # Detailed operation progress, if available.
+    "operationType": "A String", # The operation type.
+    "targetLink": "A String", # Server-defined URL for the target of the operation.
+    "location": "A String", # [Output only] The name of the Google Compute Engine
+        # [zone](/compute/docs/regions-zones/regions-zones#available) or
+        # [region](/compute/docs/regions-zones/regions-zones#available) in which
+        # the cluster resides.
+    "nodepoolConditions": [ # Which conditions caused the current node pool state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+    "endTime": "A String", # [Output only] The time the operation completed, in
+        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+    "clusterConditions": [ # Which conditions caused the current cluster state.
+      { # StatusCondition describes why a cluster or a node pool has a certain status
+          # (e.g., ERROR or DEGRADED).
+        "message": "A String", # Human-friendly representation of the condition
+        "code": "A String", # Machine-friendly representation of the condition
+      },
+    ],
+  }</pre>
+</div>
+
+</body></html>
\ No newline at end of file