Kubernetes Engine API . projects . zones . clusters . nodePools

Instance Methods

autoscaling(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)

Sets the autoscaling settings of a specific node pool.

create(projectId=None, zone=None, clusterId=None, body=None, x__xgafv=None)

Creates a node pool for a cluster.

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

Deletes a node pool from a cluster.

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

Retrieves the requested node pool.

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

Lists the node pools for a cluster.

rollback(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)

Rolls back a previously Aborted or Failed NodePool upgrade.

setManagement(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)

Sets the NodeManagement options for a node pool.

setSize(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)

Sets the size for a specific node pool.

update(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)

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

Method Details

autoscaling(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)
Sets the autoscaling settings of a specific node pool.

Args:
  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
number](https://support.google.com/cloud/answer/6158840).
This field has been deprecated and replaced by the name field. (required)
  zone: string, Required. Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the name field. (required)
  clusterId: string, Required. Deprecated. The name of the cluster to upgrade.
This field has been deprecated and replaced by the name field. (required)
  nodePoolId: string, Required. Deprecated. The name of the node pool to upgrade.
This field has been deprecated and replaced by the name field. (required)
  body: object, The request body.
    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", # Required. 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", # Required. 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 # Required. 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", # Required. Deprecated. The name of the cluster to upgrade.
        # This field has been deprecated and replaced by the name field.
    "nodePoolId": "A String", # Required. 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.
    "selfLink": "A String", # Server-defined URL for the resource.
    "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.
    "detail": "A String", # Detailed operation progress, if available.
    "operationType": "A String", # The operation type.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
    "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
      },
    ],
    "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.
    "progress": { # Information about operation (or operation stage) progress. # Output only. [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", # Required. Metric name, 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.
    },
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
    "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
      },
    ],
  }
create(projectId=None, zone=None, clusterId=None, body=None, x__xgafv=None)
Creates a node pool for a cluster.

Args:
  projectId: string, Required. 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. (required)
  zone: string, Required. Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the parent field. (required)
  clusterId: string, Required. Deprecated. The name of the cluster.
This field has been deprecated and replaced by the parent field. (required)
  body: object, The request body.
    The object takes the form of:

{ # CreateNodePoolRequest creates a node pool for a cluster.
    "projectId": "A String", # Required. 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.
    "zone": "A String", # Required. 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.
    "clusterId": "A String", # Required. Deprecated. The name of the cluster.
        # This field has been deprecated and replaced by the parent field.
    "parent": "A String", # The parent (project, location, cluster id) where the node pool will be
        # created. Specified in the format
        # 'projects/*/locations/*/clusters/*'.
    "nodePool": { # NodePool contains the name and configuration for a cluster's node pool. # Required. 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.
      "selfLink": "A String", # [Output only] Server-defined URL for the resource.
      "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.
      "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
        },
      ],
      "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.
      "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
          # disruption caused by an upgrade.
          #
          # maxUnavailable controls the number of nodes that can be simultaneously
          # unavailable.
          #
          # maxSurge controls the number of additional nodes that can be added to the
          # node pool temporarily for the time of the upgrade to increase the number of
          # available nodes.
          #
          # (maxUnavailable + maxSurge) determines the level of parallelism (how many
          # nodes are being upgraded at the same time).
          #
          # Note: upgrades inevitably introduce some disruption since workloads need to
          # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
          # this holds true. (Disruption stays within the limits of
          # PodDisruptionBudget, if it is configured.)
          #
          # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
          # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
          # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
          # down 3 old (not yet upgraded) nodes at the same time. This ensures that
          # there are always at least 4 nodes available.
        "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
            # of the node pool during the upgrade process.
        "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
            # the upgrade process. A node is considered available if its status is
            # Ready.
      },
      "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
          # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
          # is sufficient for this number of instances. You must also have available
          # firewall and routes quota.
      "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
      "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",
      ],
      "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
        "reservationAffinity": { # [ReservationAffinity](/compute/docs/instances/reserving-zonal-resources) is # The optional reservation affinity. Setting this field will apply
            # the specified [Zonal Compute
            # Reservation](/compute/docs/instances/reserving-zonal-resources)
            # to this node pool.
            # the configuration of desired reservation which instances could take
            # capacity from.
          "values": [ # Corresponds to the label value(s) of reservation resource(s).
            "A String",
          ],
          "key": "A String", # Corresponds to the label key of a reservation resource. To target a
              # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
              # the key and specify the name of your reservation as its value.
          "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
        },
        "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
          "type": "A String", # Type of the sandbox to use for the 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.
        },
        "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",
        ],
        "bootDiskKmsKey": "A String", #
            # The Customer Managed Encryption Key used to encrypt the boot disk attached
            # to each node in the node pool. This should be of the form
            # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
            # For more information about protecting resources with Cloud KMS Keys please
            # see:
            # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
        "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.
            # Specify the email address of the Service Account; otherwise, if no Service
            # Account is specified, the "default" service account is used.
        "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.
          },
        ],
        "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'
        "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
            # workloads on the node pool.
          "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
              # 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.
        "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",
        ],
        "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)
          },
        ],
        "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
            # scheduled on the specified or newer CPU platform. Applicable values are the
            # friendly names of CPU platforms, such as
            # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
            # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
            # information, read [how to specify min CPU
            # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
        "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-metrics-enabled"
            #  "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",
        },
        "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.
        "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.
        "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
            #
            # The limit for this value is dependent upon the maximum number of
            # disks available on a machine per zone. See:
            # https://cloud.google.com/compute/docs/disks/local-ssd
            # for more information.
      },
      "statusMessage": "A String", # [Output only] Additional information about the current status of this
          # node pool instance, if available.
    },
  }

  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.
    "selfLink": "A String", # Server-defined URL for the resource.
    "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.
    "detail": "A String", # Detailed operation progress, if available.
    "operationType": "A String", # The operation type.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
    "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
      },
    ],
    "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.
    "progress": { # Information about operation (or operation stage) progress. # Output only. [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", # Required. Metric name, 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.
    },
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
    "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
      },
    ],
  }
delete(projectId=None, zone=None, clusterId=None, nodePoolId=None, name=None, x__xgafv=None)
Deletes a node pool from a cluster.

Args:
  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
number](https://developers.google.com/console/help/new/#projectnumber).
This field has been deprecated and replaced by the name field. (required)
  zone: string, Required. Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the name field. (required)
  clusterId: string, Required. Deprecated. The name of the cluster.
This field has been deprecated and replaced by the name field. (required)
  nodePoolId: string, Required. Deprecated. The name of the node pool to delete.
This field has been deprecated and replaced by the name field. (required)
  name: string, The name (project, location, cluster, node pool id) of the node pool to
delete. Specified in the format
'projects/*/locations/*/clusters/*/nodePools/*'.
  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.
    "selfLink": "A String", # Server-defined URL for the resource.
    "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.
    "detail": "A String", # Detailed operation progress, if available.
    "operationType": "A String", # The operation type.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
    "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
      },
    ],
    "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.
    "progress": { # Information about operation (or operation stage) progress. # Output only. [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", # Required. Metric name, 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.
    },
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
    "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
      },
    ],
  }
get(projectId=None, zone=None, clusterId=None, nodePoolId=None, name=None, x__xgafv=None)
Retrieves the requested node pool.

Args:
  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
number](https://developers.google.com/console/help/new/#projectnumber).
This field has been deprecated and replaced by the name field. (required)
  zone: string, Required. Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the name field. (required)
  clusterId: string, Required. Deprecated. The name of the cluster.
This field has been deprecated and replaced by the name field. (required)
  nodePoolId: string, Required. Deprecated. The name of the node pool.
This field has been deprecated and replaced by the name field. (required)
  name: string, The name (project, location, cluster, node pool id) of the node pool to
get. Specified in the format
'projects/*/locations/*/clusters/*/nodePools/*'.
  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.
    "selfLink": "A String", # [Output only] Server-defined URL for the resource.
    "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.
    "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
      },
    ],
    "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.
    "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
        # disruption caused by an upgrade.
        #
        # maxUnavailable controls the number of nodes that can be simultaneously
        # unavailable.
        #
        # maxSurge controls the number of additional nodes that can be added to the
        # node pool temporarily for the time of the upgrade to increase the number of
        # available nodes.
        #
        # (maxUnavailable + maxSurge) determines the level of parallelism (how many
        # nodes are being upgraded at the same time).
        #
        # Note: upgrades inevitably introduce some disruption since workloads need to
        # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
        # this holds true. (Disruption stays within the limits of
        # PodDisruptionBudget, if it is configured.)
        #
        # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
        # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
        # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
        # down 3 old (not yet upgraded) nodes at the same time. This ensures that
        # there are always at least 4 nodes available.
      "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
          # of the node pool during the upgrade process.
      "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
          # the upgrade process. A node is considered available if its status is
          # Ready.
    },
    "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
        # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
        # is sufficient for this number of instances. You must also have available
        # firewall and routes quota.
    "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
    "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",
    ],
    "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
      "reservationAffinity": { # [ReservationAffinity](/compute/docs/instances/reserving-zonal-resources) is # The optional reservation affinity. Setting this field will apply
          # the specified [Zonal Compute
          # Reservation](/compute/docs/instances/reserving-zonal-resources)
          # to this node pool.
          # the configuration of desired reservation which instances could take
          # capacity from.
        "values": [ # Corresponds to the label value(s) of reservation resource(s).
          "A String",
        ],
        "key": "A String", # Corresponds to the label key of a reservation resource. To target a
            # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
            # the key and specify the name of your reservation as its value.
        "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
      },
      "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
        "type": "A String", # Type of the sandbox to use for the 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.
      },
      "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",
      ],
      "bootDiskKmsKey": "A String", #
          # The Customer Managed Encryption Key used to encrypt the boot disk attached
          # to each node in the node pool. This should be of the form
          # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
          # For more information about protecting resources with Cloud KMS Keys please
          # see:
          # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
      "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.
          # Specify the email address of the Service Account; otherwise, if no Service
          # Account is specified, the "default" service account is used.
      "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.
        },
      ],
      "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'
      "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
          # workloads on the node pool.
        "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
            # 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.
      "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",
      ],
      "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)
        },
      ],
      "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
          # scheduled on the specified or newer CPU platform. Applicable values are the
          # friendly names of CPU platforms, such as
          # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
          # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
          # information, read [how to specify min CPU
          # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
      "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-metrics-enabled"
          #  "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",
      },
      "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.
      "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.
      "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
          #
          # The limit for this value is dependent upon the maximum number of
          # disks available on a machine per zone. See:
          # https://cloud.google.com/compute/docs/disks/local-ssd
          # for more information.
    },
    "statusMessage": "A String", # [Output only] Additional information about the current status of this
        # node pool instance, if available.
  }
list(projectId=None, zone=None, clusterId=None, parent=None, x__xgafv=None)
Lists the node pools for a cluster.

Args:
  projectId: string, Required. 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. (required)
  zone: string, Required. Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the parent field. (required)
  clusterId: string, Required. Deprecated. The name of the cluster.
This field has been deprecated and replaced by the parent field. (required)
  parent: string, The parent (project, location, cluster id) where the node pools will be
listed. Specified in the format 'projects/*/locations/*/clusters/*'.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # 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.
        "selfLink": "A String", # [Output only] Server-defined URL for the resource.
        "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.
        "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
          },
        ],
        "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.
        "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
            # disruption caused by an upgrade.
            #
            # maxUnavailable controls the number of nodes that can be simultaneously
            # unavailable.
            #
            # maxSurge controls the number of additional nodes that can be added to the
            # node pool temporarily for the time of the upgrade to increase the number of
            # available nodes.
            #
            # (maxUnavailable + maxSurge) determines the level of parallelism (how many
            # nodes are being upgraded at the same time).
            #
            # Note: upgrades inevitably introduce some disruption since workloads need to
            # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
            # this holds true. (Disruption stays within the limits of
            # PodDisruptionBudget, if it is configured.)
            #
            # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
            # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
            # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
            # down 3 old (not yet upgraded) nodes at the same time. This ensures that
            # there are always at least 4 nodes available.
          "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
              # of the node pool during the upgrade process.
          "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
              # the upgrade process. A node is considered available if its status is
              # Ready.
        },
        "initialNodeCount": 42, # The initial node count for the pool. You must ensure that your
            # Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
            # is sufficient for this number of instances. You must also have available
            # firewall and routes quota.
        "podIpv4CidrSize": 42, # [Output only] The pod CIDR block size per node in this node pool.
        "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",
        ],
        "config": { # Parameters that describe the nodes in a cluster. # The node configuration of the pool.
          "reservationAffinity": { # [ReservationAffinity](/compute/docs/instances/reserving-zonal-resources) is # The optional reservation affinity. Setting this field will apply
              # the specified [Zonal Compute
              # Reservation](/compute/docs/instances/reserving-zonal-resources)
              # to this node pool.
              # the configuration of desired reservation which instances could take
              # capacity from.
            "values": [ # Corresponds to the label value(s) of reservation resource(s).
              "A String",
            ],
            "key": "A String", # Corresponds to the label key of a reservation resource. To target a
                # SPECIFIC_RESERVATION by name, specify "googleapis.com/reservation-name" as
                # the key and specify the name of your reservation as its value.
            "consumeReservationType": "A String", # Corresponds to the type of reservation consumption.
          },
          "sandboxConfig": { # SandboxConfig contains configurations of the sandbox to use for the node. # Sandbox configuration for this node.
            "type": "A String", # Type of the sandbox to use for the 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.
          },
          "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",
          ],
          "bootDiskKmsKey": "A String", #
              # The Customer Managed Encryption Key used to encrypt the boot disk attached
              # to each node in the node pool. This should be of the form
              # projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
              # For more information about protecting resources with Cloud KMS Keys please
              # see:
              # https://cloud.google.com/compute/docs/disks/customer-managed-encryption
          "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.
              # Specify the email address of the Service Account; otherwise, if no Service
              # Account is specified, the "default" service account is used.
          "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.
            },
          ],
          "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'
          "workloadMetadataConfig": { # WorkloadMetadataConfig defines the metadata configuration to expose to # The workload metadata configuration for this node.
              # workloads on the node pool.
            "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
                # 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.
          "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",
          ],
          "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)
            },
          ],
          "minCpuPlatform": "A String", # Minimum CPU platform to be used by this instance. The instance may be
              # scheduled on the specified or newer CPU platform. Applicable values are the
              # friendly names of CPU platforms, such as
              # <code>minCpuPlatform: &quot;Intel Haswell&quot;</code> or
              # <code>minCpuPlatform: &quot;Intel Sandy Bridge&quot;</code>. For more
              # information, read [how to specify min CPU
              # platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)
          "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-metrics-enabled"
              #  "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",
          },
          "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.
          "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.
          "localSsdCount": 42, # The number of local SSD disks to be attached to the node.
              #
              # The limit for this value is dependent upon the maximum number of
              # disks available on a machine per zone. See:
              # https://cloud.google.com/compute/docs/disks/local-ssd
              # for more information.
        },
        "statusMessage": "A String", # [Output only] Additional information about the current status of this
            # node pool instance, if available.
      },
    ],
  }
rollback(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)
Rolls back a previously Aborted or Failed NodePool upgrade.
This makes no changes if the last upgrade successfully completed.

Args:
  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
number](https://support.google.com/cloud/answer/6158840).
This field has been deprecated and replaced by the name field. (required)
  zone: string, Required. Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the name field. (required)
  clusterId: string, Required. Deprecated. The name of the cluster to rollback.
This field has been deprecated and replaced by the name field. (required)
  nodePoolId: string, Required. Deprecated. The name of the node pool to rollback.
This field has been deprecated and replaced by the name field. (required)
  body: object, The request body.
    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", # Required. 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", # Required. 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", # Required. 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", # Required. 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.
    "selfLink": "A String", # Server-defined URL for the resource.
    "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.
    "detail": "A String", # Detailed operation progress, if available.
    "operationType": "A String", # The operation type.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
    "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
      },
    ],
    "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.
    "progress": { # Information about operation (or operation stage) progress. # Output only. [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", # Required. Metric name, 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.
    },
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
    "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
      },
    ],
  }
setManagement(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)
Sets the NodeManagement options for a node pool.

Args:
  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
number](https://support.google.com/cloud/answer/6158840).
This field has been deprecated and replaced by the name field. (required)
  zone: string, Required. Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the name field. (required)
  clusterId: string, Required. Deprecated. The name of the cluster to update.
This field has been deprecated and replaced by the name field. (required)
  nodePoolId: string, Required. Deprecated. The name of the node pool to update.
This field has been deprecated and replaced by the name field. (required)
  body: object, The request body.
    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 # Required. 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", # Required. 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", # Required. 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", # Required. Deprecated. The name of the cluster to update.
        # This field has been deprecated and replaced by the name field.
    "nodePoolId": "A String", # Required. 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.
    "selfLink": "A String", # Server-defined URL for the resource.
    "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.
    "detail": "A String", # Detailed operation progress, if available.
    "operationType": "A String", # The operation type.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
    "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
      },
    ],
    "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.
    "progress": { # Information about operation (or operation stage) progress. # Output only. [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", # Required. Metric name, 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.
    },
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
    "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
      },
    ],
  }
setSize(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)
Sets the size for a specific node pool.

Args:
  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
number](https://support.google.com/cloud/answer/6158840).
This field has been deprecated and replaced by the name field. (required)
  zone: string, Required. Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the name field. (required)
  clusterId: string, Required. Deprecated. The name of the cluster to update.
This field has been deprecated and replaced by the name field. (required)
  nodePoolId: string, Required. Deprecated. The name of the node pool to update.
This field has been deprecated and replaced by the name field. (required)
  body: object, The request body.
    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", # Required. 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", # Required. 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", # Required. Deprecated. The name of the cluster to update.
        # This field has been deprecated and replaced by the name field.
    "nodePoolId": "A String", # Required. Deprecated. The name of the node pool to update.
        # This field has been deprecated and replaced by the name field.
    "nodeCount": 42, # Required. 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.
    "selfLink": "A String", # Server-defined URL for the resource.
    "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.
    "detail": "A String", # Detailed operation progress, if available.
    "operationType": "A String", # The operation type.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
    "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
      },
    ],
    "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.
    "progress": { # Information about operation (or operation stage) progress. # Output only. [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", # Required. Metric name, 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.
    },
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
    "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
      },
    ],
  }
update(projectId=None, zone=None, clusterId=None, nodePoolId=None, body=None, x__xgafv=None)
Updates the version and/or image type of a specific node pool.

Args:
  projectId: string, Required. Deprecated. The Google Developers Console [project ID or project
number](https://support.google.com/cloud/answer/6158840).
This field has been deprecated and replaced by the name field. (required)
  zone: string, Required. Deprecated. The name of the Google Compute Engine
[zone](/compute/docs/zones#available) in which the cluster
resides.
This field has been deprecated and replaced by the name field. (required)
  clusterId: string, Required. Deprecated. The name of the cluster to upgrade.
This field has been deprecated and replaced by the name field. (required)
  nodePoolId: string, Required. Deprecated. The name of the node pool to upgrade.
This field has been deprecated and replaced by the name field. (required)
  body: object, The request body.
    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", # Required. 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", # Required. 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", # Required. 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", # Required. 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 workload metadata config for the node pool.
        # workloads on the node pool.
      "mode": "A String", # Mode is the configuration for how to expose metadata to workloads running
          # on the node pool.
      "nodeMetadata": "A String", # NodeMetadata is the configuration for how to expose metadata to the
          # workloads running on the node.
    },
    "upgradeSettings": { # These upgrade settings control the level of parallelism and the level of # Upgrade settings control disruption and speed of the upgrade.
        # disruption caused by an upgrade.
        #
        # maxUnavailable controls the number of nodes that can be simultaneously
        # unavailable.
        #
        # maxSurge controls the number of additional nodes that can be added to the
        # node pool temporarily for the time of the upgrade to increase the number of
        # available nodes.
        #
        # (maxUnavailable + maxSurge) determines the level of parallelism (how many
        # nodes are being upgraded at the same time).
        #
        # Note: upgrades inevitably introduce some disruption since workloads need to
        # be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
        # this holds true. (Disruption stays within the limits of
        # PodDisruptionBudget, if it is configured.)
        #
        # Consider a hypothetical node pool with 5 nodes having maxSurge=2,
        # maxUnavailable=1. This means the upgrade process upgrades 3 nodes
        # simultaneously. It creates 2 additional (upgraded) nodes, then it brings
        # down 3 old (not yet upgraded) nodes at the same time. This ensures that
        # there are always at least 4 nodes available.
      "maxSurge": 42, # The maximum number of nodes that can be created beyond the current size
          # of the node pool during the upgrade process.
      "maxUnavailable": 42, # The maximum number of nodes that can be simultaneously unavailable during
          # the upgrade process. A node is considered available if its status is
          # Ready.
    },
    "nodeVersion": "A String", # Required. 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", # Required. 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.
    "selfLink": "A String", # Server-defined URL for the resource.
    "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.
    "detail": "A String", # Detailed operation progress, if available.
    "operationType": "A String", # The operation type.
    "targetLink": "A String", # Server-defined URL for the target of the operation.
    "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
      },
    ],
    "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.
    "progress": { # Information about operation (or operation stage) progress. # Output only. [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", # Required. Metric name, 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.
    },
    "endTime": "A String", # [Output only] The time the operation completed, in
        # [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
    "statusMessage": "A String", # Output only. If an error has occurred, a textual description of the error.
    "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
      },
    ],
  }