Regen all docs. (#700)
* Stop recursing if discovery == {}
* Generate docs with 'make docs'.
diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html
new file mode 100644
index 0000000..49eea9c
--- /dev/null
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html
@@ -0,0 +1,4423 @@
+<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_v1beta1.html">Kubernetes Engine API</a> . <a href="container_v1beta1.projects.html">projects</a> . <a href="container_v1beta1.projects.zones.html">zones</a> . <a href="container_v1beta1.projects.zones.clusters.html">clusters</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+ <code><a href="container_v1beta1.projects.zones.clusters.nodePools.html">nodePools()</a></code>
+</p>
+<p class="firstline">Returns the nodePools Resource.</p>
+
+<p class="toc_element">
+ <code><a href="#addons">addons(projectId, zone, clusterId, 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="#completeIpRotation">completeIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Completes master IP rotation.</p>
+<p class="toc_element">
+ <code><a href="#create">create(projectId, zone, 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(projectId, zone, clusterId, name=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(projectId, zone, clusterId, name=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the details for a specific cluster.</p>
+<p class="toc_element">
+ <code><a href="#legacyAbac">legacyAbac(projectId, zone, clusterId, 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="#list">list(projectId, zone, parent=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="#locations">locations(projectId, zone, clusterId, 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="#logging">logging(projectId, zone, clusterId, 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="#master">master(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the master for a specific cluster.</p>
+<p class="toc_element">
+ <code><a href="#monitoring">monitoring(projectId, zone, clusterId, 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="#resourceLabels">resourceLabels(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets labels on a cluster.</p>
+<p class="toc_element">
+ <code><a href="#setMaintenancePolicy">setMaintenancePolicy(projectId, zone, clusterId, 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(projectId, zone, clusterId, 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="#setNetworkPolicy">setNetworkPolicy(projectId, zone, clusterId, 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="#startIpRotation">startIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Starts master IP rotation.</p>
+<p class="toc_element">
+ <code><a href="#update">update(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the settings for a specific cluster.</p>
+<h3>Method Details</h3>
+<div class="method">
+ <code class="details" id="addons">addons(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Sets the addons for a specific cluster.
+
+Args:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to upgrade.
+This field has been deprecated and replaced by the name field. (required)
+ body: object, The request body. (required)
+ The object takes the form of:
+
+{ # SetAddonsRequest 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.
+ "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.
+ },
+ "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+ # enabled in order to enable Cloud Run addon. This option can only be enabled
+ # at cluster creation time.
+ "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
+ },
+ "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.
+ },
+ "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.
+ },
+ "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+ # microservices.
+ "disabled": True or False, # Whether Istio is enabled for this cluster.
+ "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
+ },
+ "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.
+ },
+ },
+ "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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="completeIpRotation">completeIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Completes master IP rotation.
+
+Args:
+ projectId: 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster.
+This field has been deprecated and replaced by the name field. (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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="create">create(projectId, zone, 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:
+ 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. (required)
+ 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 parent field. (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/v1beta1/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.
+ "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+ # It must be in 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.
+ },
+ "loggingService": "A String", # The logging service the cluster should use to write logs.
+ # Currently available options:
+ #
+ # * `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.
+ "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 10 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.
+ "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.
+ },
+ "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+ # enabled in order to enable Cloud Run addon. This option can only be enabled
+ # at cluster creation time.
+ "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
+ },
+ "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.
+ },
+ "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.
+ },
+ "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+ # microservices.
+ "disabled": True or False, # Whether Istio is enabled for this cluster.
+ "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
+ },
+ "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.
+ },
+ },
+ "locations": [ # The list of Google Compute Engine
+ # [zones](/compute/docs/zones#available) in which the cluster's nodes
+ # should be located.
+ "A String",
+ ],
+ "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.
+ },
+ "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
+ "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.
+ },
+ "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+ "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
+ "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+ "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
+ "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.
+ "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 and
+ # create_subnetwork is false.
+ "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.
+ "allowRouteOverlap": True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
+ # kinds of network routes. By default we do not allow cluster CIDR ranges to
+ # intersect with any user declared routes. With allow_route_overlap == true,
+ # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
+ # range.
+ #
+ # If this field is set to true, then cluster and services CIDRs must be
+ # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
+ # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
+ # `services_ipv4_cidr_block` must be fully-specified.
+ # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
+ # fully-specified.
+ "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 and
+ # create_subnetwork is false.
+ "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+ },
+ "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. On output this shows the network ID instead of
+ # the name.
+ "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
+ "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
+ # This makes same node pod to pod traffic visible for VPC network.
+ },
+ "privateCluster": True or False, # If this is a private cluster setup. Private clusters are clusters that, by
+ # default have no external IP addresses on the nodes and where nodes and the
+ # master communicate over private IP addresses.
+ # This field is deprecated, use private_cluster_config.enable_private_nodes
+ # instead.
+ "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
+ "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
+ # must be valid under a PodSecurityPolicy to be created.
+ },
+ "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.
+ "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+ # policies.
+ # policies.
+ "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+ },
+ "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+ # disabled when this config 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.
+ },
+ },
+ "masterIpv4CidrBlock": "A String", # The IP prefix in CIDR notation to use for the hosted master network.
+ # This prefix will be used for assigning private IP addresses to the
+ # master or set of masters, as well as the ILB VIP.
+ # This field is deprecated, use
+ # private_cluster_config.master_ipv4_cidr_block instead.
+ "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
+ },
+ ],
+ "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.
+ "statusMessage": "A String", # [Output only] Additional information about the current status of this
+ # cluster, if available.
+ "tierSettings": { # Cluster tier settings. # Cluster tier settings.
+ "tier": "A String", # Cluster tier.
+ },
+ "status": "A String", # [Output only] The current status of this cluster.
+ "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
+ "description": "A String", # An optional description of this cluster.
+ "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
+ "state": "A String", # Denotes the state of etcd encryption.
+ "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+ # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+ },
+ "currentNodeVersion": "A String", # [Output only] Deprecated, use
+ # [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.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.
+ "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
+ "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+ # images will be validated by Google Binauthz.
+ },
+ "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
+ "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
+ # required by Cluster Autoscaler to automatically adjust
+ # the size of the cluster and create/delete
+ # node pools based on the current needs.
+ "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+ # created by NAP.
+ # by NAP.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+ # service_account is specified, scopes should be empty.
+ "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
+ # specified, service_account should be empty.
+ "A String",
+ ],
+ },
+ "resourceLimits": [ # Contains global constraints regarding minimum and maximum
+ # amount of resources in the cluster.
+ { # Contains information about amount of some resource in the cluster.
+ # For memory, value should be in GB.
+ "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
+ "minimum": "A String", # Minimum amount of the resource in the cluster.
+ "maximum": "A String", # Maximum amount of the resource in the cluster.
+ },
+ ],
+ "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
+ # in which the NodePool's nodes can be created by NAP.
+ "A String",
+ ],
+ "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
+ },
+ "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",
+ },
+ "expireTime": "A String", # [Output only] The time the cluster will be automatically
+ # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+ # node pool.
+ "autoRepair": True or False, # Whether the nodes will be automatically repaired.
+ "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, # Whether the nodes will be automatically upgraded.
+ },
+ "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.
+ "autoprovisioned": True or False, # Can this node pool be deleted automatically.
+ "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.
+ },
+ "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
+ # in which the NodePool's nodes should be located.
+ "A String",
+ ],
+ "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.
+ "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
+ },
+ "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`.
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "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'
+ "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
+ # inforamtion 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",
+ ],
+ "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.
+ },
+ ],
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
+ # workloads running on the node.
+ },
+ "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)
+ "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.
+ "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.
+ "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-oslogin"
+ # "gci-ensure-gke-docker"
+ # "gci-update-strategy"
+ # "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",
+ },
+ },
+ "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.
+ "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+ "enabled": True or False, # Whether this cluster should return group membership lookups
+ # during authentication using a group of security groups.
+ "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
+ # if enabled = true.
+ },
+ "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.
+ "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.
+ "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master 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.
+ "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering.
+ },
+ "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.
+ "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.
+ "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+ # required by Vertical Pod Autoscaler to automatically adjust
+ # the resources of pods controlled by it.
+ "enabled": True or False, # Enables vertical pod autoscaling.
+ },
+ "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+ # API groups (e.g. v1beta1) 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.
+ "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.
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
+ },
+ "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`.
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "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'
+ "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
+ # inforamtion 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",
+ ],
+ "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.
+ },
+ ],
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
+ # workloads running on the node.
+ },
+ "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)
+ "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.
+ "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.
+ "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-oslogin"
+ # "gci-ensure-gke-docker"
+ # "gci-update-strategy"
+ # "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",
+ },
+ },
+ "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. On output this shows the subnetwork ID instead of
+ # the name.
+ "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.
+ "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`).
+ },
+ }
+
+ 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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="delete">delete(projectId, zone, clusterId, name=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:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to delete.
+This field has been deprecated and replaced by the name field. (required)
+ name: string, The name (project, location, cluster) of the cluster to delete.
+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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="get">get(projectId, zone, clusterId, name=None, x__xgafv=None)</code>
+ <pre>Gets the details for a specific cluster.
+
+Args:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to retrieve.
+This field has been deprecated and replaced by the name field. (required)
+ name: string, The name (project, location, cluster) of the cluster to retrieve.
+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:
+
+ { # 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.
+ "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+ # It must be in 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.
+ },
+ "loggingService": "A String", # The logging service the cluster should use to write logs.
+ # Currently available options:
+ #
+ # * `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.
+ "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 10 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.
+ "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.
+ },
+ "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+ # enabled in order to enable Cloud Run addon. This option can only be enabled
+ # at cluster creation time.
+ "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
+ },
+ "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.
+ },
+ "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.
+ },
+ "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+ # microservices.
+ "disabled": True or False, # Whether Istio is enabled for this cluster.
+ "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
+ },
+ "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.
+ },
+ },
+ "locations": [ # The list of Google Compute Engine
+ # [zones](/compute/docs/zones#available) in which the cluster's nodes
+ # should be located.
+ "A String",
+ ],
+ "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.
+ },
+ "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
+ "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.
+ },
+ "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+ "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
+ "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+ "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
+ "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.
+ "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 and
+ # create_subnetwork is false.
+ "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.
+ "allowRouteOverlap": True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
+ # kinds of network routes. By default we do not allow cluster CIDR ranges to
+ # intersect with any user declared routes. With allow_route_overlap == true,
+ # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
+ # range.
+ #
+ # If this field is set to true, then cluster and services CIDRs must be
+ # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
+ # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
+ # `services_ipv4_cidr_block` must be fully-specified.
+ # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
+ # fully-specified.
+ "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 and
+ # create_subnetwork is false.
+ "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+ },
+ "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. On output this shows the network ID instead of
+ # the name.
+ "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
+ "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
+ # This makes same node pod to pod traffic visible for VPC network.
+ },
+ "privateCluster": True or False, # If this is a private cluster setup. Private clusters are clusters that, by
+ # default have no external IP addresses on the nodes and where nodes and the
+ # master communicate over private IP addresses.
+ # This field is deprecated, use private_cluster_config.enable_private_nodes
+ # instead.
+ "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
+ "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
+ # must be valid under a PodSecurityPolicy to be created.
+ },
+ "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.
+ "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+ # policies.
+ # policies.
+ "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+ },
+ "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+ # disabled when this config 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.
+ },
+ },
+ "masterIpv4CidrBlock": "A String", # The IP prefix in CIDR notation to use for the hosted master network.
+ # This prefix will be used for assigning private IP addresses to the
+ # master or set of masters, as well as the ILB VIP.
+ # This field is deprecated, use
+ # private_cluster_config.master_ipv4_cidr_block instead.
+ "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
+ },
+ ],
+ "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.
+ "statusMessage": "A String", # [Output only] Additional information about the current status of this
+ # cluster, if available.
+ "tierSettings": { # Cluster tier settings. # Cluster tier settings.
+ "tier": "A String", # Cluster tier.
+ },
+ "status": "A String", # [Output only] The current status of this cluster.
+ "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
+ "description": "A String", # An optional description of this cluster.
+ "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
+ "state": "A String", # Denotes the state of etcd encryption.
+ "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+ # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+ },
+ "currentNodeVersion": "A String", # [Output only] Deprecated, use
+ # [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.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.
+ "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
+ "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+ # images will be validated by Google Binauthz.
+ },
+ "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
+ "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
+ # required by Cluster Autoscaler to automatically adjust
+ # the size of the cluster and create/delete
+ # node pools based on the current needs.
+ "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+ # created by NAP.
+ # by NAP.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+ # service_account is specified, scopes should be empty.
+ "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
+ # specified, service_account should be empty.
+ "A String",
+ ],
+ },
+ "resourceLimits": [ # Contains global constraints regarding minimum and maximum
+ # amount of resources in the cluster.
+ { # Contains information about amount of some resource in the cluster.
+ # For memory, value should be in GB.
+ "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
+ "minimum": "A String", # Minimum amount of the resource in the cluster.
+ "maximum": "A String", # Maximum amount of the resource in the cluster.
+ },
+ ],
+ "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
+ # in which the NodePool's nodes can be created by NAP.
+ "A String",
+ ],
+ "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
+ },
+ "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",
+ },
+ "expireTime": "A String", # [Output only] The time the cluster will be automatically
+ # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+ # node pool.
+ "autoRepair": True or False, # Whether the nodes will be automatically repaired.
+ "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, # Whether the nodes will be automatically upgraded.
+ },
+ "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.
+ "autoprovisioned": True or False, # Can this node pool be deleted automatically.
+ "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.
+ },
+ "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
+ # in which the NodePool's nodes should be located.
+ "A String",
+ ],
+ "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.
+ "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
+ },
+ "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`.
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "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'
+ "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
+ # inforamtion 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",
+ ],
+ "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.
+ },
+ ],
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
+ # workloads running on the node.
+ },
+ "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)
+ "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.
+ "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.
+ "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-oslogin"
+ # "gci-ensure-gke-docker"
+ # "gci-update-strategy"
+ # "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",
+ },
+ },
+ "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.
+ "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+ "enabled": True or False, # Whether this cluster should return group membership lookups
+ # during authentication using a group of security groups.
+ "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
+ # if enabled = true.
+ },
+ "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.
+ "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.
+ "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master 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.
+ "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering.
+ },
+ "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.
+ "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.
+ "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+ # required by Vertical Pod Autoscaler to automatically adjust
+ # the resources of pods controlled by it.
+ "enabled": True or False, # Enables vertical pod autoscaling.
+ },
+ "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+ # API groups (e.g. v1beta1) 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.
+ "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.
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
+ },
+ "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`.
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "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'
+ "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
+ # inforamtion 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",
+ ],
+ "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.
+ },
+ ],
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
+ # workloads running on the node.
+ },
+ "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)
+ "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.
+ "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.
+ "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-oslogin"
+ # "gci-ensure-gke-docker"
+ # "gci-update-strategy"
+ # "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",
+ },
+ },
+ "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. On output this shows the subnetwork ID instead of
+ # the name.
+ "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.
+ "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`).
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="legacyAbac">legacyAbac(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Enables or disables the ABAC authorization mechanism on a cluster.
+
+Args:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to update.
+This field has been deprecated and replaced by the name field. (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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="list">list(projectId, zone, parent=None, x__xgafv=None)</code>
+ <pre>Lists all clusters owned by a project in either the specified zone or all
+zones.
+
+Args:
+ 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. (required)
+ 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. (required)
+ 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.
+ 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.
+ "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+ # It must be in 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.
+ },
+ "loggingService": "A String", # The logging service the cluster should use to write logs.
+ # Currently available options:
+ #
+ # * `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.
+ "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 10 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.
+ "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.
+ },
+ "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+ # enabled in order to enable Cloud Run addon. This option can only be enabled
+ # at cluster creation time.
+ "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
+ },
+ "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.
+ },
+ "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.
+ },
+ "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+ # microservices.
+ "disabled": True or False, # Whether Istio is enabled for this cluster.
+ "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
+ },
+ "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.
+ },
+ },
+ "locations": [ # The list of Google Compute Engine
+ # [zones](/compute/docs/zones#available) in which the cluster's nodes
+ # should be located.
+ "A String",
+ ],
+ "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.
+ },
+ "enableTpu": True or False, # Enable the ability to use Cloud TPUs in this cluster.
+ "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.
+ },
+ "ipAllocationPolicy": { # Configuration for controlling how IPs are allocated in the cluster. # Configuration for cluster IP allocation.
+ "clusterIpv4Cidr": "A String", # This field is deprecated, use cluster_ipv4_cidr_block.
+ "useIpAliases": True or False, # Whether alias IPs will be used for pod IPs in the cluster.
+ "nodeIpv4Cidr": "A String", # This field is deprecated, use node_ipv4_cidr_block.
+ "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.
+ "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 and
+ # create_subnetwork is false.
+ "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.
+ "allowRouteOverlap": True or False, # If true, allow allocation of cluster CIDR ranges that overlap with certain
+ # kinds of network routes. By default we do not allow cluster CIDR ranges to
+ # intersect with any user declared routes. With allow_route_overlap == true,
+ # we allow overlapping with CIDR ranges that are larger than the cluster CIDR
+ # range.
+ #
+ # If this field is set to true, then cluster and services CIDRs must be
+ # fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
+ # 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
+ # `services_ipv4_cidr_block` must be fully-specified.
+ # 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
+ # fully-specified.
+ "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 and
+ # create_subnetwork is false.
+ "servicesIpv4Cidr": "A String", # This field is deprecated, use services_ipv4_cidr_block.
+ },
+ "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. On output this shows the network ID instead of
+ # the name.
+ "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
+ "enableIntraNodeVisibility": True or False, # Whether Intra-node visibility is enabled for this cluster.
+ # This makes same node pod to pod traffic visible for VPC network.
+ },
+ "privateCluster": True or False, # If this is a private cluster setup. Private clusters are clusters that, by
+ # default have no external IP addresses on the nodes and where nodes and the
+ # master communicate over private IP addresses.
+ # This field is deprecated, use private_cluster_config.enable_private_nodes
+ # instead.
+ "podSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # Configuration for the PodSecurityPolicy feature.
+ "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
+ # must be valid under a PodSecurityPolicy to be created.
+ },
+ "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.
+ "workloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for the use of Kubernetes Service Accounts in GCP IAM
+ # policies.
+ # policies.
+ "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+ },
+ "resourceUsageExportConfig": { # Configuration for exporting cluster resource usages. # Configuration for exporting resource usages. Resource usage export is
+ # disabled when this config 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.
+ },
+ },
+ "masterIpv4CidrBlock": "A String", # The IP prefix in CIDR notation to use for the hosted master network.
+ # This prefix will be used for assigning private IP addresses to the
+ # master or set of masters, as well as the ILB VIP.
+ # This field is deprecated, use
+ # private_cluster_config.master_ipv4_cidr_block instead.
+ "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
+ },
+ ],
+ "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.
+ "statusMessage": "A String", # [Output only] Additional information about the current status of this
+ # cluster, if available.
+ "tierSettings": { # Cluster tier settings. # Cluster tier settings.
+ "tier": "A String", # Cluster tier.
+ },
+ "status": "A String", # [Output only] The current status of this cluster.
+ "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
+ "description": "A String", # An optional description of this cluster.
+ "databaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
+ "state": "A String", # Denotes the state of etcd encryption.
+ "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+ # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+ },
+ "currentNodeVersion": "A String", # [Output only] Deprecated, use
+ # [NodePool.version](/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.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.
+ "binaryAuthorization": { # Configuration for Binary Authorization. # Configuration for Binary Authorization.
+ "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+ # images will be validated by Google Binauthz.
+ },
+ "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
+ "autoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
+ # required by Cluster Autoscaler to automatically adjust
+ # the size of the cluster and create/delete
+ # node pools based on the current needs.
+ "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+ # created by NAP.
+ # by NAP.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+ # service_account is specified, scopes should be empty.
+ "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
+ # specified, service_account should be empty.
+ "A String",
+ ],
+ },
+ "resourceLimits": [ # Contains global constraints regarding minimum and maximum
+ # amount of resources in the cluster.
+ { # Contains information about amount of some resource in the cluster.
+ # For memory, value should be in GB.
+ "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
+ "minimum": "A String", # Minimum amount of the resource in the cluster.
+ "maximum": "A String", # Maximum amount of the resource in the cluster.
+ },
+ ],
+ "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
+ # in which the NodePool's nodes can be created by NAP.
+ "A String",
+ ],
+ "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
+ },
+ "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",
+ },
+ "expireTime": "A String", # [Output only] The time the cluster will be automatically
+ # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
+ # node pool.
+ "autoRepair": True or False, # Whether the nodes will be automatically repaired.
+ "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, # Whether the nodes will be automatically upgraded.
+ },
+ "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.
+ "autoprovisioned": True or False, # Can this node pool be deleted automatically.
+ "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.
+ },
+ "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
+ # in which the NodePool's nodes should be located.
+ "A String",
+ ],
+ "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.
+ "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
+ },
+ "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`.
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "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'
+ "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
+ # inforamtion 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",
+ ],
+ "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.
+ },
+ ],
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
+ # workloads running on the node.
+ },
+ "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)
+ "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.
+ "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.
+ "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-oslogin"
+ # "gci-ensure-gke-docker"
+ # "gci-update-strategy"
+ # "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",
+ },
+ },
+ "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.
+ "authenticatorGroupsConfig": { # Configuration for returning group information from authenticators. # Configuration controlling RBAC group membership information.
+ "enabled": True or False, # Whether this cluster should return group membership lookups
+ # during authentication using a group of security groups.
+ "securityGroup": "A String", # The name of the security group-of-groups to be used. Only relevant
+ # if enabled = true.
+ },
+ "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.
+ "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.
+ "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master 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.
+ "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering.
+ },
+ "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.
+ "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.
+ "verticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+ # required by Vertical Pod Autoscaler to automatically adjust
+ # the resources of pods controlled by it.
+ "enabled": True or False, # Enables vertical pod autoscaling.
+ },
+ "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
+ # API groups (e.g. v1beta1) 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.
+ "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.
+ "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
+ "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
+ },
+ "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`.
+ "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
+ "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
+ #
+ # Enables monitoring and attestation of the boot integrity of the instance.
+ # The attestation is performed against the integrity policy baseline. This
+ # baseline is initially derived from the implicitly trusted boot image when
+ # the instance is created.
+ "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
+ #
+ # Secure Boot helps ensure that the system only runs authentic software by
+ # verifying the digital signature of all boot components, and halting the
+ # boot process if signature verification fails.
+ },
+ "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'
+ "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
+ # inforamtion 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",
+ ],
+ "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.
+ },
+ ],
+ "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
+ # workloads on the node pool.
+ "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
+ # workloads running on the node.
+ },
+ "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)
+ "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.
+ "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.
+ "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-oslogin"
+ # "gci-ensure-gke-docker"
+ # "gci-update-strategy"
+ # "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",
+ },
+ },
+ "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. On output this shows the subnetwork ID instead of
+ # the name.
+ "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.
+ "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`).
+ },
+ ],
+ "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="locations">locations(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Sets the locations for a specific cluster.
+
+Args:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to upgrade.
+This field has been deprecated and replaced by the name field. (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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="logging">logging(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Sets the logging service for a specific cluster.
+
+Args:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to upgrade.
+This field has been deprecated and replaced by the name field. (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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="master">master(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Updates the master for a specific cluster.
+
+Args:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to upgrade.
+This field has been deprecated and replaced by the name field. (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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="monitoring">monitoring(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Sets the monitoring service for a specific cluster.
+
+Args:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to upgrade.
+This field has been deprecated and replaced by the name field. (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" - 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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="resourceLabels">resourceLabels(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Sets labels on a cluster.
+
+Args:
+ projectId: 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster.
+This field has been deprecated and replaced by the name field. (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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="setMaintenancePolicy">setMaintenancePolicy(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Sets the maintenance policy for a cluster.
+
+Args:
+ projectId: string, The Google Developers Console [project ID or project
+number](https://support.google.com/cloud/answer/6158840). (required)
+ zone: string, The name of the Google Compute Engine
+[zone](/compute/docs/zones#available) in which the cluster
+resides. (required)
+ clusterId: string, The name of the cluster to update. (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.
+ "startTime": "A String", # Time within the maintenance window to start the maintenance operations.
+ # It must be in 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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="setMasterAuth">setMasterAuth(projectId, zone, clusterId, 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:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to upgrade.
+This field has been deprecated and replaced by the name field. (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",
+ },
+ "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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="setNetworkPolicy">setNetworkPolicy(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Enables or disables Network Policy for a cluster.
+
+Args:
+ projectId: 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster.
+This field has been deprecated and replaced by the name field. (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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="startIpRotation">startIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Starts master IP rotation.
+
+Args:
+ projectId: 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster.
+This field has been deprecated and replaced by the name field. (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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="update">update(projectId, zone, clusterId, body, x__xgafv=None)</code>
+ <pre>Updates the settings for a specific cluster.
+
+Args:
+ 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. (required)
+ 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. (required)
+ clusterId: string, Deprecated. The name of the cluster to upgrade.
+This field has been deprecated and replaced by the name field. (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.
+ "desiredPodSecurityPolicyConfig": { # Configuration for the PodSecurityPolicy feature. # The desired configuration options for the PodSecurityPolicy feature.
+ "enabled": True or False, # Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
+ # must be valid under a PodSecurityPolicy to be created.
+ },
+ "desiredIntraNodeVisibilityConfig": { # IntraNodeVisibilityConfig contains the desired config of the intra-node # The desired config of Intra-node visibility.
+ # visibility on this cluster.
+ "enabled": True or False, # Enables intra node visibility for this cluster.
+ },
+ "desiredLoggingService": "A String", # The logging service the cluster should use to write metrics.
+ # 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 10 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.
+ },
+ ],
+ },
+ "desiredImageType": "A String", # The desired image type for the node pool.
+ # NOTE: Set the "desired_node_pool" field as well.
+ "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if
+ # "desired_node_version", "desired_image_family",
+ # "desired_node_pool_autoscaling", or "desired_workload_metadata_config"
+ # 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.
+ "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.
+ },
+ "cloudRunConfig": { # Configuration options for the Cloud Run feature. # Configuration for the Cloud Run addon. The `IstioConfig` addon must be
+ # enabled in order to enable Cloud Run addon. This option can only be enabled
+ # at cluster creation time.
+ "disabled": True or False, # Whether Cloud Run addon is enabled for this cluster.
+ },
+ "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.
+ },
+ "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.
+ },
+ "istioConfig": { # Configuration options for Istio addon. # Configuration for Istio, an open platform to connect, manage, and secure
+ # microservices.
+ "disabled": True or False, # Whether Istio is enabled for this cluster.
+ "auth": "A String", # The specified Istio auth mode, either none, or mutual TLS.
+ },
+ "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.
+ },
+ },
+ "desiredVerticalPodAutoscaling": { # VerticalPodAutoscaling contains global, per-cluster information # Cluster-level Vertical Pod Autoscaling configuration.
+ # required by Vertical Pod Autoscaler to automatically adjust
+ # the resources of pods controlled by it.
+ "enabled": True or False, # Enables vertical pod autoscaling.
+ },
+ "desiredMasterVersion": "A String", # The Kubernetes version to change the master to. The only valid value is the
+ # latest supported version.
+ #
+ # 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
+ "desiredBinaryAuthorization": { # Configuration for Binary Authorization. # The desired configuration options for the Binary Authorization feature.
+ "enabled": True or False, # Enable Binary Authorization for this cluster. If enabled, all container
+ # images will be validated by Google Binauthz.
+ },
+ "desiredPrivateClusterConfig": { # Configuration options for private clusters. # The desired private cluster configuration.
+ "enablePrivateEndpoint": True or False, # Whether the master's internal IP address is used as the cluster 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.
+ "privateEndpoint": "A String", # Output only. The internal IP address of this cluster's master 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.
+ "enablePeeringRouteSharing": True or False, # Whether to enable route sharing over the network peering.
+ },
+ "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.
+ },
+ },
+ "desiredWorkloadIdentityConfig": { # Configuration for the use of Kubernetes Service Accounts in GCP IAM # Configuration for Workload Identity.
+ # policies.
+ "identityNamespace": "A String", # IAM Identity Namespace to attach all Kubernetes Service Accounts to.
+ },
+ "desiredClusterAutoscaling": { # ClusterAutoscaling contains global, per-cluster information # Cluster-level autoscaling configuration.
+ # required by Cluster Autoscaler to automatically adjust
+ # the size of the cluster and create/delete
+ # node pools based on the current needs.
+ "autoprovisioningNodePoolDefaults": { # AutoprovisioningNodePoolDefaults contains defaults for a node pool created # AutoprovisioningNodePoolDefaults contains defaults for a node pool
+ # created by NAP.
+ # by NAP.
+ "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
+ # service_account is specified, scopes should be empty.
+ "oauthScopes": [ # Scopes that are used by NAP when creating node pools. If oauth_scopes are
+ # specified, service_account should be empty.
+ "A String",
+ ],
+ },
+ "resourceLimits": [ # Contains global constraints regarding minimum and maximum
+ # amount of resources in the cluster.
+ { # Contains information about amount of some resource in the cluster.
+ # For memory, value should be in GB.
+ "resourceType": "A String", # Resource name "cpu", "memory" or gpu-specific string.
+ "minimum": "A String", # Minimum amount of the resource in the cluster.
+ "maximum": "A String", # Maximum amount of the resource in the cluster.
+ },
+ ],
+ "autoprovisioningLocations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
+ # in which the NodePool's nodes can be created by NAP.
+ "A String",
+ ],
+ "enableNodeAutoprovisioning": True or False, # Enables automatic node pool creation and deletion.
+ },
+ "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.
+ "autoprovisioned": True or False, # Can this node pool be deleted automatically.
+ "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.
+ },
+ "desiredDatabaseEncryption": { # Configuration of etcd encryption. # Configuration of etcd encryption.
+ "state": "A String", # Denotes the state of etcd encryption.
+ "keyName": "A String", # Name of CloudKMS key to use for the encryption of secrets in etcd.
+ # Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
+ },
+ },
+ "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.
+ "endTime": "A String", # [Output only] The time the operation completed, in
+ # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ "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.
+ "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.
+ "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.
+ "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
+ },
+ ],
+ "statusMessage": "A String", # If an error has occurred, a textual description of the error.
+ "operationType": "A String", # The operation type.
+ "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
+ "status": "A String", # Status of an operation stage.
+ # Unset for single-stage operations.
+ "metrics": [ # Progress metric bundle, for example:
+ # metrics: [{name: "nodes done", int_value: 15},
+ # {name: "nodes total", int_value: 32}]
+ # or
+ # metrics: [{name: "progress", double_value: 0.56},
+ # {name: "progress scale", double_value: 1.0}]
+ { # Progress metric is (string, int|float|string) pair.
+ "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
+ "intValue": "A String", # For metrics with integer value.
+ "name": "A String", # Metric name, required.
+ # e.g., "nodes total", "percent done"
+ "doubleValue": 3.14, # For metrics with floating point value.
+ },
+ ],
+ "stages": [ # Substages of an operation or a stage.
+ # Object with schema name: OperationProgress
+ ],
+ "name": "A String", # A non-parameterized string describing an operation stage.
+ # Unset for single-stage operations.
+ },
+ "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
+ },
+ ],
+ "selfLink": "A String", # Server-defined URL for the resource.
+ "targetLink": "A String", # Server-defined URL for the target of the operation.
+ }</pre>
+</div>
+
+</body></html>
\ No newline at end of file