workstations

package
v6.65.0 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2023 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 added in v6.59.0

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 added in v6.59.0

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 added in v6.59.0

type LookupWorkstationConfigIamPolicyResult added in v6.59.0

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.

func LookupWorkstationConfigIamPolicy added in v6.59.0

type LookupWorkstationConfigIamPolicyResultOutput added in v6.59.0

type LookupWorkstationConfigIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getWorkstationConfigIamPolicy.

func (LookupWorkstationConfigIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupWorkstationConfigIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupWorkstationConfigIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupWorkstationConfigIamPolicyResultOutput) Location added in v6.59.0

func (LookupWorkstationConfigIamPolicyResultOutput) PolicyData added in v6.59.0

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

func (LookupWorkstationConfigIamPolicyResultOutput) Project added in v6.59.0

func (LookupWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationConfigIamPolicyResultOutput added in v6.59.0

func (o LookupWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationConfigIamPolicyResultOutput() LookupWorkstationConfigIamPolicyResultOutput

func (LookupWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationConfigIamPolicyResultOutputWithContext added in v6.59.0

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

func (LookupWorkstationConfigIamPolicyResultOutput) WorkstationClusterId added in v6.59.0

func (LookupWorkstationConfigIamPolicyResultOutput) WorkstationConfigId added in v6.59.0

type LookupWorkstationIamPolicyArgs added in v6.59.0

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 added in v6.59.0

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 added in v6.59.0

type LookupWorkstationIamPolicyResult added in v6.59.0

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.

func LookupWorkstationIamPolicy added in v6.59.0

func LookupWorkstationIamPolicy(ctx *pulumi.Context, args *LookupWorkstationIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupWorkstationIamPolicyResult, error)

type LookupWorkstationIamPolicyResultOutput added in v6.59.0

type LookupWorkstationIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getWorkstationIamPolicy.

func (LookupWorkstationIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupWorkstationIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupWorkstationIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupWorkstationIamPolicyResultOutput) Location added in v6.59.0

func (LookupWorkstationIamPolicyResultOutput) PolicyData added in v6.59.0

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

func (LookupWorkstationIamPolicyResultOutput) Project added in v6.59.0

func (LookupWorkstationIamPolicyResultOutput) ToLookupWorkstationIamPolicyResultOutput added in v6.59.0

func (o LookupWorkstationIamPolicyResultOutput) ToLookupWorkstationIamPolicyResultOutput() LookupWorkstationIamPolicyResultOutput

func (LookupWorkstationIamPolicyResultOutput) ToLookupWorkstationIamPolicyResultOutputWithContext added in v6.59.0

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

func (LookupWorkstationIamPolicyResultOutput) WorkstationClusterId added in v6.59.0

func (LookupWorkstationIamPolicyResultOutput) WorkstationConfigId added in v6.59.0

func (LookupWorkstationIamPolicyResultOutput) WorkstationId added in v6.59.0

type Workstation added in v6.52.0

type Workstation struct {
	pulumi.CustomResourceState

	// Client-specified annotations. This is distinct from labels.
	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"`
	// 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.
	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"`
	// 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/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &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"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultWorkstationConfig, err := workstations.NewWorkstationConfig(ctx, "defaultWorkstationConfig", &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),
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstation(ctx, "defaultWorkstation", &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"),
			},
			Annotations: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Workstation can be imported using any of these accepted formats

```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 added in v6.52.0

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 added in v6.52.0

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 added in v6.52.0

func (*Workstation) ElementType() reflect.Type

func (*Workstation) ToWorkstationOutput added in v6.52.0

func (i *Workstation) ToWorkstationOutput() WorkstationOutput

func (*Workstation) ToWorkstationOutputWithContext added in v6.52.0

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

type WorkstationArgs added in v6.52.0

type WorkstationArgs struct {
	// Client-specified annotations. This is distinct from labels.
	Annotations pulumi.StringMapInput
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// Client-specified labels that are applied to the resource and that are also propagated to the underlying Compute Engine resources.
	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 added in v6.52.0

func (WorkstationArgs) ElementType() reflect.Type

type WorkstationArray added in v6.52.0

type WorkstationArray []WorkstationInput

func (WorkstationArray) ElementType added in v6.52.0

func (WorkstationArray) ElementType() reflect.Type

func (WorkstationArray) ToWorkstationArrayOutput added in v6.52.0

func (i WorkstationArray) ToWorkstationArrayOutput() WorkstationArrayOutput

func (WorkstationArray) ToWorkstationArrayOutputWithContext added in v6.52.0

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

type WorkstationArrayInput added in v6.52.0

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 added in v6.52.0

type WorkstationArrayOutput struct{ *pulumi.OutputState }

func (WorkstationArrayOutput) ElementType added in v6.52.0

func (WorkstationArrayOutput) ElementType() reflect.Type

func (WorkstationArrayOutput) Index added in v6.52.0

func (WorkstationArrayOutput) ToWorkstationArrayOutput added in v6.52.0

func (o WorkstationArrayOutput) ToWorkstationArrayOutput() WorkstationArrayOutput

func (WorkstationArrayOutput) ToWorkstationArrayOutputWithContext added in v6.52.0

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

type WorkstationCluster

type WorkstationCluster struct {
	pulumi.CustomResourceState

	// Client-specified annotations. This is distinct from labels.
	Annotations pulumi.StringMapOutput `pulumi:"annotations"`
	// Status conditions describing the current resource state.
	// Structure is documented below.
	Conditions WorkstationClusterConditionArrayOutput `pulumi:"conditions"`
	// 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"`
	// 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.
	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"`
	// 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/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &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"),
			},
		}, pulumi.Provider(google_beta))
		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/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &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"),
			},
		}, pulumi.Provider(google_beta))
		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

```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.
	Annotations pulumi.StringMapInput
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// Client-specified labels that are applied to the resource and that are also propagated to the underlying Compute Engine resources.
	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 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.

func (WorkstationClusterOutput) Conditions

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

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

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) 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 added in v6.64.0

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 added in v6.64.0

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.
	Annotations pulumi.StringMapInput
	// Status conditions describing the current resource state.
	// Structure is documented below.
	Conditions WorkstationClusterConditionArrayInput
	// 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
	// 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.
	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
	// 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 added in v6.51.0

type WorkstationConfig struct {
	pulumi.CustomResourceState

	// Client-specified annotations. This is distinct from labels.
	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"`
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// 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"`
	// 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.
	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"`
	// 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/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &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"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "defaultWorkstationConfig", &workstations.WorkstationConfigArgs{
			WorkstationConfigId:  pulumi.String("workstation-config"),
			WorkstationClusterId: defaultWorkstationCluster.WorkstationClusterId,
			Location:             pulumi.String("us-central1"),
			IdleTimeout:          pulumi.String("600s"),
			RunningTimeout:       pulumi.String("21600s"),
			Host: &workstations.WorkstationConfigHostArgs{
				GceInstance: &workstations.WorkstationConfigHostGceInstanceArgs{
					MachineType:              pulumi.String("e2-standard-4"),
					BootDiskSizeGb:           pulumi.Int(35),
					DisablePublicIpAddresses: pulumi.Bool(true),
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Container

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &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"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "defaultWorkstationConfig", &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"),
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Persistent Directories

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &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"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "defaultWorkstationConfig", &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"),
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Source Snapshot

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		mySourceDisk, err := compute.NewDisk(ctx, "mySourceDisk", &compute.DiskArgs{
			Size: pulumi.Int(10),
			Type: pulumi.String("pd-ssd"),
			Zone: pulumi.String("us-central1-a"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		mySourceSnapshot, err := compute.NewSnapshot(ctx, "mySourceSnapshot", &compute.SnapshotArgs{
			SourceDisk: mySourceDisk.Name,
			Zone:       pulumi.String("us-central1-a"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &workstations.WorkstationClusterArgs{
			WorkstationClusterId: pulumi.String("workstation-cluster"),
			Network:              defaultNetwork.ID(),
			Subnetwork:           defaultSubnetwork.ID(),
			Location:             pulumi.String("us-central1"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "defaultWorkstationConfig", &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"),
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Shielded Instance Config

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &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"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "defaultWorkstationConfig", &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),
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Accelerators

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &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"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "defaultWorkstationConfig", &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-p100"),
							Count: pulumi.Int(1),
						},
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Workstation Config Encryption Key

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/serviceAccount"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "defaultNetwork", &compute.NetworkArgs{
			AutoCreateSubnetworks: pulumi.Bool(false),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultSubnetwork, err := compute.NewSubnetwork(ctx, "defaultSubnetwork", &compute.SubnetworkArgs{
			IpCidrRange: pulumi.String("10.0.0.0/24"),
			Region:      pulumi.String("us-central1"),
			Network:     defaultNetwork.Name,
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultWorkstationCluster, err := workstations.NewWorkstationCluster(ctx, "defaultWorkstationCluster", &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"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultKeyRing, err := kms.NewKeyRing(ctx, "defaultKeyRing", &kms.KeyRingArgs{
			Location: pulumi.String("us-central1"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultCryptoKey, err := kms.NewCryptoKey(ctx, "defaultCryptoKey", &kms.CryptoKeyArgs{
			KeyRing: defaultKeyRing.ID(),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		defaultAccount, err := serviceAccount.NewAccount(ctx, "defaultAccount", &serviceAccount.AccountArgs{
			AccountId:   pulumi.String("my-account"),
			DisplayName: pulumi.String("Service Account"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = workstations.NewWorkstationConfig(ctx, "defaultWorkstationConfig", &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,
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

WorkstationConfig can be imported using any of these accepted formats

```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 added in v6.51.0

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 added in v6.51.0

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 added in v6.51.0

func (*WorkstationConfig) ElementType() reflect.Type

func (*WorkstationConfig) ToWorkstationConfigOutput added in v6.51.0

func (i *WorkstationConfig) ToWorkstationConfigOutput() WorkstationConfigOutput

func (*WorkstationConfig) ToWorkstationConfigOutputWithContext added in v6.51.0

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

type WorkstationConfigArgs added in v6.51.0

type WorkstationConfigArgs struct {
	// Client-specified annotations. This is distinct from labels.
	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
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// 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
	// 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.
	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
	// 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 added in v6.51.0

func (WorkstationConfigArgs) ElementType() reflect.Type

type WorkstationConfigArray added in v6.51.0

type WorkstationConfigArray []WorkstationConfigInput

func (WorkstationConfigArray) ElementType added in v6.51.0

func (WorkstationConfigArray) ElementType() reflect.Type

func (WorkstationConfigArray) ToWorkstationConfigArrayOutput added in v6.51.0

func (i WorkstationConfigArray) ToWorkstationConfigArrayOutput() WorkstationConfigArrayOutput

func (WorkstationConfigArray) ToWorkstationConfigArrayOutputWithContext added in v6.51.0

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

type WorkstationConfigArrayInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigArrayOutput) ElementType added in v6.51.0

func (WorkstationConfigArrayOutput) Index added in v6.51.0

func (WorkstationConfigArrayOutput) ToWorkstationConfigArrayOutput added in v6.51.0

func (o WorkstationConfigArrayOutput) ToWorkstationConfigArrayOutput() WorkstationConfigArrayOutput

func (WorkstationConfigArrayOutput) ToWorkstationConfigArrayOutputWithContext added in v6.51.0

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

type WorkstationConfigCondition added in v6.51.0

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 added in v6.51.0

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 added in v6.51.0

func (WorkstationConfigConditionArgs) ToWorkstationConfigConditionOutput added in v6.51.0

func (i WorkstationConfigConditionArgs) ToWorkstationConfigConditionOutput() WorkstationConfigConditionOutput

func (WorkstationConfigConditionArgs) ToWorkstationConfigConditionOutputWithContext added in v6.51.0

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

type WorkstationConfigConditionArray added in v6.51.0

type WorkstationConfigConditionArray []WorkstationConfigConditionInput

func (WorkstationConfigConditionArray) ElementType added in v6.51.0

func (WorkstationConfigConditionArray) ToWorkstationConfigConditionArrayOutput added in v6.51.0

func (i WorkstationConfigConditionArray) ToWorkstationConfigConditionArrayOutput() WorkstationConfigConditionArrayOutput

func (WorkstationConfigConditionArray) ToWorkstationConfigConditionArrayOutputWithContext added in v6.51.0

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

type WorkstationConfigConditionArrayInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigConditionArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigConditionArrayOutput) ElementType added in v6.51.0

func (WorkstationConfigConditionArrayOutput) Index added in v6.51.0

func (WorkstationConfigConditionArrayOutput) ToWorkstationConfigConditionArrayOutput added in v6.51.0

func (o WorkstationConfigConditionArrayOutput) ToWorkstationConfigConditionArrayOutput() WorkstationConfigConditionArrayOutput

func (WorkstationConfigConditionArrayOutput) ToWorkstationConfigConditionArrayOutputWithContext added in v6.51.0

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

type WorkstationConfigConditionInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigConditionOutput struct{ *pulumi.OutputState }

func (WorkstationConfigConditionOutput) Code added in v6.51.0

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

func (WorkstationConfigConditionOutput) Details added in v6.51.0

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

func (WorkstationConfigConditionOutput) ElementType added in v6.51.0

func (WorkstationConfigConditionOutput) Message added in v6.51.0

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

func (WorkstationConfigConditionOutput) ToWorkstationConfigConditionOutput added in v6.51.0

func (o WorkstationConfigConditionOutput) ToWorkstationConfigConditionOutput() WorkstationConfigConditionOutput

func (WorkstationConfigConditionOutput) ToWorkstationConfigConditionOutputWithContext added in v6.51.0

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

type WorkstationConfigContainer added in v6.51.0

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 added in v6.51.0

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 added in v6.51.0

func (WorkstationConfigContainerArgs) ToWorkstationConfigContainerOutput added in v6.51.0

func (i WorkstationConfigContainerArgs) ToWorkstationConfigContainerOutput() WorkstationConfigContainerOutput

func (WorkstationConfigContainerArgs) ToWorkstationConfigContainerOutputWithContext added in v6.51.0

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

func (WorkstationConfigContainerArgs) ToWorkstationConfigContainerPtrOutput added in v6.51.0

func (i WorkstationConfigContainerArgs) ToWorkstationConfigContainerPtrOutput() WorkstationConfigContainerPtrOutput

func (WorkstationConfigContainerArgs) ToWorkstationConfigContainerPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigContainerInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigContainerOutput struct{ *pulumi.OutputState }

func (WorkstationConfigContainerOutput) Args added in v6.51.0

Arguments passed to the entrypoint.

func (WorkstationConfigContainerOutput) Commands added in v6.51.0

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

func (WorkstationConfigContainerOutput) ElementType added in v6.51.0

func (WorkstationConfigContainerOutput) Env added in v6.51.0

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 added in v6.51.0

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

func (WorkstationConfigContainerOutput) RunAsUser added in v6.51.0

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

func (WorkstationConfigContainerOutput) ToWorkstationConfigContainerOutput added in v6.51.0

func (o WorkstationConfigContainerOutput) ToWorkstationConfigContainerOutput() WorkstationConfigContainerOutput

func (WorkstationConfigContainerOutput) ToWorkstationConfigContainerOutputWithContext added in v6.51.0

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

func (WorkstationConfigContainerOutput) ToWorkstationConfigContainerPtrOutput added in v6.51.0

func (o WorkstationConfigContainerOutput) ToWorkstationConfigContainerPtrOutput() WorkstationConfigContainerPtrOutput

func (WorkstationConfigContainerOutput) ToWorkstationConfigContainerPtrOutputWithContext added in v6.51.0

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

func (WorkstationConfigContainerOutput) WorkingDir added in v6.51.0

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

type WorkstationConfigContainerPtrInput added in v6.51.0

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

func WorkstationConfigContainerPtr added in v6.51.0

type WorkstationConfigContainerPtrOutput added in v6.51.0

type WorkstationConfigContainerPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigContainerPtrOutput) Args added in v6.51.0

Arguments passed to the entrypoint.

func (WorkstationConfigContainerPtrOutput) Commands added in v6.51.0

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

func (WorkstationConfigContainerPtrOutput) Elem added in v6.51.0

func (WorkstationConfigContainerPtrOutput) ElementType added in v6.51.0

func (WorkstationConfigContainerPtrOutput) Env added in v6.51.0

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 added in v6.51.0

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

func (WorkstationConfigContainerPtrOutput) RunAsUser added in v6.51.0

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

func (WorkstationConfigContainerPtrOutput) ToWorkstationConfigContainerPtrOutput added in v6.51.0

func (o WorkstationConfigContainerPtrOutput) ToWorkstationConfigContainerPtrOutput() WorkstationConfigContainerPtrOutput

func (WorkstationConfigContainerPtrOutput) ToWorkstationConfigContainerPtrOutputWithContext added in v6.51.0

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

func (WorkstationConfigContainerPtrOutput) WorkingDir added in v6.51.0

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

type WorkstationConfigEncryptionKey added in v6.51.0

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 added in v6.51.0

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 added in v6.51.0

func (WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyOutput added in v6.51.0

func (i WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyOutput() WorkstationConfigEncryptionKeyOutput

func (WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyOutputWithContext added in v6.51.0

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

func (WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyPtrOutput added in v6.51.0

func (i WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyPtrOutput() WorkstationConfigEncryptionKeyPtrOutput

func (WorkstationConfigEncryptionKeyArgs) ToWorkstationConfigEncryptionKeyPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigEncryptionKeyInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigEncryptionKeyOutput struct{ *pulumi.OutputState }

func (WorkstationConfigEncryptionKeyOutput) ElementType added in v6.51.0

func (WorkstationConfigEncryptionKeyOutput) KmsKey added in v6.51.0

The name of the Google Cloud KMS encryption key.

func (WorkstationConfigEncryptionKeyOutput) KmsKeyServiceAccount added in v6.51.0

func (o WorkstationConfigEncryptionKeyOutput) KmsKeyServiceAccount() pulumi.StringOutput

The service account to use with the specified KMS key.

func (WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyOutput added in v6.51.0

func (o WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyOutput() WorkstationConfigEncryptionKeyOutput

func (WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyOutputWithContext added in v6.51.0

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

func (WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyPtrOutput added in v6.51.0

func (o WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyPtrOutput() WorkstationConfigEncryptionKeyPtrOutput

func (WorkstationConfigEncryptionKeyOutput) ToWorkstationConfigEncryptionKeyPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigEncryptionKeyPtrInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigEncryptionKeyPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigEncryptionKeyPtrOutput) Elem added in v6.51.0

func (WorkstationConfigEncryptionKeyPtrOutput) ElementType added in v6.51.0

func (WorkstationConfigEncryptionKeyPtrOutput) KmsKey added in v6.51.0

The name of the Google Cloud KMS encryption key.

func (WorkstationConfigEncryptionKeyPtrOutput) KmsKeyServiceAccount added in v6.51.0

The service account to use with the specified KMS key.

func (WorkstationConfigEncryptionKeyPtrOutput) ToWorkstationConfigEncryptionKeyPtrOutput added in v6.51.0

func (o WorkstationConfigEncryptionKeyPtrOutput) ToWorkstationConfigEncryptionKeyPtrOutput() WorkstationConfigEncryptionKeyPtrOutput

func (WorkstationConfigEncryptionKeyPtrOutput) ToWorkstationConfigEncryptionKeyPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHost added in v6.51.0

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

type WorkstationConfigHostArgs added in v6.51.0

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

func (WorkstationConfigHostArgs) ElementType added in v6.51.0

func (WorkstationConfigHostArgs) ElementType() reflect.Type

func (WorkstationConfigHostArgs) ToWorkstationConfigHostOutput added in v6.51.0

func (i WorkstationConfigHostArgs) ToWorkstationConfigHostOutput() WorkstationConfigHostOutput

func (WorkstationConfigHostArgs) ToWorkstationConfigHostOutputWithContext added in v6.51.0

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

func (WorkstationConfigHostArgs) ToWorkstationConfigHostPtrOutput added in v6.51.0

func (i WorkstationConfigHostArgs) ToWorkstationConfigHostPtrOutput() WorkstationConfigHostPtrOutput

func (WorkstationConfigHostArgs) ToWorkstationConfigHostPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostGceInstance added in v6.51.0

type WorkstationConfigHostGceInstance struct {
	// An accelerator card attached to the instance.
	// Structure is documented below.
	Accelerators []WorkstationConfigHostGceInstanceAccelerator `pulumi:"accelerators"`
	// 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 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"`
	// 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 added in v6.64.0

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 added in v6.64.0

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 added in v6.64.0

func (WorkstationConfigHostGceInstanceAcceleratorArgs) ToWorkstationConfigHostGceInstanceAcceleratorOutput added in v6.64.0

func (i WorkstationConfigHostGceInstanceAcceleratorArgs) ToWorkstationConfigHostGceInstanceAcceleratorOutput() WorkstationConfigHostGceInstanceAcceleratorOutput

func (WorkstationConfigHostGceInstanceAcceleratorArgs) ToWorkstationConfigHostGceInstanceAcceleratorOutputWithContext added in v6.64.0

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

type WorkstationConfigHostGceInstanceAcceleratorArray added in v6.64.0

type WorkstationConfigHostGceInstanceAcceleratorArray []WorkstationConfigHostGceInstanceAcceleratorInput

func (WorkstationConfigHostGceInstanceAcceleratorArray) ElementType added in v6.64.0

func (WorkstationConfigHostGceInstanceAcceleratorArray) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutput added in v6.64.0

func (i WorkstationConfigHostGceInstanceAcceleratorArray) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutput() WorkstationConfigHostGceInstanceAcceleratorArrayOutput

func (WorkstationConfigHostGceInstanceAcceleratorArray) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutputWithContext added in v6.64.0

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

type WorkstationConfigHostGceInstanceAcceleratorArrayInput added in v6.64.0

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 added in v6.64.0

type WorkstationConfigHostGceInstanceAcceleratorArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceAcceleratorArrayOutput) ElementType added in v6.64.0

func (WorkstationConfigHostGceInstanceAcceleratorArrayOutput) Index added in v6.64.0

func (WorkstationConfigHostGceInstanceAcceleratorArrayOutput) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutput added in v6.64.0

func (WorkstationConfigHostGceInstanceAcceleratorArrayOutput) ToWorkstationConfigHostGceInstanceAcceleratorArrayOutputWithContext added in v6.64.0

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

type WorkstationConfigHostGceInstanceAcceleratorInput added in v6.64.0

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 added in v6.64.0

type WorkstationConfigHostGceInstanceAcceleratorOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceAcceleratorOutput) Count added in v6.64.0

Number of accelerator cards exposed to the instance.

func (WorkstationConfigHostGceInstanceAcceleratorOutput) ElementType added in v6.64.0

func (WorkstationConfigHostGceInstanceAcceleratorOutput) ToWorkstationConfigHostGceInstanceAcceleratorOutput added in v6.64.0

func (o WorkstationConfigHostGceInstanceAcceleratorOutput) ToWorkstationConfigHostGceInstanceAcceleratorOutput() WorkstationConfigHostGceInstanceAcceleratorOutput

func (WorkstationConfigHostGceInstanceAcceleratorOutput) ToWorkstationConfigHostGceInstanceAcceleratorOutputWithContext added in v6.64.0

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

func (WorkstationConfigHostGceInstanceAcceleratorOutput) Type added in v6.64.0

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

type WorkstationConfigHostGceInstanceArgs added in v6.51.0

type WorkstationConfigHostGceInstanceArgs struct {
	// An accelerator card attached to the instance.
	// Structure is documented below.
	Accelerators WorkstationConfigHostGceInstanceAcceleratorArrayInput `pulumi:"accelerators"`
	// 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 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"`
	// 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 added in v6.51.0

func (WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstanceOutput added in v6.51.0

func (i WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstanceOutput() WorkstationConfigHostGceInstanceOutput

func (WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstanceOutputWithContext added in v6.51.0

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

func (WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstancePtrOutput added in v6.51.0

func (i WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstancePtrOutput() WorkstationConfigHostGceInstancePtrOutput

func (WorkstationConfigHostGceInstanceArgs) ToWorkstationConfigHostGceInstancePtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostGceInstanceConfidentialInstanceConfig added in v6.51.0

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

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs added in v6.51.0

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

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ElementType added in v6.51.0

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutputWithContext added in v6.51.0

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

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ElementType added in v6.51.0

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) EnableConfidentialCompute added in v6.51.0

Whether the instance has confidential compute enabled.

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigOutputWithContext added in v6.51.0

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

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) Elem added in v6.51.0

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) ElementType added in v6.51.0

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) EnableConfidentialCompute added in v6.51.0

Whether the instance has confidential compute enabled.

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceConfidentialInstanceConfigPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostGceInstanceInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigHostGceInstanceOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceOutput) Accelerators added in v6.64.0

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

func (WorkstationConfigHostGceInstanceOutput) BootDiskSizeGb added in v6.51.0

Size of the boot disk in GB.

func (WorkstationConfigHostGceInstanceOutput) ConfidentialInstanceConfig added in v6.51.0

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

func (WorkstationConfigHostGceInstanceOutput) DisablePublicIpAddresses added in v6.51.0

func (o WorkstationConfigHostGceInstanceOutput) DisablePublicIpAddresses() pulumi.BoolPtrOutput

Whether instances have no public IP address.

func (WorkstationConfigHostGceInstanceOutput) ElementType added in v6.51.0

func (WorkstationConfigHostGceInstanceOutput) EnableNestedVirtualization added in v6.65.0

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 added in v6.51.0

The name of a Compute Engine machine type.

func (WorkstationConfigHostGceInstanceOutput) PoolSize added in v6.51.0

Number of instances to pool for faster workstation startup.

func (WorkstationConfigHostGceInstanceOutput) ServiceAccount added in v6.51.0

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) ShieldedInstanceConfig added in v6.51.0

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

func (WorkstationConfigHostGceInstanceOutput) Tags added in v6.51.0

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

func (WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstanceOutput added in v6.51.0

func (o WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstanceOutput() WorkstationConfigHostGceInstanceOutput

func (WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstanceOutputWithContext added in v6.51.0

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

func (WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstancePtrOutput added in v6.51.0

func (o WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstancePtrOutput() WorkstationConfigHostGceInstancePtrOutput

func (WorkstationConfigHostGceInstanceOutput) ToWorkstationConfigHostGceInstancePtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostGceInstancePtrInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigHostGceInstancePtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstancePtrOutput) Accelerators added in v6.64.0

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

func (WorkstationConfigHostGceInstancePtrOutput) BootDiskSizeGb added in v6.51.0

Size of the boot disk in GB.

func (WorkstationConfigHostGceInstancePtrOutput) ConfidentialInstanceConfig added in v6.51.0

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

func (WorkstationConfigHostGceInstancePtrOutput) DisablePublicIpAddresses added in v6.51.0

func (o WorkstationConfigHostGceInstancePtrOutput) DisablePublicIpAddresses() pulumi.BoolPtrOutput

Whether instances have no public IP address.

func (WorkstationConfigHostGceInstancePtrOutput) Elem added in v6.51.0

func (WorkstationConfigHostGceInstancePtrOutput) ElementType added in v6.51.0

func (WorkstationConfigHostGceInstancePtrOutput) EnableNestedVirtualization added in v6.65.0

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 added in v6.51.0

The name of a Compute Engine machine type.

func (WorkstationConfigHostGceInstancePtrOutput) PoolSize added in v6.51.0

Number of instances to pool for faster workstation startup.

func (WorkstationConfigHostGceInstancePtrOutput) ServiceAccount added in v6.51.0

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) ShieldedInstanceConfig added in v6.51.0

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

func (WorkstationConfigHostGceInstancePtrOutput) Tags added in v6.51.0

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

func (WorkstationConfigHostGceInstancePtrOutput) ToWorkstationConfigHostGceInstancePtrOutput added in v6.51.0

func (o WorkstationConfigHostGceInstancePtrOutput) ToWorkstationConfigHostGceInstancePtrOutput() WorkstationConfigHostGceInstancePtrOutput

func (WorkstationConfigHostGceInstancePtrOutput) ToWorkstationConfigHostGceInstancePtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostGceInstanceShieldedInstanceConfig added in v6.51.0

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 added in v6.51.0

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 added in v6.51.0

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutputWithContext added in v6.51.0

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

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostGceInstanceShieldedInstanceConfigInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ElementType added in v6.51.0

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) EnableIntegrityMonitoring added in v6.51.0

Whether the instance has integrity monitoring enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) EnableSecureBoot added in v6.51.0

Whether the instance has Secure Boot enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) EnableVtpm added in v6.51.0

Whether the instance has the vTPM enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigOutputWithContext added in v6.51.0

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

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) Elem added in v6.51.0

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) ElementType added in v6.51.0

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) EnableIntegrityMonitoring added in v6.51.0

Whether the instance has integrity monitoring enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) EnableSecureBoot added in v6.51.0

Whether the instance has Secure Boot enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) EnableVtpm added in v6.51.0

Whether the instance has the vTPM enabled.

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput added in v6.51.0

func (WorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutput) ToWorkstationConfigHostGceInstanceShieldedInstanceConfigPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigHostOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostOutput) ElementType added in v6.51.0

func (WorkstationConfigHostOutput) GceInstance added in v6.51.0

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

func (WorkstationConfigHostOutput) ToWorkstationConfigHostOutput added in v6.51.0

func (o WorkstationConfigHostOutput) ToWorkstationConfigHostOutput() WorkstationConfigHostOutput

func (WorkstationConfigHostOutput) ToWorkstationConfigHostOutputWithContext added in v6.51.0

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

func (WorkstationConfigHostOutput) ToWorkstationConfigHostPtrOutput added in v6.51.0

func (o WorkstationConfigHostOutput) ToWorkstationConfigHostPtrOutput() WorkstationConfigHostPtrOutput

func (WorkstationConfigHostOutput) ToWorkstationConfigHostPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigHostPtrInput added in v6.51.0

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

func WorkstationConfigHostPtr added in v6.51.0

func WorkstationConfigHostPtr(v *WorkstationConfigHostArgs) WorkstationConfigHostPtrInput

type WorkstationConfigHostPtrOutput added in v6.51.0

type WorkstationConfigHostPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigHostPtrOutput) Elem added in v6.51.0

func (WorkstationConfigHostPtrOutput) ElementType added in v6.51.0

func (WorkstationConfigHostPtrOutput) GceInstance added in v6.51.0

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

func (WorkstationConfigHostPtrOutput) ToWorkstationConfigHostPtrOutput added in v6.51.0

func (o WorkstationConfigHostPtrOutput) ToWorkstationConfigHostPtrOutput() WorkstationConfigHostPtrOutput

func (WorkstationConfigHostPtrOutput) ToWorkstationConfigHostPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigIamBinding added in v6.56.0

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"`
	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.
	//
	// * `member/members` - (Required) 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"
	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 identifiersthe 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 identifiersthe 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 added in v6.56.0

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 added in v6.56.0

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 added in v6.56.0

func (*WorkstationConfigIamBinding) ElementType() reflect.Type

func (*WorkstationConfigIamBinding) ToWorkstationConfigIamBindingOutput added in v6.56.0

func (i *WorkstationConfigIamBinding) ToWorkstationConfigIamBindingOutput() WorkstationConfigIamBindingOutput

func (*WorkstationConfigIamBinding) ToWorkstationConfigIamBindingOutputWithContext added in v6.56.0

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

type WorkstationConfigIamBindingArgs added in v6.56.0

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
	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.
	//
	// * `member/members` - (Required) 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"
	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 added in v6.56.0

type WorkstationConfigIamBindingArray added in v6.56.0

type WorkstationConfigIamBindingArray []WorkstationConfigIamBindingInput

func (WorkstationConfigIamBindingArray) ElementType added in v6.56.0

func (WorkstationConfigIamBindingArray) ToWorkstationConfigIamBindingArrayOutput added in v6.56.0

func (i WorkstationConfigIamBindingArray) ToWorkstationConfigIamBindingArrayOutput() WorkstationConfigIamBindingArrayOutput

func (WorkstationConfigIamBindingArray) ToWorkstationConfigIamBindingArrayOutputWithContext added in v6.56.0

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

type WorkstationConfigIamBindingArrayInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamBindingArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingArrayOutput) ElementType added in v6.56.0

func (WorkstationConfigIamBindingArrayOutput) Index added in v6.56.0

func (WorkstationConfigIamBindingArrayOutput) ToWorkstationConfigIamBindingArrayOutput added in v6.56.0

func (o WorkstationConfigIamBindingArrayOutput) ToWorkstationConfigIamBindingArrayOutput() WorkstationConfigIamBindingArrayOutput

func (WorkstationConfigIamBindingArrayOutput) ToWorkstationConfigIamBindingArrayOutputWithContext added in v6.56.0

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

type WorkstationConfigIamBindingCondition added in v6.56.0

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

type WorkstationConfigIamBindingConditionArgs added in v6.56.0

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

func (WorkstationConfigIamBindingConditionArgs) ElementType added in v6.56.0

func (WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionOutput added in v6.56.0

func (i WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionOutput() WorkstationConfigIamBindingConditionOutput

func (WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionOutputWithContext added in v6.56.0

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

func (WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionPtrOutput added in v6.56.0

func (i WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionPtrOutput() WorkstationConfigIamBindingConditionPtrOutput

func (WorkstationConfigIamBindingConditionArgs) ToWorkstationConfigIamBindingConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationConfigIamBindingConditionInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamBindingConditionOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingConditionOutput) Description added in v6.56.0

func (WorkstationConfigIamBindingConditionOutput) ElementType added in v6.56.0

func (WorkstationConfigIamBindingConditionOutput) Expression added in v6.56.0

func (WorkstationConfigIamBindingConditionOutput) Title added in v6.56.0

func (WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionOutput added in v6.56.0

func (o WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionOutput() WorkstationConfigIamBindingConditionOutput

func (WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionOutputWithContext added in v6.56.0

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

func (WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionPtrOutput added in v6.56.0

func (o WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionPtrOutput() WorkstationConfigIamBindingConditionPtrOutput

func (WorkstationConfigIamBindingConditionOutput) ToWorkstationConfigIamBindingConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationConfigIamBindingConditionPtrInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingConditionPtrOutput) Description added in v6.56.0

func (WorkstationConfigIamBindingConditionPtrOutput) Elem added in v6.56.0

func (WorkstationConfigIamBindingConditionPtrOutput) ElementType added in v6.56.0

func (WorkstationConfigIamBindingConditionPtrOutput) Expression added in v6.56.0

func (WorkstationConfigIamBindingConditionPtrOutput) Title added in v6.56.0

func (WorkstationConfigIamBindingConditionPtrOutput) ToWorkstationConfigIamBindingConditionPtrOutput added in v6.56.0

func (o WorkstationConfigIamBindingConditionPtrOutput) ToWorkstationConfigIamBindingConditionPtrOutput() WorkstationConfigIamBindingConditionPtrOutput

func (WorkstationConfigIamBindingConditionPtrOutput) ToWorkstationConfigIamBindingConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationConfigIamBindingInput added in v6.56.0

type WorkstationConfigIamBindingInput interface {
	pulumi.Input

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

type WorkstationConfigIamBindingMap added in v6.56.0

type WorkstationConfigIamBindingMap map[string]WorkstationConfigIamBindingInput

func (WorkstationConfigIamBindingMap) ElementType added in v6.56.0

func (WorkstationConfigIamBindingMap) ToWorkstationConfigIamBindingMapOutput added in v6.56.0

func (i WorkstationConfigIamBindingMap) ToWorkstationConfigIamBindingMapOutput() WorkstationConfigIamBindingMapOutput

func (WorkstationConfigIamBindingMap) ToWorkstationConfigIamBindingMapOutputWithContext added in v6.56.0

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

type WorkstationConfigIamBindingMapInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamBindingMapOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingMapOutput) ElementType added in v6.56.0

func (WorkstationConfigIamBindingMapOutput) MapIndex added in v6.56.0

func (WorkstationConfigIamBindingMapOutput) ToWorkstationConfigIamBindingMapOutput added in v6.56.0

func (o WorkstationConfigIamBindingMapOutput) ToWorkstationConfigIamBindingMapOutput() WorkstationConfigIamBindingMapOutput

func (WorkstationConfigIamBindingMapOutput) ToWorkstationConfigIamBindingMapOutputWithContext added in v6.56.0

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

type WorkstationConfigIamBindingOutput added in v6.56.0

type WorkstationConfigIamBindingOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamBindingOutput) Condition added in v6.56.0

func (WorkstationConfigIamBindingOutput) ElementType added in v6.56.0

func (WorkstationConfigIamBindingOutput) Etag added in v6.56.0

(Computed) The etag of the IAM policy.

func (WorkstationConfigIamBindingOutput) Location added in v6.56.0

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

func (WorkstationConfigIamBindingOutput) Members added in v6.56.0

func (WorkstationConfigIamBindingOutput) Project added in v6.56.0

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.

  • `member/members` - (Required) 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) Role added in v6.56.0

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 added in v6.56.0

func (o WorkstationConfigIamBindingOutput) ToWorkstationConfigIamBindingOutput() WorkstationConfigIamBindingOutput

func (WorkstationConfigIamBindingOutput) ToWorkstationConfigIamBindingOutputWithContext added in v6.56.0

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

func (WorkstationConfigIamBindingOutput) WorkstationClusterId added in v6.56.0

func (o WorkstationConfigIamBindingOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationConfigIamBindingOutput) WorkstationConfigId added in v6.56.0

func (o WorkstationConfigIamBindingOutput) WorkstationConfigId() pulumi.StringOutput

type WorkstationConfigIamBindingState added in v6.56.0

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
	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.
	//
	// * `member/members` - (Required) 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"
	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 added in v6.56.0

type WorkstationConfigIamMember added in v6.56.0

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"`
	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.
	//
	// * `member/members` - (Required) 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"
	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 identifiersthe 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 identifiersthe 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 added in v6.56.0

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 added in v6.56.0

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 added in v6.56.0

func (*WorkstationConfigIamMember) ElementType() reflect.Type

func (*WorkstationConfigIamMember) ToWorkstationConfigIamMemberOutput added in v6.56.0

func (i *WorkstationConfigIamMember) ToWorkstationConfigIamMemberOutput() WorkstationConfigIamMemberOutput

func (*WorkstationConfigIamMember) ToWorkstationConfigIamMemberOutputWithContext added in v6.56.0

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

type WorkstationConfigIamMemberArgs added in v6.56.0

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
	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.
	//
	// * `member/members` - (Required) 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"
	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 added in v6.56.0

type WorkstationConfigIamMemberArray added in v6.56.0

type WorkstationConfigIamMemberArray []WorkstationConfigIamMemberInput

func (WorkstationConfigIamMemberArray) ElementType added in v6.56.0

func (WorkstationConfigIamMemberArray) ToWorkstationConfigIamMemberArrayOutput added in v6.56.0

func (i WorkstationConfigIamMemberArray) ToWorkstationConfigIamMemberArrayOutput() WorkstationConfigIamMemberArrayOutput

func (WorkstationConfigIamMemberArray) ToWorkstationConfigIamMemberArrayOutputWithContext added in v6.56.0

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

type WorkstationConfigIamMemberArrayInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamMemberArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberArrayOutput) ElementType added in v6.56.0

func (WorkstationConfigIamMemberArrayOutput) Index added in v6.56.0

func (WorkstationConfigIamMemberArrayOutput) ToWorkstationConfigIamMemberArrayOutput added in v6.56.0

func (o WorkstationConfigIamMemberArrayOutput) ToWorkstationConfigIamMemberArrayOutput() WorkstationConfigIamMemberArrayOutput

func (WorkstationConfigIamMemberArrayOutput) ToWorkstationConfigIamMemberArrayOutputWithContext added in v6.56.0

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

type WorkstationConfigIamMemberCondition added in v6.56.0

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

type WorkstationConfigIamMemberConditionArgs added in v6.56.0

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

func (WorkstationConfigIamMemberConditionArgs) ElementType added in v6.56.0

func (WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionOutput added in v6.56.0

func (i WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionOutput() WorkstationConfigIamMemberConditionOutput

func (WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionOutputWithContext added in v6.56.0

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

func (WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionPtrOutput added in v6.56.0

func (i WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionPtrOutput() WorkstationConfigIamMemberConditionPtrOutput

func (WorkstationConfigIamMemberConditionArgs) ToWorkstationConfigIamMemberConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationConfigIamMemberConditionInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamMemberConditionOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberConditionOutput) Description added in v6.56.0

func (WorkstationConfigIamMemberConditionOutput) ElementType added in v6.56.0

func (WorkstationConfigIamMemberConditionOutput) Expression added in v6.56.0

func (WorkstationConfigIamMemberConditionOutput) Title added in v6.56.0

func (WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionOutput added in v6.56.0

func (o WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionOutput() WorkstationConfigIamMemberConditionOutput

func (WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionOutputWithContext added in v6.56.0

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

func (WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionPtrOutput added in v6.56.0

func (o WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionPtrOutput() WorkstationConfigIamMemberConditionPtrOutput

func (WorkstationConfigIamMemberConditionOutput) ToWorkstationConfigIamMemberConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationConfigIamMemberConditionPtrInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberConditionPtrOutput) Description added in v6.56.0

func (WorkstationConfigIamMemberConditionPtrOutput) Elem added in v6.56.0

func (WorkstationConfigIamMemberConditionPtrOutput) ElementType added in v6.56.0

func (WorkstationConfigIamMemberConditionPtrOutput) Expression added in v6.56.0

func (WorkstationConfigIamMemberConditionPtrOutput) Title added in v6.56.0

func (WorkstationConfigIamMemberConditionPtrOutput) ToWorkstationConfigIamMemberConditionPtrOutput added in v6.56.0

func (o WorkstationConfigIamMemberConditionPtrOutput) ToWorkstationConfigIamMemberConditionPtrOutput() WorkstationConfigIamMemberConditionPtrOutput

func (WorkstationConfigIamMemberConditionPtrOutput) ToWorkstationConfigIamMemberConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationConfigIamMemberInput added in v6.56.0

type WorkstationConfigIamMemberInput interface {
	pulumi.Input

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

type WorkstationConfigIamMemberMap added in v6.56.0

type WorkstationConfigIamMemberMap map[string]WorkstationConfigIamMemberInput

func (WorkstationConfigIamMemberMap) ElementType added in v6.56.0

func (WorkstationConfigIamMemberMap) ToWorkstationConfigIamMemberMapOutput added in v6.56.0

func (i WorkstationConfigIamMemberMap) ToWorkstationConfigIamMemberMapOutput() WorkstationConfigIamMemberMapOutput

func (WorkstationConfigIamMemberMap) ToWorkstationConfigIamMemberMapOutputWithContext added in v6.56.0

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

type WorkstationConfigIamMemberMapInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamMemberMapOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberMapOutput) ElementType added in v6.56.0

func (WorkstationConfigIamMemberMapOutput) MapIndex added in v6.56.0

func (WorkstationConfigIamMemberMapOutput) ToWorkstationConfigIamMemberMapOutput added in v6.56.0

func (o WorkstationConfigIamMemberMapOutput) ToWorkstationConfigIamMemberMapOutput() WorkstationConfigIamMemberMapOutput

func (WorkstationConfigIamMemberMapOutput) ToWorkstationConfigIamMemberMapOutputWithContext added in v6.56.0

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

type WorkstationConfigIamMemberOutput added in v6.56.0

type WorkstationConfigIamMemberOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamMemberOutput) Condition added in v6.56.0

func (WorkstationConfigIamMemberOutput) ElementType added in v6.56.0

func (WorkstationConfigIamMemberOutput) Etag added in v6.56.0

(Computed) The etag of the IAM policy.

func (WorkstationConfigIamMemberOutput) Location added in v6.56.0

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

func (WorkstationConfigIamMemberOutput) Member added in v6.56.0

func (WorkstationConfigIamMemberOutput) Project added in v6.56.0

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.

  • `member/members` - (Required) 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) Role added in v6.56.0

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 added in v6.56.0

func (o WorkstationConfigIamMemberOutput) ToWorkstationConfigIamMemberOutput() WorkstationConfigIamMemberOutput

func (WorkstationConfigIamMemberOutput) ToWorkstationConfigIamMemberOutputWithContext added in v6.56.0

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

func (WorkstationConfigIamMemberOutput) WorkstationClusterId added in v6.56.0

func (o WorkstationConfigIamMemberOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationConfigIamMemberOutput) WorkstationConfigId added in v6.56.0

func (o WorkstationConfigIamMemberOutput) WorkstationConfigId() pulumi.StringOutput

type WorkstationConfigIamMemberState added in v6.56.0

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
	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.
	//
	// * `member/members` - (Required) 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"
	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 added in v6.56.0

type WorkstationConfigIamPolicy added in v6.56.0

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.
	//
	// * `member/members` - (Required) 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"
	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 identifiersthe 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 identifiersthe 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 added in v6.56.0

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 added in v6.56.0

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 added in v6.56.0

func (*WorkstationConfigIamPolicy) ElementType() reflect.Type

func (*WorkstationConfigIamPolicy) ToWorkstationConfigIamPolicyOutput added in v6.56.0

func (i *WorkstationConfigIamPolicy) ToWorkstationConfigIamPolicyOutput() WorkstationConfigIamPolicyOutput

func (*WorkstationConfigIamPolicy) ToWorkstationConfigIamPolicyOutputWithContext added in v6.56.0

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

type WorkstationConfigIamPolicyArgs added in v6.56.0

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.
	//
	// * `member/members` - (Required) 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"
	Project              pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
}

The set of arguments for constructing a WorkstationConfigIamPolicy resource.

func (WorkstationConfigIamPolicyArgs) ElementType added in v6.56.0

type WorkstationConfigIamPolicyArray added in v6.56.0

type WorkstationConfigIamPolicyArray []WorkstationConfigIamPolicyInput

func (WorkstationConfigIamPolicyArray) ElementType added in v6.56.0

func (WorkstationConfigIamPolicyArray) ToWorkstationConfigIamPolicyArrayOutput added in v6.56.0

func (i WorkstationConfigIamPolicyArray) ToWorkstationConfigIamPolicyArrayOutput() WorkstationConfigIamPolicyArrayOutput

func (WorkstationConfigIamPolicyArray) ToWorkstationConfigIamPolicyArrayOutputWithContext added in v6.56.0

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

type WorkstationConfigIamPolicyArrayInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamPolicyArrayOutput) ElementType added in v6.56.0

func (WorkstationConfigIamPolicyArrayOutput) Index added in v6.56.0

func (WorkstationConfigIamPolicyArrayOutput) ToWorkstationConfigIamPolicyArrayOutput added in v6.56.0

func (o WorkstationConfigIamPolicyArrayOutput) ToWorkstationConfigIamPolicyArrayOutput() WorkstationConfigIamPolicyArrayOutput

func (WorkstationConfigIamPolicyArrayOutput) ToWorkstationConfigIamPolicyArrayOutputWithContext added in v6.56.0

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

type WorkstationConfigIamPolicyInput added in v6.56.0

type WorkstationConfigIamPolicyInput interface {
	pulumi.Input

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

type WorkstationConfigIamPolicyMap added in v6.56.0

type WorkstationConfigIamPolicyMap map[string]WorkstationConfigIamPolicyInput

func (WorkstationConfigIamPolicyMap) ElementType added in v6.56.0

func (WorkstationConfigIamPolicyMap) ToWorkstationConfigIamPolicyMapOutput added in v6.56.0

func (i WorkstationConfigIamPolicyMap) ToWorkstationConfigIamPolicyMapOutput() WorkstationConfigIamPolicyMapOutput

func (WorkstationConfigIamPolicyMap) ToWorkstationConfigIamPolicyMapOutputWithContext added in v6.56.0

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

type WorkstationConfigIamPolicyMapInput added in v6.56.0

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 added in v6.56.0

type WorkstationConfigIamPolicyMapOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamPolicyMapOutput) ElementType added in v6.56.0

func (WorkstationConfigIamPolicyMapOutput) MapIndex added in v6.56.0

func (WorkstationConfigIamPolicyMapOutput) ToWorkstationConfigIamPolicyMapOutput added in v6.56.0

func (o WorkstationConfigIamPolicyMapOutput) ToWorkstationConfigIamPolicyMapOutput() WorkstationConfigIamPolicyMapOutput

func (WorkstationConfigIamPolicyMapOutput) ToWorkstationConfigIamPolicyMapOutputWithContext added in v6.56.0

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

type WorkstationConfigIamPolicyOutput added in v6.56.0

type WorkstationConfigIamPolicyOutput struct{ *pulumi.OutputState }

func (WorkstationConfigIamPolicyOutput) ElementType added in v6.56.0

func (WorkstationConfigIamPolicyOutput) Etag added in v6.56.0

(Computed) The etag of the IAM policy.

func (WorkstationConfigIamPolicyOutput) Location added in v6.56.0

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

func (WorkstationConfigIamPolicyOutput) PolicyData added in v6.56.0

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

func (WorkstationConfigIamPolicyOutput) Project added in v6.56.0

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.

  • `member/members` - (Required) 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 (WorkstationConfigIamPolicyOutput) ToWorkstationConfigIamPolicyOutput added in v6.56.0

func (o WorkstationConfigIamPolicyOutput) ToWorkstationConfigIamPolicyOutput() WorkstationConfigIamPolicyOutput

func (WorkstationConfigIamPolicyOutput) ToWorkstationConfigIamPolicyOutputWithContext added in v6.56.0

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

func (WorkstationConfigIamPolicyOutput) WorkstationClusterId added in v6.56.0

func (o WorkstationConfigIamPolicyOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationConfigIamPolicyOutput) WorkstationConfigId added in v6.56.0

func (o WorkstationConfigIamPolicyOutput) WorkstationConfigId() pulumi.StringOutput

type WorkstationConfigIamPolicyState added in v6.56.0

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.
	//
	// * `member/members` - (Required) 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"
	Project              pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringPtrInput
	WorkstationConfigId  pulumi.StringPtrInput
}

func (WorkstationConfigIamPolicyState) ElementType added in v6.56.0

type WorkstationConfigInput added in v6.51.0

type WorkstationConfigInput interface {
	pulumi.Input

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

type WorkstationConfigMap added in v6.51.0

type WorkstationConfigMap map[string]WorkstationConfigInput

func (WorkstationConfigMap) ElementType added in v6.51.0

func (WorkstationConfigMap) ElementType() reflect.Type

func (WorkstationConfigMap) ToWorkstationConfigMapOutput added in v6.51.0

func (i WorkstationConfigMap) ToWorkstationConfigMapOutput() WorkstationConfigMapOutput

func (WorkstationConfigMap) ToWorkstationConfigMapOutputWithContext added in v6.51.0

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

type WorkstationConfigMapInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigMapOutput struct{ *pulumi.OutputState }

func (WorkstationConfigMapOutput) ElementType added in v6.51.0

func (WorkstationConfigMapOutput) ElementType() reflect.Type

func (WorkstationConfigMapOutput) MapIndex added in v6.51.0

func (WorkstationConfigMapOutput) ToWorkstationConfigMapOutput added in v6.51.0

func (o WorkstationConfigMapOutput) ToWorkstationConfigMapOutput() WorkstationConfigMapOutput

func (WorkstationConfigMapOutput) ToWorkstationConfigMapOutputWithContext added in v6.51.0

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

type WorkstationConfigOutput added in v6.51.0

type WorkstationConfigOutput struct{ *pulumi.OutputState }

func (WorkstationConfigOutput) Annotations added in v6.51.0

Client-specified annotations. This is distinct from labels.

func (WorkstationConfigOutput) Conditions added in v6.51.0

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

func (WorkstationConfigOutput) Container added in v6.51.0

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

func (WorkstationConfigOutput) CreateTime added in v6.51.0

Time when this resource was created.

func (WorkstationConfigOutput) Degraded added in v6.51.0

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) DisplayName added in v6.51.0

Human-readable name for this resource.

func (WorkstationConfigOutput) ElementType added in v6.51.0

func (WorkstationConfigOutput) ElementType() reflect.Type

func (WorkstationConfigOutput) EncryptionKey added in v6.51.0

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) Etag added in v6.51.0

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 added in v6.51.0

Runtime host for a workstation. Structure is documented below.

func (WorkstationConfigOutput) IdleTimeout added in v6.58.0

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 added in v6.51.0

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

func (WorkstationConfigOutput) Location added in v6.51.0

The location where the workstation cluster config should reside.

***

func (WorkstationConfigOutput) Name added in v6.51.0

Full name of this resource.

func (WorkstationConfigOutput) PersistentDirectories added in v6.51.0

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

func (WorkstationConfigOutput) Project added in v6.51.0

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

func (WorkstationConfigOutput) RunningTimeout added in v6.58.0

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 added in v6.51.0

func (o WorkstationConfigOutput) ToWorkstationConfigOutput() WorkstationConfigOutput

func (WorkstationConfigOutput) ToWorkstationConfigOutputWithContext added in v6.51.0

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

func (WorkstationConfigOutput) Uid added in v6.51.0

The system-generated UID of the resource.

func (WorkstationConfigOutput) WorkstationClusterId added in v6.51.0

func (o WorkstationConfigOutput) WorkstationClusterId() pulumi.StringOutput

The ID of the parent workstation cluster.

func (WorkstationConfigOutput) WorkstationConfigId added in v6.51.0

func (o WorkstationConfigOutput) WorkstationConfigId() pulumi.StringOutput

The ID to be assigned to the workstation cluster config.

type WorkstationConfigPersistentDirectory added in v6.51.0

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 added in v6.51.0

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 added in v6.51.0

func (WorkstationConfigPersistentDirectoryArgs) ToWorkstationConfigPersistentDirectoryOutput added in v6.51.0

func (i WorkstationConfigPersistentDirectoryArgs) ToWorkstationConfigPersistentDirectoryOutput() WorkstationConfigPersistentDirectoryOutput

func (WorkstationConfigPersistentDirectoryArgs) ToWorkstationConfigPersistentDirectoryOutputWithContext added in v6.51.0

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

type WorkstationConfigPersistentDirectoryArray added in v6.51.0

type WorkstationConfigPersistentDirectoryArray []WorkstationConfigPersistentDirectoryInput

func (WorkstationConfigPersistentDirectoryArray) ElementType added in v6.51.0

func (WorkstationConfigPersistentDirectoryArray) ToWorkstationConfigPersistentDirectoryArrayOutput added in v6.51.0

func (i WorkstationConfigPersistentDirectoryArray) ToWorkstationConfigPersistentDirectoryArrayOutput() WorkstationConfigPersistentDirectoryArrayOutput

func (WorkstationConfigPersistentDirectoryArray) ToWorkstationConfigPersistentDirectoryArrayOutputWithContext added in v6.51.0

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

type WorkstationConfigPersistentDirectoryArrayInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigPersistentDirectoryArrayOutput struct{ *pulumi.OutputState }

func (WorkstationConfigPersistentDirectoryArrayOutput) ElementType added in v6.51.0

func (WorkstationConfigPersistentDirectoryArrayOutput) Index added in v6.51.0

func (WorkstationConfigPersistentDirectoryArrayOutput) ToWorkstationConfigPersistentDirectoryArrayOutput added in v6.51.0

func (o WorkstationConfigPersistentDirectoryArrayOutput) ToWorkstationConfigPersistentDirectoryArrayOutput() WorkstationConfigPersistentDirectoryArrayOutput

func (WorkstationConfigPersistentDirectoryArrayOutput) ToWorkstationConfigPersistentDirectoryArrayOutputWithContext added in v6.51.0

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

type WorkstationConfigPersistentDirectoryGcePd added in v6.51.0

type WorkstationConfigPersistentDirectoryGcePd struct {
	// The type of the persistent disk for the home directory. 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. This can be the snapshot's `selfLink`, `id`, or a string in the format of `projects/{project}/global/snapshots/{snapshot}`. If set, `sizeGb` and `fsType` must be empty. Can only be updated if it has an existing value.
	SourceSnapshot *string `pulumi:"sourceSnapshot"`
}

type WorkstationConfigPersistentDirectoryGcePdArgs added in v6.51.0

type WorkstationConfigPersistentDirectoryGcePdArgs struct {
	// The type of the persistent disk for the home directory. 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. This can be the snapshot's `selfLink`, `id`, or a string in the format of `projects/{project}/global/snapshots/{snapshot}`. If set, `sizeGb` and `fsType` must be empty. Can only be updated if it has an existing value.
	SourceSnapshot pulumi.StringPtrInput `pulumi:"sourceSnapshot"`
}

func (WorkstationConfigPersistentDirectoryGcePdArgs) ElementType added in v6.51.0

func (WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdOutput added in v6.51.0

func (i WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdOutput() WorkstationConfigPersistentDirectoryGcePdOutput

func (WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdOutputWithContext added in v6.51.0

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

func (WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput added in v6.51.0

func (i WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput() WorkstationConfigPersistentDirectoryGcePdPtrOutput

func (WorkstationConfigPersistentDirectoryGcePdArgs) ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigPersistentDirectoryGcePdInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigPersistentDirectoryGcePdOutput struct{ *pulumi.OutputState }

func (WorkstationConfigPersistentDirectoryGcePdOutput) DiskType added in v6.51.0

The type of the persistent disk for the home directory. Defaults to `pd-standard`.

func (WorkstationConfigPersistentDirectoryGcePdOutput) ElementType added in v6.51.0

func (WorkstationConfigPersistentDirectoryGcePdOutput) FsType added in v6.51.0

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 added in v6.51.0

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 added in v6.51.0

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 added in v6.57.0

Name of the snapshot to use as the source for the disk. This can be the snapshot's `selfLink`, `id`, or a string in the format of `projects/{project}/global/snapshots/{snapshot}`. If set, `sizeGb` and `fsType` must be empty. Can only be updated if it has an existing value.

func (WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdOutput added in v6.51.0

func (o WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdOutput() WorkstationConfigPersistentDirectoryGcePdOutput

func (WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdOutputWithContext added in v6.51.0

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

func (WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput added in v6.51.0

func (o WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput() WorkstationConfigPersistentDirectoryGcePdPtrOutput

func (WorkstationConfigPersistentDirectoryGcePdOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigPersistentDirectoryGcePdPtrInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigPersistentDirectoryGcePdPtrOutput struct{ *pulumi.OutputState }

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) DiskType added in v6.51.0

The type of the persistent disk for the home directory. Defaults to `pd-standard`.

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) Elem added in v6.51.0

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) ElementType added in v6.51.0

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) FsType added in v6.51.0

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 added in v6.51.0

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 added in v6.51.0

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 added in v6.57.0

Name of the snapshot to use as the source for the disk. This can be the snapshot's `selfLink`, `id`, or a string in the format of `projects/{project}/global/snapshots/{snapshot}`. If set, `sizeGb` and `fsType` must be empty. Can only be updated if it has an existing value.

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput added in v6.51.0

func (o WorkstationConfigPersistentDirectoryGcePdPtrOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutput() WorkstationConfigPersistentDirectoryGcePdPtrOutput

func (WorkstationConfigPersistentDirectoryGcePdPtrOutput) ToWorkstationConfigPersistentDirectoryGcePdPtrOutputWithContext added in v6.51.0

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

type WorkstationConfigPersistentDirectoryInput added in v6.51.0

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 added in v6.51.0

type WorkstationConfigPersistentDirectoryOutput struct{ *pulumi.OutputState }

func (WorkstationConfigPersistentDirectoryOutput) ElementType added in v6.51.0

func (WorkstationConfigPersistentDirectoryOutput) GcePd added in v6.51.0

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 added in v6.51.0

Location of this directory in the running workstation.

func (WorkstationConfigPersistentDirectoryOutput) ToWorkstationConfigPersistentDirectoryOutput added in v6.51.0

func (o WorkstationConfigPersistentDirectoryOutput) ToWorkstationConfigPersistentDirectoryOutput() WorkstationConfigPersistentDirectoryOutput

func (WorkstationConfigPersistentDirectoryOutput) ToWorkstationConfigPersistentDirectoryOutputWithContext added in v6.51.0

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

type WorkstationConfigState added in v6.51.0

type WorkstationConfigState struct {
	// Client-specified annotations. This is distinct from labels.
	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
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// 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
	// 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.
	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
	// 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 added in v6.51.0

func (WorkstationConfigState) ElementType() reflect.Type

type WorkstationIamBinding added in v6.56.0

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"`
	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.
	//
	// * `member/members` - (Required) 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"
	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 identifiersthe 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 identifiersthe 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 added in v6.56.0

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 added in v6.56.0

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 added in v6.56.0

func (*WorkstationIamBinding) ElementType() reflect.Type

func (*WorkstationIamBinding) ToWorkstationIamBindingOutput added in v6.56.0

func (i *WorkstationIamBinding) ToWorkstationIamBindingOutput() WorkstationIamBindingOutput

func (*WorkstationIamBinding) ToWorkstationIamBindingOutputWithContext added in v6.56.0

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

type WorkstationIamBindingArgs added in v6.56.0

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
	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.
	//
	// * `member/members` - (Required) 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"
	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 added in v6.56.0

func (WorkstationIamBindingArgs) ElementType() reflect.Type

type WorkstationIamBindingArray added in v6.56.0

type WorkstationIamBindingArray []WorkstationIamBindingInput

func (WorkstationIamBindingArray) ElementType added in v6.56.0

func (WorkstationIamBindingArray) ElementType() reflect.Type

func (WorkstationIamBindingArray) ToWorkstationIamBindingArrayOutput added in v6.56.0

func (i WorkstationIamBindingArray) ToWorkstationIamBindingArrayOutput() WorkstationIamBindingArrayOutput

func (WorkstationIamBindingArray) ToWorkstationIamBindingArrayOutputWithContext added in v6.56.0

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

type WorkstationIamBindingArrayInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamBindingArrayOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingArrayOutput) ElementType added in v6.56.0

func (WorkstationIamBindingArrayOutput) Index added in v6.56.0

func (WorkstationIamBindingArrayOutput) ToWorkstationIamBindingArrayOutput added in v6.56.0

func (o WorkstationIamBindingArrayOutput) ToWorkstationIamBindingArrayOutput() WorkstationIamBindingArrayOutput

func (WorkstationIamBindingArrayOutput) ToWorkstationIamBindingArrayOutputWithContext added in v6.56.0

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

type WorkstationIamBindingCondition added in v6.56.0

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

type WorkstationIamBindingConditionArgs added in v6.56.0

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

func (WorkstationIamBindingConditionArgs) ElementType added in v6.56.0

func (WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionOutput added in v6.56.0

func (i WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionOutput() WorkstationIamBindingConditionOutput

func (WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionOutputWithContext added in v6.56.0

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

func (WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionPtrOutput added in v6.56.0

func (i WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionPtrOutput() WorkstationIamBindingConditionPtrOutput

func (WorkstationIamBindingConditionArgs) ToWorkstationIamBindingConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationIamBindingConditionInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamBindingConditionOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingConditionOutput) Description added in v6.56.0

func (WorkstationIamBindingConditionOutput) ElementType added in v6.56.0

func (WorkstationIamBindingConditionOutput) Expression added in v6.56.0

func (WorkstationIamBindingConditionOutput) Title added in v6.56.0

func (WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionOutput added in v6.56.0

func (o WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionOutput() WorkstationIamBindingConditionOutput

func (WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionOutputWithContext added in v6.56.0

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

func (WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionPtrOutput added in v6.56.0

func (o WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionPtrOutput() WorkstationIamBindingConditionPtrOutput

func (WorkstationIamBindingConditionOutput) ToWorkstationIamBindingConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationIamBindingConditionPtrInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingConditionPtrOutput) Description added in v6.56.0

func (WorkstationIamBindingConditionPtrOutput) Elem added in v6.56.0

func (WorkstationIamBindingConditionPtrOutput) ElementType added in v6.56.0

func (WorkstationIamBindingConditionPtrOutput) Expression added in v6.56.0

func (WorkstationIamBindingConditionPtrOutput) Title added in v6.56.0

func (WorkstationIamBindingConditionPtrOutput) ToWorkstationIamBindingConditionPtrOutput added in v6.56.0

func (o WorkstationIamBindingConditionPtrOutput) ToWorkstationIamBindingConditionPtrOutput() WorkstationIamBindingConditionPtrOutput

func (WorkstationIamBindingConditionPtrOutput) ToWorkstationIamBindingConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationIamBindingInput added in v6.56.0

type WorkstationIamBindingInput interface {
	pulumi.Input

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

type WorkstationIamBindingMap added in v6.56.0

type WorkstationIamBindingMap map[string]WorkstationIamBindingInput

func (WorkstationIamBindingMap) ElementType added in v6.56.0

func (WorkstationIamBindingMap) ElementType() reflect.Type

func (WorkstationIamBindingMap) ToWorkstationIamBindingMapOutput added in v6.56.0

func (i WorkstationIamBindingMap) ToWorkstationIamBindingMapOutput() WorkstationIamBindingMapOutput

func (WorkstationIamBindingMap) ToWorkstationIamBindingMapOutputWithContext added in v6.56.0

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

type WorkstationIamBindingMapInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamBindingMapOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingMapOutput) ElementType added in v6.56.0

func (WorkstationIamBindingMapOutput) MapIndex added in v6.56.0

func (WorkstationIamBindingMapOutput) ToWorkstationIamBindingMapOutput added in v6.56.0

func (o WorkstationIamBindingMapOutput) ToWorkstationIamBindingMapOutput() WorkstationIamBindingMapOutput

func (WorkstationIamBindingMapOutput) ToWorkstationIamBindingMapOutputWithContext added in v6.56.0

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

type WorkstationIamBindingOutput added in v6.56.0

type WorkstationIamBindingOutput struct{ *pulumi.OutputState }

func (WorkstationIamBindingOutput) Condition added in v6.56.0

func (WorkstationIamBindingOutput) ElementType added in v6.56.0

func (WorkstationIamBindingOutput) Etag added in v6.56.0

(Computed) The etag of the IAM policy.

func (WorkstationIamBindingOutput) Location added in v6.56.0

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

func (WorkstationIamBindingOutput) Members added in v6.56.0

func (WorkstationIamBindingOutput) Project added in v6.56.0

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.

  • `member/members` - (Required) 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) Role added in v6.56.0

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 added in v6.56.0

func (o WorkstationIamBindingOutput) ToWorkstationIamBindingOutput() WorkstationIamBindingOutput

func (WorkstationIamBindingOutput) ToWorkstationIamBindingOutputWithContext added in v6.56.0

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

func (WorkstationIamBindingOutput) WorkstationClusterId added in v6.56.0

func (o WorkstationIamBindingOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationIamBindingOutput) WorkstationConfigId added in v6.56.0

func (o WorkstationIamBindingOutput) WorkstationConfigId() pulumi.StringOutput

func (WorkstationIamBindingOutput) WorkstationId added in v6.56.0

type WorkstationIamBindingState added in v6.56.0

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
	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.
	//
	// * `member/members` - (Required) 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"
	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 added in v6.56.0

func (WorkstationIamBindingState) ElementType() reflect.Type

type WorkstationIamMember added in v6.56.0

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"`
	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.
	//
	// * `member/members` - (Required) 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"
	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 identifiersthe 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 identifiersthe 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 added in v6.56.0

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 added in v6.56.0

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 added in v6.56.0

func (*WorkstationIamMember) ElementType() reflect.Type

func (*WorkstationIamMember) ToWorkstationIamMemberOutput added in v6.56.0

func (i *WorkstationIamMember) ToWorkstationIamMemberOutput() WorkstationIamMemberOutput

func (*WorkstationIamMember) ToWorkstationIamMemberOutputWithContext added in v6.56.0

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

type WorkstationIamMemberArgs added in v6.56.0

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
	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.
	//
	// * `member/members` - (Required) 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"
	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 added in v6.56.0

func (WorkstationIamMemberArgs) ElementType() reflect.Type

type WorkstationIamMemberArray added in v6.56.0

type WorkstationIamMemberArray []WorkstationIamMemberInput

func (WorkstationIamMemberArray) ElementType added in v6.56.0

func (WorkstationIamMemberArray) ElementType() reflect.Type

func (WorkstationIamMemberArray) ToWorkstationIamMemberArrayOutput added in v6.56.0

func (i WorkstationIamMemberArray) ToWorkstationIamMemberArrayOutput() WorkstationIamMemberArrayOutput

func (WorkstationIamMemberArray) ToWorkstationIamMemberArrayOutputWithContext added in v6.56.0

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

type WorkstationIamMemberArrayInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamMemberArrayOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberArrayOutput) ElementType added in v6.56.0

func (WorkstationIamMemberArrayOutput) Index added in v6.56.0

func (WorkstationIamMemberArrayOutput) ToWorkstationIamMemberArrayOutput added in v6.56.0

func (o WorkstationIamMemberArrayOutput) ToWorkstationIamMemberArrayOutput() WorkstationIamMemberArrayOutput

func (WorkstationIamMemberArrayOutput) ToWorkstationIamMemberArrayOutputWithContext added in v6.56.0

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

type WorkstationIamMemberCondition added in v6.56.0

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

type WorkstationIamMemberConditionArgs added in v6.56.0

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

func (WorkstationIamMemberConditionArgs) ElementType added in v6.56.0

func (WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionOutput added in v6.56.0

func (i WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionOutput() WorkstationIamMemberConditionOutput

func (WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionOutputWithContext added in v6.56.0

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

func (WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionPtrOutput added in v6.56.0

func (i WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionPtrOutput() WorkstationIamMemberConditionPtrOutput

func (WorkstationIamMemberConditionArgs) ToWorkstationIamMemberConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationIamMemberConditionInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamMemberConditionOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberConditionOutput) Description added in v6.56.0

func (WorkstationIamMemberConditionOutput) ElementType added in v6.56.0

func (WorkstationIamMemberConditionOutput) Expression added in v6.56.0

func (WorkstationIamMemberConditionOutput) Title added in v6.56.0

func (WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionOutput added in v6.56.0

func (o WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionOutput() WorkstationIamMemberConditionOutput

func (WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionOutputWithContext added in v6.56.0

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

func (WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionPtrOutput added in v6.56.0

func (o WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionPtrOutput() WorkstationIamMemberConditionPtrOutput

func (WorkstationIamMemberConditionOutput) ToWorkstationIamMemberConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationIamMemberConditionPtrInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberConditionPtrOutput) Description added in v6.56.0

func (WorkstationIamMemberConditionPtrOutput) Elem added in v6.56.0

func (WorkstationIamMemberConditionPtrOutput) ElementType added in v6.56.0

func (WorkstationIamMemberConditionPtrOutput) Expression added in v6.56.0

func (WorkstationIamMemberConditionPtrOutput) Title added in v6.56.0

func (WorkstationIamMemberConditionPtrOutput) ToWorkstationIamMemberConditionPtrOutput added in v6.56.0

func (o WorkstationIamMemberConditionPtrOutput) ToWorkstationIamMemberConditionPtrOutput() WorkstationIamMemberConditionPtrOutput

func (WorkstationIamMemberConditionPtrOutput) ToWorkstationIamMemberConditionPtrOutputWithContext added in v6.56.0

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

type WorkstationIamMemberInput added in v6.56.0

type WorkstationIamMemberInput interface {
	pulumi.Input

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

type WorkstationIamMemberMap added in v6.56.0

type WorkstationIamMemberMap map[string]WorkstationIamMemberInput

func (WorkstationIamMemberMap) ElementType added in v6.56.0

func (WorkstationIamMemberMap) ElementType() reflect.Type

func (WorkstationIamMemberMap) ToWorkstationIamMemberMapOutput added in v6.56.0

func (i WorkstationIamMemberMap) ToWorkstationIamMemberMapOutput() WorkstationIamMemberMapOutput

func (WorkstationIamMemberMap) ToWorkstationIamMemberMapOutputWithContext added in v6.56.0

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

type WorkstationIamMemberMapInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamMemberMapOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberMapOutput) ElementType added in v6.56.0

func (WorkstationIamMemberMapOutput) MapIndex added in v6.56.0

func (WorkstationIamMemberMapOutput) ToWorkstationIamMemberMapOutput added in v6.56.0

func (o WorkstationIamMemberMapOutput) ToWorkstationIamMemberMapOutput() WorkstationIamMemberMapOutput

func (WorkstationIamMemberMapOutput) ToWorkstationIamMemberMapOutputWithContext added in v6.56.0

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

type WorkstationIamMemberOutput added in v6.56.0

type WorkstationIamMemberOutput struct{ *pulumi.OutputState }

func (WorkstationIamMemberOutput) Condition added in v6.56.0

func (WorkstationIamMemberOutput) ElementType added in v6.56.0

func (WorkstationIamMemberOutput) ElementType() reflect.Type

func (WorkstationIamMemberOutput) Etag added in v6.56.0

(Computed) The etag of the IAM policy.

func (WorkstationIamMemberOutput) Location added in v6.56.0

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

func (WorkstationIamMemberOutput) Member added in v6.56.0

func (WorkstationIamMemberOutput) Project added in v6.56.0

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.

  • `member/members` - (Required) 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) Role added in v6.56.0

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 added in v6.56.0

func (o WorkstationIamMemberOutput) ToWorkstationIamMemberOutput() WorkstationIamMemberOutput

func (WorkstationIamMemberOutput) ToWorkstationIamMemberOutputWithContext added in v6.56.0

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

func (WorkstationIamMemberOutput) WorkstationClusterId added in v6.56.0

func (o WorkstationIamMemberOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationIamMemberOutput) WorkstationConfigId added in v6.56.0

func (o WorkstationIamMemberOutput) WorkstationConfigId() pulumi.StringOutput

func (WorkstationIamMemberOutput) WorkstationId added in v6.56.0

type WorkstationIamMemberState added in v6.56.0

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
	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.
	//
	// * `member/members` - (Required) 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"
	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 added in v6.56.0

func (WorkstationIamMemberState) ElementType() reflect.Type

type WorkstationIamPolicy added in v6.56.0

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.
	//
	// * `member/members` - (Required) 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"
	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 identifiersthe 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 identifiersthe 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 added in v6.56.0

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 added in v6.56.0

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 added in v6.56.0

func (*WorkstationIamPolicy) ElementType() reflect.Type

func (*WorkstationIamPolicy) ToWorkstationIamPolicyOutput added in v6.56.0

func (i *WorkstationIamPolicy) ToWorkstationIamPolicyOutput() WorkstationIamPolicyOutput

func (*WorkstationIamPolicy) ToWorkstationIamPolicyOutputWithContext added in v6.56.0

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

type WorkstationIamPolicyArgs added in v6.56.0

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.
	//
	// * `member/members` - (Required) 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"
	Project              pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
	WorkstationId        pulumi.StringInput
}

The set of arguments for constructing a WorkstationIamPolicy resource.

func (WorkstationIamPolicyArgs) ElementType added in v6.56.0

func (WorkstationIamPolicyArgs) ElementType() reflect.Type

type WorkstationIamPolicyArray added in v6.56.0

type WorkstationIamPolicyArray []WorkstationIamPolicyInput

func (WorkstationIamPolicyArray) ElementType added in v6.56.0

func (WorkstationIamPolicyArray) ElementType() reflect.Type

func (WorkstationIamPolicyArray) ToWorkstationIamPolicyArrayOutput added in v6.56.0

func (i WorkstationIamPolicyArray) ToWorkstationIamPolicyArrayOutput() WorkstationIamPolicyArrayOutput

func (WorkstationIamPolicyArray) ToWorkstationIamPolicyArrayOutputWithContext added in v6.56.0

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

type WorkstationIamPolicyArrayInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (WorkstationIamPolicyArrayOutput) ElementType added in v6.56.0

func (WorkstationIamPolicyArrayOutput) Index added in v6.56.0

func (WorkstationIamPolicyArrayOutput) ToWorkstationIamPolicyArrayOutput added in v6.56.0

func (o WorkstationIamPolicyArrayOutput) ToWorkstationIamPolicyArrayOutput() WorkstationIamPolicyArrayOutput

func (WorkstationIamPolicyArrayOutput) ToWorkstationIamPolicyArrayOutputWithContext added in v6.56.0

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

type WorkstationIamPolicyInput added in v6.56.0

type WorkstationIamPolicyInput interface {
	pulumi.Input

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

type WorkstationIamPolicyMap added in v6.56.0

type WorkstationIamPolicyMap map[string]WorkstationIamPolicyInput

func (WorkstationIamPolicyMap) ElementType added in v6.56.0

func (WorkstationIamPolicyMap) ElementType() reflect.Type

func (WorkstationIamPolicyMap) ToWorkstationIamPolicyMapOutput added in v6.56.0

func (i WorkstationIamPolicyMap) ToWorkstationIamPolicyMapOutput() WorkstationIamPolicyMapOutput

func (WorkstationIamPolicyMap) ToWorkstationIamPolicyMapOutputWithContext added in v6.56.0

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

type WorkstationIamPolicyMapInput added in v6.56.0

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 added in v6.56.0

type WorkstationIamPolicyMapOutput struct{ *pulumi.OutputState }

func (WorkstationIamPolicyMapOutput) ElementType added in v6.56.0

func (WorkstationIamPolicyMapOutput) MapIndex added in v6.56.0

func (WorkstationIamPolicyMapOutput) ToWorkstationIamPolicyMapOutput added in v6.56.0

func (o WorkstationIamPolicyMapOutput) ToWorkstationIamPolicyMapOutput() WorkstationIamPolicyMapOutput

func (WorkstationIamPolicyMapOutput) ToWorkstationIamPolicyMapOutputWithContext added in v6.56.0

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

type WorkstationIamPolicyOutput added in v6.56.0

type WorkstationIamPolicyOutput struct{ *pulumi.OutputState }

func (WorkstationIamPolicyOutput) ElementType added in v6.56.0

func (WorkstationIamPolicyOutput) ElementType() reflect.Type

func (WorkstationIamPolicyOutput) Etag added in v6.56.0

(Computed) The etag of the IAM policy.

func (WorkstationIamPolicyOutput) Location added in v6.56.0

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

func (WorkstationIamPolicyOutput) PolicyData added in v6.56.0

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

func (WorkstationIamPolicyOutput) Project added in v6.56.0

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.

  • `member/members` - (Required) 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 (WorkstationIamPolicyOutput) ToWorkstationIamPolicyOutput added in v6.56.0

func (o WorkstationIamPolicyOutput) ToWorkstationIamPolicyOutput() WorkstationIamPolicyOutput

func (WorkstationIamPolicyOutput) ToWorkstationIamPolicyOutputWithContext added in v6.56.0

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

func (WorkstationIamPolicyOutput) WorkstationClusterId added in v6.56.0

func (o WorkstationIamPolicyOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationIamPolicyOutput) WorkstationConfigId added in v6.56.0

func (o WorkstationIamPolicyOutput) WorkstationConfigId() pulumi.StringOutput

func (WorkstationIamPolicyOutput) WorkstationId added in v6.56.0

type WorkstationIamPolicyState added in v6.56.0

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.
	//
	// * `member/members` - (Required) 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"
	Project              pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringPtrInput
	WorkstationConfigId  pulumi.StringPtrInput
	WorkstationId        pulumi.StringPtrInput
}

func (WorkstationIamPolicyState) ElementType added in v6.56.0

func (WorkstationIamPolicyState) ElementType() reflect.Type

type WorkstationInput added in v6.52.0

type WorkstationInput interface {
	pulumi.Input

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

type WorkstationMap added in v6.52.0

type WorkstationMap map[string]WorkstationInput

func (WorkstationMap) ElementType added in v6.52.0

func (WorkstationMap) ElementType() reflect.Type

func (WorkstationMap) ToWorkstationMapOutput added in v6.52.0

func (i WorkstationMap) ToWorkstationMapOutput() WorkstationMapOutput

func (WorkstationMap) ToWorkstationMapOutputWithContext added in v6.52.0

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

type WorkstationMapInput added in v6.52.0

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 added in v6.52.0

type WorkstationMapOutput struct{ *pulumi.OutputState }

func (WorkstationMapOutput) ElementType added in v6.52.0

func (WorkstationMapOutput) ElementType() reflect.Type

func (WorkstationMapOutput) MapIndex added in v6.52.0

func (WorkstationMapOutput) ToWorkstationMapOutput added in v6.52.0

func (o WorkstationMapOutput) ToWorkstationMapOutput() WorkstationMapOutput

func (WorkstationMapOutput) ToWorkstationMapOutputWithContext added in v6.52.0

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

type WorkstationOutput added in v6.52.0

type WorkstationOutput struct{ *pulumi.OutputState }

func (WorkstationOutput) Annotations added in v6.52.0

func (o WorkstationOutput) Annotations() pulumi.StringMapOutput

Client-specified annotations. This is distinct from labels.

func (WorkstationOutput) CreateTime added in v6.52.0

func (o WorkstationOutput) CreateTime() pulumi.StringOutput

Time when this resource was created.

func (WorkstationOutput) DisplayName added in v6.52.0

func (o WorkstationOutput) DisplayName() pulumi.StringPtrOutput

Human-readable name for this resource.

func (WorkstationOutput) ElementType added in v6.52.0

func (WorkstationOutput) ElementType() reflect.Type

func (WorkstationOutput) Host added in v6.52.0

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 added in v6.52.0

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

func (WorkstationOutput) Location added in v6.52.0

func (o WorkstationOutput) Location() pulumi.StringOutput

The location where the workstation parent resources reside.

***

func (WorkstationOutput) Name added in v6.52.0

Full name of this resource.

func (WorkstationOutput) Project added in v6.52.0

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

func (WorkstationOutput) State added in v6.52.0

Current state of the workstation.

func (WorkstationOutput) ToWorkstationOutput added in v6.52.0

func (o WorkstationOutput) ToWorkstationOutput() WorkstationOutput

func (WorkstationOutput) ToWorkstationOutputWithContext added in v6.52.0

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

func (WorkstationOutput) Uid added in v6.52.0

A system-assigned unique identified for this resource.

func (WorkstationOutput) WorkstationClusterId added in v6.52.0

func (o WorkstationOutput) WorkstationClusterId() pulumi.StringOutput

The ID of the parent workstation cluster.

func (WorkstationOutput) WorkstationConfigId added in v6.52.0

func (o WorkstationOutput) WorkstationConfigId() pulumi.StringOutput

The ID of the parent workstation cluster config.

func (WorkstationOutput) WorkstationId added in v6.52.0

func (o WorkstationOutput) WorkstationId() pulumi.StringOutput

ID to use for the workstation.

type WorkstationState added in v6.52.0

type WorkstationState struct {
	// Client-specified annotations. This is distinct from labels.
	Annotations pulumi.StringMapInput
	// Time when this resource was created.
	CreateTime pulumi.StringPtrInput
	// Human-readable name for this resource.
	DisplayName pulumi.StringPtrInput
	// 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.
	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
	// 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 added in v6.52.0

func (WorkstationState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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