Remote Build Execution API . projects . instances . workerpools

Instance Methods

create(parent, body=None, x__xgafv=None)

Creates a new worker pool with a specified size and configuration.

delete(name, x__xgafv=None)

Deletes the specified worker pool.

get(name, x__xgafv=None)

Returns the specified worker pool.

list(parent, x__xgafv=None, filter=None)

Lists worker pools in an instance.

patch(name, body=None, x__xgafv=None)

Updates an existing worker pool with a specified size and/or configuration.

Method Details

create(parent, body=None, x__xgafv=None)
Creates a new worker pool with a specified size and configuration.
Returns a long running operation which contains a worker pool on
completion. While the long running operation is in progress, any call to
`GetWorkerPool` returns a worker pool in state `CREATING`.

Args:
  parent: string, Resource name of the instance in which to create the new worker pool.
Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request used for `CreateWorkerPool`.
    "workerPool": { # A worker pool resource in the Remote Build Execution API. # Specifies the worker pool to create.
        # The name in the worker pool, if specified, is ignored.
      "autoscale": { # Autoscale defines the autoscaling policy of a worker pool. # The autoscale policy to apply on a pool.
        "minSize": "A String", # The minimal number of workers. Must be greater than 0.
        "maxSize": "A String", # The maximal number of workers. Must be equal to or greater than min_size.
      },
      "state": "A String", # Output only. State of the worker pool.
      "workerConfig": { # Defines the configuration to be used for a creating workers in # Specifies the properties, such as machine type and disk size, used for
          # creating workers in a worker pool.
          # the worker pool.
        "machineType": "A String", # Required. Machine type of the worker, such as `n1-standard-2`.
            # See https://cloud.google.com/compute/docs/machine-types for a list of
            # supported machine types. Note that `f1-micro` and `g1-small` are not yet
            # supported.
        "maxConcurrentActions": "A String", # The maximum number of actions a worker can execute concurrently.
        "accelerator": { # AcceleratorConfig defines the accelerator cards to attach to the VM. # The accelerator card attached to each VM.
          "acceleratorCount": "A String", # The number of guest accelerator cards exposed to each VM.
          "acceleratorType": "A String", # The type of accelerator to attach to each VM, e.g. "nvidia-tesla-k80" for
              # nVidia Tesla K80.
        },
        "reserved": True or False, # Determines whether the worker is reserved (equivalent to a Compute Engine
            # on-demand VM and therefore won't be preempted).
            # See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more
            # details.
        "labels": { # Labels associated with the workers.
            # Label keys and values can be no longer than 63 characters, can only contain
            # lowercase letters, numeric characters, underscores and dashes.
            # International letters are permitted. Label keys must start with a letter.
            # Label values are optional.
            # There can not be more than 64 labels per resource.
          "a_key": "A String",
        },
        "diskType": "A String", # Required. Disk Type to use for the worker.
            # See [Storage
            # options](https://cloud.google.com/compute/docs/disks/#introduction).
            # Currently only `pd-standard` and `pd-ssd` are supported.
        "diskSizeGb": "A String", # Required. Size of the disk attached to the worker, in GB.
            # See https://cloud.google.com/compute/docs/disks/
        "minCpuPlatform": "A String", # Minimum CPU platform to use when creating the worker.
            # See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
        "networkAccess": "A String", # Determines the type of network access granted to workers. Possible values:
            #
            # - "public": Workers can connect to the public internet.
            # - "private": Workers can only connect to Google APIs and services.
            # - "restricted-private": Workers can only connect to Google APIs that are
            #   reachable through `restricted.googleapis.com` (`199.36.153.4/30`).
      },
      "workerCount": "A String", # The desired number of workers in the worker pool. Must be a value between
          # 0 and 15000.
      "name": "A String", # WorkerPool resource name formatted as:
          # `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
          # name should not be populated when creating a worker pool since it is
          # provided in the `poolId` field.
    },
    "parent": "A String", # Resource name of the instance in which to create the new worker pool.
        # Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
    "poolId": "A String", # ID of the created worker pool.
        # A valid pool ID must:
        # be 6-50 characters long,
        # contain only lowercase letters, digits, hyphens and underscores,
        # start with a lowercase letter, and
        # end with a lowercase letter or a digit.
  }

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

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a
      # network API call.
    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
        # different programming environments, including REST APIs and RPC APIs. It is
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
        # three pieces of data: error code, error message, and error details.
        #
        # You can find out more about this error model and how to work with it in the
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
      "message": "A String", # A developer-facing error message, which should be in English. Any
          # user-facing error message should be localized and sent in the
          # google.rpc.Status.details field, or localized by the client.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details.  There is a common set of
          # message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
    },
    "done": True or False, # If the value is `false`, it means the operation is still in progress.
        # If `true`, the operation is completed, and either `error` or `response` is
        # available.
    "response": { # The normal response of the operation in case of success.  If the original
        # method returns no data on success, such as `Delete`, the response is
        # `google.protobuf.Empty`.  If the original method is standard
        # `Get`/`Create`/`Update`, the response should be the resource.  For other
        # methods, the response should have the type `XxxResponse`, where `Xxx`
        # is the original method name.  For example, if the original method name
        # is `TakeSnapshot()`, the inferred response type is
        # `TakeSnapshotResponse`.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
    "name": "A String", # The server-assigned name, which is only unique within the same service that
        # originally returns it. If you use the default HTTP mapping, the
        # `name` should be a resource name ending with `operations/{unique_id}`.
    "metadata": { # Service-specific metadata associated with the operation.  It typically
        # contains progress information and common metadata such as create time.
        # Some services might not provide such metadata.  Any method that returns a
        # long-running operation should document the metadata type, if any.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
  }
delete(name, x__xgafv=None)
Deletes the specified worker pool.
Returns a long running operation, which contains a `google.protobuf.Empty`
response on completion.
While the long running operation is in progress, any call to
`GetWorkerPool` returns a worker pool in state `DELETING`.

Args:
  name: string, Name of the worker pool to delete.
Format:
`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a
      # network API call.
    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
        # different programming environments, including REST APIs and RPC APIs. It is
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
        # three pieces of data: error code, error message, and error details.
        #
        # You can find out more about this error model and how to work with it in the
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
      "message": "A String", # A developer-facing error message, which should be in English. Any
          # user-facing error message should be localized and sent in the
          # google.rpc.Status.details field, or localized by the client.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details.  There is a common set of
          # message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
    },
    "done": True or False, # If the value is `false`, it means the operation is still in progress.
        # If `true`, the operation is completed, and either `error` or `response` is
        # available.
    "response": { # The normal response of the operation in case of success.  If the original
        # method returns no data on success, such as `Delete`, the response is
        # `google.protobuf.Empty`.  If the original method is standard
        # `Get`/`Create`/`Update`, the response should be the resource.  For other
        # methods, the response should have the type `XxxResponse`, where `Xxx`
        # is the original method name.  For example, if the original method name
        # is `TakeSnapshot()`, the inferred response type is
        # `TakeSnapshotResponse`.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
    "name": "A String", # The server-assigned name, which is only unique within the same service that
        # originally returns it. If you use the default HTTP mapping, the
        # `name` should be a resource name ending with `operations/{unique_id}`.
    "metadata": { # Service-specific metadata associated with the operation.  It typically
        # contains progress information and common metadata such as create time.
        # Some services might not provide such metadata.  Any method that returns a
        # long-running operation should document the metadata type, if any.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
  }
get(name, x__xgafv=None)
Returns the specified worker pool.

Args:
  name: string, Name of the worker pool to retrieve.
Format:
`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A worker pool resource in the Remote Build Execution API.
    "autoscale": { # Autoscale defines the autoscaling policy of a worker pool. # The autoscale policy to apply on a pool.
      "minSize": "A String", # The minimal number of workers. Must be greater than 0.
      "maxSize": "A String", # The maximal number of workers. Must be equal to or greater than min_size.
    },
    "state": "A String", # Output only. State of the worker pool.
    "workerConfig": { # Defines the configuration to be used for a creating workers in # Specifies the properties, such as machine type and disk size, used for
        # creating workers in a worker pool.
        # the worker pool.
      "machineType": "A String", # Required. Machine type of the worker, such as `n1-standard-2`.
          # See https://cloud.google.com/compute/docs/machine-types for a list of
          # supported machine types. Note that `f1-micro` and `g1-small` are not yet
          # supported.
      "maxConcurrentActions": "A String", # The maximum number of actions a worker can execute concurrently.
      "accelerator": { # AcceleratorConfig defines the accelerator cards to attach to the VM. # The accelerator card attached to each VM.
        "acceleratorCount": "A String", # The number of guest accelerator cards exposed to each VM.
        "acceleratorType": "A String", # The type of accelerator to attach to each VM, e.g. "nvidia-tesla-k80" for
            # nVidia Tesla K80.
      },
      "reserved": True or False, # Determines whether the worker is reserved (equivalent to a Compute Engine
          # on-demand VM and therefore won't be preempted).
          # See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more
          # details.
      "labels": { # Labels associated with the workers.
          # Label keys and values can be no longer than 63 characters, can only contain
          # lowercase letters, numeric characters, underscores and dashes.
          # International letters are permitted. Label keys must start with a letter.
          # Label values are optional.
          # There can not be more than 64 labels per resource.
        "a_key": "A String",
      },
      "diskType": "A String", # Required. Disk Type to use for the worker.
          # See [Storage
          # options](https://cloud.google.com/compute/docs/disks/#introduction).
          # Currently only `pd-standard` and `pd-ssd` are supported.
      "diskSizeGb": "A String", # Required. Size of the disk attached to the worker, in GB.
          # See https://cloud.google.com/compute/docs/disks/
      "minCpuPlatform": "A String", # Minimum CPU platform to use when creating the worker.
          # See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
      "networkAccess": "A String", # Determines the type of network access granted to workers. Possible values:
          #
          # - "public": Workers can connect to the public internet.
          # - "private": Workers can only connect to Google APIs and services.
          # - "restricted-private": Workers can only connect to Google APIs that are
          #   reachable through `restricted.googleapis.com` (`199.36.153.4/30`).
    },
    "workerCount": "A String", # The desired number of workers in the worker pool. Must be a value between
        # 0 and 15000.
    "name": "A String", # WorkerPool resource name formatted as:
        # `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
        # name should not be populated when creating a worker pool since it is
        # provided in the `poolId` field.
  }
list(parent, x__xgafv=None, filter=None)
Lists worker pools in an instance.

Args:
  parent: string, Resource name of the instance.
Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format
  filter: string, Optional. A filter expression that filters resources listed in
the response. The expression must specify the field name, a comparison
operator, and the value that you want to use for filtering. The value
must be a string, a number, or a boolean. String values are
case-insensitive.
The comparison operator must be either `:`, `=`, `!=`, `>`, `>=`, `<=` or
`<`.
The `:` operator can be used with string fields to match substrings.
For non-string fields it is equivalent to the `=` operator.
The `:*` comparison can be used to test  whether a key has been defined.

You can also filter on nested fields.

To filter on multiple expressions, you can separate expression using
`AND` and `OR` operators, using parentheses to specify precedence. If
neither operator is specified, `AND` is assumed.

Examples:

Include only pools with more than 100 reserved workers:
`(worker_count > 100) (worker_config.reserved = true)`

Include only pools with a certain label or machines of the n1-standard
family:
`worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`

Returns:
  An object of the form:

    {
    "workerPools": [ # The list of worker pools in a given instance.
      { # A worker pool resource in the Remote Build Execution API.
        "autoscale": { # Autoscale defines the autoscaling policy of a worker pool. # The autoscale policy to apply on a pool.
          "minSize": "A String", # The minimal number of workers. Must be greater than 0.
          "maxSize": "A String", # The maximal number of workers. Must be equal to or greater than min_size.
        },
        "state": "A String", # Output only. State of the worker pool.
        "workerConfig": { # Defines the configuration to be used for a creating workers in # Specifies the properties, such as machine type and disk size, used for
            # creating workers in a worker pool.
            # the worker pool.
          "machineType": "A String", # Required. Machine type of the worker, such as `n1-standard-2`.
              # See https://cloud.google.com/compute/docs/machine-types for a list of
              # supported machine types. Note that `f1-micro` and `g1-small` are not yet
              # supported.
          "maxConcurrentActions": "A String", # The maximum number of actions a worker can execute concurrently.
          "accelerator": { # AcceleratorConfig defines the accelerator cards to attach to the VM. # The accelerator card attached to each VM.
            "acceleratorCount": "A String", # The number of guest accelerator cards exposed to each VM.
            "acceleratorType": "A String", # The type of accelerator to attach to each VM, e.g. "nvidia-tesla-k80" for
                # nVidia Tesla K80.
          },
          "reserved": True or False, # Determines whether the worker is reserved (equivalent to a Compute Engine
              # on-demand VM and therefore won't be preempted).
              # See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more
              # details.
          "labels": { # Labels associated with the workers.
              # Label keys and values can be no longer than 63 characters, can only contain
              # lowercase letters, numeric characters, underscores and dashes.
              # International letters are permitted. Label keys must start with a letter.
              # Label values are optional.
              # There can not be more than 64 labels per resource.
            "a_key": "A String",
          },
          "diskType": "A String", # Required. Disk Type to use for the worker.
              # See [Storage
              # options](https://cloud.google.com/compute/docs/disks/#introduction).
              # Currently only `pd-standard` and `pd-ssd` are supported.
          "diskSizeGb": "A String", # Required. Size of the disk attached to the worker, in GB.
              # See https://cloud.google.com/compute/docs/disks/
          "minCpuPlatform": "A String", # Minimum CPU platform to use when creating the worker.
              # See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
          "networkAccess": "A String", # Determines the type of network access granted to workers. Possible values:
              #
              # - "public": Workers can connect to the public internet.
              # - "private": Workers can only connect to Google APIs and services.
              # - "restricted-private": Workers can only connect to Google APIs that are
              #   reachable through `restricted.googleapis.com` (`199.36.153.4/30`).
        },
        "workerCount": "A String", # The desired number of workers in the worker pool. Must be a value between
            # 0 and 15000.
        "name": "A String", # WorkerPool resource name formatted as:
            # `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
            # name should not be populated when creating a worker pool since it is
            # provided in the `poolId` field.
      },
    ],
  }
patch(name, body=None, x__xgafv=None)
Updates an existing worker pool with a specified size and/or configuration.
Returns a long running operation, which contains a worker pool on
completion. While the long running operation is in progress, any call to
`GetWorkerPool` returns a worker pool in state `UPDATING`.

Args:
  name: string, WorkerPool resource name formatted as:
`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
name should not be populated when creating a worker pool since it is
provided in the `poolId` field. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request used for UpdateWorkerPool.
    "updateMask": "A String", # The update mask applies to worker_pool. For the `FieldMask` definition,
        # see
        # https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
        # If an empty update_mask is provided, only the non-default valued field in
        # the worker pool field will be updated. Note that in order to update a field
        # to the default value (zero, false, empty string) an explicit update_mask
        # must be provided.
    "workerPool": { # A worker pool resource in the Remote Build Execution API. # Specifies the worker pool to update.
      "autoscale": { # Autoscale defines the autoscaling policy of a worker pool. # The autoscale policy to apply on a pool.
        "minSize": "A String", # The minimal number of workers. Must be greater than 0.
        "maxSize": "A String", # The maximal number of workers. Must be equal to or greater than min_size.
      },
      "state": "A String", # Output only. State of the worker pool.
      "workerConfig": { # Defines the configuration to be used for a creating workers in # Specifies the properties, such as machine type and disk size, used for
          # creating workers in a worker pool.
          # the worker pool.
        "machineType": "A String", # Required. Machine type of the worker, such as `n1-standard-2`.
            # See https://cloud.google.com/compute/docs/machine-types for a list of
            # supported machine types. Note that `f1-micro` and `g1-small` are not yet
            # supported.
        "maxConcurrentActions": "A String", # The maximum number of actions a worker can execute concurrently.
        "accelerator": { # AcceleratorConfig defines the accelerator cards to attach to the VM. # The accelerator card attached to each VM.
          "acceleratorCount": "A String", # The number of guest accelerator cards exposed to each VM.
          "acceleratorType": "A String", # The type of accelerator to attach to each VM, e.g. "nvidia-tesla-k80" for
              # nVidia Tesla K80.
        },
        "reserved": True or False, # Determines whether the worker is reserved (equivalent to a Compute Engine
            # on-demand VM and therefore won't be preempted).
            # See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more
            # details.
        "labels": { # Labels associated with the workers.
            # Label keys and values can be no longer than 63 characters, can only contain
            # lowercase letters, numeric characters, underscores and dashes.
            # International letters are permitted. Label keys must start with a letter.
            # Label values are optional.
            # There can not be more than 64 labels per resource.
          "a_key": "A String",
        },
        "diskType": "A String", # Required. Disk Type to use for the worker.
            # See [Storage
            # options](https://cloud.google.com/compute/docs/disks/#introduction).
            # Currently only `pd-standard` and `pd-ssd` are supported.
        "diskSizeGb": "A String", # Required. Size of the disk attached to the worker, in GB.
            # See https://cloud.google.com/compute/docs/disks/
        "minCpuPlatform": "A String", # Minimum CPU platform to use when creating the worker.
            # See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
        "networkAccess": "A String", # Determines the type of network access granted to workers. Possible values:
            #
            # - "public": Workers can connect to the public internet.
            # - "private": Workers can only connect to Google APIs and services.
            # - "restricted-private": Workers can only connect to Google APIs that are
            #   reachable through `restricted.googleapis.com` (`199.36.153.4/30`).
      },
      "workerCount": "A String", # The desired number of workers in the worker pool. Must be a value between
          # 0 and 15000.
      "name": "A String", # WorkerPool resource name formatted as:
          # `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
          # name should not be populated when creating a worker pool since it is
          # provided in the `poolId` field.
    },
  }

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

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a
      # network API call.
    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
        # different programming environments, including REST APIs and RPC APIs. It is
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
        # three pieces of data: error code, error message, and error details.
        #
        # You can find out more about this error model and how to work with it in the
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
      "message": "A String", # A developer-facing error message, which should be in English. Any
          # user-facing error message should be localized and sent in the
          # google.rpc.Status.details field, or localized by the client.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details.  There is a common set of
          # message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
    },
    "done": True or False, # If the value is `false`, it means the operation is still in progress.
        # If `true`, the operation is completed, and either `error` or `response` is
        # available.
    "response": { # The normal response of the operation in case of success.  If the original
        # method returns no data on success, such as `Delete`, the response is
        # `google.protobuf.Empty`.  If the original method is standard
        # `Get`/`Create`/`Update`, the response should be the resource.  For other
        # methods, the response should have the type `XxxResponse`, where `Xxx`
        # is the original method name.  For example, if the original method name
        # is `TakeSnapshot()`, the inferred response type is
        # `TakeSnapshotResponse`.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
    "name": "A String", # The server-assigned name, which is only unique within the same service that
        # originally returns it. If you use the default HTTP mapping, the
        # `name` should be a resource name ending with `operations/{unique_id}`.
    "metadata": { # Service-specific metadata associated with the operation.  It typically
        # contains progress information and common metadata such as create time.
        # Some services might not provide such metadata.  Any method that returns a
        # long-running operation should document the metadata type, if any.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
  }