REST Resource: projects.locations.workerPools

Resource: WorkerPool

Configuration for a WorkerPool.

Cloud Build owns and maintains a pool of workers for general use and have no access to a project's private network. By default, builds submitted to Cloud Build will use a worker from this pool.

If your build needs access to resources on a private network, create and use a WorkerPool to run your builds. Private WorkerPools give your builds access to any single VPC network that you administer, including any on-prem resources connected to that VPC network. For an overview of private pools, see Private pools overview.

JSON representation
{
  "name": string,
  "displayName": string,
  "uid": string,
  "annotations": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "state": enum (State),
  "etag": string,

  // Union field config can be only one of the following:
  "privatePoolV1Config": {
    object (PrivatePoolV1Config)
  }
  // End of list of possible types for union field config.
}
Fields
name

string

Output only. The resource name of the WorkerPool, with format projects/{project}/locations/{location}/workerPools/{workerPool}. The value of {workerPool} is provided by workerPoolId in workerPools.create request and the value of {location} is determined by the endpoint accessed.

displayName

string

A user-specified, human-readable name for the WorkerPool. If provided, this value must be 1-63 characters.

uid

string

Output only. A unique identifier for the WorkerPool.

annotations

map (key: string, value: string)

User specified annotations. See https://google.aip.dev/128#annotations for more details such as format and size limitations.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Output only. Time at which the request to create the WorkerPool was received.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Output only. Time at which the request to update the WorkerPool was received.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

deleteTime

string (Timestamp format)

Output only. Time at which the request to delete the WorkerPool was received.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

state

enum (State)

Output only. WorkerPool state.

etag

string

Output only. Checksum computed by the server. May be sent on update and delete requests to ensure that the client has an up-to-date value before proceeding.

Union field config. Configuration for the WorkerPool. config can be only one of the following:
privatePoolV1Config

object (PrivatePoolV1Config)

Legacy Private Pool configuration.

State

State of the WorkerPool.

Enums
STATE_UNSPECIFIED State of the WorkerPool is unknown.
CREATING WorkerPool is being created.
RUNNING WorkerPool is running.
DELETING WorkerPool is being deleted: cancelling builds and draining workers.
DELETED WorkerPool is deleted.
UPDATING WorkerPool is being updated; new builds cannot be run.

PrivatePoolV1Config

Configuration for a V1 PrivatePool.

JSON representation
{
  "workerConfig": {
    object (WorkerConfig)
  },
  "networkConfig": {
    object (NetworkConfig)
  }
}
Fields
workerConfig

object (WorkerConfig)

Machine configuration for the workers in the pool.

networkConfig

object (NetworkConfig)

Network configuration for the pool.

WorkerConfig

Defines the configuration to be used for creating workers in the pool.

JSON representation
{
  "machineType": string,
  "diskSizeGb": string
}
Fields
machineType

string

Machine type of a worker, such as e2-medium. See Worker pool config file. If left blank, Cloud Build will use a sensible default.

diskSizeGb

string (int64 format)

Size of the disk attached to the worker, in GB. See Worker pool config file. Specify a value of up to 2000. If 0 is specified, Cloud Build will use a standard disk size.

NetworkConfig

Defines the network configuration for the pool.

JSON representation
{
  "peeredNetwork": string,
  "egressOption": enum (EgressOption),
  "peeredNetworkIpRange": string
}
Fields
peeredNetwork

string

Required. Immutable. The network definition that the workers are peered to. If this section is left empty, the workers will be peered to WorkerPool.project_id on the service producer network. Must be in the format projects/{project}/global/networks/{network}, where {project} is a project number, such as 12345, and {network} is the name of a VPC network in the project. See Understanding network configuration options

egressOption

enum (EgressOption)

Option to configure network egress for the workers.

peeredNetworkIpRange

string

Immutable. Subnet IP range within the peered network. This is specified in CIDR notation with a slash and the subnet prefix size. You can optionally specify an IP address before the subnet prefix value. e.g. 192.168.0.0/29 would specify an IP range starting at 192.168.0.0 with a prefix size of 29 bits. /16 would specify a prefix size of 16 bits, with an automatically determined IP within the peered VPC. If unspecified, a value of /24 will be used.

EgressOption

Defines the egress option for the pool.

Enums
EGRESS_OPTION_UNSPECIFIED If set, defaults to PUBLIC_EGRESS.
NO_PUBLIC_EGRESS If set, workers are created without any public address, which prevents network egress to public IPs unless a network proxy is configured.
PUBLIC_EGRESS If set, workers are created with a public address which allows for public internet egress.

Methods

create

Creates a WorkerPool.

delete

Deletes a WorkerPool.

get

Returns details of a WorkerPool.

list

Lists WorkerPools.

patch

Updates a WorkerPool.