gcp.workstations.WorkstationCluster
Explore with Pulumi AI
Example Usage
Workstation Cluster Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const defaultNetwork = 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: defaultNetwork.name,
});
const _default = new gcp.workstations.WorkstationCluster("default", {
    workstationClusterId: "workstation-cluster",
    network: defaultNetwork.id,
    subnetwork: defaultSubnetwork.id,
    location: "us-central1",
    labels: {
        label: "key",
    },
    annotations: {
        "label-one": "value-one",
    },
});
const project = gcp.organizations.getProject({});
import pulumi
import pulumi_gcp as gcp
default_network = 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_network.name)
default = gcp.workstations.WorkstationCluster("default",
    workstation_cluster_id="workstation-cluster",
    network=default_network.id,
    subnetwork=default_subnetwork.id,
    location="us-central1",
    labels={
        "label": "key",
    },
    annotations={
        "label-one": "value-one",
    })
project = gcp.organizations.get_project()
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workstations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultNetwork, 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:     defaultNetwork.Name,
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              defaultNetwork.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
		}
		_, err = organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var defaultNetwork = 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 = defaultNetwork.Name,
    });
    var @default = new Gcp.Workstations.WorkstationCluster("default", new()
    {
        WorkstationClusterId = "workstation-cluster",
        Network = defaultNetwork.Id,
        Subnetwork = defaultSubnetwork.Id,
        Location = "us-central1",
        Labels = 
        {
            { "label", "key" },
        },
        Annotations = 
        {
            { "label-one", "value-one" },
        },
    });
    var project = Gcp.Organizations.GetProject.Invoke();
});
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.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
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()
            .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(defaultNetwork.name())
            .build());
        var default_ = new WorkstationCluster("default", 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());
        final var project = OrganizationsFunctions.getProject();
    }
}
resources:
  default:
    type: gcp:workstations:WorkstationCluster
    properties:
      workstationClusterId: workstation-cluster
      network: ${defaultNetwork.id}
      subnetwork: ${defaultSubnetwork.id}
      location: us-central1
      labels:
        label: key
      annotations:
        label-one: value-one
  defaultNetwork:
    type: gcp:compute:Network
    name: default
    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: ${defaultNetwork.name}
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Workstation Cluster Private
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const defaultNetwork = new gcp.compute.Network("default", {
    name: "workstation-cluster-private",
    autoCreateSubnetworks: false,
});
const defaultSubnetwork = new gcp.compute.Subnetwork("default", {
    name: "workstation-cluster-private",
    ipCidrRange: "10.0.0.0/24",
    region: "us-central1",
    network: defaultNetwork.name,
});
const _default = new gcp.workstations.WorkstationCluster("default", {
    workstationClusterId: "workstation-cluster-private",
    network: defaultNetwork.id,
    subnetwork: defaultSubnetwork.id,
    location: "us-central1",
    privateClusterConfig: {
        enablePrivateEndpoint: true,
    },
    labels: {
        label: "key",
    },
    annotations: {
        "label-one": "value-one",
    },
});
const project = gcp.organizations.getProject({});
import pulumi
import pulumi_gcp as gcp
default_network = gcp.compute.Network("default",
    name="workstation-cluster-private",
    auto_create_subnetworks=False)
default_subnetwork = gcp.compute.Subnetwork("default",
    name="workstation-cluster-private",
    ip_cidr_range="10.0.0.0/24",
    region="us-central1",
    network=default_network.name)
default = gcp.workstations.WorkstationCluster("default",
    workstation_cluster_id="workstation-cluster-private",
    network=default_network.id,
    subnetwork=default_subnetwork.id,
    location="us-central1",
    private_cluster_config={
        "enable_private_endpoint": True,
    },
    labels={
        "label": "key",
    },
    annotations={
        "label-one": "value-one",
    })
project = gcp.organizations.get_project()
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workstations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultNetwork, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster-private"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster-private"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster-private"),
			Network:              defaultNetwork.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			PrivateClusterConfig: &workstations.WorkstationClusterPrivateClusterConfigArgs{
				EnablePrivateEndpoint: pulumi.Bool(true),
			},
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		_, err = organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var defaultNetwork = new Gcp.Compute.Network("default", new()
    {
        Name = "workstation-cluster-private",
        AutoCreateSubnetworks = false,
    });
    var defaultSubnetwork = new Gcp.Compute.Subnetwork("default", new()
    {
        Name = "workstation-cluster-private",
        IpCidrRange = "10.0.0.0/24",
        Region = "us-central1",
        Network = defaultNetwork.Name,
    });
    var @default = new Gcp.Workstations.WorkstationCluster("default", new()
    {
        WorkstationClusterId = "workstation-cluster-private",
        Network = defaultNetwork.Id,
        Subnetwork = defaultSubnetwork.Id,
        Location = "us-central1",
        PrivateClusterConfig = new Gcp.Workstations.Inputs.WorkstationClusterPrivateClusterConfigArgs
        {
            EnablePrivateEndpoint = true,
        },
        Labels = 
        {
            { "label", "key" },
        },
        Annotations = 
        {
            { "label-one", "value-one" },
        },
    });
    var project = Gcp.Organizations.GetProject.Invoke();
});
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.inputs.WorkstationClusterPrivateClusterConfigArgs;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
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()
            .name("workstation-cluster-private")
            .autoCreateSubnetworks(false)
            .build());
        var defaultSubnetwork = new Subnetwork("defaultSubnetwork", SubnetworkArgs.builder()
            .name("workstation-cluster-private")
            .ipCidrRange("10.0.0.0/24")
            .region("us-central1")
            .network(defaultNetwork.name())
            .build());
        var default_ = new WorkstationCluster("default", WorkstationClusterArgs.builder()
            .workstationClusterId("workstation-cluster-private")
            .network(defaultNetwork.id())
            .subnetwork(defaultSubnetwork.id())
            .location("us-central1")
            .privateClusterConfig(WorkstationClusterPrivateClusterConfigArgs.builder()
                .enablePrivateEndpoint(true)
                .build())
            .labels(Map.of("label", "key"))
            .annotations(Map.of("label-one", "value-one"))
            .build());
        final var project = OrganizationsFunctions.getProject();
    }
}
resources:
  default:
    type: gcp:workstations:WorkstationCluster
    properties:
      workstationClusterId: workstation-cluster-private
      network: ${defaultNetwork.id}
      subnetwork: ${defaultSubnetwork.id}
      location: us-central1
      privateClusterConfig:
        enablePrivateEndpoint: true
      labels:
        label: key
      annotations:
        label-one: value-one
  defaultNetwork:
    type: gcp:compute:Network
    name: default
    properties:
      name: workstation-cluster-private
      autoCreateSubnetworks: false
  defaultSubnetwork:
    type: gcp:compute:Subnetwork
    name: default
    properties:
      name: workstation-cluster-private
      ipCidrRange: 10.0.0.0/24
      region: us-central1
      network: ${defaultNetwork.name}
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Workstation Cluster Custom Domain
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const defaultNetwork = new gcp.compute.Network("default", {
    name: "workstation-cluster-custom-domain",
    autoCreateSubnetworks: false,
});
const defaultSubnetwork = new gcp.compute.Subnetwork("default", {
    name: "workstation-cluster-custom-domain",
    ipCidrRange: "10.0.0.0/24",
    region: "us-central1",
    network: defaultNetwork.name,
});
const _default = new gcp.workstations.WorkstationCluster("default", {
    workstationClusterId: "workstation-cluster-custom-domain",
    network: defaultNetwork.id,
    subnetwork: defaultSubnetwork.id,
    location: "us-central1",
    privateClusterConfig: {
        enablePrivateEndpoint: true,
    },
    domainConfig: {
        domain: "workstations.example.com",
    },
    labels: {
        label: "key",
    },
    annotations: {
        "label-one": "value-one",
    },
});
const project = gcp.organizations.getProject({});
import pulumi
import pulumi_gcp as gcp
default_network = gcp.compute.Network("default",
    name="workstation-cluster-custom-domain",
    auto_create_subnetworks=False)
default_subnetwork = gcp.compute.Subnetwork("default",
    name="workstation-cluster-custom-domain",
    ip_cidr_range="10.0.0.0/24",
    region="us-central1",
    network=default_network.name)
default = gcp.workstations.WorkstationCluster("default",
    workstation_cluster_id="workstation-cluster-custom-domain",
    network=default_network.id,
    subnetwork=default_subnetwork.id,
    location="us-central1",
    private_cluster_config={
        "enable_private_endpoint": True,
    },
    domain_config={
        "domain": "workstations.example.com",
    },
    labels={
        "label": "key",
    },
    annotations={
        "label-one": "value-one",
    })
project = gcp.organizations.get_project()
package main
import (
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/workstations"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultNetwork, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster-custom-domain"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster-custom-domain"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster-custom-domain"),
			Network:              defaultNetwork.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			PrivateClusterConfig: &workstations.WorkstationClusterPrivateClusterConfigArgs{
				EnablePrivateEndpoint: pulumi.Bool(true),
			},
			DomainConfig: &workstations.WorkstationClusterDomainConfigArgs{
				Domain: pulumi.String("workstations.example.com"),
			},
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		_, err = organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() => 
{
    var defaultNetwork = new Gcp.Compute.Network("default", new()
    {
        Name = "workstation-cluster-custom-domain",
        AutoCreateSubnetworks = false,
    });
    var defaultSubnetwork = new Gcp.Compute.Subnetwork("default", new()
    {
        Name = "workstation-cluster-custom-domain",
        IpCidrRange = "10.0.0.0/24",
        Region = "us-central1",
        Network = defaultNetwork.Name,
    });
    var @default = new Gcp.Workstations.WorkstationCluster("default", new()
    {
        WorkstationClusterId = "workstation-cluster-custom-domain",
        Network = defaultNetwork.Id,
        Subnetwork = defaultSubnetwork.Id,
        Location = "us-central1",
        PrivateClusterConfig = new Gcp.Workstations.Inputs.WorkstationClusterPrivateClusterConfigArgs
        {
            EnablePrivateEndpoint = true,
        },
        DomainConfig = new Gcp.Workstations.Inputs.WorkstationClusterDomainConfigArgs
        {
            Domain = "workstations.example.com",
        },
        Labels = 
        {
            { "label", "key" },
        },
        Annotations = 
        {
            { "label-one", "value-one" },
        },
    });
    var project = Gcp.Organizations.GetProject.Invoke();
});
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.inputs.WorkstationClusterPrivateClusterConfigArgs;
import com.pulumi.gcp.workstations.inputs.WorkstationClusterDomainConfigArgs;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
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()
            .name("workstation-cluster-custom-domain")
            .autoCreateSubnetworks(false)
            .build());
        var defaultSubnetwork = new Subnetwork("defaultSubnetwork", SubnetworkArgs.builder()
            .name("workstation-cluster-custom-domain")
            .ipCidrRange("10.0.0.0/24")
            .region("us-central1")
            .network(defaultNetwork.name())
            .build());
        var default_ = new WorkstationCluster("default", WorkstationClusterArgs.builder()
            .workstationClusterId("workstation-cluster-custom-domain")
            .network(defaultNetwork.id())
            .subnetwork(defaultSubnetwork.id())
            .location("us-central1")
            .privateClusterConfig(WorkstationClusterPrivateClusterConfigArgs.builder()
                .enablePrivateEndpoint(true)
                .build())
            .domainConfig(WorkstationClusterDomainConfigArgs.builder()
                .domain("workstations.example.com")
                .build())
            .labels(Map.of("label", "key"))
            .annotations(Map.of("label-one", "value-one"))
            .build());
        final var project = OrganizationsFunctions.getProject();
    }
}
resources:
  default:
    type: gcp:workstations:WorkstationCluster
    properties:
      workstationClusterId: workstation-cluster-custom-domain
      network: ${defaultNetwork.id}
      subnetwork: ${defaultSubnetwork.id}
      location: us-central1
      privateClusterConfig:
        enablePrivateEndpoint: true
      domainConfig:
        domain: workstations.example.com
      labels:
        label: key
      annotations:
        label-one: value-one
  defaultNetwork:
    type: gcp:compute:Network
    name: default
    properties:
      name: workstation-cluster-custom-domain
      autoCreateSubnetworks: false
  defaultSubnetwork:
    type: gcp:compute:Subnetwork
    name: default
    properties:
      name: workstation-cluster-custom-domain
      ipCidrRange: 10.0.0.0/24
      region: us-central1
      network: ${defaultNetwork.name}
variables:
  project:
    fn::invoke:
      function: gcp:organizations:getProject
      arguments: {}
Create WorkstationCluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new WorkstationCluster(name: string, args: WorkstationClusterArgs, opts?: CustomResourceOptions);@overload
def WorkstationCluster(resource_name: str,
                       args: WorkstationClusterArgs,
                       opts: Optional[ResourceOptions] = None)
@overload
def WorkstationCluster(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       network: Optional[str] = None,
                       subnetwork: Optional[str] = None,
                       workstation_cluster_id: Optional[str] = None,
                       annotations: Optional[Mapping[str, str]] = None,
                       display_name: Optional[str] = None,
                       domain_config: Optional[WorkstationClusterDomainConfigArgs] = None,
                       labels: Optional[Mapping[str, str]] = None,
                       location: Optional[str] = None,
                       private_cluster_config: Optional[WorkstationClusterPrivateClusterConfigArgs] = None,
                       project: Optional[str] = None)func NewWorkstationCluster(ctx *Context, name string, args WorkstationClusterArgs, opts ...ResourceOption) (*WorkstationCluster, error)public WorkstationCluster(string name, WorkstationClusterArgs args, CustomResourceOptions? opts = null)
public WorkstationCluster(String name, WorkstationClusterArgs args)
public WorkstationCluster(String name, WorkstationClusterArgs args, CustomResourceOptions options)
type: gcp:workstations:WorkstationCluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args WorkstationClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args WorkstationClusterArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args WorkstationClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args WorkstationClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args WorkstationClusterArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var workstationClusterResource = new Gcp.Workstations.WorkstationCluster("workstationClusterResource", new()
{
    Network = "string",
    Subnetwork = "string",
    WorkstationClusterId = "string",
    Annotations = 
    {
        { "string", "string" },
    },
    DisplayName = "string",
    DomainConfig = new Gcp.Workstations.Inputs.WorkstationClusterDomainConfigArgs
    {
        Domain = "string",
    },
    Labels = 
    {
        { "string", "string" },
    },
    Location = "string",
    PrivateClusterConfig = new Gcp.Workstations.Inputs.WorkstationClusterPrivateClusterConfigArgs
    {
        EnablePrivateEndpoint = false,
        AllowedProjects = new[]
        {
            "string",
        },
        ClusterHostname = "string",
        ServiceAttachmentUri = "string",
    },
    Project = "string",
});
example, err := workstations.NewWorkstationCluster(ctx, "workstationClusterResource", &workstations.WorkstationClusterArgs{
	Network:              pulumi.String("string"),
	Subnetwork:           pulumi.String("string"),
	WorkstationClusterId: pulumi.String("string"),
	Annotations: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	DisplayName: pulumi.String("string"),
	DomainConfig: &workstations.WorkstationClusterDomainConfigArgs{
		Domain: pulumi.String("string"),
	},
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Location: pulumi.String("string"),
	PrivateClusterConfig: &workstations.WorkstationClusterPrivateClusterConfigArgs{
		EnablePrivateEndpoint: pulumi.Bool(false),
		AllowedProjects: pulumi.StringArray{
			pulumi.String("string"),
		},
		ClusterHostname:      pulumi.String("string"),
		ServiceAttachmentUri: pulumi.String("string"),
	},
	Project: pulumi.String("string"),
})
var workstationClusterResource = new WorkstationCluster("workstationClusterResource", WorkstationClusterArgs.builder()
    .network("string")
    .subnetwork("string")
    .workstationClusterId("string")
    .annotations(Map.of("string", "string"))
    .displayName("string")
    .domainConfig(WorkstationClusterDomainConfigArgs.builder()
        .domain("string")
        .build())
    .labels(Map.of("string", "string"))
    .location("string")
    .privateClusterConfig(WorkstationClusterPrivateClusterConfigArgs.builder()
        .enablePrivateEndpoint(false)
        .allowedProjects("string")
        .clusterHostname("string")
        .serviceAttachmentUri("string")
        .build())
    .project("string")
    .build());
workstation_cluster_resource = gcp.workstations.WorkstationCluster("workstationClusterResource",
    network="string",
    subnetwork="string",
    workstation_cluster_id="string",
    annotations={
        "string": "string",
    },
    display_name="string",
    domain_config={
        "domain": "string",
    },
    labels={
        "string": "string",
    },
    location="string",
    private_cluster_config={
        "enable_private_endpoint": False,
        "allowed_projects": ["string"],
        "cluster_hostname": "string",
        "service_attachment_uri": "string",
    },
    project="string")
const workstationClusterResource = new gcp.workstations.WorkstationCluster("workstationClusterResource", {
    network: "string",
    subnetwork: "string",
    workstationClusterId: "string",
    annotations: {
        string: "string",
    },
    displayName: "string",
    domainConfig: {
        domain: "string",
    },
    labels: {
        string: "string",
    },
    location: "string",
    privateClusterConfig: {
        enablePrivateEndpoint: false,
        allowedProjects: ["string"],
        clusterHostname: "string",
        serviceAttachmentUri: "string",
    },
    project: "string",
});
type: gcp:workstations:WorkstationCluster
properties:
    annotations:
        string: string
    displayName: string
    domainConfig:
        domain: string
    labels:
        string: string
    location: string
    network: string
    privateClusterConfig:
        allowedProjects:
            - string
        clusterHostname: string
        enablePrivateEndpoint: false
        serviceAttachmentUri: string
    project: string
    subnetwork: string
    workstationClusterId: string
WorkstationCluster Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The WorkstationCluster resource accepts the following input properties:
- Network string
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- Subnetwork string
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- WorkstationCluster stringId 
- ID to use for the workstation cluster.
- Annotations Dictionary<string, string>
- 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_annotationsfor all of the annotations present on the resource.
- DisplayName string
- Human-readable name for this resource.
- DomainConfig WorkstationCluster Domain Config 
- Configuration options for a custom domain. Structure is documented below.
- Labels Dictionary<string, string>
- 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_labelsfor all of the labels present on the resource.
- Location string
- The location where the workstation cluster should reside.
- PrivateCluster WorkstationConfig Cluster Private Cluster Config 
- Configuration for private cluster. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- Network string
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- Subnetwork string
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- WorkstationCluster stringId 
- ID to use for the workstation cluster.
- Annotations map[string]string
- 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_annotationsfor all of the annotations present on the resource.
- DisplayName string
- Human-readable name for this resource.
- DomainConfig WorkstationCluster Domain Config Args 
- Configuration options for a custom domain. Structure is documented below.
- Labels map[string]string
- 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_labelsfor all of the labels present on the resource.
- Location string
- The location where the workstation cluster should reside.
- PrivateCluster WorkstationConfig Cluster Private Cluster Config Args 
- Configuration for private cluster. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- network String
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- subnetwork String
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- workstationCluster StringId 
- ID to use for the workstation cluster.
- annotations Map<String,String>
- 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_annotationsfor all of the annotations present on the resource.
- displayName String
- Human-readable name for this resource.
- domainConfig WorkstationCluster Domain Config 
- Configuration options for a custom domain. Structure is documented below.
- labels Map<String,String>
- 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_labelsfor all of the labels present on the resource.
- location String
- The location where the workstation cluster should reside.
- privateCluster WorkstationConfig Cluster Private Cluster Config 
- Configuration for private cluster. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- network string
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- subnetwork string
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- workstationCluster stringId 
- ID to use for the workstation cluster.
- annotations {[key: string]: string}
- 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_annotationsfor all of the annotations present on the resource.
- displayName string
- Human-readable name for this resource.
- domainConfig WorkstationCluster Domain Config 
- Configuration options for a custom domain. Structure is documented below.
- labels {[key: string]: string}
- 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_labelsfor all of the labels present on the resource.
- location string
- The location where the workstation cluster should reside.
- privateCluster WorkstationConfig Cluster Private Cluster Config 
- Configuration for private cluster. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- network str
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- subnetwork str
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- workstation_cluster_ strid 
- ID to use for the workstation cluster.
- annotations Mapping[str, str]
- 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_annotationsfor all of the annotations present on the resource.
- display_name str
- Human-readable name for this resource.
- domain_config WorkstationCluster Domain Config Args 
- Configuration options for a custom domain. Structure is documented below.
- labels Mapping[str, str]
- 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_labelsfor all of the labels present on the resource.
- location str
- The location where the workstation cluster should reside.
- private_cluster_ Workstationconfig Cluster Private Cluster Config Args 
- Configuration for private cluster. Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- network String
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- subnetwork String
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- workstationCluster StringId 
- ID to use for the workstation cluster.
- annotations Map<String>
- 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_annotationsfor all of the annotations present on the resource.
- displayName String
- Human-readable name for this resource.
- domainConfig Property Map
- Configuration options for a custom domain. Structure is documented below.
- labels Map<String>
- 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_labelsfor all of the labels present on the resource.
- location String
- The location where the workstation cluster should reside.
- privateCluster Property MapConfig 
- Configuration for private cluster. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
Outputs
All input properties are implicitly available as output properties. Additionally, the WorkstationCluster resource produces the following output properties:
- Conditions
List<WorkstationCluster Condition> 
- Status conditions describing the current resource state. Structure is documented below.
- ControlPlane stringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- CreateTime string
- Time when this resource was created.
- Degraded bool
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- EffectiveAnnotations Dictionary<string, string>
- EffectiveLabels Dictionary<string, string>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- 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.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- The name of the cluster resource.
- PulumiLabels Dictionary<string, string>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- Uid string
- The system-generated UID of the resource.
- Conditions
[]WorkstationCluster Condition 
- Status conditions describing the current resource state. Structure is documented below.
- ControlPlane stringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- CreateTime string
- Time when this resource was created.
- Degraded bool
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- EffectiveAnnotations map[string]string
- EffectiveLabels map[string]string
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- 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.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- The name of the cluster resource.
- PulumiLabels map[string]string
- The combination of labels configured directly on the resource and default labels configured on the provider.
- Uid string
- The system-generated UID of the resource.
- conditions
List<WorkstationCluster Condition> 
- Status conditions describing the current resource state. Structure is documented below.
- controlPlane StringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- createTime String
- Time when this resource was created.
- degraded Boolean
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- effectiveAnnotations Map<String,String>
- effectiveLabels Map<String,String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- 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.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- The name of the cluster resource.
- pulumiLabels Map<String,String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- uid String
- The system-generated UID of the resource.
- conditions
WorkstationCluster Condition[] 
- Status conditions describing the current resource state. Structure is documented below.
- controlPlane stringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- createTime string
- Time when this resource was created.
- degraded boolean
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- effectiveAnnotations {[key: string]: string}
- effectiveLabels {[key: string]: string}
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag string
- 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.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- The name of the cluster resource.
- pulumiLabels {[key: string]: string}
- The combination of labels configured directly on the resource and default labels configured on the provider.
- uid string
- The system-generated UID of the resource.
- conditions
Sequence[WorkstationCluster Condition] 
- Status conditions describing the current resource state. Structure is documented below.
- control_plane_ strip 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- create_time str
- Time when this resource was created.
- degraded bool
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- effective_annotations Mapping[str, str]
- effective_labels Mapping[str, str]
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag str
- 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.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- The name of the cluster resource.
- pulumi_labels Mapping[str, str]
- The combination of labels configured directly on the resource and default labels configured on the provider.
- uid str
- The system-generated UID of the resource.
- conditions List<Property Map>
- Status conditions describing the current resource state. Structure is documented below.
- controlPlane StringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- createTime String
- Time when this resource was created.
- degraded Boolean
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- effectiveAnnotations Map<String>
- effectiveLabels Map<String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- 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.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- The name of the cluster resource.
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- uid String
- The system-generated UID of the resource.
Look up Existing WorkstationCluster Resource
Get an existing WorkstationCluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: WorkstationClusterState, opts?: CustomResourceOptions): WorkstationCluster@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        annotations: Optional[Mapping[str, str]] = None,
        conditions: Optional[Sequence[WorkstationClusterConditionArgs]] = None,
        control_plane_ip: Optional[str] = None,
        create_time: Optional[str] = None,
        degraded: Optional[bool] = None,
        display_name: Optional[str] = None,
        domain_config: Optional[WorkstationClusterDomainConfigArgs] = None,
        effective_annotations: Optional[Mapping[str, str]] = None,
        effective_labels: Optional[Mapping[str, str]] = None,
        etag: Optional[str] = None,
        labels: Optional[Mapping[str, str]] = None,
        location: Optional[str] = None,
        name: Optional[str] = None,
        network: Optional[str] = None,
        private_cluster_config: Optional[WorkstationClusterPrivateClusterConfigArgs] = None,
        project: Optional[str] = None,
        pulumi_labels: Optional[Mapping[str, str]] = None,
        subnetwork: Optional[str] = None,
        uid: Optional[str] = None,
        workstation_cluster_id: Optional[str] = None) -> WorkstationClusterfunc GetWorkstationCluster(ctx *Context, name string, id IDInput, state *WorkstationClusterState, opts ...ResourceOption) (*WorkstationCluster, error)public static WorkstationCluster Get(string name, Input<string> id, WorkstationClusterState? state, CustomResourceOptions? opts = null)public static WorkstationCluster get(String name, Output<String> id, WorkstationClusterState state, CustomResourceOptions options)resources:  _:    type: gcp:workstations:WorkstationCluster    get:      id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Annotations Dictionary<string, string>
- 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_annotationsfor all of the annotations present on the resource.
- Conditions
List<WorkstationCluster Condition> 
- Status conditions describing the current resource state. Structure is documented below.
- ControlPlane stringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- CreateTime string
- Time when this resource was created.
- Degraded bool
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- DisplayName string
- Human-readable name for this resource.
- DomainConfig WorkstationCluster Domain Config 
- Configuration options for a custom domain. Structure is documented below.
- EffectiveAnnotations Dictionary<string, string>
- EffectiveLabels Dictionary<string, string>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- 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.
- Labels Dictionary<string, string>
- 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_labelsfor all of the labels present on the resource.
- Location string
- The location where the workstation cluster should reside.
- Name string
- The name of the cluster resource.
- Network string
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- PrivateCluster WorkstationConfig Cluster Private Cluster Config 
- Configuration for private cluster. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- PulumiLabels Dictionary<string, string>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- Subnetwork string
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- Uid string
- The system-generated UID of the resource.
- WorkstationCluster stringId 
- ID to use for the workstation cluster.
- Annotations map[string]string
- 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_annotationsfor all of the annotations present on the resource.
- Conditions
[]WorkstationCluster Condition Args 
- Status conditions describing the current resource state. Structure is documented below.
- ControlPlane stringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- CreateTime string
- Time when this resource was created.
- Degraded bool
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- DisplayName string
- Human-readable name for this resource.
- DomainConfig WorkstationCluster Domain Config Args 
- Configuration options for a custom domain. Structure is documented below.
- EffectiveAnnotations map[string]string
- EffectiveLabels map[string]string
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- Etag string
- 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.
- Labels map[string]string
- 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_labelsfor all of the labels present on the resource.
- Location string
- The location where the workstation cluster should reside.
- Name string
- The name of the cluster resource.
- Network string
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- PrivateCluster WorkstationConfig Cluster Private Cluster Config Args 
- Configuration for private cluster. Structure is documented below.
- Project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- PulumiLabels map[string]string
- The combination of labels configured directly on the resource and default labels configured on the provider.
- Subnetwork string
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- Uid string
- The system-generated UID of the resource.
- WorkstationCluster stringId 
- ID to use for the workstation cluster.
- annotations Map<String,String>
- 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_annotationsfor all of the annotations present on the resource.
- conditions
List<WorkstationCluster Condition> 
- Status conditions describing the current resource state. Structure is documented below.
- controlPlane StringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- createTime String
- Time when this resource was created.
- degraded Boolean
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- displayName String
- Human-readable name for this resource.
- domainConfig WorkstationCluster Domain Config 
- Configuration options for a custom domain. Structure is documented below.
- effectiveAnnotations Map<String,String>
- effectiveLabels Map<String,String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- 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.
- labels Map<String,String>
- 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_labelsfor all of the labels present on the resource.
- location String
- The location where the workstation cluster should reside.
- name String
- The name of the cluster resource.
- network String
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- privateCluster WorkstationConfig Cluster Private Cluster Config 
- Configuration for private cluster. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumiLabels Map<String,String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- subnetwork String
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- uid String
- The system-generated UID of the resource.
- workstationCluster StringId 
- ID to use for the workstation cluster.
- annotations {[key: string]: string}
- 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_annotationsfor all of the annotations present on the resource.
- conditions
WorkstationCluster Condition[] 
- Status conditions describing the current resource state. Structure is documented below.
- controlPlane stringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- createTime string
- Time when this resource was created.
- degraded boolean
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- displayName string
- Human-readable name for this resource.
- domainConfig WorkstationCluster Domain Config 
- Configuration options for a custom domain. Structure is documented below.
- effectiveAnnotations {[key: string]: string}
- effectiveLabels {[key: string]: string}
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag string
- 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.
- labels {[key: string]: string}
- 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_labelsfor all of the labels present on the resource.
- location string
- The location where the workstation cluster should reside.
- name string
- The name of the cluster resource.
- network string
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- privateCluster WorkstationConfig Cluster Private Cluster Config 
- Configuration for private cluster. Structure is documented below.
- project string
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumiLabels {[key: string]: string}
- The combination of labels configured directly on the resource and default labels configured on the provider.
- subnetwork string
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- uid string
- The system-generated UID of the resource.
- workstationCluster stringId 
- ID to use for the workstation cluster.
- annotations Mapping[str, str]
- 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_annotationsfor all of the annotations present on the resource.
- conditions
Sequence[WorkstationCluster Condition Args] 
- Status conditions describing the current resource state. Structure is documented below.
- control_plane_ strip 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- create_time str
- Time when this resource was created.
- degraded bool
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- display_name str
- Human-readable name for this resource.
- domain_config WorkstationCluster Domain Config Args 
- Configuration options for a custom domain. Structure is documented below.
- effective_annotations Mapping[str, str]
- effective_labels Mapping[str, str]
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag str
- 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.
- labels Mapping[str, str]
- 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_labelsfor all of the labels present on the resource.
- location str
- The location where the workstation cluster should reside.
- name str
- The name of the cluster resource.
- network str
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- private_cluster_ Workstationconfig Cluster Private Cluster Config Args 
- Configuration for private cluster. Structure is documented below.
- project str
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumi_labels Mapping[str, str]
- The combination of labels configured directly on the resource and default labels configured on the provider.
- subnetwork str
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- uid str
- The system-generated UID of the resource.
- workstation_cluster_ strid 
- ID to use for the workstation cluster.
- annotations Map<String>
- 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_annotationsfor all of the annotations present on the resource.
- conditions List<Property Map>
- Status conditions describing the current resource state. Structure is documented below.
- controlPlane StringIp 
- The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
- createTime String
- Time when this resource was created.
- degraded Boolean
- Whether this resource is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in the conditions field.
- displayName String
- Human-readable name for this resource.
- domainConfig Property Map
- Configuration options for a custom domain. Structure is documented below.
- effectiveAnnotations Map<String>
- effectiveLabels Map<String>
- All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
- etag String
- 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.
- labels Map<String>
- 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_labelsfor all of the labels present on the resource.
- location String
- The location where the workstation cluster should reside.
- name String
- The name of the cluster resource.
- network String
- The relative resource name of the VPC network on which the instance can be accessed. It is specified in the following form: "projects/{projectNumber}/global/networks/{network_id}".
- privateCluster Property MapConfig 
- Configuration for private cluster. Structure is documented below.
- project String
- The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
- pulumiLabels Map<String>
- The combination of labels configured directly on the resource and default labels configured on the provider.
- subnetwork String
- Name of the Compute Engine subnetwork in which instances associated with this cluster will be created. Must be part of the subnetwork specified for this cluster.
- uid String
- The system-generated UID of the resource.
- workstationCluster StringId 
- ID to use for the workstation cluster.
Supporting Types
WorkstationClusterCondition, WorkstationClusterConditionArgs      
WorkstationClusterDomainConfig, WorkstationClusterDomainConfigArgs        
- Domain string
- Domain used by Workstations for HTTP ingress.
- Domain string
- Domain used by Workstations for HTTP ingress.
- domain String
- Domain used by Workstations for HTTP ingress.
- domain string
- Domain used by Workstations for HTTP ingress.
- domain str
- Domain used by Workstations for HTTP ingress.
- domain String
- Domain used by Workstations for HTTP ingress.
WorkstationClusterPrivateClusterConfig, WorkstationClusterPrivateClusterConfigArgs          
- EnablePrivate boolEndpoint 
- Whether Workstations endpoint is private.
- AllowedProjects List<string>
- Additional project IDs that are allowed to attach to the workstation cluster's service attachment. By default, the workstation cluster's project and the VPC host project (if different) are allowed.
- ClusterHostname string
- (Output) Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.
- ServiceAttachment stringUri 
- (Output) Service attachment URI for the workstation cluster. The service attachment is created when private endpoint is enabled. To access workstations in the cluster, configure access to the managed service using (Private Service Connect)[https://cloud.google.com/vpc/docs/configure-private-service-connect-services].
- EnablePrivate boolEndpoint 
- Whether Workstations endpoint is private.
- AllowedProjects []string
- Additional project IDs that are allowed to attach to the workstation cluster's service attachment. By default, the workstation cluster's project and the VPC host project (if different) are allowed.
- ClusterHostname string
- (Output) Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.
- ServiceAttachment stringUri 
- (Output) Service attachment URI for the workstation cluster. The service attachment is created when private endpoint is enabled. To access workstations in the cluster, configure access to the managed service using (Private Service Connect)[https://cloud.google.com/vpc/docs/configure-private-service-connect-services].
- enablePrivate BooleanEndpoint 
- Whether Workstations endpoint is private.
- allowedProjects List<String>
- Additional project IDs that are allowed to attach to the workstation cluster's service attachment. By default, the workstation cluster's project and the VPC host project (if different) are allowed.
- clusterHostname String
- (Output) Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.
- serviceAttachment StringUri 
- (Output) Service attachment URI for the workstation cluster. The service attachment is created when private endpoint is enabled. To access workstations in the cluster, configure access to the managed service using (Private Service Connect)[https://cloud.google.com/vpc/docs/configure-private-service-connect-services].
- enablePrivate booleanEndpoint 
- Whether Workstations endpoint is private.
- allowedProjects string[]
- Additional project IDs that are allowed to attach to the workstation cluster's service attachment. By default, the workstation cluster's project and the VPC host project (if different) are allowed.
- clusterHostname string
- (Output) Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.
- serviceAttachment stringUri 
- (Output) Service attachment URI for the workstation cluster. The service attachment is created when private endpoint is enabled. To access workstations in the cluster, configure access to the managed service using (Private Service Connect)[https://cloud.google.com/vpc/docs/configure-private-service-connect-services].
- enable_private_ boolendpoint 
- Whether Workstations endpoint is private.
- allowed_projects Sequence[str]
- Additional project IDs that are allowed to attach to the workstation cluster's service attachment. By default, the workstation cluster's project and the VPC host project (if different) are allowed.
- cluster_hostname str
- (Output) Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.
- service_attachment_ struri 
- (Output) Service attachment URI for the workstation cluster. The service attachment is created when private endpoint is enabled. To access workstations in the cluster, configure access to the managed service using (Private Service Connect)[https://cloud.google.com/vpc/docs/configure-private-service-connect-services].
- enablePrivate BooleanEndpoint 
- Whether Workstations endpoint is private.
- allowedProjects List<String>
- Additional project IDs that are allowed to attach to the workstation cluster's service attachment. By default, the workstation cluster's project and the VPC host project (if different) are allowed.
- clusterHostname String
- (Output) Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the cluster, create a new DNS zone mapping this domain name to an internal IP address and a forwarding rule mapping that address to the service attachment.
- serviceAttachment StringUri 
- (Output) Service attachment URI for the workstation cluster. The service attachment is created when private endpoint is enabled. To access workstations in the cluster, configure access to the managed service using (Private Service Connect)[https://cloud.google.com/vpc/docs/configure-private-service-connect-services].
Import
WorkstationCluster can be imported using any of these accepted formats:
- projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}
- {{project}}/{{location}}/{{workstation_cluster_id}}
- {{location}}/{{workstation_cluster_id}}
When using the pulumi import command, WorkstationCluster can be imported using one of the formats above. For example:
$ pulumi import gcp:workstations/workstationCluster:WorkstationCluster default projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}
$ pulumi import gcp:workstations/workstationCluster:WorkstationCluster default {{project}}/{{location}}/{{workstation_cluster_id}}
$ pulumi import gcp:workstations/workstationCluster:WorkstationCluster default {{location}}/{{workstation_cluster_id}}
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Google Cloud (GCP) Classic pulumi/pulumi-gcp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the google-betaTerraform Provider.