create(parent, body=None, x__xgafv=None)
Creates a new worker pool with a specified size and configuration.
Deletes the specified worker pool.
Returns the specified worker pool.
list(parent, filter=None, x__xgafv=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.
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`.
"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.
"parent": "A String", # Resource name of the instance in which to create the new worker pool.
# Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
"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.
"maxSize": "A String", # The maximal number of workers. Must be equal to or greater than min_size.
"minSize": "A String", # The minimal number of workers. Must be greater than 0.
},
"state": "A String", # Output only. State of the worker pool.
"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.
"workerCount": "A String", # The desired number of workers in the worker pool. Must be a value between
# 0 and 15000.
"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.
"minCpuPlatform": "A String", # Minimum CPU platform to use when creating the worker.
# See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
"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.
},
"maxConcurrentActions": "A String", # The maximum number of actions a worker can execute concurrently.
"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",
},
"vmImage": "A String", # Output only. The name of the image used by each VM.
"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.
"diskSizeGb": "A String", # Required. Size of the disk attached to the worker, in GB.
# See https://cloud.google.com/compute/docs/disks/
"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`).
"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.
"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.
},
"channel": "A String", # Channel specifies the release channel of 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 resource represents a long-running operation that is the result of a
# network API call.
"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}`.
"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).
"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.
},
],
"code": 42, # The status code, which should be an enum value of google.rpc.Code.
"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.
},
"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.
},
"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.
},
}
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.
"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}`.
"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).
"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.
},
],
"code": 42, # The status code, which should be an enum value of google.rpc.Code.
"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.
},
"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.
},
"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.
},
}
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.
"maxSize": "A String", # The maximal number of workers. Must be equal to or greater than min_size.
"minSize": "A String", # The minimal number of workers. Must be greater than 0.
},
"state": "A String", # Output only. State of the worker pool.
"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.
"workerCount": "A String", # The desired number of workers in the worker pool. Must be a value between
# 0 and 15000.
"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.
"minCpuPlatform": "A String", # Minimum CPU platform to use when creating the worker.
# See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
"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.
},
"maxConcurrentActions": "A String", # The maximum number of actions a worker can execute concurrently.
"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",
},
"vmImage": "A String", # Output only. The name of the image used by each VM.
"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.
"diskSizeGb": "A String", # Required. Size of the disk attached to the worker, in GB.
# See https://cloud.google.com/compute/docs/disks/
"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`).
"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.
"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.
},
"channel": "A String", # Channel specifies the release channel of the pool.
}
list(parent, filter=None, x__xgafv=None)
Lists worker pools in an instance.
Args:
parent: string, Resource name of the instance.
Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. (required)
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`
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
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.
"maxSize": "A String", # The maximal number of workers. Must be equal to or greater than min_size.
"minSize": "A String", # The minimal number of workers. Must be greater than 0.
},
"state": "A String", # Output only. State of the worker pool.
"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.
"workerCount": "A String", # The desired number of workers in the worker pool. Must be a value between
# 0 and 15000.
"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.
"minCpuPlatform": "A String", # Minimum CPU platform to use when creating the worker.
# See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
"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.
},
"maxConcurrentActions": "A String", # The maximum number of actions a worker can execute concurrently.
"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",
},
"vmImage": "A String", # Output only. The name of the image used by each VM.
"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.
"diskSizeGb": "A String", # Required. Size of the disk attached to the worker, in GB.
# See https://cloud.google.com/compute/docs/disks/
"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`).
"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.
"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.
},
"channel": "A String", # Channel specifies the release channel of the pool.
},
],
}
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.
"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.
"maxSize": "A String", # The maximal number of workers. Must be equal to or greater than min_size.
"minSize": "A String", # The minimal number of workers. Must be greater than 0.
},
"state": "A String", # Output only. State of the worker pool.
"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.
"workerCount": "A String", # The desired number of workers in the worker pool. Must be a value between
# 0 and 15000.
"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.
"minCpuPlatform": "A String", # Minimum CPU platform to use when creating the worker.
# See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
"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.
},
"maxConcurrentActions": "A String", # The maximum number of actions a worker can execute concurrently.
"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",
},
"vmImage": "A String", # Output only. The name of the image used by each VM.
"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.
"diskSizeGb": "A String", # Required. Size of the disk attached to the worker, in GB.
# See https://cloud.google.com/compute/docs/disks/
"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`).
"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.
"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.
},
"channel": "A String", # Channel specifies the release channel of the pool.
},
"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.
}
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.
"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}`.
"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).
"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.
},
],
"code": 42, # The status code, which should be an enum value of google.rpc.Code.
"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.
},
"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.
},
"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.
},
}