Home | History | Annotate | Download | only in dyn
      1 <html><body>
      2 <style>
      3 
      4 body, 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 
     15 body {
     16   font-size: 13px;
     17   padding: 1em;
     18 }
     19 
     20 h1 {
     21   font-size: 26px;
     22   margin-bottom: 1em;
     23 }
     24 
     25 h2 {
     26   font-size: 24px;
     27   margin-bottom: 1em;
     28 }
     29 
     30 h3 {
     31   font-size: 20px;
     32   margin-bottom: 1em;
     33   margin-top: 1em;
     34 }
     35 
     36 pre, code {
     37   line-height: 1.5;
     38   font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
     39 }
     40 
     41 pre {
     42   margin-top: 0.5em;
     43 }
     44 
     45 h1, h2, h3, p {
     46   font-family: Arial, sans serif;
     47 }
     48 
     49 h1, 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 
    117 Args:
    118   projectId: string, The Google Developers Console [project ID or project
    119 number](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
    122 resides. (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 
    135 Returns:
    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
    156 Compute Engine instances.
    157 
    158 By default, the cluster is created in the project's
    159 [default network](/compute/docs/networks-and-firewalls#networks).
    160 
    161 One firewall is added for the cluster. After cluster creation,
    162 the cluster creates routes for each node to allow the containers
    163 on that node to communicate with all other instances in the
    164 cluster.
    165 
    166 Finally, an entry is added to the project's global metadata indicating
    167 which CIDR range is being used by the cluster.
    168 
    169 Args:
    170   projectId: string, The Google Developers Console [project ID or project
    171 number](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
    174 resides. (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 
    531 Returns:
    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
    552 nodes.
    553 
    554 Firewalls and routes that were configured during cluster creation
    555 are also deleted.
    556 
    557 Other 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
    559 at the initial create time.
    560 
    561 Args:
    562   projectId: string, The Google Developers Console [project ID or project
    563 number](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
    566 resides. (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 
    573 Returns:
    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 
    595 Args:
    596   projectId: string, The Google Developers Console [project ID or project
    597 number](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
    600 resides. (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 
    607 Returns:
    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 
    960 Args:
    961   projectId: string, The Google Developers Console [project ID or project
    962 number](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
    965 resides. (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 
    980 Returns:
    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
   1001 zones.
   1002 
   1003 Args:
   1004   projectId: string, The Google Developers Console [project ID or project
   1005 number](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
   1008 resides, 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 
   1014 Returns:
   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 
   1376 Args:
   1377   projectId: string, The Google Developers Console [project ID or project
   1378 number](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
   1381 resides. (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 
   1405 Returns:
   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 :-
   1426 Changing the admin password of a specific cluster.
   1427 This can be either via password generation or explicitly set the password.
   1428 
   1429 Args:
   1430   projectId: string, The Google Developers Console [project ID or project
   1431 number](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
   1434 resides. (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 
   1465 Returns:
   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 
   1487 Args:
   1488   projectId: string, The Google Developers Console [project ID or project
   1489 number](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
   1492 resides. (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 
   1506 Returns:
   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 
   1528 Args:
   1529   projectId: string, The Google Developers Console [project ID or project
   1530 number](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
   1533 resides. (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 
   1606 Returns:
   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>