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: "Intel Haswell"</code> or
+ # <code>minCpuPlatform: "Intel Sandy Bridge"</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: "Intel Haswell"</code> or
+ # <code>minCpuPlatform: "Intel Sandy Bridge"</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: "Intel Haswell"</code> or
+ # <code>minCpuPlatform: "Intel Sandy Bridge"</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: "Intel Haswell"</code> or
+ # <code>minCpuPlatform: "Intel Sandy Bridge"</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: "Intel Haswell"</code> or
+ # <code>minCpuPlatform: "Intel Sandy Bridge"</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: "Intel Haswell"</code> or
+ # <code>minCpuPlatform: "Intel Sandy Bridge"</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