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