Kubernetes Engine API . projects . locations . clusters . nodePools

Instance Methods

create(parent, body, x__xgafv=None)

Creates a node pool for a cluster.

delete(name, zone=None, projectId=None, clusterId=None, nodePoolId=None, x__xgafv=None)

Deletes a node pool from a cluster.

get(name, zone=None, projectId=None, clusterId=None, nodePoolId=None, x__xgafv=None)

Retrieves the requested node pool.

list(parent, projectId=None, clusterId=None, zone=None, x__xgafv=None)

Lists the node pools for a cluster.

rollback(name, body, x__xgafv=None)

Rolls back a previously Aborted or Failed NodePool upgrade.

setAutoscaling(name, body, x__xgafv=None)

Sets the autoscaling settings of a specific node pool.

setManagement(name, body, x__xgafv=None)

Sets the NodeManagement options for a node pool.

setSize(name, body, x__xgafv=None)

Sets the size for a specific node pool.

update(name, body, x__xgafv=None)

Updates the version and/or image type of a specific node pool.

Method Details

create(parent, body, x__xgafv=None)
Creates a node pool for a cluster.

Args:
  parent: string, The parent (project, location, cluster id) where the node pool will be
created. Specified in the format
'projects/*/locations/*/clusters/*'. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # CreateNodePoolRequest creates a node pool for a cluster.
    "parent": "A String", # The parent (project, location, cluster id) where the node pool will be
        # created. Specified in the format
        # 'projects/*/locations/*/clusters/*'.
    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
        # number](https://developers.google.com/console/help/new/#projectnumber).
        # This field has been deprecated and replaced by the parent field.
    "clusterId": "A String", # Deprecated. The name of the cluster.
        # This field has been deprecated and replaced by the parent field.
    "nodePool": { # NodePool contains the name and configuration for a cluster's node pool. # The node pool to create.
        # Node pools are a set of nodes (i.e. VM's), with a common configuration and
        # specification, under the control of the cluster master. They may have a set
        # of Kubernetes labels applied to them, which may be used to reference them
        # during pod scheduling. They may also be resized up or down, to accommodate
        # the workload.
      "status": "A String", # [Output only] The status of the nodes in this pool instance.
      "statusMessage": "A String", # [Output only] Additional information about the current status of this
          # node pool instance, if available.
      "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
          # node pool.
        "autoRepair": True or False, # Whether the nodes will be automatically repaired.
        "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
            # the Auto Upgrades will proceed.
          "description": "A String", # [Output only] This field is set when upgrades are about to commence
              # with the description of the upgrade.
          "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
              # with the approximate start time for the upgrades, in
              # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
        },
        "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
      },
      "name": "A String", # The name of the node pool.
      "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
          # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
          # associated with this node pool.
        "A String",
      ],
      "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
          # only if a valid configuration is present.
          # adjust the size of the node pool to the current cluster usage.
        "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
            # max_node_count.
        "autoprovisioned": True or False, # Can this node pool be deleted automatically.
        "enabled": True or False, # Is autoscaling enabled for this node pool.
        "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
            # has to enough quota to scale up the cluster.
      },
      "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
          # in which the NodePool's nodes should be located.
        "A String",
      ],
      "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
          # simultaneously on a node in the node pool.
        "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
      },
      "version": "A String", # The version of the Kubernetes of this node.
      "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
          # Compute Engine resource quota
          # is sufficient for this number of instances. You must also have available
          # firewall and routes quota.
      "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
      "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
        "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
          "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
        },
        "machineType": "A String", # The name of a Google Compute Engine [machine
            # type](/compute/docs/machine-types) (e.g.
            # `n1-standard-1`).
            #
            # If unspecified, the default machine type is
            # `n1-standard-1`.
        "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
          "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
              #
              # Enables monitoring and attestation of the boot integrity of the instance.
              # The attestation is performed against the integrity policy baseline. This
              # baseline is initially derived from the implicitly trusted boot image when
              # the instance is created.
          "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
              #
              # Secure Boot helps ensure that the system only runs authentic software by
              # verifying the digital signature of all boot components, and halting the
              # boot process if signature verification fails.
        },
        "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
            #
            # If unspecified, the default disk type is 'pd-standard'
        "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
            # valid sources or targets for network firewalls and are specified by
            # the client during cluster or node pool creation. Each tag within the list
            # must comply with RFC1035.
          "A String",
        ],
        "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
            # https://cloud.google.com/compute/docs/instances/preemptible for more
            # inforamtion about preemptible VM instances.
        "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
            # These will added in addition to any default label(s) that
            # Kubernetes may apply to the node.
            # In case of conflict in label keys, the applied set may differ depending on
            # the Kubernetes version -- it's best to assume the behavior is undefined
            # and conflicts should be avoided.
            # For more information, including usage and the valid values, see:
            # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
          "a_key": "A String",
        },
        "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
            # no Service Account is specified, the "default" service account is used.
        "oauthScopes": [ # The set of Google API scopes to be made available on all of the
            # node VMs under the "default" service account.
            #
            # The following scopes are recommended, but not required, and by default are
            # not included:
            #
            # * `https://www.googleapis.com/auth/compute` is required for mounting
            # persistent storage on your nodes.
            # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
            # communicating with **gcr.io**
            # (the [Google Container Registry](/container-registry/)).
            #
            # If unspecified, no scopes are added, unless Cloud Logging or Cloud
            # Monitoring are enabled, in which case their required scopes will be added.
          "A String",
        ],
        "taints": [ # List of kubernetes taints to be applied to each node.
            #
            # For more information, including usage and the valid values, see:
            # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
          { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
              # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
              #
              # For more information, including usage and the valid values, see:
              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
            "key": "A String", # Key for taint.
            "effect": "A String", # Effect for taint.
            "value": "A String", # Value for taint.
          },
        ],
        "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
            # workloads on the node pool.
          "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
              # workloads running on the node.
        },
        "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
            # The smallest allowed disk size is 10GB.
            #
            # If unspecified, the default disk size is 100GB.
        "accelerators": [ # A list of hardware accelerators to be attached to each node.
            # See https://cloud.google.com/compute/docs/gpus for more information about
            # support for GPUs.
          { # AcceleratorConfig represents a Hardware Accelerator request.
            "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
            "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
                # [here](/compute/docs/gpus/#Introduction)
          },
        ],
        "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
            # scheduled on the specified or newer CPU platform. Applicable values are the
            # friendly names of CPU platforms, such as
            # minCpuPlatform: "Intel Haswell" or
            # minCpuPlatform: "Intel Sandy Bridge". For more
            # information, read [how to specify min CPU
            # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
        "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
            #
            # The limit for this value is dependant upon the maximum number of
            # disks available on a machine per zone. See:
            # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
            # for more information.
        "imageType": "A String", # The image type to use for this node. Note that for a given image type,
            # the latest version of it will be used.
        "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
            #
            # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
            # in length. These are reflected as part of a URL in the metadata server.
            # Additionally, to avoid ambiguity, keys must not conflict with any other
            # metadata keys for the project or be one of the reserved keys:
            #  "cluster-location"
            #  "cluster-name"
            #  "cluster-uid"
            #  "configure-sh"
            #  "containerd-configure-sh"
            #  "enable-oslogin"
            #  "gci-ensure-gke-docker"
            #  "gci-update-strategy"
            #  "instance-template"
            #  "kube-env"
            #  "startup-script"
            #  "user-data"
            #  "disable-address-manager"
            #  "windows-startup-script-ps1"
            #  "common-psm1"
            #  "k8s-node-setup-psm1"
            #  "install-ssh-psm1"
            #  "user-profile-psm1"
            #  "serial-port-logging-enable"
            # Values are free-form strings, and only have meaning as interpreted by
            # the image running in the instance. The only restriction placed on them is
            # that each value's size must be less than or equal to 32 KB.
            #
            # The total size of all keys and values must be less than 512 KB.
          "a_key": "A String",
        },
      },
      "conditions": [ # Which conditions caused the current node pool state.
        { # StatusCondition describes why a cluster or a node pool has a certain status
            # (e.g., ERROR or DEGRADED).
          "message": "A String", # Human-friendly representation of the condition
          "code": "A String", # Machine-friendly representation of the condition
        },
      ],
      "selfLink": "A String", # [Output only] Server-defined URL for the resource.
    },
    "zone": "A String", # Deprecated. The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the cluster
        # resides.
        # This field has been deprecated and replaced by the parent field.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This operation resource represents operations that may have happened or are
      # happening on the cluster. All fields are output only.
    "status": "A String", # The current status of the operation.
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "name": "A String", # The server-assigned ID for the operation.
    "zone": "A String", # The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the operation
        # is taking place.
        # This field is deprecated, use location instead.
    "location": "A String", # [Output only] The name of the Google Compute Engine
        # [zone](/compute/docs/regions-zones/regions-zones#available) or
        # [region](/compute/docs/regions-zones/regions-zones#available) in which
        # the cluster resides.
    "startTime": "A String", # [Output only] The time the operation started, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "detail": "A String", # Detailed operation progress, if available.
    "clusterConditions": [ # Which conditions caused the current cluster state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
    "operationType": "A String", # The operation type.
    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
      "status": "A String", # Status of an operation stage.
          # Unset for single-stage operations.
      "metrics": [ # Progress metric bundle, for example:
          #   metrics: [{name: "nodes done",     int_value: 15},
          #             {name: "nodes total",    int_value: 32}]
          # or
          #   metrics: [{name: "progress",       double_value: 0.56},
          #             {name: "progress scale", double_value: 1.0}]
        { # Progress metric is (string, int|float|string) pair.
          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
          "intValue": "A String", # For metrics with integer value.
          "name": "A String", # Metric name, required.
              # e.g., "nodes total", "percent done"
          "doubleValue": 3.14, # For metrics with floating point value.
        },
      ],
      "stages": [ # Substages of an operation or a stage.
        # Object with schema name: OperationProgress
      ],
      "name": "A String", # A non-parameterized string describing an operation stage.
          # Unset for single-stage operations.
    },
    "nodepoolConditions": [ # Which conditions caused the current node pool state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "selfLink": "A String", # Server-defined URL for the resource.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
  }
delete(name, zone=None, projectId=None, clusterId=None, nodePoolId=None, x__xgafv=None)
Deletes a node pool from a cluster.

Args:
  name: string, The name (project, location, cluster, node pool id) of the node pool to
delete. Specified in the format
'projects/*/locations/*/clusters/*/nodePools/*'. (required)
  zone: string, Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the name field.
  projectId: string, Deprecated. The Google Developers Console [project ID or project
number](https://developers.google.com/console/help/new/#projectnumber).
This field has been deprecated and replaced by the name field.
  clusterId: string, Deprecated. The name of the cluster.
This field has been deprecated and replaced by the name field.
  nodePoolId: string, Deprecated. The name of the node pool to delete.
This field has been deprecated and replaced by the name field.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This operation resource represents operations that may have happened or are
      # happening on the cluster. All fields are output only.
    "status": "A String", # The current status of the operation.
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "name": "A String", # The server-assigned ID for the operation.
    "zone": "A String", # The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the operation
        # is taking place.
        # This field is deprecated, use location instead.
    "location": "A String", # [Output only] The name of the Google Compute Engine
        # [zone](/compute/docs/regions-zones/regions-zones#available) or
        # [region](/compute/docs/regions-zones/regions-zones#available) in which
        # the cluster resides.
    "startTime": "A String", # [Output only] The time the operation started, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "detail": "A String", # Detailed operation progress, if available.
    "clusterConditions": [ # Which conditions caused the current cluster state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
    "operationType": "A String", # The operation type.
    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
      "status": "A String", # Status of an operation stage.
          # Unset for single-stage operations.
      "metrics": [ # Progress metric bundle, for example:
          #   metrics: [{name: "nodes done",     int_value: 15},
          #             {name: "nodes total",    int_value: 32}]
          # or
          #   metrics: [{name: "progress",       double_value: 0.56},
          #             {name: "progress scale", double_value: 1.0}]
        { # Progress metric is (string, int|float|string) pair.
          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
          "intValue": "A String", # For metrics with integer value.
          "name": "A String", # Metric name, required.
              # e.g., "nodes total", "percent done"
          "doubleValue": 3.14, # For metrics with floating point value.
        },
      ],
      "stages": [ # Substages of an operation or a stage.
        # Object with schema name: OperationProgress
      ],
      "name": "A String", # A non-parameterized string describing an operation stage.
          # Unset for single-stage operations.
    },
    "nodepoolConditions": [ # Which conditions caused the current node pool state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "selfLink": "A String", # Server-defined URL for the resource.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
  }
get(name, zone=None, projectId=None, clusterId=None, nodePoolId=None, x__xgafv=None)
Retrieves the requested node pool.

Args:
  name: string, The name (project, location, cluster, node pool id) of the node pool to
get. Specified in the format
'projects/*/locations/*/clusters/*/nodePools/*'. (required)
  zone: string, Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the name field.
  projectId: string, Deprecated. The Google Developers Console [project ID or project
number](https://developers.google.com/console/help/new/#projectnumber).
This field has been deprecated and replaced by the name field.
  clusterId: string, Deprecated. The name of the cluster.
This field has been deprecated and replaced by the name field.
  nodePoolId: string, Deprecated. The name of the node pool.
This field has been deprecated and replaced by the name field.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # NodePool contains the name and configuration for a cluster's node pool.
      # Node pools are a set of nodes (i.e. VM's), with a common configuration and
      # specification, under the control of the cluster master. They may have a set
      # of Kubernetes labels applied to them, which may be used to reference them
      # during pod scheduling. They may also be resized up or down, to accommodate
      # the workload.
    "status": "A String", # [Output only] The status of the nodes in this pool instance.
    "statusMessage": "A String", # [Output only] Additional information about the current status of this
        # node pool instance, if available.
    "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
        # node pool.
      "autoRepair": True or False, # Whether the nodes will be automatically repaired.
      "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
          # the Auto Upgrades will proceed.
        "description": "A String", # [Output only] This field is set when upgrades are about to commence
            # with the description of the upgrade.
        "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
            # with the approximate start time for the upgrades, in
            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
      },
      "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
    },
    "name": "A String", # The name of the node pool.
    "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
        # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
        # associated with this node pool.
      "A String",
    ],
    "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
        # only if a valid configuration is present.
        # adjust the size of the node pool to the current cluster usage.
      "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
          # max_node_count.
      "autoprovisioned": True or False, # Can this node pool be deleted automatically.
      "enabled": True or False, # Is autoscaling enabled for this node pool.
      "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
          # has to enough quota to scale up the cluster.
    },
    "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
        # in which the NodePool's nodes should be located.
      "A String",
    ],
    "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
        # simultaneously on a node in the node pool.
      "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
    },
    "version": "A String", # The version of the Kubernetes of this node.
    "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
        # Compute Engine resource quota
        # is sufficient for this number of instances. You must also have available
        # firewall and routes quota.
    "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
    "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
      "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
        "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
      },
      "machineType": "A String", # The name of a Google Compute Engine [machine
          # type](/compute/docs/machine-types) (e.g.
          # `n1-standard-1`).
          #
          # If unspecified, the default machine type is
          # `n1-standard-1`.
      "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
        "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
            #
            # Enables monitoring and attestation of the boot integrity of the instance.
            # The attestation is performed against the integrity policy baseline. This
            # baseline is initially derived from the implicitly trusted boot image when
            # the instance is created.
        "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
            #
            # Secure Boot helps ensure that the system only runs authentic software by
            # verifying the digital signature of all boot components, and halting the
            # boot process if signature verification fails.
      },
      "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
          #
          # If unspecified, the default disk type is 'pd-standard'
      "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
          # valid sources or targets for network firewalls and are specified by
          # the client during cluster or node pool creation. Each tag within the list
          # must comply with RFC1035.
        "A String",
      ],
      "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
          # https://cloud.google.com/compute/docs/instances/preemptible for more
          # inforamtion about preemptible VM instances.
      "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
          # These will added in addition to any default label(s) that
          # Kubernetes may apply to the node.
          # In case of conflict in label keys, the applied set may differ depending on
          # the Kubernetes version -- it's best to assume the behavior is undefined
          # and conflicts should be avoided.
          # For more information, including usage and the valid values, see:
          # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
        "a_key": "A String",
      },
      "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
          # no Service Account is specified, the "default" service account is used.
      "oauthScopes": [ # The set of Google API scopes to be made available on all of the
          # node VMs under the "default" service account.
          #
          # The following scopes are recommended, but not required, and by default are
          # not included:
          #
          # * `https://www.googleapis.com/auth/compute` is required for mounting
          # persistent storage on your nodes.
          # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
          # communicating with **gcr.io**
          # (the [Google Container Registry](/container-registry/)).
          #
          # If unspecified, no scopes are added, unless Cloud Logging or Cloud
          # Monitoring are enabled, in which case their required scopes will be added.
        "A String",
      ],
      "taints": [ # List of kubernetes taints to be applied to each node.
          #
          # For more information, including usage and the valid values, see:
          # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
        { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
            # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
            #
            # For more information, including usage and the valid values, see:
            # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
          "key": "A String", # Key for taint.
          "effect": "A String", # Effect for taint.
          "value": "A String", # Value for taint.
        },
      ],
      "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
          # workloads on the node pool.
        "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
            # workloads running on the node.
      },
      "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
          # The smallest allowed disk size is 10GB.
          #
          # If unspecified, the default disk size is 100GB.
      "accelerators": [ # A list of hardware accelerators to be attached to each node.
          # See https://cloud.google.com/compute/docs/gpus for more information about
          # support for GPUs.
        { # AcceleratorConfig represents a Hardware Accelerator request.
          "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
          "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
              # [here](/compute/docs/gpus/#Introduction)
        },
      ],
      "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
          # scheduled on the specified or newer CPU platform. Applicable values are the
          # friendly names of CPU platforms, such as
          # minCpuPlatform: "Intel Haswell" or
          # minCpuPlatform: "Intel Sandy Bridge". For more
          # information, read [how to specify min CPU
          # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
      "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
          #
          # The limit for this value is dependant upon the maximum number of
          # disks available on a machine per zone. See:
          # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
          # for more information.
      "imageType": "A String", # The image type to use for this node. Note that for a given image type,
          # the latest version of it will be used.
      "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
          #
          # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
          # in length. These are reflected as part of a URL in the metadata server.
          # Additionally, to avoid ambiguity, keys must not conflict with any other
          # metadata keys for the project or be one of the reserved keys:
          #  "cluster-location"
          #  "cluster-name"
          #  "cluster-uid"
          #  "configure-sh"
          #  "containerd-configure-sh"
          #  "enable-oslogin"
          #  "gci-ensure-gke-docker"
          #  "gci-update-strategy"
          #  "instance-template"
          #  "kube-env"
          #  "startup-script"
          #  "user-data"
          #  "disable-address-manager"
          #  "windows-startup-script-ps1"
          #  "common-psm1"
          #  "k8s-node-setup-psm1"
          #  "install-ssh-psm1"
          #  "user-profile-psm1"
          #  "serial-port-logging-enable"
          # Values are free-form strings, and only have meaning as interpreted by
          # the image running in the instance. The only restriction placed on them is
          # that each value's size must be less than or equal to 32 KB.
          #
          # The total size of all keys and values must be less than 512 KB.
        "a_key": "A String",
      },
    },
    "conditions": [ # Which conditions caused the current node pool state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "selfLink": "A String", # [Output only] Server-defined URL for the resource.
  }
list(parent, projectId=None, clusterId=None, zone=None, x__xgafv=None)
Lists the node pools for a cluster.

Args:
  parent: string, The parent (project, location, cluster id) where the node pools will be
listed. Specified in the format 'projects/*/locations/*/clusters/*'. (required)
  projectId: string, Deprecated. The Google Developers Console [project ID or project
number](https://developers.google.com/console/help/new/#projectnumber).
This field has been deprecated and replaced by the parent field.
  clusterId: string, Deprecated. The name of the cluster.
This field has been deprecated and replaced by the parent field.
  zone: string, Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the parent field.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # ListNodePoolsResponse is the result of ListNodePoolsRequest.
    "nodePools": [ # A list of node pools for a cluster.
      { # NodePool contains the name and configuration for a cluster's node pool.
          # Node pools are a set of nodes (i.e. VM's), with a common configuration and
          # specification, under the control of the cluster master. They may have a set
          # of Kubernetes labels applied to them, which may be used to reference them
          # during pod scheduling. They may also be resized up or down, to accommodate
          # the workload.
        "status": "A String", # [Output only] The status of the nodes in this pool instance.
        "statusMessage": "A String", # [Output only] Additional information about the current status of this
            # node pool instance, if available.
        "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for this NodePool.
            # node pool.
          "autoRepair": True or False, # Whether the nodes will be automatically repaired.
          "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
              # the Auto Upgrades will proceed.
            "description": "A String", # [Output only] This field is set when upgrades are about to commence
                # with the description of the upgrade.
            "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
                # with the approximate start time for the upgrades, in
                # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
          },
          "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
        },
        "name": "A String", # The name of the node pool.
        "instanceGroupUrls": [ # [Output only] The resource URLs of the [managed instance
            # groups](/compute/docs/instance-groups/creating-groups-of-managed-instances)
            # associated with this node pool.
          "A String",
        ],
        "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaler configuration for this NodePool. Autoscaler is enabled
            # only if a valid configuration is present.
            # adjust the size of the node pool to the current cluster usage.
          "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
              # max_node_count.
          "autoprovisioned": True or False, # Can this node pool be deleted automatically.
          "enabled": True or False, # Is autoscaling enabled for this node pool.
          "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
              # has to enough quota to scale up the cluster.
        },
        "locations": [ # The list of Google Compute Engine [zones](/compute/docs/zones#available)
            # in which the NodePool's nodes should be located.
          "A String",
        ],
        "maxPodsConstraint": { # Constraints applied to pods. # The constraint on the maximum number of pods that can be run
            # simultaneously on a node in the node pool.
          "maxPodsPerNode": "A String", # Constraint enforced on the max num of pods per node.
        },
        "version": "A String", # The version of the Kubernetes of this node.
        "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
            # Compute Engine resource quota
            # is sufficient for this number of instances. You must also have available
            # firewall and routes quota.
        "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
        "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
          "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
            "sandboxType": "A String", # Type of the sandbox to use for the node (e.g. 'gvisor')
          },
          "machineType": "A String", # The name of a Google Compute Engine [machine
              # type](/compute/docs/machine-types) (e.g.
              # `n1-standard-1`).
              #
              # If unspecified, the default machine type is
              # `n1-standard-1`.
          "shieldedInstanceConfig": { # A set of Shielded Instance options. # Shielded Instance options.
            "enableIntegrityMonitoring": True or False, # Defines whether the instance has integrity monitoring enabled.
                #
                # Enables monitoring and attestation of the boot integrity of the instance.
                # The attestation is performed against the integrity policy baseline. This
                # baseline is initially derived from the implicitly trusted boot image when
                # the instance is created.
            "enableSecureBoot": True or False, # Defines whether the instance has Secure Boot enabled.
                #
                # Secure Boot helps ensure that the system only runs authentic software by
                # verifying the digital signature of all boot components, and halting the
                # boot process if signature verification fails.
          },
          "diskType": "A String", # Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')
              #
              # If unspecified, the default disk type is 'pd-standard'
          "tags": [ # The list of instance tags applied to all nodes. Tags are used to identify
              # valid sources or targets for network firewalls and are specified by
              # the client during cluster or node pool creation. Each tag within the list
              # must comply with RFC1035.
            "A String",
          ],
          "preemptible": True or False, # Whether the nodes are created as preemptible VM instances. See:
              # https://cloud.google.com/compute/docs/instances/preemptible for more
              # inforamtion about preemptible VM instances.
          "labels": { # The map of Kubernetes labels (key/value pairs) to be applied to each node.
              # These will added in addition to any default label(s) that
              # Kubernetes may apply to the node.
              # In case of conflict in label keys, the applied set may differ depending on
              # the Kubernetes version -- it's best to assume the behavior is undefined
              # and conflicts should be avoided.
              # For more information, including usage and the valid values, see:
              # https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
            "a_key": "A String",
          },
          "serviceAccount": "A String", # The Google Cloud Platform Service Account to be used by the node VMs. If
              # no Service Account is specified, the "default" service account is used.
          "oauthScopes": [ # The set of Google API scopes to be made available on all of the
              # node VMs under the "default" service account.
              #
              # The following scopes are recommended, but not required, and by default are
              # not included:
              #
              # * `https://www.googleapis.com/auth/compute` is required for mounting
              # persistent storage on your nodes.
              # * `https://www.googleapis.com/auth/devstorage.read_only` is required for
              # communicating with **gcr.io**
              # (the [Google Container Registry](/container-registry/)).
              #
              # If unspecified, no scopes are added, unless Cloud Logging or Cloud
              # Monitoring are enabled, in which case their required scopes will be added.
            "A String",
          ],
          "taints": [ # List of kubernetes taints to be applied to each node.
              #
              # For more information, including usage and the valid values, see:
              # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
            { # Kubernetes taint is comprised of three fields: key, value, and effect. Effect
                # can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
                #
                # For more information, including usage and the valid values, see:
                # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
              "key": "A String", # Key for taint.
              "effect": "A String", # Effect for taint.
              "value": "A String", # Value for taint.
            },
          ],
          "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
              # workloads on the node pool.
            "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
                # workloads running on the node.
          },
          "diskSizeGb": 42, # Size of the disk attached to each node, specified in GB.
              # The smallest allowed disk size is 10GB.
              #
              # If unspecified, the default disk size is 100GB.
          "accelerators": [ # A list of hardware accelerators to be attached to each node.
              # See https://cloud.google.com/compute/docs/gpus for more information about
              # support for GPUs.
            { # AcceleratorConfig represents a Hardware Accelerator request.
              "acceleratorCount": "A String", # The number of the accelerator cards exposed to an instance.
              "acceleratorType": "A String", # The accelerator type resource name. List of supported accelerators
                  # [here](/compute/docs/gpus/#Introduction)
            },
          ],
          "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
              # scheduled on the specified or newer CPU platform. Applicable values are the
              # friendly names of CPU platforms, such as
              # minCpuPlatform: "Intel Haswell" or
              # minCpuPlatform: "Intel Sandy Bridge". For more
              # information, read [how to specify min CPU
              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
          "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
              #
              # The limit for this value is dependant upon the maximum number of
              # disks available on a machine per zone. See:
              # https://cloud.google.com/compute/docs/disks/local-ssd#local_ssd_limits
              # for more information.
          "imageType": "A String", # The image type to use for this node. Note that for a given image type,
              # the latest version of it will be used.
          "metadata": { # The metadata key/value pairs assigned to instances in the cluster.
              #
              # Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
              # in length. These are reflected as part of a URL in the metadata server.
              # Additionally, to avoid ambiguity, keys must not conflict with any other
              # metadata keys for the project or be one of the reserved keys:
              #  "cluster-location"
              #  "cluster-name"
              #  "cluster-uid"
              #  "configure-sh"
              #  "containerd-configure-sh"
              #  "enable-oslogin"
              #  "gci-ensure-gke-docker"
              #  "gci-update-strategy"
              #  "instance-template"
              #  "kube-env"
              #  "startup-script"
              #  "user-data"
              #  "disable-address-manager"
              #  "windows-startup-script-ps1"
              #  "common-psm1"
              #  "k8s-node-setup-psm1"
              #  "install-ssh-psm1"
              #  "user-profile-psm1"
              #  "serial-port-logging-enable"
              # Values are free-form strings, and only have meaning as interpreted by
              # the image running in the instance. The only restriction placed on them is
              # that each value's size must be less than or equal to 32 KB.
              #
              # The total size of all keys and values must be less than 512 KB.
            "a_key": "A String",
          },
        },
        "conditions": [ # Which conditions caused the current node pool state.
          { # StatusCondition describes why a cluster or a node pool has a certain status
              # (e.g., ERROR or DEGRADED).
            "message": "A String", # Human-friendly representation of the condition
            "code": "A String", # Machine-friendly representation of the condition
          },
        ],
        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
      },
    ],
  }
rollback(name, body, x__xgafv=None)
Rolls back a previously Aborted or Failed NodePool upgrade.
This makes no changes if the last upgrade successfully completed.

Args:
  name: string, The name (project, location, cluster, node pool id) of the node poll to
rollback upgrade.
Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
      # NodePool upgrade. This will be an no-op if the last upgrade successfully
      # completed.
    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
        # number](https://support.google.com/cloud/answer/6158840).
        # This field has been deprecated and replaced by the name field.
    "clusterId": "A String", # Deprecated. The name of the cluster to rollback.
        # This field has been deprecated and replaced by the name field.
    "name": "A String", # The name (project, location, cluster, node pool id) of the node poll to
        # rollback upgrade.
        # Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
    "zone": "A String", # Deprecated. The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the cluster
        # resides.
        # This field has been deprecated and replaced by the name field.
    "nodePoolId": "A String", # Deprecated. The name of the node pool to rollback.
        # This field has been deprecated and replaced by the name field.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This operation resource represents operations that may have happened or are
      # happening on the cluster. All fields are output only.
    "status": "A String", # The current status of the operation.
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "name": "A String", # The server-assigned ID for the operation.
    "zone": "A String", # The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the operation
        # is taking place.
        # This field is deprecated, use location instead.
    "location": "A String", # [Output only] The name of the Google Compute Engine
        # [zone](/compute/docs/regions-zones/regions-zones#available) or
        # [region](/compute/docs/regions-zones/regions-zones#available) in which
        # the cluster resides.
    "startTime": "A String", # [Output only] The time the operation started, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "detail": "A String", # Detailed operation progress, if available.
    "clusterConditions": [ # Which conditions caused the current cluster state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
    "operationType": "A String", # The operation type.
    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
      "status": "A String", # Status of an operation stage.
          # Unset for single-stage operations.
      "metrics": [ # Progress metric bundle, for example:
          #   metrics: [{name: "nodes done",     int_value: 15},
          #             {name: "nodes total",    int_value: 32}]
          # or
          #   metrics: [{name: "progress",       double_value: 0.56},
          #             {name: "progress scale", double_value: 1.0}]
        { # Progress metric is (string, int|float|string) pair.
          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
          "intValue": "A String", # For metrics with integer value.
          "name": "A String", # Metric name, required.
              # e.g., "nodes total", "percent done"
          "doubleValue": 3.14, # For metrics with floating point value.
        },
      ],
      "stages": [ # Substages of an operation or a stage.
        # Object with schema name: OperationProgress
      ],
      "name": "A String", # A non-parameterized string describing an operation stage.
          # Unset for single-stage operations.
    },
    "nodepoolConditions": [ # Which conditions caused the current node pool state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "selfLink": "A String", # Server-defined URL for the resource.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
  }
setAutoscaling(name, body, x__xgafv=None)
Sets the autoscaling settings of a specific node pool.

Args:
  name: string, The name (project, location, cluster, node pool) of the node pool to set
autoscaler settings. Specified in the format
'projects/*/locations/*/clusters/*/nodePools/*'. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
    "name": "A String", # The name (project, location, cluster, node pool) of the node pool to set
        # autoscaler settings. Specified in the format
        # 'projects/*/locations/*/clusters/*/nodePools/*'.
    "zone": "A String", # Deprecated. The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the cluster
        # resides.
        # This field has been deprecated and replaced by the name field.
    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
        # number](https://support.google.com/cloud/answer/6158840).
        # This field has been deprecated and replaced by the name field.
    "autoscaling": { # NodePoolAutoscaling contains information required by cluster autoscaler to # Autoscaling configuration for the node pool.
        # adjust the size of the node pool to the current cluster usage.
      "minNodeCount": 42, # Minimum number of nodes in the NodePool. Must be >= 1 and <=
          # max_node_count.
      "autoprovisioned": True or False, # Can this node pool be deleted automatically.
      "enabled": True or False, # Is autoscaling enabled for this node pool.
      "maxNodeCount": 42, # Maximum number of nodes in the NodePool. Must be >= min_node_count. There
          # has to enough quota to scale up the cluster.
    },
    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
        # This field has been deprecated and replaced by the name field.
    "nodePoolId": "A String", # Deprecated. The name of the node pool to upgrade.
        # This field has been deprecated and replaced by the name field.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This operation resource represents operations that may have happened or are
      # happening on the cluster. All fields are output only.
    "status": "A String", # The current status of the operation.
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "name": "A String", # The server-assigned ID for the operation.
    "zone": "A String", # The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the operation
        # is taking place.
        # This field is deprecated, use location instead.
    "location": "A String", # [Output only] The name of the Google Compute Engine
        # [zone](/compute/docs/regions-zones/regions-zones#available) or
        # [region](/compute/docs/regions-zones/regions-zones#available) in which
        # the cluster resides.
    "startTime": "A String", # [Output only] The time the operation started, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "detail": "A String", # Detailed operation progress, if available.
    "clusterConditions": [ # Which conditions caused the current cluster state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
    "operationType": "A String", # The operation type.
    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
      "status": "A String", # Status of an operation stage.
          # Unset for single-stage operations.
      "metrics": [ # Progress metric bundle, for example:
          #   metrics: [{name: "nodes done",     int_value: 15},
          #             {name: "nodes total",    int_value: 32}]
          # or
          #   metrics: [{name: "progress",       double_value: 0.56},
          #             {name: "progress scale", double_value: 1.0}]
        { # Progress metric is (string, int|float|string) pair.
          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
          "intValue": "A String", # For metrics with integer value.
          "name": "A String", # Metric name, required.
              # e.g., "nodes total", "percent done"
          "doubleValue": 3.14, # For metrics with floating point value.
        },
      ],
      "stages": [ # Substages of an operation or a stage.
        # Object with schema name: OperationProgress
      ],
      "name": "A String", # A non-parameterized string describing an operation stage.
          # Unset for single-stage operations.
    },
    "nodepoolConditions": [ # Which conditions caused the current node pool state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "selfLink": "A String", # Server-defined URL for the resource.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
  }
setManagement(name, body, x__xgafv=None)
Sets the NodeManagement options for a node pool.

Args:
  name: string, The name (project, location, cluster, node pool id) of the node pool to set
management properties. Specified in the format
'projects/*/locations/*/clusters/*/nodePools/*'. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # SetNodePoolManagementRequest sets the node management properties of a node
      # pool.
    "management": { # NodeManagement defines the set of node management services turned on for the # NodeManagement configuration for the node pool.
        # node pool.
      "autoRepair": True or False, # Whether the nodes will be automatically repaired.
      "upgradeOptions": { # AutoUpgradeOptions defines the set of options for the user to control how # Specifies the Auto Upgrade knobs for the node pool.
          # the Auto Upgrades will proceed.
        "description": "A String", # [Output only] This field is set when upgrades are about to commence
            # with the description of the upgrade.
        "autoUpgradeStartTime": "A String", # [Output only] This field is set when upgrades are about to commence
            # with the approximate start time for the upgrades, in
            # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
      },
      "autoUpgrade": True or False, # Whether the nodes will be automatically upgraded.
    },
    "name": "A String", # The name (project, location, cluster, node pool id) of the node pool to set
        # management properties. Specified in the format
        # 'projects/*/locations/*/clusters/*/nodePools/*'.
    "zone": "A String", # Deprecated. The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the cluster
        # resides.
        # This field has been deprecated and replaced by the name field.
    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
        # number](https://support.google.com/cloud/answer/6158840).
        # This field has been deprecated and replaced by the name field.
    "clusterId": "A String", # Deprecated. The name of the cluster to update.
        # This field has been deprecated and replaced by the name field.
    "nodePoolId": "A String", # Deprecated. The name of the node pool to update.
        # This field has been deprecated and replaced by the name field.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This operation resource represents operations that may have happened or are
      # happening on the cluster. All fields are output only.
    "status": "A String", # The current status of the operation.
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "name": "A String", # The server-assigned ID for the operation.
    "zone": "A String", # The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the operation
        # is taking place.
        # This field is deprecated, use location instead.
    "location": "A String", # [Output only] The name of the Google Compute Engine
        # [zone](/compute/docs/regions-zones/regions-zones#available) or
        # [region](/compute/docs/regions-zones/regions-zones#available) in which
        # the cluster resides.
    "startTime": "A String", # [Output only] The time the operation started, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "detail": "A String", # Detailed operation progress, if available.
    "clusterConditions": [ # Which conditions caused the current cluster state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
    "operationType": "A String", # The operation type.
    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
      "status": "A String", # Status of an operation stage.
          # Unset for single-stage operations.
      "metrics": [ # Progress metric bundle, for example:
          #   metrics: [{name: "nodes done",     int_value: 15},
          #             {name: "nodes total",    int_value: 32}]
          # or
          #   metrics: [{name: "progress",       double_value: 0.56},
          #             {name: "progress scale", double_value: 1.0}]
        { # Progress metric is (string, int|float|string) pair.
          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
          "intValue": "A String", # For metrics with integer value.
          "name": "A String", # Metric name, required.
              # e.g., "nodes total", "percent done"
          "doubleValue": 3.14, # For metrics with floating point value.
        },
      ],
      "stages": [ # Substages of an operation or a stage.
        # Object with schema name: OperationProgress
      ],
      "name": "A String", # A non-parameterized string describing an operation stage.
          # Unset for single-stage operations.
    },
    "nodepoolConditions": [ # Which conditions caused the current node pool state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "selfLink": "A String", # Server-defined URL for the resource.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
  }
setSize(name, body, x__xgafv=None)
Sets the size for a specific node pool.

Args:
  name: string, The name (project, location, cluster, node pool id) of the node pool to set
size.
Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # SetNodePoolSizeRequest sets the size a node
      # pool.
    "name": "A String", # The name (project, location, cluster, node pool id) of the node pool to set
        # size.
        # Specified in the format 'projects/*/locations/*/clusters/*/nodePools/*'.
    "zone": "A String", # Deprecated. The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the cluster
        # resides.
        # This field has been deprecated and replaced by the name field.
    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
        # number](https://support.google.com/cloud/answer/6158840).
        # This field has been deprecated and replaced by the name field.
    "clusterId": "A String", # Deprecated. The name of the cluster to update.
        # This field has been deprecated and replaced by the name field.
    "nodePoolId": "A String", # Deprecated. The name of the node pool to update.
        # This field has been deprecated and replaced by the name field.
    "nodeCount": 42, # The desired node count for the pool.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This operation resource represents operations that may have happened or are
      # happening on the cluster. All fields are output only.
    "status": "A String", # The current status of the operation.
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "name": "A String", # The server-assigned ID for the operation.
    "zone": "A String", # The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the operation
        # is taking place.
        # This field is deprecated, use location instead.
    "location": "A String", # [Output only] The name of the Google Compute Engine
        # [zone](/compute/docs/regions-zones/regions-zones#available) or
        # [region](/compute/docs/regions-zones/regions-zones#available) in which
        # the cluster resides.
    "startTime": "A String", # [Output only] The time the operation started, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "detail": "A String", # Detailed operation progress, if available.
    "clusterConditions": [ # Which conditions caused the current cluster state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
    "operationType": "A String", # The operation type.
    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
      "status": "A String", # Status of an operation stage.
          # Unset for single-stage operations.
      "metrics": [ # Progress metric bundle, for example:
          #   metrics: [{name: "nodes done",     int_value: 15},
          #             {name: "nodes total",    int_value: 32}]
          # or
          #   metrics: [{name: "progress",       double_value: 0.56},
          #             {name: "progress scale", double_value: 1.0}]
        { # Progress metric is (string, int|float|string) pair.
          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
          "intValue": "A String", # For metrics with integer value.
          "name": "A String", # Metric name, required.
              # e.g., "nodes total", "percent done"
          "doubleValue": 3.14, # For metrics with floating point value.
        },
      ],
      "stages": [ # Substages of an operation or a stage.
        # Object with schema name: OperationProgress
      ],
      "name": "A String", # A non-parameterized string describing an operation stage.
          # Unset for single-stage operations.
    },
    "nodepoolConditions": [ # Which conditions caused the current node pool state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "selfLink": "A String", # Server-defined URL for the resource.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
  }
update(name, body, x__xgafv=None)
Updates the version and/or image type of a specific node pool.

Args:
  name: string, The name (project, location, cluster, node pool) of the node pool to
update. Specified in the format
'projects/*/locations/*/clusters/*/nodePools/*'. (required)
  body: object, The request body. (required)
    The object takes the form of:

{ # SetNodePoolVersionRequest updates the version of a node pool.
    "name": "A String", # The name (project, location, cluster, node pool) of the node pool to
        # update. Specified in the format
        # 'projects/*/locations/*/clusters/*/nodePools/*'.
    "zone": "A String", # Deprecated. The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the cluster
        # resides.
        # This field has been deprecated and replaced by the name field.
    "projectId": "A String", # Deprecated. The Google Developers Console [project ID or project
        # number](https://support.google.com/cloud/answer/6158840).
        # This field has been deprecated and replaced by the name field.
    "clusterId": "A String", # Deprecated. The name of the cluster to upgrade.
        # This field has been deprecated and replaced by the name field.
    "locations": [ # The desired list of Google Compute Engine
        # [zones](/compute/docs/zones#available) in which the node pool's nodes
        # should be located. Changing the locations for a node pool will result
        # in nodes being either created or removed from the node pool, depending
        # on whether locations are being added or removed.
      "A String",
    ],
    "nodePoolId": "A String", # Deprecated. The name of the node pool to upgrade.
        # This field has been deprecated and replaced by the name field.
    "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The desired image type for the node pool.
        # workloads on the node pool.
      "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
          # workloads running on the node.
    },
    "nodeVersion": "A String", # The Kubernetes version to change the nodes to (typically an
        # upgrade).
        # 
        # Users may specify either explicit versions offered by Kubernetes Engine or
        # version aliases, which have the following behavior:
        # 
        # - "latest": picks the highest valid Kubernetes version
        # - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
        # - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
        # - "1.X.Y-gke.N": picks an explicit Kubernetes version
        # - "-": picks the Kubernetes master version
    "imageType": "A String", # The desired image type for the node pool.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This operation resource represents operations that may have happened or are
      # happening on the cluster. All fields are output only.
    "status": "A String", # The current status of the operation.
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "name": "A String", # The server-assigned ID for the operation.
    "zone": "A String", # The name of the Google Compute Engine
        # [zone](/compute/docs/zones#available) in which the operation
        # is taking place.
        # This field is deprecated, use location instead.
    "location": "A String", # [Output only] The name of the Google Compute Engine
        # [zone](/compute/docs/regions-zones/regions-zones#available) or
        # [region](/compute/docs/regions-zones/regions-zones#available) in which
        # the cluster resides.
    "startTime": "A String", # [Output only] The time the operation started, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "detail": "A String", # Detailed operation progress, if available.
    "clusterConditions": [ # Which conditions caused the current cluster state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "statusMessage": "A String", # If an error has occurred, a textual description of the error.
    "operationType": "A String", # The operation type.
    "progress": { # Information about operation (or operation stage) progress. # [Output only] Progress information for an operation.
      "status": "A String", # Status of an operation stage.
          # Unset for single-stage operations.
      "metrics": [ # Progress metric bundle, for example:
          #   metrics: [{name: "nodes done",     int_value: 15},
          #             {name: "nodes total",    int_value: 32}]
          # or
          #   metrics: [{name: "progress",       double_value: 0.56},
          #             {name: "progress scale", double_value: 1.0}]
        { # Progress metric is (string, int|float|string) pair.
          "stringValue": "A String", # For metrics with custom values (ratios, visual progress, etc.).
          "intValue": "A String", # For metrics with integer value.
          "name": "A String", # Metric name, required.
              # e.g., "nodes total", "percent done"
          "doubleValue": 3.14, # For metrics with floating point value.
        },
      ],
      "stages": [ # Substages of an operation or a stage.
        # Object with schema name: OperationProgress
      ],
      "name": "A String", # A non-parameterized string describing an operation stage.
          # Unset for single-stage operations.
    },
    "nodepoolConditions": [ # Which conditions caused the current node pool state.
      { # StatusCondition describes why a cluster or a node pool has a certain status
          # (e.g., ERROR or DEGRADED).
        "message": "A String", # Human-friendly representation of the condition
        "code": "A String", # Machine-friendly representation of the condition
      },
    ],
    "selfLink": "A String", # Server-defined URL for the resource.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
  }