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

import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const _default = new gcp.compute.Network("default", {
name: "workstation-cluster",
autoCreateSubnetworks: false,
});
const defaultSubnetwork = new gcp.compute.Subnetwork("default", {
name: "workstation-cluster",
ipCidrRange: "10.0.0.0/24",
region: "us-central1",
network: _default.name,
});
const defaultWorkstationCluster = new gcp.workstations.WorkstationCluster("default", {
workstationClusterId: "workstation-cluster",
network: _default.id,
subnetwork: defaultSubnetwork.id,
location: "us-central1",
labels: {
label: "key",
},
annotations: {
"label-one": "value-one",
},
});
const defaultWorkstationConfig = new gcp.workstations.WorkstationConfig("default", {
workstationConfigId: "workstation-config",
workstationClusterId: defaultWorkstationCluster.workstationClusterId,
location: "us-central1",
host: {
gceInstance: {
machineType: "e2-standard-4",
bootDiskSizeGb: 35,
disablePublicIpAddresses: true,
},
},
});
const defaultWorkstation = new gcp.workstations.Workstation("default", {
workstationId: "work-station",
workstationConfigId: defaultWorkstationConfig.workstationConfigId,
workstationClusterId: defaultWorkstationCluster.workstationClusterId,
location: "us-central1",
labels: {
label: "key",
},
env: {
name: "foo",
},
annotations: {
"label-one": "value-one",
},
});
import pulumi
import pulumi_gcp as gcp
default = gcp.compute.Network("default",
name="workstation-cluster",
auto_create_subnetworks=False)
default_subnetwork = gcp.compute.Subnetwork("default",
name="workstation-cluster",
ip_cidr_range="10.0.0.0/24",
region="us-central1",
network=default.name)
default_workstation_cluster = gcp.workstations.WorkstationCluster("default",
workstation_cluster_id="workstation-cluster",
network=default.id,
subnetwork=default_subnetwork.id,
location="us-central1",
labels={
"label": "key",
},
annotations={
"label-one": "value-one",
})
default_workstation_config = gcp.workstations.WorkstationConfig("default",
workstation_config_id="workstation-config",
workstation_cluster_id=default_workstation_cluster.workstation_cluster_id,
location="us-central1",
host={
"gce_instance": {
"machine_type": "e2-standard-4",
"boot_disk_size_gb": 35,
"disable_public_ip_addresses": True,
},
})
default_workstation = gcp.workstations.Workstation("default",
workstation_id="work-station",
workstation_config_id=default_workstation_config.workstation_config_id,
workstation_cluster_id=default_workstation_cluster.workstation_cluster_id,
location="us-central1",
labels={
"label": "key",
},
env={
"name": "foo",
},
annotations={
"label-one": "value-one",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var @default = new Gcp.Compute.Network("default", new()
{
Name = "workstation-cluster",
AutoCreateSubnetworks = false,
});
var defaultSubnetwork = new Gcp.Compute.Subnetwork("default", new()
{
Name = "workstation-cluster",
IpCidrRange = "10.0.0.0/24",
Region = "us-central1",
Network = @default.Name,
});
var defaultWorkstationCluster = new Gcp.Workstations.WorkstationCluster("default", new()
{
WorkstationClusterId = "workstation-cluster",
Network = @default.Id,
Subnetwork = defaultSubnetwork.Id,
Location = "us-central1",
Labels =
{
{ "label", "key" },
},
Annotations =
{
{ "label-one", "value-one" },
},
});
var defaultWorkstationConfig = new Gcp.Workstations.WorkstationConfig("default", new()
{
WorkstationConfigId = "workstation-config",
WorkstationClusterId = defaultWorkstationCluster.WorkstationClusterId,
Location = "us-central1",
Host = new Gcp.Workstations.Inputs.WorkstationConfigHostArgs
{
GceInstance = new Gcp.Workstations.Inputs.WorkstationConfigHostGceInstanceArgs
{
MachineType = "e2-standard-4",
BootDiskSizeGb = 35,
DisablePublicIpAddresses = true,
},
},
});
var defaultWorkstation = new Gcp.Workstations.Workstation("default", new()
{
WorkstationId = "work-station",
WorkstationConfigId = defaultWorkstationConfig.WorkstationConfigId,
WorkstationClusterId = defaultWorkstationCluster.WorkstationClusterId,
Location = "us-central1",
Labels =
{
{ "label", "key" },
},
Env =
{
{ "name", "foo" },
},
Annotations =
{
{ "label-one", "value-one" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
Name: pulumi.String("workstation-cluster"),
AutoCreateSubnetworks: pulumi.Bool(false),
})
if err != nil {
return err
}
defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
Name: pulumi.String("workstation-cluster"),
IpCidrRange: pulumi.String("10.0.0.0/24"),
Region: pulumi.String("us-central1"),
Network: _default.Name,
})
if err != nil {
return err
}
defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
WorkstationClusterId: pulumi.String("workstation-cluster"),
Network: _default.ID(),
Subnetwork: defaultSubnetwork.ID(),
Location: pulumi.String("us-central1"),
Labels: pulumi.StringMap{
"label": pulumi.String("key"),
},
Annotations: pulumi.StringMap{
"label-one": pulumi.String("value-one"),
},
})
if err != nil {
return err
}
defaultWorkstationConfig, err := workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
WorkstationConfigId: pulumi.String("workstation-config"),
WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
Location: pulumi.String("us-central1"),
Host: &workstations.WorkstationConfigHostArgs{
GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
MachineType: pulumi.String("e2-standard-4"),
BootDiskSizeGb: pulumi.Int(35),
DisablePublicIpAddresses: pulumi.Bool(true),
},
},
})
if err != nil {
return err
}
_, err = workstations.NewWorkstation(ctx, "default", &workstations.WorkstationArgs{
WorkstationId: pulumi.String("work-station"),
WorkstationConfigId: defaultWorkstationConfig.WorkstationConfigId,
WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
Location: pulumi.String("us-central1"),
Labels: pulumi.StringMap{
"label": pulumi.String("key"),
},
Env: pulumi.StringMap{
"name": pulumi.String("foo"),
},
Annotations: pulumi.StringMap{
"label-one": pulumi.String("value-one"),
},
})
if err != nil {
return err
}
return nil
})
}
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 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 default_ = new Network("default", NetworkArgs.builder()
.name("workstation-cluster")
.autoCreateSubnetworks(false)
.build());
var defaultSubnetwork = new Subnetwork("defaultSubnetwork", SubnetworkArgs.builder()
.name("workstation-cluster")
.ipCidrRange("10.0.0.0/24")
.region("us-central1")
.network(default_.name())
.build());
var defaultWorkstationCluster = new WorkstationCluster("defaultWorkstationCluster", WorkstationClusterArgs.builder()
.workstationClusterId("workstation-cluster")
.network(default_.id())
.subnetwork(defaultSubnetwork.id())
.location("us-central1")
.labels(Map.of("label", "key"))
.annotations(Map.of("label-one", "value-one"))
.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());
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());
}
}
resources:
default:
type: gcp:compute:Network
properties:
name: workstation-cluster
autoCreateSubnetworks: false
defaultSubnetwork:
type: gcp:compute:Subnetwork
name: default
properties:
name: workstation-cluster
ipCidrRange: 10.0.0.0/24
region: us-central1
network: ${default.name}
defaultWorkstationCluster:
type: gcp:workstations:WorkstationCluster
name: default
properties:
workstationClusterId: workstation-cluster
network: ${default.id}
subnetwork: ${defaultSubnetwork.id}
location: us-central1
labels:
label: key
annotations:
label-one: value-one
defaultWorkstationConfig:
type: gcp:workstations:WorkstationConfig
name: default
properties:
workstationConfigId: workstation-config
workstationClusterId: ${defaultWorkstationCluster.workstationClusterId}
location: us-central1
host:
gceInstance:
machineType: e2-standard-4
bootDiskSizeGb: 35
disablePublicIpAddresses: true
defaultWorkstation:
type: gcp:workstations:Workstation
name: default
properties:
workstationId: work-station
workstationConfigId: ${defaultWorkstationConfig.workstationConfigId}
workstationClusterId: ${defaultWorkstationCluster.workstationClusterId}
location: us-central1
labels:
label: key
env:
name: foo
annotations:
label-one: value-one

Import

Workstation can be imported using any of these accepted formats:

  • projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}}

  • {{project}}/{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}}

  • {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}} When using the pulumi import command, Workstation can be imported using one of the formats above. For example:

$ 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. Note: This field is non-authoritative, and will only manage the annotations present in your configuration. Please refer to the field effective_annotations for all of the annotations present on the resource.

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. Note: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field effective_labels for all of the labels present on the resource.

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