1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. workstations
  5. WorkstationCluster
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

gcp.workstations.WorkstationCluster

Explore with Pulumi AI

gcp logo
Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi

    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.
    WorkstationClusterId string
    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_annotations for all of the annotations present on the resource.
    DisplayName string
    Human-readable name for this resource.
    DomainConfig WorkstationClusterDomainConfig
    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_labels for all of the labels present on the resource.
    Location string
    The location where the workstation cluster should reside.
    PrivateClusterConfig WorkstationClusterPrivateClusterConfig
    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.
    WorkstationClusterId string
    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_annotations for all of the annotations present on the resource.
    DisplayName string
    Human-readable name for this resource.
    DomainConfig WorkstationClusterDomainConfigArgs
    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_labels for all of the labels present on the resource.
    Location string
    The location where the workstation cluster should reside.
    PrivateClusterConfig WorkstationClusterPrivateClusterConfigArgs
    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.
    workstationClusterId String
    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_annotations for all of the annotations present on the resource.
    displayName String
    Human-readable name for this resource.
    domainConfig WorkstationClusterDomainConfig
    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_labels for all of the labels present on the resource.
    location String
    The location where the workstation cluster should reside.
    privateClusterConfig WorkstationClusterPrivateClusterConfig
    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.
    workstationClusterId string
    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_annotations for all of the annotations present on the resource.
    displayName string
    Human-readable name for this resource.
    domainConfig WorkstationClusterDomainConfig
    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_labels for all of the labels present on the resource.
    location string
    The location where the workstation cluster should reside.
    privateClusterConfig WorkstationClusterPrivateClusterConfig
    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_id str
    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_annotations for all of the annotations present on the resource.
    display_name str
    Human-readable name for this resource.
    domain_config WorkstationClusterDomainConfigArgs
    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_labels for all of the labels present on the resource.
    location str
    The location where the workstation cluster should reside.
    private_cluster_config WorkstationClusterPrivateClusterConfigArgs
    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.
    workstationClusterId String
    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_annotations for 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_labels for all of the labels present on the resource.
    location String
    The location where the workstation cluster should reside.
    privateClusterConfig Property Map
    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<WorkstationClusterCondition>
    Status conditions describing the current resource state. Structure is documented below.
    ControlPlaneIp string
    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 []WorkstationClusterCondition
    Status conditions describing the current resource state. Structure is documented below.
    ControlPlaneIp string
    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<WorkstationClusterCondition>
    Status conditions describing the current resource state. Structure is documented below.
    controlPlaneIp String
    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 WorkstationClusterCondition[]
    Status conditions describing the current resource state. Structure is documented below.
    controlPlaneIp string
    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[WorkstationClusterCondition]
    Status conditions describing the current resource state. Structure is documented below.
    control_plane_ip str
    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.
    controlPlaneIp String
    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) -> WorkstationCluster
    func 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)
    Resource lookup is not supported in YAML
    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.
    The following state arguments are supported:
    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_annotations for all of the annotations present on the resource.
    Conditions List<WorkstationClusterCondition>
    Status conditions describing the current resource state. Structure is documented below.
    ControlPlaneIp string
    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 WorkstationClusterDomainConfig
    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_labels for 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}".
    PrivateClusterConfig WorkstationClusterPrivateClusterConfig
    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.
    WorkstationClusterId string
    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_annotations for all of the annotations present on the resource.
    Conditions []WorkstationClusterConditionArgs
    Status conditions describing the current resource state. Structure is documented below.
    ControlPlaneIp string
    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 WorkstationClusterDomainConfigArgs
    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_labels for 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}".
    PrivateClusterConfig WorkstationClusterPrivateClusterConfigArgs
    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.
    WorkstationClusterId string
    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_annotations for all of the annotations present on the resource.
    conditions List<WorkstationClusterCondition>
    Status conditions describing the current resource state. Structure is documented below.
    controlPlaneIp String
    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 WorkstationClusterDomainConfig
    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_labels for 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}".
    privateClusterConfig WorkstationClusterPrivateClusterConfig
    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.
    workstationClusterId String
    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_annotations for all of the annotations present on the resource.
    conditions WorkstationClusterCondition[]
    Status conditions describing the current resource state. Structure is documented below.
    controlPlaneIp string
    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 WorkstationClusterDomainConfig
    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_labels for 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}".
    privateClusterConfig WorkstationClusterPrivateClusterConfig
    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.
    workstationClusterId string
    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_annotations for all of the annotations present on the resource.
    conditions Sequence[WorkstationClusterConditionArgs]
    Status conditions describing the current resource state. Structure is documented below.
    control_plane_ip str
    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 WorkstationClusterDomainConfigArgs
    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_labels for 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_config WorkstationClusterPrivateClusterConfigArgs
    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_id str
    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_annotations for all of the annotations present on the resource.
    conditions List<Property Map>
    Status conditions describing the current resource state. Structure is documented below.
    controlPlaneIp String
    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_labels for 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}".
    privateClusterConfig Property Map
    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.
    workstationClusterId String
    ID to use for the workstation cluster.


    Supporting Types

    WorkstationClusterCondition, WorkstationClusterConditionArgs

    Code int
    (Output) The status code, which should be an enum value of google.rpc.Code.
    Details List<ImmutableDictionary<string, string>>
    (Output) A list of messages that carry the error details.
    Message string
    (Output) Human readable message indicating details about the current status.
    Code int
    (Output) The status code, which should be an enum value of google.rpc.Code.
    Details []map[string]string
    (Output) A list of messages that carry the error details.
    Message string
    (Output) Human readable message indicating details about the current status.
    code Integer
    (Output) The status code, which should be an enum value of google.rpc.Code.
    details List<Map<String,String>>
    (Output) A list of messages that carry the error details.
    message String
    (Output) Human readable message indicating details about the current status.
    code number
    (Output) The status code, which should be an enum value of google.rpc.Code.
    details {[key: string]: string}[]
    (Output) A list of messages that carry the error details.
    message string
    (Output) Human readable message indicating details about the current status.
    code int
    (Output) The status code, which should be an enum value of google.rpc.Code.
    details Sequence[Mapping[str, str]]
    (Output) A list of messages that carry the error details.
    message str
    (Output) Human readable message indicating details about the current status.
    code Number
    (Output) The status code, which should be an enum value of google.rpc.Code.
    details List<Map<String>>
    (Output) A list of messages that carry the error details.
    message String
    (Output) Human readable message indicating details about the current status.

    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

    EnablePrivateEndpoint bool
    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.
    ServiceAttachmentUri string
    (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].
    EnablePrivateEndpoint bool
    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.
    ServiceAttachmentUri string
    (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].
    enablePrivateEndpoint Boolean
    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.
    serviceAttachmentUri String
    (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].
    enablePrivateEndpoint boolean
    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.
    serviceAttachmentUri string
    (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_endpoint bool
    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_uri str
    (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].
    enablePrivateEndpoint Boolean
    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.
    serviceAttachmentUri String
    (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-beta Terraform Provider.
    gcp logo
    Google Cloud Classic v8.9.3 published on Monday, Nov 18, 2024 by Pulumi