1<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5  margin: 0;
6  padding: 0;
7  border: 0;
8  font-weight: inherit;
9  font-style: inherit;
10  font-size: 100%;
11  font-family: inherit;
12  vertical-align: baseline;
13}
14
15body {
16  font-size: 13px;
17  padding: 1em;
18}
19
20h1 {
21  font-size: 26px;
22  margin-bottom: 1em;
23}
24
25h2 {
26  font-size: 24px;
27  margin-bottom: 1em;
28}
29
30h3 {
31  font-size: 20px;
32  margin-bottom: 1em;
33  margin-top: 1em;
34}
35
36pre, code {
37  line-height: 1.5;
38  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42  margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46  font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50  border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54  margin-top: 0.5em;
55}
56
57.firstline {
58  margin-left: 2 em;
59}
60
61.method  {
62  margin-top: 1em;
63  border: solid 1px #CCC;
64  padding: 1em;
65  background: #EEE;
66}
67
68.details {
69  font-weight: bold;
70  font-size: 14px;
71}
72
73</style>
74
75<h1><a href="container_v1.html">Google Container Engine API</a> . <a href="container_v1.projects.html">projects</a> . <a href="container_v1.projects.zones.html">zones</a> . <a href="container_v1.projects.zones.clusters.html">clusters</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="container_v1.projects.zones.clusters.nodePools.html">nodePools()</a></code>
79</p>
80<p class="firstline">Returns the nodePools Resource.</p>
81
82<p class="toc_element">
83  <code><a href="#completeIpRotation">completeIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
84<p class="firstline">Completes master IP rotation.</p>
85<p class="toc_element">
86  <code><a href="#create">create(projectId, zone, body, x__xgafv=None)</a></code></p>
87<p class="firstline">Creates a cluster, consisting of the specified number and type of Google</p>
88<p class="toc_element">
89  <code><a href="#delete">delete(projectId, zone, clusterId, x__xgafv=None)</a></code></p>
90<p class="firstline">Deletes the cluster, including the Kubernetes endpoint and all worker</p>
91<p class="toc_element">
92  <code><a href="#get">get(projectId, zone, clusterId, x__xgafv=None)</a></code></p>
93<p class="firstline">Gets the details of a specific cluster.</p>
94<p class="toc_element">
95  <code><a href="#legacyAbac">legacyAbac(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
96<p class="firstline">Enables or disables the ABAC authorization mechanism on a cluster.</p>
97<p class="toc_element">
98  <code><a href="#list">list(projectId, zone, x__xgafv=None)</a></code></p>
99<p class="firstline">Lists all clusters owned by a project in either the specified zone or all</p>
100<p class="toc_element">
101  <code><a href="#resourceLabels">resourceLabels(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
102<p class="firstline">Sets labels on a cluster.</p>
103<p class="toc_element">
104  <code><a href="#setMasterAuth">setMasterAuth(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
105<p class="firstline">Used to set master auth materials. Currently supports :-</p>
106<p class="toc_element">
107  <code><a href="#startIpRotation">startIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
108<p class="firstline">Start master IP rotation.</p>
109<p class="toc_element">
110  <code><a href="#update">update(projectId, zone, clusterId, body, x__xgafv=None)</a></code></p>
111<p class="firstline">Updates the settings of a specific cluster.</p>
112<h3>Method Details</h3>
113<div class="method">
114    <code class="details" id="completeIpRotation">completeIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</code>
115  <pre>Completes master IP rotation.
116
117Args:
118  projectId: string, The Google Developers Console [project ID or project
119number](https://developers.google.com/console/help/new/#projectnumber). (required)
120  zone: string, The name of the Google Compute Engine
121[zone](/compute/docs/zones#available) in which the cluster
122resides. (required)
123  clusterId: string, The name of the cluster. (required)
124  body: object, The request body. (required)
125    The object takes the form of:
126
127{ # CompleteIPRotationRequest moves the cluster master back into single-IP mode.
128  }
129
130  x__xgafv: string, V1 error format.
131    Allowed values
132      1 - v1 error format
133      2 - v2 error format
134
135Returns:
136  An object of the form:
137
138    { # This operation resource represents operations that may have happened or are
139      # happening on the cluster. All fields are output only.
140    "status": "A String", # The current status of the operation.
141    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
142    "name": "A String", # The server-assigned ID for the operation.
143    "zone": "A String", # The name of the Google Compute Engine
144        # [zone](/compute/docs/zones#available) in which the operation
145        # is taking place.
146    "detail": "A String", # Detailed operation progress, if available.
147    "targetLink": "A String", # Server-defined URL for the target of the operation.
148    "operationType": "A String", # The operation type.
149    "selfLink": "A String", # Server-defined URL for the resource.
150  }</pre>
151</div>
152
153<div class="method">
154    <code class="details" id="create">create(projectId, zone, body, x__xgafv=None)</code>
155  <pre>Creates a cluster, consisting of the specified number and type of Google
156Compute Engine instances.
157
158By default, the cluster is created in the project's
159[default network](/compute/docs/networks-and-firewalls#networks).
160
161One firewall is added for the cluster. After cluster creation,
162the cluster creates routes for each node to allow the containers
163on that node to communicate with all other instances in the
164cluster.
165
166Finally, an entry is added to the project's global metadata indicating
167which CIDR range is being used by the cluster.
168
169Args:
170  projectId: string, The Google Developers Console [project ID or project
171number](https://support.google.com/cloud/answer/6158840). (required)
172  zone: string, The name of the Google Compute Engine
173[zone](/compute/docs/zones#available) in which the cluster
174resides. (required)
175  body: object, The request body. (required)
176    The object takes the form of:
177
178{ # CreateClusterRequest creates a cluster.
179    "cluster": { # A Google Container Engine cluster. # A [cluster
180        # resource](/container-engine/reference/rest/v1/projects.zones.clusters)
181      "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
182          # containers. This is provisioned from within the `container_ipv4_cidr`
183          # range.
184      "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
185          # cluster, enabling additional functionality.
186        "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
187            # makes it easy to set up HTTP load balancers for services in a cluster.
188            # which makes it easy to set up HTTP load balancers for services in a cluster.
189          "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
190              # When enabled, it runs a small pod in the cluster that manages the load
191              # balancers.
192        },
193        "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
194            # increases or decreases the number of replica pods a replication controller
195            # has based on the resource usage of the existing pods.
196            # increases or decreases the number of replica pods a replication controller
197            # has based on the resource usage of the existing pods.
198          "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
199              # When enabled, it ensures that a Heapster pod is running in the cluster,
200              # which is also used by the Cloud Monitoring service.
201        },
202      },
203      "locations": [ # The list of Google Compute Engine
204          # [locations](/compute/docs/zones#available) in which the cluster's nodes
205          # should be located.
206        "A String",
207      ],
208      "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
209          # API groups (e.g. v1alpha1) and features that may not be production ready in
210          # the kubernetes version of the master and nodes.
211          # The cluster has no SLA for uptime and master/node upgrades are disabled.
212          # Alpha enabled clusters are automatically deleted thirty days after
213          # creation.
214      "network": "A String", # The name of the Google Compute Engine
215          # [network](/compute/docs/networks-and-firewalls#networks) to which the
216          # cluster is connected. If left unspecified, the `default` network
217          # will be used.
218      "loggingService": "A String", # The logging service the cluster should use to write logs.
219          # Currently available options:
220          #
221          # * `logging.googleapis.com` - the Google Cloud Logging service.
222          # * `none` - no logs will be exported from the cluster.
223          # * if left as an empty string,`logging.googleapis.com` will be used.
224      "instanceGroupUrls": [ # [Output only] The resource URLs of [instance
225          # groups](/compute/docs/instance-groups/) associated with this
226          # cluster.
227        "A String",
228      ],
229      "statusMessage": "A String", # [Output only] Additional information about the current status of this
230          # cluster, if available.
231      "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
232          # this cluster, in
233          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
234          # notation (e.g. `1.2.3.4/29`). Service addresses are
235          # typically put in the last `/16` from the container CIDR.
236      "status": "A String", # [Output only] The current status of this cluster.
237      "description": "A String", # An optional description of this cluster.
238      "currentNodeVersion": "A String", # [Output only] The current version of the node software components.
239          # If they are currently at multiple versions because they're in the process
240          # of being upgraded, this reflects the minimum version of all nodes.
241      "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
242      "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
243      "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
244          # Authentication can be done using HTTP basic auth or using client
245          # certificates.
246        "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
247            # For clusters v1.6.0 and later, you can disable basic authentication by
248            # providing an empty username.
249        "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
250            # Because the master endpoint is open to the Internet, you should create a
251            # strong password.  If a password is provided for cluster creation, username
252            # must be non-empty.
253        "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
254            # to the cluster endpoint.
255        "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
256            # authenticate to the cluster endpoint.
257        "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
258            # trust for the cluster.
259      },
260      "expireTime": "A String", # [Output only] The time the cluster will be automatically
261          # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
262      "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
263          # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
264          # is sufficient for this number of instances. You must also have available
265          # firewall and routes quota.
266          # For requests, this field should only be used in lieu of a
267          # "node_pool" object, since this configuration (along with the
268          # "node_config") will be used to create a "NodePool" object with an
269          # auto-generated name. Do not use this and a node_pool at the same time.
270      "nodePools": [ # The node pools associated with this cluster.
271          # This field should not be set if "node_config" or "initial_node_count" are
272          # specified.
273        { # NodePool contains the name and configuration for a cluster's node pool.
274            # Node pools are a set of nodes (i.e. VM's), with a common configuration and
275            # specification, under the control of the cluster master. They may have a set
276            # of Kubernetes labels applied to them, which may be used to reference them
277            # during pod scheduling. They may also be resized up or down, to accommodate
278            # the workload.
279          "status": "A String", # [Output only] The status of the nodes in this pool instance.
280          "selfLink": "A String", # [Output only] Server-defined URL for the resource.
281          "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
282              # node pool.
283            "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node
284                # pool. If enabled, the nodes in this node pool will be monitored and, if
285                # they fail health checks too many times, an automatic repair action will be
286                # triggered.
287            "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
288                # the Auto Upgrades will proceed.
289              "description": "A String", # [Output only] This field is set when upgrades are about to commence
290                  # with the description of the upgrade.
291              "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
292                  # with the approximate start time for the upgrades, in
293                  # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
294            },
295            "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
296                # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
297                # up to date with the latest release version of Kubernetes.
298          },
299          "name": "A String", # The name of the node pool.
300          "instanceGroupUrls": [ # [Output only] The resource URLs of [instance
301              # groups](/compute/docs/instance-groups/) associated with this
302              # node pool.
303            "A String",
304          ],
305          "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
306              # only if a valid configuration is present.
307              # adjust the size of the node pool to the current cluster usage.
308            "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
309                # max_node_count.
310            "enabled": True or False, # Is autoscaling enabled for this node pool.
311            "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
312                # has to enough quota to scale up the cluster.
313          },
314          "version": "A String", # [Output only] The version of the Kubernetes of this node.
315          "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
316              # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
317              # is sufficient for this number of instances. You must also have available
318              # firewall and routes quota.
319          "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
320            "machineType": "A String", # The name of a Google Compute Engine [machine
321                # type](/compute/docs/machine-types) (e.g.
322                # `n1-standard-1`).
323                #
324                # If unspecified, the default machine type is
325                # `n1-standard-1`.
326            "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
327                # valid sources or targets for network firewalls and are specified by
328                # the client during cluster or node pool creation. Each tag within the list
329                # must comply with RFC1035.
330              "A String",
331            ],
332            "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
333                # https://cloud.google.com/compute/docs/instances/preemptible for more
334                # inforamtion about preemptible VM instances.
335            "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
336                # These will added in addition to any default label(s) that
337                # Kubernetes may apply to the node.
338                # In case of conflict in label keys, the applied set may differ depending on
339                # the Kubernetes version -- it's best to assume the behavior is undefined
340                # and conflicts should be avoided.
341                # For more information, including usage and the valid values, see:
342                # http://kubernetes.io/v1.1/docs/user-guide/labels.html
343              "a_key": "A String",
344            },
345            "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
346                # no Service Account is specified, the "default" service account is used.
347            "oauthScopes": [ # The set of Google API scopes to be made available on all of the
348                # node VMs under the "default" service account.
349                #
350                # The following scopes are recommended, but not required, and by default are
351                # not included:
352                #
353                # * `https://www.googleapis.com/auth/compute` is required for mounting
354                # persistent storage on your nodes.
355                # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
356                # communicating with **gcr.io**
357                # (the [Google Container Registry](/container-registry/)).
358                #
359                # If unspecified, no scopes are added, unless Cloud Logging or Cloud
360                # Monitoring are enabled, in which case their required scopes will be added.
361              "A String",
362            ],
363            "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
364                # The smallest allowed disk size is 10GB.
365                #
366                # If unspecified, the default disk size is 100GB.
367            "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
368                #
369                # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
370                # in length. These are reflected as part of a URL in the metadata server.
371                # Additionally, to avoid ambiguity, keys must not conflict with any other
372                # metadata keys for the project or be one of the four reserved keys:
373                # "instance-template", "kube-env", "startup-script", and "user-data"
374                #
375                # Values are free-form strings, and only have meaning as interpreted by
376                # the image running in the instance. The only restriction placed on them is
377                # that each value's size must be less than or equal to 32 KB.
378                #
379                # The total size of all keys and values must be less than 512 KB.
380              "a_key": "A String",
381            },
382            "imageType": "A String", # The image type to use for this node. Note that for a given image type,
383                # the latest version of it will be used.
384            "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
385                #
386                # The limit for this value is dependant upon the maximum number of
387                # disks available on a machine per zone. See:
388                # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
389                # for more information.
390          },
391          "statusMessage": "A String", # [Output only] Additional information about the current status of this
392              # node pool instance, if available.
393        },
394      ],
395      "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
396          # Currently available options:
397          #
398          # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
399          # * `none` - no metrics will be exported from the cluster.
400          # * if left as an empty string, `monitoring.googleapis.com` will be used.
401      "createTime": "A String", # [Output only] The time the cluster was created, in
402          # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
403      "name": "A String", # The name of this cluster. The name must be unique within this project
404          # and zone, and can be up to 40 characters with the following restrictions:
405          #
406          # * Lowercase letters, numbers, and hyphens only.
407          # * Must start with a letter.
408          # * Must end with a number or a letter.
409      "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
410          # The endpoint can be accessed from the internet at
411          # `https://username:password@endpoint/`.
412          #
413          # See the `masterAuth` property of this resource for username and
414          # password information.
415      "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster.
416      "zone": "A String", # [Output only] The name of the Google Compute Engine
417          # [zone](/compute/docs/zones#available) in which the cluster
418          # resides.
419      "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
420          # mode.
421        "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
422            # identities in the system, including service accounts, nodes, and
423            # controllers, will have statically granted permissions beyond those
424            # provided by the RBAC configuration or IAM.
425      },
426      "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster.  Valid versions are those
427          # found in validMasterVersions returned by getServerConfig.  The version can
428          # be upgraded over time; such upgrades are reflected in
429          # currentMasterVersion and currentNodeVersion.
430      "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
431          # See `nodeConfig` for the description of its properties.
432          # For requests, this field should only be used in lieu of a
433          # "node_pool" object, since this configuration (along with the
434          # "initial_node_count") will be used to create a "NodePool" object with an
435          # auto-generated name. Do not use this and a node_pool at the same time.
436          # For responses, this field will be populated with the node configuration of
437          # the first node pool.
438          #
439          # If unspecified, the defaults are used.
440        "machineType": "A String", # The name of a Google Compute Engine [machine
441            # type](/compute/docs/machine-types) (e.g.
442            # `n1-standard-1`).
443            #
444            # If unspecified, the default machine type is
445            # `n1-standard-1`.
446        "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
447            # valid sources or targets for network firewalls and are specified by
448            # the client during cluster or node pool creation. Each tag within the list
449            # must comply with RFC1035.
450          "A String",
451        ],
452        "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
453            # https://cloud.google.com/compute/docs/instances/preemptible for more
454            # inforamtion about preemptible VM instances.
455        "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
456            # These will added in addition to any default label(s) that
457            # Kubernetes may apply to the node.
458            # In case of conflict in label keys, the applied set may differ depending on
459            # the Kubernetes version -- it's best to assume the behavior is undefined
460            # and conflicts should be avoided.
461            # For more information, including usage and the valid values, see:
462            # http://kubernetes.io/v1.1/docs/user-guide/labels.html
463          "a_key": "A String",
464        },
465        "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
466            # no Service Account is specified, the "default" service account is used.
467        "oauthScopes": [ # The set of Google API scopes to be made available on all of the
468            # node VMs under the "default" service account.
469            #
470            # The following scopes are recommended, but not required, and by default are
471            # not included:
472            #
473            # * `https://www.googleapis.com/auth/compute` is required for mounting
474            # persistent storage on your nodes.
475            # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
476            # communicating with **gcr.io**
477            # (the [Google Container Registry](/container-registry/)).
478            #
479            # If unspecified, no scopes are added, unless Cloud Logging or Cloud
480            # Monitoring are enabled, in which case their required scopes will be added.
481          "A String",
482        ],
483        "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
484            # The smallest allowed disk size is 10GB.
485            #
486            # If unspecified, the default disk size is 100GB.
487        "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
488            #
489            # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
490            # in length. These are reflected as part of a URL in the metadata server.
491            # Additionally, to avoid ambiguity, keys must not conflict with any other
492            # metadata keys for the project or be one of the four reserved keys:
493            # "instance-template", "kube-env", "startup-script", and "user-data"
494            #
495            # Values are free-form strings, and only have meaning as interpreted by
496            # the image running in the instance. The only restriction placed on them is
497            # that each value's size must be less than or equal to 32 KB.
498            #
499            # The total size of all keys and values must be less than 512 KB.
500          "a_key": "A String",
501        },
502        "imageType": "A String", # The image type to use for this node. Note that for a given image type,
503            # the latest version of it will be used.
504        "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
505            #
506            # The limit for this value is dependant upon the maximum number of
507            # disks available on a machine per zone. See:
508            # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
509            # for more information.
510      },
511      "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
512          # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
513          # notation (e.g. `10.96.0.0/14`). Leave blank to have
514          # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
515      "subnetwork": "A String", # The name of the Google Compute Engine
516          # [subnetwork](/compute/docs/subnetworks) to which the
517          # cluster is connected.
518      "resourceLabels": { # The resource labels for the cluster to use to annotate any related GCE
519          # resources.
520        "a_key": "A String",
521      },
522      "selfLink": "A String", # [Output only] Server-defined URL for the resource.
523    },
524  }
525
526  x__xgafv: string, V1 error format.
527    Allowed values
528      1 - v1 error format
529      2 - v2 error format
530
531Returns:
532  An object of the form:
533
534    { # This operation resource represents operations that may have happened or are
535      # happening on the cluster. All fields are output only.
536    "status": "A String", # The current status of the operation.
537    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
538    "name": "A String", # The server-assigned ID for the operation.
539    "zone": "A String", # The name of the Google Compute Engine
540        # [zone](/compute/docs/zones#available) in which the operation
541        # is taking place.
542    "detail": "A String", # Detailed operation progress, if available.
543    "targetLink": "A String", # Server-defined URL for the target of the operation.
544    "operationType": "A String", # The operation type.
545    "selfLink": "A String", # Server-defined URL for the resource.
546  }</pre>
547</div>
548
549<div class="method">
550    <code class="details" id="delete">delete(projectId, zone, clusterId, x__xgafv=None)</code>
551  <pre>Deletes the cluster, including the Kubernetes endpoint and all worker
552nodes.
553
554Firewalls and routes that were configured during cluster creation
555are also deleted.
556
557Other Google Compute Engine resources that might be in use by the cluster
558(e.g. load balancer resources) will not be deleted if they weren't present
559at the initial create time.
560
561Args:
562  projectId: string, The Google Developers Console [project ID or project
563number](https://support.google.com/cloud/answer/6158840). (required)
564  zone: string, The name of the Google Compute Engine
565[zone](/compute/docs/zones#available) in which the cluster
566resides. (required)
567  clusterId: string, The name of the cluster to delete. (required)
568  x__xgafv: string, V1 error format.
569    Allowed values
570      1 - v1 error format
571      2 - v2 error format
572
573Returns:
574  An object of the form:
575
576    { # This operation resource represents operations that may have happened or are
577      # happening on the cluster. All fields are output only.
578    "status": "A String", # The current status of the operation.
579    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
580    "name": "A String", # The server-assigned ID for the operation.
581    "zone": "A String", # The name of the Google Compute Engine
582        # [zone](/compute/docs/zones#available) in which the operation
583        # is taking place.
584    "detail": "A String", # Detailed operation progress, if available.
585    "targetLink": "A String", # Server-defined URL for the target of the operation.
586    "operationType": "A String", # The operation type.
587    "selfLink": "A String", # Server-defined URL for the resource.
588  }</pre>
589</div>
590
591<div class="method">
592    <code class="details" id="get">get(projectId, zone, clusterId, x__xgafv=None)</code>
593  <pre>Gets the details of a specific cluster.
594
595Args:
596  projectId: string, The Google Developers Console [project ID or project
597number](https://support.google.com/cloud/answer/6158840). (required)
598  zone: string, The name of the Google Compute Engine
599[zone](/compute/docs/zones#available) in which the cluster
600resides. (required)
601  clusterId: string, The name of the cluster to retrieve. (required)
602  x__xgafv: string, V1 error format.
603    Allowed values
604      1 - v1 error format
605      2 - v2 error format
606
607Returns:
608  An object of the form:
609
610    { # A Google Container Engine cluster.
611    "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
612        # containers. This is provisioned from within the `container_ipv4_cidr`
613        # range.
614    "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
615        # cluster, enabling additional functionality.
616      "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
617          # makes it easy to set up HTTP load balancers for services in a cluster.
618          # which makes it easy to set up HTTP load balancers for services in a cluster.
619        "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
620            # When enabled, it runs a small pod in the cluster that manages the load
621            # balancers.
622      },
623      "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
624          # increases or decreases the number of replica pods a replication controller
625          # has based on the resource usage of the existing pods.
626          # increases or decreases the number of replica pods a replication controller
627          # has based on the resource usage of the existing pods.
628        "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
629            # When enabled, it ensures that a Heapster pod is running in the cluster,
630            # which is also used by the Cloud Monitoring service.
631      },
632    },
633    "locations": [ # The list of Google Compute Engine
634        # [locations](/compute/docs/zones#available) in which the cluster's nodes
635        # should be located.
636      "A String",
637    ],
638    "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
639        # API groups (e.g. v1alpha1) and features that may not be production ready in
640        # the kubernetes version of the master and nodes.
641        # The cluster has no SLA for uptime and master/node upgrades are disabled.
642        # Alpha enabled clusters are automatically deleted thirty days after
643        # creation.
644    "network": "A String", # The name of the Google Compute Engine
645        # [network](/compute/docs/networks-and-firewalls#networks) to which the
646        # cluster is connected. If left unspecified, the `default` network
647        # will be used.
648    "loggingService": "A String", # The logging service the cluster should use to write logs.
649        # Currently available options:
650        #
651        # * `logging.googleapis.com` - the Google Cloud Logging service.
652        # * `none` - no logs will be exported from the cluster.
653        # * if left as an empty string,`logging.googleapis.com` will be used.
654    "instanceGroupUrls": [ # [Output only] The resource URLs of [instance
655        # groups](/compute/docs/instance-groups/) associated with this
656        # cluster.
657      "A String",
658    ],
659    "statusMessage": "A String", # [Output only] Additional information about the current status of this
660        # cluster, if available.
661    "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
662        # this cluster, in
663        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
664        # notation (e.g. `1.2.3.4/29`). Service addresses are
665        # typically put in the last `/16` from the container CIDR.
666    "status": "A String", # [Output only] The current status of this cluster.
667    "description": "A String", # An optional description of this cluster.
668    "currentNodeVersion": "A String", # [Output only] The current version of the node software components.
669        # If they are currently at multiple versions because they're in the process
670        # of being upgraded, this reflects the minimum version of all nodes.
671    "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
672    "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
673    "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
674        # Authentication can be done using HTTP basic auth or using client
675        # certificates.
676      "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
677          # For clusters v1.6.0 and later, you can disable basic authentication by
678          # providing an empty username.
679      "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
680          # Because the master endpoint is open to the Internet, you should create a
681          # strong password.  If a password is provided for cluster creation, username
682          # must be non-empty.
683      "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
684          # to the cluster endpoint.
685      "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
686          # authenticate to the cluster endpoint.
687      "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
688          # trust for the cluster.
689    },
690    "expireTime": "A String", # [Output only] The time the cluster will be automatically
691        # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
692    "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
693        # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
694        # is sufficient for this number of instances. You must also have available
695        # firewall and routes quota.
696        # For requests, this field should only be used in lieu of a
697        # "node_pool" object, since this configuration (along with the
698        # "node_config") will be used to create a "NodePool" object with an
699        # auto-generated name. Do not use this and a node_pool at the same time.
700    "nodePools": [ # The node pools associated with this cluster.
701        # This field should not be set if "node_config" or "initial_node_count" are
702        # specified.
703      { # NodePool contains the name and configuration for a cluster's node pool.
704          # Node pools are a set of nodes (i.e. VM's), with a common configuration and
705          # specification, under the control of the cluster master. They may have a set
706          # of Kubernetes labels applied to them, which may be used to reference them
707          # during pod scheduling. They may also be resized up or down, to accommodate
708          # the workload.
709        "status": "A String", # [Output only] The status of the nodes in this pool instance.
710        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
711        "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
712            # node pool.
713          "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node
714              # pool. If enabled, the nodes in this node pool will be monitored and, if
715              # they fail health checks too many times, an automatic repair action will be
716              # triggered.
717          "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
718              # the Auto Upgrades will proceed.
719            "description": "A String", # [Output only] This field is set when upgrades are about to commence
720                # with the description of the upgrade.
721            "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
722                # with the approximate start time for the upgrades, in
723                # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
724          },
725          "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
726              # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
727              # up to date with the latest release version of Kubernetes.
728        },
729        "name": "A String", # The name of the node pool.
730        "instanceGroupUrls": [ # [Output only] The resource URLs of [instance
731            # groups](/compute/docs/instance-groups/) associated with this
732            # node pool.
733          "A String",
734        ],
735        "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
736            # only if a valid configuration is present.
737            # adjust the size of the node pool to the current cluster usage.
738          "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
739              # max_node_count.
740          "enabled": True or False, # Is autoscaling enabled for this node pool.
741          "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
742              # has to enough quota to scale up the cluster.
743        },
744        "version": "A String", # [Output only] The version of the Kubernetes of this node.
745        "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
746            # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
747            # is sufficient for this number of instances. You must also have available
748            # firewall and routes quota.
749        "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
750          "machineType": "A String", # The name of a Google Compute Engine [machine
751              # type](/compute/docs/machine-types) (e.g.
752              # `n1-standard-1`).
753              #
754              # If unspecified, the default machine type is
755              # `n1-standard-1`.
756          "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
757              # valid sources or targets for network firewalls and are specified by
758              # the client during cluster or node pool creation. Each tag within the list
759              # must comply with RFC1035.
760            "A String",
761          ],
762          "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
763              # https://cloud.google.com/compute/docs/instances/preemptible for more
764              # inforamtion about preemptible VM instances.
765          "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
766              # These will added in addition to any default label(s) that
767              # Kubernetes may apply to the node.
768              # In case of conflict in label keys, the applied set may differ depending on
769              # the Kubernetes version -- it's best to assume the behavior is undefined
770              # and conflicts should be avoided.
771              # For more information, including usage and the valid values, see:
772              # http://kubernetes.io/v1.1/docs/user-guide/labels.html
773            "a_key": "A String",
774          },
775          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
776              # no Service Account is specified, the "default" service account is used.
777          "oauthScopes": [ # The set of Google API scopes to be made available on all of the
778              # node VMs under the "default" service account.
779              #
780              # The following scopes are recommended, but not required, and by default are
781              # not included:
782              #
783              # * `https://www.googleapis.com/auth/compute` is required for mounting
784              # persistent storage on your nodes.
785              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
786              # communicating with **gcr.io**
787              # (the [Google Container Registry](/container-registry/)).
788              #
789              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
790              # Monitoring are enabled, in which case their required scopes will be added.
791            "A String",
792          ],
793          "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
794              # The smallest allowed disk size is 10GB.
795              #
796              # If unspecified, the default disk size is 100GB.
797          "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
798              #
799              # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
800              # in length. These are reflected as part of a URL in the metadata server.
801              # Additionally, to avoid ambiguity, keys must not conflict with any other
802              # metadata keys for the project or be one of the four reserved keys:
803              # "instance-template", "kube-env", "startup-script", and "user-data"
804              #
805              # Values are free-form strings, and only have meaning as interpreted by
806              # the image running in the instance. The only restriction placed on them is
807              # that each value's size must be less than or equal to 32 KB.
808              #
809              # The total size of all keys and values must be less than 512 KB.
810            "a_key": "A String",
811          },
812          "imageType": "A String", # The image type to use for this node. Note that for a given image type,
813              # the latest version of it will be used.
814          "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
815              #
816              # The limit for this value is dependant upon the maximum number of
817              # disks available on a machine per zone. See:
818              # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
819              # for more information.
820        },
821        "statusMessage": "A String", # [Output only] Additional information about the current status of this
822            # node pool instance, if available.
823      },
824    ],
825    "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
826        # Currently available options:
827        #
828        # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
829        # * `none` - no metrics will be exported from the cluster.
830        # * if left as an empty string, `monitoring.googleapis.com` will be used.
831    "createTime": "A String", # [Output only] The time the cluster was created, in
832        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
833    "name": "A String", # The name of this cluster. The name must be unique within this project
834        # and zone, and can be up to 40 characters with the following restrictions:
835        #
836        # * Lowercase letters, numbers, and hyphens only.
837        # * Must start with a letter.
838        # * Must end with a number or a letter.
839    "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
840        # The endpoint can be accessed from the internet at
841        # `https://username:password@endpoint/`.
842        #
843        # See the `masterAuth` property of this resource for username and
844        # password information.
845    "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster.
846    "zone": "A String", # [Output only] The name of the Google Compute Engine
847        # [zone](/compute/docs/zones#available) in which the cluster
848        # resides.
849    "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
850        # mode.
851      "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
852          # identities in the system, including service accounts, nodes, and
853          # controllers, will have statically granted permissions beyond those
854          # provided by the RBAC configuration or IAM.
855    },
856    "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster.  Valid versions are those
857        # found in validMasterVersions returned by getServerConfig.  The version can
858        # be upgraded over time; such upgrades are reflected in
859        # currentMasterVersion and currentNodeVersion.
860    "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
861        # See `nodeConfig` for the description of its properties.
862        # For requests, this field should only be used in lieu of a
863        # "node_pool" object, since this configuration (along with the
864        # "initial_node_count") will be used to create a "NodePool" object with an
865        # auto-generated name. Do not use this and a node_pool at the same time.
866        # For responses, this field will be populated with the node configuration of
867        # the first node pool.
868        #
869        # If unspecified, the defaults are used.
870      "machineType": "A String", # The name of a Google Compute Engine [machine
871          # type](/compute/docs/machine-types) (e.g.
872          # `n1-standard-1`).
873          #
874          # If unspecified, the default machine type is
875          # `n1-standard-1`.
876      "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
877          # valid sources or targets for network firewalls and are specified by
878          # the client during cluster or node pool creation. Each tag within the list
879          # must comply with RFC1035.
880        "A String",
881      ],
882      "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
883          # https://cloud.google.com/compute/docs/instances/preemptible for more
884          # inforamtion about preemptible VM instances.
885      "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
886          # These will added in addition to any default label(s) that
887          # Kubernetes may apply to the node.
888          # In case of conflict in label keys, the applied set may differ depending on
889          # the Kubernetes version -- it's best to assume the behavior is undefined
890          # and conflicts should be avoided.
891          # For more information, including usage and the valid values, see:
892          # http://kubernetes.io/v1.1/docs/user-guide/labels.html
893        "a_key": "A String",
894      },
895      "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
896          # no Service Account is specified, the "default" service account is used.
897      "oauthScopes": [ # The set of Google API scopes to be made available on all of the
898          # node VMs under the "default" service account.
899          #
900          # The following scopes are recommended, but not required, and by default are
901          # not included:
902          #
903          # * `https://www.googleapis.com/auth/compute` is required for mounting
904          # persistent storage on your nodes.
905          # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
906          # communicating with **gcr.io**
907          # (the [Google Container Registry](/container-registry/)).
908          #
909          # If unspecified, no scopes are added, unless Cloud Logging or Cloud
910          # Monitoring are enabled, in which case their required scopes will be added.
911        "A String",
912      ],
913      "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
914          # The smallest allowed disk size is 10GB.
915          #
916          # If unspecified, the default disk size is 100GB.
917      "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
918          #
919          # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
920          # in length. These are reflected as part of a URL in the metadata server.
921          # Additionally, to avoid ambiguity, keys must not conflict with any other
922          # metadata keys for the project or be one of the four reserved keys:
923          # "instance-template", "kube-env", "startup-script", and "user-data"
924          #
925          # Values are free-form strings, and only have meaning as interpreted by
926          # the image running in the instance. The only restriction placed on them is
927          # that each value's size must be less than or equal to 32 KB.
928          #
929          # The total size of all keys and values must be less than 512 KB.
930        "a_key": "A String",
931      },
932      "imageType": "A String", # The image type to use for this node. Note that for a given image type,
933          # the latest version of it will be used.
934      "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
935          #
936          # The limit for this value is dependant upon the maximum number of
937          # disks available on a machine per zone. See:
938          # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
939          # for more information.
940    },
941    "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
942        # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
943        # notation (e.g. `10.96.0.0/14`). Leave blank to have
944        # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
945    "subnetwork": "A String", # The name of the Google Compute Engine
946        # [subnetwork](/compute/docs/subnetworks) to which the
947        # cluster is connected.
948    "resourceLabels": { # The resource labels for the cluster to use to annotate any related GCE
949        # resources.
950      "a_key": "A String",
951    },
952    "selfLink": "A String", # [Output only] Server-defined URL for the resource.
953  }</pre>
954</div>
955
956<div class="method">
957    <code class="details" id="legacyAbac">legacyAbac(projectId, zone, clusterId, body, x__xgafv=None)</code>
958  <pre>Enables or disables the ABAC authorization mechanism on a cluster.
959
960Args:
961  projectId: string, The Google Developers Console [project ID or project
962number](https://support.google.com/cloud/answer/6158840). (required)
963  zone: string, The name of the Google Compute Engine
964[zone](/compute/docs/zones#available) in which the cluster
965resides. (required)
966  clusterId: string, The name of the cluster to update. (required)
967  body: object, The request body. (required)
968    The object takes the form of:
969
970{ # SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
971      # a cluster.
972    "enabled": True or False, # Whether ABAC authorization will be enabled in the cluster.
973  }
974
975  x__xgafv: string, V1 error format.
976    Allowed values
977      1 - v1 error format
978      2 - v2 error format
979
980Returns:
981  An object of the form:
982
983    { # This operation resource represents operations that may have happened or are
984      # happening on the cluster. All fields are output only.
985    "status": "A String", # The current status of the operation.
986    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
987    "name": "A String", # The server-assigned ID for the operation.
988    "zone": "A String", # The name of the Google Compute Engine
989        # [zone](/compute/docs/zones#available) in which the operation
990        # is taking place.
991    "detail": "A String", # Detailed operation progress, if available.
992    "targetLink": "A String", # Server-defined URL for the target of the operation.
993    "operationType": "A String", # The operation type.
994    "selfLink": "A String", # Server-defined URL for the resource.
995  }</pre>
996</div>
997
998<div class="method">
999    <code class="details" id="list">list(projectId, zone, x__xgafv=None)</code>
1000  <pre>Lists all clusters owned by a project in either the specified zone or all
1001zones.
1002
1003Args:
1004  projectId: string, The Google Developers Console [project ID or project
1005number](https://support.google.com/cloud/answer/6158840). (required)
1006  zone: string, The name of the Google Compute Engine
1007[zone](/compute/docs/zones#available) in which the cluster
1008resides, or "-" for all zones. (required)
1009  x__xgafv: string, V1 error format.
1010    Allowed values
1011      1 - v1 error format
1012      2 - v2 error format
1013
1014Returns:
1015  An object of the form:
1016
1017    { # ListClustersResponse is the result of ListClustersRequest.
1018    "missingZones": [ # If any zones are listed here, the list of clusters returned
1019        # may be missing those zones.
1020      "A String",
1021    ],
1022    "clusters": [ # A list of clusters in the project in the specified zone, or
1023        # across all ones.
1024      { # A Google Container Engine cluster.
1025        "nodeIpv4CidrSize": 42, # [Output only] The size of the address space on each node for hosting
1026            # containers. This is provisioned from within the `container_ipv4_cidr`
1027            # range.
1028        "addonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
1029            # cluster, enabling additional functionality.
1030          "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
1031              # makes it easy to set up HTTP load balancers for services in a cluster.
1032              # which makes it easy to set up HTTP load balancers for services in a cluster.
1033            "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
1034                # When enabled, it runs a small pod in the cluster that manages the load
1035                # balancers.
1036          },
1037          "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
1038              # increases or decreases the number of replica pods a replication controller
1039              # has based on the resource usage of the existing pods.
1040              # increases or decreases the number of replica pods a replication controller
1041              # has based on the resource usage of the existing pods.
1042            "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
1043                # When enabled, it ensures that a Heapster pod is running in the cluster,
1044                # which is also used by the Cloud Monitoring service.
1045          },
1046        },
1047        "locations": [ # The list of Google Compute Engine
1048            # [locations](/compute/docs/zones#available) in which the cluster's nodes
1049            # should be located.
1050          "A String",
1051        ],
1052        "enableKubernetesAlpha": True or False, # Kubernetes alpha features are enabled on this cluster. This includes alpha
1053            # API groups (e.g. v1alpha1) and features that may not be production ready in
1054            # the kubernetes version of the master and nodes.
1055            # The cluster has no SLA for uptime and master/node upgrades are disabled.
1056            # Alpha enabled clusters are automatically deleted thirty days after
1057            # creation.
1058        "network": "A String", # The name of the Google Compute Engine
1059            # [network](/compute/docs/networks-and-firewalls#networks) to which the
1060            # cluster is connected. If left unspecified, the `default` network
1061            # will be used.
1062        "loggingService": "A String", # The logging service the cluster should use to write logs.
1063            # Currently available options:
1064            #
1065            # * `logging.googleapis.com` - the Google Cloud Logging service.
1066            # * `none` - no logs will be exported from the cluster.
1067            # * if left as an empty string,`logging.googleapis.com` will be used.
1068        "instanceGroupUrls": [ # [Output only] The resource URLs of [instance
1069            # groups](/compute/docs/instance-groups/) associated with this
1070            # cluster.
1071          "A String",
1072        ],
1073        "statusMessage": "A String", # [Output only] Additional information about the current status of this
1074            # cluster, if available.
1075        "servicesIpv4Cidr": "A String", # [Output only] The IP address range of the Kubernetes services in
1076            # this cluster, in
1077            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1078            # notation (e.g. `1.2.3.4/29`). Service addresses are
1079            # typically put in the last `/16` from the container CIDR.
1080        "status": "A String", # [Output only] The current status of this cluster.
1081        "description": "A String", # An optional description of this cluster.
1082        "currentNodeVersion": "A String", # [Output only] The current version of the node software components.
1083            # If they are currently at multiple versions because they're in the process
1084            # of being upgraded, this reflects the minimum version of all nodes.
1085        "labelFingerprint": "A String", # The fingerprint of the set of labels for this cluster.
1086        "currentMasterVersion": "A String", # [Output only] The current software version of the master endpoint.
1087        "masterAuth": { # The authentication information for accessing the master endpoint. # The authentication information for accessing the master endpoint.
1088            # Authentication can be done using HTTP basic auth or using client
1089            # certificates.
1090          "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
1091              # For clusters v1.6.0 and later, you can disable basic authentication by
1092              # providing an empty username.
1093          "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
1094              # Because the master endpoint is open to the Internet, you should create a
1095              # strong password.  If a password is provided for cluster creation, username
1096              # must be non-empty.
1097          "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
1098              # to the cluster endpoint.
1099          "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
1100              # authenticate to the cluster endpoint.
1101          "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
1102              # trust for the cluster.
1103        },
1104        "expireTime": "A String", # [Output only] The time the cluster will be automatically
1105            # deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1106        "initialNodeCount": 42, # The number of nodes to create in this cluster. You must ensure that your
1107            # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
1108            # is sufficient for this number of instances. You must also have available
1109            # firewall and routes quota.
1110            # For requests, this field should only be used in lieu of a
1111            # "node_pool" object, since this configuration (along with the
1112            # "node_config") will be used to create a "NodePool" object with an
1113            # auto-generated name. Do not use this and a node_pool at the same time.
1114        "nodePools": [ # The node pools associated with this cluster.
1115            # This field should not be set if "node_config" or "initial_node_count" are
1116            # specified.
1117          { # NodePool contains the name and configuration for a cluster's node pool.
1118              # Node pools are a set of nodes (i.e. VM's), with a common configuration and
1119              # specification, under the control of the cluster master. They may have a set
1120              # of Kubernetes labels applied to them, which may be used to reference them
1121              # during pod scheduling. They may also be resized up or down, to accommodate
1122              # the workload.
1123            "status": "A String", # [Output only] The status of the nodes in this pool instance.
1124            "selfLink": "A String", # [Output only] Server-defined URL for the resource.
1125            "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
1126                # node pool.
1127              "autoRepair": True or False, # A flag that specifies whether the node auto-repair is enabled for the node
1128                  # pool. If enabled, the nodes in this node pool will be monitored and, if
1129                  # they fail health checks too many times, an automatic repair action will be
1130                  # triggered.
1131              "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
1132                  # the Auto Upgrades will proceed.
1133                "description": "A String", # [Output only] This field is set when upgrades are about to commence
1134                    # with the description of the upgrade.
1135                "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
1136                    # with the approximate start time for the upgrades, in
1137                    # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1138              },
1139              "autoUpgrade": True or False, # A flag that specifies whether node auto-upgrade is enabled for the node
1140                  # pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
1141                  # up to date with the latest release version of Kubernetes.
1142            },
1143            "name": "A String", # The name of the node pool.
1144            "instanceGroupUrls": [ # [Output only] The resource URLs of [instance
1145                # groups](/compute/docs/instance-groups/) associated with this
1146                # node pool.
1147              "A String",
1148            ],
1149            "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
1150                # only if a valid configuration is present.
1151                # adjust the size of the node pool to the current cluster usage.
1152              "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
1153                  # max_node_count.
1154              "enabled": True or False, # Is autoscaling enabled for this node pool.
1155              "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
1156                  # has to enough quota to scale up the cluster.
1157            },
1158            "version": "A String", # [Output only] The version of the Kubernetes of this node.
1159            "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
1160                # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
1161                # is sufficient for this number of instances. You must also have available
1162                # firewall and routes quota.
1163            "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
1164              "machineType": "A String", # The name of a Google Compute Engine [machine
1165                  # type](/compute/docs/machine-types) (e.g.
1166                  # `n1-standard-1`).
1167                  #
1168                  # If unspecified, the default machine type is
1169                  # `n1-standard-1`.
1170              "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
1171                  # valid sources or targets for network firewalls and are specified by
1172                  # the client during cluster or node pool creation. Each tag within the list
1173                  # must comply with RFC1035.
1174                "A String",
1175              ],
1176              "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
1177                  # https://cloud.google.com/compute/docs/instances/preemptible for more
1178                  # inforamtion about preemptible VM instances.
1179              "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
1180                  # These will added in addition to any default label(s) that
1181                  # Kubernetes may apply to the node.
1182                  # In case of conflict in label keys, the applied set may differ depending on
1183                  # the Kubernetes version -- it's best to assume the behavior is undefined
1184                  # and conflicts should be avoided.
1185                  # For more information, including usage and the valid values, see:
1186                  # http://kubernetes.io/v1.1/docs/user-guide/labels.html
1187                "a_key": "A String",
1188              },
1189              "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
1190                  # no Service Account is specified, the "default" service account is used.
1191              "oauthScopes": [ # The set of Google API scopes to be made available on all of the
1192                  # node VMs under the "default" service account.
1193                  #
1194                  # The following scopes are recommended, but not required, and by default are
1195                  # not included:
1196                  #
1197                  # * `https://www.googleapis.com/auth/compute` is required for mounting
1198                  # persistent storage on your nodes.
1199                  # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
1200                  # communicating with **gcr.io**
1201                  # (the [Google Container Registry](/container-registry/)).
1202                  #
1203                  # If unspecified, no scopes are added, unless Cloud Logging or Cloud
1204                  # Monitoring are enabled, in which case their required scopes will be added.
1205                "A String",
1206              ],
1207              "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
1208                  # The smallest allowed disk size is 10GB.
1209                  #
1210                  # If unspecified, the default disk size is 100GB.
1211              "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
1212                  #
1213                  # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
1214                  # in length. These are reflected as part of a URL in the metadata server.
1215                  # Additionally, to avoid ambiguity, keys must not conflict with any other
1216                  # metadata keys for the project or be one of the four reserved keys:
1217                  # "instance-template", "kube-env", "startup-script", and "user-data"
1218                  #
1219                  # Values are free-form strings, and only have meaning as interpreted by
1220                  # the image running in the instance. The only restriction placed on them is
1221                  # that each value's size must be less than or equal to 32 KB.
1222                  #
1223                  # The total size of all keys and values must be less than 512 KB.
1224                "a_key": "A String",
1225              },
1226              "imageType": "A String", # The image type to use for this node. Note that for a given image type,
1227                  # the latest version of it will be used.
1228              "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
1229                  #
1230                  # The limit for this value is dependant upon the maximum number of
1231                  # disks available on a machine per zone. See:
1232                  # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
1233                  # for more information.
1234            },
1235            "statusMessage": "A String", # [Output only] Additional information about the current status of this
1236                # node pool instance, if available.
1237          },
1238        ],
1239        "monitoringService": "A String", # The monitoring service the cluster should use to write metrics.
1240            # Currently available options:
1241            #
1242            # * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
1243            # * `none` - no metrics will be exported from the cluster.
1244            # * if left as an empty string, `monitoring.googleapis.com` will be used.
1245        "createTime": "A String", # [Output only] The time the cluster was created, in
1246            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
1247        "name": "A String", # The name of this cluster. The name must be unique within this project
1248            # and zone, and can be up to 40 characters with the following restrictions:
1249            #
1250            # * Lowercase letters, numbers, and hyphens only.
1251            # * Must start with a letter.
1252            # * Must end with a number or a letter.
1253        "endpoint": "A String", # [Output only] The IP address of this cluster's master endpoint.
1254            # The endpoint can be accessed from the internet at
1255            # `https://username:password@endpoint/`.
1256            #
1257            # See the `masterAuth` property of this resource for username and
1258            # password information.
1259        "currentNodeCount": 42, # [Output only] The number of nodes currently in the cluster.
1260        "zone": "A String", # [Output only] The name of the Google Compute Engine
1261            # [zone](/compute/docs/zones#available) in which the cluster
1262            # resides.
1263        "legacyAbac": { # Configuration for the legacy Attribute Based Access Control authorization # Configuration for the legacy ABAC authorization mode.
1264            # mode.
1265          "enabled": True or False, # Whether the ABAC authorizer is enabled for this cluster. When enabled,
1266              # identities in the system, including service accounts, nodes, and
1267              # controllers, will have statically granted permissions beyond those
1268              # provided by the RBAC configuration or IAM.
1269        },
1270        "initialClusterVersion": "A String", # The initial Kubernetes version for this cluster.  Valid versions are those
1271            # found in validMasterVersions returned by getServerConfig.  The version can
1272            # be upgraded over time; such upgrades are reflected in
1273            # currentMasterVersion and currentNodeVersion.
1274        "nodeConfig": { # Parameters that describe the nodes in a cluster. # Parameters used in creating the cluster's nodes.
1275            # See `nodeConfig` for the description of its properties.
1276            # For requests, this field should only be used in lieu of a
1277            # "node_pool" object, since this configuration (along with the
1278            # "initial_node_count") will be used to create a "NodePool" object with an
1279            # auto-generated name. Do not use this and a node_pool at the same time.
1280            # For responses, this field will be populated with the node configuration of
1281            # the first node pool.
1282            #
1283            # If unspecified, the defaults are used.
1284          "machineType": "A String", # The name of a Google Compute Engine [machine
1285              # type](/compute/docs/machine-types) (e.g.
1286              # `n1-standard-1`).
1287              #
1288              # If unspecified, the default machine type is
1289              # `n1-standard-1`.
1290          "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
1291              # valid sources or targets for network firewalls and are specified by
1292              # the client during cluster or node pool creation. Each tag within the list
1293              # must comply with RFC1035.
1294            "A String",
1295          ],
1296          "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
1297              # https://cloud.google.com/compute/docs/instances/preemptible for more
1298              # inforamtion about preemptible VM instances.
1299          "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
1300              # These will added in addition to any default label(s) that
1301              # Kubernetes may apply to the node.
1302              # In case of conflict in label keys, the applied set may differ depending on
1303              # the Kubernetes version -- it's best to assume the behavior is undefined
1304              # and conflicts should be avoided.
1305              # For more information, including usage and the valid values, see:
1306              # http://kubernetes.io/v1.1/docs/user-guide/labels.html
1307            "a_key": "A String",
1308          },
1309          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
1310              # no Service Account is specified, the "default" service account is used.
1311          "oauthScopes": [ # The set of Google API scopes to be made available on all of the
1312              # node VMs under the "default" service account.
1313              #
1314              # The following scopes are recommended, but not required, and by default are
1315              # not included:
1316              #
1317              # * `https://www.googleapis.com/auth/compute` is required for mounting
1318              # persistent storage on your nodes.
1319              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
1320              # communicating with **gcr.io**
1321              # (the [Google Container Registry](/container-registry/)).
1322              #
1323              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
1324              # Monitoring are enabled, in which case their required scopes will be added.
1325            "A String",
1326          ],
1327          "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
1328              # The smallest allowed disk size is 10GB.
1329              #
1330              # If unspecified, the default disk size is 100GB.
1331          "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
1332              #
1333              # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
1334              # in length. These are reflected as part of a URL in the metadata server.
1335              # Additionally, to avoid ambiguity, keys must not conflict with any other
1336              # metadata keys for the project or be one of the four reserved keys:
1337              # "instance-template", "kube-env", "startup-script", and "user-data"
1338              #
1339              # Values are free-form strings, and only have meaning as interpreted by
1340              # the image running in the instance. The only restriction placed on them is
1341              # that each value's size must be less than or equal to 32 KB.
1342              #
1343              # The total size of all keys and values must be less than 512 KB.
1344            "a_key": "A String",
1345          },
1346          "imageType": "A String", # The image type to use for this node. Note that for a given image type,
1347              # the latest version of it will be used.
1348          "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
1349              #
1350              # The limit for this value is dependant upon the maximum number of
1351              # disks available on a machine per zone. See:
1352              # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
1353              # for more information.
1354        },
1355        "clusterIpv4Cidr": "A String", # The IP address range of the container pods in this cluster, in
1356            # [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1357            # notation (e.g. `10.96.0.0/14`). Leave blank to have
1358            # one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
1359        "subnetwork": "A String", # The name of the Google Compute Engine
1360            # [subnetwork](/compute/docs/subnetworks) to which the
1361            # cluster is connected.
1362        "resourceLabels": { # The resource labels for the cluster to use to annotate any related GCE
1363            # resources.
1364          "a_key": "A String",
1365        },
1366        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
1367      },
1368    ],
1369  }</pre>
1370</div>
1371
1372<div class="method">
1373    <code class="details" id="resourceLabels">resourceLabels(projectId, zone, clusterId, body, x__xgafv=None)</code>
1374  <pre>Sets labels on a cluster.
1375
1376Args:
1377  projectId: string, The Google Developers Console [project ID or project
1378number](https://developers.google.com/console/help/new/#projectnumber). (required)
1379  zone: string, The name of the Google Compute Engine
1380[zone](/compute/docs/zones#available) in which the cluster
1381resides. (required)
1382  clusterId: string, The name of the cluster. (required)
1383  body: object, The request body. (required)
1384    The object takes the form of:
1385
1386{ # SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
1387      # Engine cluster, which will in turn set them for Google Compute Engine
1388      # resources used by that cluster
1389    "labelFingerprint": "A String", # The fingerprint of the previous set of labels for this resource,
1390        # used to detect conflicts. The fingerprint is initially generated by
1391        # Container Engine and changes after every request to modify or update
1392        # labels. You must always provide an up-to-date fingerprint hash when
1393        # updating or changing labels. Make a <code>get()</code> request to the
1394        # resource to get the latest fingerprint.
1395    "resourceLabels": { # The labels to set for that cluster.
1396      "a_key": "A String",
1397    },
1398  }
1399
1400  x__xgafv: string, V1 error format.
1401    Allowed values
1402      1 - v1 error format
1403      2 - v2 error format
1404
1405Returns:
1406  An object of the form:
1407
1408    { # This operation resource represents operations that may have happened or are
1409      # happening on the cluster. All fields are output only.
1410    "status": "A String", # The current status of the operation.
1411    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
1412    "name": "A String", # The server-assigned ID for the operation.
1413    "zone": "A String", # The name of the Google Compute Engine
1414        # [zone](/compute/docs/zones#available) in which the operation
1415        # is taking place.
1416    "detail": "A String", # Detailed operation progress, if available.
1417    "targetLink": "A String", # Server-defined URL for the target of the operation.
1418    "operationType": "A String", # The operation type.
1419    "selfLink": "A String", # Server-defined URL for the resource.
1420  }</pre>
1421</div>
1422
1423<div class="method">
1424    <code class="details" id="setMasterAuth">setMasterAuth(projectId, zone, clusterId, body, x__xgafv=None)</code>
1425  <pre>Used to set master auth materials. Currently supports :-
1426Changing the admin password of a specific cluster.
1427This can be either via password generation or explicitly set the password.
1428
1429Args:
1430  projectId: string, The Google Developers Console [project ID or project
1431number](https://support.google.com/cloud/answer/6158840). (required)
1432  zone: string, The name of the Google Compute Engine
1433[zone](/compute/docs/zones#available) in which the cluster
1434resides. (required)
1435  clusterId: string, The name of the cluster to upgrade. (required)
1436  body: object, The request body. (required)
1437    The object takes the form of:
1438
1439{ # SetMasterAuthRequest updates the admin password of a cluster.
1440    "action": "A String", # The exact form of action to be taken on the master auth
1441    "update": { # The authentication information for accessing the master endpoint. # A description of the update.
1442        # Authentication can be done using HTTP basic auth or using client
1443        # certificates.
1444      "username": "A String", # The username to use for HTTP basic authentication to the master endpoint.
1445          # For clusters v1.6.0 and later, you can disable basic authentication by
1446          # providing an empty username.
1447      "password": "A String", # The password to use for HTTP basic authentication to the master endpoint.
1448          # Because the master endpoint is open to the Internet, you should create a
1449          # strong password.  If a password is provided for cluster creation, username
1450          # must be non-empty.
1451      "clientKey": "A String", # [Output only] Base64-encoded private key used by clients to authenticate
1452          # to the cluster endpoint.
1453      "clientCertificate": "A String", # [Output only] Base64-encoded public certificate used by clients to
1454          # authenticate to the cluster endpoint.
1455      "clusterCaCertificate": "A String", # [Output only] Base64-encoded public certificate that is the root of
1456          # trust for the cluster.
1457    },
1458  }
1459
1460  x__xgafv: string, V1 error format.
1461    Allowed values
1462      1 - v1 error format
1463      2 - v2 error format
1464
1465Returns:
1466  An object of the form:
1467
1468    { # This operation resource represents operations that may have happened or are
1469      # happening on the cluster. All fields are output only.
1470    "status": "A String", # The current status of the operation.
1471    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
1472    "name": "A String", # The server-assigned ID for the operation.
1473    "zone": "A String", # The name of the Google Compute Engine
1474        # [zone](/compute/docs/zones#available) in which the operation
1475        # is taking place.
1476    "detail": "A String", # Detailed operation progress, if available.
1477    "targetLink": "A String", # Server-defined URL for the target of the operation.
1478    "operationType": "A String", # The operation type.
1479    "selfLink": "A String", # Server-defined URL for the resource.
1480  }</pre>
1481</div>
1482
1483<div class="method">
1484    <code class="details" id="startIpRotation">startIpRotation(projectId, zone, clusterId, body, x__xgafv=None)</code>
1485  <pre>Start master IP rotation.
1486
1487Args:
1488  projectId: string, The Google Developers Console [project ID or project
1489number](https://developers.google.com/console/help/new/#projectnumber). (required)
1490  zone: string, The name of the Google Compute Engine
1491[zone](/compute/docs/zones#available) in which the cluster
1492resides. (required)
1493  clusterId: string, The name of the cluster. (required)
1494  body: object, The request body. (required)
1495    The object takes the form of:
1496
1497{ # StartIPRotationRequest creates a new IP for the cluster and then performs
1498      # a node upgrade on each node pool to point to the new IP.
1499  }
1500
1501  x__xgafv: string, V1 error format.
1502    Allowed values
1503      1 - v1 error format
1504      2 - v2 error format
1505
1506Returns:
1507  An object of the form:
1508
1509    { # This operation resource represents operations that may have happened or are
1510      # happening on the cluster. All fields are output only.
1511    "status": "A String", # The current status of the operation.
1512    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
1513    "name": "A String", # The server-assigned ID for the operation.
1514    "zone": "A String", # The name of the Google Compute Engine
1515        # [zone](/compute/docs/zones#available) in which the operation
1516        # is taking place.
1517    "detail": "A String", # Detailed operation progress, if available.
1518    "targetLink": "A String", # Server-defined URL for the target of the operation.
1519    "operationType": "A String", # The operation type.
1520    "selfLink": "A String", # Server-defined URL for the resource.
1521  }</pre>
1522</div>
1523
1524<div class="method">
1525    <code class="details" id="update">update(projectId, zone, clusterId, body, x__xgafv=None)</code>
1526  <pre>Updates the settings of a specific cluster.
1527
1528Args:
1529  projectId: string, The Google Developers Console [project ID or project
1530number](https://support.google.com/cloud/answer/6158840). (required)
1531  zone: string, The name of the Google Compute Engine
1532[zone](/compute/docs/zones#available) in which the cluster
1533resides. (required)
1534  clusterId: string, The name of the cluster to upgrade. (required)
1535  body: object, The request body. (required)
1536    The object takes the form of:
1537
1538{ # UpdateClusterRequest updates the settings of a cluster.
1539    "update": { # ClusterUpdate describes an update to the cluster. Exactly one update can # A description of the update.
1540        # be applied to a cluster with each request, so at most one field can be
1541        # provided.
1542      "desiredNodePoolId": "A String", # The node pool to be upgraded. This field is mandatory if
1543          # "desired_node_version", "desired_image_family" or
1544          # "desired_node_pool_autoscaling" is specified and there is more than one
1545          # node pool on the cluster.
1546      "desiredAddonsConfig": { # Configuration for the addons that can be automatically spun up in the # Configurations for the various addons available to run in the cluster.
1547          # cluster, enabling additional functionality.
1548        "httpLoadBalancing": { # Configuration options for the HTTP (L7) load balancing controller addon, # Configuration for the HTTP (L7) load balancing controller addon, which
1549            # makes it easy to set up HTTP load balancers for services in a cluster.
1550            # which makes it easy to set up HTTP load balancers for services in a cluster.
1551          "disabled": True or False, # Whether the HTTP Load Balancing controller is enabled in the cluster.
1552              # When enabled, it runs a small pod in the cluster that manages the load
1553              # balancers.
1554        },
1555        "horizontalPodAutoscaling": { # Configuration options for the horizontal pod autoscaling feature, which # Configuration for the horizontal pod autoscaling feature, which
1556            # increases or decreases the number of replica pods a replication controller
1557            # has based on the resource usage of the existing pods.
1558            # increases or decreases the number of replica pods a replication controller
1559            # has based on the resource usage of the existing pods.
1560          "disabled": True or False, # Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
1561              # When enabled, it ensures that a Heapster pod is running in the cluster,
1562              # which is also used by the Cloud Monitoring service.
1563        },
1564      },
1565      "desiredMasterVersion": "A String", # The Kubernetes version to change the master to. The only valid value is the
1566          # latest supported version. Use "-" to have the server automatically select
1567          # the latest version.
1568      "desiredLocations": [ # The desired list of Google Compute Engine
1569          # [locations](/compute/docs/zones#available) in which the cluster's nodes
1570          # should be located. Changing the locations a cluster is in will result
1571          # in nodes being either created or removed from the cluster, depending on
1572          # whether locations are being added or removed.
1573          #
1574          # This list must always include the cluster's primary zone.
1575        "A String",
1576      ],
1577      "desiredNodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an
1578          # upgrade). Use `-` to upgrade to the latest version supported by
1579          # the server.
1580      "desiredMonitoringService": "A String", # The monitoring service the cluster should use to write metrics.
1581          # Currently available options:
1582          #
1583          # * "monitoring.googleapis.com" - the Google Cloud Monitoring service
1584          # * "none" - no metrics will be exported from the cluster
1585      "desiredNodePoolAutoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for the node pool specified in
1586          # desired_node_pool_id. If there is only one pool in the
1587          # cluster and desired_node_pool_id is not provided then
1588          # the change applies to that single node pool.
1589          # adjust the size of the node pool to the current cluster usage.
1590        "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
1591            # max_node_count.
1592        "enabled": True or False, # Is autoscaling enabled for this node pool.
1593        "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
1594            # has to enough quota to scale up the cluster.
1595      },
1596      "desiredImageType": "A String", # The desired image type for the node pool.
1597          # NOTE: Set the "desired_node_pool" field as well.
1598    },
1599  }
1600
1601  x__xgafv: string, V1 error format.
1602    Allowed values
1603      1 - v1 error format
1604      2 - v2 error format
1605
1606Returns:
1607  An object of the form:
1608
1609    { # This operation resource represents operations that may have happened or are
1610      # happening on the cluster. All fields are output only.
1611    "status": "A String", # The current status of the operation.
1612    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
1613    "name": "A String", # The server-assigned ID for the operation.
1614    "zone": "A String", # The name of the Google Compute Engine
1615        # [zone](/compute/docs/zones#available) in which the operation
1616        # is taking place.
1617    "detail": "A String", # Detailed operation progress, if available.
1618    "targetLink": "A String", # Server-defined URL for the target of the operation.
1619    "operationType": "A String", # The operation type.
1620    "selfLink": "A String", # Server-defined URL for the resource.
1621  }</pre>
1622</div>
1623
1624</body></html>