WorkstationArgs

data class WorkstationArgs(val annotations: Output<Map<String, String>>? = null, val displayName: Output<String>? = null, val env: Output<Map<String, String>>? = null, val labels: Output<Map<String, String>>? = null, val location: Output<String>? = null, val project: Output<String>? = null, val workstationClusterId: Output<String>? = null, val workstationConfigId: Output<String>? = null, val workstationId: Output<String>? = null) : ConvertibleToJava<WorkstationArgs>

Example Usage

Workstation Basic

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.Network;
import com.pulumi.gcp.compute.NetworkArgs;
import com.pulumi.gcp.compute.Subnetwork;
import com.pulumi.gcp.compute.SubnetworkArgs;
import com.pulumi.gcp.workstations.WorkstationCluster;
import com.pulumi.gcp.workstations.WorkstationClusterArgs;
import com.pulumi.gcp.workstations.WorkstationConfig;
import com.pulumi.gcp.workstations.WorkstationConfigArgs;
import com.pulumi.gcp.workstations.inputs.WorkstationConfigHostArgs;
import com.pulumi.gcp.workstations.inputs.WorkstationConfigHostGceInstanceArgs;
import com.pulumi.gcp.workstations.Workstation;
import com.pulumi.gcp.workstations.WorkstationArgs;
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 defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.autoCreateSubnetworks(false)
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultSubnetwork = new Subnetwork("defaultSubnetwork", SubnetworkArgs.builder()
.ipCidrRange("10.0.0.0/24")
.region("us-central1")
.network(defaultNetwork.name())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultWorkstationCluster = new WorkstationCluster("defaultWorkstationCluster", WorkstationClusterArgs.builder()
.workstationClusterId("workstation-cluster")
.network(defaultNetwork.id())
.subnetwork(defaultSubnetwork.id())
.location("us-central1")
.labels(Map.of("label", "key"))
.annotations(Map.of("label-one", "value-one"))
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultWorkstationConfig = new WorkstationConfig("defaultWorkstationConfig", WorkstationConfigArgs.builder()
.workstationConfigId("workstation-config")
.workstationClusterId(defaultWorkstationCluster.workstationClusterId())
.location("us-central1")
.host(WorkstationConfigHostArgs.builder()
.gceInstance(WorkstationConfigHostGceInstanceArgs.builder()
.machineType("e2-standard-4")
.bootDiskSizeGb(35)
.disablePublicIpAddresses(true)
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var defaultWorkstation = new Workstation("defaultWorkstation", WorkstationArgs.builder()
.workstationId("work-station")
.workstationConfigId(defaultWorkstationConfig.workstationConfigId())
.workstationClusterId(defaultWorkstationCluster.workstationClusterId())
.location("us-central1")
.labels(Map.of("label", "key"))
.env(Map.of("name", "foo"))
.annotations(Map.of("label-one", "value-one"))
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Import

Workstation can be imported using any of these accepted formats

$ pulumi import gcp:workstations/workstation:Workstation default projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}}
$ pulumi import gcp:workstations/workstation:Workstation default {{project}}/{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}}
$ pulumi import gcp:workstations/workstation:Workstation default {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}}

Constructors

Link copied to clipboard
constructor(annotations: Output<Map<String, String>>? = null, displayName: Output<String>? = null, env: Output<Map<String, String>>? = null, labels: Output<Map<String, String>>? = null, location: Output<String>? = null, project: Output<String>? = null, workstationClusterId: Output<String>? = null, workstationConfigId: Output<String>? = null, workstationId: Output<String>? = null)

Properties

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

Client-specified annotations. This is distinct from labels.

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

Human-readable name for this resource.

Link copied to clipboard
val env: Output<Map<String, String>>? = null

'Client-specified environment variables passed to the workstation container's entrypoint.'

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

Client-specified labels that are applied to the resource and that are also propagated to the underlying Compute Engine resources.

Link copied to clipboard
val location: Output<String>? = null

The location where the workstation parent resources reside.

Link copied to clipboard
val project: Output<String>? = null

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Link copied to clipboard
val workstationClusterId: Output<String>? = null

The ID of the parent workstation cluster.

Link copied to clipboard
val workstationConfigId: Output<String>? = null

The ID of the parent workstation cluster config.

Link copied to clipboard
val workstationId: Output<String>? = null

ID to use for the workstation.

Functions

Link copied to clipboard
open override fun toJava(): WorkstationArgs