WorkerPool

class WorkerPool : KotlinCustomResource

Definition of custom Cloud Build WorkerPools for running jobs with custom configuration and custom networking.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.cloudbuild.WorkerPool;
import com.pulumi.gcp.cloudbuild.WorkerPoolArgs;
import com.pulumi.gcp.cloudbuild.inputs.WorkerPoolWorkerConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var pool = new WorkerPool("pool", WorkerPoolArgs.builder()
.location("europe-west1")
.workerConfig(WorkerPoolWorkerConfigArgs.builder()
.diskSizeGb(100)
.machineType("e2-standard-4")
.noExternalIp(false)
.build())
.build());
}
}

Network Config

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.projects.Service;
import com.pulumi.gcp.projects.ServiceArgs;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.GlobalAddress;
import com.pulumi.gcp.compute.GlobalAddressArgs;
import com.pulumi.gcp.servicenetworking.Connection;
import com.pulumi.gcp.servicenetworking.ConnectionArgs;
import com.pulumi.gcp.cloudbuild.WorkerPool;
import com.pulumi.gcp.cloudbuild.WorkerPoolArgs;
import com.pulumi.gcp.cloudbuild.inputs.WorkerPoolWorkerConfigArgs;
import com.pulumi.gcp.cloudbuild.inputs.WorkerPoolNetworkConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var servicenetworking = new Service("servicenetworking", ServiceArgs.builder()
.service("servicenetworking.googleapis.com")
.disableOnDestroy(false)
.build());
var network = new Network("network", NetworkArgs.builder()
.autoCreateSubnetworks(false)
.build(), CustomResourceOptions.builder()
.dependsOn(servicenetworking)
.build());
var workerRange = new GlobalAddress("workerRange", GlobalAddressArgs.builder()
.purpose("VPC_PEERING")
.addressType("INTERNAL")
.prefixLength(16)
.network(network.id())
.build());
var workerPoolConn = new Connection("workerPoolConn", ConnectionArgs.builder()
.network(network.id())
.service("servicenetworking.googleapis.com")
.reservedPeeringRanges(workerRange.name())
.build(), CustomResourceOptions.builder()
.dependsOn(servicenetworking)
.build());
var pool = new WorkerPool("pool", WorkerPoolArgs.builder()
.location("europe-west1")
.workerConfig(WorkerPoolWorkerConfigArgs.builder()
.diskSizeGb(100)
.machineType("e2-standard-4")
.noExternalIp(false)
.build())
.networkConfig(WorkerPoolNetworkConfigArgs.builder()
.peeredNetwork(network.id())
.peeredNetworkIpRange("/29")
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(workerPoolConn)
.build());
}
}

Import

WorkerPool can be imported using any of these accepted formats

$ pulumi import gcp:cloudbuild/workerPool:WorkerPool default projects/{{project}}/locations/{{location}}/workerPools/{{name}}
$ pulumi import gcp:cloudbuild/workerPool:WorkerPool default {{project}}/{{location}}/{{name}}
$ pulumi import gcp:cloudbuild/workerPool:WorkerPool default {{location}}/{{name}}

Properties

Link copied to clipboard
val annotations: Output<Map<String, String>>?

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

Link copied to clipboard
val createTime: Output<String>

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

Link copied to clipboard
val deleteTime: Output<String>

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

Link copied to clipboard
val displayName: Output<String>?

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

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val location: Output<String>

The location for the resource

Link copied to clipboard
val name: Output<String>

User-defined name of the WorkerPool.

Link copied to clipboard

Network configuration for the WorkerPool. Structure is documented below.

Link copied to clipboard
val project: Output<String>

The project for the resource

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val state: Output<String>

Output only. WorkerPool state. Possible values: STATE_UNSPECIFIED, PENDING, APPROVED, REJECTED, CANCELLED

Link copied to clipboard
val uid: Output<String>

Output only. A unique identifier for the WorkerPool.

Link copied to clipboard
val updateTime: Output<String>

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

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

Configuration to be used for a creating workers in the WorkerPool. Structure is documented below.