workstations

package
v7.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type LookupWorkstationConfigIamPolicyArgs

type LookupWorkstationConfigIamPolicyArgs struct {
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location *string `pulumi:"location"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              *string `pulumi:"project"`
	WorkstationClusterId string  `pulumi:"workstationClusterId"`
	WorkstationConfigId  string  `pulumi:"workstationConfigId"`
}

A collection of arguments for invoking getWorkstationConfigIamPolicy.

type LookupWorkstationConfigIamPolicyOutputArgs

type LookupWorkstationConfigIamPolicyOutputArgs struct {
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput `pulumi:"location"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              pulumi.StringPtrInput `pulumi:"project"`
	WorkstationClusterId pulumi.StringInput    `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringInput    `pulumi:"workstationConfigId"`
}

A collection of arguments for invoking getWorkstationConfigIamPolicy.

func (LookupWorkstationConfigIamPolicyOutputArgs) ElementType

type LookupWorkstationConfigIamPolicyResult

type LookupWorkstationConfigIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	Location string `pulumi:"location"`
	// (Required only by `workstations.WorkstationConfigIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData           string `pulumi:"policyData"`
	Project              string `pulumi:"project"`
	WorkstationClusterId string `pulumi:"workstationClusterId"`
	WorkstationConfigId  string `pulumi:"workstationConfigId"`
}

A collection of values returned by getWorkstationConfigIamPolicy.

type LookupWorkstationConfigIamPolicyResultOutput

type LookupWorkstationConfigIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getWorkstationConfigIamPolicy.

func (LookupWorkstationConfigIamPolicyResultOutput) ElementType

func (LookupWorkstationConfigIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupWorkstationConfigIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupWorkstationConfigIamPolicyResultOutput) Location

func (LookupWorkstationConfigIamPolicyResultOutput) PolicyData

(Required only by `workstations.WorkstationConfigIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupWorkstationConfigIamPolicyResultOutput) Project

func (LookupWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationConfigIamPolicyResultOutput

func (o LookupWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationConfigIamPolicyResultOutput() LookupWorkstationConfigIamPolicyResultOutput

func (LookupWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationConfigIamPolicyResultOutputWithContext

func (o LookupWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationConfigIamPolicyResultOutputWithContext(ctx context.Context) LookupWorkstationConfigIamPolicyResultOutput

func (LookupWorkstationConfigIamPolicyResultOutput) WorkstationClusterId

func (LookupWorkstationConfigIamPolicyResultOutput) WorkstationConfigId

type LookupWorkstationIamPolicyArgs

type LookupWorkstationIamPolicyArgs struct {
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location *string `pulumi:"location"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              *string `pulumi:"project"`
	WorkstationClusterId string  `pulumi:"workstationClusterId"`
	WorkstationConfigId  string  `pulumi:"workstationConfigId"`
	WorkstationId        string  `pulumi:"workstationId"`
}

A collection of arguments for invoking getWorkstationIamPolicy.

type LookupWorkstationIamPolicyOutputArgs

type LookupWorkstationIamPolicyOutputArgs struct {
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput `pulumi:"location"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              pulumi.StringPtrInput `pulumi:"project"`
	WorkstationClusterId pulumi.StringInput    `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringInput    `pulumi:"workstationConfigId"`
	WorkstationId        pulumi.StringInput    `pulumi:"workstationId"`
}

A collection of arguments for invoking getWorkstationIamPolicy.

func (LookupWorkstationIamPolicyOutputArgs) ElementType

type LookupWorkstationIamPolicyResult

type LookupWorkstationIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id       string `pulumi:"id"`
	Location string `pulumi:"location"`
	// (Required only by `workstations.WorkstationIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData           string `pulumi:"policyData"`
	Project              string `pulumi:"project"`
	WorkstationClusterId string `pulumi:"workstationClusterId"`
	WorkstationConfigId  string `pulumi:"workstationConfigId"`
	WorkstationId        string `pulumi:"workstationId"`
}

A collection of values returned by getWorkstationIamPolicy.

type LookupWorkstationIamPolicyResultOutput

type LookupWorkstationIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getWorkstationIamPolicy.

func (LookupWorkstationIamPolicyResultOutput) ElementType

func (LookupWorkstationIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupWorkstationIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupWorkstationIamPolicyResultOutput) Location

func (LookupWorkstationIamPolicyResultOutput) PolicyData

(Required only by `workstations.WorkstationIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupWorkstationIamPolicyResultOutput) Project

func (LookupWorkstationIamPolicyResultOutput) ToLookupWorkstationIamPolicyResultOutput

func (o LookupWorkstationIamPolicyResultOutput) ToLookupWorkstationIamPolicyResultOutput() LookupWorkstationIamPolicyResultOutput

func (LookupWorkstationIamPolicyResultOutput) ToLookupWorkstationIamPolicyResultOutputWithContext

func (o LookupWorkstationIamPolicyResultOutput) ToLookupWorkstationIamPolicyResultOutputWithContext(ctx context.Context) LookupWorkstationIamPolicyResultOutput

func (LookupWorkstationIamPolicyResultOutput) WorkstationClusterId

func (LookupWorkstationIamPolicyResultOutput) WorkstationConfigId

func (LookupWorkstationIamPolicyResultOutput) WorkstationId

type Workstation

type Workstation struct {
	pulumi.CustomResourceState

	// 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 `effectiveAnnotations` for all of the annotations present on the resource.
	Annotations pulumi.StringMapOutput `pulumi:"annotations"`
	// Time when this resource was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
	// Terraform, other clients and services.
	EffectiveAnnotations pulumi.StringMapOutput `pulumi:"effectiveAnnotations"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// 'Client-specified environment variables passed to the workstation container's entrypoint.'
	Env pulumi.StringMapOutput `pulumi:"env"`
	// Host to which clients can send HTTPS traffic that will be received by the workstation.
	// Authorized traffic will be received to the workstation as HTTP on port 80.
	// To send traffic to a different port, clients may prefix the host with the destination port in the format "{port}-{host}".
	Host pulumi.StringOutput `pulumi:"host"`
	// 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 `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The location where the workstation parent resources reside.
	//
	// ***
	Location pulumi.StringOutput `pulumi:"location"`
	// Full name of this resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Current state of the workstation.
	State pulumi.StringOutput `pulumi:"state"`
	// A system-assigned unique identified for this resource.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// The ID of the parent workstation cluster.
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	// The ID of the parent workstation cluster config.
	WorkstationConfigId pulumi.StringOutput `pulumi:"workstationConfigId"`
	// ID to use for the workstation.
	WorkstationId pulumi.StringOutput `pulumi:"workstationId"`
}

## Example Usage

### Workstation Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     _default.Name,
		})
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              _default.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		defaultWorkstationConfig, err := workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			Host: &workstations.WorkstationConfigHostArgs{
				GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
					MachineType:              pulumi.String("e2-standard-4"),
					BootDiskSizeGb:           pulumi.Int(35),
					DisablePublicIpAddresses: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstation(ctx, "default", &workstations.WorkstationArgs{
			WorkstationId:        pulumi.String("work-station"),
			WorkstationConfigId:  defaultWorkstationConfig.WorkstationConfigId,
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Env: pulumi.StringMap{
				"name": pulumi.String("foo"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Workstation can be imported using any of these accepted formats:

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

* `{{project}}/{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}}`

* `{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}}`

When using the `pulumi import` command, Workstation can be imported using one of the formats above. For example:

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

```sh $ pulumi import gcp:workstations/workstation:Workstation default {{project}}/{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}} ```

```sh $ pulumi import gcp:workstations/workstation:Workstation default {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}} ```

func GetWorkstation

func GetWorkstation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationState, opts ...pulumi.ResourceOption) (*Workstation, error)

GetWorkstation gets an existing Workstation resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkstation

func NewWorkstation(ctx *pulumi.Context,
	name string, args *WorkstationArgs, opts ...pulumi.ResourceOption) (*Workstation, error)

NewWorkstation registers a new resource with the given unique name, arguments, and options.

func (*Workstation) ElementType

func (*Workstation) ElementType() reflect.Type

func (*Workstation) ToWorkstationOutput

func (i *Workstation) ToWorkstationOutput() WorkstationOutput

func (*Workstation) ToWorkstationOutputWithContext

func (i *Workstation) ToWorkstationOutputWithContext(ctx context.Context) WorkstationOutput

type WorkstationArgs

type WorkstationArgs struct {
	// 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 `effectiveAnnotations` for all of the annotations present on the resource.
	Annotations pulumi.StringMapInput
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// 'Client-specified environment variables passed to the workstation container's entrypoint.'
	Env pulumi.StringMapInput
	// 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 `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location where the workstation parent resources reside.
	//
	// ***
	Location pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The ID of the parent workstation cluster.
	WorkstationClusterId pulumi.StringInput
	// The ID of the parent workstation cluster config.
	WorkstationConfigId pulumi.StringInput
	// ID to use for the workstation.
	WorkstationId pulumi.StringInput
}

The set of arguments for constructing a Workstation resource.

func (WorkstationArgs) ElementType

func (WorkstationArgs) ElementType() reflect.Type

type WorkstationArray

type WorkstationArray []WorkstationInput

func (WorkstationArray) ElementType

func (WorkstationArray) ElementType() reflect.Type

func (WorkstationArray) ToWorkstationArrayOutput

func (i WorkstationArray) ToWorkstationArrayOutput() WorkstationArrayOutput

func (WorkstationArray) ToWorkstationArrayOutputWithContext

func (i WorkstationArray) ToWorkstationArrayOutputWithContext(ctx context.Context) WorkstationArrayOutput

type WorkstationArrayInput

type WorkstationArrayInput interface {
	pulumi.Input

	ToWorkstationArrayOutput() WorkstationArrayOutput
	ToWorkstationArrayOutputWithContext(context.Context) WorkstationArrayOutput
}

WorkstationArrayInput is an input type that accepts WorkstationArray and WorkstationArrayOutput values. You can construct a concrete instance of `WorkstationArrayInput` via:

WorkstationArray{ WorkstationArgs{...} }

type WorkstationArrayOutput

type WorkstationArrayOutput struct{ *pulumi.OutputState }

func (WorkstationArrayOutput) ElementType

func (WorkstationArrayOutput) ElementType() reflect.Type

func (WorkstationArrayOutput) Index

func (WorkstationArrayOutput) ToWorkstationArrayOutput

func (o WorkstationArrayOutput) ToWorkstationArrayOutput() WorkstationArrayOutput

func (WorkstationArrayOutput) ToWorkstationArrayOutputWithContext

func (o WorkstationArrayOutput) ToWorkstationArrayOutputWithContext(ctx context.Context) WorkstationArrayOutput

type WorkstationCluster

type WorkstationCluster struct {
	pulumi.CustomResourceState

	// 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 `effectiveAnnotations` for all of the annotations present on the resource.
	Annotations pulumi.StringMapOutput `pulumi:"annotations"`
	// Status conditions describing the current resource state.
	// Structure is documented below.
	Conditions WorkstationClusterConditionArrayOutput `pulumi:"conditions"`
	// 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.
	ControlPlaneIp pulumi.StringOutput `pulumi:"controlPlaneIp"`
	// Time when this resource was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// 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.
	Degraded pulumi.BoolOutput `pulumi:"degraded"`
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Configuration options for a custom domain.
	// Structure is documented below.
	DomainConfig WorkstationClusterDomainConfigPtrOutput `pulumi:"domainConfig"`
	// All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
	// Terraform, other clients and services.
	EffectiveAnnotations pulumi.StringMapOutput `pulumi:"effectiveAnnotations"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// 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.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// 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 `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The location where the workstation cluster should reside.
	Location pulumi.StringPtrOutput `pulumi:"location"`
	// The name of the cluster resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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}".
	Network pulumi.StringOutput `pulumi:"network"`
	// Configuration for private cluster.
	// Structure is documented below.
	PrivateClusterConfig WorkstationClusterPrivateClusterConfigPtrOutput `pulumi:"privateClusterConfig"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// 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.
	Subnetwork pulumi.StringOutput `pulumi:"subnetwork"`
	// The system-generated UID of the resource.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// ID to use for the workstation cluster.
	//
	// ***
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
}

## Example Usage

### Workstation Cluster Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		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, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Cluster Private

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		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, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Cluster Custom Domain

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		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, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

## 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:

```sh $ pulumi import gcp:workstations/workstationCluster:WorkstationCluster default projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}} ```

```sh $ pulumi import gcp:workstations/workstationCluster:WorkstationCluster default {{project}}/{{location}}/{{workstation_cluster_id}} ```

```sh $ pulumi import gcp:workstations/workstationCluster:WorkstationCluster default {{location}}/{{workstation_cluster_id}} ```

func GetWorkstationCluster

func GetWorkstationCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationClusterState, opts ...pulumi.ResourceOption) (*WorkstationCluster, error)

GetWorkstationCluster gets an existing WorkstationCluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkstationCluster

func NewWorkstationCluster(ctx *pulumi.Context,
	name string, args *WorkstationClusterArgs, opts ...pulumi.ResourceOption) (*WorkstationCluster, error)

NewWorkstationCluster registers a new resource with the given unique name, arguments, and options.

func (*WorkstationCluster) ElementType

func (*WorkstationCluster) ElementType() reflect.Type

func (*WorkstationCluster) ToWorkstationClusterOutput

func (i *WorkstationCluster) ToWorkstationClusterOutput() WorkstationClusterOutput

func (*WorkstationCluster) ToWorkstationClusterOutputWithContext

func (i *WorkstationCluster) ToWorkstationClusterOutputWithContext(ctx context.Context) WorkstationClusterOutput

type WorkstationClusterArgs

type WorkstationClusterArgs struct {
	// 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 `effectiveAnnotations` for all of the annotations present on the resource.
	Annotations pulumi.StringMapInput
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// Configuration options for a custom domain.
	// Structure is documented below.
	DomainConfig WorkstationClusterDomainConfigPtrInput
	// 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 `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location where the workstation cluster should reside.
	Location pulumi.StringPtrInput
	// 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}".
	Network pulumi.StringInput
	// Configuration for private cluster.
	// Structure is documented below.
	PrivateClusterConfig WorkstationClusterPrivateClusterConfigPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// 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.
	Subnetwork pulumi.StringInput
	// ID to use for the workstation cluster.
	//
	// ***
	WorkstationClusterId pulumi.StringInput
}

The set of arguments for constructing a WorkstationCluster resource.

func (WorkstationClusterArgs) ElementType

func (WorkstationClusterArgs) ElementType() reflect.Type

type WorkstationClusterArray

type WorkstationClusterArray []WorkstationClusterInput

func (WorkstationClusterArray) ElementType

func (WorkstationClusterArray) ElementType() reflect.Type

func (WorkstationClusterArray) ToWorkstationClusterArrayOutput

func (i WorkstationClusterArray) ToWorkstationClusterArrayOutput() WorkstationClusterArrayOutput

func (WorkstationClusterArray) ToWorkstationClusterArrayOutputWithContext

func (i WorkstationClusterArray) ToWorkstationClusterArrayOutputWithContext(ctx context.Context) WorkstationClusterArrayOutput

type WorkstationClusterArrayInput

type WorkstationClusterArrayInput interface {
	pulumi.Input

	ToWorkstationClusterArrayOutput() WorkstationClusterArrayOutput
	ToWorkstationClusterArrayOutputWithContext(context.Context) WorkstationClusterArrayOutput
}

WorkstationClusterArrayInput is an input type that accepts WorkstationClusterArray and WorkstationClusterArrayOutput values. You can construct a concrete instance of `WorkstationClusterArrayInput` via:

WorkstationClusterArray{ WorkstationClusterArgs{...} }

type WorkstationClusterArrayOutput

type WorkstationClusterArrayOutput struct{ *pulumi.OutputState }

func (WorkstationClusterArrayOutput) ElementType

func (WorkstationClusterArrayOutput) Index

func (WorkstationClusterArrayOutput) ToWorkstationClusterArrayOutput

func (o WorkstationClusterArrayOutput) ToWorkstationClusterArrayOutput() WorkstationClusterArrayOutput

func (WorkstationClusterArrayOutput) ToWorkstationClusterArrayOutputWithContext

func (o WorkstationClusterArrayOutput) ToWorkstationClusterArrayOutputWithContext(ctx context.Context) WorkstationClusterArrayOutput

type WorkstationClusterCondition

type WorkstationClusterCondition struct {
	// (Output)
	// The status code, which should be an enum value of google.rpc.Code.
	Code *int `pulumi:"code"`
	// (Output)
	// A list of messages that carry the error details.
	Details []map[string]interface{} `pulumi:"details"`
	// (Output)
	// Human readable message indicating details about the current status.
	Message *string `pulumi:"message"`
}

type WorkstationClusterConditionArgs

type WorkstationClusterConditionArgs struct {
	// (Output)
	// The status code, which should be an enum value of google.rpc.Code.
	Code pulumi.IntPtrInput `pulumi:"code"`
	// (Output)
	// A list of messages that carry the error details.
	Details pulumi.MapArrayInput `pulumi:"details"`
	// (Output)
	// Human readable message indicating details about the current status.
	Message pulumi.StringPtrInput `pulumi:"message"`
}

func (WorkstationClusterConditionArgs) ElementType

func (WorkstationClusterConditionArgs) ToWorkstationClusterConditionOutput

func (i WorkstationClusterConditionArgs) ToWorkstationClusterConditionOutput() WorkstationClusterConditionOutput

func (WorkstationClusterConditionArgs) ToWorkstationClusterConditionOutputWithContext

func (i WorkstationClusterConditionArgs) ToWorkstationClusterConditionOutputWithContext(ctx context.Context) WorkstationClusterConditionOutput

type WorkstationClusterConditionArray

type WorkstationClusterConditionArray []WorkstationClusterConditionInput

func (WorkstationClusterConditionArray) ElementType

func (WorkstationClusterConditionArray) ToWorkstationClusterConditionArrayOutput

func (i WorkstationClusterConditionArray) ToWorkstationClusterConditionArrayOutput() WorkstationClusterConditionArrayOutput

func (WorkstationClusterConditionArray) ToWorkstationClusterConditionArrayOutputWithContext

func (i WorkstationClusterConditionArray) ToWorkstationClusterConditionArrayOutputWithContext(ctx context.Context) WorkstationClusterConditionArrayOutput

type WorkstationClusterConditionArrayInput

type WorkstationClusterConditionArrayInput interface {
	pulumi.Input

	ToWorkstationClusterConditionArrayOutput() WorkstationClusterConditionArrayOutput
	ToWorkstationClusterConditionArrayOutputWithContext(context.Context) WorkstationClusterConditionArrayOutput
}

WorkstationClusterConditionArrayInput is an input type that accepts WorkstationClusterConditionArray and WorkstationClusterConditionArrayOutput values. You can construct a concrete instance of `WorkstationClusterConditionArrayInput` via:

WorkstationClusterConditionArray{ WorkstationClusterConditionArgs{...} }

type WorkstationClusterConditionArrayOutput

type WorkstationClusterConditionArrayOutput struct{ *pulumi.OutputState }

func (WorkstationClusterConditionArrayOutput) ElementType

func (WorkstationClusterConditionArrayOutput) Index

func (WorkstationClusterConditionArrayOutput) ToWorkstationClusterConditionArrayOutput

func (o WorkstationClusterConditionArrayOutput) ToWorkstationClusterConditionArrayOutput() WorkstationClusterConditionArrayOutput

func (WorkstationClusterConditionArrayOutput) ToWorkstationClusterConditionArrayOutputWithContext

func (o WorkstationClusterConditionArrayOutput) ToWorkstationClusterConditionArrayOutputWithContext(ctx context.Context) WorkstationClusterConditionArrayOutput

type WorkstationClusterConditionInput

type WorkstationClusterConditionInput interface {
	pulumi.Input

	ToWorkstationClusterConditionOutput() WorkstationClusterConditionOutput
	ToWorkstationClusterConditionOutputWithContext(context.Context) WorkstationClusterConditionOutput
}

WorkstationClusterConditionInput is an input type that accepts WorkstationClusterConditionArgs and WorkstationClusterConditionOutput values. You can construct a concrete instance of `WorkstationClusterConditionInput` via:

WorkstationClusterConditionArgs{...}

type WorkstationClusterConditionOutput

type WorkstationClusterConditionOutput struct{ *pulumi.OutputState }

func (WorkstationClusterConditionOutput) Code

(Output) The status code, which should be an enum value of google.rpc.Code.

func (WorkstationClusterConditionOutput) Details

(Output) A list of messages that carry the error details.

func (WorkstationClusterConditionOutput) ElementType

func (WorkstationClusterConditionOutput) Message

(Output) Human readable message indicating details about the current status.

func (WorkstationClusterConditionOutput) ToWorkstationClusterConditionOutput

func (o WorkstationClusterConditionOutput) ToWorkstationClusterConditionOutput() WorkstationClusterConditionOutput

func (WorkstationClusterConditionOutput) ToWorkstationClusterConditionOutputWithContext

func (o WorkstationClusterConditionOutput) ToWorkstationClusterConditionOutputWithContext(ctx context.Context) WorkstationClusterConditionOutput

type WorkstationClusterDomainConfig added in v7.1.0

type WorkstationClusterDomainConfig struct {
	// Domain used by Workstations for HTTP ingress.
	Domain string `pulumi:"domain"`
}

type WorkstationClusterDomainConfigArgs added in v7.1.0

type WorkstationClusterDomainConfigArgs struct {
	// Domain used by Workstations for HTTP ingress.
	Domain pulumi.StringInput `pulumi:"domain"`
}

func (WorkstationClusterDomainConfigArgs) ElementType added in v7.1.0

func (WorkstationClusterDomainConfigArgs) ToWorkstationClusterDomainConfigOutput added in v7.1.0

func (i WorkstationClusterDomainConfigArgs) ToWorkstationClusterDomainConfigOutput() WorkstationClusterDomainConfigOutput

func (WorkstationClusterDomainConfigArgs) ToWorkstationClusterDomainConfigOutputWithContext added in v7.1.0

func (i WorkstationClusterDomainConfigArgs) ToWorkstationClusterDomainConfigOutputWithContext(ctx context.Context) WorkstationClusterDomainConfigOutput

func (WorkstationClusterDomainConfigArgs) ToWorkstationClusterDomainConfigPtrOutput added in v7.1.0

func (i WorkstationClusterDomainConfigArgs) ToWorkstationClusterDomainConfigPtrOutput() WorkstationClusterDomainConfigPtrOutput

func (WorkstationClusterDomainConfigArgs) ToWorkstationClusterDomainConfigPtrOutputWithContext added in v7.1.0

func (i WorkstationClusterDomainConfigArgs) ToWorkstationClusterDomainConfigPtrOutputWithContext(ctx context.Context) WorkstationClusterDomainConfigPtrOutput

type WorkstationClusterDomainConfigInput added in v7.1.0

type WorkstationClusterDomainConfigInput interface {
	pulumi.Input

	ToWorkstationClusterDomainConfigOutput() WorkstationClusterDomainConfigOutput
	ToWorkstationClusterDomainConfigOutputWithContext(context.Context) WorkstationClusterDomainConfigOutput
}

WorkstationClusterDomainConfigInput is an input type that accepts WorkstationClusterDomainConfigArgs and WorkstationClusterDomainConfigOutput values. You can construct a concrete instance of `WorkstationClusterDomainConfigInput` via:

WorkstationClusterDomainConfigArgs{...}

type WorkstationClusterDomainConfigOutput added in v7.1.0

type WorkstationClusterDomainConfigOutput struct{ *pulumi.OutputState }

func (WorkstationClusterDomainConfigOutput) Domain added in v7.1.0

Domain used by Workstations for HTTP ingress.

func (WorkstationClusterDomainConfigOutput) ElementType added in v7.1.0

func (WorkstationClusterDomainConfigOutput) ToWorkstationClusterDomainConfigOutput added in v7.1.0

func (o WorkstationClusterDomainConfigOutput) ToWorkstationClusterDomainConfigOutput() WorkstationClusterDomainConfigOutput

func (WorkstationClusterDomainConfigOutput) ToWorkstationClusterDomainConfigOutputWithContext added in v7.1.0

func (o WorkstationClusterDomainConfigOutput) ToWorkstationClusterDomainConfigOutputWithContext(ctx context.Context) WorkstationClusterDomainConfigOutput

func (WorkstationClusterDomainConfigOutput) ToWorkstationClusterDomainConfigPtrOutput added in v7.1.0

func (o WorkstationClusterDomainConfigOutput) ToWorkstationClusterDomainConfigPtrOutput() WorkstationClusterDomainConfigPtrOutput

func (WorkstationClusterDomainConfigOutput) ToWorkstationClusterDomainConfigPtrOutputWithContext added in v7.1.0

func (o WorkstationClusterDomainConfigOutput) ToWorkstationClusterDomainConfigPtrOutputWithContext(ctx context.Context) WorkstationClusterDomainConfigPtrOutput

type WorkstationClusterDomainConfigPtrInput added in v7.1.0

type WorkstationClusterDomainConfigPtrInput interface {
	pulumi.Input

	ToWorkstationClusterDomainConfigPtrOutput() WorkstationClusterDomainConfigPtrOutput
	ToWorkstationClusterDomainConfigPtrOutputWithContext(context.Context) WorkstationClusterDomainConfigPtrOutput
}

WorkstationClusterDomainConfigPtrInput is an input type that accepts WorkstationClusterDomainConfigArgs, WorkstationClusterDomainConfigPtr and WorkstationClusterDomainConfigPtrOutput values. You can construct a concrete instance of `WorkstationClusterDomainConfigPtrInput` via:

        WorkstationClusterDomainConfigArgs{...}

or:

        nil

type WorkstationClusterDomainConfigPtrOutput added in v7.1.0

type WorkstationClusterDomainConfigPtrOutput struct{ *pulumi.OutputState }

func (WorkstationClusterDomainConfigPtrOutput) Domain added in v7.1.0

Domain used by Workstations for HTTP ingress.

func (WorkstationClusterDomainConfigPtrOutput) Elem added in v7.1.0

func (WorkstationClusterDomainConfigPtrOutput) ElementType added in v7.1.0

func (WorkstationClusterDomainConfigPtrOutput) ToWorkstationClusterDomainConfigPtrOutput added in v7.1.0

func (o WorkstationClusterDomainConfigPtrOutput) ToWorkstationClusterDomainConfigPtrOutput() WorkstationClusterDomainConfigPtrOutput

func (WorkstationClusterDomainConfigPtrOutput) ToWorkstationClusterDomainConfigPtrOutputWithContext added in v7.1.0

func (o WorkstationClusterDomainConfigPtrOutput) ToWorkstationClusterDomainConfigPtrOutputWithContext(ctx context.Context) WorkstationClusterDomainConfigPtrOutput

type WorkstationClusterInput

type WorkstationClusterInput interface {
	pulumi.Input

	ToWorkstationClusterOutput() WorkstationClusterOutput
	ToWorkstationClusterOutputWithContext(ctx context.Context) WorkstationClusterOutput
}

type WorkstationClusterMap

type WorkstationClusterMap map[string]WorkstationClusterInput

func (WorkstationClusterMap) ElementType

func (WorkstationClusterMap) ElementType() reflect.Type

func (WorkstationClusterMap) ToWorkstationClusterMapOutput

func (i WorkstationClusterMap) ToWorkstationClusterMapOutput() WorkstationClusterMapOutput

func (WorkstationClusterMap) ToWorkstationClusterMapOutputWithContext

func (i WorkstationClusterMap) ToWorkstationClusterMapOutputWithContext(ctx context.Context) WorkstationClusterMapOutput

type WorkstationClusterMapInput

type WorkstationClusterMapInput interface {
	pulumi.Input

	ToWorkstationClusterMapOutput() WorkstationClusterMapOutput
	ToWorkstationClusterMapOutputWithContext(context.Context) WorkstationClusterMapOutput
}

WorkstationClusterMapInput is an input type that accepts WorkstationClusterMap and WorkstationClusterMapOutput values. You can construct a concrete instance of `WorkstationClusterMapInput` via:

WorkstationClusterMap{ "key": WorkstationClusterArgs{...} }

type WorkstationClusterMapOutput

type WorkstationClusterMapOutput struct{ *pulumi.OutputState }

func (WorkstationClusterMapOutput) ElementType

func (WorkstationClusterMapOutput) MapIndex

func (WorkstationClusterMapOutput) ToWorkstationClusterMapOutput

func (o WorkstationClusterMapOutput) ToWorkstationClusterMapOutput() WorkstationClusterMapOutput

func (WorkstationClusterMapOutput) ToWorkstationClusterMapOutputWithContext

func (o WorkstationClusterMapOutput) ToWorkstationClusterMapOutputWithContext(ctx context.Context) WorkstationClusterMapOutput

type WorkstationClusterOutput

type WorkstationClusterOutput struct{ *pulumi.OutputState }

func (WorkstationClusterOutput) Annotations

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 `effectiveAnnotations` for all of the annotations present on the resource.

func (WorkstationClusterOutput) Conditions

Status conditions describing the current resource state. Structure is documented below.

func (WorkstationClusterOutput) ControlPlaneIp added in v7.20.0

func (o WorkstationClusterOutput) ControlPlaneIp() pulumi.StringOutput

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.

func (WorkstationClusterOutput) CreateTime

Time when this resource was created.

func (WorkstationClusterOutput) Degraded

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.

func (WorkstationClusterOutput) DisplayName

Human-readable name for this resource.

func (WorkstationClusterOutput) DomainConfig added in v7.1.0

Configuration options for a custom domain. Structure is documented below.

func (WorkstationClusterOutput) EffectiveAnnotations

func (o WorkstationClusterOutput) EffectiveAnnotations() pulumi.StringMapOutput

All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.

func (WorkstationClusterOutput) EffectiveLabels

func (o WorkstationClusterOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (WorkstationClusterOutput) ElementType

func (WorkstationClusterOutput) ElementType() reflect.Type

func (WorkstationClusterOutput) Etag

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.

func (WorkstationClusterOutput) Labels

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 `effectiveLabels` for all of the labels present on the resource.

func (WorkstationClusterOutput) Location

The location where the workstation cluster should reside.

func (WorkstationClusterOutput) Name

The name of the cluster resource.

func (WorkstationClusterOutput) Network

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}".

func (WorkstationClusterOutput) PrivateClusterConfig

Configuration for private cluster. Structure is documented below.

func (WorkstationClusterOutput) Project

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

func (WorkstationClusterOutput) PulumiLabels

The combination of labels configured directly on the resource and default labels configured on the provider.

func (WorkstationClusterOutput) Subnetwork

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.

func (WorkstationClusterOutput) ToWorkstationClusterOutput

func (o WorkstationClusterOutput) ToWorkstationClusterOutput() WorkstationClusterOutput

func (WorkstationClusterOutput) ToWorkstationClusterOutputWithContext

func (o WorkstationClusterOutput) ToWorkstationClusterOutputWithContext(ctx context.Context) WorkstationClusterOutput

func (WorkstationClusterOutput) Uid

The system-generated UID of the resource.

func (WorkstationClusterOutput) WorkstationClusterId

func (o WorkstationClusterOutput) WorkstationClusterId() pulumi.StringOutput

ID to use for the workstation cluster.

***

type WorkstationClusterPrivateClusterConfig

type WorkstationClusterPrivateClusterConfig struct {
	// 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.
	AllowedProjects []string `pulumi:"allowedProjects"`
	// (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.
	ClusterHostname *string `pulumi:"clusterHostname"`
	// Whether Workstations endpoint is private.
	EnablePrivateEndpoint bool `pulumi:"enablePrivateEndpoint"`
	// (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].
	ServiceAttachmentUri *string `pulumi:"serviceAttachmentUri"`
}

type WorkstationClusterPrivateClusterConfigArgs

type WorkstationClusterPrivateClusterConfigArgs struct {
	// 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.
	AllowedProjects pulumi.StringArrayInput `pulumi:"allowedProjects"`
	// (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.
	ClusterHostname pulumi.StringPtrInput `pulumi:"clusterHostname"`
	// Whether Workstations endpoint is private.
	EnablePrivateEndpoint pulumi.BoolInput `pulumi:"enablePrivateEndpoint"`
	// (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].
	ServiceAttachmentUri pulumi.StringPtrInput `pulumi:"serviceAttachmentUri"`
}

func (WorkstationClusterPrivateClusterConfigArgs) ElementType

func (WorkstationClusterPrivateClusterConfigArgs) ToWorkstationClusterPrivateClusterConfigOutput

func (i WorkstationClusterPrivateClusterConfigArgs) ToWorkstationClusterPrivateClusterConfigOutput() WorkstationClusterPrivateClusterConfigOutput

func (WorkstationClusterPrivateClusterConfigArgs) ToWorkstationClusterPrivateClusterConfigOutputWithContext

func (i WorkstationClusterPrivateClusterConfigArgs) ToWorkstationClusterPrivateClusterConfigOutputWithContext(ctx context.Context) WorkstationClusterPrivateClusterConfigOutput

func (WorkstationClusterPrivateClusterConfigArgs) ToWorkstationClusterPrivateClusterConfigPtrOutput

func (i WorkstationClusterPrivateClusterConfigArgs) ToWorkstationClusterPrivateClusterConfigPtrOutput() WorkstationClusterPrivateClusterConfigPtrOutput

func (WorkstationClusterPrivateClusterConfigArgs) ToWorkstationClusterPrivateClusterConfigPtrOutputWithContext

func (i WorkstationClusterPrivateClusterConfigArgs) ToWorkstationClusterPrivateClusterConfigPtrOutputWithContext(ctx context.Context) WorkstationClusterPrivateClusterConfigPtrOutput

type WorkstationClusterPrivateClusterConfigInput

type WorkstationClusterPrivateClusterConfigInput interface {
	pulumi.Input

	ToWorkstationClusterPrivateClusterConfigOutput() WorkstationClusterPrivateClusterConfigOutput
	ToWorkstationClusterPrivateClusterConfigOutputWithContext(context.Context) WorkstationClusterPrivateClusterConfigOutput
}

WorkstationClusterPrivateClusterConfigInput is an input type that accepts WorkstationClusterPrivateClusterConfigArgs and WorkstationClusterPrivateClusterConfigOutput values. You can construct a concrete instance of `WorkstationClusterPrivateClusterConfigInput` via:

WorkstationClusterPrivateClusterConfigArgs{...}

type WorkstationClusterPrivateClusterConfigOutput

type WorkstationClusterPrivateClusterConfigOutput struct{ *pulumi.OutputState }

func (WorkstationClusterPrivateClusterConfigOutput) AllowedProjects

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.

func (WorkstationClusterPrivateClusterConfigOutput) ClusterHostname

(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.

func (WorkstationClusterPrivateClusterConfigOutput) ElementType

func (WorkstationClusterPrivateClusterConfigOutput) EnablePrivateEndpoint

Whether Workstations endpoint is private.

func (WorkstationClusterPrivateClusterConfigOutput) ServiceAttachmentUri

(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].

func (WorkstationClusterPrivateClusterConfigOutput) ToWorkstationClusterPrivateClusterConfigOutput

func (o WorkstationClusterPrivateClusterConfigOutput) ToWorkstationClusterPrivateClusterConfigOutput() WorkstationClusterPrivateClusterConfigOutput

func (WorkstationClusterPrivateClusterConfigOutput) ToWorkstationClusterPrivateClusterConfigOutputWithContext

func (o WorkstationClusterPrivateClusterConfigOutput) ToWorkstationClusterPrivateClusterConfigOutputWithContext(ctx context.Context) WorkstationClusterPrivateClusterConfigOutput

func (WorkstationClusterPrivateClusterConfigOutput) ToWorkstationClusterPrivateClusterConfigPtrOutput

func (o WorkstationClusterPrivateClusterConfigOutput) ToWorkstationClusterPrivateClusterConfigPtrOutput() WorkstationClusterPrivateClusterConfigPtrOutput

func (WorkstationClusterPrivateClusterConfigOutput) ToWorkstationClusterPrivateClusterConfigPtrOutputWithContext

func (o WorkstationClusterPrivateClusterConfigOutput) ToWorkstationClusterPrivateClusterConfigPtrOutputWithContext(ctx context.Context) WorkstationClusterPrivateClusterConfigPtrOutput

type WorkstationClusterPrivateClusterConfigPtrInput

type WorkstationClusterPrivateClusterConfigPtrInput interface {
	pulumi.Input

	ToWorkstationClusterPrivateClusterConfigPtrOutput() WorkstationClusterPrivateClusterConfigPtrOutput
	ToWorkstationClusterPrivateClusterConfigPtrOutputWithContext(context.Context) WorkstationClusterPrivateClusterConfigPtrOutput
}

WorkstationClusterPrivateClusterConfigPtrInput is an input type that accepts WorkstationClusterPrivateClusterConfigArgs, WorkstationClusterPrivateClusterConfigPtr and WorkstationClusterPrivateClusterConfigPtrOutput values. You can construct a concrete instance of `WorkstationClusterPrivateClusterConfigPtrInput` via:

        WorkstationClusterPrivateClusterConfigArgs{...}

or:

        nil

type WorkstationClusterPrivateClusterConfigPtrOutput

type WorkstationClusterPrivateClusterConfigPtrOutput struct{ *pulumi.OutputState }

func (WorkstationClusterPrivateClusterConfigPtrOutput) AllowedProjects

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.

func (WorkstationClusterPrivateClusterConfigPtrOutput) ClusterHostname

(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.

func (WorkstationClusterPrivateClusterConfigPtrOutput) Elem

func (WorkstationClusterPrivateClusterConfigPtrOutput) ElementType

func (WorkstationClusterPrivateClusterConfigPtrOutput) EnablePrivateEndpoint

Whether Workstations endpoint is private.

func (WorkstationClusterPrivateClusterConfigPtrOutput) ServiceAttachmentUri

(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].

func (WorkstationClusterPrivateClusterConfigPtrOutput) ToWorkstationClusterPrivateClusterConfigPtrOutput

func (o WorkstationClusterPrivateClusterConfigPtrOutput) ToWorkstationClusterPrivateClusterConfigPtrOutput() WorkstationClusterPrivateClusterConfigPtrOutput

func (WorkstationClusterPrivateClusterConfigPtrOutput) ToWorkstationClusterPrivateClusterConfigPtrOutputWithContext

func (o WorkstationClusterPrivateClusterConfigPtrOutput) ToWorkstationClusterPrivateClusterConfigPtrOutputWithContext(ctx context.Context) WorkstationClusterPrivateClusterConfigPtrOutput

type WorkstationClusterState

type WorkstationClusterState struct {
	// 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 `effectiveAnnotations` for all of the annotations present on the resource.
	Annotations pulumi.StringMapInput
	// Status conditions describing the current resource state.
	// Structure is documented below.
	Conditions WorkstationClusterConditionArrayInput
	// 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.
	ControlPlaneIp pulumi.StringPtrInput
	// Time when this resource was created.
	CreateTime pulumi.StringPtrInput
	// 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.
	Degraded pulumi.BoolPtrInput
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// Configuration options for a custom domain.
	// Structure is documented below.
	DomainConfig WorkstationClusterDomainConfigPtrInput
	// All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
	// Terraform, other clients and services.
	EffectiveAnnotations pulumi.StringMapInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// 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.
	Etag pulumi.StringPtrInput
	// 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 `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location where the workstation cluster should reside.
	Location pulumi.StringPtrInput
	// The name of the cluster resource.
	Name pulumi.StringPtrInput
	// 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}".
	Network pulumi.StringPtrInput
	// Configuration for private cluster.
	// Structure is documented below.
	PrivateClusterConfig WorkstationClusterPrivateClusterConfigPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// 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.
	Subnetwork pulumi.StringPtrInput
	// The system-generated UID of the resource.
	Uid pulumi.StringPtrInput
	// ID to use for the workstation cluster.
	//
	// ***
	WorkstationClusterId pulumi.StringPtrInput
}

func (WorkstationClusterState) ElementType

func (WorkstationClusterState) ElementType() reflect.Type

type WorkstationConfig

type WorkstationConfig struct {
	pulumi.CustomResourceState

	// 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 `effectiveAnnotations` for all of the annotations present on the resource.
	Annotations pulumi.StringMapOutput `pulumi:"annotations"`
	// Status conditions describing the current resource state.
	// Structure is documented below.
	Conditions WorkstationConfigConditionArrayOutput `pulumi:"conditions"`
	// Container that will be run for each workstation using this configuration when that workstation is started.
	// Structure is documented below.
	Container WorkstationConfigContainerOutput `pulumi:"container"`
	// Time when this resource was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// 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.
	Degraded pulumi.BoolOutput `pulumi:"degraded"`
	// Disables support for plain TCP connections in the workstation. By default the service supports TCP connections via a websocket relay. Setting this option to true disables that relay, which prevents the usage of services that require plain tcp connections, such as ssh. When enabled, all communication must occur over https or wss.
	DisableTcpConnections pulumi.BoolPtrOutput `pulumi:"disableTcpConnections"`
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
	// Terraform, other clients and services.
	EffectiveAnnotations pulumi.StringMapOutput `pulumi:"effectiveAnnotations"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Whether to enable Linux `auditd` logging on the workstation. When enabled, a service account must also be specified that has `logging.buckets.write` permission on the project. Operating system audit logging is distinct from Cloud Audit Logs.
	EnableAuditAgent pulumi.BoolPtrOutput `pulumi:"enableAuditAgent"`
	// Encrypts resources of this workstation configuration using a customer-managed encryption key.
	// If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata.
	// If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk will be lost.
	// If the encryption key is revoked, the workstation session will automatically be stopped within 7 hours.
	// Structure is documented below.
	EncryptionKey WorkstationConfigEncryptionKeyPtrOutput `pulumi:"encryptionKey"`
	// Ephemeral directories which won't persist across workstation sessions.
	// Structure is documented below.
	EphemeralDirectories WorkstationConfigEphemeralDirectoryArrayOutput `pulumi:"ephemeralDirectories"`
	// 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.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Runtime host for a workstation.
	// Structure is documented below.
	Host WorkstationConfigHostOutput `pulumi:"host"`
	// How long to wait before automatically stopping an instance that hasn't recently received any user traffic. A value of 0 indicates that this instance should never time out from idleness. Defaults to 20 minutes.
	// A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
	IdleTimeout pulumi.StringPtrOutput `pulumi:"idleTimeout"`
	// 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 `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The location where the workstation cluster config should reside.
	//
	// ***
	Location pulumi.StringOutput `pulumi:"location"`
	// Full name of this resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// Directories to persist across workstation sessions.
	// Structure is documented below.
	PersistentDirectories WorkstationConfigPersistentDirectoryArrayOutput `pulumi:"persistentDirectories"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Readiness checks to be performed on a workstation.
	// Structure is documented below.
	ReadinessChecks WorkstationConfigReadinessCheckArrayOutput `pulumi:"readinessChecks"`
	// Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`.
	// If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
	ReplicaZones pulumi.StringArrayOutput `pulumi:"replicaZones"`
	// How long to wait before automatically stopping a workstation after it was started. A value of 0 indicates that workstations using this configuration should never time out from running duration. Must be greater than 0 and less than 24 hours if `encryptionKey` is set. Defaults to 12 hours.
	// A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
	RunningTimeout pulumi.StringPtrOutput `pulumi:"runningTimeout"`
	// The system-generated UID of the resource.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// The ID of the parent workstation cluster.
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	// The ID to be assigned to the workstation cluster config.
	WorkstationConfigId pulumi.StringOutput `pulumi:"workstationConfigId"`
}

## Example Usage

### Workstation Config Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     _default.Name,
		})
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              _default.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			IdleTimeout:          pulumi.String("600s"),
			RunningTimeout:       pulumi.String("21600s"),
			ReplicaZones: pulumi.StringArray{
				pulumi.String("us-central1-a"),
				pulumi.String("us-central1-b"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Host: &workstations.WorkstationConfigHostArgs{
				GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
					MachineType:              pulumi.String("e2-standard-4"),
					BootDiskSizeGb:           pulumi.Int(35),
					DisablePublicIpAddresses: pulumi.Bool(true),
					DisableSsh:               pulumi.Bool(false),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Container

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     _default.Name,
		})
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              _default.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			Host: &workstations.WorkstationConfigHostArgs{
				GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
					MachineType:                pulumi.String("n1-standard-4"),
					BootDiskSizeGb:             pulumi.Int(35),
					DisablePublicIpAddresses:   pulumi.Bool(true),
					EnableNestedVirtualization: pulumi.Bool(true),
				},
			},
			Container: &workstations.WorkstationConfigContainerArgs{
				Image: pulumi.String("intellij"),
				Env: pulumi.StringMap{
					"NAME": pulumi.String("FOO"),
					"BABE": pulumi.String("bar"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Persistent Directories

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     _default.Name,
		})
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              _default.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			Host: &workstations.WorkstationConfigHostArgs{
				GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
					MachineType:              pulumi.String("e2-standard-4"),
					BootDiskSizeGb:           pulumi.Int(35),
					DisablePublicIpAddresses: pulumi.Bool(true),
					ShieldedInstanceConfig: &workstations.WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs{
						EnableSecureBoot: pulumi.Bool(true),
						EnableVtpm:       pulumi.Bool(true),
					},
				},
			},
			PersistentDirectories: workstations.WorkstationConfigPersistentDirectoryArray{
				&workstations.WorkstationConfigPersistentDirectoryArgs{
					MountPath: pulumi.String("/home"),
					GcePd: &workstations.WorkstationConfigPersistentDirectoryGcePdArgs{
						SizeGb:        pulumi.Int(200),
						FsType:        pulumi.String("ext4"),
						DiskType:      pulumi.String("pd-standard"),
						ReclaimPolicy: pulumi.String("DELETE"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Source Snapshot

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     _default.Name,
		})
		if err != nil {
			return err
		}
		mySourceDisk, err := compute.NewDisk(ctx, "my_source_disk", &compute.DiskArgs{
			Name: pulumi.String("workstation-config"),
			Size: pulumi.Int(10),
			Type: pulumi.String("pd-ssd"),
			Zone: pulumi.String("us-central1-a"),
		})
		if err != nil {
			return err
		}
		mySourceSnapshot, err := compute.NewSnapshot(ctx, "my_source_snapshot", &compute.SnapshotArgs{
			Name:       pulumi.String("workstation-config"),
			SourceDisk: mySourceDisk.Name,
			Zone:       pulumi.String("us-central1-a"),
		})
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              _default.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             defaultWorkstationCluster.Location,
			PersistentDirectories: workstations.WorkstationConfigPersistentDirectoryArray{
				&workstations.WorkstationConfigPersistentDirectoryArgs{
					MountPath: pulumi.String("/home"),
					GcePd: &workstations.WorkstationConfigPersistentDirectoryGcePdArgs{
						SourceSnapshot: mySourceSnapshot.ID(),
						ReclaimPolicy:  pulumi.String("DELETE"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Shielded Instance Config

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     _default.Name,
		})
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              _default.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			Host: &workstations.WorkstationConfigHostArgs{
				GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
					MachineType:              pulumi.String("e2-standard-4"),
					BootDiskSizeGb:           pulumi.Int(35),
					DisablePublicIpAddresses: pulumi.Bool(true),
					ShieldedInstanceConfig: &workstations.WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs{
						EnableSecureBoot: pulumi.Bool(true),
						EnableVtpm:       pulumi.Bool(true),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Accelerators

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     _default.Name,
		})
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              _default.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			Host: &workstations.WorkstationConfigHostArgs{
				GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
					MachineType:              pulumi.String("n1-standard-2"),
					BootDiskSizeGb:           pulumi.Int(35),
					DisablePublicIpAddresses: pulumi.Bool(true),
					Accelerators: workstations.WorkstationConfigHostGceInstanceAcceleratorArray{
						&workstations.WorkstationConfigHostGceInstanceAcceleratorArgs{
							Type:  pulumi.String("nvidia-tesla-t4"),
							Count: pulumi.Int(1),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Boost

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     _default.Name,
		})
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              _default.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			Host: &workstations.WorkstationConfigHostArgs{
				GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
					MachineType:              pulumi.String("e2-standard-4"),
					BootDiskSizeGb:           pulumi.Int(35),
					DisablePublicIpAddresses: pulumi.Bool(true),
					BoostConfigs: workstations.WorkstationConfigHostGceInstanceBoostConfigArray{
						&workstations.WorkstationConfigHostGceInstanceBoostConfigArgs{
							Id:          pulumi.String("boost-1"),
							MachineType: pulumi.String("n1-standard-2"),
							Accelerators: workstations.WorkstationConfigHostGceInstanceBoostConfigAcceleratorArray{
								&workstations.WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs{
									Type:  pulumi.String("nvidia-tesla-t4"),
									Count: pulumi.Int(1),
								},
							},
						},
						&workstations.WorkstationConfigHostGceInstanceBoostConfigArgs{
							Id:          pulumi.String("boost-1"),
							MachineType: pulumi.String("e2-standard-2"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Encryption Key

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/workstations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := compute.NewNetwork(ctx, "default", &compute.NetworkArgs{
			Name:                  pulumi.String("workstation-cluster"),
			AutoCreateSubnetworks: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "default", &compute.SubnetworkArgs{
			Name:        pulumi.String("workstation-cluster"),
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     _default.Name,
		})
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "default", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              _default.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label": pulumi.String("key"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		})
		if err != nil {
			return err
		}
		defaultKeyRing, err := kms.NewKeyRing(ctx, "default", &kms.KeyRingArgs{
			Name:     pulumi.String("workstation-cluster"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		defaultCryptoKey, err := kms.NewCryptoKey(ctx, "default", &kms.CryptoKeyArgs{
			Name:    pulumi.String("workstation-cluster"),
			KeyRing: defaultKeyRing.ID(),
		})
		if err != nil {
			return err
		}
		defaultAccount, err := serviceaccount.NewAccount(ctx, "default", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("my-account"),
			DisplayName: pulumi.String("Service Account"),
		})
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "default", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			Host: &workstations.WorkstationConfigHostArgs{
				GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
					MachineType:              pulumi.String("e2-standard-4"),
					BootDiskSizeGb:           pulumi.Int(35),
					DisablePublicIpAddresses: pulumi.Bool(true),
					ShieldedInstanceConfig: &workstations.WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs{
						EnableSecureBoot: pulumi.Bool(true),
						EnableVtpm:       pulumi.Bool(true),
					},
				},
			},
			EncryptionKey: &workstations.WorkstationConfigEncryptionKeyArgs{
				KmsKey:               defaultCryptoKey.ID(),
				KmsKeyServiceAccount: defaultAccount.Email,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

WorkstationConfig can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}`

* `{{project}}/{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}`

* `{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}`

When using the `pulumi import` command, WorkstationConfig can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:workstations/workstationConfig:WorkstationConfig default projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} ```

```sh $ pulumi import gcp:workstations/workstationConfig:WorkstationConfig default {{project}}/{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}} ```

```sh $ pulumi import gcp:workstations/workstationConfig:WorkstationConfig default {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}} ```

func GetWorkstationConfig

func GetWorkstationConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationConfigState, opts ...pulumi.ResourceOption) (*WorkstationConfig, error)

GetWorkstationConfig gets an existing WorkstationConfig resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkstationConfig

func NewWorkstationConfig(ctx *pulumi.Context,
	name string, args *WorkstationConfigArgs, opts ...pulumi.ResourceOption) (*WorkstationConfig, error)

NewWorkstationConfig registers a new resource with the given unique name, arguments, and options.

func (*WorkstationConfig) ElementType

func (*WorkstationConfig) ElementType() reflect.Type

func (*WorkstationConfig) ToWorkstationConfigOutput

func (i *WorkstationConfig) ToWorkstationConfigOutput() WorkstationConfigOutput

func (*WorkstationConfig) ToWorkstationConfigOutputWithContext

func (i *WorkstationConfig) ToWorkstationConfigOutputWithContext(ctx context.Context) WorkstationConfigOutput

type WorkstationConfigArgs

type WorkstationConfigArgs struct {
	// 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 `effectiveAnnotations` for all of the annotations present on the resource.
	Annotations pulumi.StringMapInput
	// Container that will be run for each workstation using this configuration when that workstation is started.
	// Structure is documented below.
	Container WorkstationConfigContainerPtrInput
	// Disables support for plain TCP connections in the workstation. By default the service supports TCP connections via a websocket relay. Setting this option to true disables that relay, which prevents the usage of services that require plain tcp connections, such as ssh. When enabled, all communication must occur over https or wss.
	DisableTcpConnections pulumi.BoolPtrInput
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// Whether to enable Linux `auditd` logging on the workstation. When enabled, a service account must also be specified that has `logging.buckets.write` permission on the project. Operating system audit logging is distinct from Cloud Audit Logs.
	EnableAuditAgent pulumi.BoolPtrInput
	// Encrypts resources of this workstation configuration using a customer-managed encryption key.
	// If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata.
	// If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk will be lost.
	// If the encryption key is revoked, the workstation session will automatically be stopped within 7 hours.
	// Structure is documented below.
	EncryptionKey WorkstationConfigEncryptionKeyPtrInput
	// Ephemeral directories which won't persist across workstation sessions.
	// Structure is documented below.
	EphemeralDirectories WorkstationConfigEphemeralDirectoryArrayInput
	// Runtime host for a workstation.
	// Structure is documented below.
	Host WorkstationConfigHostPtrInput
	// How long to wait before automatically stopping an instance that hasn't recently received any user traffic. A value of 0 indicates that this instance should never time out from idleness. Defaults to 20 minutes.
	// A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
	IdleTimeout pulumi.StringPtrInput
	// 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 `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location where the workstation cluster config should reside.
	//
	// ***
	Location pulumi.StringInput
	// Directories to persist across workstation sessions.
	// Structure is documented below.
	PersistentDirectories WorkstationConfigPersistentDirectoryArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// Readiness checks to be performed on a workstation.
	// Structure is documented below.
	ReadinessChecks WorkstationConfigReadinessCheckArrayInput
	// Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`.
	// If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
	ReplicaZones pulumi.StringArrayInput
	// How long to wait before automatically stopping a workstation after it was started. A value of 0 indicates that workstations using this configuration should never time out from running duration. Must be greater than 0 and less than 24 hours if `encryptionKey` is set. Defaults to 12 hours.
	// A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
	RunningTimeout pulumi.StringPtrInput
	// The ID of the parent workstation cluster.
	WorkstationClusterId pulumi.StringInput
	// The ID to be assigned to the workstation cluster config.
	WorkstationConfigId pulumi.StringInput
}

The set of arguments for constructing a WorkstationConfig resource.

func (WorkstationConfigArgs) ElementType

func (WorkstationConfigArgs) ElementType() reflect.Type

type WorkstationConfigArray

type WorkstationConfigArray []WorkstationConfigInput

func (WorkstationConfigArray) ElementType

func (WorkstationConfigArray) ElementType() reflect.Type

func (WorkstationConfigArray) ToWorkstationConfigArrayOutput

func (i WorkstationConfigArray) ToWorkstationConfigArrayOutput() WorkstationConfigArrayOutput

func (WorkstationConfigArray) ToWorkstationConfigArrayOutputWithContext

func (i WorkstationConfigArray) ToWorkstationConfigArrayOutputWithContext(ctx context.Context) WorkstationConfigArrayOutput

type WorkstationConfigArrayInput

type WorkstationConfigArrayInput interface {
	pulumi.Input

	ToWorkstationConfigArrayOutput() WorkstationConfigArrayOutput
	ToWorkstationConfigArrayOutputWithContext(context.Context) WorkstationConfigArrayOutput
}

WorkstationConfigArrayInput is an input type that accepts WorkstationConfigArray and WorkstationConfigArrayOutput values. You can construct a concrete instance of `WorkstationConfigArrayInput` via:

WorkstationConfigArray{ WorkstationConfigArgs{...} }

type WorkstationConfigArrayOutput

type WorkstationConfigArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigArrayOutput) ElementType

func (WorkstationConfigArrayOutput) Index

func (WorkstationConfigArrayOutput) ToWorkstationConfigArrayOutput

func (o WorkstationConfigArrayOutput) ToWorkstationConfigArrayOutput() WorkstationConfigArrayOutput

func (WorkstationConfigArrayOutput) ToWorkstationConfigArrayOutputWithContext

func (o WorkstationConfigArrayOutput) ToWorkstationConfigArrayOutputWithContext(ctx context.Context) WorkstationConfigArrayOutput

type WorkstationConfigCondition

type WorkstationConfigCondition struct {
	// (Output)
	// The status code, which should be an enum value of google.rpc.Code.
	Code *int `pulumi:"code"`
	// (Output)
	// A list of messages that carry the error details.
	Details []map[string]interface{} `pulumi:"details"`
	// (Output)
	// Human readable message indicating details about the current status.
	Message *string `pulumi:"message"`
}

type WorkstationConfigConditionArgs

type WorkstationConfigConditionArgs struct {
	// (Output)
	// The status code, which should be an enum value of google.rpc.Code.
	Code pulumi.IntPtrInput `pulumi:"code"`
	// (Output)
	// A list of messages that carry the error details.
	Details pulumi.MapArrayInput `pulumi:"details"`
	// (Output)
	// Human readable message indicating details about the current status.
	Message pulumi.StringPtrInput `pulumi:"message"`
}

func (WorkstationConfigConditionArgs) ElementType

func (WorkstationConfigConditionArgs) ToWorkstationConfigConditionOutput

func (i WorkstationConfigConditionArgs) ToWorkstationConfigConditionOutput() WorkstationConfigConditionOutput

func (WorkstationConfigConditionArgs) ToWorkstationConfigConditionOutputWithContext

func (i WorkstationConfigConditionArgs) ToWorkstationConfigConditionOutputWithContext(ctx context.Context) WorkstationConfigConditionOutput

type WorkstationConfigConditionArray

type WorkstationConfigConditionArray []WorkstationConfigConditionInput

func (WorkstationConfigConditionArray) ElementType

func (WorkstationConfigConditionArray) ToWorkstationConfigConditionArrayOutput

func (i WorkstationConfigConditionArray) ToWorkstationConfigConditionArrayOutput() WorkstationConfigConditionArrayOutput

func (WorkstationConfigConditionArray) ToWorkstationConfigConditionArrayOutputWithContext

func (i WorkstationConfigConditionArray) ToWorkstationConfigConditionArrayOutputWithContext(ctx context.Context) WorkstationConfigConditionArrayOutput

type WorkstationConfigConditionArrayInput

type WorkstationConfigConditionArrayInput interface {
	pulumi.Input

	ToWorkstationConfigConditionArrayOutput() WorkstationConfigConditionArrayOutput
	ToWorkstationConfigConditionArrayOutputWithContext(context.Context) WorkstationConfigConditionArrayOutput
}

WorkstationConfigConditionArrayInput is an input type that accepts WorkstationConfigConditionArray and WorkstationConfigConditionArrayOutput values. You can construct a concrete instance of `WorkstationConfigConditionArrayInput` via:

WorkstationConfigConditionArray{ WorkstationConfigConditionArgs{...} }

type WorkstationConfigConditionArrayOutput

type WorkstationConfigConditionArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigConditionArrayOutput) ElementType

func (WorkstationConfigConditionArrayOutput) Index

func (WorkstationConfigConditionArrayOutput) ToWorkstationConfigConditionArrayOutput

func (o WorkstationConfigConditionArrayOutput) ToWorkstationConfigConditionArrayOutput() WorkstationConfigConditionArrayOutput

func (WorkstationConfigConditionArrayOutput) ToWorkstationConfigConditionArrayOutputWithContext

func (o WorkstationConfigConditionArrayOutput) ToWorkstationConfigConditionArrayOutputWithContext(ctx context.Context) WorkstationConfigConditionArrayOutput

type WorkstationConfigConditionInput

type WorkstationConfigConditionInput interface {
	pulumi.Input

	ToWorkstationConfigConditionOutput() WorkstationConfigConditionOutput
	ToWorkstationConfigConditionOutputWithContext(context.Context) WorkstationConfigConditionOutput
}

WorkstationConfigConditionInput is an input type that accepts WorkstationConfigConditionArgs and WorkstationConfigConditionOutput values. You can construct a concrete instance of `WorkstationConfigConditionInput` via:

WorkstationConfigConditionArgs{...}

type WorkstationConfigConditionOutput

type WorkstationConfigConditionOutput struct{ *pulumi.OutputState }

func (WorkstationConfigConditionOutput) Code

(Output) The status code, which should be an enum value of google.rpc.Code.

func (WorkstationConfigConditionOutput) Details

(Output) A list of messages that carry the error details.

func (WorkstationConfigConditionOutput) ElementType

func (WorkstationConfigConditionOutput) Message

(Output) Human readable message indicating details about the current status.

func (WorkstationConfigConditionOutput) ToWorkstationConfigConditionOutput

func (o WorkstationConfigConditionOutput) ToWorkstationConfigConditionOutput() WorkstationConfigConditionOutput

func (WorkstationConfigConditionOutput) ToWorkstationConfigConditionOutputWithContext

func (o WorkstationConfigConditionOutput) ToWorkstationConfigConditionOutputWithContext(ctx context.Context) WorkstationConfigConditionOutput

type WorkstationConfigContainer

type WorkstationConfigContainer struct {
	// Arguments passed to the entrypoint.
	Args []string `pulumi:"args"`
	// If set, overrides the default ENTRYPOINT specified by the image.
	Commands []string `pulumi:"commands"`
	// Environment variables passed to the container.
	// The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".
	Env map[string]string `pulumi:"env"`
	// Docker image defining the container. This image must be accessible by the config's service account.
	Image *string `pulumi:"image"`
	// If set, overrides the USER specified in the image with the given uid.
	RunAsUser *int `pulumi:"runAsUser"`
	// If set, overrides the default DIR specified by the image.
	WorkingDir *string `pulumi:"workingDir"`
}

type WorkstationConfigContainerArgs

type WorkstationConfigContainerArgs struct {
	// Arguments passed to the entrypoint.
	Args pulumi.StringArrayInput `pulumi:"args"`
	// If set, overrides the default ENTRYPOINT specified by the image.
	Commands pulumi.StringArrayInput `pulumi:"commands"`
	// Environment variables passed to the container.
	// The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".
	Env pulumi.StringMapInput `pulumi:"env"`
	// Docker image defining the container. This image must be accessible by the config's service account.
	Image pulumi.StringPtrInput `pulumi:"image"`
	// If set, overrides the USER specified in the image with the given uid.
	RunAsUser pulumi.IntPtrInput `pulumi:"runAsUser"`
	// If set, overrides the default DIR specified by the image.
	WorkingDir pulumi.StringPtrInput `pulumi:"workingDir"`
}

func (WorkstationConfigContainerArgs) ElementType

func (WorkstationConfigContainerArgs) ToWorkstationConfigContainerOutput

func (i WorkstationConfigContainerArgs) ToWorkstationConfigContainerOutput() WorkstationConfigContainerOutput

func (WorkstationConfigContainerArgs) ToWorkstationConfigContainerOutputWithContext

func (i WorkstationConfigContainerArgs) ToWorkstationConfigContainerOutputWithContext(ctx context.Context) WorkstationConfigContainerOutput

func (WorkstationConfigContainerArgs) ToWorkstationConfigContainerPtrOutput

func (i WorkstationConfigContainerArgs) ToWorkstationConfigContainerPtrOutput() WorkstationConfigContainerPtrOutput

func (WorkstationConfigContainerArgs) ToWorkstationConfigContainerPtrOutputWithContext

func (i WorkstationConfigContainerArgs) ToWorkstationConfigContainerPtrOutputWithContext(ctx context.Context) WorkstationConfigContainerPtrOutput

type WorkstationConfigContainerInput

type WorkstationConfigContainerInput interface {
	pulumi.Input

	ToWorkstationConfigContainerOutput() WorkstationConfigContainerOutput
	ToWorkstationConfigContainerOutputWithContext(context.Context) WorkstationConfigContainerOutput
}

WorkstationConfigContainerInput is an input type that accepts WorkstationConfigContainerArgs and WorkstationConfigContainerOutput values. You can construct a concrete instance of `WorkstationConfigContainerInput` via:

WorkstationConfigContainerArgs{...}

type WorkstationConfigContainerOutput

type WorkstationConfigContainerOutput struct{ *pulumi.OutputState }

func (WorkstationConfigContainerOutput) Args

Arguments passed to the entrypoint.

func (WorkstationConfigContainerOutput) Commands

If set, overrides the default ENTRYPOINT specified by the image.

func (WorkstationConfigContainerOutput) ElementType

func (WorkstationConfigContainerOutput) Env

Environment variables passed to the container. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

func (WorkstationConfigContainerOutput) Image

Docker image defining the container. This image must be accessible by the config's service account.

func (WorkstationConfigContainerOutput) RunAsUser

If set, overrides the USER specified in the image with the given uid.

func (WorkstationConfigContainerOutput) ToWorkstationConfigContainerOutput

func (o WorkstationConfigContainerOutput) ToWorkstationConfigContainerOutput() WorkstationConfigContainerOutput

func (WorkstationConfigContainerOutput) ToWorkstationConfigContainerOutputWithContext

func (o WorkstationConfigContainerOutput) ToWorkstationConfigContainerOutputWithContext(ctx context.Context) WorkstationConfigContainerOutput

func (WorkstationConfigContainerOutput) ToWorkstationConfigContainerPtrOutput

func (o WorkstationConfigContainerOutput) ToWorkstationConfigContainerPtrOutput() WorkstationConfigContainerPtrOutput

func (WorkstationConfigContainerOutput) ToWorkstationConfigContainerPtrOutputWithContext

func (o WorkstationConfigContainerOutput) ToWorkstationConfigContainerPtrOutputWithContext(ctx context.Context) WorkstationConfigContainerPtrOutput

func (WorkstationConfigContainerOutput) WorkingDir

If set, overrides the default DIR specified by the image.

type WorkstationConfigContainerPtrInput

type WorkstationConfigContainerPtrInput interface {
	pulumi.Input

	ToWorkstationConfigContainerPtrOutput() WorkstationConfigContainerPtrOutput
	ToWorkstationConfigContainerPtrOutputWithContext(context.Context) WorkstationConfigContainerPtrOutput
}

WorkstationConfigContainerPtrInput is an input type that accepts WorkstationConfigContainerArgs, WorkstationConfigContainerPtr and WorkstationConfigContainerPtrOutput values. You can construct a concrete instance of `WorkstationConfigContainerPtrInput` via:

        WorkstationConfigContainerArgs{...}

or:

        nil

type WorkstationConfigContainerPtrOutput

type WorkstationConfigContainerPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigContainerPtrOutput) Args

Arguments passed to the entrypoint.

func (WorkstationConfigContainerPtrOutput) Commands

If set, overrides the default ENTRYPOINT specified by the image.

func (WorkstationConfigContainerPtrOutput) Elem

func (WorkstationConfigContainerPtrOutput) ElementType

func (WorkstationConfigContainerPtrOutput) Env

Environment variables passed to the container. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

func (WorkstationConfigContainerPtrOutput) Image

Docker image defining the container. This image must be accessible by the config's service account.

func (WorkstationConfigContainerPtrOutput) RunAsUser

If set, overrides the USER specified in the image with the given uid.

func (WorkstationConfigContainerPtrOutput) ToWorkstationConfigContainerPtrOutput

func (o WorkstationConfigContainerPtrOutput) ToWorkstationConfigContainerPtrOutput() WorkstationConfigContainerPtrOutput

func (WorkstationConfigContainerPtrOutput) ToWorkstationConfigContainerPtrOutputWithContext

func (o WorkstationConfigContainerPtrOutput) ToWorkstationConfigContainerPtrOutputWithContext(ctx context.Context) WorkstationConfigContainerPtrOutput

func (WorkstationConfigContainerPtrOutput) WorkingDir

If set, overrides the default DIR specified by the image.

type WorkstationConfigEncryptionKey

type WorkstationConfigEncryptionKey struct {
	// The name of the Google Cloud KMS encryption key.
	KmsKey string `pulumi:"kmsKey"`
	// The service account to use with the specified KMS key.
	KmsKeyServiceAccount string `pulumi:"kmsKeyServiceAccount"`
}

type WorkstationConfigEncryptionKeyArgs

type WorkstationConfigEncryptionKeyArgs struct {
	// The name of the Google Cloud KMS encryption key.
	KmsKey pulumi.StringInput `pulumi:"kmsKey"`
	// The service account to use with the specified KMS key.
	KmsKeyServiceAccount pulumi.StringInput `pulumi:"kmsKeyServiceAccount"`
}

func (WorkstationConfigEncryptionKeyArgs) ElementType

func (WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyOutput

func (i WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyOutput() WorkstationConfigEncryptionKeyOutput

func (WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyOutputWithContext

func (i WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyOutputWithContext(ctx context.Context) WorkstationConfigEncryptionKeyOutput

func (WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyPtrOutput

func (i WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyPtrOutput() WorkstationConfigEncryptionKeyPtrOutput

func (WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyPtrOutputWithContext

func (i WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyPtrOutputWithContext(ctx context.Context) WorkstationConfigEncryptionKeyPtrOutput

type WorkstationConfigEncryptionKeyInput

type WorkstationConfigEncryptionKeyInput interface {
	pulumi.Input

	ToWorkstationConfigEncryptionKeyOutput() WorkstationConfigEncryptionKeyOutput
	ToWorkstationConfigEncryptionKeyOutputWithContext(context.Context) WorkstationConfigEncryptionKeyOutput
}

WorkstationConfigEncryptionKeyInput is an input type that accepts WorkstationConfigEncryptionKeyArgs and WorkstationConfigEncryptionKeyOutput values. You can construct a concrete instance of `WorkstationConfigEncryptionKeyInput` via:

WorkstationConfigEncryptionKeyArgs{...}

type WorkstationConfigEncryptionKeyOutput

type WorkstationConfigEncryptionKeyOutput struct{ *pulumi.OutputState }

func (WorkstationConfigEncryptionKeyOutput) ElementType

func (WorkstationConfigEncryptionKeyOutput) KmsKey

The name of the Google Cloud KMS encryption key.

func (WorkstationConfigEncryptionKeyOutput) KmsKeyServiceAccount

func (o WorkstationConfigEncryptionKeyOutput) KmsKeyServiceAccount() pulumi.StringOutput

The service account to use with the specified KMS key.

func (WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyOutput

func (o WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyOutput() WorkstationConfigEncryptionKeyOutput

func (WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyOutputWithContext

func (o WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyOutputWithContext(ctx context.Context) WorkstationConfigEncryptionKeyOutput

func (WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyPtrOutput

func (o WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyPtrOutput() WorkstationConfigEncryptionKeyPtrOutput

func (WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyPtrOutputWithContext

func (o WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyPtrOutputWithContext(ctx context.Context) WorkstationConfigEncryptionKeyPtrOutput

type WorkstationConfigEncryptionKeyPtrInput

type WorkstationConfigEncryptionKeyPtrInput interface {
	pulumi.Input

	ToWorkstationConfigEncryptionKeyPtrOutput() WorkstationConfigEncryptionKeyPtrOutput
	ToWorkstationConfigEncryptionKeyPtrOutputWithContext(context.Context) WorkstationConfigEncryptionKeyPtrOutput
}

WorkstationConfigEncryptionKeyPtrInput is an input type that accepts WorkstationConfigEncryptionKeyArgs, WorkstationConfigEncryptionKeyPtr and WorkstationConfigEncryptionKeyPtrOutput values. You can construct a concrete instance of `WorkstationConfigEncryptionKeyPtrInput` via:

        WorkstationConfigEncryptionKeyArgs{...}

or:

        nil

type WorkstationConfigEncryptionKeyPtrOutput

type WorkstationConfigEncryptionKeyPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigEncryptionKeyPtrOutput) Elem

func (WorkstationConfigEncryptionKeyPtrOutput) ElementType

func (WorkstationConfigEncryptionKeyPtrOutput) KmsKey

The name of the Google Cloud KMS encryption key.

func (WorkstationConfigEncryptionKeyPtrOutput) KmsKeyServiceAccount

The service account to use with the specified KMS key.

func (WorkstationConfigEncryptionKeyPtrOutput) ToWorkstationConfigEncryptionKeyPtrOutput

func (o WorkstationConfigEncryptionKeyPtrOutput) ToWorkstationConfigEncryptionKeyPtrOutput() WorkstationConfigEncryptionKeyPtrOutput

func (WorkstationConfigEncryptionKeyPtrOutput) ToWorkstationConfigEncryptionKeyPtrOutputWithContext

func (o WorkstationConfigEncryptionKeyPtrOutput) ToWorkstationConfigEncryptionKeyPtrOutputWithContext(ctx context.Context) WorkstationConfigEncryptionKeyPtrOutput

type WorkstationConfigEphemeralDirectory added in v7.15.0

type WorkstationConfigEphemeralDirectory struct {
	// An EphemeralDirectory backed by a Compute Engine persistent disk.
	// Structure is documented below.
	GcePd *WorkstationConfigEphemeralDirectoryGcePd `pulumi:"gcePd"`
	// Location of this directory in the running workstation.
	MountPath *string `pulumi:"mountPath"`
}

type WorkstationConfigEphemeralDirectoryArgs added in v7.15.0

type WorkstationConfigEphemeralDirectoryArgs struct {
	// An EphemeralDirectory backed by a Compute Engine persistent disk.
	// Structure is documented below.
	GcePd WorkstationConfigEphemeralDirectoryGcePdPtrInput `pulumi:"gcePd"`
	// Location of this directory in the running workstation.
	MountPath pulumi.StringPtrInput `pulumi:"mountPath"`
}

func (WorkstationConfigEphemeralDirectoryArgs) ElementType added in v7.15.0

func (WorkstationConfigEphemeralDirectoryArgs) ToWorkstationConfigEphemeralDirectoryOutput added in v7.15.0

func (i WorkstationConfigEphemeralDirectoryArgs) ToWorkstationConfigEphemeralDirectoryOutput() WorkstationConfigEphemeralDirectoryOutput

func (WorkstationConfigEphemeralDirectoryArgs) ToWorkstationConfigEphemeralDirectoryOutputWithContext added in v7.15.0

func (i WorkstationConfigEphemeralDirectoryArgs) ToWorkstationConfigEphemeralDirectoryOutputWithContext(ctx context.Context) WorkstationConfigEphemeralDirectoryOutput

type WorkstationConfigEphemeralDirectoryArray added in v7.15.0

type WorkstationConfigEphemeralDirectoryArray []WorkstationConfigEphemeralDirectoryInput

func (WorkstationConfigEphemeralDirectoryArray) ElementType added in v7.15.0

func (WorkstationConfigEphemeralDirectoryArray) ToWorkstationConfigEphemeralDirectoryArrayOutput added in v7.15.0

func (i WorkstationConfigEphemeralDirectoryArray) ToWorkstationConfigEphemeralDirectoryArrayOutput() WorkstationConfigEphemeralDirectoryArrayOutput

func (WorkstationConfigEphemeralDirectoryArray) ToWorkstationConfigEphemeralDirectoryArrayOutputWithContext added in v7.15.0

func (i WorkstationConfigEphemeralDirectoryArray) ToWorkstationConfigEphemeralDirectoryArrayOutputWithContext(ctx context.Context) WorkstationConfigEphemeralDirectoryArrayOutput

type WorkstationConfigEphemeralDirectoryArrayInput added in v7.15.0

type WorkstationConfigEphemeralDirectoryArrayInput interface {
	pulumi.Input

	ToWorkstationConfigEphemeralDirectoryArrayOutput() WorkstationConfigEphemeralDirectoryArrayOutput
	ToWorkstationConfigEphemeralDirectoryArrayOutputWithContext(context.Context) WorkstationConfigEphemeralDirectoryArrayOutput
}

WorkstationConfigEphemeralDirectoryArrayInput is an input type that accepts WorkstationConfigEphemeralDirectoryArray and WorkstationConfigEphemeralDirectoryArrayOutput values. You can construct a concrete instance of `WorkstationConfigEphemeralDirectoryArrayInput` via:

WorkstationConfigEphemeralDirectoryArray{ WorkstationConfigEphemeralDirectoryArgs{...} }

type WorkstationConfigEphemeralDirectoryArrayOutput added in v7.15.0

type WorkstationConfigEphemeralDirectoryArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigEphemeralDirectoryArrayOutput) ElementType added in v7.15.0

func (WorkstationConfigEphemeralDirectoryArrayOutput) Index added in v7.15.0

func (WorkstationConfigEphemeralDirectoryArrayOutput) ToWorkstationConfigEphemeralDirectoryArrayOutput added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryArrayOutput) ToWorkstationConfigEphemeralDirectoryArrayOutput() WorkstationConfigEphemeralDirectoryArrayOutput

func (WorkstationConfigEphemeralDirectoryArrayOutput) ToWorkstationConfigEphemeralDirectoryArrayOutputWithContext added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryArrayOutput) ToWorkstationConfigEphemeralDirectoryArrayOutputWithContext(ctx context.Context) WorkstationConfigEphemeralDirectoryArrayOutput

type WorkstationConfigEphemeralDirectoryGcePd added in v7.15.0

type WorkstationConfigEphemeralDirectoryGcePd struct {
	// Type of the disk to use. Defaults to `"pd-standard"`.
	DiskType *string `pulumi:"diskType"`
	// Whether the disk is read only. If true, the disk may be shared by multiple VMs and `sourceSnapshot` must be set.
	ReadOnly *bool `pulumi:"readOnly"`
	// Name of the disk image to use as the source for the disk.
	// Must be empty `sourceSnapshot` is set.
	// Updating `sourceImage` will update content in the ephemeral directory after the workstation is restarted.
	SourceImage *string `pulumi:"sourceImage"`
	// Name of the snapshot to use as the source for the disk.
	// Must be empty if `sourceImage` is set.
	// Must be empty if `readOnly` is false.
	// Updating `sourceSnapshot` will update content in the ephemeral directory after the workstation is restarted.
	SourceSnapshot *string `pulumi:"sourceSnapshot"`
}

type WorkstationConfigEphemeralDirectoryGcePdArgs added in v7.15.0

type WorkstationConfigEphemeralDirectoryGcePdArgs struct {
	// Type of the disk to use. Defaults to `"pd-standard"`.
	DiskType pulumi.StringPtrInput `pulumi:"diskType"`
	// Whether the disk is read only. If true, the disk may be shared by multiple VMs and `sourceSnapshot` must be set.
	ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"`
	// Name of the disk image to use as the source for the disk.
	// Must be empty `sourceSnapshot` is set.
	// Updating `sourceImage` will update content in the ephemeral directory after the workstation is restarted.
	SourceImage pulumi.StringPtrInput `pulumi:"sourceImage"`
	// Name of the snapshot to use as the source for the disk.
	// Must be empty if `sourceImage` is set.
	// Must be empty if `readOnly` is false.
	// Updating `sourceSnapshot` will update content in the ephemeral directory after the workstation is restarted.
	SourceSnapshot pulumi.StringPtrInput `pulumi:"sourceSnapshot"`
}

func (WorkstationConfigEphemeralDirectoryGcePdArgs) ElementType added in v7.15.0

func (WorkstationConfigEphemeralDirectoryGcePdArgs) ToWorkstationConfigEphemeralDirectoryGcePdOutput added in v7.15.0

func (i WorkstationConfigEphemeralDirectoryGcePdArgs) ToWorkstationConfigEphemeralDirectoryGcePdOutput() WorkstationConfigEphemeralDirectoryGcePdOutput

func (WorkstationConfigEphemeralDirectoryGcePdArgs) ToWorkstationConfigEphemeralDirectoryGcePdOutputWithContext added in v7.15.0

func (i WorkstationConfigEphemeralDirectoryGcePdArgs) ToWorkstationConfigEphemeralDirectoryGcePdOutputWithContext(ctx context.Context) WorkstationConfigEphemeralDirectoryGcePdOutput

func (WorkstationConfigEphemeralDirectoryGcePdArgs) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutput added in v7.15.0

func (i WorkstationConfigEphemeralDirectoryGcePdArgs) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutput() WorkstationConfigEphemeralDirectoryGcePdPtrOutput

func (WorkstationConfigEphemeralDirectoryGcePdArgs) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutputWithContext added in v7.15.0

func (i WorkstationConfigEphemeralDirectoryGcePdArgs) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutputWithContext(ctx context.Context) WorkstationConfigEphemeralDirectoryGcePdPtrOutput

type WorkstationConfigEphemeralDirectoryGcePdInput added in v7.15.0

type WorkstationConfigEphemeralDirectoryGcePdInput interface {
	pulumi.Input

	ToWorkstationConfigEphemeralDirectoryGcePdOutput() WorkstationConfigEphemeralDirectoryGcePdOutput
	ToWorkstationConfigEphemeralDirectoryGcePdOutputWithContext(context.Context) WorkstationConfigEphemeralDirectoryGcePdOutput
}

WorkstationConfigEphemeralDirectoryGcePdInput is an input type that accepts WorkstationConfigEphemeralDirectoryGcePdArgs and WorkstationConfigEphemeralDirectoryGcePdOutput values. You can construct a concrete instance of `WorkstationConfigEphemeralDirectoryGcePdInput` via:

WorkstationConfigEphemeralDirectoryGcePdArgs{...}

type WorkstationConfigEphemeralDirectoryGcePdOutput added in v7.15.0

type WorkstationConfigEphemeralDirectoryGcePdOutput struct{ *pulumi.OutputState }

func (WorkstationConfigEphemeralDirectoryGcePdOutput) DiskType added in v7.15.0

Type of the disk to use. Defaults to `"pd-standard"`.

func (WorkstationConfigEphemeralDirectoryGcePdOutput) ElementType added in v7.15.0

func (WorkstationConfigEphemeralDirectoryGcePdOutput) ReadOnly added in v7.15.0

Whether the disk is read only. If true, the disk may be shared by multiple VMs and `sourceSnapshot` must be set.

func (WorkstationConfigEphemeralDirectoryGcePdOutput) SourceImage added in v7.15.0

Name of the disk image to use as the source for the disk. Must be empty `sourceSnapshot` is set. Updating `sourceImage` will update content in the ephemeral directory after the workstation is restarted.

func (WorkstationConfigEphemeralDirectoryGcePdOutput) SourceSnapshot added in v7.15.0

Name of the snapshot to use as the source for the disk. Must be empty if `sourceImage` is set. Must be empty if `readOnly` is false. Updating `sourceSnapshot` will update content in the ephemeral directory after the workstation is restarted.

func (WorkstationConfigEphemeralDirectoryGcePdOutput) ToWorkstationConfigEphemeralDirectoryGcePdOutput added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryGcePdOutput) ToWorkstationConfigEphemeralDirectoryGcePdOutput() WorkstationConfigEphemeralDirectoryGcePdOutput

func (WorkstationConfigEphemeralDirectoryGcePdOutput) ToWorkstationConfigEphemeralDirectoryGcePdOutputWithContext added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryGcePdOutput) ToWorkstationConfigEphemeralDirectoryGcePdOutputWithContext(ctx context.Context) WorkstationConfigEphemeralDirectoryGcePdOutput

func (WorkstationConfigEphemeralDirectoryGcePdOutput) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutput added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryGcePdOutput) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutput() WorkstationConfigEphemeralDirectoryGcePdPtrOutput

func (WorkstationConfigEphemeralDirectoryGcePdOutput) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutputWithContext added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryGcePdOutput) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutputWithContext(ctx context.Context) WorkstationConfigEphemeralDirectoryGcePdPtrOutput

type WorkstationConfigEphemeralDirectoryGcePdPtrInput added in v7.15.0

type WorkstationConfigEphemeralDirectoryGcePdPtrInput interface {
	pulumi.Input

	ToWorkstationConfigEphemeralDirectoryGcePdPtrOutput() WorkstationConfigEphemeralDirectoryGcePdPtrOutput
	ToWorkstationConfigEphemeralDirectoryGcePdPtrOutputWithContext(context.Context) WorkstationConfigEphemeralDirectoryGcePdPtrOutput
}

WorkstationConfigEphemeralDirectoryGcePdPtrInput is an input type that accepts WorkstationConfigEphemeralDirectoryGcePdArgs, WorkstationConfigEphemeralDirectoryGcePdPtr and WorkstationConfigEphemeralDirectoryGcePdPtrOutput values. You can construct a concrete instance of `WorkstationConfigEphemeralDirectoryGcePdPtrInput` via:

        WorkstationConfigEphemeralDirectoryGcePdArgs{...}

or:

        nil

type WorkstationConfigEphemeralDirectoryGcePdPtrOutput added in v7.15.0

type WorkstationConfigEphemeralDirectoryGcePdPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigEphemeralDirectoryGcePdPtrOutput) DiskType added in v7.15.0

Type of the disk to use. Defaults to `"pd-standard"`.

func (WorkstationConfigEphemeralDirectoryGcePdPtrOutput) Elem added in v7.15.0

func (WorkstationConfigEphemeralDirectoryGcePdPtrOutput) ElementType added in v7.15.0

func (WorkstationConfigEphemeralDirectoryGcePdPtrOutput) ReadOnly added in v7.15.0

Whether the disk is read only. If true, the disk may be shared by multiple VMs and `sourceSnapshot` must be set.

func (WorkstationConfigEphemeralDirectoryGcePdPtrOutput) SourceImage added in v7.15.0

Name of the disk image to use as the source for the disk. Must be empty `sourceSnapshot` is set. Updating `sourceImage` will update content in the ephemeral directory after the workstation is restarted.

func (WorkstationConfigEphemeralDirectoryGcePdPtrOutput) SourceSnapshot added in v7.15.0

Name of the snapshot to use as the source for the disk. Must be empty if `sourceImage` is set. Must be empty if `readOnly` is false. Updating `sourceSnapshot` will update content in the ephemeral directory after the workstation is restarted.

func (WorkstationConfigEphemeralDirectoryGcePdPtrOutput) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutput added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryGcePdPtrOutput) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutput() WorkstationConfigEphemeralDirectoryGcePdPtrOutput

func (WorkstationConfigEphemeralDirectoryGcePdPtrOutput) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutputWithContext added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryGcePdPtrOutput) ToWorkstationConfigEphemeralDirectoryGcePdPtrOutputWithContext(ctx context.Context) WorkstationConfigEphemeralDirectoryGcePdPtrOutput

type WorkstationConfigEphemeralDirectoryInput added in v7.15.0

type WorkstationConfigEphemeralDirectoryInput interface {
	pulumi.Input

	ToWorkstationConfigEphemeralDirectoryOutput() WorkstationConfigEphemeralDirectoryOutput
	ToWorkstationConfigEphemeralDirectoryOutputWithContext(context.Context) WorkstationConfigEphemeralDirectoryOutput
}

WorkstationConfigEphemeralDirectoryInput is an input type that accepts WorkstationConfigEphemeralDirectoryArgs and WorkstationConfigEphemeralDirectoryOutput values. You can construct a concrete instance of `WorkstationConfigEphemeralDirectoryInput` via:

WorkstationConfigEphemeralDirectoryArgs{...}

type WorkstationConfigEphemeralDirectoryOutput added in v7.15.0

type WorkstationConfigEphemeralDirectoryOutput struct{ *pulumi.OutputState }

func (WorkstationConfigEphemeralDirectoryOutput) ElementType added in v7.15.0

func (WorkstationConfigEphemeralDirectoryOutput) GcePd added in v7.15.0

An EphemeralDirectory backed by a Compute Engine persistent disk. Structure is documented below.

func (WorkstationConfigEphemeralDirectoryOutput) MountPath added in v7.15.0

Location of this directory in the running workstation.

func (WorkstationConfigEphemeralDirectoryOutput) ToWorkstationConfigEphemeralDirectoryOutput added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryOutput) ToWorkstationConfigEphemeralDirectoryOutput() WorkstationConfigEphemeralDirectoryOutput

func (WorkstationConfigEphemeralDirectoryOutput) ToWorkstationConfigEphemeralDirectoryOutputWithContext added in v7.15.0

func (o WorkstationConfigEphemeralDirectoryOutput) ToWorkstationConfigEphemeralDirectoryOutputWithContext(ctx context.Context) WorkstationConfigEphemeralDirectoryOutput

type WorkstationConfigHost

type WorkstationConfigHost struct {
	// A runtime using a Compute Engine instance.
	// Structure is documented below.
	GceInstance *WorkstationConfigHostGceInstance `pulumi:"gceInstance"`
}

type WorkstationConfigHostArgs

type WorkstationConfigHostArgs struct {
	// A runtime using a Compute Engine instance.
	// Structure is documented below.
	GceInstance WorkstationConfigHostGceInstancePtrInput `pulumi:"gceInstance"`
}

func (WorkstationConfigHostArgs) ElementType

func (WorkstationConfigHostArgs) ElementType() reflect.Type

func (WorkstationConfigHostArgs) ToWorkstationConfigHostOutput

func (i WorkstationConfigHostArgs) ToWorkstationConfigHostOutput() WorkstationConfigHostOutput

func (WorkstationConfigHostArgs) ToWorkstationConfigHostOutputWithContext

func (i WorkstationConfigHostArgs) ToWorkstationConfigHostOutputWithContext(ctx context.Context) WorkstationConfigHostOutput

func (WorkstationConfigHostArgs) ToWorkstationConfigHostPtrOutput

func (i WorkstationConfigHostArgs) ToWorkstationConfigHostPtrOutput() WorkstationConfigHostPtrOutput

func (WorkstationConfigHostArgs) ToWorkstationConfigHostPtrOutputWithContext

func (i WorkstationConfigHostArgs) ToWorkstationConfigHostPtrOutputWithContext(ctx context.Context) WorkstationConfigHostPtrOutput

type WorkstationConfigHostGceInstance

type WorkstationConfigHostGceInstance struct {
	// An accelerator card attached to the instance.
	// Structure is documented below.
	Accelerators []WorkstationConfigHostGceInstanceAccelerator `pulumi:"accelerators"`
	// A list of the boost configurations that workstations created using this workstation configuration are allowed to use.
	// Structure is documented below.
	BoostConfigs []WorkstationConfigHostGceInstanceBoostConfig `pulumi:"boostConfigs"`
	// Size of the boot disk in GB.
	BootDiskSizeGb *int `pulumi:"bootDiskSizeGb"`
	// A set of Compute Engine Confidential VM instance options.
	// Structure is documented below.
	ConfidentialInstanceConfig *WorkstationConfigHostGceInstanceConfidentialInstanceConfig `pulumi:"confidentialInstanceConfig"`
	// Whether instances have no public IP address.
	DisablePublicIpAddresses *bool `pulumi:"disablePublicIpAddresses"`
	// Whether to disable SSH access to the VM.
	DisableSsh *bool `pulumi:"disableSsh"`
	// Whether to enable nested virtualization on the Compute Engine VMs backing the Workstations.
	// See https://cloud.google.com/workstations/docs/reference/rest/v1beta/projects.locations.workstationClusters.workstationConfigs#GceInstance.FIELDS.enable_nested_virtualization
	EnableNestedVirtualization *bool `pulumi:"enableNestedVirtualization"`
	// The name of a Compute Engine machine type.
	MachineType *string `pulumi:"machineType"`
	// Number of instances to pool for faster workstation startup.
	PoolSize *int `pulumi:"poolSize"`
	// Email address of the service account that will be used on VM instances used to support this config. This service account must have permission to pull the specified container image. If not set, VMs will run without a service account, in which case the image must be publicly accessible.
	ServiceAccount *string `pulumi:"serviceAccount"`
	// Scopes to grant to the service_account. Various scopes are automatically added based on feature usage. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.
	ServiceAccountScopes []string `pulumi:"serviceAccountScopes"`
	// A set of Compute Engine Shielded instance options.
	// Structure is documented below.
	ShieldedInstanceConfig *WorkstationConfigHostGceInstanceShieldedInstanceConfig `pulumi:"shieldedInstanceConfig"`
	// Network tags to add to the Compute Engine machines backing the Workstations.
	Tags []string `pulumi:"tags"`
}

type WorkstationConfigHostGceInstanceAccelerator

type WorkstationConfigHostGceInstanceAccelerator struct {
	// Number of accelerator cards exposed to the instance.
	Count int `pulumi:"count"`
	// Type of accelerator resource to attach to the instance, for example, "nvidia-tesla-p100".
	Type string `pulumi:"type"`
}

type WorkstationConfigHostGceInstanceAcceleratorArgs

type WorkstationConfigHostGceInstanceAcceleratorArgs struct {
	// Number of accelerator cards exposed to the instance.
	Count pulumi.IntInput `pulumi:"count"`
	// Type of accelerator resource to attach to the instance, for example, "nvidia-tesla-p100".
	Type pulumi.StringInput `pulumi:"type"`
}

func (WorkstationConfigHostGceInstanceAcceleratorArgs) ElementType

func (WorkstationConfigHostGceInstanceAcceleratorArgs) ToWorkstationConfigHostGceInstanceAcceleratorOutput

func (i WorkstationConfigHostGceInstanceAcceleratorArgs) ToWorkstationConfigHostGceInstanceAcceleratorOutput() WorkstationConfigHostGceInstanceAcceleratorOutput

func (WorkstationConfigHostGceInstanceAcceleratorArgs) ToWorkstationConfigHostGceInstanceAcceleratorOutputWithContext

func (i WorkstationConfigHostGceInstanceAcceleratorArgs) ToWorkstationConfigHostGceInstanceAcceleratorOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceAcceleratorOutput

type WorkstationConfigHostGceInstanceAcceleratorArray

type WorkstationConfigHostGceInstanceAcceleratorArray []WorkstationConfigHostGceInstanceAcceleratorInput

func (WorkstationConfigHostGceInstanceAcceleratorArray) ElementType

func (WorkstationConfigHostGceInstanceAcceleratorArray) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutput

func (i WorkstationConfigHostGceInstanceAcceleratorArray) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutput() WorkstationConfigHostGceInstanceAcceleratorArrayOutput

func (WorkstationConfigHostGceInstanceAcceleratorArray) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutputWithContext

func (i WorkstationConfigHostGceInstanceAcceleratorArray) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceAcceleratorArrayOutput

type WorkstationConfigHostGceInstanceAcceleratorArrayInput

type WorkstationConfigHostGceInstanceAcceleratorArrayInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceAcceleratorArrayOutput() WorkstationConfigHostGceInstanceAcceleratorArrayOutput
	ToWorkstationConfigHostGceInstanceAcceleratorArrayOutputWithContext(context.Context) WorkstationConfigHostGceInstanceAcceleratorArrayOutput
}

WorkstationConfigHostGceInstanceAcceleratorArrayInput is an input type that accepts WorkstationConfigHostGceInstanceAcceleratorArray and WorkstationConfigHostGceInstanceAcceleratorArrayOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceAcceleratorArrayInput` via:

WorkstationConfigHostGceInstanceAcceleratorArray{ WorkstationConfigHostGceInstanceAcceleratorArgs{...} }

type WorkstationConfigHostGceInstanceAcceleratorArrayOutput

type WorkstationConfigHostGceInstanceAcceleratorArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceAcceleratorArrayOutput) ElementType

func (WorkstationConfigHostGceInstanceAcceleratorArrayOutput) Index

func (WorkstationConfigHostGceInstanceAcceleratorArrayOutput) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutput

func (WorkstationConfigHostGceInstanceAcceleratorArrayOutput) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutputWithContext

func (o WorkstationConfigHostGceInstanceAcceleratorArrayOutput) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceAcceleratorArrayOutput

type WorkstationConfigHostGceInstanceAcceleratorInput

type WorkstationConfigHostGceInstanceAcceleratorInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceAcceleratorOutput() WorkstationConfigHostGceInstanceAcceleratorOutput
	ToWorkstationConfigHostGceInstanceAcceleratorOutputWithContext(context.Context) WorkstationConfigHostGceInstanceAcceleratorOutput
}

WorkstationConfigHostGceInstanceAcceleratorInput is an input type that accepts WorkstationConfigHostGceInstanceAcceleratorArgs and WorkstationConfigHostGceInstanceAcceleratorOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceAcceleratorInput` via:

WorkstationConfigHostGceInstanceAcceleratorArgs{...}

type WorkstationConfigHostGceInstanceAcceleratorOutput

type WorkstationConfigHostGceInstanceAcceleratorOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceAcceleratorOutput) Count

Number of accelerator cards exposed to the instance.

func (WorkstationConfigHostGceInstanceAcceleratorOutput) ElementType

func (WorkstationConfigHostGceInstanceAcceleratorOutput) ToWorkstationConfigHostGceInstanceAcceleratorOutput

func (o WorkstationConfigHostGceInstanceAcceleratorOutput) ToWorkstationConfigHostGceInstanceAcceleratorOutput() WorkstationConfigHostGceInstanceAcceleratorOutput

func (WorkstationConfigHostGceInstanceAcceleratorOutput) ToWorkstationConfigHostGceInstanceAcceleratorOutputWithContext

func (o WorkstationConfigHostGceInstanceAcceleratorOutput) ToWorkstationConfigHostGceInstanceAcceleratorOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceAcceleratorOutput

func (WorkstationConfigHostGceInstanceAcceleratorOutput) Type

Type of accelerator resource to attach to the instance, for example, "nvidia-tesla-p100".

type WorkstationConfigHostGceInstanceArgs

type WorkstationConfigHostGceInstanceArgs struct {
	// An accelerator card attached to the instance.
	// Structure is documented below.
	Accelerators WorkstationConfigHostGceInstanceAcceleratorArrayInput `pulumi:"accelerators"`
	// A list of the boost configurations that workstations created using this workstation configuration are allowed to use.
	// Structure is documented below.
	BoostConfigs WorkstationConfigHostGceInstanceBoostConfigArrayInput `pulumi:"boostConfigs"`
	// Size of the boot disk in GB.
	BootDiskSizeGb pulumi.IntPtrInput `pulumi:"bootDiskSizeGb"`
	// A set of Compute Engine Confidential VM instance options.
	// Structure is documented below.
	ConfidentialInstanceConfig WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrInput `pulumi:"confidentialInstanceConfig"`
	// Whether instances have no public IP address.
	DisablePublicIpAddresses pulumi.BoolPtrInput `pulumi:"disablePublicIpAddresses"`
	// Whether to disable SSH access to the VM.
	DisableSsh pulumi.BoolPtrInput `pulumi:"disableSsh"`
	// Whether to enable nested virtualization on the Compute Engine VMs backing the Workstations.
	// See https://cloud.google.com/workstations/docs/reference/rest/v1beta/projects.locations.workstationClusters.workstationConfigs#GceInstance.FIELDS.enable_nested_virtualization
	EnableNestedVirtualization pulumi.BoolPtrInput `pulumi:"enableNestedVirtualization"`
	// The name of a Compute Engine machine type.
	MachineType pulumi.StringPtrInput `pulumi:"machineType"`
	// Number of instances to pool for faster workstation startup.
	PoolSize pulumi.IntPtrInput `pulumi:"poolSize"`
	// Email address of the service account that will be used on VM instances used to support this config. This service account must have permission to pull the specified container image. If not set, VMs will run without a service account, in which case the image must be publicly accessible.
	ServiceAccount pulumi.StringPtrInput `pulumi:"serviceAccount"`
	// Scopes to grant to the service_account. Various scopes are automatically added based on feature usage. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.
	ServiceAccountScopes pulumi.StringArrayInput `pulumi:"serviceAccountScopes"`
	// A set of Compute Engine Shielded instance options.
	// Structure is documented below.
	ShieldedInstanceConfig WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrInput `pulumi:"shieldedInstanceConfig"`
	// Network tags to add to the Compute Engine machines backing the Workstations.
	Tags pulumi.StringArrayInput `pulumi:"tags"`
}

func (WorkstationConfigHostGceInstanceArgs) ElementType

func (WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstanceOutput

func (i WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstanceOutput() WorkstationConfigHostGceInstanceOutput

func (WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstanceOutputWithContext

func (i WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstanceOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceOutput

func (WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstancePtrOutput

func (i WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstancePtrOutput() WorkstationConfigHostGceInstancePtrOutput

func (WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstancePtrOutputWithContext

func (i WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstancePtrOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstancePtrOutput

type WorkstationConfigHostGceInstanceBoostConfig added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfig struct {
	// An accelerator card attached to the boost instance.
	// Structure is documented below.
	Accelerators []WorkstationConfigHostGceInstanceBoostConfigAccelerator `pulumi:"accelerators"`
	// The id to be used for the boost config.
	Id string `pulumi:"id"`
	// The type of machine that boosted VM instances will use—for example, e2-standard-4. For more information about machine types that Cloud Workstations supports, see the list of available machine types https://cloud.google.com/workstations/docs/available-machine-types. Defaults to e2-standard-4.
	MachineType *string `pulumi:"machineType"`
}

type WorkstationConfigHostGceInstanceBoostConfigAccelerator added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigAccelerator struct {
	// Number of accelerator cards exposed to the instance.
	Count int `pulumi:"count"`
	// Type of accelerator resource to attach to the instance, for example, "nvidia-tesla-p100".
	Type string `pulumi:"type"`
}

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs struct {
	// Number of accelerator cards exposed to the instance.
	Count pulumi.IntInput `pulumi:"count"`
	// Type of accelerator resource to attach to the instance, for example, "nvidia-tesla-p100".
	Type pulumi.StringInput `pulumi:"type"`
}

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs) ElementType added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorOutputWithContext added in v7.16.0

func (i WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorArray added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorArray []WorkstationConfigHostGceInstanceBoostConfigAcceleratorInput

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArray) ElementType added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArray) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArray) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutputWithContext added in v7.16.0

func (i WorkstationConfigHostGceInstanceBoostConfigAcceleratorArray) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayInput added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput() WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput
	ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutputWithContext(context.Context) WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput
}

WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayInput is an input type that accepts WorkstationConfigHostGceInstanceBoostConfigAcceleratorArray and WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayInput` via:

WorkstationConfigHostGceInstanceBoostConfigAcceleratorArray{ WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs{...} }

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput) ElementType added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput) Index added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutputWithContext added in v7.16.0

func (o WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayOutput

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorInput added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput() WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput
	ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorOutputWithContext(context.Context) WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput
}

WorkstationConfigHostGceInstanceBoostConfigAcceleratorInput is an input type that accepts WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs and WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceBoostConfigAcceleratorInput` via:

WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs{...}

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput) Count added in v7.16.0

Number of accelerator cards exposed to the instance.

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput) ElementType added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorOutputWithContext added in v7.16.0

func (o WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput) ToWorkstationConfigHostGceInstanceBoostConfigAcceleratorOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput

func (WorkstationConfigHostGceInstanceBoostConfigAcceleratorOutput) Type added in v7.16.0

Type of accelerator resource to attach to the instance, for example, "nvidia-tesla-p100".

type WorkstationConfigHostGceInstanceBoostConfigArgs added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigArgs struct {
	// An accelerator card attached to the boost instance.
	// Structure is documented below.
	Accelerators WorkstationConfigHostGceInstanceBoostConfigAcceleratorArrayInput `pulumi:"accelerators"`
	// The id to be used for the boost config.
	Id pulumi.StringInput `pulumi:"id"`
	// The type of machine that boosted VM instances will use—for example, e2-standard-4. For more information about machine types that Cloud Workstations supports, see the list of available machine types https://cloud.google.com/workstations/docs/available-machine-types. Defaults to e2-standard-4.
	MachineType pulumi.StringPtrInput `pulumi:"machineType"`
}

func (WorkstationConfigHostGceInstanceBoostConfigArgs) ElementType added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigArgs) ToWorkstationConfigHostGceInstanceBoostConfigOutput added in v7.16.0

func (i WorkstationConfigHostGceInstanceBoostConfigArgs) ToWorkstationConfigHostGceInstanceBoostConfigOutput() WorkstationConfigHostGceInstanceBoostConfigOutput

func (WorkstationConfigHostGceInstanceBoostConfigArgs) ToWorkstationConfigHostGceInstanceBoostConfigOutputWithContext added in v7.16.0

func (i WorkstationConfigHostGceInstanceBoostConfigArgs) ToWorkstationConfigHostGceInstanceBoostConfigOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceBoostConfigOutput

type WorkstationConfigHostGceInstanceBoostConfigArray added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigArray []WorkstationConfigHostGceInstanceBoostConfigInput

func (WorkstationConfigHostGceInstanceBoostConfigArray) ElementType added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigArray) ToWorkstationConfigHostGceInstanceBoostConfigArrayOutput added in v7.16.0

func (i WorkstationConfigHostGceInstanceBoostConfigArray) ToWorkstationConfigHostGceInstanceBoostConfigArrayOutput() WorkstationConfigHostGceInstanceBoostConfigArrayOutput

func (WorkstationConfigHostGceInstanceBoostConfigArray) ToWorkstationConfigHostGceInstanceBoostConfigArrayOutputWithContext added in v7.16.0

func (i WorkstationConfigHostGceInstanceBoostConfigArray) ToWorkstationConfigHostGceInstanceBoostConfigArrayOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceBoostConfigArrayOutput

type WorkstationConfigHostGceInstanceBoostConfigArrayInput added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigArrayInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceBoostConfigArrayOutput() WorkstationConfigHostGceInstanceBoostConfigArrayOutput
	ToWorkstationConfigHostGceInstanceBoostConfigArrayOutputWithContext(context.Context) WorkstationConfigHostGceInstanceBoostConfigArrayOutput
}

WorkstationConfigHostGceInstanceBoostConfigArrayInput is an input type that accepts WorkstationConfigHostGceInstanceBoostConfigArray and WorkstationConfigHostGceInstanceBoostConfigArrayOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceBoostConfigArrayInput` via:

WorkstationConfigHostGceInstanceBoostConfigArray{ WorkstationConfigHostGceInstanceBoostConfigArgs{...} }

type WorkstationConfigHostGceInstanceBoostConfigArrayOutput added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceBoostConfigArrayOutput) ElementType added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigArrayOutput) Index added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigArrayOutput) ToWorkstationConfigHostGceInstanceBoostConfigArrayOutput added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigArrayOutput) ToWorkstationConfigHostGceInstanceBoostConfigArrayOutputWithContext added in v7.16.0

func (o WorkstationConfigHostGceInstanceBoostConfigArrayOutput) ToWorkstationConfigHostGceInstanceBoostConfigArrayOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceBoostConfigArrayOutput

type WorkstationConfigHostGceInstanceBoostConfigInput added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceBoostConfigOutput() WorkstationConfigHostGceInstanceBoostConfigOutput
	ToWorkstationConfigHostGceInstanceBoostConfigOutputWithContext(context.Context) WorkstationConfigHostGceInstanceBoostConfigOutput
}

WorkstationConfigHostGceInstanceBoostConfigInput is an input type that accepts WorkstationConfigHostGceInstanceBoostConfigArgs and WorkstationConfigHostGceInstanceBoostConfigOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceBoostConfigInput` via:

WorkstationConfigHostGceInstanceBoostConfigArgs{...}

type WorkstationConfigHostGceInstanceBoostConfigOutput added in v7.16.0

type WorkstationConfigHostGceInstanceBoostConfigOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceBoostConfigOutput) Accelerators added in v7.16.0

An accelerator card attached to the boost instance. Structure is documented below.

func (WorkstationConfigHostGceInstanceBoostConfigOutput) ElementType added in v7.16.0

func (WorkstationConfigHostGceInstanceBoostConfigOutput) Id added in v7.16.0

The id to be used for the boost config.

func (WorkstationConfigHostGceInstanceBoostConfigOutput) MachineType added in v7.16.0

The type of machine that boosted VM instances will use—for example, e2-standard-4. For more information about machine types that Cloud Workstations supports, see the list of available machine types https://cloud.google.com/workstations/docs/available-machine-types. Defaults to e2-standard-4.

func (WorkstationConfigHostGceInstanceBoostConfigOutput) ToWorkstationConfigHostGceInstanceBoostConfigOutput added in v7.16.0

func (o WorkstationConfigHostGceInstanceBoostConfigOutput) ToWorkstationConfigHostGceInstanceBoostConfigOutput() WorkstationConfigHostGceInstanceBoostConfigOutput

func (WorkstationConfigHostGceInstanceBoostConfigOutput) ToWorkstationConfigHostGceInstanceBoostConfigOutputWithContext added in v7.16.0

func (o WorkstationConfigHostGceInstanceBoostConfigOutput) ToWorkstationConfigHostGceInstanceBoostConfigOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceBoostConfigOutput

type WorkstationConfigHostGceInstanceConfidentialInstanceConfig

type WorkstationConfigHostGceInstanceConfidentialInstanceConfig struct {
	// Whether the instance has confidential compute enabled.
	EnableConfidentialCompute *bool `pulumi:"enableConfidentialCompute"`
}

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs struct {
	// Whether the instance has confidential compute enabled.
	EnableConfidentialCompute pulumi.BoolPtrInput `pulumi:"enableConfidentialCompute"`
}

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ElementType

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutputWithContext

func (i WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext

func (i WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigInput

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput() WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput
	ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutputWithContext(context.Context) WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput
}

WorkstationConfigHostGceInstanceConfidentialInstanceConfigInput is an input type that accepts WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs and WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceConfidentialInstanceConfigInput` via:

WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs{...}

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ElementType

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) EnableConfidentialCompute

Whether the instance has confidential compute enabled.

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutputWithContext

func (o WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext

func (o WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrInput

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput() WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput
	ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext(context.Context) WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput
}

WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrInput is an input type that accepts WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs, WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtr and WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrInput` via:

        WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs{...}

or:

        nil

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) Elem

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) ElementType

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) EnableConfidentialCompute

Whether the instance has confidential compute enabled.

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext

func (o WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput

type WorkstationConfigHostGceInstanceInput

type WorkstationConfigHostGceInstanceInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceOutput() WorkstationConfigHostGceInstanceOutput
	ToWorkstationConfigHostGceInstanceOutputWithContext(context.Context) WorkstationConfigHostGceInstanceOutput
}

WorkstationConfigHostGceInstanceInput is an input type that accepts WorkstationConfigHostGceInstanceArgs and WorkstationConfigHostGceInstanceOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceInput` via:

WorkstationConfigHostGceInstanceArgs{...}

type WorkstationConfigHostGceInstanceOutput

type WorkstationConfigHostGceInstanceOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceOutput) Accelerators

An accelerator card attached to the instance. Structure is documented below.

func (WorkstationConfigHostGceInstanceOutput) BoostConfigs added in v7.16.0

A list of the boost configurations that workstations created using this workstation configuration are allowed to use. Structure is documented below.

func (WorkstationConfigHostGceInstanceOutput) BootDiskSizeGb

Size of the boot disk in GB.

func (WorkstationConfigHostGceInstanceOutput) ConfidentialInstanceConfig

A set of Compute Engine Confidential VM instance options. Structure is documented below.

func (WorkstationConfigHostGceInstanceOutput) DisablePublicIpAddresses

func (o WorkstationConfigHostGceInstanceOutput) DisablePublicIpAddresses() pulumi.BoolPtrOutput

Whether instances have no public IP address.

func (WorkstationConfigHostGceInstanceOutput) DisableSsh added in v7.11.0

Whether to disable SSH access to the VM.

func (WorkstationConfigHostGceInstanceOutput) ElementType

func (WorkstationConfigHostGceInstanceOutput) EnableNestedVirtualization

func (o WorkstationConfigHostGceInstanceOutput) EnableNestedVirtualization() pulumi.BoolPtrOutput

Whether to enable nested virtualization on the Compute Engine VMs backing the Workstations. See https://cloud.google.com/workstations/docs/reference/rest/v1beta/projects.locations.workstationClusters.workstationConfigs#GceInstance.FIELDS.enable_nested_virtualization

func (WorkstationConfigHostGceInstanceOutput) MachineType

The name of a Compute Engine machine type.

func (WorkstationConfigHostGceInstanceOutput) PoolSize

Number of instances to pool for faster workstation startup.

func (WorkstationConfigHostGceInstanceOutput) ServiceAccount

Email address of the service account that will be used on VM instances used to support this config. This service account must have permission to pull the specified container image. If not set, VMs will run without a service account, in which case the image must be publicly accessible.

func (WorkstationConfigHostGceInstanceOutput) ServiceAccountScopes

Scopes to grant to the service_account. Various scopes are automatically added based on feature usage. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.

func (WorkstationConfigHostGceInstanceOutput) ShieldedInstanceConfig

A set of Compute Engine Shielded instance options. Structure is documented below.

func (WorkstationConfigHostGceInstanceOutput) Tags

Network tags to add to the Compute Engine machines backing the Workstations.

func (WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstanceOutput

func (o WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstanceOutput() WorkstationConfigHostGceInstanceOutput

func (WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstanceOutputWithContext

func (o WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstanceOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceOutput

func (WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstancePtrOutput

func (o WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstancePtrOutput() WorkstationConfigHostGceInstancePtrOutput

func (WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstancePtrOutputWithContext

func (o WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstancePtrOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstancePtrOutput

type WorkstationConfigHostGceInstancePtrInput

type WorkstationConfigHostGceInstancePtrInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstancePtrOutput() WorkstationConfigHostGceInstancePtrOutput
	ToWorkstationConfigHostGceInstancePtrOutputWithContext(context.Context) WorkstationConfigHostGceInstancePtrOutput
}

WorkstationConfigHostGceInstancePtrInput is an input type that accepts WorkstationConfigHostGceInstanceArgs, WorkstationConfigHostGceInstancePtr and WorkstationConfigHostGceInstancePtrOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstancePtrInput` via:

        WorkstationConfigHostGceInstanceArgs{...}

or:

        nil

type WorkstationConfigHostGceInstancePtrOutput

type WorkstationConfigHostGceInstancePtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstancePtrOutput) Accelerators

An accelerator card attached to the instance. Structure is documented below.

func (WorkstationConfigHostGceInstancePtrOutput) BoostConfigs added in v7.16.0

A list of the boost configurations that workstations created using this workstation configuration are allowed to use. Structure is documented below.

func (WorkstationConfigHostGceInstancePtrOutput) BootDiskSizeGb

Size of the boot disk in GB.

func (WorkstationConfigHostGceInstancePtrOutput) ConfidentialInstanceConfig

A set of Compute Engine Confidential VM instance options. Structure is documented below.

func (WorkstationConfigHostGceInstancePtrOutput) DisablePublicIpAddresses

func (o WorkstationConfigHostGceInstancePtrOutput) DisablePublicIpAddresses() pulumi.BoolPtrOutput

Whether instances have no public IP address.

func (WorkstationConfigHostGceInstancePtrOutput) DisableSsh added in v7.11.0

Whether to disable SSH access to the VM.

func (WorkstationConfigHostGceInstancePtrOutput) Elem

func (WorkstationConfigHostGceInstancePtrOutput) ElementType

func (WorkstationConfigHostGceInstancePtrOutput) EnableNestedVirtualization

func (o WorkstationConfigHostGceInstancePtrOutput) EnableNestedVirtualization() pulumi.BoolPtrOutput

Whether to enable nested virtualization on the Compute Engine VMs backing the Workstations. See https://cloud.google.com/workstations/docs/reference/rest/v1beta/projects.locations.workstationClusters.workstationConfigs#GceInstance.FIELDS.enable_nested_virtualization

func (WorkstationConfigHostGceInstancePtrOutput) MachineType

The name of a Compute Engine machine type.

func (WorkstationConfigHostGceInstancePtrOutput) PoolSize

Number of instances to pool for faster workstation startup.

func (WorkstationConfigHostGceInstancePtrOutput) ServiceAccount

Email address of the service account that will be used on VM instances used to support this config. This service account must have permission to pull the specified container image. If not set, VMs will run without a service account, in which case the image must be publicly accessible.

func (WorkstationConfigHostGceInstancePtrOutput) ServiceAccountScopes

Scopes to grant to the service_account. Various scopes are automatically added based on feature usage. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.

func (WorkstationConfigHostGceInstancePtrOutput) ShieldedInstanceConfig

A set of Compute Engine Shielded instance options. Structure is documented below.

func (WorkstationConfigHostGceInstancePtrOutput) Tags

Network tags to add to the Compute Engine machines backing the Workstations.

func (WorkstationConfigHostGceInstancePtrOutput) ToWorkstationConfigHostGceInstancePtrOutput

func (o WorkstationConfigHostGceInstancePtrOutput) ToWorkstationConfigHostGceInstancePtrOutput() WorkstationConfigHostGceInstancePtrOutput

func (WorkstationConfigHostGceInstancePtrOutput) ToWorkstationConfigHostGceInstancePtrOutputWithContext

func (o WorkstationConfigHostGceInstancePtrOutput) ToWorkstationConfigHostGceInstancePtrOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstancePtrOutput

type WorkstationConfigHostGceInstanceShieldedInstanceConfig

type WorkstationConfigHostGceInstanceShieldedInstanceConfig struct {
	// Whether the instance has integrity monitoring enabled.
	EnableIntegrityMonitoring *bool `pulumi:"enableIntegrityMonitoring"`
	// Whether the instance has Secure Boot enabled.
	EnableSecureBoot *bool `pulumi:"enableSecureBoot"`
	// Whether the instance has the vTPM enabled.
	EnableVtpm *bool `pulumi:"enableVtpm"`
}

type WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs

type WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs struct {
	// Whether the instance has integrity monitoring enabled.
	EnableIntegrityMonitoring pulumi.BoolPtrInput `pulumi:"enableIntegrityMonitoring"`
	// Whether the instance has Secure Boot enabled.
	EnableSecureBoot pulumi.BoolPtrInput `pulumi:"enableSecureBoot"`
	// Whether the instance has the vTPM enabled.
	EnableVtpm pulumi.BoolPtrInput `pulumi:"enableVtpm"`
}

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ElementType

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutput

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutputWithContext

func (i WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext

func (i WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput

type WorkstationConfigHostGceInstanceShieldedInstanceConfigInput

type WorkstationConfigHostGceInstanceShieldedInstanceConfigInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutput() WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput
	ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutputWithContext(context.Context) WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput
}

WorkstationConfigHostGceInstanceShieldedInstanceConfigInput is an input type that accepts WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs and WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceShieldedInstanceConfigInput` via:

WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs{...}

type WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput

type WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ElementType

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) EnableIntegrityMonitoring

Whether the instance has integrity monitoring enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) EnableSecureBoot

Whether the instance has Secure Boot enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) EnableVtpm

Whether the instance has the vTPM enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutput

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutputWithContext

func (o WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext

func (o WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput

type WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrInput

type WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrInput interface {
	pulumi.Input

	ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput() WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput
	ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext(context.Context) WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput
}

WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrInput is an input type that accepts WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs, WorkstationConfigHostGceInstanceShieldedInstanceConfigPtr and WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput values. You can construct a concrete instance of `WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrInput` via:

        WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs{...}

or:

        nil

type WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput

type WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) Elem

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) ElementType

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) EnableIntegrityMonitoring

Whether the instance has integrity monitoring enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) EnableSecureBoot

Whether the instance has Secure Boot enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) EnableVtpm

Whether the instance has the vTPM enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext

func (o WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext(ctx context.Context) WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput

type WorkstationConfigHostInput

type WorkstationConfigHostInput interface {
	pulumi.Input

	ToWorkstationConfigHostOutput() WorkstationConfigHostOutput
	ToWorkstationConfigHostOutputWithContext(context.Context) WorkstationConfigHostOutput
}

WorkstationConfigHostInput is an input type that accepts WorkstationConfigHostArgs and WorkstationConfigHostOutput values. You can construct a concrete instance of `WorkstationConfigHostInput` via:

WorkstationConfigHostArgs{...}

type WorkstationConfigHostOutput

type WorkstationConfigHostOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostOutput) ElementType

func (WorkstationConfigHostOutput) GceInstance

A runtime using a Compute Engine instance. Structure is documented below.

func (WorkstationConfigHostOutput) ToWorkstationConfigHostOutput

func (o WorkstationConfigHostOutput) ToWorkstationConfigHostOutput() WorkstationConfigHostOutput

func (WorkstationConfigHostOutput) ToWorkstationConfigHostOutputWithContext

func (o WorkstationConfigHostOutput) ToWorkstationConfigHostOutputWithContext(ctx context.Context) WorkstationConfigHostOutput

func (WorkstationConfigHostOutput) ToWorkstationConfigHostPtrOutput

func (o WorkstationConfigHostOutput) ToWorkstationConfigHostPtrOutput() WorkstationConfigHostPtrOutput

func (WorkstationConfigHostOutput) ToWorkstationConfigHostPtrOutputWithContext

func (o WorkstationConfigHostOutput) ToWorkstationConfigHostPtrOutputWithContext(ctx context.Context) WorkstationConfigHostPtrOutput

type WorkstationConfigHostPtrInput

type WorkstationConfigHostPtrInput interface {
	pulumi.Input

	ToWorkstationConfigHostPtrOutput() WorkstationConfigHostPtrOutput
	ToWorkstationConfigHostPtrOutputWithContext(context.Context) WorkstationConfigHostPtrOutput
}

WorkstationConfigHostPtrInput is an input type that accepts WorkstationConfigHostArgs, WorkstationConfigHostPtr and WorkstationConfigHostPtrOutput values. You can construct a concrete instance of `WorkstationConfigHostPtrInput` via:

        WorkstationConfigHostArgs{...}

or:

        nil

type WorkstationConfigHostPtrOutput

type WorkstationConfigHostPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostPtrOutput) Elem

func (WorkstationConfigHostPtrOutput) ElementType

func (WorkstationConfigHostPtrOutput) GceInstance

A runtime using a Compute Engine instance. Structure is documented below.

func (WorkstationConfigHostPtrOutput) ToWorkstationConfigHostPtrOutput

func (o WorkstationConfigHostPtrOutput) ToWorkstationConfigHostPtrOutput() WorkstationConfigHostPtrOutput

func (WorkstationConfigHostPtrOutput) ToWorkstationConfigHostPtrOutputWithContext

func (o WorkstationConfigHostPtrOutput) ToWorkstationConfigHostPtrOutputWithContext(ctx context.Context) WorkstationConfigHostPtrOutput

type WorkstationConfigIamBinding

type WorkstationConfigIamBinding struct {
	pulumi.CustomResourceState

	Condition WorkstationConfigIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `workstations.WorkstationConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringOutput `pulumi:"role"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringOutput `pulumi:"workstationConfigId"`
}

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}

* {{project}}/{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}

* {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}

* {{workstation_config_id}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Workstations workstationconfig IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:workstations/workstationConfigIamBinding:WorkstationConfigIamBinding editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:workstations/workstationConfigIamBinding:WorkstationConfigIamBinding editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:workstations/workstationConfigIamBinding:WorkstationConfigIamBinding editor projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetWorkstationConfigIamBinding

func GetWorkstationConfigIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationConfigIamBindingState, opts ...pulumi.ResourceOption) (*WorkstationConfigIamBinding, error)

GetWorkstationConfigIamBinding gets an existing WorkstationConfigIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkstationConfigIamBinding

func NewWorkstationConfigIamBinding(ctx *pulumi.Context,
	name string, args *WorkstationConfigIamBindingArgs, opts ...pulumi.ResourceOption) (*WorkstationConfigIamBinding, error)

NewWorkstationConfigIamBinding registers a new resource with the given unique name, arguments, and options.

func (*WorkstationConfigIamBinding) ElementType

func (*WorkstationConfigIamBinding) ElementType() reflect.Type

func (*WorkstationConfigIamBinding) ToWorkstationConfigIamBindingOutput

func (i *WorkstationConfigIamBinding) ToWorkstationConfigIamBindingOutput() WorkstationConfigIamBindingOutput

func (*WorkstationConfigIamBinding) ToWorkstationConfigIamBindingOutputWithContext

func (i *WorkstationConfigIamBinding) ToWorkstationConfigIamBindingOutputWithContext(ctx context.Context) WorkstationConfigIamBindingOutput

type WorkstationConfigIamBindingArgs

type WorkstationConfigIamBindingArgs struct {
	Condition WorkstationConfigIamBindingConditionPtrInput
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `workstations.WorkstationConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
}

The set of arguments for constructing a WorkstationConfigIamBinding resource.

func (WorkstationConfigIamBindingArgs) ElementType

type WorkstationConfigIamBindingArray

type WorkstationConfigIamBindingArray []WorkstationConfigIamBindingInput

func (WorkstationConfigIamBindingArray) ElementType

func (WorkstationConfigIamBindingArray) ToWorkstationConfigIamBindingArrayOutput

func (i WorkstationConfigIamBindingArray) ToWorkstationConfigIamBindingArrayOutput() WorkstationConfigIamBindingArrayOutput

func (WorkstationConfigIamBindingArray) ToWorkstationConfigIamBindingArrayOutputWithContext

func (i WorkstationConfigIamBindingArray) ToWorkstationConfigIamBindingArrayOutputWithContext(ctx context.Context) WorkstationConfigIamBindingArrayOutput

type WorkstationConfigIamBindingArrayInput

type WorkstationConfigIamBindingArrayInput interface {
	pulumi.Input

	ToWorkstationConfigIamBindingArrayOutput() WorkstationConfigIamBindingArrayOutput
	ToWorkstationConfigIamBindingArrayOutputWithContext(context.Context) WorkstationConfigIamBindingArrayOutput
}

WorkstationConfigIamBindingArrayInput is an input type that accepts WorkstationConfigIamBindingArray and WorkstationConfigIamBindingArrayOutput values. You can construct a concrete instance of `WorkstationConfigIamBindingArrayInput` via:

WorkstationConfigIamBindingArray{ WorkstationConfigIamBindingArgs{...} }

type WorkstationConfigIamBindingArrayOutput

type WorkstationConfigIamBindingArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingArrayOutput) ElementType

func (WorkstationConfigIamBindingArrayOutput) Index

func (WorkstationConfigIamBindingArrayOutput) ToWorkstationConfigIamBindingArrayOutput

func (o WorkstationConfigIamBindingArrayOutput) ToWorkstationConfigIamBindingArrayOutput() WorkstationConfigIamBindingArrayOutput

func (WorkstationConfigIamBindingArrayOutput) ToWorkstationConfigIamBindingArrayOutputWithContext

func (o WorkstationConfigIamBindingArrayOutput) ToWorkstationConfigIamBindingArrayOutputWithContext(ctx context.Context) WorkstationConfigIamBindingArrayOutput

type WorkstationConfigIamBindingCondition

type WorkstationConfigIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type WorkstationConfigIamBindingConditionArgs

type WorkstationConfigIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (WorkstationConfigIamBindingConditionArgs) ElementType

func (WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionOutput

func (i WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionOutput() WorkstationConfigIamBindingConditionOutput

func (WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionOutputWithContext

func (i WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionOutputWithContext(ctx context.Context) WorkstationConfigIamBindingConditionOutput

func (WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionPtrOutput

func (i WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionPtrOutput() WorkstationConfigIamBindingConditionPtrOutput

func (WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionPtrOutputWithContext

func (i WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionPtrOutputWithContext(ctx context.Context) WorkstationConfigIamBindingConditionPtrOutput

type WorkstationConfigIamBindingConditionInput

type WorkstationConfigIamBindingConditionInput interface {
	pulumi.Input

	ToWorkstationConfigIamBindingConditionOutput() WorkstationConfigIamBindingConditionOutput
	ToWorkstationConfigIamBindingConditionOutputWithContext(context.Context) WorkstationConfigIamBindingConditionOutput
}

WorkstationConfigIamBindingConditionInput is an input type that accepts WorkstationConfigIamBindingConditionArgs and WorkstationConfigIamBindingConditionOutput values. You can construct a concrete instance of `WorkstationConfigIamBindingConditionInput` via:

WorkstationConfigIamBindingConditionArgs{...}

type WorkstationConfigIamBindingConditionOutput

type WorkstationConfigIamBindingConditionOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingConditionOutput) Description

func (WorkstationConfigIamBindingConditionOutput) ElementType

func (WorkstationConfigIamBindingConditionOutput) Expression

func (WorkstationConfigIamBindingConditionOutput) Title

func (WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionOutput

func (o WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionOutput() WorkstationConfigIamBindingConditionOutput

func (WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionOutputWithContext

func (o WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionOutputWithContext(ctx context.Context) WorkstationConfigIamBindingConditionOutput

func (WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionPtrOutput

func (o WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionPtrOutput() WorkstationConfigIamBindingConditionPtrOutput

func (WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionPtrOutputWithContext

func (o WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionPtrOutputWithContext(ctx context.Context) WorkstationConfigIamBindingConditionPtrOutput

type WorkstationConfigIamBindingConditionPtrInput

type WorkstationConfigIamBindingConditionPtrInput interface {
	pulumi.Input

	ToWorkstationConfigIamBindingConditionPtrOutput() WorkstationConfigIamBindingConditionPtrOutput
	ToWorkstationConfigIamBindingConditionPtrOutputWithContext(context.Context) WorkstationConfigIamBindingConditionPtrOutput
}

WorkstationConfigIamBindingConditionPtrInput is an input type that accepts WorkstationConfigIamBindingConditionArgs, WorkstationConfigIamBindingConditionPtr and WorkstationConfigIamBindingConditionPtrOutput values. You can construct a concrete instance of `WorkstationConfigIamBindingConditionPtrInput` via:

        WorkstationConfigIamBindingConditionArgs{...}

or:

        nil

type WorkstationConfigIamBindingConditionPtrOutput

type WorkstationConfigIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingConditionPtrOutput) Description

func (WorkstationConfigIamBindingConditionPtrOutput) Elem

func (WorkstationConfigIamBindingConditionPtrOutput) ElementType

func (WorkstationConfigIamBindingConditionPtrOutput) Expression

func (WorkstationConfigIamBindingConditionPtrOutput) Title

func (WorkstationConfigIamBindingConditionPtrOutput) ToWorkstationConfigIamBindingConditionPtrOutput

func (o WorkstationConfigIamBindingConditionPtrOutput) ToWorkstationConfigIamBindingConditionPtrOutput() WorkstationConfigIamBindingConditionPtrOutput

func (WorkstationConfigIamBindingConditionPtrOutput) ToWorkstationConfigIamBindingConditionPtrOutputWithContext

func (o WorkstationConfigIamBindingConditionPtrOutput) ToWorkstationConfigIamBindingConditionPtrOutputWithContext(ctx context.Context) WorkstationConfigIamBindingConditionPtrOutput

type WorkstationConfigIamBindingInput

type WorkstationConfigIamBindingInput interface {
	pulumi.Input

	ToWorkstationConfigIamBindingOutput() WorkstationConfigIamBindingOutput
	ToWorkstationConfigIamBindingOutputWithContext(ctx context.Context) WorkstationConfigIamBindingOutput
}

type WorkstationConfigIamBindingMap

type WorkstationConfigIamBindingMap map[string]WorkstationConfigIamBindingInput

func (WorkstationConfigIamBindingMap) ElementType

func (WorkstationConfigIamBindingMap) ToWorkstationConfigIamBindingMapOutput

func (i WorkstationConfigIamBindingMap) ToWorkstationConfigIamBindingMapOutput() WorkstationConfigIamBindingMapOutput

func (WorkstationConfigIamBindingMap) ToWorkstationConfigIamBindingMapOutputWithContext

func (i WorkstationConfigIamBindingMap) ToWorkstationConfigIamBindingMapOutputWithContext(ctx context.Context) WorkstationConfigIamBindingMapOutput

type WorkstationConfigIamBindingMapInput

type WorkstationConfigIamBindingMapInput interface {
	pulumi.Input

	ToWorkstationConfigIamBindingMapOutput() WorkstationConfigIamBindingMapOutput
	ToWorkstationConfigIamBindingMapOutputWithContext(context.Context) WorkstationConfigIamBindingMapOutput
}

WorkstationConfigIamBindingMapInput is an input type that accepts WorkstationConfigIamBindingMap and WorkstationConfigIamBindingMapOutput values. You can construct a concrete instance of `WorkstationConfigIamBindingMapInput` via:

WorkstationConfigIamBindingMap{ "key": WorkstationConfigIamBindingArgs{...} }

type WorkstationConfigIamBindingMapOutput

type WorkstationConfigIamBindingMapOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingMapOutput) ElementType

func (WorkstationConfigIamBindingMapOutput) MapIndex

func (WorkstationConfigIamBindingMapOutput) ToWorkstationConfigIamBindingMapOutput

func (o WorkstationConfigIamBindingMapOutput) ToWorkstationConfigIamBindingMapOutput() WorkstationConfigIamBindingMapOutput

func (WorkstationConfigIamBindingMapOutput) ToWorkstationConfigIamBindingMapOutputWithContext

func (o WorkstationConfigIamBindingMapOutput) ToWorkstationConfigIamBindingMapOutputWithContext(ctx context.Context) WorkstationConfigIamBindingMapOutput

type WorkstationConfigIamBindingOutput

type WorkstationConfigIamBindingOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingOutput) Condition

func (WorkstationConfigIamBindingOutput) ElementType

func (WorkstationConfigIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (WorkstationConfigIamBindingOutput) Location

The location where the workstation cluster config should reside. Used to find the parent resource to bind the IAM policy to

func (WorkstationConfigIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (WorkstationConfigIamBindingOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (WorkstationConfigIamBindingOutput) Role

The role that should be applied. Only one `workstations.WorkstationConfigIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (WorkstationConfigIamBindingOutput) ToWorkstationConfigIamBindingOutput

func (o WorkstationConfigIamBindingOutput) ToWorkstationConfigIamBindingOutput() WorkstationConfigIamBindingOutput

func (WorkstationConfigIamBindingOutput) ToWorkstationConfigIamBindingOutputWithContext

func (o WorkstationConfigIamBindingOutput) ToWorkstationConfigIamBindingOutputWithContext(ctx context.Context) WorkstationConfigIamBindingOutput

func (WorkstationConfigIamBindingOutput) WorkstationClusterId

func (o WorkstationConfigIamBindingOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationConfigIamBindingOutput) WorkstationConfigId

func (o WorkstationConfigIamBindingOutput) WorkstationConfigId() pulumi.StringOutput

type WorkstationConfigIamBindingState

type WorkstationConfigIamBindingState struct {
	Condition WorkstationConfigIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `workstations.WorkstationConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringPtrInput
	WorkstationConfigId  pulumi.StringPtrInput
}

func (WorkstationConfigIamBindingState) ElementType

type WorkstationConfigIamMember

type WorkstationConfigIamMember struct {
	pulumi.CustomResourceState

	Condition WorkstationConfigIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `workstations.WorkstationConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringOutput `pulumi:"role"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringOutput `pulumi:"workstationConfigId"`
}

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}

* {{project}}/{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}

* {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}

* {{workstation_config_id}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Workstations workstationconfig IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:workstations/workstationConfigIamMember:WorkstationConfigIamMember editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:workstations/workstationConfigIamMember:WorkstationConfigIamMember editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:workstations/workstationConfigIamMember:WorkstationConfigIamMember editor projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetWorkstationConfigIamMember

func GetWorkstationConfigIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationConfigIamMemberState, opts ...pulumi.ResourceOption) (*WorkstationConfigIamMember, error)

GetWorkstationConfigIamMember gets an existing WorkstationConfigIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkstationConfigIamMember

func NewWorkstationConfigIamMember(ctx *pulumi.Context,
	name string, args *WorkstationConfigIamMemberArgs, opts ...pulumi.ResourceOption) (*WorkstationConfigIamMember, error)

NewWorkstationConfigIamMember registers a new resource with the given unique name, arguments, and options.

func (*WorkstationConfigIamMember) ElementType

func (*WorkstationConfigIamMember) ElementType() reflect.Type

func (*WorkstationConfigIamMember) ToWorkstationConfigIamMemberOutput

func (i *WorkstationConfigIamMember) ToWorkstationConfigIamMemberOutput() WorkstationConfigIamMemberOutput

func (*WorkstationConfigIamMember) ToWorkstationConfigIamMemberOutputWithContext

func (i *WorkstationConfigIamMember) ToWorkstationConfigIamMemberOutputWithContext(ctx context.Context) WorkstationConfigIamMemberOutput

type WorkstationConfigIamMemberArgs

type WorkstationConfigIamMemberArgs struct {
	Condition WorkstationConfigIamMemberConditionPtrInput
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `workstations.WorkstationConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
}

The set of arguments for constructing a WorkstationConfigIamMember resource.

func (WorkstationConfigIamMemberArgs) ElementType

type WorkstationConfigIamMemberArray

type WorkstationConfigIamMemberArray []WorkstationConfigIamMemberInput

func (WorkstationConfigIamMemberArray) ElementType

func (WorkstationConfigIamMemberArray) ToWorkstationConfigIamMemberArrayOutput

func (i WorkstationConfigIamMemberArray) ToWorkstationConfigIamMemberArrayOutput() WorkstationConfigIamMemberArrayOutput

func (WorkstationConfigIamMemberArray) ToWorkstationConfigIamMemberArrayOutputWithContext

func (i WorkstationConfigIamMemberArray) ToWorkstationConfigIamMemberArrayOutputWithContext(ctx context.Context) WorkstationConfigIamMemberArrayOutput

type WorkstationConfigIamMemberArrayInput

type WorkstationConfigIamMemberArrayInput interface {
	pulumi.Input

	ToWorkstationConfigIamMemberArrayOutput() WorkstationConfigIamMemberArrayOutput
	ToWorkstationConfigIamMemberArrayOutputWithContext(context.Context) WorkstationConfigIamMemberArrayOutput
}

WorkstationConfigIamMemberArrayInput is an input type that accepts WorkstationConfigIamMemberArray and WorkstationConfigIamMemberArrayOutput values. You can construct a concrete instance of `WorkstationConfigIamMemberArrayInput` via:

WorkstationConfigIamMemberArray{ WorkstationConfigIamMemberArgs{...} }

type WorkstationConfigIamMemberArrayOutput

type WorkstationConfigIamMemberArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberArrayOutput) ElementType

func (WorkstationConfigIamMemberArrayOutput) Index

func (WorkstationConfigIamMemberArrayOutput) ToWorkstationConfigIamMemberArrayOutput

func (o WorkstationConfigIamMemberArrayOutput) ToWorkstationConfigIamMemberArrayOutput() WorkstationConfigIamMemberArrayOutput

func (WorkstationConfigIamMemberArrayOutput) ToWorkstationConfigIamMemberArrayOutputWithContext

func (o WorkstationConfigIamMemberArrayOutput) ToWorkstationConfigIamMemberArrayOutputWithContext(ctx context.Context) WorkstationConfigIamMemberArrayOutput

type WorkstationConfigIamMemberCondition

type WorkstationConfigIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type WorkstationConfigIamMemberConditionArgs

type WorkstationConfigIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (WorkstationConfigIamMemberConditionArgs) ElementType

func (WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionOutput

func (i WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionOutput() WorkstationConfigIamMemberConditionOutput

func (WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionOutputWithContext

func (i WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionOutputWithContext(ctx context.Context) WorkstationConfigIamMemberConditionOutput

func (WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionPtrOutput

func (i WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionPtrOutput() WorkstationConfigIamMemberConditionPtrOutput

func (WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionPtrOutputWithContext

func (i WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionPtrOutputWithContext(ctx context.Context) WorkstationConfigIamMemberConditionPtrOutput

type WorkstationConfigIamMemberConditionInput

type WorkstationConfigIamMemberConditionInput interface {
	pulumi.Input

	ToWorkstationConfigIamMemberConditionOutput() WorkstationConfigIamMemberConditionOutput
	ToWorkstationConfigIamMemberConditionOutputWithContext(context.Context) WorkstationConfigIamMemberConditionOutput
}

WorkstationConfigIamMemberConditionInput is an input type that accepts WorkstationConfigIamMemberConditionArgs and WorkstationConfigIamMemberConditionOutput values. You can construct a concrete instance of `WorkstationConfigIamMemberConditionInput` via:

WorkstationConfigIamMemberConditionArgs{...}

type WorkstationConfigIamMemberConditionOutput

type WorkstationConfigIamMemberConditionOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberConditionOutput) Description

func (WorkstationConfigIamMemberConditionOutput) ElementType

func (WorkstationConfigIamMemberConditionOutput) Expression

func (WorkstationConfigIamMemberConditionOutput) Title

func (WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionOutput

func (o WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionOutput() WorkstationConfigIamMemberConditionOutput

func (WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionOutputWithContext

func (o WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionOutputWithContext(ctx context.Context) WorkstationConfigIamMemberConditionOutput

func (WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionPtrOutput

func (o WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionPtrOutput() WorkstationConfigIamMemberConditionPtrOutput

func (WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionPtrOutputWithContext

func (o WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionPtrOutputWithContext(ctx context.Context) WorkstationConfigIamMemberConditionPtrOutput

type WorkstationConfigIamMemberConditionPtrInput

type WorkstationConfigIamMemberConditionPtrInput interface {
	pulumi.Input

	ToWorkstationConfigIamMemberConditionPtrOutput() WorkstationConfigIamMemberConditionPtrOutput
	ToWorkstationConfigIamMemberConditionPtrOutputWithContext(context.Context) WorkstationConfigIamMemberConditionPtrOutput
}

WorkstationConfigIamMemberConditionPtrInput is an input type that accepts WorkstationConfigIamMemberConditionArgs, WorkstationConfigIamMemberConditionPtr and WorkstationConfigIamMemberConditionPtrOutput values. You can construct a concrete instance of `WorkstationConfigIamMemberConditionPtrInput` via:

        WorkstationConfigIamMemberConditionArgs{...}

or:

        nil

type WorkstationConfigIamMemberConditionPtrOutput

type WorkstationConfigIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberConditionPtrOutput) Description

func (WorkstationConfigIamMemberConditionPtrOutput) Elem

func (WorkstationConfigIamMemberConditionPtrOutput) ElementType

func (WorkstationConfigIamMemberConditionPtrOutput) Expression

func (WorkstationConfigIamMemberConditionPtrOutput) Title

func (WorkstationConfigIamMemberConditionPtrOutput) ToWorkstationConfigIamMemberConditionPtrOutput

func (o WorkstationConfigIamMemberConditionPtrOutput) ToWorkstationConfigIamMemberConditionPtrOutput() WorkstationConfigIamMemberConditionPtrOutput

func (WorkstationConfigIamMemberConditionPtrOutput) ToWorkstationConfigIamMemberConditionPtrOutputWithContext

func (o WorkstationConfigIamMemberConditionPtrOutput) ToWorkstationConfigIamMemberConditionPtrOutputWithContext(ctx context.Context) WorkstationConfigIamMemberConditionPtrOutput

type WorkstationConfigIamMemberInput

type WorkstationConfigIamMemberInput interface {
	pulumi.Input

	ToWorkstationConfigIamMemberOutput() WorkstationConfigIamMemberOutput
	ToWorkstationConfigIamMemberOutputWithContext(ctx context.Context) WorkstationConfigIamMemberOutput
}

type WorkstationConfigIamMemberMap

type WorkstationConfigIamMemberMap map[string]WorkstationConfigIamMemberInput

func (WorkstationConfigIamMemberMap) ElementType

func (WorkstationConfigIamMemberMap) ToWorkstationConfigIamMemberMapOutput

func (i WorkstationConfigIamMemberMap) ToWorkstationConfigIamMemberMapOutput() WorkstationConfigIamMemberMapOutput

func (WorkstationConfigIamMemberMap) ToWorkstationConfigIamMemberMapOutputWithContext

func (i WorkstationConfigIamMemberMap) ToWorkstationConfigIamMemberMapOutputWithContext(ctx context.Context) WorkstationConfigIamMemberMapOutput

type WorkstationConfigIamMemberMapInput

type WorkstationConfigIamMemberMapInput interface {
	pulumi.Input

	ToWorkstationConfigIamMemberMapOutput() WorkstationConfigIamMemberMapOutput
	ToWorkstationConfigIamMemberMapOutputWithContext(context.Context) WorkstationConfigIamMemberMapOutput
}

WorkstationConfigIamMemberMapInput is an input type that accepts WorkstationConfigIamMemberMap and WorkstationConfigIamMemberMapOutput values. You can construct a concrete instance of `WorkstationConfigIamMemberMapInput` via:

WorkstationConfigIamMemberMap{ "key": WorkstationConfigIamMemberArgs{...} }

type WorkstationConfigIamMemberMapOutput

type WorkstationConfigIamMemberMapOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberMapOutput) ElementType

func (WorkstationConfigIamMemberMapOutput) MapIndex

func (WorkstationConfigIamMemberMapOutput) ToWorkstationConfigIamMemberMapOutput

func (o WorkstationConfigIamMemberMapOutput) ToWorkstationConfigIamMemberMapOutput() WorkstationConfigIamMemberMapOutput

func (WorkstationConfigIamMemberMapOutput) ToWorkstationConfigIamMemberMapOutputWithContext

func (o WorkstationConfigIamMemberMapOutput) ToWorkstationConfigIamMemberMapOutputWithContext(ctx context.Context) WorkstationConfigIamMemberMapOutput

type WorkstationConfigIamMemberOutput

type WorkstationConfigIamMemberOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberOutput) Condition

func (WorkstationConfigIamMemberOutput) ElementType

func (WorkstationConfigIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (WorkstationConfigIamMemberOutput) Location

The location where the workstation cluster config should reside. Used to find the parent resource to bind the IAM policy to

func (WorkstationConfigIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (WorkstationConfigIamMemberOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (WorkstationConfigIamMemberOutput) Role

The role that should be applied. Only one `workstations.WorkstationConfigIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (WorkstationConfigIamMemberOutput) ToWorkstationConfigIamMemberOutput

func (o WorkstationConfigIamMemberOutput) ToWorkstationConfigIamMemberOutput() WorkstationConfigIamMemberOutput

func (WorkstationConfigIamMemberOutput) ToWorkstationConfigIamMemberOutputWithContext

func (o WorkstationConfigIamMemberOutput) ToWorkstationConfigIamMemberOutputWithContext(ctx context.Context) WorkstationConfigIamMemberOutput

func (WorkstationConfigIamMemberOutput) WorkstationClusterId

func (o WorkstationConfigIamMemberOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationConfigIamMemberOutput) WorkstationConfigId

func (o WorkstationConfigIamMemberOutput) WorkstationConfigId() pulumi.StringOutput

type WorkstationConfigIamMemberState

type WorkstationConfigIamMemberState struct {
	Condition WorkstationConfigIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `workstations.WorkstationConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringPtrInput
	WorkstationConfigId  pulumi.StringPtrInput
}

func (WorkstationConfigIamMemberState) ElementType

type WorkstationConfigIamPolicy

type WorkstationConfigIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              pulumi.StringOutput `pulumi:"project"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringOutput `pulumi:"workstationConfigId"`
}

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}

* {{project}}/{{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}

* {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}

* {{workstation_config_id}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Workstations workstationconfig IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:workstations/workstationConfigIamPolicy:WorkstationConfigIamPolicy editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:workstations/workstationConfigIamPolicy:WorkstationConfigIamPolicy editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:workstations/workstationConfigIamPolicy:WorkstationConfigIamPolicy editor projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetWorkstationConfigIamPolicy

func GetWorkstationConfigIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationConfigIamPolicyState, opts ...pulumi.ResourceOption) (*WorkstationConfigIamPolicy, error)

GetWorkstationConfigIamPolicy gets an existing WorkstationConfigIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkstationConfigIamPolicy

func NewWorkstationConfigIamPolicy(ctx *pulumi.Context,
	name string, args *WorkstationConfigIamPolicyArgs, opts ...pulumi.ResourceOption) (*WorkstationConfigIamPolicy, error)

NewWorkstationConfigIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*WorkstationConfigIamPolicy) ElementType

func (*WorkstationConfigIamPolicy) ElementType() reflect.Type

func (*WorkstationConfigIamPolicy) ToWorkstationConfigIamPolicyOutput

func (i *WorkstationConfigIamPolicy) ToWorkstationConfigIamPolicyOutput() WorkstationConfigIamPolicyOutput

func (*WorkstationConfigIamPolicy) ToWorkstationConfigIamPolicyOutputWithContext

func (i *WorkstationConfigIamPolicy) ToWorkstationConfigIamPolicyOutputWithContext(ctx context.Context) WorkstationConfigIamPolicyOutput

type WorkstationConfigIamPolicyArgs

type WorkstationConfigIamPolicyArgs struct {
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
}

The set of arguments for constructing a WorkstationConfigIamPolicy resource.

func (WorkstationConfigIamPolicyArgs) ElementType

type WorkstationConfigIamPolicyArray

type WorkstationConfigIamPolicyArray []WorkstationConfigIamPolicyInput

func (WorkstationConfigIamPolicyArray) ElementType

func (WorkstationConfigIamPolicyArray) ToWorkstationConfigIamPolicyArrayOutput

func (i WorkstationConfigIamPolicyArray) ToWorkstationConfigIamPolicyArrayOutput() WorkstationConfigIamPolicyArrayOutput

func (WorkstationConfigIamPolicyArray) ToWorkstationConfigIamPolicyArrayOutputWithContext

func (i WorkstationConfigIamPolicyArray) ToWorkstationConfigIamPolicyArrayOutputWithContext(ctx context.Context) WorkstationConfigIamPolicyArrayOutput

type WorkstationConfigIamPolicyArrayInput

type WorkstationConfigIamPolicyArrayInput interface {
	pulumi.Input

	ToWorkstationConfigIamPolicyArrayOutput() WorkstationConfigIamPolicyArrayOutput
	ToWorkstationConfigIamPolicyArrayOutputWithContext(context.Context) WorkstationConfigIamPolicyArrayOutput
}

WorkstationConfigIamPolicyArrayInput is an input type that accepts WorkstationConfigIamPolicyArray and WorkstationConfigIamPolicyArrayOutput values. You can construct a concrete instance of `WorkstationConfigIamPolicyArrayInput` via:

WorkstationConfigIamPolicyArray{ WorkstationConfigIamPolicyArgs{...} }

type WorkstationConfigIamPolicyArrayOutput

type WorkstationConfigIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamPolicyArrayOutput) ElementType

func (WorkstationConfigIamPolicyArrayOutput) Index

func (WorkstationConfigIamPolicyArrayOutput) ToWorkstationConfigIamPolicyArrayOutput

func (o WorkstationConfigIamPolicyArrayOutput) ToWorkstationConfigIamPolicyArrayOutput() WorkstationConfigIamPolicyArrayOutput

func (WorkstationConfigIamPolicyArrayOutput) ToWorkstationConfigIamPolicyArrayOutputWithContext

func (o WorkstationConfigIamPolicyArrayOutput) ToWorkstationConfigIamPolicyArrayOutputWithContext(ctx context.Context) WorkstationConfigIamPolicyArrayOutput

type WorkstationConfigIamPolicyInput

type WorkstationConfigIamPolicyInput interface {
	pulumi.Input

	ToWorkstationConfigIamPolicyOutput() WorkstationConfigIamPolicyOutput
	ToWorkstationConfigIamPolicyOutputWithContext(ctx context.Context) WorkstationConfigIamPolicyOutput
}

type WorkstationConfigIamPolicyMap

type WorkstationConfigIamPolicyMap map[string]WorkstationConfigIamPolicyInput

func (WorkstationConfigIamPolicyMap) ElementType

func (WorkstationConfigIamPolicyMap) ToWorkstationConfigIamPolicyMapOutput

func (i WorkstationConfigIamPolicyMap) ToWorkstationConfigIamPolicyMapOutput() WorkstationConfigIamPolicyMapOutput

func (WorkstationConfigIamPolicyMap) ToWorkstationConfigIamPolicyMapOutputWithContext

func (i WorkstationConfigIamPolicyMap) ToWorkstationConfigIamPolicyMapOutputWithContext(ctx context.Context) WorkstationConfigIamPolicyMapOutput

type WorkstationConfigIamPolicyMapInput

type WorkstationConfigIamPolicyMapInput interface {
	pulumi.Input

	ToWorkstationConfigIamPolicyMapOutput() WorkstationConfigIamPolicyMapOutput
	ToWorkstationConfigIamPolicyMapOutputWithContext(context.Context) WorkstationConfigIamPolicyMapOutput
}

WorkstationConfigIamPolicyMapInput is an input type that accepts WorkstationConfigIamPolicyMap and WorkstationConfigIamPolicyMapOutput values. You can construct a concrete instance of `WorkstationConfigIamPolicyMapInput` via:

WorkstationConfigIamPolicyMap{ "key": WorkstationConfigIamPolicyArgs{...} }

type WorkstationConfigIamPolicyMapOutput

type WorkstationConfigIamPolicyMapOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamPolicyMapOutput) ElementType

func (WorkstationConfigIamPolicyMapOutput) MapIndex

func (WorkstationConfigIamPolicyMapOutput) ToWorkstationConfigIamPolicyMapOutput

func (o WorkstationConfigIamPolicyMapOutput) ToWorkstationConfigIamPolicyMapOutput() WorkstationConfigIamPolicyMapOutput

func (WorkstationConfigIamPolicyMapOutput) ToWorkstationConfigIamPolicyMapOutputWithContext

func (o WorkstationConfigIamPolicyMapOutput) ToWorkstationConfigIamPolicyMapOutputWithContext(ctx context.Context) WorkstationConfigIamPolicyMapOutput

type WorkstationConfigIamPolicyOutput

type WorkstationConfigIamPolicyOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamPolicyOutput) ElementType

func (WorkstationConfigIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (WorkstationConfigIamPolicyOutput) Location

The location where the workstation cluster config should reside. Used to find the parent resource to bind the IAM policy to

func (WorkstationConfigIamPolicyOutput) PolicyData

The policy data generated by a `organizations.getIAMPolicy` data source.

func (WorkstationConfigIamPolicyOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (WorkstationConfigIamPolicyOutput) ToWorkstationConfigIamPolicyOutput

func (o WorkstationConfigIamPolicyOutput) ToWorkstationConfigIamPolicyOutput() WorkstationConfigIamPolicyOutput

func (WorkstationConfigIamPolicyOutput) ToWorkstationConfigIamPolicyOutputWithContext

func (o WorkstationConfigIamPolicyOutput) ToWorkstationConfigIamPolicyOutputWithContext(ctx context.Context) WorkstationConfigIamPolicyOutput

func (WorkstationConfigIamPolicyOutput) WorkstationClusterId

func (o WorkstationConfigIamPolicyOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationConfigIamPolicyOutput) WorkstationConfigId

func (o WorkstationConfigIamPolicyOutput) WorkstationConfigId() pulumi.StringOutput

type WorkstationConfigIamPolicyState

type WorkstationConfigIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location where the workstation cluster config should reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringPtrInput
	WorkstationConfigId  pulumi.StringPtrInput
}

func (WorkstationConfigIamPolicyState) ElementType

type WorkstationConfigInput

type WorkstationConfigInput interface {
	pulumi.Input

	ToWorkstationConfigOutput() WorkstationConfigOutput
	ToWorkstationConfigOutputWithContext(ctx context.Context) WorkstationConfigOutput
}

type WorkstationConfigMap

type WorkstationConfigMap map[string]WorkstationConfigInput

func (WorkstationConfigMap) ElementType

func (WorkstationConfigMap) ElementType() reflect.Type

func (WorkstationConfigMap) ToWorkstationConfigMapOutput

func (i WorkstationConfigMap) ToWorkstationConfigMapOutput() WorkstationConfigMapOutput

func (WorkstationConfigMap) ToWorkstationConfigMapOutputWithContext

func (i WorkstationConfigMap) ToWorkstationConfigMapOutputWithContext(ctx context.Context) WorkstationConfigMapOutput

type WorkstationConfigMapInput

type WorkstationConfigMapInput interface {
	pulumi.Input

	ToWorkstationConfigMapOutput() WorkstationConfigMapOutput
	ToWorkstationConfigMapOutputWithContext(context.Context) WorkstationConfigMapOutput
}

WorkstationConfigMapInput is an input type that accepts WorkstationConfigMap and WorkstationConfigMapOutput values. You can construct a concrete instance of `WorkstationConfigMapInput` via:

WorkstationConfigMap{ "key": WorkstationConfigArgs{...} }

type WorkstationConfigMapOutput

type WorkstationConfigMapOutput struct{ *pulumi.OutputState }

func (WorkstationConfigMapOutput) ElementType

func (WorkstationConfigMapOutput) ElementType() reflect.Type

func (WorkstationConfigMapOutput) MapIndex

func (WorkstationConfigMapOutput) ToWorkstationConfigMapOutput

func (o WorkstationConfigMapOutput) ToWorkstationConfigMapOutput() WorkstationConfigMapOutput

func (WorkstationConfigMapOutput) ToWorkstationConfigMapOutputWithContext

func (o WorkstationConfigMapOutput) ToWorkstationConfigMapOutputWithContext(ctx context.Context) WorkstationConfigMapOutput

type WorkstationConfigOutput

type WorkstationConfigOutput struct{ *pulumi.OutputState }

func (WorkstationConfigOutput) Annotations

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 `effectiveAnnotations` for all of the annotations present on the resource.

func (WorkstationConfigOutput) Conditions

Status conditions describing the current resource state. Structure is documented below.

func (WorkstationConfigOutput) Container

Container that will be run for each workstation using this configuration when that workstation is started. Structure is documented below.

func (WorkstationConfigOutput) CreateTime

Time when this resource was created.

func (WorkstationConfigOutput) Degraded

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.

func (WorkstationConfigOutput) DisableTcpConnections added in v7.7.0

func (o WorkstationConfigOutput) DisableTcpConnections() pulumi.BoolPtrOutput

Disables support for plain TCP connections in the workstation. By default the service supports TCP connections via a websocket relay. Setting this option to true disables that relay, which prevents the usage of services that require plain tcp connections, such as ssh. When enabled, all communication must occur over https or wss.

func (WorkstationConfigOutput) DisplayName

Human-readable name for this resource.

func (WorkstationConfigOutput) EffectiveAnnotations

func (o WorkstationConfigOutput) EffectiveAnnotations() pulumi.StringMapOutput

All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.

func (WorkstationConfigOutput) EffectiveLabels

func (o WorkstationConfigOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (WorkstationConfigOutput) ElementType

func (WorkstationConfigOutput) ElementType() reflect.Type

func (WorkstationConfigOutput) EnableAuditAgent

func (o WorkstationConfigOutput) EnableAuditAgent() pulumi.BoolPtrOutput

Whether to enable Linux `auditd` logging on the workstation. When enabled, a service account must also be specified that has `logging.buckets.write` permission on the project. Operating system audit logging is distinct from Cloud Audit Logs.

func (WorkstationConfigOutput) EncryptionKey

Encrypts resources of this workstation configuration using a customer-managed encryption key. If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata. If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk will be lost. If the encryption key is revoked, the workstation session will automatically be stopped within 7 hours. Structure is documented below.

func (WorkstationConfigOutput) EphemeralDirectories added in v7.15.0

Ephemeral directories which won't persist across workstation sessions. Structure is documented below.

func (WorkstationConfigOutput) Etag

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.

func (WorkstationConfigOutput) Host

Runtime host for a workstation. Structure is documented below.

func (WorkstationConfigOutput) IdleTimeout

How long to wait before automatically stopping an instance that hasn't recently received any user traffic. A value of 0 indicates that this instance should never time out from idleness. Defaults to 20 minutes. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

func (WorkstationConfigOutput) Labels

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 `effectiveLabels` for all of the labels present on the resource.

func (WorkstationConfigOutput) Location

The location where the workstation cluster config should reside.

***

func (WorkstationConfigOutput) Name

Full name of this resource.

func (WorkstationConfigOutput) PersistentDirectories

Directories to persist across workstation sessions. Structure is documented below.

func (WorkstationConfigOutput) Project

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

func (WorkstationConfigOutput) PulumiLabels

The combination of labels configured directly on the resource and default labels configured on the provider.

func (WorkstationConfigOutput) ReadinessChecks added in v7.7.1

Readiness checks to be performed on a workstation. Structure is documented below.

func (WorkstationConfigOutput) ReplicaZones

Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.

func (WorkstationConfigOutput) RunningTimeout

func (o WorkstationConfigOutput) RunningTimeout() pulumi.StringPtrOutput

How long to wait before automatically stopping a workstation after it was started. A value of 0 indicates that workstations using this configuration should never time out from running duration. Must be greater than 0 and less than 24 hours if `encryptionKey` is set. Defaults to 12 hours. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

func (WorkstationConfigOutput) ToWorkstationConfigOutput

func (o WorkstationConfigOutput) ToWorkstationConfigOutput() WorkstationConfigOutput

func (WorkstationConfigOutput) ToWorkstationConfigOutputWithContext

func (o WorkstationConfigOutput) ToWorkstationConfigOutputWithContext(ctx context.Context) WorkstationConfigOutput

func (WorkstationConfigOutput) Uid

The system-generated UID of the resource.

func (WorkstationConfigOutput) WorkstationClusterId

func (o WorkstationConfigOutput) WorkstationClusterId() pulumi.StringOutput

The ID of the parent workstation cluster.

func (WorkstationConfigOutput) WorkstationConfigId

func (o WorkstationConfigOutput) WorkstationConfigId() pulumi.StringOutput

The ID to be assigned to the workstation cluster config.

type WorkstationConfigPersistentDirectory

type WorkstationConfigPersistentDirectory struct {
	// A directory to persist across workstation sessions, backed by a Compute Engine regional persistent disk. Can only be updated if not empty during creation.
	// Structure is documented below.
	GcePd *WorkstationConfigPersistentDirectoryGcePd `pulumi:"gcePd"`
	// Location of this directory in the running workstation.
	MountPath *string `pulumi:"mountPath"`
}

type WorkstationConfigPersistentDirectoryArgs

type WorkstationConfigPersistentDirectoryArgs struct {
	// A directory to persist across workstation sessions, backed by a Compute Engine regional persistent disk. Can only be updated if not empty during creation.
	// Structure is documented below.
	GcePd WorkstationConfigPersistentDirectoryGcePdPtrInput `pulumi:"gcePd"`
	// Location of this directory in the running workstation.
	MountPath pulumi.StringPtrInput `pulumi:"mountPath"`
}

func (WorkstationConfigPersistentDirectoryArgs) ElementType

func (WorkstationConfigPersistentDirectoryArgs) ToWorkstationConfigPersistentDirectoryOutput

func (i WorkstationConfigPersistentDirectoryArgs) ToWorkstationConfigPersistentDirectoryOutput() WorkstationConfigPersistentDirectoryOutput

func (WorkstationConfigPersistentDirectoryArgs) ToWorkstationConfigPersistentDirectoryOutputWithContext

func (i WorkstationConfigPersistentDirectoryArgs) ToWorkstationConfigPersistentDirectoryOutputWithContext(ctx context.Context) WorkstationConfigPersistentDirectoryOutput

type WorkstationConfigPersistentDirectoryArray

type WorkstationConfigPersistentDirectoryArray []WorkstationConfigPersistentDirectoryInput

func (WorkstationConfigPersistentDirectoryArray) ElementType

func (WorkstationConfigPersistentDirectoryArray) ToWorkstationConfigPersistentDirectoryArrayOutput

func (i WorkstationConfigPersistentDirectoryArray) ToWorkstationConfigPersistentDirectoryArrayOutput() WorkstationConfigPersistentDirectoryArrayOutput

func (WorkstationConfigPersistentDirectoryArray) ToWorkstationConfigPersistentDirectoryArrayOutputWithContext

func (i WorkstationConfigPersistentDirectoryArray) ToWorkstationConfigPersistentDirectoryArrayOutputWithContext(ctx context.Context) WorkstationConfigPersistentDirectoryArrayOutput

type WorkstationConfigPersistentDirectoryArrayInput

type WorkstationConfigPersistentDirectoryArrayInput interface {
	pulumi.Input

	ToWorkstationConfigPersistentDirectoryArrayOutput() WorkstationConfigPersistentDirectoryArrayOutput
	ToWorkstationConfigPersistentDirectoryArrayOutputWithContext(context.Context) WorkstationConfigPersistentDirectoryArrayOutput
}

WorkstationConfigPersistentDirectoryArrayInput is an input type that accepts WorkstationConfigPersistentDirectoryArray and WorkstationConfigPersistentDirectoryArrayOutput values. You can construct a concrete instance of `WorkstationConfigPersistentDirectoryArrayInput` via:

WorkstationConfigPersistentDirectoryArray{ WorkstationConfigPersistentDirectoryArgs{...} }

type WorkstationConfigPersistentDirectoryArrayOutput

type WorkstationConfigPersistentDirectoryArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigPersistentDirectoryArrayOutput) ElementType

func (WorkstationConfigPersistentDirectoryArrayOutput) Index

func (WorkstationConfigPersistentDirectoryArrayOutput) ToWorkstationConfigPersistentDirectoryArrayOutput

func (o WorkstationConfigPersistentDirectoryArrayOutput) ToWorkstationConfigPersistentDirectoryArrayOutput() WorkstationConfigPersistentDirectoryArrayOutput

func (WorkstationConfigPersistentDirectoryArrayOutput) ToWorkstationConfigPersistentDirectoryArrayOutputWithContext

func (o WorkstationConfigPersistentDirectoryArrayOutput) ToWorkstationConfigPersistentDirectoryArrayOutputWithContext(ctx context.Context) WorkstationConfigPersistentDirectoryArrayOutput

type WorkstationConfigPersistentDirectoryGcePd

type WorkstationConfigPersistentDirectoryGcePd struct {
	// Type of the disk to use. Defaults to `"pd-standard"`.
	DiskType *string `pulumi:"diskType"`
	// Type of file system that the disk should be formatted with. The workstation image must support this file system type. Must be empty if `sourceSnapshot` is set. Defaults to `ext4`.
	FsType *string `pulumi:"fsType"`
	// Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.
	// Possible values are: `DELETE`, `RETAIN`.
	ReclaimPolicy *string `pulumi:"reclaimPolicy"`
	// The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if `sourceSnapshot` is set.
	// Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`. If less than `200` GB, the `diskType` must be `pd-balanced` or `pd-ssd`.
	SizeGb *int `pulumi:"sizeGb"`
	// Name of the snapshot to use as the source for the disk.
	// Must be empty if `sourceImage` is set.
	// Must be empty if `readOnly` is false.
	// Updating `sourceSnapshot` will update content in the ephemeral directory after the workstation is restarted.
	SourceSnapshot *string `pulumi:"sourceSnapshot"`
}

type WorkstationConfigPersistentDirectoryGcePdArgs

type WorkstationConfigPersistentDirectoryGcePdArgs struct {
	// Type of the disk to use. Defaults to `"pd-standard"`.
	DiskType pulumi.StringPtrInput `pulumi:"diskType"`
	// Type of file system that the disk should be formatted with. The workstation image must support this file system type. Must be empty if `sourceSnapshot` is set. Defaults to `ext4`.
	FsType pulumi.StringPtrInput `pulumi:"fsType"`
	// Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.
	// Possible values are: `DELETE`, `RETAIN`.
	ReclaimPolicy pulumi.StringPtrInput `pulumi:"reclaimPolicy"`
	// The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if `sourceSnapshot` is set.
	// Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`. If less than `200` GB, the `diskType` must be `pd-balanced` or `pd-ssd`.
	SizeGb pulumi.IntPtrInput `pulumi:"sizeGb"`
	// Name of the snapshot to use as the source for the disk.
	// Must be empty if `sourceImage` is set.
	// Must be empty if `readOnly` is false.
	// Updating `sourceSnapshot` will update content in the ephemeral directory after the workstation is restarted.
	SourceSnapshot pulumi.StringPtrInput `pulumi:"sourceSnapshot"`
}

func (WorkstationConfigPersistentDirectoryGcePdArgs) ElementType

func (WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdOutput

func (i WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdOutput() WorkstationConfigPersistentDirectoryGcePdOutput

func (WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdOutputWithContext

func (i WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdOutputWithContext(ctx context.Context) WorkstationConfigPersistentDirectoryGcePdOutput

func (WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput

func (i WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput() WorkstationConfigPersistentDirectoryGcePdPtrOutput

func (WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext

func (i WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext(ctx context.Context) WorkstationConfigPersistentDirectoryGcePdPtrOutput

type WorkstationConfigPersistentDirectoryGcePdInput

type WorkstationConfigPersistentDirectoryGcePdInput interface {
	pulumi.Input

	ToWorkstationConfigPersistentDirectoryGcePdOutput() WorkstationConfigPersistentDirectoryGcePdOutput
	ToWorkstationConfigPersistentDirectoryGcePdOutputWithContext(context.Context) WorkstationConfigPersistentDirectoryGcePdOutput
}

WorkstationConfigPersistentDirectoryGcePdInput is an input type that accepts WorkstationConfigPersistentDirectoryGcePdArgs and WorkstationConfigPersistentDirectoryGcePdOutput values. You can construct a concrete instance of `WorkstationConfigPersistentDirectoryGcePdInput` via:

WorkstationConfigPersistentDirectoryGcePdArgs{...}

type WorkstationConfigPersistentDirectoryGcePdOutput

type WorkstationConfigPersistentDirectoryGcePdOutput struct{ *pulumi.OutputState }

func (WorkstationConfigPersistentDirectoryGcePdOutput) DiskType

Type of the disk to use. Defaults to `"pd-standard"`.

func (WorkstationConfigPersistentDirectoryGcePdOutput) ElementType

func (WorkstationConfigPersistentDirectoryGcePdOutput) FsType

Type of file system that the disk should be formatted with. The workstation image must support this file system type. Must be empty if `sourceSnapshot` is set. Defaults to `ext4`.

func (WorkstationConfigPersistentDirectoryGcePdOutput) ReclaimPolicy

Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`. Possible values are: `DELETE`, `RETAIN`.

func (WorkstationConfigPersistentDirectoryGcePdOutput) SizeGb

The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if `sourceSnapshot` is set. Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`. If less than `200` GB, the `diskType` must be `pd-balanced` or `pd-ssd`.

func (WorkstationConfigPersistentDirectoryGcePdOutput) SourceSnapshot

Name of the snapshot to use as the source for the disk. Must be empty if `sourceImage` is set. Must be empty if `readOnly` is false. Updating `sourceSnapshot` will update content in the ephemeral directory after the workstation is restarted.

func (WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdOutput

func (o WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdOutput() WorkstationConfigPersistentDirectoryGcePdOutput

func (WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdOutputWithContext

func (o WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdOutputWithContext(ctx context.Context) WorkstationConfigPersistentDirectoryGcePdOutput

func (WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput

func (o WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput() WorkstationConfigPersistentDirectoryGcePdPtrOutput

func (WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext

func (o WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext(ctx context.Context) WorkstationConfigPersistentDirectoryGcePdPtrOutput

type WorkstationConfigPersistentDirectoryGcePdPtrInput

type WorkstationConfigPersistentDirectoryGcePdPtrInput interface {
	pulumi.Input

	ToWorkstationConfigPersistentDirectoryGcePdPtrOutput() WorkstationConfigPersistentDirectoryGcePdPtrOutput
	ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext(context.Context) WorkstationConfigPersistentDirectoryGcePdPtrOutput
}

WorkstationConfigPersistentDirectoryGcePdPtrInput is an input type that accepts WorkstationConfigPersistentDirectoryGcePdArgs, WorkstationConfigPersistentDirectoryGcePdPtr and WorkstationConfigPersistentDirectoryGcePdPtrOutput values. You can construct a concrete instance of `WorkstationConfigPersistentDirectoryGcePdPtrInput` via:

        WorkstationConfigPersistentDirectoryGcePdArgs{...}

or:

        nil

type WorkstationConfigPersistentDirectoryGcePdPtrOutput

type WorkstationConfigPersistentDirectoryGcePdPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) DiskType

Type of the disk to use. Defaults to `"pd-standard"`.

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) Elem

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) ElementType

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) FsType

Type of file system that the disk should be formatted with. The workstation image must support this file system type. Must be empty if `sourceSnapshot` is set. Defaults to `ext4`.

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) ReclaimPolicy

Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`. Possible values are: `DELETE`, `RETAIN`.

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) SizeGb

The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if `sourceSnapshot` is set. Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`. If less than `200` GB, the `diskType` must be `pd-balanced` or `pd-ssd`.

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) SourceSnapshot

Name of the snapshot to use as the source for the disk. Must be empty if `sourceImage` is set. Must be empty if `readOnly` is false. Updating `sourceSnapshot` will update content in the ephemeral directory after the workstation is restarted.

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput

func (o WorkstationConfigPersistentDirectoryGcePdPtrOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput() WorkstationConfigPersistentDirectoryGcePdPtrOutput

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext

func (o WorkstationConfigPersistentDirectoryGcePdPtrOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext(ctx context.Context) WorkstationConfigPersistentDirectoryGcePdPtrOutput

type WorkstationConfigPersistentDirectoryInput

type WorkstationConfigPersistentDirectoryInput interface {
	pulumi.Input

	ToWorkstationConfigPersistentDirectoryOutput() WorkstationConfigPersistentDirectoryOutput
	ToWorkstationConfigPersistentDirectoryOutputWithContext(context.Context) WorkstationConfigPersistentDirectoryOutput
}

WorkstationConfigPersistentDirectoryInput is an input type that accepts WorkstationConfigPersistentDirectoryArgs and WorkstationConfigPersistentDirectoryOutput values. You can construct a concrete instance of `WorkstationConfigPersistentDirectoryInput` via:

WorkstationConfigPersistentDirectoryArgs{...}

type WorkstationConfigPersistentDirectoryOutput

type WorkstationConfigPersistentDirectoryOutput struct{ *pulumi.OutputState }

func (WorkstationConfigPersistentDirectoryOutput) ElementType

func (WorkstationConfigPersistentDirectoryOutput) GcePd

A directory to persist across workstation sessions, backed by a Compute Engine regional persistent disk. Can only be updated if not empty during creation. Structure is documented below.

func (WorkstationConfigPersistentDirectoryOutput) MountPath

Location of this directory in the running workstation.

func (WorkstationConfigPersistentDirectoryOutput) ToWorkstationConfigPersistentDirectoryOutput

func (o WorkstationConfigPersistentDirectoryOutput) ToWorkstationConfigPersistentDirectoryOutput() WorkstationConfigPersistentDirectoryOutput

func (WorkstationConfigPersistentDirectoryOutput) ToWorkstationConfigPersistentDirectoryOutputWithContext

func (o WorkstationConfigPersistentDirectoryOutput) ToWorkstationConfigPersistentDirectoryOutputWithContext(ctx context.Context) WorkstationConfigPersistentDirectoryOutput

type WorkstationConfigReadinessCheck added in v7.7.1

type WorkstationConfigReadinessCheck struct {
	// Path to which the request should be sent.
	Path string `pulumi:"path"`
	// Port to which the request should be sent.
	Port int `pulumi:"port"`
}

type WorkstationConfigReadinessCheckArgs added in v7.7.1

type WorkstationConfigReadinessCheckArgs struct {
	// Path to which the request should be sent.
	Path pulumi.StringInput `pulumi:"path"`
	// Port to which the request should be sent.
	Port pulumi.IntInput `pulumi:"port"`
}

func (WorkstationConfigReadinessCheckArgs) ElementType added in v7.7.1

func (WorkstationConfigReadinessCheckArgs) ToWorkstationConfigReadinessCheckOutput added in v7.7.1

func (i WorkstationConfigReadinessCheckArgs) ToWorkstationConfigReadinessCheckOutput() WorkstationConfigReadinessCheckOutput

func (WorkstationConfigReadinessCheckArgs) ToWorkstationConfigReadinessCheckOutputWithContext added in v7.7.1

func (i WorkstationConfigReadinessCheckArgs) ToWorkstationConfigReadinessCheckOutputWithContext(ctx context.Context) WorkstationConfigReadinessCheckOutput

type WorkstationConfigReadinessCheckArray added in v7.7.1

type WorkstationConfigReadinessCheckArray []WorkstationConfigReadinessCheckInput

func (WorkstationConfigReadinessCheckArray) ElementType added in v7.7.1

func (WorkstationConfigReadinessCheckArray) ToWorkstationConfigReadinessCheckArrayOutput added in v7.7.1

func (i WorkstationConfigReadinessCheckArray) ToWorkstationConfigReadinessCheckArrayOutput() WorkstationConfigReadinessCheckArrayOutput

func (WorkstationConfigReadinessCheckArray) ToWorkstationConfigReadinessCheckArrayOutputWithContext added in v7.7.1

func (i WorkstationConfigReadinessCheckArray) ToWorkstationConfigReadinessCheckArrayOutputWithContext(ctx context.Context) WorkstationConfigReadinessCheckArrayOutput

type WorkstationConfigReadinessCheckArrayInput added in v7.7.1

type WorkstationConfigReadinessCheckArrayInput interface {
	pulumi.Input

	ToWorkstationConfigReadinessCheckArrayOutput() WorkstationConfigReadinessCheckArrayOutput
	ToWorkstationConfigReadinessCheckArrayOutputWithContext(context.Context) WorkstationConfigReadinessCheckArrayOutput
}

WorkstationConfigReadinessCheckArrayInput is an input type that accepts WorkstationConfigReadinessCheckArray and WorkstationConfigReadinessCheckArrayOutput values. You can construct a concrete instance of `WorkstationConfigReadinessCheckArrayInput` via:

WorkstationConfigReadinessCheckArray{ WorkstationConfigReadinessCheckArgs{...} }

type WorkstationConfigReadinessCheckArrayOutput added in v7.7.1

type WorkstationConfigReadinessCheckArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigReadinessCheckArrayOutput) ElementType added in v7.7.1

func (WorkstationConfigReadinessCheckArrayOutput) Index added in v7.7.1

func (WorkstationConfigReadinessCheckArrayOutput) ToWorkstationConfigReadinessCheckArrayOutput added in v7.7.1

func (o WorkstationConfigReadinessCheckArrayOutput) ToWorkstationConfigReadinessCheckArrayOutput() WorkstationConfigReadinessCheckArrayOutput

func (WorkstationConfigReadinessCheckArrayOutput) ToWorkstationConfigReadinessCheckArrayOutputWithContext added in v7.7.1

func (o WorkstationConfigReadinessCheckArrayOutput) ToWorkstationConfigReadinessCheckArrayOutputWithContext(ctx context.Context) WorkstationConfigReadinessCheckArrayOutput

type WorkstationConfigReadinessCheckInput added in v7.7.1

type WorkstationConfigReadinessCheckInput interface {
	pulumi.Input

	ToWorkstationConfigReadinessCheckOutput() WorkstationConfigReadinessCheckOutput
	ToWorkstationConfigReadinessCheckOutputWithContext(context.Context) WorkstationConfigReadinessCheckOutput
}

WorkstationConfigReadinessCheckInput is an input type that accepts WorkstationConfigReadinessCheckArgs and WorkstationConfigReadinessCheckOutput values. You can construct a concrete instance of `WorkstationConfigReadinessCheckInput` via:

WorkstationConfigReadinessCheckArgs{...}

type WorkstationConfigReadinessCheckOutput added in v7.7.1

type WorkstationConfigReadinessCheckOutput struct{ *pulumi.OutputState }

func (WorkstationConfigReadinessCheckOutput) ElementType added in v7.7.1

func (WorkstationConfigReadinessCheckOutput) Path added in v7.7.1

Path to which the request should be sent.

func (WorkstationConfigReadinessCheckOutput) Port added in v7.7.1

Port to which the request should be sent.

func (WorkstationConfigReadinessCheckOutput) ToWorkstationConfigReadinessCheckOutput added in v7.7.1

func (o WorkstationConfigReadinessCheckOutput) ToWorkstationConfigReadinessCheckOutput() WorkstationConfigReadinessCheckOutput

func (WorkstationConfigReadinessCheckOutput) ToWorkstationConfigReadinessCheckOutputWithContext added in v7.7.1

func (o WorkstationConfigReadinessCheckOutput) ToWorkstationConfigReadinessCheckOutputWithContext(ctx context.Context) WorkstationConfigReadinessCheckOutput

type WorkstationConfigState

type WorkstationConfigState struct {
	// 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 `effectiveAnnotations` for all of the annotations present on the resource.
	Annotations pulumi.StringMapInput
	// Status conditions describing the current resource state.
	// Structure is documented below.
	Conditions WorkstationConfigConditionArrayInput
	// Container that will be run for each workstation using this configuration when that workstation is started.
	// Structure is documented below.
	Container WorkstationConfigContainerPtrInput
	// Time when this resource was created.
	CreateTime pulumi.StringPtrInput
	// 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.
	Degraded pulumi.BoolPtrInput
	// Disables support for plain TCP connections in the workstation. By default the service supports TCP connections via a websocket relay. Setting this option to true disables that relay, which prevents the usage of services that require plain tcp connections, such as ssh. When enabled, all communication must occur over https or wss.
	DisableTcpConnections pulumi.BoolPtrInput
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
	// Terraform, other clients and services.
	EffectiveAnnotations pulumi.StringMapInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Whether to enable Linux `auditd` logging on the workstation. When enabled, a service account must also be specified that has `logging.buckets.write` permission on the project. Operating system audit logging is distinct from Cloud Audit Logs.
	EnableAuditAgent pulumi.BoolPtrInput
	// Encrypts resources of this workstation configuration using a customer-managed encryption key.
	// If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata.
	// If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk will be lost.
	// If the encryption key is revoked, the workstation session will automatically be stopped within 7 hours.
	// Structure is documented below.
	EncryptionKey WorkstationConfigEncryptionKeyPtrInput
	// Ephemeral directories which won't persist across workstation sessions.
	// Structure is documented below.
	EphemeralDirectories WorkstationConfigEphemeralDirectoryArrayInput
	// 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.
	Etag pulumi.StringPtrInput
	// Runtime host for a workstation.
	// Structure is documented below.
	Host WorkstationConfigHostPtrInput
	// How long to wait before automatically stopping an instance that hasn't recently received any user traffic. A value of 0 indicates that this instance should never time out from idleness. Defaults to 20 minutes.
	// A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
	IdleTimeout pulumi.StringPtrInput
	// 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 `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location where the workstation cluster config should reside.
	//
	// ***
	Location pulumi.StringPtrInput
	// Full name of this resource.
	Name pulumi.StringPtrInput
	// Directories to persist across workstation sessions.
	// Structure is documented below.
	PersistentDirectories WorkstationConfigPersistentDirectoryArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Readiness checks to be performed on a workstation.
	// Structure is documented below.
	ReadinessChecks WorkstationConfigReadinessCheckArrayInput
	// Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`.
	// If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
	ReplicaZones pulumi.StringArrayInput
	// How long to wait before automatically stopping a workstation after it was started. A value of 0 indicates that workstations using this configuration should never time out from running duration. Must be greater than 0 and less than 24 hours if `encryptionKey` is set. Defaults to 12 hours.
	// A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
	RunningTimeout pulumi.StringPtrInput
	// The system-generated UID of the resource.
	Uid pulumi.StringPtrInput
	// The ID of the parent workstation cluster.
	WorkstationClusterId pulumi.StringPtrInput
	// The ID to be assigned to the workstation cluster config.
	WorkstationConfigId pulumi.StringPtrInput
}

func (WorkstationConfigState) ElementType

func (WorkstationConfigState) ElementType() reflect.Type

type WorkstationIamBinding

type WorkstationIamBinding struct {
	pulumi.CustomResourceState

	Condition WorkstationIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `workstations.WorkstationIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringOutput `pulumi:"role"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringOutput `pulumi:"workstationConfigId"`
	WorkstationId        pulumi.StringOutput `pulumi:"workstationId"`
}

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

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

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

* {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}}

* {{workstation_id}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Workstations workstation IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:workstations/workstationIamBinding:WorkstationIamBinding editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:workstations/workstationIamBinding:WorkstationIamBinding editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:workstations/workstationIamBinding:WorkstationIamBinding editor projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetWorkstationIamBinding

func GetWorkstationIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationIamBindingState, opts ...pulumi.ResourceOption) (*WorkstationIamBinding, error)

GetWorkstationIamBinding gets an existing WorkstationIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkstationIamBinding

func NewWorkstationIamBinding(ctx *pulumi.Context,
	name string, args *WorkstationIamBindingArgs, opts ...pulumi.ResourceOption) (*WorkstationIamBinding, error)

NewWorkstationIamBinding registers a new resource with the given unique name, arguments, and options.

func (*WorkstationIamBinding) ElementType

func (*WorkstationIamBinding) ElementType() reflect.Type

func (*WorkstationIamBinding) ToWorkstationIamBindingOutput

func (i *WorkstationIamBinding) ToWorkstationIamBindingOutput() WorkstationIamBindingOutput

func (*WorkstationIamBinding) ToWorkstationIamBindingOutputWithContext

func (i *WorkstationIamBinding) ToWorkstationIamBindingOutputWithContext(ctx context.Context) WorkstationIamBindingOutput

type WorkstationIamBindingArgs

type WorkstationIamBindingArgs struct {
	Condition WorkstationIamBindingConditionPtrInput
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `workstations.WorkstationIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
	WorkstationId        pulumi.StringInput
}

The set of arguments for constructing a WorkstationIamBinding resource.

func (WorkstationIamBindingArgs) ElementType

func (WorkstationIamBindingArgs) ElementType() reflect.Type

type WorkstationIamBindingArray

type WorkstationIamBindingArray []WorkstationIamBindingInput

func (WorkstationIamBindingArray) ElementType

func (WorkstationIamBindingArray) ElementType() reflect.Type

func (WorkstationIamBindingArray) ToWorkstationIamBindingArrayOutput

func (i WorkstationIamBindingArray) ToWorkstationIamBindingArrayOutput() WorkstationIamBindingArrayOutput

func (WorkstationIamBindingArray) ToWorkstationIamBindingArrayOutputWithContext

func (i WorkstationIamBindingArray) ToWorkstationIamBindingArrayOutputWithContext(ctx context.Context) WorkstationIamBindingArrayOutput

type WorkstationIamBindingArrayInput

type WorkstationIamBindingArrayInput interface {
	pulumi.Input

	ToWorkstationIamBindingArrayOutput() WorkstationIamBindingArrayOutput
	ToWorkstationIamBindingArrayOutputWithContext(context.Context) WorkstationIamBindingArrayOutput
}

WorkstationIamBindingArrayInput is an input type that accepts WorkstationIamBindingArray and WorkstationIamBindingArrayOutput values. You can construct a concrete instance of `WorkstationIamBindingArrayInput` via:

WorkstationIamBindingArray{ WorkstationIamBindingArgs{...} }

type WorkstationIamBindingArrayOutput

type WorkstationIamBindingArrayOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingArrayOutput) ElementType

func (WorkstationIamBindingArrayOutput) Index

func (WorkstationIamBindingArrayOutput) ToWorkstationIamBindingArrayOutput

func (o WorkstationIamBindingArrayOutput) ToWorkstationIamBindingArrayOutput() WorkstationIamBindingArrayOutput

func (WorkstationIamBindingArrayOutput) ToWorkstationIamBindingArrayOutputWithContext

func (o WorkstationIamBindingArrayOutput) ToWorkstationIamBindingArrayOutputWithContext(ctx context.Context) WorkstationIamBindingArrayOutput

type WorkstationIamBindingCondition

type WorkstationIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type WorkstationIamBindingConditionArgs

type WorkstationIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (WorkstationIamBindingConditionArgs) ElementType

func (WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionOutput

func (i WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionOutput() WorkstationIamBindingConditionOutput

func (WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionOutputWithContext

func (i WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionOutputWithContext(ctx context.Context) WorkstationIamBindingConditionOutput

func (WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionPtrOutput

func (i WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionPtrOutput() WorkstationIamBindingConditionPtrOutput

func (WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionPtrOutputWithContext

func (i WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionPtrOutputWithContext(ctx context.Context) WorkstationIamBindingConditionPtrOutput

type WorkstationIamBindingConditionInput

type WorkstationIamBindingConditionInput interface {
	pulumi.Input

	ToWorkstationIamBindingConditionOutput() WorkstationIamBindingConditionOutput
	ToWorkstationIamBindingConditionOutputWithContext(context.Context) WorkstationIamBindingConditionOutput
}

WorkstationIamBindingConditionInput is an input type that accepts WorkstationIamBindingConditionArgs and WorkstationIamBindingConditionOutput values. You can construct a concrete instance of `WorkstationIamBindingConditionInput` via:

WorkstationIamBindingConditionArgs{...}

type WorkstationIamBindingConditionOutput

type WorkstationIamBindingConditionOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingConditionOutput) Description

func (WorkstationIamBindingConditionOutput) ElementType

func (WorkstationIamBindingConditionOutput) Expression

func (WorkstationIamBindingConditionOutput) Title

func (WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionOutput

func (o WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionOutput() WorkstationIamBindingConditionOutput

func (WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionOutputWithContext

func (o WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionOutputWithContext(ctx context.Context) WorkstationIamBindingConditionOutput

func (WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionPtrOutput

func (o WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionPtrOutput() WorkstationIamBindingConditionPtrOutput

func (WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionPtrOutputWithContext

func (o WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionPtrOutputWithContext(ctx context.Context) WorkstationIamBindingConditionPtrOutput

type WorkstationIamBindingConditionPtrInput

type WorkstationIamBindingConditionPtrInput interface {
	pulumi.Input

	ToWorkstationIamBindingConditionPtrOutput() WorkstationIamBindingConditionPtrOutput
	ToWorkstationIamBindingConditionPtrOutputWithContext(context.Context) WorkstationIamBindingConditionPtrOutput
}

WorkstationIamBindingConditionPtrInput is an input type that accepts WorkstationIamBindingConditionArgs, WorkstationIamBindingConditionPtr and WorkstationIamBindingConditionPtrOutput values. You can construct a concrete instance of `WorkstationIamBindingConditionPtrInput` via:

        WorkstationIamBindingConditionArgs{...}

or:

        nil

type WorkstationIamBindingConditionPtrOutput

type WorkstationIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingConditionPtrOutput) Description

func (WorkstationIamBindingConditionPtrOutput) Elem

func (WorkstationIamBindingConditionPtrOutput) ElementType

func (WorkstationIamBindingConditionPtrOutput) Expression

func (WorkstationIamBindingConditionPtrOutput) Title

func (WorkstationIamBindingConditionPtrOutput) ToWorkstationIamBindingConditionPtrOutput

func (o WorkstationIamBindingConditionPtrOutput) ToWorkstationIamBindingConditionPtrOutput() WorkstationIamBindingConditionPtrOutput

func (WorkstationIamBindingConditionPtrOutput) ToWorkstationIamBindingConditionPtrOutputWithContext

func (o WorkstationIamBindingConditionPtrOutput) ToWorkstationIamBindingConditionPtrOutputWithContext(ctx context.Context) WorkstationIamBindingConditionPtrOutput

type WorkstationIamBindingInput

type WorkstationIamBindingInput interface {
	pulumi.Input

	ToWorkstationIamBindingOutput() WorkstationIamBindingOutput
	ToWorkstationIamBindingOutputWithContext(ctx context.Context) WorkstationIamBindingOutput
}

type WorkstationIamBindingMap

type WorkstationIamBindingMap map[string]WorkstationIamBindingInput

func (WorkstationIamBindingMap) ElementType

func (WorkstationIamBindingMap) ElementType() reflect.Type

func (WorkstationIamBindingMap) ToWorkstationIamBindingMapOutput

func (i WorkstationIamBindingMap) ToWorkstationIamBindingMapOutput() WorkstationIamBindingMapOutput

func (WorkstationIamBindingMap) ToWorkstationIamBindingMapOutputWithContext

func (i WorkstationIamBindingMap) ToWorkstationIamBindingMapOutputWithContext(ctx context.Context) WorkstationIamBindingMapOutput

type WorkstationIamBindingMapInput

type WorkstationIamBindingMapInput interface {
	pulumi.Input

	ToWorkstationIamBindingMapOutput() WorkstationIamBindingMapOutput
	ToWorkstationIamBindingMapOutputWithContext(context.Context) WorkstationIamBindingMapOutput
}

WorkstationIamBindingMapInput is an input type that accepts WorkstationIamBindingMap and WorkstationIamBindingMapOutput values. You can construct a concrete instance of `WorkstationIamBindingMapInput` via:

WorkstationIamBindingMap{ "key": WorkstationIamBindingArgs{...} }

type WorkstationIamBindingMapOutput

type WorkstationIamBindingMapOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingMapOutput) ElementType

func (WorkstationIamBindingMapOutput) MapIndex

func (WorkstationIamBindingMapOutput) ToWorkstationIamBindingMapOutput

func (o WorkstationIamBindingMapOutput) ToWorkstationIamBindingMapOutput() WorkstationIamBindingMapOutput

func (WorkstationIamBindingMapOutput) ToWorkstationIamBindingMapOutputWithContext

func (o WorkstationIamBindingMapOutput) ToWorkstationIamBindingMapOutputWithContext(ctx context.Context) WorkstationIamBindingMapOutput

type WorkstationIamBindingOutput

type WorkstationIamBindingOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingOutput) Condition

func (WorkstationIamBindingOutput) ElementType

func (WorkstationIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (WorkstationIamBindingOutput) Location

The location where the workstation parent resources reside. Used to find the parent resource to bind the IAM policy to

func (WorkstationIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (WorkstationIamBindingOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (WorkstationIamBindingOutput) Role

The role that should be applied. Only one `workstations.WorkstationIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (WorkstationIamBindingOutput) ToWorkstationIamBindingOutput

func (o WorkstationIamBindingOutput) ToWorkstationIamBindingOutput() WorkstationIamBindingOutput

func (WorkstationIamBindingOutput) ToWorkstationIamBindingOutputWithContext

func (o WorkstationIamBindingOutput) ToWorkstationIamBindingOutputWithContext(ctx context.Context) WorkstationIamBindingOutput

func (WorkstationIamBindingOutput) WorkstationClusterId

func (o WorkstationIamBindingOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationIamBindingOutput) WorkstationConfigId

func (o WorkstationIamBindingOutput) WorkstationConfigId() pulumi.StringOutput

func (WorkstationIamBindingOutput) WorkstationId

type WorkstationIamBindingState

type WorkstationIamBindingState struct {
	Condition WorkstationIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `workstations.WorkstationIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringPtrInput
	WorkstationConfigId  pulumi.StringPtrInput
	WorkstationId        pulumi.StringPtrInput
}

func (WorkstationIamBindingState) ElementType

func (WorkstationIamBindingState) ElementType() reflect.Type

type WorkstationIamMember

type WorkstationIamMember struct {
	pulumi.CustomResourceState

	Condition WorkstationIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `workstations.WorkstationIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringOutput `pulumi:"role"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringOutput `pulumi:"workstationConfigId"`
	WorkstationId        pulumi.StringOutput `pulumi:"workstationId"`
}

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

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

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

* {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}}

* {{workstation_id}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Workstations workstation IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:workstations/workstationIamMember:WorkstationIamMember editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:workstations/workstationIamMember:WorkstationIamMember editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:workstations/workstationIamMember:WorkstationIamMember editor projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetWorkstationIamMember

func GetWorkstationIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationIamMemberState, opts ...pulumi.ResourceOption) (*WorkstationIamMember, error)

GetWorkstationIamMember gets an existing WorkstationIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkstationIamMember

func NewWorkstationIamMember(ctx *pulumi.Context,
	name string, args *WorkstationIamMemberArgs, opts ...pulumi.ResourceOption) (*WorkstationIamMember, error)

NewWorkstationIamMember registers a new resource with the given unique name, arguments, and options.

func (*WorkstationIamMember) ElementType

func (*WorkstationIamMember) ElementType() reflect.Type

func (*WorkstationIamMember) ToWorkstationIamMemberOutput

func (i *WorkstationIamMember) ToWorkstationIamMemberOutput() WorkstationIamMemberOutput

func (*WorkstationIamMember) ToWorkstationIamMemberOutputWithContext

func (i *WorkstationIamMember) ToWorkstationIamMemberOutputWithContext(ctx context.Context) WorkstationIamMemberOutput

type WorkstationIamMemberArgs

type WorkstationIamMemberArgs struct {
	Condition WorkstationIamMemberConditionPtrInput
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `workstations.WorkstationIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
	WorkstationId        pulumi.StringInput
}

The set of arguments for constructing a WorkstationIamMember resource.

func (WorkstationIamMemberArgs) ElementType

func (WorkstationIamMemberArgs) ElementType() reflect.Type

type WorkstationIamMemberArray

type WorkstationIamMemberArray []WorkstationIamMemberInput

func (WorkstationIamMemberArray) ElementType

func (WorkstationIamMemberArray) ElementType() reflect.Type

func (WorkstationIamMemberArray) ToWorkstationIamMemberArrayOutput

func (i WorkstationIamMemberArray) ToWorkstationIamMemberArrayOutput() WorkstationIamMemberArrayOutput

func (WorkstationIamMemberArray) ToWorkstationIamMemberArrayOutputWithContext

func (i WorkstationIamMemberArray) ToWorkstationIamMemberArrayOutputWithContext(ctx context.Context) WorkstationIamMemberArrayOutput

type WorkstationIamMemberArrayInput

type WorkstationIamMemberArrayInput interface {
	pulumi.Input

	ToWorkstationIamMemberArrayOutput() WorkstationIamMemberArrayOutput
	ToWorkstationIamMemberArrayOutputWithContext(context.Context) WorkstationIamMemberArrayOutput
}

WorkstationIamMemberArrayInput is an input type that accepts WorkstationIamMemberArray and WorkstationIamMemberArrayOutput values. You can construct a concrete instance of `WorkstationIamMemberArrayInput` via:

WorkstationIamMemberArray{ WorkstationIamMemberArgs{...} }

type WorkstationIamMemberArrayOutput

type WorkstationIamMemberArrayOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberArrayOutput) ElementType

func (WorkstationIamMemberArrayOutput) Index

func (WorkstationIamMemberArrayOutput) ToWorkstationIamMemberArrayOutput

func (o WorkstationIamMemberArrayOutput) ToWorkstationIamMemberArrayOutput() WorkstationIamMemberArrayOutput

func (WorkstationIamMemberArrayOutput) ToWorkstationIamMemberArrayOutputWithContext

func (o WorkstationIamMemberArrayOutput) ToWorkstationIamMemberArrayOutputWithContext(ctx context.Context) WorkstationIamMemberArrayOutput

type WorkstationIamMemberCondition

type WorkstationIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type WorkstationIamMemberConditionArgs

type WorkstationIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (WorkstationIamMemberConditionArgs) ElementType

func (WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionOutput

func (i WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionOutput() WorkstationIamMemberConditionOutput

func (WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionOutputWithContext

func (i WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionOutputWithContext(ctx context.Context) WorkstationIamMemberConditionOutput

func (WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionPtrOutput

func (i WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionPtrOutput() WorkstationIamMemberConditionPtrOutput

func (WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionPtrOutputWithContext

func (i WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionPtrOutputWithContext(ctx context.Context) WorkstationIamMemberConditionPtrOutput

type WorkstationIamMemberConditionInput

type WorkstationIamMemberConditionInput interface {
	pulumi.Input

	ToWorkstationIamMemberConditionOutput() WorkstationIamMemberConditionOutput
	ToWorkstationIamMemberConditionOutputWithContext(context.Context) WorkstationIamMemberConditionOutput
}

WorkstationIamMemberConditionInput is an input type that accepts WorkstationIamMemberConditionArgs and WorkstationIamMemberConditionOutput values. You can construct a concrete instance of `WorkstationIamMemberConditionInput` via:

WorkstationIamMemberConditionArgs{...}

type WorkstationIamMemberConditionOutput

type WorkstationIamMemberConditionOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberConditionOutput) Description

func (WorkstationIamMemberConditionOutput) ElementType

func (WorkstationIamMemberConditionOutput) Expression

func (WorkstationIamMemberConditionOutput) Title

func (WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionOutput

func (o WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionOutput() WorkstationIamMemberConditionOutput

func (WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionOutputWithContext

func (o WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionOutputWithContext(ctx context.Context) WorkstationIamMemberConditionOutput

func (WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionPtrOutput

func (o WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionPtrOutput() WorkstationIamMemberConditionPtrOutput

func (WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionPtrOutputWithContext

func (o WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionPtrOutputWithContext(ctx context.Context) WorkstationIamMemberConditionPtrOutput

type WorkstationIamMemberConditionPtrInput

type WorkstationIamMemberConditionPtrInput interface {
	pulumi.Input

	ToWorkstationIamMemberConditionPtrOutput() WorkstationIamMemberConditionPtrOutput
	ToWorkstationIamMemberConditionPtrOutputWithContext(context.Context) WorkstationIamMemberConditionPtrOutput
}

WorkstationIamMemberConditionPtrInput is an input type that accepts WorkstationIamMemberConditionArgs, WorkstationIamMemberConditionPtr and WorkstationIamMemberConditionPtrOutput values. You can construct a concrete instance of `WorkstationIamMemberConditionPtrInput` via:

        WorkstationIamMemberConditionArgs{...}

or:

        nil

type WorkstationIamMemberConditionPtrOutput

type WorkstationIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberConditionPtrOutput) Description

func (WorkstationIamMemberConditionPtrOutput) Elem

func (WorkstationIamMemberConditionPtrOutput) ElementType

func (WorkstationIamMemberConditionPtrOutput) Expression

func (WorkstationIamMemberConditionPtrOutput) Title

func (WorkstationIamMemberConditionPtrOutput) ToWorkstationIamMemberConditionPtrOutput

func (o WorkstationIamMemberConditionPtrOutput) ToWorkstationIamMemberConditionPtrOutput() WorkstationIamMemberConditionPtrOutput

func (WorkstationIamMemberConditionPtrOutput) ToWorkstationIamMemberConditionPtrOutputWithContext

func (o WorkstationIamMemberConditionPtrOutput) ToWorkstationIamMemberConditionPtrOutputWithContext(ctx context.Context) WorkstationIamMemberConditionPtrOutput

type WorkstationIamMemberInput

type WorkstationIamMemberInput interface {
	pulumi.Input

	ToWorkstationIamMemberOutput() WorkstationIamMemberOutput
	ToWorkstationIamMemberOutputWithContext(ctx context.Context) WorkstationIamMemberOutput
}

type WorkstationIamMemberMap

type WorkstationIamMemberMap map[string]WorkstationIamMemberInput

func (WorkstationIamMemberMap) ElementType

func (WorkstationIamMemberMap) ElementType() reflect.Type

func (WorkstationIamMemberMap) ToWorkstationIamMemberMapOutput

func (i WorkstationIamMemberMap) ToWorkstationIamMemberMapOutput() WorkstationIamMemberMapOutput

func (WorkstationIamMemberMap) ToWorkstationIamMemberMapOutputWithContext

func (i WorkstationIamMemberMap) ToWorkstationIamMemberMapOutputWithContext(ctx context.Context) WorkstationIamMemberMapOutput

type WorkstationIamMemberMapInput

type WorkstationIamMemberMapInput interface {
	pulumi.Input

	ToWorkstationIamMemberMapOutput() WorkstationIamMemberMapOutput
	ToWorkstationIamMemberMapOutputWithContext(context.Context) WorkstationIamMemberMapOutput
}

WorkstationIamMemberMapInput is an input type that accepts WorkstationIamMemberMap and WorkstationIamMemberMapOutput values. You can construct a concrete instance of `WorkstationIamMemberMapInput` via:

WorkstationIamMemberMap{ "key": WorkstationIamMemberArgs{...} }

type WorkstationIamMemberMapOutput

type WorkstationIamMemberMapOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberMapOutput) ElementType

func (WorkstationIamMemberMapOutput) MapIndex

func (WorkstationIamMemberMapOutput) ToWorkstationIamMemberMapOutput

func (o WorkstationIamMemberMapOutput) ToWorkstationIamMemberMapOutput() WorkstationIamMemberMapOutput

func (WorkstationIamMemberMapOutput) ToWorkstationIamMemberMapOutputWithContext

func (o WorkstationIamMemberMapOutput) ToWorkstationIamMemberMapOutputWithContext(ctx context.Context) WorkstationIamMemberMapOutput

type WorkstationIamMemberOutput

type WorkstationIamMemberOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberOutput) Condition

func (WorkstationIamMemberOutput) ElementType

func (WorkstationIamMemberOutput) ElementType() reflect.Type

func (WorkstationIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (WorkstationIamMemberOutput) Location

The location where the workstation parent resources reside. Used to find the parent resource to bind the IAM policy to

func (WorkstationIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (WorkstationIamMemberOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (WorkstationIamMemberOutput) Role

The role that should be applied. Only one `workstations.WorkstationIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (WorkstationIamMemberOutput) ToWorkstationIamMemberOutput

func (o WorkstationIamMemberOutput) ToWorkstationIamMemberOutput() WorkstationIamMemberOutput

func (WorkstationIamMemberOutput) ToWorkstationIamMemberOutputWithContext

func (o WorkstationIamMemberOutput) ToWorkstationIamMemberOutputWithContext(ctx context.Context) WorkstationIamMemberOutput

func (WorkstationIamMemberOutput) WorkstationClusterId

func (o WorkstationIamMemberOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationIamMemberOutput) WorkstationConfigId

func (o WorkstationIamMemberOutput) WorkstationConfigId() pulumi.StringOutput

func (WorkstationIamMemberOutput) WorkstationId

type WorkstationIamMemberState

type WorkstationIamMemberState struct {
	Condition WorkstationIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `workstations.WorkstationIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role                 pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringPtrInput
	WorkstationConfigId  pulumi.StringPtrInput
	WorkstationId        pulumi.StringPtrInput
}

func (WorkstationIamMemberState) ElementType

func (WorkstationIamMemberState) ElementType() reflect.Type

type WorkstationIamPolicy

type WorkstationIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringOutput `pulumi:"location"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              pulumi.StringOutput `pulumi:"project"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringOutput `pulumi:"workstationConfigId"`
	WorkstationId        pulumi.StringOutput `pulumi:"workstationId"`
}

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

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

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

* {{location}}/{{workstation_cluster_id}}/{{workstation_config_id}}/{{workstation_id}}

* {{workstation_id}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Workstations workstation IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:workstations/workstationIamPolicy:WorkstationIamPolicy editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:workstations/workstationIamPolicy:WorkstationIamPolicy editor "projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:workstations/workstationIamPolicy:WorkstationIamPolicy editor projects/{{project}}/locations/{{location}}/workstationClusters/{{workstation_cluster_id}}/workstationConfigs/{{workstation_config_id}}/workstations/{{workstation_id}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetWorkstationIamPolicy

func GetWorkstationIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationIamPolicyState, opts ...pulumi.ResourceOption) (*WorkstationIamPolicy, error)

GetWorkstationIamPolicy gets an existing WorkstationIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWorkstationIamPolicy

func NewWorkstationIamPolicy(ctx *pulumi.Context,
	name string, args *WorkstationIamPolicyArgs, opts ...pulumi.ResourceOption) (*WorkstationIamPolicy, error)

NewWorkstationIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*WorkstationIamPolicy) ElementType

func (*WorkstationIamPolicy) ElementType() reflect.Type

func (*WorkstationIamPolicy) ToWorkstationIamPolicyOutput

func (i *WorkstationIamPolicy) ToWorkstationIamPolicyOutput() WorkstationIamPolicyOutput

func (*WorkstationIamPolicy) ToWorkstationIamPolicyOutputWithContext

func (i *WorkstationIamPolicy) ToWorkstationIamPolicyOutputWithContext(ctx context.Context) WorkstationIamPolicyOutput

type WorkstationIamPolicyArgs

type WorkstationIamPolicyArgs struct {
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
	WorkstationId        pulumi.StringInput
}

The set of arguments for constructing a WorkstationIamPolicy resource.

func (WorkstationIamPolicyArgs) ElementType

func (WorkstationIamPolicyArgs) ElementType() reflect.Type

type WorkstationIamPolicyArray

type WorkstationIamPolicyArray []WorkstationIamPolicyInput

func (WorkstationIamPolicyArray) ElementType

func (WorkstationIamPolicyArray) ElementType() reflect.Type

func (WorkstationIamPolicyArray) ToWorkstationIamPolicyArrayOutput

func (i WorkstationIamPolicyArray) ToWorkstationIamPolicyArrayOutput() WorkstationIamPolicyArrayOutput

func (WorkstationIamPolicyArray) ToWorkstationIamPolicyArrayOutputWithContext

func (i WorkstationIamPolicyArray) ToWorkstationIamPolicyArrayOutputWithContext(ctx context.Context) WorkstationIamPolicyArrayOutput

type WorkstationIamPolicyArrayInput

type WorkstationIamPolicyArrayInput interface {
	pulumi.Input

	ToWorkstationIamPolicyArrayOutput() WorkstationIamPolicyArrayOutput
	ToWorkstationIamPolicyArrayOutputWithContext(context.Context) WorkstationIamPolicyArrayOutput
}

WorkstationIamPolicyArrayInput is an input type that accepts WorkstationIamPolicyArray and WorkstationIamPolicyArrayOutput values. You can construct a concrete instance of `WorkstationIamPolicyArrayInput` via:

WorkstationIamPolicyArray{ WorkstationIamPolicyArgs{...} }

type WorkstationIamPolicyArrayOutput

type WorkstationIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (WorkstationIamPolicyArrayOutput) ElementType

func (WorkstationIamPolicyArrayOutput) Index

func (WorkstationIamPolicyArrayOutput) ToWorkstationIamPolicyArrayOutput

func (o WorkstationIamPolicyArrayOutput) ToWorkstationIamPolicyArrayOutput() WorkstationIamPolicyArrayOutput

func (WorkstationIamPolicyArrayOutput) ToWorkstationIamPolicyArrayOutputWithContext

func (o WorkstationIamPolicyArrayOutput) ToWorkstationIamPolicyArrayOutputWithContext(ctx context.Context) WorkstationIamPolicyArrayOutput

type WorkstationIamPolicyInput

type WorkstationIamPolicyInput interface {
	pulumi.Input

	ToWorkstationIamPolicyOutput() WorkstationIamPolicyOutput
	ToWorkstationIamPolicyOutputWithContext(ctx context.Context) WorkstationIamPolicyOutput
}

type WorkstationIamPolicyMap

type WorkstationIamPolicyMap map[string]WorkstationIamPolicyInput

func (WorkstationIamPolicyMap) ElementType

func (WorkstationIamPolicyMap) ElementType() reflect.Type

func (WorkstationIamPolicyMap) ToWorkstationIamPolicyMapOutput

func (i WorkstationIamPolicyMap) ToWorkstationIamPolicyMapOutput() WorkstationIamPolicyMapOutput

func (WorkstationIamPolicyMap) ToWorkstationIamPolicyMapOutputWithContext

func (i WorkstationIamPolicyMap) ToWorkstationIamPolicyMapOutputWithContext(ctx context.Context) WorkstationIamPolicyMapOutput

type WorkstationIamPolicyMapInput

type WorkstationIamPolicyMapInput interface {
	pulumi.Input

	ToWorkstationIamPolicyMapOutput() WorkstationIamPolicyMapOutput
	ToWorkstationIamPolicyMapOutputWithContext(context.Context) WorkstationIamPolicyMapOutput
}

WorkstationIamPolicyMapInput is an input type that accepts WorkstationIamPolicyMap and WorkstationIamPolicyMapOutput values. You can construct a concrete instance of `WorkstationIamPolicyMapInput` via:

WorkstationIamPolicyMap{ "key": WorkstationIamPolicyArgs{...} }

type WorkstationIamPolicyMapOutput

type WorkstationIamPolicyMapOutput struct{ *pulumi.OutputState }

func (WorkstationIamPolicyMapOutput) ElementType

func (WorkstationIamPolicyMapOutput) MapIndex

func (WorkstationIamPolicyMapOutput) ToWorkstationIamPolicyMapOutput

func (o WorkstationIamPolicyMapOutput) ToWorkstationIamPolicyMapOutput() WorkstationIamPolicyMapOutput

func (WorkstationIamPolicyMapOutput) ToWorkstationIamPolicyMapOutputWithContext

func (o WorkstationIamPolicyMapOutput) ToWorkstationIamPolicyMapOutputWithContext(ctx context.Context) WorkstationIamPolicyMapOutput

type WorkstationIamPolicyOutput

type WorkstationIamPolicyOutput struct{ *pulumi.OutputState }

func (WorkstationIamPolicyOutput) ElementType

func (WorkstationIamPolicyOutput) ElementType() reflect.Type

func (WorkstationIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (WorkstationIamPolicyOutput) Location

The location where the workstation parent resources reside. Used to find the parent resource to bind the IAM policy to

func (WorkstationIamPolicyOutput) PolicyData

The policy data generated by a `organizations.getIAMPolicy` data source.

func (WorkstationIamPolicyOutput) Project

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

func (WorkstationIamPolicyOutput) ToWorkstationIamPolicyOutput

func (o WorkstationIamPolicyOutput) ToWorkstationIamPolicyOutput() WorkstationIamPolicyOutput

func (WorkstationIamPolicyOutput) ToWorkstationIamPolicyOutputWithContext

func (o WorkstationIamPolicyOutput) ToWorkstationIamPolicyOutputWithContext(ctx context.Context) WorkstationIamPolicyOutput

func (WorkstationIamPolicyOutput) WorkstationClusterId

func (o WorkstationIamPolicyOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationIamPolicyOutput) WorkstationConfigId

func (o WorkstationIamPolicyOutput) WorkstationConfigId() pulumi.StringOutput

func (WorkstationIamPolicyOutput) WorkstationId

type WorkstationIamPolicyState

type WorkstationIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The location where the workstation parent resources reside.
	// Used to find the parent resource to bind the IAM policy to
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project              pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringPtrInput
	WorkstationConfigId  pulumi.StringPtrInput
	WorkstationId        pulumi.StringPtrInput
}

func (WorkstationIamPolicyState) ElementType

func (WorkstationIamPolicyState) ElementType() reflect.Type

type WorkstationInput

type WorkstationInput interface {
	pulumi.Input

	ToWorkstationOutput() WorkstationOutput
	ToWorkstationOutputWithContext(ctx context.Context) WorkstationOutput
}

type WorkstationMap

type WorkstationMap map[string]WorkstationInput

func (WorkstationMap) ElementType

func (WorkstationMap) ElementType() reflect.Type

func (WorkstationMap) ToWorkstationMapOutput

func (i WorkstationMap) ToWorkstationMapOutput() WorkstationMapOutput

func (WorkstationMap) ToWorkstationMapOutputWithContext

func (i WorkstationMap) ToWorkstationMapOutputWithContext(ctx context.Context) WorkstationMapOutput

type WorkstationMapInput

type WorkstationMapInput interface {
	pulumi.Input

	ToWorkstationMapOutput() WorkstationMapOutput
	ToWorkstationMapOutputWithContext(context.Context) WorkstationMapOutput
}

WorkstationMapInput is an input type that accepts WorkstationMap and WorkstationMapOutput values. You can construct a concrete instance of `WorkstationMapInput` via:

WorkstationMap{ "key": WorkstationArgs{...} }

type WorkstationMapOutput

type WorkstationMapOutput struct{ *pulumi.OutputState }

func (WorkstationMapOutput) ElementType

func (WorkstationMapOutput) ElementType() reflect.Type

func (WorkstationMapOutput) MapIndex

func (WorkstationMapOutput) ToWorkstationMapOutput

func (o WorkstationMapOutput) ToWorkstationMapOutput() WorkstationMapOutput

func (WorkstationMapOutput) ToWorkstationMapOutputWithContext

func (o WorkstationMapOutput) ToWorkstationMapOutputWithContext(ctx context.Context) WorkstationMapOutput

type WorkstationOutput

type WorkstationOutput struct{ *pulumi.OutputState }

func (WorkstationOutput) Annotations

func (o WorkstationOutput) Annotations() pulumi.StringMapOutput

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 `effectiveAnnotations` for all of the annotations present on the resource.

func (WorkstationOutput) CreateTime

func (o WorkstationOutput) CreateTime() pulumi.StringOutput

Time when this resource was created.

func (WorkstationOutput) DisplayName

func (o WorkstationOutput) DisplayName() pulumi.StringPtrOutput

Human-readable name for this resource.

func (WorkstationOutput) EffectiveAnnotations

func (o WorkstationOutput) EffectiveAnnotations() pulumi.StringMapOutput

All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through Terraform, other clients and services.

func (WorkstationOutput) EffectiveLabels

func (o WorkstationOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (WorkstationOutput) ElementType

func (WorkstationOutput) ElementType() reflect.Type

func (WorkstationOutput) Env

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

func (WorkstationOutput) Host

Host to which clients can send HTTPS traffic that will be received by the workstation. Authorized traffic will be received to the workstation as HTTP on port 80. To send traffic to a different port, clients may prefix the host with the destination port in the format "{port}-{host}".

func (WorkstationOutput) Labels

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 `effectiveLabels` for all of the labels present on the resource.

func (WorkstationOutput) Location

func (o WorkstationOutput) Location() pulumi.StringOutput

The location where the workstation parent resources reside.

***

func (WorkstationOutput) Name

Full name of this resource.

func (WorkstationOutput) Project

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

func (WorkstationOutput) PulumiLabels

func (o WorkstationOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (WorkstationOutput) State

Current state of the workstation.

func (WorkstationOutput) ToWorkstationOutput

func (o WorkstationOutput) ToWorkstationOutput() WorkstationOutput

func (WorkstationOutput) ToWorkstationOutputWithContext

func (o WorkstationOutput) ToWorkstationOutputWithContext(ctx context.Context) WorkstationOutput

func (WorkstationOutput) Uid

A system-assigned unique identified for this resource.

func (WorkstationOutput) WorkstationClusterId

func (o WorkstationOutput) WorkstationClusterId() pulumi.StringOutput

The ID of the parent workstation cluster.

func (WorkstationOutput) WorkstationConfigId

func (o WorkstationOutput) WorkstationConfigId() pulumi.StringOutput

The ID of the parent workstation cluster config.

func (WorkstationOutput) WorkstationId

func (o WorkstationOutput) WorkstationId() pulumi.StringOutput

ID to use for the workstation.

type WorkstationState

type WorkstationState struct {
	// 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 `effectiveAnnotations` for all of the annotations present on the resource.
	Annotations pulumi.StringMapInput
	// Time when this resource was created.
	CreateTime pulumi.StringPtrInput
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// All of annotations (key/value pairs) present on the resource in GCP, including the annotations configured through
	// Terraform, other clients and services.
	EffectiveAnnotations pulumi.StringMapInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// 'Client-specified environment variables passed to the workstation container's entrypoint.'
	Env pulumi.StringMapInput
	// Host to which clients can send HTTPS traffic that will be received by the workstation.
	// Authorized traffic will be received to the workstation as HTTP on port 80.
	// To send traffic to a different port, clients may prefix the host with the destination port in the format "{port}-{host}".
	Host pulumi.StringPtrInput
	// 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 `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The location where the workstation parent resources reside.
	//
	// ***
	Location pulumi.StringPtrInput
	// Full name of this resource.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Current state of the workstation.
	State pulumi.StringPtrInput
	// A system-assigned unique identified for this resource.
	Uid pulumi.StringPtrInput
	// The ID of the parent workstation cluster.
	WorkstationClusterId pulumi.StringPtrInput
	// The ID of the parent workstation cluster config.
	WorkstationConfigId pulumi.StringPtrInput
	// ID to use for the workstation.
	WorkstationId pulumi.StringPtrInput
}

func (WorkstationState) ElementType

func (WorkstationState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL