v1

package
v0.32.0 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Default case. Should never be this.
	AuditLogConfigLogTypeLogTypeUnspecified = AuditLogConfigLogType("LOG_TYPE_UNSPECIFIED")
	// Admin reads. Example: CloudIAM getIamPolicy
	AuditLogConfigLogTypeAdminRead = AuditLogConfigLogType("ADMIN_READ")
	// Data writes. Example: CloudSQL Users create
	AuditLogConfigLogTypeDataWrite = AuditLogConfigLogType("DATA_WRITE")
	// Data reads. Example: CloudSQL Users list
	AuditLogConfigLogTypeDataRead = AuditLogConfigLogType("DATA_READ")
)
View Source
const (
	// Do not use.
	GceRegionalPersistentDiskReclaimPolicyReclaimPolicyUnspecified = GceRegionalPersistentDiskReclaimPolicy("RECLAIM_POLICY_UNSPECIFIED")
	// Delete the persistent disk when deleting the workstation.
	GceRegionalPersistentDiskReclaimPolicyDelete = GceRegionalPersistentDiskReclaimPolicy("DELETE")
	// Keep the persistent disk when deleting the workstation. An administrator must manually delete the disk.
	GceRegionalPersistentDiskReclaimPolicyRetain = GceRegionalPersistentDiskReclaimPolicy("RETAIN")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AuditConfig

type AuditConfig struct {
	// The configuration for logging of each type of permission.
	AuditLogConfigs []AuditLogConfig `pulumi:"auditLogConfigs"`
	// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
	Service *string `pulumi:"service"`
}

Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.

type AuditConfigArgs

type AuditConfigArgs struct {
	// The configuration for logging of each type of permission.
	AuditLogConfigs AuditLogConfigArrayInput `pulumi:"auditLogConfigs"`
	// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
	Service pulumi.StringPtrInput `pulumi:"service"`
}

Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.

func (AuditConfigArgs) ElementType

func (AuditConfigArgs) ElementType() reflect.Type

func (AuditConfigArgs) ToAuditConfigOutput

func (i AuditConfigArgs) ToAuditConfigOutput() AuditConfigOutput

func (AuditConfigArgs) ToAuditConfigOutputWithContext

func (i AuditConfigArgs) ToAuditConfigOutputWithContext(ctx context.Context) AuditConfigOutput

type AuditConfigArray

type AuditConfigArray []AuditConfigInput

func (AuditConfigArray) ElementType

func (AuditConfigArray) ElementType() reflect.Type

func (AuditConfigArray) ToAuditConfigArrayOutput

func (i AuditConfigArray) ToAuditConfigArrayOutput() AuditConfigArrayOutput

func (AuditConfigArray) ToAuditConfigArrayOutputWithContext

func (i AuditConfigArray) ToAuditConfigArrayOutputWithContext(ctx context.Context) AuditConfigArrayOutput

type AuditConfigArrayInput

type AuditConfigArrayInput interface {
	pulumi.Input

	ToAuditConfigArrayOutput() AuditConfigArrayOutput
	ToAuditConfigArrayOutputWithContext(context.Context) AuditConfigArrayOutput
}

AuditConfigArrayInput is an input type that accepts AuditConfigArray and AuditConfigArrayOutput values. You can construct a concrete instance of `AuditConfigArrayInput` via:

AuditConfigArray{ AuditConfigArgs{...} }

type AuditConfigArrayOutput

type AuditConfigArrayOutput struct{ *pulumi.OutputState }

func (AuditConfigArrayOutput) ElementType

func (AuditConfigArrayOutput) ElementType() reflect.Type

func (AuditConfigArrayOutput) Index

func (AuditConfigArrayOutput) ToAuditConfigArrayOutput

func (o AuditConfigArrayOutput) ToAuditConfigArrayOutput() AuditConfigArrayOutput

func (AuditConfigArrayOutput) ToAuditConfigArrayOutputWithContext

func (o AuditConfigArrayOutput) ToAuditConfigArrayOutputWithContext(ctx context.Context) AuditConfigArrayOutput

type AuditConfigInput

type AuditConfigInput interface {
	pulumi.Input

	ToAuditConfigOutput() AuditConfigOutput
	ToAuditConfigOutputWithContext(context.Context) AuditConfigOutput
}

AuditConfigInput is an input type that accepts AuditConfigArgs and AuditConfigOutput values. You can construct a concrete instance of `AuditConfigInput` via:

AuditConfigArgs{...}

type AuditConfigOutput

type AuditConfigOutput struct{ *pulumi.OutputState }

Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.

func (AuditConfigOutput) AuditLogConfigs

func (o AuditConfigOutput) AuditLogConfigs() AuditLogConfigArrayOutput

The configuration for logging of each type of permission.

func (AuditConfigOutput) ElementType

func (AuditConfigOutput) ElementType() reflect.Type

func (AuditConfigOutput) Service

Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.

func (AuditConfigOutput) ToAuditConfigOutput

func (o AuditConfigOutput) ToAuditConfigOutput() AuditConfigOutput

func (AuditConfigOutput) ToAuditConfigOutputWithContext

func (o AuditConfigOutput) ToAuditConfigOutputWithContext(ctx context.Context) AuditConfigOutput

type AuditConfigResponse

type AuditConfigResponse struct {
	// The configuration for logging of each type of permission.
	AuditLogConfigs []AuditLogConfigResponse `pulumi:"auditLogConfigs"`
	// Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
	Service string `pulumi:"service"`
}

Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.

type AuditConfigResponseArrayOutput

type AuditConfigResponseArrayOutput struct{ *pulumi.OutputState }

func (AuditConfigResponseArrayOutput) ElementType

func (AuditConfigResponseArrayOutput) Index

func (AuditConfigResponseArrayOutput) ToAuditConfigResponseArrayOutput

func (o AuditConfigResponseArrayOutput) ToAuditConfigResponseArrayOutput() AuditConfigResponseArrayOutput

func (AuditConfigResponseArrayOutput) ToAuditConfigResponseArrayOutputWithContext

func (o AuditConfigResponseArrayOutput) ToAuditConfigResponseArrayOutputWithContext(ctx context.Context) AuditConfigResponseArrayOutput

type AuditConfigResponseOutput

type AuditConfigResponseOutput struct{ *pulumi.OutputState }

Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.

func (AuditConfigResponseOutput) AuditLogConfigs

The configuration for logging of each type of permission.

func (AuditConfigResponseOutput) ElementType

func (AuditConfigResponseOutput) ElementType() reflect.Type

func (AuditConfigResponseOutput) Service

Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.

func (AuditConfigResponseOutput) ToAuditConfigResponseOutput

func (o AuditConfigResponseOutput) ToAuditConfigResponseOutput() AuditConfigResponseOutput

func (AuditConfigResponseOutput) ToAuditConfigResponseOutputWithContext

func (o AuditConfigResponseOutput) ToAuditConfigResponseOutputWithContext(ctx context.Context) AuditConfigResponseOutput

type AuditLogConfig

type AuditLogConfig struct {
	// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
	ExemptedMembers []string `pulumi:"exemptedMembers"`
	// The log type that this config enables.
	LogType *AuditLogConfigLogType `pulumi:"logType"`
}

Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.

type AuditLogConfigArgs

type AuditLogConfigArgs struct {
	// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
	ExemptedMembers pulumi.StringArrayInput `pulumi:"exemptedMembers"`
	// The log type that this config enables.
	LogType AuditLogConfigLogTypePtrInput `pulumi:"logType"`
}

Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.

func (AuditLogConfigArgs) ElementType

func (AuditLogConfigArgs) ElementType() reflect.Type

func (AuditLogConfigArgs) ToAuditLogConfigOutput

func (i AuditLogConfigArgs) ToAuditLogConfigOutput() AuditLogConfigOutput

func (AuditLogConfigArgs) ToAuditLogConfigOutputWithContext

func (i AuditLogConfigArgs) ToAuditLogConfigOutputWithContext(ctx context.Context) AuditLogConfigOutput

type AuditLogConfigArray

type AuditLogConfigArray []AuditLogConfigInput

func (AuditLogConfigArray) ElementType

func (AuditLogConfigArray) ElementType() reflect.Type

func (AuditLogConfigArray) ToAuditLogConfigArrayOutput

func (i AuditLogConfigArray) ToAuditLogConfigArrayOutput() AuditLogConfigArrayOutput

func (AuditLogConfigArray) ToAuditLogConfigArrayOutputWithContext

func (i AuditLogConfigArray) ToAuditLogConfigArrayOutputWithContext(ctx context.Context) AuditLogConfigArrayOutput

type AuditLogConfigArrayInput

type AuditLogConfigArrayInput interface {
	pulumi.Input

	ToAuditLogConfigArrayOutput() AuditLogConfigArrayOutput
	ToAuditLogConfigArrayOutputWithContext(context.Context) AuditLogConfigArrayOutput
}

AuditLogConfigArrayInput is an input type that accepts AuditLogConfigArray and AuditLogConfigArrayOutput values. You can construct a concrete instance of `AuditLogConfigArrayInput` via:

AuditLogConfigArray{ AuditLogConfigArgs{...} }

type AuditLogConfigArrayOutput

type AuditLogConfigArrayOutput struct{ *pulumi.OutputState }

func (AuditLogConfigArrayOutput) ElementType

func (AuditLogConfigArrayOutput) ElementType() reflect.Type

func (AuditLogConfigArrayOutput) Index

func (AuditLogConfigArrayOutput) ToAuditLogConfigArrayOutput

func (o AuditLogConfigArrayOutput) ToAuditLogConfigArrayOutput() AuditLogConfigArrayOutput

func (AuditLogConfigArrayOutput) ToAuditLogConfigArrayOutputWithContext

func (o AuditLogConfigArrayOutput) ToAuditLogConfigArrayOutputWithContext(ctx context.Context) AuditLogConfigArrayOutput

type AuditLogConfigInput

type AuditLogConfigInput interface {
	pulumi.Input

	ToAuditLogConfigOutput() AuditLogConfigOutput
	ToAuditLogConfigOutputWithContext(context.Context) AuditLogConfigOutput
}

AuditLogConfigInput is an input type that accepts AuditLogConfigArgs and AuditLogConfigOutput values. You can construct a concrete instance of `AuditLogConfigInput` via:

AuditLogConfigArgs{...}

type AuditLogConfigLogType

type AuditLogConfigLogType string

The log type that this config enables.

func (AuditLogConfigLogType) ElementType

func (AuditLogConfigLogType) ElementType() reflect.Type

func (AuditLogConfigLogType) ToAuditLogConfigLogTypeOutput

func (e AuditLogConfigLogType) ToAuditLogConfigLogTypeOutput() AuditLogConfigLogTypeOutput

func (AuditLogConfigLogType) ToAuditLogConfigLogTypeOutputWithContext

func (e AuditLogConfigLogType) ToAuditLogConfigLogTypeOutputWithContext(ctx context.Context) AuditLogConfigLogTypeOutput

func (AuditLogConfigLogType) ToAuditLogConfigLogTypePtrOutput

func (e AuditLogConfigLogType) ToAuditLogConfigLogTypePtrOutput() AuditLogConfigLogTypePtrOutput

func (AuditLogConfigLogType) ToAuditLogConfigLogTypePtrOutputWithContext

func (e AuditLogConfigLogType) ToAuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) AuditLogConfigLogTypePtrOutput

func (AuditLogConfigLogType) ToStringOutput

func (e AuditLogConfigLogType) ToStringOutput() pulumi.StringOutput

func (AuditLogConfigLogType) ToStringOutputWithContext

func (e AuditLogConfigLogType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (AuditLogConfigLogType) ToStringPtrOutput

func (e AuditLogConfigLogType) ToStringPtrOutput() pulumi.StringPtrOutput

func (AuditLogConfigLogType) ToStringPtrOutputWithContext

func (e AuditLogConfigLogType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type AuditLogConfigLogTypeInput

type AuditLogConfigLogTypeInput interface {
	pulumi.Input

	ToAuditLogConfigLogTypeOutput() AuditLogConfigLogTypeOutput
	ToAuditLogConfigLogTypeOutputWithContext(context.Context) AuditLogConfigLogTypeOutput
}

AuditLogConfigLogTypeInput is an input type that accepts AuditLogConfigLogTypeArgs and AuditLogConfigLogTypeOutput values. You can construct a concrete instance of `AuditLogConfigLogTypeInput` via:

AuditLogConfigLogTypeArgs{...}

type AuditLogConfigLogTypeOutput

type AuditLogConfigLogTypeOutput struct{ *pulumi.OutputState }

func (AuditLogConfigLogTypeOutput) ElementType

func (AuditLogConfigLogTypeOutput) ToAuditLogConfigLogTypeOutput

func (o AuditLogConfigLogTypeOutput) ToAuditLogConfigLogTypeOutput() AuditLogConfigLogTypeOutput

func (AuditLogConfigLogTypeOutput) ToAuditLogConfigLogTypeOutputWithContext

func (o AuditLogConfigLogTypeOutput) ToAuditLogConfigLogTypeOutputWithContext(ctx context.Context) AuditLogConfigLogTypeOutput

func (AuditLogConfigLogTypeOutput) ToAuditLogConfigLogTypePtrOutput

func (o AuditLogConfigLogTypeOutput) ToAuditLogConfigLogTypePtrOutput() AuditLogConfigLogTypePtrOutput

func (AuditLogConfigLogTypeOutput) ToAuditLogConfigLogTypePtrOutputWithContext

func (o AuditLogConfigLogTypeOutput) ToAuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) AuditLogConfigLogTypePtrOutput

func (AuditLogConfigLogTypeOutput) ToStringOutput

func (o AuditLogConfigLogTypeOutput) ToStringOutput() pulumi.StringOutput

func (AuditLogConfigLogTypeOutput) ToStringOutputWithContext

func (o AuditLogConfigLogTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (AuditLogConfigLogTypeOutput) ToStringPtrOutput

func (o AuditLogConfigLogTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (AuditLogConfigLogTypeOutput) ToStringPtrOutputWithContext

func (o AuditLogConfigLogTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type AuditLogConfigLogTypePtrInput

type AuditLogConfigLogTypePtrInput interface {
	pulumi.Input

	ToAuditLogConfigLogTypePtrOutput() AuditLogConfigLogTypePtrOutput
	ToAuditLogConfigLogTypePtrOutputWithContext(context.Context) AuditLogConfigLogTypePtrOutput
}

func AuditLogConfigLogTypePtr

func AuditLogConfigLogTypePtr(v string) AuditLogConfigLogTypePtrInput

type AuditLogConfigLogTypePtrOutput

type AuditLogConfigLogTypePtrOutput struct{ *pulumi.OutputState }

func (AuditLogConfigLogTypePtrOutput) Elem

func (AuditLogConfigLogTypePtrOutput) ElementType

func (AuditLogConfigLogTypePtrOutput) ToAuditLogConfigLogTypePtrOutput

func (o AuditLogConfigLogTypePtrOutput) ToAuditLogConfigLogTypePtrOutput() AuditLogConfigLogTypePtrOutput

func (AuditLogConfigLogTypePtrOutput) ToAuditLogConfigLogTypePtrOutputWithContext

func (o AuditLogConfigLogTypePtrOutput) ToAuditLogConfigLogTypePtrOutputWithContext(ctx context.Context) AuditLogConfigLogTypePtrOutput

func (AuditLogConfigLogTypePtrOutput) ToStringPtrOutput

func (AuditLogConfigLogTypePtrOutput) ToStringPtrOutputWithContext

func (o AuditLogConfigLogTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type AuditLogConfigOutput

type AuditLogConfigOutput struct{ *pulumi.OutputState }

Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.

func (AuditLogConfigOutput) ElementType

func (AuditLogConfigOutput) ElementType() reflect.Type

func (AuditLogConfigOutput) ExemptedMembers

func (o AuditLogConfigOutput) ExemptedMembers() pulumi.StringArrayOutput

Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.

func (AuditLogConfigOutput) LogType

The log type that this config enables.

func (AuditLogConfigOutput) ToAuditLogConfigOutput

func (o AuditLogConfigOutput) ToAuditLogConfigOutput() AuditLogConfigOutput

func (AuditLogConfigOutput) ToAuditLogConfigOutputWithContext

func (o AuditLogConfigOutput) ToAuditLogConfigOutputWithContext(ctx context.Context) AuditLogConfigOutput

type AuditLogConfigResponse

type AuditLogConfigResponse struct {
	// Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
	ExemptedMembers []string `pulumi:"exemptedMembers"`
	// The log type that this config enables.
	LogType string `pulumi:"logType"`
}

Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.

type AuditLogConfigResponseArrayOutput

type AuditLogConfigResponseArrayOutput struct{ *pulumi.OutputState }

func (AuditLogConfigResponseArrayOutput) ElementType

func (AuditLogConfigResponseArrayOutput) Index

func (AuditLogConfigResponseArrayOutput) ToAuditLogConfigResponseArrayOutput

func (o AuditLogConfigResponseArrayOutput) ToAuditLogConfigResponseArrayOutput() AuditLogConfigResponseArrayOutput

func (AuditLogConfigResponseArrayOutput) ToAuditLogConfigResponseArrayOutputWithContext

func (o AuditLogConfigResponseArrayOutput) ToAuditLogConfigResponseArrayOutputWithContext(ctx context.Context) AuditLogConfigResponseArrayOutput

type AuditLogConfigResponseOutput

type AuditLogConfigResponseOutput struct{ *pulumi.OutputState }

Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.

func (AuditLogConfigResponseOutput) ElementType

func (AuditLogConfigResponseOutput) ExemptedMembers

Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.

func (AuditLogConfigResponseOutput) LogType

The log type that this config enables.

func (AuditLogConfigResponseOutput) ToAuditLogConfigResponseOutput

func (o AuditLogConfigResponseOutput) ToAuditLogConfigResponseOutput() AuditLogConfigResponseOutput

func (AuditLogConfigResponseOutput) ToAuditLogConfigResponseOutputWithContext

func (o AuditLogConfigResponseOutput) ToAuditLogConfigResponseOutputWithContext(ctx context.Context) AuditLogConfigResponseOutput

type Binding

type Binding struct {
	// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Condition *Expr `pulumi:"condition"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members []string `pulumi:"members"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role *string `pulumi:"role"`
}

Associates `members`, or principals, with a `role`.

type BindingArgs

type BindingArgs struct {
	// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Condition ExprPtrInput `pulumi:"condition"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members pulumi.StringArrayInput `pulumi:"members"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringPtrInput `pulumi:"role"`
}

Associates `members`, or principals, with a `role`.

func (BindingArgs) ElementType

func (BindingArgs) ElementType() reflect.Type

func (BindingArgs) ToBindingOutput

func (i BindingArgs) ToBindingOutput() BindingOutput

func (BindingArgs) ToBindingOutputWithContext

func (i BindingArgs) ToBindingOutputWithContext(ctx context.Context) BindingOutput

type BindingArray

type BindingArray []BindingInput

func (BindingArray) ElementType

func (BindingArray) ElementType() reflect.Type

func (BindingArray) ToBindingArrayOutput

func (i BindingArray) ToBindingArrayOutput() BindingArrayOutput

func (BindingArray) ToBindingArrayOutputWithContext

func (i BindingArray) ToBindingArrayOutputWithContext(ctx context.Context) BindingArrayOutput

type BindingArrayInput

type BindingArrayInput interface {
	pulumi.Input

	ToBindingArrayOutput() BindingArrayOutput
	ToBindingArrayOutputWithContext(context.Context) BindingArrayOutput
}

BindingArrayInput is an input type that accepts BindingArray and BindingArrayOutput values. You can construct a concrete instance of `BindingArrayInput` via:

BindingArray{ BindingArgs{...} }

type BindingArrayOutput

type BindingArrayOutput struct{ *pulumi.OutputState }

func (BindingArrayOutput) ElementType

func (BindingArrayOutput) ElementType() reflect.Type

func (BindingArrayOutput) Index

func (BindingArrayOutput) ToBindingArrayOutput

func (o BindingArrayOutput) ToBindingArrayOutput() BindingArrayOutput

func (BindingArrayOutput) ToBindingArrayOutputWithContext

func (o BindingArrayOutput) ToBindingArrayOutputWithContext(ctx context.Context) BindingArrayOutput

type BindingInput

type BindingInput interface {
	pulumi.Input

	ToBindingOutput() BindingOutput
	ToBindingOutputWithContext(context.Context) BindingOutput
}

BindingInput is an input type that accepts BindingArgs and BindingOutput values. You can construct a concrete instance of `BindingInput` via:

BindingArgs{...}

type BindingOutput

type BindingOutput struct{ *pulumi.OutputState }

Associates `members`, or principals, with a `role`.

func (BindingOutput) Condition

func (o BindingOutput) Condition() ExprPtrOutput

The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

func (BindingOutput) ElementType

func (BindingOutput) ElementType() reflect.Type

func (BindingOutput) Members

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (BindingOutput) Role

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (BindingOutput) ToBindingOutput

func (o BindingOutput) ToBindingOutput() BindingOutput

func (BindingOutput) ToBindingOutputWithContext

func (o BindingOutput) ToBindingOutputWithContext(ctx context.Context) BindingOutput

type BindingResponse

type BindingResponse struct {
	// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Condition ExprResponse `pulumi:"condition"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members []string `pulumi:"members"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role string `pulumi:"role"`
}

Associates `members`, or principals, with a `role`.

type BindingResponseArrayOutput

type BindingResponseArrayOutput struct{ *pulumi.OutputState }

func (BindingResponseArrayOutput) ElementType

func (BindingResponseArrayOutput) ElementType() reflect.Type

func (BindingResponseArrayOutput) Index

func (BindingResponseArrayOutput) ToBindingResponseArrayOutput

func (o BindingResponseArrayOutput) ToBindingResponseArrayOutput() BindingResponseArrayOutput

func (BindingResponseArrayOutput) ToBindingResponseArrayOutputWithContext

func (o BindingResponseArrayOutput) ToBindingResponseArrayOutputWithContext(ctx context.Context) BindingResponseArrayOutput

type BindingResponseOutput

type BindingResponseOutput struct{ *pulumi.OutputState }

Associates `members`, or principals, with a `role`.

func (BindingResponseOutput) Condition

The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

func (BindingResponseOutput) ElementType

func (BindingResponseOutput) ElementType() reflect.Type

func (BindingResponseOutput) Members

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (BindingResponseOutput) Role

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (BindingResponseOutput) ToBindingResponseOutput

func (o BindingResponseOutput) ToBindingResponseOutput() BindingResponseOutput

func (BindingResponseOutput) ToBindingResponseOutputWithContext

func (o BindingResponseOutput) ToBindingResponseOutputWithContext(ctx context.Context) BindingResponseOutput

type Container

type Container struct {
	// Optional. Arguments passed to the entrypoint.
	Args []string `pulumi:"args"`
	// Optional. If set, overrides the default ENTRYPOINT specified by the image.
	Command []string `pulumi:"command"`
	// Optional. Environment variables passed to the container's entrypoint.
	Env map[string]string `pulumi:"env"`
	// Optional. A Docker container image that defines a custom environment. Cloud Workstations provides a number of [preconfigured images](https://cloud.google.com/workstations/docs/preconfigured-base-images), but you can create your own [custom container images](https://cloud.google.com/workstations/docs/custom-container-images). If using a private image, the `host.gceInstance.serviceAccount` field must be specified in the workstation configuration. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. Otherwise, the image must be publicly accessible.
	Image *string `pulumi:"image"`
	// Optional. If set, overrides the USER specified in the image with the given uid.
	RunAsUser *int `pulumi:"runAsUser"`
	// Optional. If set, overrides the default DIR specified by the image.
	WorkingDir *string `pulumi:"workingDir"`
}

A Docker container.

type ContainerArgs

type ContainerArgs struct {
	// Optional. Arguments passed to the entrypoint.
	Args pulumi.StringArrayInput `pulumi:"args"`
	// Optional. If set, overrides the default ENTRYPOINT specified by the image.
	Command pulumi.StringArrayInput `pulumi:"command"`
	// Optional. Environment variables passed to the container's entrypoint.
	Env pulumi.StringMapInput `pulumi:"env"`
	// Optional. A Docker container image that defines a custom environment. Cloud Workstations provides a number of [preconfigured images](https://cloud.google.com/workstations/docs/preconfigured-base-images), but you can create your own [custom container images](https://cloud.google.com/workstations/docs/custom-container-images). If using a private image, the `host.gceInstance.serviceAccount` field must be specified in the workstation configuration. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. Otherwise, the image must be publicly accessible.
	Image pulumi.StringPtrInput `pulumi:"image"`
	// Optional. If set, overrides the USER specified in the image with the given uid.
	RunAsUser pulumi.IntPtrInput `pulumi:"runAsUser"`
	// Optional. If set, overrides the default DIR specified by the image.
	WorkingDir pulumi.StringPtrInput `pulumi:"workingDir"`
}

A Docker container.

func (ContainerArgs) ElementType

func (ContainerArgs) ElementType() reflect.Type

func (ContainerArgs) ToContainerOutput

func (i ContainerArgs) ToContainerOutput() ContainerOutput

func (ContainerArgs) ToContainerOutputWithContext

func (i ContainerArgs) ToContainerOutputWithContext(ctx context.Context) ContainerOutput

func (ContainerArgs) ToContainerPtrOutput

func (i ContainerArgs) ToContainerPtrOutput() ContainerPtrOutput

func (ContainerArgs) ToContainerPtrOutputWithContext

func (i ContainerArgs) ToContainerPtrOutputWithContext(ctx context.Context) ContainerPtrOutput

type ContainerInput

type ContainerInput interface {
	pulumi.Input

	ToContainerOutput() ContainerOutput
	ToContainerOutputWithContext(context.Context) ContainerOutput
}

ContainerInput is an input type that accepts ContainerArgs and ContainerOutput values. You can construct a concrete instance of `ContainerInput` via:

ContainerArgs{...}

type ContainerOutput

type ContainerOutput struct{ *pulumi.OutputState }

A Docker container.

func (ContainerOutput) Args

Optional. Arguments passed to the entrypoint.

func (ContainerOutput) Command

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

func (ContainerOutput) ElementType

func (ContainerOutput) ElementType() reflect.Type

func (ContainerOutput) Env

Optional. Environment variables passed to the container's entrypoint.

func (ContainerOutput) Image

Optional. A Docker container image that defines a custom environment. Cloud Workstations provides a number of [preconfigured images](https://cloud.google.com/workstations/docs/preconfigured-base-images), but you can create your own [custom container images](https://cloud.google.com/workstations/docs/custom-container-images). If using a private image, the `host.gceInstance.serviceAccount` field must be specified in the workstation configuration. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. Otherwise, the image must be publicly accessible.

func (ContainerOutput) RunAsUser

func (o ContainerOutput) RunAsUser() pulumi.IntPtrOutput

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

func (ContainerOutput) ToContainerOutput

func (o ContainerOutput) ToContainerOutput() ContainerOutput

func (ContainerOutput) ToContainerOutputWithContext

func (o ContainerOutput) ToContainerOutputWithContext(ctx context.Context) ContainerOutput

func (ContainerOutput) ToContainerPtrOutput

func (o ContainerOutput) ToContainerPtrOutput() ContainerPtrOutput

func (ContainerOutput) ToContainerPtrOutputWithContext

func (o ContainerOutput) ToContainerPtrOutputWithContext(ctx context.Context) ContainerPtrOutput

func (ContainerOutput) WorkingDir

func (o ContainerOutput) WorkingDir() pulumi.StringPtrOutput

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

type ContainerPtrInput

type ContainerPtrInput interface {
	pulumi.Input

	ToContainerPtrOutput() ContainerPtrOutput
	ToContainerPtrOutputWithContext(context.Context) ContainerPtrOutput
}

ContainerPtrInput is an input type that accepts ContainerArgs, ContainerPtr and ContainerPtrOutput values. You can construct a concrete instance of `ContainerPtrInput` via:

        ContainerArgs{...}

or:

        nil

func ContainerPtr

func ContainerPtr(v *ContainerArgs) ContainerPtrInput

type ContainerPtrOutput

type ContainerPtrOutput struct{ *pulumi.OutputState }

func (ContainerPtrOutput) Args

Optional. Arguments passed to the entrypoint.

func (ContainerPtrOutput) Command

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

func (ContainerPtrOutput) Elem

func (ContainerPtrOutput) ElementType

func (ContainerPtrOutput) ElementType() reflect.Type

func (ContainerPtrOutput) Env

Optional. Environment variables passed to the container's entrypoint.

func (ContainerPtrOutput) Image

Optional. A Docker container image that defines a custom environment. Cloud Workstations provides a number of [preconfigured images](https://cloud.google.com/workstations/docs/preconfigured-base-images), but you can create your own [custom container images](https://cloud.google.com/workstations/docs/custom-container-images). If using a private image, the `host.gceInstance.serviceAccount` field must be specified in the workstation configuration. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. Otherwise, the image must be publicly accessible.

func (ContainerPtrOutput) RunAsUser

func (o ContainerPtrOutput) RunAsUser() pulumi.IntPtrOutput

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

func (ContainerPtrOutput) ToContainerPtrOutput

func (o ContainerPtrOutput) ToContainerPtrOutput() ContainerPtrOutput

func (ContainerPtrOutput) ToContainerPtrOutputWithContext

func (o ContainerPtrOutput) ToContainerPtrOutputWithContext(ctx context.Context) ContainerPtrOutput

func (ContainerPtrOutput) WorkingDir

func (o ContainerPtrOutput) WorkingDir() pulumi.StringPtrOutput

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

type ContainerResponse

type ContainerResponse struct {
	// Optional. Arguments passed to the entrypoint.
	Args []string `pulumi:"args"`
	// Optional. If set, overrides the default ENTRYPOINT specified by the image.
	Command []string `pulumi:"command"`
	// Optional. Environment variables passed to the container's entrypoint.
	Env map[string]string `pulumi:"env"`
	// Optional. A Docker container image that defines a custom environment. Cloud Workstations provides a number of [preconfigured images](https://cloud.google.com/workstations/docs/preconfigured-base-images), but you can create your own [custom container images](https://cloud.google.com/workstations/docs/custom-container-images). If using a private image, the `host.gceInstance.serviceAccount` field must be specified in the workstation configuration. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. Otherwise, the image must be publicly accessible.
	Image string `pulumi:"image"`
	// Optional. If set, overrides the USER specified in the image with the given uid.
	RunAsUser int `pulumi:"runAsUser"`
	// Optional. If set, overrides the default DIR specified by the image.
	WorkingDir string `pulumi:"workingDir"`
}

A Docker container.

type ContainerResponseOutput

type ContainerResponseOutput struct{ *pulumi.OutputState }

A Docker container.

func (ContainerResponseOutput) Args

Optional. Arguments passed to the entrypoint.

func (ContainerResponseOutput) Command

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

func (ContainerResponseOutput) ElementType

func (ContainerResponseOutput) ElementType() reflect.Type

func (ContainerResponseOutput) Env

Optional. Environment variables passed to the container's entrypoint.

func (ContainerResponseOutput) Image

Optional. A Docker container image that defines a custom environment. Cloud Workstations provides a number of [preconfigured images](https://cloud.google.com/workstations/docs/preconfigured-base-images), but you can create your own [custom container images](https://cloud.google.com/workstations/docs/custom-container-images). If using a private image, the `host.gceInstance.serviceAccount` field must be specified in the workstation configuration. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. Otherwise, the image must be publicly accessible.

func (ContainerResponseOutput) RunAsUser

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

func (ContainerResponseOutput) ToContainerResponseOutput

func (o ContainerResponseOutput) ToContainerResponseOutput() ContainerResponseOutput

func (ContainerResponseOutput) ToContainerResponseOutputWithContext

func (o ContainerResponseOutput) ToContainerResponseOutputWithContext(ctx context.Context) ContainerResponseOutput

func (ContainerResponseOutput) WorkingDir

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

type CustomerEncryptionKey

type CustomerEncryptionKey struct {
	// Immutable. The name of the Google Cloud KMS encryption key. For example, `"projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"`. The key must be in the same region as the workstation configuration.
	KmsKey *string `pulumi:"kmsKey"`
	// Immutable. The service account to use with the specified KMS key. We recommend that you use a separate service account and follow KMS best practices. For more information, see [Separation of duties](https://cloud.google.com/kms/docs/separation-of-duties) and `gcloud kms keys add-iam-policy-binding` [`--member`](https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member).
	KmsKeyServiceAccount *string `pulumi:"kmsKeyServiceAccount"`
}

A customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow [Cloud KMS best practices](https://cloud.google.com/kms/docs/separation-of-duties).

type CustomerEncryptionKeyArgs

type CustomerEncryptionKeyArgs struct {
	// Immutable. The name of the Google Cloud KMS encryption key. For example, `"projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"`. The key must be in the same region as the workstation configuration.
	KmsKey pulumi.StringPtrInput `pulumi:"kmsKey"`
	// Immutable. The service account to use with the specified KMS key. We recommend that you use a separate service account and follow KMS best practices. For more information, see [Separation of duties](https://cloud.google.com/kms/docs/separation-of-duties) and `gcloud kms keys add-iam-policy-binding` [`--member`](https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member).
	KmsKeyServiceAccount pulumi.StringPtrInput `pulumi:"kmsKeyServiceAccount"`
}

A customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow [Cloud KMS best practices](https://cloud.google.com/kms/docs/separation-of-duties).

func (CustomerEncryptionKeyArgs) ElementType

func (CustomerEncryptionKeyArgs) ElementType() reflect.Type

func (CustomerEncryptionKeyArgs) ToCustomerEncryptionKeyOutput

func (i CustomerEncryptionKeyArgs) ToCustomerEncryptionKeyOutput() CustomerEncryptionKeyOutput

func (CustomerEncryptionKeyArgs) ToCustomerEncryptionKeyOutputWithContext

func (i CustomerEncryptionKeyArgs) ToCustomerEncryptionKeyOutputWithContext(ctx context.Context) CustomerEncryptionKeyOutput

func (CustomerEncryptionKeyArgs) ToCustomerEncryptionKeyPtrOutput

func (i CustomerEncryptionKeyArgs) ToCustomerEncryptionKeyPtrOutput() CustomerEncryptionKeyPtrOutput

func (CustomerEncryptionKeyArgs) ToCustomerEncryptionKeyPtrOutputWithContext

func (i CustomerEncryptionKeyArgs) ToCustomerEncryptionKeyPtrOutputWithContext(ctx context.Context) CustomerEncryptionKeyPtrOutput

type CustomerEncryptionKeyInput

type CustomerEncryptionKeyInput interface {
	pulumi.Input

	ToCustomerEncryptionKeyOutput() CustomerEncryptionKeyOutput
	ToCustomerEncryptionKeyOutputWithContext(context.Context) CustomerEncryptionKeyOutput
}

CustomerEncryptionKeyInput is an input type that accepts CustomerEncryptionKeyArgs and CustomerEncryptionKeyOutput values. You can construct a concrete instance of `CustomerEncryptionKeyInput` via:

CustomerEncryptionKeyArgs{...}

type CustomerEncryptionKeyOutput

type CustomerEncryptionKeyOutput struct{ *pulumi.OutputState }

A customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow [Cloud KMS best practices](https://cloud.google.com/kms/docs/separation-of-duties).

func (CustomerEncryptionKeyOutput) ElementType

func (CustomerEncryptionKeyOutput) KmsKey

Immutable. The name of the Google Cloud KMS encryption key. For example, `"projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"`. The key must be in the same region as the workstation configuration.

func (CustomerEncryptionKeyOutput) KmsKeyServiceAccount

func (o CustomerEncryptionKeyOutput) KmsKeyServiceAccount() pulumi.StringPtrOutput

Immutable. The service account to use with the specified KMS key. We recommend that you use a separate service account and follow KMS best practices. For more information, see [Separation of duties](https://cloud.google.com/kms/docs/separation-of-duties) and `gcloud kms keys add-iam-policy-binding` [`--member`](https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member).

func (CustomerEncryptionKeyOutput) ToCustomerEncryptionKeyOutput

func (o CustomerEncryptionKeyOutput) ToCustomerEncryptionKeyOutput() CustomerEncryptionKeyOutput

func (CustomerEncryptionKeyOutput) ToCustomerEncryptionKeyOutputWithContext

func (o CustomerEncryptionKeyOutput) ToCustomerEncryptionKeyOutputWithContext(ctx context.Context) CustomerEncryptionKeyOutput

func (CustomerEncryptionKeyOutput) ToCustomerEncryptionKeyPtrOutput

func (o CustomerEncryptionKeyOutput) ToCustomerEncryptionKeyPtrOutput() CustomerEncryptionKeyPtrOutput

func (CustomerEncryptionKeyOutput) ToCustomerEncryptionKeyPtrOutputWithContext

func (o CustomerEncryptionKeyOutput) ToCustomerEncryptionKeyPtrOutputWithContext(ctx context.Context) CustomerEncryptionKeyPtrOutput

type CustomerEncryptionKeyPtrInput

type CustomerEncryptionKeyPtrInput interface {
	pulumi.Input

	ToCustomerEncryptionKeyPtrOutput() CustomerEncryptionKeyPtrOutput
	ToCustomerEncryptionKeyPtrOutputWithContext(context.Context) CustomerEncryptionKeyPtrOutput
}

CustomerEncryptionKeyPtrInput is an input type that accepts CustomerEncryptionKeyArgs, CustomerEncryptionKeyPtr and CustomerEncryptionKeyPtrOutput values. You can construct a concrete instance of `CustomerEncryptionKeyPtrInput` via:

        CustomerEncryptionKeyArgs{...}

or:

        nil

type CustomerEncryptionKeyPtrOutput

type CustomerEncryptionKeyPtrOutput struct{ *pulumi.OutputState }

func (CustomerEncryptionKeyPtrOutput) Elem

func (CustomerEncryptionKeyPtrOutput) ElementType

func (CustomerEncryptionKeyPtrOutput) KmsKey

Immutable. The name of the Google Cloud KMS encryption key. For example, `"projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"`. The key must be in the same region as the workstation configuration.

func (CustomerEncryptionKeyPtrOutput) KmsKeyServiceAccount

func (o CustomerEncryptionKeyPtrOutput) KmsKeyServiceAccount() pulumi.StringPtrOutput

Immutable. The service account to use with the specified KMS key. We recommend that you use a separate service account and follow KMS best practices. For more information, see [Separation of duties](https://cloud.google.com/kms/docs/separation-of-duties) and `gcloud kms keys add-iam-policy-binding` [`--member`](https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member).

func (CustomerEncryptionKeyPtrOutput) ToCustomerEncryptionKeyPtrOutput

func (o CustomerEncryptionKeyPtrOutput) ToCustomerEncryptionKeyPtrOutput() CustomerEncryptionKeyPtrOutput

func (CustomerEncryptionKeyPtrOutput) ToCustomerEncryptionKeyPtrOutputWithContext

func (o CustomerEncryptionKeyPtrOutput) ToCustomerEncryptionKeyPtrOutputWithContext(ctx context.Context) CustomerEncryptionKeyPtrOutput

type CustomerEncryptionKeyResponse

type CustomerEncryptionKeyResponse struct {
	// Immutable. The name of the Google Cloud KMS encryption key. For example, `"projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"`. The key must be in the same region as the workstation configuration.
	KmsKey string `pulumi:"kmsKey"`
	// Immutable. The service account to use with the specified KMS key. We recommend that you use a separate service account and follow KMS best practices. For more information, see [Separation of duties](https://cloud.google.com/kms/docs/separation-of-duties) and `gcloud kms keys add-iam-policy-binding` [`--member`](https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member).
	KmsKeyServiceAccount string `pulumi:"kmsKeyServiceAccount"`
}

A customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow [Cloud KMS best practices](https://cloud.google.com/kms/docs/separation-of-duties).

type CustomerEncryptionKeyResponseOutput

type CustomerEncryptionKeyResponseOutput struct{ *pulumi.OutputState }

A customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow [Cloud KMS best practices](https://cloud.google.com/kms/docs/separation-of-duties).

func (CustomerEncryptionKeyResponseOutput) ElementType

func (CustomerEncryptionKeyResponseOutput) KmsKey

Immutable. The name of the Google Cloud KMS encryption key. For example, `"projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"`. The key must be in the same region as the workstation configuration.

func (CustomerEncryptionKeyResponseOutput) KmsKeyServiceAccount

func (o CustomerEncryptionKeyResponseOutput) KmsKeyServiceAccount() pulumi.StringOutput

Immutable. The service account to use with the specified KMS key. We recommend that you use a separate service account and follow KMS best practices. For more information, see [Separation of duties](https://cloud.google.com/kms/docs/separation-of-duties) and `gcloud kms keys add-iam-policy-binding` [`--member`](https://cloud.google.com/sdk/gcloud/reference/kms/keys/add-iam-policy-binding#--member).

func (CustomerEncryptionKeyResponseOutput) ToCustomerEncryptionKeyResponseOutput

func (o CustomerEncryptionKeyResponseOutput) ToCustomerEncryptionKeyResponseOutput() CustomerEncryptionKeyResponseOutput

func (CustomerEncryptionKeyResponseOutput) ToCustomerEncryptionKeyResponseOutputWithContext

func (o CustomerEncryptionKeyResponseOutput) ToCustomerEncryptionKeyResponseOutputWithContext(ctx context.Context) CustomerEncryptionKeyResponseOutput

type Expr

type Expr struct {
	// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description *string `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression *string `pulumi:"expression"`
	// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
	Location *string `pulumi:"location"`
	// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
	Title *string `pulumi:"title"`
}

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

type ExprArgs

type ExprArgs struct {
	// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression pulumi.StringPtrInput `pulumi:"expression"`
	// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
	Location pulumi.StringPtrInput `pulumi:"location"`
	// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
	Title pulumi.StringPtrInput `pulumi:"title"`
}

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

func (ExprArgs) ElementType

func (ExprArgs) ElementType() reflect.Type

func (ExprArgs) ToExprOutput

func (i ExprArgs) ToExprOutput() ExprOutput

func (ExprArgs) ToExprOutputWithContext

func (i ExprArgs) ToExprOutputWithContext(ctx context.Context) ExprOutput

func (ExprArgs) ToExprPtrOutput

func (i ExprArgs) ToExprPtrOutput() ExprPtrOutput

func (ExprArgs) ToExprPtrOutputWithContext

func (i ExprArgs) ToExprPtrOutputWithContext(ctx context.Context) ExprPtrOutput

type ExprInput

type ExprInput interface {
	pulumi.Input

	ToExprOutput() ExprOutput
	ToExprOutputWithContext(context.Context) ExprOutput
}

ExprInput is an input type that accepts ExprArgs and ExprOutput values. You can construct a concrete instance of `ExprInput` via:

ExprArgs{...}

type ExprOutput

type ExprOutput struct{ *pulumi.OutputState }

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

func (ExprOutput) Description

func (o ExprOutput) Description() pulumi.StringPtrOutput

Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (ExprOutput) ElementType

func (ExprOutput) ElementType() reflect.Type

func (ExprOutput) Expression

func (o ExprOutput) Expression() pulumi.StringPtrOutput

Textual representation of an expression in Common Expression Language syntax.

func (ExprOutput) Location

func (o ExprOutput) Location() pulumi.StringPtrOutput

Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

func (ExprOutput) Title

func (o ExprOutput) Title() pulumi.StringPtrOutput

Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

func (ExprOutput) ToExprOutput

func (o ExprOutput) ToExprOutput() ExprOutput

func (ExprOutput) ToExprOutputWithContext

func (o ExprOutput) ToExprOutputWithContext(ctx context.Context) ExprOutput

func (ExprOutput) ToExprPtrOutput

func (o ExprOutput) ToExprPtrOutput() ExprPtrOutput

func (ExprOutput) ToExprPtrOutputWithContext

func (o ExprOutput) ToExprPtrOutputWithContext(ctx context.Context) ExprPtrOutput

type ExprPtrInput

type ExprPtrInput interface {
	pulumi.Input

	ToExprPtrOutput() ExprPtrOutput
	ToExprPtrOutputWithContext(context.Context) ExprPtrOutput
}

ExprPtrInput is an input type that accepts ExprArgs, ExprPtr and ExprPtrOutput values. You can construct a concrete instance of `ExprPtrInput` via:

        ExprArgs{...}

or:

        nil

func ExprPtr

func ExprPtr(v *ExprArgs) ExprPtrInput

type ExprPtrOutput

type ExprPtrOutput struct{ *pulumi.OutputState }

func (ExprPtrOutput) Description

func (o ExprPtrOutput) Description() pulumi.StringPtrOutput

Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (ExprPtrOutput) Elem

func (o ExprPtrOutput) Elem() ExprOutput

func (ExprPtrOutput) ElementType

func (ExprPtrOutput) ElementType() reflect.Type

func (ExprPtrOutput) Expression

func (o ExprPtrOutput) Expression() pulumi.StringPtrOutput

Textual representation of an expression in Common Expression Language syntax.

func (ExprPtrOutput) Location

func (o ExprPtrOutput) Location() pulumi.StringPtrOutput

Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

func (ExprPtrOutput) Title

Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

func (ExprPtrOutput) ToExprPtrOutput

func (o ExprPtrOutput) ToExprPtrOutput() ExprPtrOutput

func (ExprPtrOutput) ToExprPtrOutputWithContext

func (o ExprPtrOutput) ToExprPtrOutputWithContext(ctx context.Context) ExprPtrOutput

type ExprResponse

type ExprResponse struct {
	// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description string `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression string `pulumi:"expression"`
	// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
	Location string `pulumi:"location"`
	// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
	Title string `pulumi:"title"`
}

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

type ExprResponseOutput

type ExprResponseOutput struct{ *pulumi.OutputState }

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

func (ExprResponseOutput) Description

func (o ExprResponseOutput) Description() pulumi.StringOutput

Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (ExprResponseOutput) ElementType

func (ExprResponseOutput) ElementType() reflect.Type

func (ExprResponseOutput) Expression

func (o ExprResponseOutput) Expression() pulumi.StringOutput

Textual representation of an expression in Common Expression Language syntax.

func (ExprResponseOutput) Location

func (o ExprResponseOutput) Location() pulumi.StringOutput

Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

func (ExprResponseOutput) Title

Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

func (ExprResponseOutput) ToExprResponseOutput

func (o ExprResponseOutput) ToExprResponseOutput() ExprResponseOutput

func (ExprResponseOutput) ToExprResponseOutputWithContext

func (o ExprResponseOutput) ToExprResponseOutputWithContext(ctx context.Context) ExprResponseOutput

type GceConfidentialInstanceConfig

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

A set of Compute Engine Confidential VM instance options.

type GceConfidentialInstanceConfigArgs

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

A set of Compute Engine Confidential VM instance options.

func (GceConfidentialInstanceConfigArgs) ElementType

func (GceConfidentialInstanceConfigArgs) ToGceConfidentialInstanceConfigOutput

func (i GceConfidentialInstanceConfigArgs) ToGceConfidentialInstanceConfigOutput() GceConfidentialInstanceConfigOutput

func (GceConfidentialInstanceConfigArgs) ToGceConfidentialInstanceConfigOutputWithContext

func (i GceConfidentialInstanceConfigArgs) ToGceConfidentialInstanceConfigOutputWithContext(ctx context.Context) GceConfidentialInstanceConfigOutput

func (GceConfidentialInstanceConfigArgs) ToGceConfidentialInstanceConfigPtrOutput

func (i GceConfidentialInstanceConfigArgs) ToGceConfidentialInstanceConfigPtrOutput() GceConfidentialInstanceConfigPtrOutput

func (GceConfidentialInstanceConfigArgs) ToGceConfidentialInstanceConfigPtrOutputWithContext

func (i GceConfidentialInstanceConfigArgs) ToGceConfidentialInstanceConfigPtrOutputWithContext(ctx context.Context) GceConfidentialInstanceConfigPtrOutput

type GceConfidentialInstanceConfigInput

type GceConfidentialInstanceConfigInput interface {
	pulumi.Input

	ToGceConfidentialInstanceConfigOutput() GceConfidentialInstanceConfigOutput
	ToGceConfidentialInstanceConfigOutputWithContext(context.Context) GceConfidentialInstanceConfigOutput
}

GceConfidentialInstanceConfigInput is an input type that accepts GceConfidentialInstanceConfigArgs and GceConfidentialInstanceConfigOutput values. You can construct a concrete instance of `GceConfidentialInstanceConfigInput` via:

GceConfidentialInstanceConfigArgs{...}

type GceConfidentialInstanceConfigOutput

type GceConfidentialInstanceConfigOutput struct{ *pulumi.OutputState }

A set of Compute Engine Confidential VM instance options.

func (GceConfidentialInstanceConfigOutput) ElementType

func (GceConfidentialInstanceConfigOutput) EnableConfidentialCompute

func (o GceConfidentialInstanceConfigOutput) EnableConfidentialCompute() pulumi.BoolPtrOutput

Optional. Whether the instance has confidential compute enabled.

func (GceConfidentialInstanceConfigOutput) ToGceConfidentialInstanceConfigOutput

func (o GceConfidentialInstanceConfigOutput) ToGceConfidentialInstanceConfigOutput() GceConfidentialInstanceConfigOutput

func (GceConfidentialInstanceConfigOutput) ToGceConfidentialInstanceConfigOutputWithContext

func (o GceConfidentialInstanceConfigOutput) ToGceConfidentialInstanceConfigOutputWithContext(ctx context.Context) GceConfidentialInstanceConfigOutput

func (GceConfidentialInstanceConfigOutput) ToGceConfidentialInstanceConfigPtrOutput

func (o GceConfidentialInstanceConfigOutput) ToGceConfidentialInstanceConfigPtrOutput() GceConfidentialInstanceConfigPtrOutput

func (GceConfidentialInstanceConfigOutput) ToGceConfidentialInstanceConfigPtrOutputWithContext

func (o GceConfidentialInstanceConfigOutput) ToGceConfidentialInstanceConfigPtrOutputWithContext(ctx context.Context) GceConfidentialInstanceConfigPtrOutput

type GceConfidentialInstanceConfigPtrInput

type GceConfidentialInstanceConfigPtrInput interface {
	pulumi.Input

	ToGceConfidentialInstanceConfigPtrOutput() GceConfidentialInstanceConfigPtrOutput
	ToGceConfidentialInstanceConfigPtrOutputWithContext(context.Context) GceConfidentialInstanceConfigPtrOutput
}

GceConfidentialInstanceConfigPtrInput is an input type that accepts GceConfidentialInstanceConfigArgs, GceConfidentialInstanceConfigPtr and GceConfidentialInstanceConfigPtrOutput values. You can construct a concrete instance of `GceConfidentialInstanceConfigPtrInput` via:

        GceConfidentialInstanceConfigArgs{...}

or:

        nil

type GceConfidentialInstanceConfigPtrOutput

type GceConfidentialInstanceConfigPtrOutput struct{ *pulumi.OutputState }

func (GceConfidentialInstanceConfigPtrOutput) Elem

func (GceConfidentialInstanceConfigPtrOutput) ElementType

func (GceConfidentialInstanceConfigPtrOutput) EnableConfidentialCompute

func (o GceConfidentialInstanceConfigPtrOutput) EnableConfidentialCompute() pulumi.BoolPtrOutput

Optional. Whether the instance has confidential compute enabled.

func (GceConfidentialInstanceConfigPtrOutput) ToGceConfidentialInstanceConfigPtrOutput

func (o GceConfidentialInstanceConfigPtrOutput) ToGceConfidentialInstanceConfigPtrOutput() GceConfidentialInstanceConfigPtrOutput

func (GceConfidentialInstanceConfigPtrOutput) ToGceConfidentialInstanceConfigPtrOutputWithContext

func (o GceConfidentialInstanceConfigPtrOutput) ToGceConfidentialInstanceConfigPtrOutputWithContext(ctx context.Context) GceConfidentialInstanceConfigPtrOutput

type GceConfidentialInstanceConfigResponse

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

A set of Compute Engine Confidential VM instance options.

type GceConfidentialInstanceConfigResponseOutput

type GceConfidentialInstanceConfigResponseOutput struct{ *pulumi.OutputState }

A set of Compute Engine Confidential VM instance options.

func (GceConfidentialInstanceConfigResponseOutput) ElementType

func (GceConfidentialInstanceConfigResponseOutput) EnableConfidentialCompute

func (o GceConfidentialInstanceConfigResponseOutput) EnableConfidentialCompute() pulumi.BoolOutput

Optional. Whether the instance has confidential compute enabled.

func (GceConfidentialInstanceConfigResponseOutput) ToGceConfidentialInstanceConfigResponseOutput

func (o GceConfidentialInstanceConfigResponseOutput) ToGceConfidentialInstanceConfigResponseOutput() GceConfidentialInstanceConfigResponseOutput

func (GceConfidentialInstanceConfigResponseOutput) ToGceConfidentialInstanceConfigResponseOutputWithContext

func (o GceConfidentialInstanceConfigResponseOutput) ToGceConfidentialInstanceConfigResponseOutputWithContext(ctx context.Context) GceConfidentialInstanceConfigResponseOutput

type GceInstance

type GceInstance struct {
	// Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.
	BootDiskSizeGb *int `pulumi:"bootDiskSizeGb"`
	// Optional. A set of Compute Engine Confidential VM instance options.
	ConfidentialInstanceConfig *GceConfidentialInstanceConfig `pulumi:"confidentialInstanceConfig"`
	// Optional. When set to true, disables public IP addresses for VMs. If you disable public IP addresses, you must set up Private Google Access or Cloud NAT on your network. If you use Private Google Access and you use `private.googleapis.com` or `restricted.googleapis.com` for Container Registry and Artifact Registry, make sure that you set up DNS records for domains `*.gcr.io` and `*.pkg.dev`. Defaults to false (VMs have public IP addresses).
	DisablePublicIpAddresses *bool `pulumi:"disablePublicIpAddresses"`
	// Optional. Whether to enable nested virtualization on Cloud Workstations VMs created under this workstation configuration. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series. * **GPUs**: nested virtualization may not be enabled on workstation configurations with accelerators. * **Operating System**: Because [Container-Optimized OS](https://cloud.google.com/compute/docs/images/os-details#container-optimized_os_cos) does not support nested virtualization, when nested virtualization is enabled, the underlying Compute Engine VM instances boot from an [Ubuntu LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts) image.
	EnableNestedVirtualization *bool `pulumi:"enableNestedVirtualization"`
	// Optional. The type of machine to use for VM instances—for example, `"e2-standard-4"`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types).
	MachineType *string `pulumi:"machineType"`
	// Optional. The number of VMs that the system should keep idle so that new workstations can be started quickly for new users. Defaults to `0` in the API.
	PoolSize *int `pulumi:"poolSize"`
	// Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logginglogEntries.create` permission on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.
	ServiceAccount *string `pulumi:"serviceAccount"`
	// Optional. Scopes to grant to the service_account. Various scopes are automatically added based on feature usage. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.
	ServiceAccountScopes []string `pulumi:"serviceAccountScopes"`
	// Optional. A set of Compute Engine Shielded instance options.
	ShieldedInstanceConfig *GceShieldedInstanceConfig `pulumi:"shieldedInstanceConfig"`
	// Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
	Tags []string `pulumi:"tags"`
}

A runtime using a Compute Engine instance.

type GceInstanceArgs

type GceInstanceArgs struct {
	// Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.
	BootDiskSizeGb pulumi.IntPtrInput `pulumi:"bootDiskSizeGb"`
	// Optional. A set of Compute Engine Confidential VM instance options.
	ConfidentialInstanceConfig GceConfidentialInstanceConfigPtrInput `pulumi:"confidentialInstanceConfig"`
	// Optional. When set to true, disables public IP addresses for VMs. If you disable public IP addresses, you must set up Private Google Access or Cloud NAT on your network. If you use Private Google Access and you use `private.googleapis.com` or `restricted.googleapis.com` for Container Registry and Artifact Registry, make sure that you set up DNS records for domains `*.gcr.io` and `*.pkg.dev`. Defaults to false (VMs have public IP addresses).
	DisablePublicIpAddresses pulumi.BoolPtrInput `pulumi:"disablePublicIpAddresses"`
	// Optional. Whether to enable nested virtualization on Cloud Workstations VMs created under this workstation configuration. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series. * **GPUs**: nested virtualization may not be enabled on workstation configurations with accelerators. * **Operating System**: Because [Container-Optimized OS](https://cloud.google.com/compute/docs/images/os-details#container-optimized_os_cos) does not support nested virtualization, when nested virtualization is enabled, the underlying Compute Engine VM instances boot from an [Ubuntu LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts) image.
	EnableNestedVirtualization pulumi.BoolPtrInput `pulumi:"enableNestedVirtualization"`
	// Optional. The type of machine to use for VM instances—for example, `"e2-standard-4"`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types).
	MachineType pulumi.StringPtrInput `pulumi:"machineType"`
	// Optional. The number of VMs that the system should keep idle so that new workstations can be started quickly for new users. Defaults to `0` in the API.
	PoolSize pulumi.IntPtrInput `pulumi:"poolSize"`
	// Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logginglogEntries.create` permission on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.
	ServiceAccount pulumi.StringPtrInput `pulumi:"serviceAccount"`
	// Optional. Scopes to grant to the service_account. Various scopes are automatically added based on feature usage. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.
	ServiceAccountScopes pulumi.StringArrayInput `pulumi:"serviceAccountScopes"`
	// Optional. A set of Compute Engine Shielded instance options.
	ShieldedInstanceConfig GceShieldedInstanceConfigPtrInput `pulumi:"shieldedInstanceConfig"`
	// Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
	Tags pulumi.StringArrayInput `pulumi:"tags"`
}

A runtime using a Compute Engine instance.

func (GceInstanceArgs) ElementType

func (GceInstanceArgs) ElementType() reflect.Type

func (GceInstanceArgs) ToGceInstanceOutput

func (i GceInstanceArgs) ToGceInstanceOutput() GceInstanceOutput

func (GceInstanceArgs) ToGceInstanceOutputWithContext

func (i GceInstanceArgs) ToGceInstanceOutputWithContext(ctx context.Context) GceInstanceOutput

func (GceInstanceArgs) ToGceInstancePtrOutput

func (i GceInstanceArgs) ToGceInstancePtrOutput() GceInstancePtrOutput

func (GceInstanceArgs) ToGceInstancePtrOutputWithContext

func (i GceInstanceArgs) ToGceInstancePtrOutputWithContext(ctx context.Context) GceInstancePtrOutput

type GceInstanceInput

type GceInstanceInput interface {
	pulumi.Input

	ToGceInstanceOutput() GceInstanceOutput
	ToGceInstanceOutputWithContext(context.Context) GceInstanceOutput
}

GceInstanceInput is an input type that accepts GceInstanceArgs and GceInstanceOutput values. You can construct a concrete instance of `GceInstanceInput` via:

GceInstanceArgs{...}

type GceInstanceOutput

type GceInstanceOutput struct{ *pulumi.OutputState }

A runtime using a Compute Engine instance.

func (GceInstanceOutput) BootDiskSizeGb

func (o GceInstanceOutput) BootDiskSizeGb() pulumi.IntPtrOutput

Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.

func (GceInstanceOutput) ConfidentialInstanceConfig

func (o GceInstanceOutput) ConfidentialInstanceConfig() GceConfidentialInstanceConfigPtrOutput

Optional. A set of Compute Engine Confidential VM instance options.

func (GceInstanceOutput) DisablePublicIpAddresses

func (o GceInstanceOutput) DisablePublicIpAddresses() pulumi.BoolPtrOutput

Optional. When set to true, disables public IP addresses for VMs. If you disable public IP addresses, you must set up Private Google Access or Cloud NAT on your network. If you use Private Google Access and you use `private.googleapis.com` or `restricted.googleapis.com` for Container Registry and Artifact Registry, make sure that you set up DNS records for domains `*.gcr.io` and `*.pkg.dev`. Defaults to false (VMs have public IP addresses).

func (GceInstanceOutput) ElementType

func (GceInstanceOutput) ElementType() reflect.Type

func (GceInstanceOutput) EnableNestedVirtualization

func (o GceInstanceOutput) EnableNestedVirtualization() pulumi.BoolPtrOutput

Optional. Whether to enable nested virtualization on Cloud Workstations VMs created under this workstation configuration. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series. * **GPUs**: nested virtualization may not be enabled on workstation configurations with accelerators. * **Operating System**: Because [Container-Optimized OS](https://cloud.google.com/compute/docs/images/os-details#container-optimized_os_cos) does not support nested virtualization, when nested virtualization is enabled, the underlying Compute Engine VM instances boot from an [Ubuntu LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts) image.

func (GceInstanceOutput) MachineType

func (o GceInstanceOutput) MachineType() pulumi.StringPtrOutput

Optional. The type of machine to use for VM instances—for example, `"e2-standard-4"`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types).

func (GceInstanceOutput) PoolSize

func (o GceInstanceOutput) PoolSize() pulumi.IntPtrOutput

Optional. The number of VMs that the system should keep idle so that new workstations can be started quickly for new users. Defaults to `0` in the API.

func (GceInstanceOutput) ServiceAccount

func (o GceInstanceOutput) ServiceAccount() pulumi.StringPtrOutput

Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logginglogEntries.create` permission on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.

func (GceInstanceOutput) ServiceAccountScopes

func (o GceInstanceOutput) ServiceAccountScopes() pulumi.StringArrayOutput

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

func (GceInstanceOutput) ShieldedInstanceConfig

func (o GceInstanceOutput) ShieldedInstanceConfig() GceShieldedInstanceConfigPtrOutput

Optional. A set of Compute Engine Shielded instance options.

func (GceInstanceOutput) Tags

Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).

func (GceInstanceOutput) ToGceInstanceOutput

func (o GceInstanceOutput) ToGceInstanceOutput() GceInstanceOutput

func (GceInstanceOutput) ToGceInstanceOutputWithContext

func (o GceInstanceOutput) ToGceInstanceOutputWithContext(ctx context.Context) GceInstanceOutput

func (GceInstanceOutput) ToGceInstancePtrOutput

func (o GceInstanceOutput) ToGceInstancePtrOutput() GceInstancePtrOutput

func (GceInstanceOutput) ToGceInstancePtrOutputWithContext

func (o GceInstanceOutput) ToGceInstancePtrOutputWithContext(ctx context.Context) GceInstancePtrOutput

type GceInstancePtrInput

type GceInstancePtrInput interface {
	pulumi.Input

	ToGceInstancePtrOutput() GceInstancePtrOutput
	ToGceInstancePtrOutputWithContext(context.Context) GceInstancePtrOutput
}

GceInstancePtrInput is an input type that accepts GceInstanceArgs, GceInstancePtr and GceInstancePtrOutput values. You can construct a concrete instance of `GceInstancePtrInput` via:

        GceInstanceArgs{...}

or:

        nil

func GceInstancePtr

func GceInstancePtr(v *GceInstanceArgs) GceInstancePtrInput

type GceInstancePtrOutput

type GceInstancePtrOutput struct{ *pulumi.OutputState }

func (GceInstancePtrOutput) BootDiskSizeGb

func (o GceInstancePtrOutput) BootDiskSizeGb() pulumi.IntPtrOutput

Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.

func (GceInstancePtrOutput) ConfidentialInstanceConfig

func (o GceInstancePtrOutput) ConfidentialInstanceConfig() GceConfidentialInstanceConfigPtrOutput

Optional. A set of Compute Engine Confidential VM instance options.

func (GceInstancePtrOutput) DisablePublicIpAddresses

func (o GceInstancePtrOutput) DisablePublicIpAddresses() pulumi.BoolPtrOutput

Optional. When set to true, disables public IP addresses for VMs. If you disable public IP addresses, you must set up Private Google Access or Cloud NAT on your network. If you use Private Google Access and you use `private.googleapis.com` or `restricted.googleapis.com` for Container Registry and Artifact Registry, make sure that you set up DNS records for domains `*.gcr.io` and `*.pkg.dev`. Defaults to false (VMs have public IP addresses).

func (GceInstancePtrOutput) Elem

func (GceInstancePtrOutput) ElementType

func (GceInstancePtrOutput) ElementType() reflect.Type

func (GceInstancePtrOutput) EnableNestedVirtualization

func (o GceInstancePtrOutput) EnableNestedVirtualization() pulumi.BoolPtrOutput

Optional. Whether to enable nested virtualization on Cloud Workstations VMs created under this workstation configuration. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series. * **GPUs**: nested virtualization may not be enabled on workstation configurations with accelerators. * **Operating System**: Because [Container-Optimized OS](https://cloud.google.com/compute/docs/images/os-details#container-optimized_os_cos) does not support nested virtualization, when nested virtualization is enabled, the underlying Compute Engine VM instances boot from an [Ubuntu LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts) image.

func (GceInstancePtrOutput) MachineType

Optional. The type of machine to use for VM instances—for example, `"e2-standard-4"`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types).

func (GceInstancePtrOutput) PoolSize

Optional. The number of VMs that the system should keep idle so that new workstations can be started quickly for new users. Defaults to `0` in the API.

func (GceInstancePtrOutput) ServiceAccount

func (o GceInstancePtrOutput) ServiceAccount() pulumi.StringPtrOutput

Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logginglogEntries.create` permission on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.

func (GceInstancePtrOutput) ServiceAccountScopes

func (o GceInstancePtrOutput) ServiceAccountScopes() pulumi.StringArrayOutput

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

func (GceInstancePtrOutput) ShieldedInstanceConfig

func (o GceInstancePtrOutput) ShieldedInstanceConfig() GceShieldedInstanceConfigPtrOutput

Optional. A set of Compute Engine Shielded instance options.

func (GceInstancePtrOutput) Tags

Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).

func (GceInstancePtrOutput) ToGceInstancePtrOutput

func (o GceInstancePtrOutput) ToGceInstancePtrOutput() GceInstancePtrOutput

func (GceInstancePtrOutput) ToGceInstancePtrOutputWithContext

func (o GceInstancePtrOutput) ToGceInstancePtrOutputWithContext(ctx context.Context) GceInstancePtrOutput

type GceInstanceResponse

type GceInstanceResponse struct {
	// Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.
	BootDiskSizeGb int `pulumi:"bootDiskSizeGb"`
	// Optional. A set of Compute Engine Confidential VM instance options.
	ConfidentialInstanceConfig GceConfidentialInstanceConfigResponse `pulumi:"confidentialInstanceConfig"`
	// Optional. When set to true, disables public IP addresses for VMs. If you disable public IP addresses, you must set up Private Google Access or Cloud NAT on your network. If you use Private Google Access and you use `private.googleapis.com` or `restricted.googleapis.com` for Container Registry and Artifact Registry, make sure that you set up DNS records for domains `*.gcr.io` and `*.pkg.dev`. Defaults to false (VMs have public IP addresses).
	DisablePublicIpAddresses bool `pulumi:"disablePublicIpAddresses"`
	// Optional. Whether to enable nested virtualization on Cloud Workstations VMs created under this workstation configuration. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series. * **GPUs**: nested virtualization may not be enabled on workstation configurations with accelerators. * **Operating System**: Because [Container-Optimized OS](https://cloud.google.com/compute/docs/images/os-details#container-optimized_os_cos) does not support nested virtualization, when nested virtualization is enabled, the underlying Compute Engine VM instances boot from an [Ubuntu LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts) image.
	EnableNestedVirtualization bool `pulumi:"enableNestedVirtualization"`
	// Optional. The type of machine to use for VM instances—for example, `"e2-standard-4"`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types).
	MachineType string `pulumi:"machineType"`
	// Optional. The number of VMs that the system should keep idle so that new workstations can be started quickly for new users. Defaults to `0` in the API.
	PoolSize int `pulumi:"poolSize"`
	// Number of instances currently available in the pool for faster workstation startup.
	PooledInstances int `pulumi:"pooledInstances"`
	// Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logginglogEntries.create` permission on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.
	ServiceAccount string `pulumi:"serviceAccount"`
	// Optional. Scopes to grant to the service_account. Various scopes are automatically added based on feature usage. When specified, users of workstations under this configuration must have `iam.serviceAccounts.actAs` on the service account.
	ServiceAccountScopes []string `pulumi:"serviceAccountScopes"`
	// Optional. A set of Compute Engine Shielded instance options.
	ShieldedInstanceConfig GceShieldedInstanceConfigResponse `pulumi:"shieldedInstanceConfig"`
	// Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
	Tags []string `pulumi:"tags"`
}

A runtime using a Compute Engine instance.

type GceInstanceResponseOutput

type GceInstanceResponseOutput struct{ *pulumi.OutputState }

A runtime using a Compute Engine instance.

func (GceInstanceResponseOutput) BootDiskSizeGb

func (o GceInstanceResponseOutput) BootDiskSizeGb() pulumi.IntOutput

Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.

func (GceInstanceResponseOutput) ConfidentialInstanceConfig

Optional. A set of Compute Engine Confidential VM instance options.

func (GceInstanceResponseOutput) DisablePublicIpAddresses

func (o GceInstanceResponseOutput) DisablePublicIpAddresses() pulumi.BoolOutput

Optional. When set to true, disables public IP addresses for VMs. If you disable public IP addresses, you must set up Private Google Access or Cloud NAT on your network. If you use Private Google Access and you use `private.googleapis.com` or `restricted.googleapis.com` for Container Registry and Artifact Registry, make sure that you set up DNS records for domains `*.gcr.io` and `*.pkg.dev`. Defaults to false (VMs have public IP addresses).

func (GceInstanceResponseOutput) ElementType

func (GceInstanceResponseOutput) ElementType() reflect.Type

func (GceInstanceResponseOutput) EnableNestedVirtualization

func (o GceInstanceResponseOutput) EnableNestedVirtualization() pulumi.BoolOutput

Optional. Whether to enable nested virtualization on Cloud Workstations VMs created under this workstation configuration. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series. * **GPUs**: nested virtualization may not be enabled on workstation configurations with accelerators. * **Operating System**: Because [Container-Optimized OS](https://cloud.google.com/compute/docs/images/os-details#container-optimized_os_cos) does not support nested virtualization, when nested virtualization is enabled, the underlying Compute Engine VM instances boot from an [Ubuntu LTS](https://cloud.google.com/compute/docs/images/os-details#ubuntu_lts) image.

func (GceInstanceResponseOutput) MachineType

Optional. The type of machine to use for VM instances—for example, `"e2-standard-4"`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types).

func (GceInstanceResponseOutput) PoolSize

Optional. The number of VMs that the system should keep idle so that new workstations can be started quickly for new users. Defaults to `0` in the API.

func (GceInstanceResponseOutput) PooledInstances

func (o GceInstanceResponseOutput) PooledInstances() pulumi.IntOutput

Number of instances currently available in the pool for faster workstation startup.

func (GceInstanceResponseOutput) ServiceAccount

func (o GceInstanceResponseOutput) ServiceAccount() pulumi.StringOutput

Optional. The email address of the service account for Cloud Workstations VMs created with this configuration. When specified, be sure that the service account has `logginglogEntries.create` permission on the project so it can write logs out to Cloud Logging. If using a custom container image, the service account must have [Artifact Registry Reader](https://cloud.google.com/artifact-registry/docs/access-control#roles) permission to pull the specified image. If you as the administrator want to be able to `ssh` into the underlying VM, you need to set this value to a service account for which you have the `iam.serviceAccounts.actAs` permission. Conversely, if you don't want anyone to be able to `ssh` into the underlying VM, use a service account where no one has that permission. If not set, VMs run with a service account provided by the Cloud Workstations service, and the image must be publicly accessible.

func (GceInstanceResponseOutput) ServiceAccountScopes

func (o GceInstanceResponseOutput) ServiceAccountScopes() pulumi.StringArrayOutput

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

func (GceInstanceResponseOutput) ShieldedInstanceConfig

Optional. A set of Compute Engine Shielded instance options.

func (GceInstanceResponseOutput) Tags

Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).

func (GceInstanceResponseOutput) ToGceInstanceResponseOutput

func (o GceInstanceResponseOutput) ToGceInstanceResponseOutput() GceInstanceResponseOutput

func (GceInstanceResponseOutput) ToGceInstanceResponseOutputWithContext

func (o GceInstanceResponseOutput) ToGceInstanceResponseOutputWithContext(ctx context.Context) GceInstanceResponseOutput

type GceRegionalPersistentDisk

type GceRegionalPersistentDisk struct {
	// Optional. The [type of the persistent disk](https://cloud.google.com/compute/docs/disks#disk-types) for the home directory. Defaults to `"pd-standard"`.
	DiskType *string `pulumi:"diskType"`
	// Optional. Type of file system that the disk should be formatted with. The workstation image must support this file system type. Must be empty if source_snapshot is set. Defaults to `"ext4"`.
	FsType *string `pulumi:"fsType"`
	// Optional. Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.
	ReclaimPolicy *GceRegionalPersistentDiskReclaimPolicy `pulumi:"reclaimPolicy"`
	// Optional. The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if source_snapshot is set. Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`. If less than `200` GB, the disk_type must be `"pd-balanced"` or `"pd-ssd"`.
	SizeGb *int `pulumi:"sizeGb"`
	// Optional. Name of the snapshot to use as the source for the disk. If set, size_gb and fs_type must be empty.
	SourceSnapshot *string `pulumi:"sourceSnapshot"`
}

A PersistentDirectory backed by a Compute Engine regional persistent disk. The persistent_directories field is repeated, but it may contain only one entry. It creates a [persistent disk](https://cloud.google.com/compute/docs/disks/persistent-disks) that mounts to the workstation VM at `/home` when the session starts and detaches when the session ends. If this field is empty, workstations created with this configuration do not have a persistent home directory.

type GceRegionalPersistentDiskArgs

type GceRegionalPersistentDiskArgs struct {
	// Optional. The [type of the persistent disk](https://cloud.google.com/compute/docs/disks#disk-types) for the home directory. Defaults to `"pd-standard"`.
	DiskType pulumi.StringPtrInput `pulumi:"diskType"`
	// Optional. Type of file system that the disk should be formatted with. The workstation image must support this file system type. Must be empty if source_snapshot is set. Defaults to `"ext4"`.
	FsType pulumi.StringPtrInput `pulumi:"fsType"`
	// Optional. Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.
	ReclaimPolicy GceRegionalPersistentDiskReclaimPolicyPtrInput `pulumi:"reclaimPolicy"`
	// Optional. The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if source_snapshot is set. Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`. If less than `200` GB, the disk_type must be `"pd-balanced"` or `"pd-ssd"`.
	SizeGb pulumi.IntPtrInput `pulumi:"sizeGb"`
	// Optional. Name of the snapshot to use as the source for the disk. If set, size_gb and fs_type must be empty.
	SourceSnapshot pulumi.StringPtrInput `pulumi:"sourceSnapshot"`
}

A PersistentDirectory backed by a Compute Engine regional persistent disk. The persistent_directories field is repeated, but it may contain only one entry. It creates a [persistent disk](https://cloud.google.com/compute/docs/disks/persistent-disks) that mounts to the workstation VM at `/home` when the session starts and detaches when the session ends. If this field is empty, workstations created with this configuration do not have a persistent home directory.

func (GceRegionalPersistentDiskArgs) ElementType

func (GceRegionalPersistentDiskArgs) ToGceRegionalPersistentDiskOutput

func (i GceRegionalPersistentDiskArgs) ToGceRegionalPersistentDiskOutput() GceRegionalPersistentDiskOutput

func (GceRegionalPersistentDiskArgs) ToGceRegionalPersistentDiskOutputWithContext

func (i GceRegionalPersistentDiskArgs) ToGceRegionalPersistentDiskOutputWithContext(ctx context.Context) GceRegionalPersistentDiskOutput

func (GceRegionalPersistentDiskArgs) ToGceRegionalPersistentDiskPtrOutput

func (i GceRegionalPersistentDiskArgs) ToGceRegionalPersistentDiskPtrOutput() GceRegionalPersistentDiskPtrOutput

func (GceRegionalPersistentDiskArgs) ToGceRegionalPersistentDiskPtrOutputWithContext

func (i GceRegionalPersistentDiskArgs) ToGceRegionalPersistentDiskPtrOutputWithContext(ctx context.Context) GceRegionalPersistentDiskPtrOutput

type GceRegionalPersistentDiskInput

type GceRegionalPersistentDiskInput interface {
	pulumi.Input

	ToGceRegionalPersistentDiskOutput() GceRegionalPersistentDiskOutput
	ToGceRegionalPersistentDiskOutputWithContext(context.Context) GceRegionalPersistentDiskOutput
}

GceRegionalPersistentDiskInput is an input type that accepts GceRegionalPersistentDiskArgs and GceRegionalPersistentDiskOutput values. You can construct a concrete instance of `GceRegionalPersistentDiskInput` via:

GceRegionalPersistentDiskArgs{...}

type GceRegionalPersistentDiskOutput

type GceRegionalPersistentDiskOutput struct{ *pulumi.OutputState }

A PersistentDirectory backed by a Compute Engine regional persistent disk. The persistent_directories field is repeated, but it may contain only one entry. It creates a [persistent disk](https://cloud.google.com/compute/docs/disks/persistent-disks) that mounts to the workstation VM at `/home` when the session starts and detaches when the session ends. If this field is empty, workstations created with this configuration do not have a persistent home directory.

func (GceRegionalPersistentDiskOutput) DiskType

Optional. The [type of the persistent disk](https://cloud.google.com/compute/docs/disks#disk-types) for the home directory. Defaults to `"pd-standard"`.

func (GceRegionalPersistentDiskOutput) ElementType

func (GceRegionalPersistentDiskOutput) FsType

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

func (GceRegionalPersistentDiskOutput) ReclaimPolicy

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

func (GceRegionalPersistentDiskOutput) SizeGb

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

func (GceRegionalPersistentDiskOutput) SourceSnapshot

Optional. Name of the snapshot to use as the source for the disk. If set, size_gb and fs_type must be empty.

func (GceRegionalPersistentDiskOutput) ToGceRegionalPersistentDiskOutput

func (o GceRegionalPersistentDiskOutput) ToGceRegionalPersistentDiskOutput() GceRegionalPersistentDiskOutput

func (GceRegionalPersistentDiskOutput) ToGceRegionalPersistentDiskOutputWithContext

func (o GceRegionalPersistentDiskOutput) ToGceRegionalPersistentDiskOutputWithContext(ctx context.Context) GceRegionalPersistentDiskOutput

func (GceRegionalPersistentDiskOutput) ToGceRegionalPersistentDiskPtrOutput

func (o GceRegionalPersistentDiskOutput) ToGceRegionalPersistentDiskPtrOutput() GceRegionalPersistentDiskPtrOutput

func (GceRegionalPersistentDiskOutput) ToGceRegionalPersistentDiskPtrOutputWithContext

func (o GceRegionalPersistentDiskOutput) ToGceRegionalPersistentDiskPtrOutputWithContext(ctx context.Context) GceRegionalPersistentDiskPtrOutput

type GceRegionalPersistentDiskPtrInput

type GceRegionalPersistentDiskPtrInput interface {
	pulumi.Input

	ToGceRegionalPersistentDiskPtrOutput() GceRegionalPersistentDiskPtrOutput
	ToGceRegionalPersistentDiskPtrOutputWithContext(context.Context) GceRegionalPersistentDiskPtrOutput
}

GceRegionalPersistentDiskPtrInput is an input type that accepts GceRegionalPersistentDiskArgs, GceRegionalPersistentDiskPtr and GceRegionalPersistentDiskPtrOutput values. You can construct a concrete instance of `GceRegionalPersistentDiskPtrInput` via:

        GceRegionalPersistentDiskArgs{...}

or:

        nil

type GceRegionalPersistentDiskPtrOutput

type GceRegionalPersistentDiskPtrOutput struct{ *pulumi.OutputState }

func (GceRegionalPersistentDiskPtrOutput) DiskType

Optional. The [type of the persistent disk](https://cloud.google.com/compute/docs/disks#disk-types) for the home directory. Defaults to `"pd-standard"`.

func (GceRegionalPersistentDiskPtrOutput) Elem

func (GceRegionalPersistentDiskPtrOutput) ElementType

func (GceRegionalPersistentDiskPtrOutput) FsType

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

func (GceRegionalPersistentDiskPtrOutput) ReclaimPolicy

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

func (GceRegionalPersistentDiskPtrOutput) SizeGb

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

func (GceRegionalPersistentDiskPtrOutput) SourceSnapshot

Optional. Name of the snapshot to use as the source for the disk. If set, size_gb and fs_type must be empty.

func (GceRegionalPersistentDiskPtrOutput) ToGceRegionalPersistentDiskPtrOutput

func (o GceRegionalPersistentDiskPtrOutput) ToGceRegionalPersistentDiskPtrOutput() GceRegionalPersistentDiskPtrOutput

func (GceRegionalPersistentDiskPtrOutput) ToGceRegionalPersistentDiskPtrOutputWithContext

func (o GceRegionalPersistentDiskPtrOutput) ToGceRegionalPersistentDiskPtrOutputWithContext(ctx context.Context) GceRegionalPersistentDiskPtrOutput

type GceRegionalPersistentDiskReclaimPolicy

type GceRegionalPersistentDiskReclaimPolicy string

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

func (GceRegionalPersistentDiskReclaimPolicy) ElementType

func (GceRegionalPersistentDiskReclaimPolicy) ToGceRegionalPersistentDiskReclaimPolicyOutput

func (e GceRegionalPersistentDiskReclaimPolicy) ToGceRegionalPersistentDiskReclaimPolicyOutput() GceRegionalPersistentDiskReclaimPolicyOutput

func (GceRegionalPersistentDiskReclaimPolicy) ToGceRegionalPersistentDiskReclaimPolicyOutputWithContext

func (e GceRegionalPersistentDiskReclaimPolicy) ToGceRegionalPersistentDiskReclaimPolicyOutputWithContext(ctx context.Context) GceRegionalPersistentDiskReclaimPolicyOutput

func (GceRegionalPersistentDiskReclaimPolicy) ToGceRegionalPersistentDiskReclaimPolicyPtrOutput

func (e GceRegionalPersistentDiskReclaimPolicy) ToGceRegionalPersistentDiskReclaimPolicyPtrOutput() GceRegionalPersistentDiskReclaimPolicyPtrOutput

func (GceRegionalPersistentDiskReclaimPolicy) ToGceRegionalPersistentDiskReclaimPolicyPtrOutputWithContext

func (e GceRegionalPersistentDiskReclaimPolicy) ToGceRegionalPersistentDiskReclaimPolicyPtrOutputWithContext(ctx context.Context) GceRegionalPersistentDiskReclaimPolicyPtrOutput

func (GceRegionalPersistentDiskReclaimPolicy) ToStringOutput

func (GceRegionalPersistentDiskReclaimPolicy) ToStringOutputWithContext

func (GceRegionalPersistentDiskReclaimPolicy) ToStringPtrOutput

func (GceRegionalPersistentDiskReclaimPolicy) ToStringPtrOutputWithContext

func (e GceRegionalPersistentDiskReclaimPolicy) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type GceRegionalPersistentDiskReclaimPolicyInput

type GceRegionalPersistentDiskReclaimPolicyInput interface {
	pulumi.Input

	ToGceRegionalPersistentDiskReclaimPolicyOutput() GceRegionalPersistentDiskReclaimPolicyOutput
	ToGceRegionalPersistentDiskReclaimPolicyOutputWithContext(context.Context) GceRegionalPersistentDiskReclaimPolicyOutput
}

GceRegionalPersistentDiskReclaimPolicyInput is an input type that accepts GceRegionalPersistentDiskReclaimPolicyArgs and GceRegionalPersistentDiskReclaimPolicyOutput values. You can construct a concrete instance of `GceRegionalPersistentDiskReclaimPolicyInput` via:

GceRegionalPersistentDiskReclaimPolicyArgs{...}

type GceRegionalPersistentDiskReclaimPolicyOutput

type GceRegionalPersistentDiskReclaimPolicyOutput struct{ *pulumi.OutputState }

func (GceRegionalPersistentDiskReclaimPolicyOutput) ElementType

func (GceRegionalPersistentDiskReclaimPolicyOutput) ToGceRegionalPersistentDiskReclaimPolicyOutput

func (o GceRegionalPersistentDiskReclaimPolicyOutput) ToGceRegionalPersistentDiskReclaimPolicyOutput() GceRegionalPersistentDiskReclaimPolicyOutput

func (GceRegionalPersistentDiskReclaimPolicyOutput) ToGceRegionalPersistentDiskReclaimPolicyOutputWithContext

func (o GceRegionalPersistentDiskReclaimPolicyOutput) ToGceRegionalPersistentDiskReclaimPolicyOutputWithContext(ctx context.Context) GceRegionalPersistentDiskReclaimPolicyOutput

func (GceRegionalPersistentDiskReclaimPolicyOutput) ToGceRegionalPersistentDiskReclaimPolicyPtrOutput

func (o GceRegionalPersistentDiskReclaimPolicyOutput) ToGceRegionalPersistentDiskReclaimPolicyPtrOutput() GceRegionalPersistentDiskReclaimPolicyPtrOutput

func (GceRegionalPersistentDiskReclaimPolicyOutput) ToGceRegionalPersistentDiskReclaimPolicyPtrOutputWithContext

func (o GceRegionalPersistentDiskReclaimPolicyOutput) ToGceRegionalPersistentDiskReclaimPolicyPtrOutputWithContext(ctx context.Context) GceRegionalPersistentDiskReclaimPolicyPtrOutput

func (GceRegionalPersistentDiskReclaimPolicyOutput) ToStringOutput

func (GceRegionalPersistentDiskReclaimPolicyOutput) ToStringOutputWithContext

func (GceRegionalPersistentDiskReclaimPolicyOutput) ToStringPtrOutput

func (GceRegionalPersistentDiskReclaimPolicyOutput) ToStringPtrOutputWithContext

type GceRegionalPersistentDiskReclaimPolicyPtrInput

type GceRegionalPersistentDiskReclaimPolicyPtrInput interface {
	pulumi.Input

	ToGceRegionalPersistentDiskReclaimPolicyPtrOutput() GceRegionalPersistentDiskReclaimPolicyPtrOutput
	ToGceRegionalPersistentDiskReclaimPolicyPtrOutputWithContext(context.Context) GceRegionalPersistentDiskReclaimPolicyPtrOutput
}

type GceRegionalPersistentDiskReclaimPolicyPtrOutput

type GceRegionalPersistentDiskReclaimPolicyPtrOutput struct{ *pulumi.OutputState }

func (GceRegionalPersistentDiskReclaimPolicyPtrOutput) Elem

func (GceRegionalPersistentDiskReclaimPolicyPtrOutput) ElementType

func (GceRegionalPersistentDiskReclaimPolicyPtrOutput) ToGceRegionalPersistentDiskReclaimPolicyPtrOutput

func (o GceRegionalPersistentDiskReclaimPolicyPtrOutput) ToGceRegionalPersistentDiskReclaimPolicyPtrOutput() GceRegionalPersistentDiskReclaimPolicyPtrOutput

func (GceRegionalPersistentDiskReclaimPolicyPtrOutput) ToGceRegionalPersistentDiskReclaimPolicyPtrOutputWithContext

func (o GceRegionalPersistentDiskReclaimPolicyPtrOutput) ToGceRegionalPersistentDiskReclaimPolicyPtrOutputWithContext(ctx context.Context) GceRegionalPersistentDiskReclaimPolicyPtrOutput

func (GceRegionalPersistentDiskReclaimPolicyPtrOutput) ToStringPtrOutput

func (GceRegionalPersistentDiskReclaimPolicyPtrOutput) ToStringPtrOutputWithContext

type GceRegionalPersistentDiskResponse

type GceRegionalPersistentDiskResponse struct {
	// Optional. The [type of the persistent disk](https://cloud.google.com/compute/docs/disks#disk-types) for the home directory. Defaults to `"pd-standard"`.
	DiskType string `pulumi:"diskType"`
	// Optional. Type of file system that the disk should be formatted with. The workstation image must support this file system type. Must be empty if source_snapshot is set. Defaults to `"ext4"`.
	FsType string `pulumi:"fsType"`
	// Optional. Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.
	ReclaimPolicy string `pulumi:"reclaimPolicy"`
	// Optional. The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if source_snapshot is set. Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`. If less than `200` GB, the disk_type must be `"pd-balanced"` or `"pd-ssd"`.
	SizeGb int `pulumi:"sizeGb"`
	// Optional. Name of the snapshot to use as the source for the disk. If set, size_gb and fs_type must be empty.
	SourceSnapshot string `pulumi:"sourceSnapshot"`
}

A PersistentDirectory backed by a Compute Engine regional persistent disk. The persistent_directories field is repeated, but it may contain only one entry. It creates a [persistent disk](https://cloud.google.com/compute/docs/disks/persistent-disks) that mounts to the workstation VM at `/home` when the session starts and detaches when the session ends. If this field is empty, workstations created with this configuration do not have a persistent home directory.

type GceRegionalPersistentDiskResponseOutput

type GceRegionalPersistentDiskResponseOutput struct{ *pulumi.OutputState }

A PersistentDirectory backed by a Compute Engine regional persistent disk. The persistent_directories field is repeated, but it may contain only one entry. It creates a [persistent disk](https://cloud.google.com/compute/docs/disks/persistent-disks) that mounts to the workstation VM at `/home` when the session starts and detaches when the session ends. If this field is empty, workstations created with this configuration do not have a persistent home directory.

func (GceRegionalPersistentDiskResponseOutput) DiskType

Optional. The [type of the persistent disk](https://cloud.google.com/compute/docs/disks#disk-types) for the home directory. Defaults to `"pd-standard"`.

func (GceRegionalPersistentDiskResponseOutput) ElementType

func (GceRegionalPersistentDiskResponseOutput) FsType

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

func (GceRegionalPersistentDiskResponseOutput) ReclaimPolicy

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

func (GceRegionalPersistentDiskResponseOutput) SizeGb

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

func (GceRegionalPersistentDiskResponseOutput) SourceSnapshot

Optional. Name of the snapshot to use as the source for the disk. If set, size_gb and fs_type must be empty.

func (GceRegionalPersistentDiskResponseOutput) ToGceRegionalPersistentDiskResponseOutput

func (o GceRegionalPersistentDiskResponseOutput) ToGceRegionalPersistentDiskResponseOutput() GceRegionalPersistentDiskResponseOutput

func (GceRegionalPersistentDiskResponseOutput) ToGceRegionalPersistentDiskResponseOutputWithContext

func (o GceRegionalPersistentDiskResponseOutput) ToGceRegionalPersistentDiskResponseOutputWithContext(ctx context.Context) GceRegionalPersistentDiskResponseOutput

type GceShieldedInstanceConfig

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

A set of Compute Engine Shielded instance options.

type GceShieldedInstanceConfigArgs

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

A set of Compute Engine Shielded instance options.

func (GceShieldedInstanceConfigArgs) ElementType

func (GceShieldedInstanceConfigArgs) ToGceShieldedInstanceConfigOutput

func (i GceShieldedInstanceConfigArgs) ToGceShieldedInstanceConfigOutput() GceShieldedInstanceConfigOutput

func (GceShieldedInstanceConfigArgs) ToGceShieldedInstanceConfigOutputWithContext

func (i GceShieldedInstanceConfigArgs) ToGceShieldedInstanceConfigOutputWithContext(ctx context.Context) GceShieldedInstanceConfigOutput

func (GceShieldedInstanceConfigArgs) ToGceShieldedInstanceConfigPtrOutput

func (i GceShieldedInstanceConfigArgs) ToGceShieldedInstanceConfigPtrOutput() GceShieldedInstanceConfigPtrOutput

func (GceShieldedInstanceConfigArgs) ToGceShieldedInstanceConfigPtrOutputWithContext

func (i GceShieldedInstanceConfigArgs) ToGceShieldedInstanceConfigPtrOutputWithContext(ctx context.Context) GceShieldedInstanceConfigPtrOutput

type GceShieldedInstanceConfigInput

type GceShieldedInstanceConfigInput interface {
	pulumi.Input

	ToGceShieldedInstanceConfigOutput() GceShieldedInstanceConfigOutput
	ToGceShieldedInstanceConfigOutputWithContext(context.Context) GceShieldedInstanceConfigOutput
}

GceShieldedInstanceConfigInput is an input type that accepts GceShieldedInstanceConfigArgs and GceShieldedInstanceConfigOutput values. You can construct a concrete instance of `GceShieldedInstanceConfigInput` via:

GceShieldedInstanceConfigArgs{...}

type GceShieldedInstanceConfigOutput

type GceShieldedInstanceConfigOutput struct{ *pulumi.OutputState }

A set of Compute Engine Shielded instance options.

func (GceShieldedInstanceConfigOutput) ElementType

func (GceShieldedInstanceConfigOutput) EnableIntegrityMonitoring

func (o GceShieldedInstanceConfigOutput) EnableIntegrityMonitoring() pulumi.BoolPtrOutput

Optional. Whether the instance has integrity monitoring enabled.

func (GceShieldedInstanceConfigOutput) EnableSecureBoot

Optional. Whether the instance has Secure Boot enabled.

func (GceShieldedInstanceConfigOutput) EnableVtpm

Optional. Whether the instance has the vTPM enabled.

func (GceShieldedInstanceConfigOutput) ToGceShieldedInstanceConfigOutput

func (o GceShieldedInstanceConfigOutput) ToGceShieldedInstanceConfigOutput() GceShieldedInstanceConfigOutput

func (GceShieldedInstanceConfigOutput) ToGceShieldedInstanceConfigOutputWithContext

func (o GceShieldedInstanceConfigOutput) ToGceShieldedInstanceConfigOutputWithContext(ctx context.Context) GceShieldedInstanceConfigOutput

func (GceShieldedInstanceConfigOutput) ToGceShieldedInstanceConfigPtrOutput

func (o GceShieldedInstanceConfigOutput) ToGceShieldedInstanceConfigPtrOutput() GceShieldedInstanceConfigPtrOutput

func (GceShieldedInstanceConfigOutput) ToGceShieldedInstanceConfigPtrOutputWithContext

func (o GceShieldedInstanceConfigOutput) ToGceShieldedInstanceConfigPtrOutputWithContext(ctx context.Context) GceShieldedInstanceConfigPtrOutput

type GceShieldedInstanceConfigPtrInput

type GceShieldedInstanceConfigPtrInput interface {
	pulumi.Input

	ToGceShieldedInstanceConfigPtrOutput() GceShieldedInstanceConfigPtrOutput
	ToGceShieldedInstanceConfigPtrOutputWithContext(context.Context) GceShieldedInstanceConfigPtrOutput
}

GceShieldedInstanceConfigPtrInput is an input type that accepts GceShieldedInstanceConfigArgs, GceShieldedInstanceConfigPtr and GceShieldedInstanceConfigPtrOutput values. You can construct a concrete instance of `GceShieldedInstanceConfigPtrInput` via:

        GceShieldedInstanceConfigArgs{...}

or:

        nil

type GceShieldedInstanceConfigPtrOutput

type GceShieldedInstanceConfigPtrOutput struct{ *pulumi.OutputState }

func (GceShieldedInstanceConfigPtrOutput) Elem

func (GceShieldedInstanceConfigPtrOutput) ElementType

func (GceShieldedInstanceConfigPtrOutput) EnableIntegrityMonitoring

func (o GceShieldedInstanceConfigPtrOutput) EnableIntegrityMonitoring() pulumi.BoolPtrOutput

Optional. Whether the instance has integrity monitoring enabled.

func (GceShieldedInstanceConfigPtrOutput) EnableSecureBoot

Optional. Whether the instance has Secure Boot enabled.

func (GceShieldedInstanceConfigPtrOutput) EnableVtpm

Optional. Whether the instance has the vTPM enabled.

func (GceShieldedInstanceConfigPtrOutput) ToGceShieldedInstanceConfigPtrOutput

func (o GceShieldedInstanceConfigPtrOutput) ToGceShieldedInstanceConfigPtrOutput() GceShieldedInstanceConfigPtrOutput

func (GceShieldedInstanceConfigPtrOutput) ToGceShieldedInstanceConfigPtrOutputWithContext

func (o GceShieldedInstanceConfigPtrOutput) ToGceShieldedInstanceConfigPtrOutputWithContext(ctx context.Context) GceShieldedInstanceConfigPtrOutput

type GceShieldedInstanceConfigResponse

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

A set of Compute Engine Shielded instance options.

type GceShieldedInstanceConfigResponseOutput

type GceShieldedInstanceConfigResponseOutput struct{ *pulumi.OutputState }

A set of Compute Engine Shielded instance options.

func (GceShieldedInstanceConfigResponseOutput) ElementType

func (GceShieldedInstanceConfigResponseOutput) EnableIntegrityMonitoring

func (o GceShieldedInstanceConfigResponseOutput) EnableIntegrityMonitoring() pulumi.BoolOutput

Optional. Whether the instance has integrity monitoring enabled.

func (GceShieldedInstanceConfigResponseOutput) EnableSecureBoot

Optional. Whether the instance has Secure Boot enabled.

func (GceShieldedInstanceConfigResponseOutput) EnableVtpm

Optional. Whether the instance has the vTPM enabled.

func (GceShieldedInstanceConfigResponseOutput) ToGceShieldedInstanceConfigResponseOutput

func (o GceShieldedInstanceConfigResponseOutput) ToGceShieldedInstanceConfigResponseOutput() GceShieldedInstanceConfigResponseOutput

func (GceShieldedInstanceConfigResponseOutput) ToGceShieldedInstanceConfigResponseOutputWithContext

func (o GceShieldedInstanceConfigResponseOutput) ToGceShieldedInstanceConfigResponseOutputWithContext(ctx context.Context) GceShieldedInstanceConfigResponseOutput

type Host

type Host struct {
	// Specifies a Compute Engine instance as the host.
	GceInstance *GceInstance `pulumi:"gceInstance"`
}

Runtime host for a workstation.

type HostArgs

type HostArgs struct {
	// Specifies a Compute Engine instance as the host.
	GceInstance GceInstancePtrInput `pulumi:"gceInstance"`
}

Runtime host for a workstation.

func (HostArgs) ElementType

func (HostArgs) ElementType() reflect.Type

func (HostArgs) ToHostOutput

func (i HostArgs) ToHostOutput() HostOutput

func (HostArgs) ToHostOutputWithContext

func (i HostArgs) ToHostOutputWithContext(ctx context.Context) HostOutput

func (HostArgs) ToHostPtrOutput

func (i HostArgs) ToHostPtrOutput() HostPtrOutput

func (HostArgs) ToHostPtrOutputWithContext

func (i HostArgs) ToHostPtrOutputWithContext(ctx context.Context) HostPtrOutput

type HostInput

type HostInput interface {
	pulumi.Input

	ToHostOutput() HostOutput
	ToHostOutputWithContext(context.Context) HostOutput
}

HostInput is an input type that accepts HostArgs and HostOutput values. You can construct a concrete instance of `HostInput` via:

HostArgs{...}

type HostOutput

type HostOutput struct{ *pulumi.OutputState }

Runtime host for a workstation.

func (HostOutput) ElementType

func (HostOutput) ElementType() reflect.Type

func (HostOutput) GceInstance

func (o HostOutput) GceInstance() GceInstancePtrOutput

Specifies a Compute Engine instance as the host.

func (HostOutput) ToHostOutput

func (o HostOutput) ToHostOutput() HostOutput

func (HostOutput) ToHostOutputWithContext

func (o HostOutput) ToHostOutputWithContext(ctx context.Context) HostOutput

func (HostOutput) ToHostPtrOutput

func (o HostOutput) ToHostPtrOutput() HostPtrOutput

func (HostOutput) ToHostPtrOutputWithContext

func (o HostOutput) ToHostPtrOutputWithContext(ctx context.Context) HostPtrOutput

type HostPtrInput

type HostPtrInput interface {
	pulumi.Input

	ToHostPtrOutput() HostPtrOutput
	ToHostPtrOutputWithContext(context.Context) HostPtrOutput
}

HostPtrInput is an input type that accepts HostArgs, HostPtr and HostPtrOutput values. You can construct a concrete instance of `HostPtrInput` via:

        HostArgs{...}

or:

        nil

func HostPtr

func HostPtr(v *HostArgs) HostPtrInput

type HostPtrOutput

type HostPtrOutput struct{ *pulumi.OutputState }

func (HostPtrOutput) Elem

func (o HostPtrOutput) Elem() HostOutput

func (HostPtrOutput) ElementType

func (HostPtrOutput) ElementType() reflect.Type

func (HostPtrOutput) GceInstance

func (o HostPtrOutput) GceInstance() GceInstancePtrOutput

Specifies a Compute Engine instance as the host.

func (HostPtrOutput) ToHostPtrOutput

func (o HostPtrOutput) ToHostPtrOutput() HostPtrOutput

func (HostPtrOutput) ToHostPtrOutputWithContext

func (o HostPtrOutput) ToHostPtrOutputWithContext(ctx context.Context) HostPtrOutput

type HostResponse

type HostResponse struct {
	// Specifies a Compute Engine instance as the host.
	GceInstance GceInstanceResponse `pulumi:"gceInstance"`
}

Runtime host for a workstation.

type HostResponseOutput

type HostResponseOutput struct{ *pulumi.OutputState }

Runtime host for a workstation.

func (HostResponseOutput) ElementType

func (HostResponseOutput) ElementType() reflect.Type

func (HostResponseOutput) GceInstance

Specifies a Compute Engine instance as the host.

func (HostResponseOutput) ToHostResponseOutput

func (o HostResponseOutput) ToHostResponseOutput() HostResponseOutput

func (HostResponseOutput) ToHostResponseOutputWithContext

func (o HostResponseOutput) ToHostResponseOutputWithContext(ctx context.Context) HostResponseOutput

type LookupWorkstationArgs

type LookupWorkstationArgs struct {
	Location             string  `pulumi:"location"`
	Project              *string `pulumi:"project"`
	WorkstationClusterId string  `pulumi:"workstationClusterId"`
	WorkstationConfigId  string  `pulumi:"workstationConfigId"`
	WorkstationId        string  `pulumi:"workstationId"`
}

type LookupWorkstationClusterArgs

type LookupWorkstationClusterArgs struct {
	Location             string  `pulumi:"location"`
	Project              *string `pulumi:"project"`
	WorkstationClusterId string  `pulumi:"workstationClusterId"`
}

type LookupWorkstationClusterOutputArgs

type LookupWorkstationClusterOutputArgs struct {
	Location             pulumi.StringInput    `pulumi:"location"`
	Project              pulumi.StringPtrInput `pulumi:"project"`
	WorkstationClusterId pulumi.StringInput    `pulumi:"workstationClusterId"`
}

func (LookupWorkstationClusterOutputArgs) ElementType

type LookupWorkstationClusterResult

type LookupWorkstationClusterResult struct {
	// Optional. Client-specified annotations.
	Annotations map[string]string `pulumi:"annotations"`
	// Status conditions describing the workstation cluster's current state.
	Conditions []StatusResponse `pulumi:"conditions"`
	// The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
	ControlPlaneIp string `pulumi:"controlPlaneIp"`
	// Time when this workstation cluster was created.
	CreateTime string `pulumi:"createTime"`
	// Whether this workstation cluster is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in conditions.
	Degraded bool `pulumi:"degraded"`
	// Time when this workstation cluster was soft-deleted.
	DeleteTime string `pulumi:"deleteTime"`
	// Optional. Human-readable name for this workstation cluster.
	DisplayName string `pulumi:"displayName"`
	// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
	Etag string `pulumi:"etag"`
	// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources.
	Labels map[string]string `pulumi:"labels"`
	// Identifier. Full name of this workstation cluster.
	Name string `pulumi:"name"`
	// Immutable. Name of the Compute Engine network in which instances associated with this workstation cluster will be created.
	Network string `pulumi:"network"`
	// Optional. Configuration for private workstation cluster.
	PrivateClusterConfig PrivateClusterConfigResponse `pulumi:"privateClusterConfig"`
	// Indicates whether this workstation cluster is currently being updated to match its intended state.
	Reconciling bool `pulumi:"reconciling"`
	// Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.
	Subnetwork string `pulumi:"subnetwork"`
	// A system-assigned unique identifier for this workstation cluster.
	Uid string `pulumi:"uid"`
	// Time when this workstation cluster was most recently updated.
	UpdateTime string `pulumi:"updateTime"`
}

func LookupWorkstationCluster

func LookupWorkstationCluster(ctx *pulumi.Context, args *LookupWorkstationClusterArgs, opts ...pulumi.InvokeOption) (*LookupWorkstationClusterResult, error)

Returns the requested workstation cluster.

type LookupWorkstationClusterResultOutput

type LookupWorkstationClusterResultOutput struct{ *pulumi.OutputState }

func (LookupWorkstationClusterResultOutput) Annotations

Optional. Client-specified annotations.

func (LookupWorkstationClusterResultOutput) Conditions

Status conditions describing the workstation cluster's current state.

func (LookupWorkstationClusterResultOutput) ControlPlaneIp

The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.

func (LookupWorkstationClusterResultOutput) CreateTime

Time when this workstation cluster was created.

func (LookupWorkstationClusterResultOutput) Degraded

Whether this workstation cluster is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in conditions.

func (LookupWorkstationClusterResultOutput) DeleteTime

Time when this workstation cluster was soft-deleted.

func (LookupWorkstationClusterResultOutput) DisplayName

Optional. Human-readable name for this workstation cluster.

func (LookupWorkstationClusterResultOutput) ElementType

func (LookupWorkstationClusterResultOutput) Etag

Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.

func (LookupWorkstationClusterResultOutput) Labels

Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources.

func (LookupWorkstationClusterResultOutput) Name

Identifier. Full name of this workstation cluster.

func (LookupWorkstationClusterResultOutput) Network

Immutable. Name of the Compute Engine network in which instances associated with this workstation cluster will be created.

func (LookupWorkstationClusterResultOutput) PrivateClusterConfig

Optional. Configuration for private workstation cluster.

func (LookupWorkstationClusterResultOutput) Reconciling

Indicates whether this workstation cluster is currently being updated to match its intended state.

func (LookupWorkstationClusterResultOutput) Subnetwork

Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.

func (LookupWorkstationClusterResultOutput) ToLookupWorkstationClusterResultOutput

func (o LookupWorkstationClusterResultOutput) ToLookupWorkstationClusterResultOutput() LookupWorkstationClusterResultOutput

func (LookupWorkstationClusterResultOutput) ToLookupWorkstationClusterResultOutputWithContext

func (o LookupWorkstationClusterResultOutput) ToLookupWorkstationClusterResultOutputWithContext(ctx context.Context) LookupWorkstationClusterResultOutput

func (LookupWorkstationClusterResultOutput) Uid

A system-assigned unique identifier for this workstation cluster.

func (LookupWorkstationClusterResultOutput) UpdateTime

Time when this workstation cluster was most recently updated.

type LookupWorkstationClusterWorkstationConfigIamPolicyArgs

type LookupWorkstationClusterWorkstationConfigIamPolicyArgs struct {
	Location                      string  `pulumi:"location"`
	OptionsRequestedPolicyVersion *int    `pulumi:"optionsRequestedPolicyVersion"`
	Project                       *string `pulumi:"project"`
	WorkstationClusterId          string  `pulumi:"workstationClusterId"`
	WorkstationConfigId           string  `pulumi:"workstationConfigId"`
}

type LookupWorkstationClusterWorkstationConfigIamPolicyOutputArgs

type LookupWorkstationClusterWorkstationConfigIamPolicyOutputArgs struct {
	Location                      pulumi.StringInput    `pulumi:"location"`
	OptionsRequestedPolicyVersion pulumi.IntPtrInput    `pulumi:"optionsRequestedPolicyVersion"`
	Project                       pulumi.StringPtrInput `pulumi:"project"`
	WorkstationClusterId          pulumi.StringInput    `pulumi:"workstationClusterId"`
	WorkstationConfigId           pulumi.StringInput    `pulumi:"workstationConfigId"`
}

func (LookupWorkstationClusterWorkstationConfigIamPolicyOutputArgs) ElementType

type LookupWorkstationClusterWorkstationConfigIamPolicyResult

type LookupWorkstationClusterWorkstationConfigIamPolicyResult struct {
	// Specifies cloud audit logging configuration for this policy.
	AuditConfigs []AuditConfigResponse `pulumi:"auditConfigs"`
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings []BindingResponse `pulumi:"bindings"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag string `pulumi:"etag"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version int `pulumi:"version"`
}

func LookupWorkstationClusterWorkstationConfigIamPolicy

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

type LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput

type LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput struct{ *pulumi.OutputState }

func (LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput) AuditConfigs

Specifies cloud audit logging configuration for this policy.

func (LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput) Bindings

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput) ElementType

func (LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput) Etag

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationClusterWorkstationConfigIamPolicyResultOutput

func (LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationClusterWorkstationConfigIamPolicyResultOutputWithContext

func (o LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput) ToLookupWorkstationClusterWorkstationConfigIamPolicyResultOutputWithContext(ctx context.Context) LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput

func (LookupWorkstationClusterWorkstationConfigIamPolicyResultOutput) Version

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

type LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyArgs

type LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyArgs struct {
	Location                      string  `pulumi:"location"`
	OptionsRequestedPolicyVersion *int    `pulumi:"optionsRequestedPolicyVersion"`
	Project                       *string `pulumi:"project"`
	WorkstationClusterId          string  `pulumi:"workstationClusterId"`
	WorkstationConfigId           string  `pulumi:"workstationConfigId"`
	WorkstationId                 string  `pulumi:"workstationId"`
}

type LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyOutputArgs

type LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyOutputArgs struct {
	Location                      pulumi.StringInput    `pulumi:"location"`
	OptionsRequestedPolicyVersion pulumi.IntPtrInput    `pulumi:"optionsRequestedPolicyVersion"`
	Project                       pulumi.StringPtrInput `pulumi:"project"`
	WorkstationClusterId          pulumi.StringInput    `pulumi:"workstationClusterId"`
	WorkstationConfigId           pulumi.StringInput    `pulumi:"workstationConfigId"`
	WorkstationId                 pulumi.StringInput    `pulumi:"workstationId"`
}

func (LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyOutputArgs) ElementType

type LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResult

type LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResult struct {
	// Specifies cloud audit logging configuration for this policy.
	AuditConfigs []AuditConfigResponse `pulumi:"auditConfigs"`
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings []BindingResponse `pulumi:"bindings"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag string `pulumi:"etag"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version int `pulumi:"version"`
}

func LookupWorkstationClusterWorkstationConfigWorkstationIamPolicy

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

type LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput

type LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput struct{ *pulumi.OutputState }

func (LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput) AuditConfigs

Specifies cloud audit logging configuration for this policy.

func (LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput) Bindings

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput) ElementType

func (LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput) Etag

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput) ToLookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput

func (LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput) ToLookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutputWithContext

func (LookupWorkstationClusterWorkstationConfigWorkstationIamPolicyResultOutput) Version

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

type LookupWorkstationConfigArgs

type LookupWorkstationConfigArgs struct {
	Location             string  `pulumi:"location"`
	Project              *string `pulumi:"project"`
	WorkstationClusterId string  `pulumi:"workstationClusterId"`
	WorkstationConfigId  string  `pulumi:"workstationConfigId"`
}

type LookupWorkstationConfigOutputArgs

type LookupWorkstationConfigOutputArgs struct {
	Location             pulumi.StringInput    `pulumi:"location"`
	Project              pulumi.StringPtrInput `pulumi:"project"`
	WorkstationClusterId pulumi.StringInput    `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringInput    `pulumi:"workstationConfigId"`
}

func (LookupWorkstationConfigOutputArgs) ElementType

type LookupWorkstationConfigResult

type LookupWorkstationConfigResult struct {
	// Optional. Client-specified annotations.
	Annotations map[string]string `pulumi:"annotations"`
	// Status conditions describing the current resource state.
	Conditions []StatusResponse `pulumi:"conditions"`
	// Optional. Container that runs upon startup for each workstation using this workstation configuration.
	Container ContainerResponse `pulumi:"container"`
	// Time when this workstation configuration was created.
	CreateTime string `pulumi:"createTime"`
	// Whether this resource is degraded, in which case it may require user action to restore full functionality. See also the conditions field.
	Degraded bool `pulumi:"degraded"`
	// Time when this workstation configuration was soft-deleted.
	DeleteTime string `pulumi:"deleteTime"`
	// Optional. Human-readable name for this workstation configuration.
	DisplayName string `pulumi:"displayName"`
	// Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). 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 might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created.
	EncryptionKey CustomerEncryptionKeyResponse `pulumi:"encryptionKey"`
	// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
	Etag string `pulumi:"etag"`
	// Optional. Runtime host for the workstation.
	Host HostResponse `pulumi:"host"`
	// Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).
	IdleTimeout string `pulumi:"idleTimeout"`
	// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
	Labels map[string]string `pulumi:"labels"`
	// Identifier. Full name of this workstation configuration.
	Name string `pulumi:"name"`
	// Optional. Directories to persist across workstation sessions.
	PersistentDirectories []PersistentDirectoryResponse `pulumi:"persistentDirectories"`
	// Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.
	ReadinessChecks []ReadinessCheckResponse `pulumi:"readinessChecks"`
	// Indicates whether this workstation configuration is currently being updated to match its intended state.
	Reconciling bool `pulumi:"reconciling"`
	// Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
	ReplicaZones []string `pulumi:"replicaZones"`
	// Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.
	RunningTimeout string `pulumi:"runningTimeout"`
	// A system-assigned unique identifier for this workstation configuration.
	Uid string `pulumi:"uid"`
	// Time when this workstation configuration was most recently updated.
	UpdateTime string `pulumi:"updateTime"`
}

func LookupWorkstationConfig

func LookupWorkstationConfig(ctx *pulumi.Context, args *LookupWorkstationConfigArgs, opts ...pulumi.InvokeOption) (*LookupWorkstationConfigResult, error)

Returns the requested workstation configuration.

type LookupWorkstationConfigResultOutput

type LookupWorkstationConfigResultOutput struct{ *pulumi.OutputState }

func (LookupWorkstationConfigResultOutput) Annotations

Optional. Client-specified annotations.

func (LookupWorkstationConfigResultOutput) Conditions

Status conditions describing the current resource state.

func (LookupWorkstationConfigResultOutput) Container

Optional. Container that runs upon startup for each workstation using this workstation configuration.

func (LookupWorkstationConfigResultOutput) CreateTime

Time when this workstation configuration was created.

func (LookupWorkstationConfigResultOutput) Degraded

Whether this resource is degraded, in which case it may require user action to restore full functionality. See also the conditions field.

func (LookupWorkstationConfigResultOutput) DeleteTime

Time when this workstation configuration was soft-deleted.

func (LookupWorkstationConfigResultOutput) DisplayName

Optional. Human-readable name for this workstation configuration.

func (LookupWorkstationConfigResultOutput) ElementType

func (LookupWorkstationConfigResultOutput) EncryptionKey

Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). 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 might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created.

func (LookupWorkstationConfigResultOutput) Etag

Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.

func (LookupWorkstationConfigResultOutput) Host

Optional. Runtime host for the workstation.

func (LookupWorkstationConfigResultOutput) IdleTimeout

Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).

func (LookupWorkstationConfigResultOutput) Labels

Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.

func (LookupWorkstationConfigResultOutput) Name

Identifier. Full name of this workstation configuration.

func (LookupWorkstationConfigResultOutput) PersistentDirectories

Optional. Directories to persist across workstation sessions.

func (LookupWorkstationConfigResultOutput) ReadinessChecks

Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.

func (LookupWorkstationConfigResultOutput) Reconciling

Indicates whether this workstation configuration is currently being updated to match its intended state.

func (LookupWorkstationConfigResultOutput) ReplicaZones

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

func (LookupWorkstationConfigResultOutput) RunningTimeout

Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.

func (LookupWorkstationConfigResultOutput) ToLookupWorkstationConfigResultOutput

func (o LookupWorkstationConfigResultOutput) ToLookupWorkstationConfigResultOutput() LookupWorkstationConfigResultOutput

func (LookupWorkstationConfigResultOutput) ToLookupWorkstationConfigResultOutputWithContext

func (o LookupWorkstationConfigResultOutput) ToLookupWorkstationConfigResultOutputWithContext(ctx context.Context) LookupWorkstationConfigResultOutput

func (LookupWorkstationConfigResultOutput) Uid

A system-assigned unique identifier for this workstation configuration.

func (LookupWorkstationConfigResultOutput) UpdateTime

Time when this workstation configuration was most recently updated.

type LookupWorkstationOutputArgs

type LookupWorkstationOutputArgs struct {
	Location             pulumi.StringInput    `pulumi:"location"`
	Project              pulumi.StringPtrInput `pulumi:"project"`
	WorkstationClusterId pulumi.StringInput    `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringInput    `pulumi:"workstationConfigId"`
	WorkstationId        pulumi.StringInput    `pulumi:"workstationId"`
}

func (LookupWorkstationOutputArgs) ElementType

type LookupWorkstationResult

type LookupWorkstationResult struct {
	// Optional. Client-specified annotations.
	Annotations map[string]string `pulumi:"annotations"`
	// Time when this workstation was created.
	CreateTime string `pulumi:"createTime"`
	// Time when this workstation was soft-deleted.
	DeleteTime string `pulumi:"deleteTime"`
	// Optional. Human-readable name for this workstation.
	DisplayName string `pulumi:"displayName"`
	// Optional. Environment variables passed to the workstation container's entrypoint.
	Env map[string]string `pulumi:"env"`
	// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
	Etag string `pulumi:"etag"`
	// 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 string `pulumi:"host"`
	// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources.
	Labels map[string]string `pulumi:"labels"`
	// Identifier. Full name of this workstation.
	Name string `pulumi:"name"`
	// Indicates whether this workstation is currently being updated to match its intended state.
	Reconciling bool `pulumi:"reconciling"`
	// Time when this workstation was most recently successfully started, regardless of the workstation's initial state.
	StartTime string `pulumi:"startTime"`
	// Current state of the workstation.
	State string `pulumi:"state"`
	// A system-assigned unique identifier for this workstation.
	Uid string `pulumi:"uid"`
	// Time when this workstation was most recently updated.
	UpdateTime string `pulumi:"updateTime"`
}

func LookupWorkstation

func LookupWorkstation(ctx *pulumi.Context, args *LookupWorkstationArgs, opts ...pulumi.InvokeOption) (*LookupWorkstationResult, error)

Returns the requested workstation.

type LookupWorkstationResultOutput

type LookupWorkstationResultOutput struct{ *pulumi.OutputState }

func (LookupWorkstationResultOutput) Annotations

Optional. Client-specified annotations.

func (LookupWorkstationResultOutput) CreateTime

Time when this workstation was created.

func (LookupWorkstationResultOutput) DeleteTime

Time when this workstation was soft-deleted.

func (LookupWorkstationResultOutput) DisplayName

Optional. Human-readable name for this workstation.

func (LookupWorkstationResultOutput) ElementType

func (LookupWorkstationResultOutput) Env

Optional. Environment variables passed to the workstation container's entrypoint.

func (LookupWorkstationResultOutput) Etag

Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.

func (LookupWorkstationResultOutput) Host

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

func (LookupWorkstationResultOutput) Labels

Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources.

func (LookupWorkstationResultOutput) Name

Identifier. Full name of this workstation.

func (LookupWorkstationResultOutput) Reconciling

Indicates whether this workstation is currently being updated to match its intended state.

func (LookupWorkstationResultOutput) StartTime

Time when this workstation was most recently successfully started, regardless of the workstation's initial state.

func (LookupWorkstationResultOutput) State

Current state of the workstation.

func (LookupWorkstationResultOutput) ToLookupWorkstationResultOutput

func (o LookupWorkstationResultOutput) ToLookupWorkstationResultOutput() LookupWorkstationResultOutput

func (LookupWorkstationResultOutput) ToLookupWorkstationResultOutputWithContext

func (o LookupWorkstationResultOutput) ToLookupWorkstationResultOutputWithContext(ctx context.Context) LookupWorkstationResultOutput

func (LookupWorkstationResultOutput) Uid

A system-assigned unique identifier for this workstation.

func (LookupWorkstationResultOutput) UpdateTime

Time when this workstation was most recently updated.

type PersistentDirectory

type PersistentDirectory struct {
	// A PersistentDirectory backed by a Compute Engine persistent disk.
	GcePd *GceRegionalPersistentDisk `pulumi:"gcePd"`
	// Optional. Location of this directory in the running workstation.
	MountPath *string `pulumi:"mountPath"`
}

A directory to persist across workstation sessions.

type PersistentDirectoryArgs

type PersistentDirectoryArgs struct {
	// A PersistentDirectory backed by a Compute Engine persistent disk.
	GcePd GceRegionalPersistentDiskPtrInput `pulumi:"gcePd"`
	// Optional. Location of this directory in the running workstation.
	MountPath pulumi.StringPtrInput `pulumi:"mountPath"`
}

A directory to persist across workstation sessions.

func (PersistentDirectoryArgs) ElementType

func (PersistentDirectoryArgs) ElementType() reflect.Type

func (PersistentDirectoryArgs) ToPersistentDirectoryOutput

func (i PersistentDirectoryArgs) ToPersistentDirectoryOutput() PersistentDirectoryOutput

func (PersistentDirectoryArgs) ToPersistentDirectoryOutputWithContext

func (i PersistentDirectoryArgs) ToPersistentDirectoryOutputWithContext(ctx context.Context) PersistentDirectoryOutput

type PersistentDirectoryArray

type PersistentDirectoryArray []PersistentDirectoryInput

func (PersistentDirectoryArray) ElementType

func (PersistentDirectoryArray) ElementType() reflect.Type

func (PersistentDirectoryArray) ToPersistentDirectoryArrayOutput

func (i PersistentDirectoryArray) ToPersistentDirectoryArrayOutput() PersistentDirectoryArrayOutput

func (PersistentDirectoryArray) ToPersistentDirectoryArrayOutputWithContext

func (i PersistentDirectoryArray) ToPersistentDirectoryArrayOutputWithContext(ctx context.Context) PersistentDirectoryArrayOutput

type PersistentDirectoryArrayInput

type PersistentDirectoryArrayInput interface {
	pulumi.Input

	ToPersistentDirectoryArrayOutput() PersistentDirectoryArrayOutput
	ToPersistentDirectoryArrayOutputWithContext(context.Context) PersistentDirectoryArrayOutput
}

PersistentDirectoryArrayInput is an input type that accepts PersistentDirectoryArray and PersistentDirectoryArrayOutput values. You can construct a concrete instance of `PersistentDirectoryArrayInput` via:

PersistentDirectoryArray{ PersistentDirectoryArgs{...} }

type PersistentDirectoryArrayOutput

type PersistentDirectoryArrayOutput struct{ *pulumi.OutputState }

func (PersistentDirectoryArrayOutput) ElementType

func (PersistentDirectoryArrayOutput) Index

func (PersistentDirectoryArrayOutput) ToPersistentDirectoryArrayOutput

func (o PersistentDirectoryArrayOutput) ToPersistentDirectoryArrayOutput() PersistentDirectoryArrayOutput

func (PersistentDirectoryArrayOutput) ToPersistentDirectoryArrayOutputWithContext

func (o PersistentDirectoryArrayOutput) ToPersistentDirectoryArrayOutputWithContext(ctx context.Context) PersistentDirectoryArrayOutput

type PersistentDirectoryInput

type PersistentDirectoryInput interface {
	pulumi.Input

	ToPersistentDirectoryOutput() PersistentDirectoryOutput
	ToPersistentDirectoryOutputWithContext(context.Context) PersistentDirectoryOutput
}

PersistentDirectoryInput is an input type that accepts PersistentDirectoryArgs and PersistentDirectoryOutput values. You can construct a concrete instance of `PersistentDirectoryInput` via:

PersistentDirectoryArgs{...}

type PersistentDirectoryOutput

type PersistentDirectoryOutput struct{ *pulumi.OutputState }

A directory to persist across workstation sessions.

func (PersistentDirectoryOutput) ElementType

func (PersistentDirectoryOutput) ElementType() reflect.Type

func (PersistentDirectoryOutput) GcePd

A PersistentDirectory backed by a Compute Engine persistent disk.

func (PersistentDirectoryOutput) MountPath

Optional. Location of this directory in the running workstation.

func (PersistentDirectoryOutput) ToPersistentDirectoryOutput

func (o PersistentDirectoryOutput) ToPersistentDirectoryOutput() PersistentDirectoryOutput

func (PersistentDirectoryOutput) ToPersistentDirectoryOutputWithContext

func (o PersistentDirectoryOutput) ToPersistentDirectoryOutputWithContext(ctx context.Context) PersistentDirectoryOutput

type PersistentDirectoryResponse

type PersistentDirectoryResponse struct {
	// A PersistentDirectory backed by a Compute Engine persistent disk.
	GcePd GceRegionalPersistentDiskResponse `pulumi:"gcePd"`
	// Optional. Location of this directory in the running workstation.
	MountPath string `pulumi:"mountPath"`
}

A directory to persist across workstation sessions.

type PersistentDirectoryResponseArrayOutput

type PersistentDirectoryResponseArrayOutput struct{ *pulumi.OutputState }

func (PersistentDirectoryResponseArrayOutput) ElementType

func (PersistentDirectoryResponseArrayOutput) Index

func (PersistentDirectoryResponseArrayOutput) ToPersistentDirectoryResponseArrayOutput

func (o PersistentDirectoryResponseArrayOutput) ToPersistentDirectoryResponseArrayOutput() PersistentDirectoryResponseArrayOutput

func (PersistentDirectoryResponseArrayOutput) ToPersistentDirectoryResponseArrayOutputWithContext

func (o PersistentDirectoryResponseArrayOutput) ToPersistentDirectoryResponseArrayOutputWithContext(ctx context.Context) PersistentDirectoryResponseArrayOutput

type PersistentDirectoryResponseOutput

type PersistentDirectoryResponseOutput struct{ *pulumi.OutputState }

A directory to persist across workstation sessions.

func (PersistentDirectoryResponseOutput) ElementType

func (PersistentDirectoryResponseOutput) GcePd

A PersistentDirectory backed by a Compute Engine persistent disk.

func (PersistentDirectoryResponseOutput) MountPath

Optional. Location of this directory in the running workstation.

func (PersistentDirectoryResponseOutput) ToPersistentDirectoryResponseOutput

func (o PersistentDirectoryResponseOutput) ToPersistentDirectoryResponseOutput() PersistentDirectoryResponseOutput

func (PersistentDirectoryResponseOutput) ToPersistentDirectoryResponseOutputWithContext

func (o PersistentDirectoryResponseOutput) ToPersistentDirectoryResponseOutputWithContext(ctx context.Context) PersistentDirectoryResponseOutput

type PrivateClusterConfig

type PrivateClusterConfig struct {
	// Optional. Additional projects 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"`
	// Immutable. Whether Workstations endpoint is private.
	EnablePrivateEndpoint *bool `pulumi:"enablePrivateEndpoint"`
}

Configuration options for private workstation clusters.

type PrivateClusterConfigArgs

type PrivateClusterConfigArgs struct {
	// Optional. Additional projects 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"`
	// Immutable. Whether Workstations endpoint is private.
	EnablePrivateEndpoint pulumi.BoolPtrInput `pulumi:"enablePrivateEndpoint"`
}

Configuration options for private workstation clusters.

func (PrivateClusterConfigArgs) ElementType

func (PrivateClusterConfigArgs) ElementType() reflect.Type

func (PrivateClusterConfigArgs) ToPrivateClusterConfigOutput

func (i PrivateClusterConfigArgs) ToPrivateClusterConfigOutput() PrivateClusterConfigOutput

func (PrivateClusterConfigArgs) ToPrivateClusterConfigOutputWithContext

func (i PrivateClusterConfigArgs) ToPrivateClusterConfigOutputWithContext(ctx context.Context) PrivateClusterConfigOutput

func (PrivateClusterConfigArgs) ToPrivateClusterConfigPtrOutput

func (i PrivateClusterConfigArgs) ToPrivateClusterConfigPtrOutput() PrivateClusterConfigPtrOutput

func (PrivateClusterConfigArgs) ToPrivateClusterConfigPtrOutputWithContext

func (i PrivateClusterConfigArgs) ToPrivateClusterConfigPtrOutputWithContext(ctx context.Context) PrivateClusterConfigPtrOutput

type PrivateClusterConfigInput

type PrivateClusterConfigInput interface {
	pulumi.Input

	ToPrivateClusterConfigOutput() PrivateClusterConfigOutput
	ToPrivateClusterConfigOutputWithContext(context.Context) PrivateClusterConfigOutput
}

PrivateClusterConfigInput is an input type that accepts PrivateClusterConfigArgs and PrivateClusterConfigOutput values. You can construct a concrete instance of `PrivateClusterConfigInput` via:

PrivateClusterConfigArgs{...}

type PrivateClusterConfigOutput

type PrivateClusterConfigOutput struct{ *pulumi.OutputState }

Configuration options for private workstation clusters.

func (PrivateClusterConfigOutput) AllowedProjects

Optional. Additional projects 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 (PrivateClusterConfigOutput) ElementType

func (PrivateClusterConfigOutput) ElementType() reflect.Type

func (PrivateClusterConfigOutput) EnablePrivateEndpoint

func (o PrivateClusterConfigOutput) EnablePrivateEndpoint() pulumi.BoolPtrOutput

Immutable. Whether Workstations endpoint is private.

func (PrivateClusterConfigOutput) ToPrivateClusterConfigOutput

func (o PrivateClusterConfigOutput) ToPrivateClusterConfigOutput() PrivateClusterConfigOutput

func (PrivateClusterConfigOutput) ToPrivateClusterConfigOutputWithContext

func (o PrivateClusterConfigOutput) ToPrivateClusterConfigOutputWithContext(ctx context.Context) PrivateClusterConfigOutput

func (PrivateClusterConfigOutput) ToPrivateClusterConfigPtrOutput

func (o PrivateClusterConfigOutput) ToPrivateClusterConfigPtrOutput() PrivateClusterConfigPtrOutput

func (PrivateClusterConfigOutput) ToPrivateClusterConfigPtrOutputWithContext

func (o PrivateClusterConfigOutput) ToPrivateClusterConfigPtrOutputWithContext(ctx context.Context) PrivateClusterConfigPtrOutput

type PrivateClusterConfigPtrInput

type PrivateClusterConfigPtrInput interface {
	pulumi.Input

	ToPrivateClusterConfigPtrOutput() PrivateClusterConfigPtrOutput
	ToPrivateClusterConfigPtrOutputWithContext(context.Context) PrivateClusterConfigPtrOutput
}

PrivateClusterConfigPtrInput is an input type that accepts PrivateClusterConfigArgs, PrivateClusterConfigPtr and PrivateClusterConfigPtrOutput values. You can construct a concrete instance of `PrivateClusterConfigPtrInput` via:

        PrivateClusterConfigArgs{...}

or:

        nil

type PrivateClusterConfigPtrOutput

type PrivateClusterConfigPtrOutput struct{ *pulumi.OutputState }

func (PrivateClusterConfigPtrOutput) AllowedProjects

Optional. Additional projects 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 (PrivateClusterConfigPtrOutput) Elem

func (PrivateClusterConfigPtrOutput) ElementType

func (PrivateClusterConfigPtrOutput) EnablePrivateEndpoint

func (o PrivateClusterConfigPtrOutput) EnablePrivateEndpoint() pulumi.BoolPtrOutput

Immutable. Whether Workstations endpoint is private.

func (PrivateClusterConfigPtrOutput) ToPrivateClusterConfigPtrOutput

func (o PrivateClusterConfigPtrOutput) ToPrivateClusterConfigPtrOutput() PrivateClusterConfigPtrOutput

func (PrivateClusterConfigPtrOutput) ToPrivateClusterConfigPtrOutputWithContext

func (o PrivateClusterConfigPtrOutput) ToPrivateClusterConfigPtrOutputWithContext(ctx context.Context) PrivateClusterConfigPtrOutput

type PrivateClusterConfigResponse

type PrivateClusterConfigResponse struct {
	// Optional. Additional projects 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"`
	// Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the workstation 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"`
	// Immutable. Whether Workstations endpoint is private.
	EnablePrivateEndpoint bool `pulumi:"enablePrivateEndpoint"`
	// Service attachment URI for the workstation cluster. The service attachemnt is created when private endpoint is enabled. To access workstations in the workstation 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"`
}

Configuration options for private workstation clusters.

type PrivateClusterConfigResponseOutput

type PrivateClusterConfigResponseOutput struct{ *pulumi.OutputState }

Configuration options for private workstation clusters.

func (PrivateClusterConfigResponseOutput) AllowedProjects

Optional. Additional projects 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 (PrivateClusterConfigResponseOutput) ClusterHostname

Hostname for the workstation cluster. This field will be populated only when private endpoint is enabled. To access workstations in the workstation 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 (PrivateClusterConfigResponseOutput) ElementType

func (PrivateClusterConfigResponseOutput) EnablePrivateEndpoint

func (o PrivateClusterConfigResponseOutput) EnablePrivateEndpoint() pulumi.BoolOutput

Immutable. Whether Workstations endpoint is private.

func (PrivateClusterConfigResponseOutput) ServiceAttachmentUri

func (o PrivateClusterConfigResponseOutput) ServiceAttachmentUri() pulumi.StringOutput

Service attachment URI for the workstation cluster. The service attachemnt is created when private endpoint is enabled. To access workstations in the workstation cluster, configure access to the managed service using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services).

func (PrivateClusterConfigResponseOutput) ToPrivateClusterConfigResponseOutput

func (o PrivateClusterConfigResponseOutput) ToPrivateClusterConfigResponseOutput() PrivateClusterConfigResponseOutput

func (PrivateClusterConfigResponseOutput) ToPrivateClusterConfigResponseOutputWithContext

func (o PrivateClusterConfigResponseOutput) ToPrivateClusterConfigResponseOutputWithContext(ctx context.Context) PrivateClusterConfigResponseOutput

type ReadinessCheck

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

A readiness check to be performed on a workstation.

type ReadinessCheckArgs

type ReadinessCheckArgs struct {
	// Optional. Path to which the request should be sent.
	Path pulumi.StringPtrInput `pulumi:"path"`
	// Optional. Port to which the request should be sent.
	Port pulumi.IntPtrInput `pulumi:"port"`
}

A readiness check to be performed on a workstation.

func (ReadinessCheckArgs) ElementType

func (ReadinessCheckArgs) ElementType() reflect.Type

func (ReadinessCheckArgs) ToReadinessCheckOutput

func (i ReadinessCheckArgs) ToReadinessCheckOutput() ReadinessCheckOutput

func (ReadinessCheckArgs) ToReadinessCheckOutputWithContext

func (i ReadinessCheckArgs) ToReadinessCheckOutputWithContext(ctx context.Context) ReadinessCheckOutput

type ReadinessCheckArray

type ReadinessCheckArray []ReadinessCheckInput

func (ReadinessCheckArray) ElementType

func (ReadinessCheckArray) ElementType() reflect.Type

func (ReadinessCheckArray) ToReadinessCheckArrayOutput

func (i ReadinessCheckArray) ToReadinessCheckArrayOutput() ReadinessCheckArrayOutput

func (ReadinessCheckArray) ToReadinessCheckArrayOutputWithContext

func (i ReadinessCheckArray) ToReadinessCheckArrayOutputWithContext(ctx context.Context) ReadinessCheckArrayOutput

type ReadinessCheckArrayInput

type ReadinessCheckArrayInput interface {
	pulumi.Input

	ToReadinessCheckArrayOutput() ReadinessCheckArrayOutput
	ToReadinessCheckArrayOutputWithContext(context.Context) ReadinessCheckArrayOutput
}

ReadinessCheckArrayInput is an input type that accepts ReadinessCheckArray and ReadinessCheckArrayOutput values. You can construct a concrete instance of `ReadinessCheckArrayInput` via:

ReadinessCheckArray{ ReadinessCheckArgs{...} }

type ReadinessCheckArrayOutput

type ReadinessCheckArrayOutput struct{ *pulumi.OutputState }

func (ReadinessCheckArrayOutput) ElementType

func (ReadinessCheckArrayOutput) ElementType() reflect.Type

func (ReadinessCheckArrayOutput) Index

func (ReadinessCheckArrayOutput) ToReadinessCheckArrayOutput

func (o ReadinessCheckArrayOutput) ToReadinessCheckArrayOutput() ReadinessCheckArrayOutput

func (ReadinessCheckArrayOutput) ToReadinessCheckArrayOutputWithContext

func (o ReadinessCheckArrayOutput) ToReadinessCheckArrayOutputWithContext(ctx context.Context) ReadinessCheckArrayOutput

type ReadinessCheckInput

type ReadinessCheckInput interface {
	pulumi.Input

	ToReadinessCheckOutput() ReadinessCheckOutput
	ToReadinessCheckOutputWithContext(context.Context) ReadinessCheckOutput
}

ReadinessCheckInput is an input type that accepts ReadinessCheckArgs and ReadinessCheckOutput values. You can construct a concrete instance of `ReadinessCheckInput` via:

ReadinessCheckArgs{...}

type ReadinessCheckOutput

type ReadinessCheckOutput struct{ *pulumi.OutputState }

A readiness check to be performed on a workstation.

func (ReadinessCheckOutput) ElementType

func (ReadinessCheckOutput) ElementType() reflect.Type

func (ReadinessCheckOutput) Path

Optional. Path to which the request should be sent.

func (ReadinessCheckOutput) Port

Optional. Port to which the request should be sent.

func (ReadinessCheckOutput) ToReadinessCheckOutput

func (o ReadinessCheckOutput) ToReadinessCheckOutput() ReadinessCheckOutput

func (ReadinessCheckOutput) ToReadinessCheckOutputWithContext

func (o ReadinessCheckOutput) ToReadinessCheckOutputWithContext(ctx context.Context) ReadinessCheckOutput

type ReadinessCheckResponse

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

A readiness check to be performed on a workstation.

type ReadinessCheckResponseArrayOutput

type ReadinessCheckResponseArrayOutput struct{ *pulumi.OutputState }

func (ReadinessCheckResponseArrayOutput) ElementType

func (ReadinessCheckResponseArrayOutput) Index

func (ReadinessCheckResponseArrayOutput) ToReadinessCheckResponseArrayOutput

func (o ReadinessCheckResponseArrayOutput) ToReadinessCheckResponseArrayOutput() ReadinessCheckResponseArrayOutput

func (ReadinessCheckResponseArrayOutput) ToReadinessCheckResponseArrayOutputWithContext

func (o ReadinessCheckResponseArrayOutput) ToReadinessCheckResponseArrayOutputWithContext(ctx context.Context) ReadinessCheckResponseArrayOutput

type ReadinessCheckResponseOutput

type ReadinessCheckResponseOutput struct{ *pulumi.OutputState }

A readiness check to be performed on a workstation.

func (ReadinessCheckResponseOutput) ElementType

func (ReadinessCheckResponseOutput) Path

Optional. Path to which the request should be sent.

func (ReadinessCheckResponseOutput) Port

Optional. Port to which the request should be sent.

func (ReadinessCheckResponseOutput) ToReadinessCheckResponseOutput

func (o ReadinessCheckResponseOutput) ToReadinessCheckResponseOutput() ReadinessCheckResponseOutput

func (ReadinessCheckResponseOutput) ToReadinessCheckResponseOutputWithContext

func (o ReadinessCheckResponseOutput) ToReadinessCheckResponseOutputWithContext(ctx context.Context) ReadinessCheckResponseOutput

type StatusResponse

type StatusResponse struct {
	// The status code, which should be an enum value of google.rpc.Code.
	Code int `pulumi:"code"`
	// A list of messages that carry the error details. There is a common set of message types for APIs to use.
	Details []map[string]string `pulumi:"details"`
	// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
	Message string `pulumi:"message"`
}

The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).

type StatusResponseArrayOutput

type StatusResponseArrayOutput struct{ *pulumi.OutputState }

func (StatusResponseArrayOutput) ElementType

func (StatusResponseArrayOutput) ElementType() reflect.Type

func (StatusResponseArrayOutput) Index

func (StatusResponseArrayOutput) ToStatusResponseArrayOutput

func (o StatusResponseArrayOutput) ToStatusResponseArrayOutput() StatusResponseArrayOutput

func (StatusResponseArrayOutput) ToStatusResponseArrayOutputWithContext

func (o StatusResponseArrayOutput) ToStatusResponseArrayOutputWithContext(ctx context.Context) StatusResponseArrayOutput

type StatusResponseOutput

type StatusResponseOutput struct{ *pulumi.OutputState }

The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).

func (StatusResponseOutput) Code

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

func (StatusResponseOutput) Details

A list of messages that carry the error details. There is a common set of message types for APIs to use.

func (StatusResponseOutput) ElementType

func (StatusResponseOutput) ElementType() reflect.Type

func (StatusResponseOutput) Message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.

func (StatusResponseOutput) ToStatusResponseOutput

func (o StatusResponseOutput) ToStatusResponseOutput() StatusResponseOutput

func (StatusResponseOutput) ToStatusResponseOutputWithContext

func (o StatusResponseOutput) ToStatusResponseOutputWithContext(ctx context.Context) StatusResponseOutput

type Workstation

type Workstation struct {
	pulumi.CustomResourceState

	// Optional. Client-specified annotations.
	Annotations pulumi.StringMapOutput `pulumi:"annotations"`
	// Time when this workstation was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Time when this workstation was soft-deleted.
	DeleteTime pulumi.StringOutput `pulumi:"deleteTime"`
	// Optional. Human-readable name for this workstation.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// Optional. Environment variables passed to the workstation container's entrypoint.
	Env pulumi.StringMapOutput `pulumi:"env"`
	// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// 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"`
	// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources.
	Labels   pulumi.StringMapOutput `pulumi:"labels"`
	Location pulumi.StringOutput    `pulumi:"location"`
	// Identifier. Full name of this workstation.
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
	// Indicates whether this workstation is currently being updated to match its intended state.
	Reconciling pulumi.BoolOutput `pulumi:"reconciling"`
	// Time when this workstation was most recently successfully started, regardless of the workstation's initial state.
	StartTime pulumi.StringOutput `pulumi:"startTime"`
	// Current state of the workstation.
	State pulumi.StringOutput `pulumi:"state"`
	// A system-assigned unique identifier for this workstation.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// Time when this workstation was most recently updated.
	UpdateTime           pulumi.StringOutput `pulumi:"updateTime"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringOutput `pulumi:"workstationConfigId"`
	// Required. ID to use for the workstation.
	WorkstationId pulumi.StringOutput `pulumi:"workstationId"`
}

Creates a new workstation.

func GetWorkstation

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

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

func NewWorkstation

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

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

func (*Workstation) ElementType

func (*Workstation) ElementType() reflect.Type

func (*Workstation) ToWorkstationOutput

func (i *Workstation) ToWorkstationOutput() WorkstationOutput

func (*Workstation) ToWorkstationOutputWithContext

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

type WorkstationArgs

type WorkstationArgs struct {
	// Optional. Client-specified annotations.
	Annotations pulumi.StringMapInput
	// Optional. Human-readable name for this workstation.
	DisplayName pulumi.StringPtrInput
	// Optional. Environment variables passed to the workstation container's entrypoint.
	Env pulumi.StringMapInput
	// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
	Etag pulumi.StringPtrInput
	// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources.
	Labels   pulumi.StringMapInput
	Location pulumi.StringPtrInput
	// Identifier. Full name of this workstation.
	Name                 pulumi.StringPtrInput
	Project              pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
	// Required. ID to use for the workstation.
	WorkstationId pulumi.StringInput
}

The set of arguments for constructing a Workstation resource.

func (WorkstationArgs) ElementType

func (WorkstationArgs) ElementType() reflect.Type

type WorkstationCluster

type WorkstationCluster struct {
	pulumi.CustomResourceState

	// Optional. Client-specified annotations.
	Annotations pulumi.StringMapOutput `pulumi:"annotations"`
	// Status conditions describing the workstation cluster's current state.
	Conditions StatusResponseArrayOutput `pulumi:"conditions"`
	// The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.
	ControlPlaneIp pulumi.StringOutput `pulumi:"controlPlaneIp"`
	// Time when this workstation cluster was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Whether this workstation cluster is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in conditions.
	Degraded pulumi.BoolOutput `pulumi:"degraded"`
	// Time when this workstation cluster was soft-deleted.
	DeleteTime pulumi.StringOutput `pulumi:"deleteTime"`
	// Optional. Human-readable name for this workstation cluster.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources.
	Labels   pulumi.StringMapOutput `pulumi:"labels"`
	Location pulumi.StringOutput    `pulumi:"location"`
	// Identifier. Full name of this workstation cluster.
	Name pulumi.StringOutput `pulumi:"name"`
	// Immutable. Name of the Compute Engine network in which instances associated with this workstation cluster will be created.
	Network pulumi.StringOutput `pulumi:"network"`
	// Optional. Configuration for private workstation cluster.
	PrivateClusterConfig PrivateClusterConfigResponseOutput `pulumi:"privateClusterConfig"`
	Project              pulumi.StringOutput                `pulumi:"project"`
	// Indicates whether this workstation cluster is currently being updated to match its intended state.
	Reconciling pulumi.BoolOutput `pulumi:"reconciling"`
	// Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.
	Subnetwork pulumi.StringOutput `pulumi:"subnetwork"`
	// A system-assigned unique identifier for this workstation cluster.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// Time when this workstation cluster was most recently updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
	// Required. ID to use for the workstation cluster.
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
}

Creates a new workstation cluster.

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 {
	// Optional. Client-specified annotations.
	Annotations pulumi.StringMapInput
	// Optional. Human-readable name for this workstation cluster.
	DisplayName pulumi.StringPtrInput
	// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
	Etag pulumi.StringPtrInput
	// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources.
	Labels   pulumi.StringMapInput
	Location pulumi.StringPtrInput
	// Identifier. Full name of this workstation cluster.
	Name pulumi.StringPtrInput
	// Immutable. Name of the Compute Engine network in which instances associated with this workstation cluster will be created.
	Network pulumi.StringPtrInput
	// Optional. Configuration for private workstation cluster.
	PrivateClusterConfig PrivateClusterConfigPtrInput
	Project              pulumi.StringPtrInput
	// Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.
	Subnetwork pulumi.StringPtrInput
	// Required. 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 WorkstationClusterInput

type WorkstationClusterInput interface {
	pulumi.Input

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

type WorkstationClusterOutput

type WorkstationClusterOutput struct{ *pulumi.OutputState }

func (WorkstationClusterOutput) Annotations

Optional. Client-specified annotations.

func (WorkstationClusterOutput) Conditions

Status conditions describing the workstation cluster's current state.

func (WorkstationClusterOutput) ControlPlaneIp

func (o WorkstationClusterOutput) ControlPlaneIp() pulumi.StringOutput

The private IP address of the control plane for this workstation cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.

func (WorkstationClusterOutput) CreateTime

Time when this workstation cluster was created.

func (WorkstationClusterOutput) Degraded

Whether this workstation cluster is in degraded mode, in which case it may require user action to restore full functionality. Details can be found in conditions.

func (WorkstationClusterOutput) DeleteTime

Time when this workstation cluster was soft-deleted.

func (WorkstationClusterOutput) DisplayName

Optional. Human-readable name for this workstation cluster.

func (WorkstationClusterOutput) ElementType

func (WorkstationClusterOutput) ElementType() reflect.Type

func (WorkstationClusterOutput) Etag

Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.

func (WorkstationClusterOutput) Labels

Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources.

func (WorkstationClusterOutput) Location

func (WorkstationClusterOutput) Name

Identifier. Full name of this workstation cluster.

func (WorkstationClusterOutput) Network

Immutable. Name of the Compute Engine network in which instances associated with this workstation cluster will be created.

func (WorkstationClusterOutput) PrivateClusterConfig

Optional. Configuration for private workstation cluster.

func (WorkstationClusterOutput) Project

func (WorkstationClusterOutput) Reconciling

func (o WorkstationClusterOutput) Reconciling() pulumi.BoolOutput

Indicates whether this workstation cluster is currently being updated to match its intended state.

func (WorkstationClusterOutput) Subnetwork

Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.

func (WorkstationClusterOutput) ToWorkstationClusterOutput

func (o WorkstationClusterOutput) ToWorkstationClusterOutput() WorkstationClusterOutput

func (WorkstationClusterOutput) ToWorkstationClusterOutputWithContext

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

func (WorkstationClusterOutput) Uid

A system-assigned unique identifier for this workstation cluster.

func (WorkstationClusterOutput) UpdateTime

Time when this workstation cluster was most recently updated.

func (WorkstationClusterOutput) WorkstationClusterId

func (o WorkstationClusterOutput) WorkstationClusterId() pulumi.StringOutput

Required. ID to use for the workstation cluster.

type WorkstationClusterState

type WorkstationClusterState struct {
}

func (WorkstationClusterState) ElementType

func (WorkstationClusterState) ElementType() reflect.Type

type WorkstationClusterWorkstationConfigIamBinding

type WorkstationClusterWorkstationConfigIamBinding struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

func GetWorkstationClusterWorkstationConfigIamBinding

func GetWorkstationClusterWorkstationConfigIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationClusterWorkstationConfigIamBindingState, opts ...pulumi.ResourceOption) (*WorkstationClusterWorkstationConfigIamBinding, error)

GetWorkstationClusterWorkstationConfigIamBinding gets an existing WorkstationClusterWorkstationConfigIamBinding 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 NewWorkstationClusterWorkstationConfigIamBinding

func NewWorkstationClusterWorkstationConfigIamBinding(ctx *pulumi.Context,
	name string, args *WorkstationClusterWorkstationConfigIamBindingArgs, opts ...pulumi.ResourceOption) (*WorkstationClusterWorkstationConfigIamBinding, error)

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

func (*WorkstationClusterWorkstationConfigIamBinding) ElementType

func (*WorkstationClusterWorkstationConfigIamBinding) ToWorkstationClusterWorkstationConfigIamBindingOutput

func (i *WorkstationClusterWorkstationConfigIamBinding) ToWorkstationClusterWorkstationConfigIamBindingOutput() WorkstationClusterWorkstationConfigIamBindingOutput

func (*WorkstationClusterWorkstationConfigIamBinding) ToWorkstationClusterWorkstationConfigIamBindingOutputWithContext

func (i *WorkstationClusterWorkstationConfigIamBinding) ToWorkstationClusterWorkstationConfigIamBindingOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigIamBindingOutput

type WorkstationClusterWorkstationConfigIamBindingArgs

type WorkstationClusterWorkstationConfigIamBindingArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identities that will be granted the privilege in role. Each entry can have one of the following values:
	//
	//  * 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.
	Members pulumi.StringArrayInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied. Only one `IamBinding` can be used per role.
	Role pulumi.StringInput
}

The set of arguments for constructing a WorkstationClusterWorkstationConfigIamBinding resource.

func (WorkstationClusterWorkstationConfigIamBindingArgs) ElementType

type WorkstationClusterWorkstationConfigIamBindingInput

type WorkstationClusterWorkstationConfigIamBindingInput interface {
	pulumi.Input

	ToWorkstationClusterWorkstationConfigIamBindingOutput() WorkstationClusterWorkstationConfigIamBindingOutput
	ToWorkstationClusterWorkstationConfigIamBindingOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigIamBindingOutput
}

type WorkstationClusterWorkstationConfigIamBindingOutput

type WorkstationClusterWorkstationConfigIamBindingOutput struct{ *pulumi.OutputState }

func (WorkstationClusterWorkstationConfigIamBindingOutput) Condition

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (WorkstationClusterWorkstationConfigIamBindingOutput) ElementType

func (WorkstationClusterWorkstationConfigIamBindingOutput) Etag

The etag of the resource's IAM policy.

func (WorkstationClusterWorkstationConfigIamBindingOutput) Members

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (WorkstationClusterWorkstationConfigIamBindingOutput) Name

The name of the resource to manage IAM policies for.

func (WorkstationClusterWorkstationConfigIamBindingOutput) Project

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (WorkstationClusterWorkstationConfigIamBindingOutput) Role

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (WorkstationClusterWorkstationConfigIamBindingOutput) ToWorkstationClusterWorkstationConfigIamBindingOutput

func (o WorkstationClusterWorkstationConfigIamBindingOutput) ToWorkstationClusterWorkstationConfigIamBindingOutput() WorkstationClusterWorkstationConfigIamBindingOutput

func (WorkstationClusterWorkstationConfigIamBindingOutput) ToWorkstationClusterWorkstationConfigIamBindingOutputWithContext

func (o WorkstationClusterWorkstationConfigIamBindingOutput) ToWorkstationClusterWorkstationConfigIamBindingOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigIamBindingOutput

type WorkstationClusterWorkstationConfigIamBindingState

type WorkstationClusterWorkstationConfigIamBindingState struct {
}

func (WorkstationClusterWorkstationConfigIamBindingState) ElementType

type WorkstationClusterWorkstationConfigIamMember

type WorkstationClusterWorkstationConfigIamMember struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Member pulumi.StringOutput `pulumi:"member"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

func GetWorkstationClusterWorkstationConfigIamMember

func GetWorkstationClusterWorkstationConfigIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationClusterWorkstationConfigIamMemberState, opts ...pulumi.ResourceOption) (*WorkstationClusterWorkstationConfigIamMember, error)

GetWorkstationClusterWorkstationConfigIamMember gets an existing WorkstationClusterWorkstationConfigIamMember 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 NewWorkstationClusterWorkstationConfigIamMember

func NewWorkstationClusterWorkstationConfigIamMember(ctx *pulumi.Context,
	name string, args *WorkstationClusterWorkstationConfigIamMemberArgs, opts ...pulumi.ResourceOption) (*WorkstationClusterWorkstationConfigIamMember, error)

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

func (*WorkstationClusterWorkstationConfigIamMember) ElementType

func (*WorkstationClusterWorkstationConfigIamMember) ToWorkstationClusterWorkstationConfigIamMemberOutput

func (i *WorkstationClusterWorkstationConfigIamMember) ToWorkstationClusterWorkstationConfigIamMemberOutput() WorkstationClusterWorkstationConfigIamMemberOutput

func (*WorkstationClusterWorkstationConfigIamMember) ToWorkstationClusterWorkstationConfigIamMemberOutputWithContext

func (i *WorkstationClusterWorkstationConfigIamMember) ToWorkstationClusterWorkstationConfigIamMemberOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigIamMemberOutput

type WorkstationClusterWorkstationConfigIamMemberArgs

type WorkstationClusterWorkstationConfigIamMemberArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identity that will be granted the privilege in role. The entry can have one of the following values:
	//
	//  * 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.
	Member pulumi.StringInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied.
	Role pulumi.StringInput
}

The set of arguments for constructing a WorkstationClusterWorkstationConfigIamMember resource.

func (WorkstationClusterWorkstationConfigIamMemberArgs) ElementType

type WorkstationClusterWorkstationConfigIamMemberInput

type WorkstationClusterWorkstationConfigIamMemberInput interface {
	pulumi.Input

	ToWorkstationClusterWorkstationConfigIamMemberOutput() WorkstationClusterWorkstationConfigIamMemberOutput
	ToWorkstationClusterWorkstationConfigIamMemberOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigIamMemberOutput
}

type WorkstationClusterWorkstationConfigIamMemberOutput

type WorkstationClusterWorkstationConfigIamMemberOutput struct{ *pulumi.OutputState }

func (WorkstationClusterWorkstationConfigIamMemberOutput) Condition

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (WorkstationClusterWorkstationConfigIamMemberOutput) ElementType

func (WorkstationClusterWorkstationConfigIamMemberOutput) Etag

The etag of the resource's IAM policy.

func (WorkstationClusterWorkstationConfigIamMemberOutput) Member

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (WorkstationClusterWorkstationConfigIamMemberOutput) Name

The name of the resource to manage IAM policies for.

func (WorkstationClusterWorkstationConfigIamMemberOutput) Project

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (WorkstationClusterWorkstationConfigIamMemberOutput) Role

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (WorkstationClusterWorkstationConfigIamMemberOutput) ToWorkstationClusterWorkstationConfigIamMemberOutput

func (o WorkstationClusterWorkstationConfigIamMemberOutput) ToWorkstationClusterWorkstationConfigIamMemberOutput() WorkstationClusterWorkstationConfigIamMemberOutput

func (WorkstationClusterWorkstationConfigIamMemberOutput) ToWorkstationClusterWorkstationConfigIamMemberOutputWithContext

func (o WorkstationClusterWorkstationConfigIamMemberOutput) ToWorkstationClusterWorkstationConfigIamMemberOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigIamMemberOutput

type WorkstationClusterWorkstationConfigIamMemberState

type WorkstationClusterWorkstationConfigIamMemberState struct {
}

func (WorkstationClusterWorkstationConfigIamMemberState) ElementType

type WorkstationClusterWorkstationConfigIamPolicy

type WorkstationClusterWorkstationConfigIamPolicy struct {
	pulumi.CustomResourceState

	// Specifies cloud audit logging configuration for this policy.
	AuditConfigs AuditConfigResponseArrayOutput `pulumi:"auditConfigs"`
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings BindingResponseArrayOutput `pulumi:"bindings"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag     pulumi.StringOutput `pulumi:"etag"`
	Location pulumi.StringOutput `pulumi:"location"`
	Project  pulumi.StringOutput `pulumi:"project"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version              pulumi.IntOutput    `pulumi:"version"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringOutput `pulumi:"workstationConfigId"`
}

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. Note - this resource's API doesn't support deletion. When deleted, the resource will persist on Google Cloud even though it will be deleted from Pulumi state.

func GetWorkstationClusterWorkstationConfigIamPolicy

func GetWorkstationClusterWorkstationConfigIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkstationClusterWorkstationConfigIamPolicyState, opts ...pulumi.ResourceOption) (*WorkstationClusterWorkstationConfigIamPolicy, error)

GetWorkstationClusterWorkstationConfigIamPolicy gets an existing WorkstationClusterWorkstationConfigIamPolicy 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 NewWorkstationClusterWorkstationConfigIamPolicy

func NewWorkstationClusterWorkstationConfigIamPolicy(ctx *pulumi.Context,
	name string, args *WorkstationClusterWorkstationConfigIamPolicyArgs, opts ...pulumi.ResourceOption) (*WorkstationClusterWorkstationConfigIamPolicy, error)

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

func (*WorkstationClusterWorkstationConfigIamPolicy) ElementType

func (*WorkstationClusterWorkstationConfigIamPolicy) ToWorkstationClusterWorkstationConfigIamPolicyOutput

func (i *WorkstationClusterWorkstationConfigIamPolicy) ToWorkstationClusterWorkstationConfigIamPolicyOutput() WorkstationClusterWorkstationConfigIamPolicyOutput

func (*WorkstationClusterWorkstationConfigIamPolicy) ToWorkstationClusterWorkstationConfigIamPolicyOutputWithContext

func (i *WorkstationClusterWorkstationConfigIamPolicy) ToWorkstationClusterWorkstationConfigIamPolicyOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigIamPolicyOutput

type WorkstationClusterWorkstationConfigIamPolicyArgs

type WorkstationClusterWorkstationConfigIamPolicyArgs struct {
	// Specifies cloud audit logging configuration for this policy.
	AuditConfigs AuditConfigArrayInput
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings BindingArrayInput
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	Project  pulumi.StringPtrInput
	// OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: "bindings, etag"`
	UpdateMask pulumi.StringPtrInput
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version              pulumi.IntPtrInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
}

The set of arguments for constructing a WorkstationClusterWorkstationConfigIamPolicy resource.

func (WorkstationClusterWorkstationConfigIamPolicyArgs) ElementType

type WorkstationClusterWorkstationConfigIamPolicyInput

type WorkstationClusterWorkstationConfigIamPolicyInput interface {
	pulumi.Input

	ToWorkstationClusterWorkstationConfigIamPolicyOutput() WorkstationClusterWorkstationConfigIamPolicyOutput
	ToWorkstationClusterWorkstationConfigIamPolicyOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigIamPolicyOutput
}

type WorkstationClusterWorkstationConfigIamPolicyOutput

type WorkstationClusterWorkstationConfigIamPolicyOutput struct{ *pulumi.OutputState }

func (WorkstationClusterWorkstationConfigIamPolicyOutput) AuditConfigs

Specifies cloud audit logging configuration for this policy.

func (WorkstationClusterWorkstationConfigIamPolicyOutput) Bindings

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (WorkstationClusterWorkstationConfigIamPolicyOutput) ElementType

func (WorkstationClusterWorkstationConfigIamPolicyOutput) Etag

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (WorkstationClusterWorkstationConfigIamPolicyOutput) Location

func (WorkstationClusterWorkstationConfigIamPolicyOutput) Project

func (WorkstationClusterWorkstationConfigIamPolicyOutput) ToWorkstationClusterWorkstationConfigIamPolicyOutput

func (o WorkstationClusterWorkstationConfigIamPolicyOutput) ToWorkstationClusterWorkstationConfigIamPolicyOutput() WorkstationClusterWorkstationConfigIamPolicyOutput

func (WorkstationClusterWorkstationConfigIamPolicyOutput) ToWorkstationClusterWorkstationConfigIamPolicyOutputWithContext

func (o WorkstationClusterWorkstationConfigIamPolicyOutput) ToWorkstationClusterWorkstationConfigIamPolicyOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigIamPolicyOutput

func (WorkstationClusterWorkstationConfigIamPolicyOutput) Version

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

func (WorkstationClusterWorkstationConfigIamPolicyOutput) WorkstationClusterId

func (WorkstationClusterWorkstationConfigIamPolicyOutput) WorkstationConfigId

type WorkstationClusterWorkstationConfigIamPolicyState

type WorkstationClusterWorkstationConfigIamPolicyState struct {
}

func (WorkstationClusterWorkstationConfigIamPolicyState) ElementType

type WorkstationClusterWorkstationConfigWorkstationIamBinding

type WorkstationClusterWorkstationConfigWorkstationIamBinding struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

func GetWorkstationClusterWorkstationConfigWorkstationIamBinding

GetWorkstationClusterWorkstationConfigWorkstationIamBinding gets an existing WorkstationClusterWorkstationConfigWorkstationIamBinding 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 NewWorkstationClusterWorkstationConfigWorkstationIamBinding

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

func (*WorkstationClusterWorkstationConfigWorkstationIamBinding) ElementType

func (*WorkstationClusterWorkstationConfigWorkstationIamBinding) ToWorkstationClusterWorkstationConfigWorkstationIamBindingOutput

func (i *WorkstationClusterWorkstationConfigWorkstationIamBinding) ToWorkstationClusterWorkstationConfigWorkstationIamBindingOutput() WorkstationClusterWorkstationConfigWorkstationIamBindingOutput

func (*WorkstationClusterWorkstationConfigWorkstationIamBinding) ToWorkstationClusterWorkstationConfigWorkstationIamBindingOutputWithContext

func (i *WorkstationClusterWorkstationConfigWorkstationIamBinding) ToWorkstationClusterWorkstationConfigWorkstationIamBindingOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigWorkstationIamBindingOutput

type WorkstationClusterWorkstationConfigWorkstationIamBindingArgs

type WorkstationClusterWorkstationConfigWorkstationIamBindingArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identities that will be granted the privilege in role. Each entry can have one of the following values:
	//
	//  * 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.
	Members pulumi.StringArrayInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied. Only one `IamBinding` can be used per role.
	Role pulumi.StringInput
}

The set of arguments for constructing a WorkstationClusterWorkstationConfigWorkstationIamBinding resource.

func (WorkstationClusterWorkstationConfigWorkstationIamBindingArgs) ElementType

type WorkstationClusterWorkstationConfigWorkstationIamBindingInput

type WorkstationClusterWorkstationConfigWorkstationIamBindingInput interface {
	pulumi.Input

	ToWorkstationClusterWorkstationConfigWorkstationIamBindingOutput() WorkstationClusterWorkstationConfigWorkstationIamBindingOutput
	ToWorkstationClusterWorkstationConfigWorkstationIamBindingOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigWorkstationIamBindingOutput
}

type WorkstationClusterWorkstationConfigWorkstationIamBindingOutput

type WorkstationClusterWorkstationConfigWorkstationIamBindingOutput struct{ *pulumi.OutputState }

func (WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) Condition

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) ElementType

func (WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) Etag

The etag of the resource's IAM policy.

func (WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) Members

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) Name

The name of the resource to manage IAM policies for.

func (WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) Project

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) Role

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) ToWorkstationClusterWorkstationConfigWorkstationIamBindingOutput

func (WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) ToWorkstationClusterWorkstationConfigWorkstationIamBindingOutputWithContext

func (o WorkstationClusterWorkstationConfigWorkstationIamBindingOutput) ToWorkstationClusterWorkstationConfigWorkstationIamBindingOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigWorkstationIamBindingOutput

type WorkstationClusterWorkstationConfigWorkstationIamBindingState

type WorkstationClusterWorkstationConfigWorkstationIamBindingState struct {
}

func (WorkstationClusterWorkstationConfigWorkstationIamBindingState) ElementType

type WorkstationClusterWorkstationConfigWorkstationIamMember

type WorkstationClusterWorkstationConfigWorkstationIamMember struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Member pulumi.StringOutput `pulumi:"member"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

func GetWorkstationClusterWorkstationConfigWorkstationIamMember

GetWorkstationClusterWorkstationConfigWorkstationIamMember gets an existing WorkstationClusterWorkstationConfigWorkstationIamMember 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 NewWorkstationClusterWorkstationConfigWorkstationIamMember

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

func (*WorkstationClusterWorkstationConfigWorkstationIamMember) ElementType

func (*WorkstationClusterWorkstationConfigWorkstationIamMember) ToWorkstationClusterWorkstationConfigWorkstationIamMemberOutput

func (i *WorkstationClusterWorkstationConfigWorkstationIamMember) ToWorkstationClusterWorkstationConfigWorkstationIamMemberOutput() WorkstationClusterWorkstationConfigWorkstationIamMemberOutput

func (*WorkstationClusterWorkstationConfigWorkstationIamMember) ToWorkstationClusterWorkstationConfigWorkstationIamMemberOutputWithContext

func (i *WorkstationClusterWorkstationConfigWorkstationIamMember) ToWorkstationClusterWorkstationConfigWorkstationIamMemberOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigWorkstationIamMemberOutput

type WorkstationClusterWorkstationConfigWorkstationIamMemberArgs

type WorkstationClusterWorkstationConfigWorkstationIamMemberArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identity that will be granted the privilege in role. The entry can have one of the following values:
	//
	//  * 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.
	Member pulumi.StringInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied.
	Role pulumi.StringInput
}

The set of arguments for constructing a WorkstationClusterWorkstationConfigWorkstationIamMember resource.

func (WorkstationClusterWorkstationConfigWorkstationIamMemberArgs) ElementType

type WorkstationClusterWorkstationConfigWorkstationIamMemberInput

type WorkstationClusterWorkstationConfigWorkstationIamMemberInput interface {
	pulumi.Input

	ToWorkstationClusterWorkstationConfigWorkstationIamMemberOutput() WorkstationClusterWorkstationConfigWorkstationIamMemberOutput
	ToWorkstationClusterWorkstationConfigWorkstationIamMemberOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigWorkstationIamMemberOutput
}

type WorkstationClusterWorkstationConfigWorkstationIamMemberOutput

type WorkstationClusterWorkstationConfigWorkstationIamMemberOutput struct{ *pulumi.OutputState }

func (WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) Condition

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) ElementType

func (WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) Etag

The etag of the resource's IAM policy.

func (WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) Member

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) Name

The name of the resource to manage IAM policies for.

func (WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) Project

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) Role

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) ToWorkstationClusterWorkstationConfigWorkstationIamMemberOutput

func (WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) ToWorkstationClusterWorkstationConfigWorkstationIamMemberOutputWithContext

func (o WorkstationClusterWorkstationConfigWorkstationIamMemberOutput) ToWorkstationClusterWorkstationConfigWorkstationIamMemberOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigWorkstationIamMemberOutput

type WorkstationClusterWorkstationConfigWorkstationIamMemberState

type WorkstationClusterWorkstationConfigWorkstationIamMemberState struct {
}

func (WorkstationClusterWorkstationConfigWorkstationIamMemberState) ElementType

type WorkstationClusterWorkstationConfigWorkstationIamPolicy

type WorkstationClusterWorkstationConfigWorkstationIamPolicy struct {
	pulumi.CustomResourceState

	// Specifies cloud audit logging configuration for this policy.
	AuditConfigs AuditConfigResponseArrayOutput `pulumi:"auditConfigs"`
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings BindingResponseArrayOutput `pulumi:"bindings"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag     pulumi.StringOutput `pulumi:"etag"`
	Location pulumi.StringOutput `pulumi:"location"`
	Project  pulumi.StringOutput `pulumi:"project"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version              pulumi.IntOutput    `pulumi:"version"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	WorkstationConfigId  pulumi.StringOutput `pulumi:"workstationConfigId"`
	WorkstationId        pulumi.StringOutput `pulumi:"workstationId"`
}

Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. Note - this resource's API doesn't support deletion. When deleted, the resource will persist on Google Cloud even though it will be deleted from Pulumi state.

func GetWorkstationClusterWorkstationConfigWorkstationIamPolicy

GetWorkstationClusterWorkstationConfigWorkstationIamPolicy gets an existing WorkstationClusterWorkstationConfigWorkstationIamPolicy 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 NewWorkstationClusterWorkstationConfigWorkstationIamPolicy

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

func (*WorkstationClusterWorkstationConfigWorkstationIamPolicy) ElementType

func (*WorkstationClusterWorkstationConfigWorkstationIamPolicy) ToWorkstationClusterWorkstationConfigWorkstationIamPolicyOutput

func (i *WorkstationClusterWorkstationConfigWorkstationIamPolicy) ToWorkstationClusterWorkstationConfigWorkstationIamPolicyOutput() WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput

func (*WorkstationClusterWorkstationConfigWorkstationIamPolicy) ToWorkstationClusterWorkstationConfigWorkstationIamPolicyOutputWithContext

func (i *WorkstationClusterWorkstationConfigWorkstationIamPolicy) ToWorkstationClusterWorkstationConfigWorkstationIamPolicyOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput

type WorkstationClusterWorkstationConfigWorkstationIamPolicyArgs

type WorkstationClusterWorkstationConfigWorkstationIamPolicyArgs struct {
	// Specifies cloud audit logging configuration for this policy.
	AuditConfigs AuditConfigArrayInput
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings BindingArrayInput
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	Project  pulumi.StringPtrInput
	// OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: "bindings, etag"`
	UpdateMask pulumi.StringPtrInput
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version              pulumi.IntPtrInput
	WorkstationClusterId pulumi.StringInput
	WorkstationConfigId  pulumi.StringInput
	WorkstationId        pulumi.StringInput
}

The set of arguments for constructing a WorkstationClusterWorkstationConfigWorkstationIamPolicy resource.

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyArgs) ElementType

type WorkstationClusterWorkstationConfigWorkstationIamPolicyInput

type WorkstationClusterWorkstationConfigWorkstationIamPolicyInput interface {
	pulumi.Input

	ToWorkstationClusterWorkstationConfigWorkstationIamPolicyOutput() WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput
	ToWorkstationClusterWorkstationConfigWorkstationIamPolicyOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput
}

type WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput

type WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput struct{ *pulumi.OutputState }

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) AuditConfigs

Specifies cloud audit logging configuration for this policy.

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) Bindings

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) ElementType

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) Etag

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) Location

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) Project

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) ToWorkstationClusterWorkstationConfigWorkstationIamPolicyOutput

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) ToWorkstationClusterWorkstationConfigWorkstationIamPolicyOutputWithContext

func (o WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) ToWorkstationClusterWorkstationConfigWorkstationIamPolicyOutputWithContext(ctx context.Context) WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) Version

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) WorkstationClusterId

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) WorkstationConfigId

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyOutput) WorkstationId

type WorkstationClusterWorkstationConfigWorkstationIamPolicyState

type WorkstationClusterWorkstationConfigWorkstationIamPolicyState struct {
}

func (WorkstationClusterWorkstationConfigWorkstationIamPolicyState) ElementType

type WorkstationConfig

type WorkstationConfig struct {
	pulumi.CustomResourceState

	// Optional. Client-specified annotations.
	Annotations pulumi.StringMapOutput `pulumi:"annotations"`
	// Status conditions describing the current resource state.
	Conditions StatusResponseArrayOutput `pulumi:"conditions"`
	// Optional. Container that runs upon startup for each workstation using this workstation configuration.
	Container ContainerResponseOutput `pulumi:"container"`
	// Time when this workstation configuration was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Whether this resource is degraded, in which case it may require user action to restore full functionality. See also the conditions field.
	Degraded pulumi.BoolOutput `pulumi:"degraded"`
	// Time when this workstation configuration was soft-deleted.
	DeleteTime pulumi.StringOutput `pulumi:"deleteTime"`
	// Optional. Human-readable name for this workstation configuration.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). 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 might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created.
	EncryptionKey CustomerEncryptionKeyResponseOutput `pulumi:"encryptionKey"`
	// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Optional. Runtime host for the workstation.
	Host HostResponseOutput `pulumi:"host"`
	// Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).
	IdleTimeout pulumi.StringOutput `pulumi:"idleTimeout"`
	// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
	Labels   pulumi.StringMapOutput `pulumi:"labels"`
	Location pulumi.StringOutput    `pulumi:"location"`
	// Identifier. Full name of this workstation configuration.
	Name pulumi.StringOutput `pulumi:"name"`
	// Optional. Directories to persist across workstation sessions.
	PersistentDirectories PersistentDirectoryResponseArrayOutput `pulumi:"persistentDirectories"`
	Project               pulumi.StringOutput                    `pulumi:"project"`
	// Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.
	ReadinessChecks ReadinessCheckResponseArrayOutput `pulumi:"readinessChecks"`
	// Indicates whether this workstation configuration is currently being updated to match its intended state.
	Reconciling pulumi.BoolOutput `pulumi:"reconciling"`
	// Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
	ReplicaZones pulumi.StringArrayOutput `pulumi:"replicaZones"`
	// Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.
	RunningTimeout pulumi.StringOutput `pulumi:"runningTimeout"`
	// A system-assigned unique identifier for this workstation configuration.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// Time when this workstation configuration was most recently updated.
	UpdateTime           pulumi.StringOutput `pulumi:"updateTime"`
	WorkstationClusterId pulumi.StringOutput `pulumi:"workstationClusterId"`
	// Required. ID to use for the workstation configuration.
	WorkstationConfigId pulumi.StringOutput `pulumi:"workstationConfigId"`
}

Creates a new workstation configuration.

func GetWorkstationConfig

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

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

func NewWorkstationConfig

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

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

func (*WorkstationConfig) ElementType

func (*WorkstationConfig) ElementType() reflect.Type

func (*WorkstationConfig) ToWorkstationConfigOutput

func (i *WorkstationConfig) ToWorkstationConfigOutput() WorkstationConfigOutput

func (*WorkstationConfig) ToWorkstationConfigOutputWithContext

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

type WorkstationConfigArgs

type WorkstationConfigArgs struct {
	// Optional. Client-specified annotations.
	Annotations pulumi.StringMapInput
	// Optional. Container that runs upon startup for each workstation using this workstation configuration.
	Container ContainerPtrInput
	// Optional. Human-readable name for this workstation configuration.
	DisplayName pulumi.StringPtrInput
	// Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). 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 might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created.
	EncryptionKey CustomerEncryptionKeyPtrInput
	// Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.
	Etag pulumi.StringPtrInput
	// Optional. Runtime host for the workstation.
	Host HostPtrInput
	// Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).
	IdleTimeout pulumi.StringPtrInput
	// Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
	Labels   pulumi.StringMapInput
	Location pulumi.StringPtrInput
	// Identifier. Full name of this workstation configuration.
	Name pulumi.StringPtrInput
	// Optional. Directories to persist across workstation sessions.
	PersistentDirectories PersistentDirectoryArrayInput
	Project               pulumi.StringPtrInput
	// Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.
	ReadinessChecks ReadinessCheckArrayInput
	// Optional. Immutable. Specifies the zones used to replicate the VM and disk resources within the region. If set, exactly two zones within the workstation cluster's region must be specified—for example, `['us-central1-a', 'us-central1-f']`. If this field is empty, two default zones within the region are used. Immutable after the workstation configuration is created.
	ReplicaZones pulumi.StringArrayInput
	// Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.
	RunningTimeout       pulumi.StringPtrInput
	WorkstationClusterId pulumi.StringInput
	// Required. ID to use for the workstation configuration.
	WorkstationConfigId pulumi.StringInput
}

The set of arguments for constructing a WorkstationConfig resource.

func (WorkstationConfigArgs) ElementType

func (WorkstationConfigArgs) ElementType() reflect.Type

type WorkstationConfigInput

type WorkstationConfigInput interface {
	pulumi.Input

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

type WorkstationConfigOutput

type WorkstationConfigOutput struct{ *pulumi.OutputState }

func (WorkstationConfigOutput) Annotations

Optional. Client-specified annotations.

func (WorkstationConfigOutput) Conditions

Status conditions describing the current resource state.

func (WorkstationConfigOutput) Container

Optional. Container that runs upon startup for each workstation using this workstation configuration.

func (WorkstationConfigOutput) CreateTime

Time when this workstation configuration was created.

func (WorkstationConfigOutput) Degraded

Whether this resource is degraded, in which case it may require user action to restore full functionality. See also the conditions field.

func (WorkstationConfigOutput) DeleteTime

Time when this workstation configuration was soft-deleted.

func (WorkstationConfigOutput) DisplayName

Optional. Human-readable name for this workstation configuration.

func (WorkstationConfigOutput) ElementType

func (WorkstationConfigOutput) ElementType() reflect.Type

func (WorkstationConfigOutput) EncryptionKey

Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). 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 might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created.

func (WorkstationConfigOutput) Etag

Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.

func (WorkstationConfigOutput) Host

Optional. Runtime host for the workstation.

func (WorkstationConfigOutput) IdleTimeout

Optional. Number of seconds to wait before automatically stopping a workstation after it last received user traffic. A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration should never time out due to idleness. Provide [duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).

func (WorkstationConfigOutput) Labels

Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.

func (WorkstationConfigOutput) Location

func (WorkstationConfigOutput) Name

Identifier. Full name of this workstation configuration.

func (WorkstationConfigOutput) PersistentDirectories

Optional. Directories to persist across workstation sessions.

func (WorkstationConfigOutput) Project

func (WorkstationConfigOutput) ReadinessChecks

Optional. Readiness checks to perform when starting a workstation using this workstation configuration. Mark a workstation as running only after all specified readiness checks return 200 status codes.

func (WorkstationConfigOutput) Reconciling

func (o WorkstationConfigOutput) Reconciling() pulumi.BoolOutput

Indicates whether this workstation configuration is currently being updated to match its intended state.

func (WorkstationConfigOutput) ReplicaZones

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

func (WorkstationConfigOutput) RunningTimeout

func (o WorkstationConfigOutput) RunningTimeout() pulumi.StringOutput

Optional. Number of seconds that a workstation can run until it is automatically shut down. We recommend that workstations be shut down daily to reduce costs and so that security updates can be applied upon restart. The idle_timeout and running_timeout fields are independent of each other. Note that the running_timeout field shuts down VMs after the specified time, regardless of whether or not the VMs are idle. Provide duration terminated by `s` for seconds—for example, `"54000s"` (15 hours). Defaults to `"43200s"` (12 hours). A value of `"0s"` indicates that workstations using this configuration should never time out. If encryption_key is set, it must be greater than `"0s"` and less than `"86400s"` (24 hours). Warning: A value of `"0s"` indicates that Cloud Workstations VMs created with this configuration have no maximum running time. This is strongly discouraged because you incur costs and will not pick up security updates.

func (WorkstationConfigOutput) ToWorkstationConfigOutput

func (o WorkstationConfigOutput) ToWorkstationConfigOutput() WorkstationConfigOutput

func (WorkstationConfigOutput) ToWorkstationConfigOutputWithContext

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

func (WorkstationConfigOutput) Uid

A system-assigned unique identifier for this workstation configuration.

func (WorkstationConfigOutput) UpdateTime

Time when this workstation configuration was most recently updated.

func (WorkstationConfigOutput) WorkstationClusterId

func (o WorkstationConfigOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationConfigOutput) WorkstationConfigId

func (o WorkstationConfigOutput) WorkstationConfigId() pulumi.StringOutput

Required. ID to use for the workstation configuration.

type WorkstationConfigState

type WorkstationConfigState struct {
}

func (WorkstationConfigState) ElementType

func (WorkstationConfigState) ElementType() reflect.Type

type WorkstationInput

type WorkstationInput interface {
	pulumi.Input

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

type WorkstationOutput

type WorkstationOutput struct{ *pulumi.OutputState }

func (WorkstationOutput) Annotations

func (o WorkstationOutput) Annotations() pulumi.StringMapOutput

Optional. Client-specified annotations.

func (WorkstationOutput) CreateTime

func (o WorkstationOutput) CreateTime() pulumi.StringOutput

Time when this workstation was created.

func (WorkstationOutput) DeleteTime

func (o WorkstationOutput) DeleteTime() pulumi.StringOutput

Time when this workstation was soft-deleted.

func (WorkstationOutput) DisplayName

func (o WorkstationOutput) DisplayName() pulumi.StringOutput

Optional. Human-readable name for this workstation.

func (WorkstationOutput) ElementType

func (WorkstationOutput) ElementType() reflect.Type

func (WorkstationOutput) Env

Optional. Environment variables passed to the workstation container's entrypoint.

func (WorkstationOutput) Etag

Optional. Checksum computed by the server. May be sent on update and delete requests to make sure that the client has an up-to-date value before proceeding.

func (WorkstationOutput) Host

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

func (WorkstationOutput) Labels

Optional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation and that are also propagated to the underlying Compute Engine resources.

func (WorkstationOutput) Location

func (o WorkstationOutput) Location() pulumi.StringOutput

func (WorkstationOutput) Name

Identifier. Full name of this workstation.

func (WorkstationOutput) Project

func (WorkstationOutput) Reconciling

func (o WorkstationOutput) Reconciling() pulumi.BoolOutput

Indicates whether this workstation is currently being updated to match its intended state.

func (WorkstationOutput) StartTime

func (o WorkstationOutput) StartTime() pulumi.StringOutput

Time when this workstation was most recently successfully started, regardless of the workstation's initial state.

func (WorkstationOutput) State

Current state of the workstation.

func (WorkstationOutput) ToWorkstationOutput

func (o WorkstationOutput) ToWorkstationOutput() WorkstationOutput

func (WorkstationOutput) ToWorkstationOutputWithContext

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

func (WorkstationOutput) Uid

A system-assigned unique identifier for this workstation.

func (WorkstationOutput) UpdateTime

func (o WorkstationOutput) UpdateTime() pulumi.StringOutput

Time when this workstation was most recently updated.

func (WorkstationOutput) WorkstationClusterId

func (o WorkstationOutput) WorkstationClusterId() pulumi.StringOutput

func (WorkstationOutput) WorkstationConfigId

func (o WorkstationOutput) WorkstationConfigId() pulumi.StringOutput

func (WorkstationOutput) WorkstationId

func (o WorkstationOutput) WorkstationId() pulumi.StringOutput

Required. ID to use for the workstation.

type WorkstationState

type WorkstationState struct {
}

func (WorkstationState) ElementType

func (WorkstationState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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