Cloud Workstations v1 API - Class WorkstationConfig (1.3.0)

public sealed class WorkstationConfig : IMessage<WorkstationConfig>, IEquatable<WorkstationConfig>, IDeepCloneable<WorkstationConfig>, IBufferMessage, IMessage

Reference documentation and code samples for the Cloud Workstations v1 API class WorkstationConfig.

A workstation configuration resource in the Cloud Workstations API.

Workstation configurations act as templates for workstations. The workstation configuration defines details such as the workstation virtual machine (VM) instance type, persistent storage, container image defining environment, which IDE or Code Editor to use, and more. Administrators and platform teams can also use Identity and Access Management (IAM) rules to grant access to teams or to individual developers.

Inheritance

object > WorkstationConfig

Namespace

Google.Cloud.Workstations.V1

Assembly

Google.Cloud.Workstations.V1.dll

Constructors

WorkstationConfig()

public WorkstationConfig()

WorkstationConfig(WorkstationConfig)

public WorkstationConfig(WorkstationConfig other)
Parameter
Name Description
other WorkstationConfig

Properties

Annotations

public MapField<string, string> Annotations { get; }

Optional. Client-specified annotations.

Property Value
Type Description
MapFieldstringstring

Conditions

public RepeatedField<Status> Conditions { get; }

Output only. Status conditions describing the current resource state.

Property Value
Type Description
RepeatedFieldStatus

Container

public WorkstationConfig.Types.Container Container { get; set; }

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

Property Value
Type Description
WorkstationConfigTypesContainer

CreateTime

public Timestamp CreateTime { get; set; }

Output only. Time when this workstation configuration was created.

Property Value
Type Description
Timestamp

Degraded

public bool Degraded { get; set; }

Output only. Whether this resource is degraded, in which case it may require user action to restore full functionality. See also the [conditions][google.cloud.workstations.v1.WorkstationConfig.conditions] field.

Property Value
Type Description
bool

DeleteTime

public Timestamp DeleteTime { get; set; }

Output only. Time when this workstation configuration was soft-deleted.

Property Value
Type Description
Timestamp

DisplayName

public string DisplayName { get; set; }

Optional. Human-readable name for this workstation configuration.

Property Value
Type Description
string

EncryptionKey

public WorkstationConfig.Types.CustomerEncryptionKey EncryptionKey { get; set; }

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.

Property Value
Type Description
WorkstationConfigTypesCustomerEncryptionKey

Etag

public string Etag { get; set; }

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.

Property Value
Type Description
string

Host

public WorkstationConfig.Types.Host Host { get; set; }

Optional. Runtime host for the workstation.

Property Value
Type Description
WorkstationConfigTypesHost

IdleTimeout

public Duration IdleTimeout { get; set; }

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 terminated by s for seconds—for example, "7200s" (2 hours). The default is "1200s" (20 minutes).

Property Value
Type Description
Duration

Labels

public MapField<string, string> Labels { get; }

Optional. Labels that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.

Property Value
Type Description
MapFieldstringstring

Name

public string Name { get; set; }

Full name of this workstation configuration.

Property Value
Type Description
string

PersistentDirectories

public RepeatedField<WorkstationConfig.Types.PersistentDirectory> PersistentDirectories { get; }

Optional. Directories to persist across workstation sessions.

Property Value
Type Description
RepeatedFieldWorkstationConfigTypesPersistentDirectory

ReadinessChecks

public RepeatedField<WorkstationConfig.Types.ReadinessCheck> ReadinessChecks { get; }

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.

Property Value
Type Description
RepeatedFieldWorkstationConfigTypesReadinessCheck

Reconciling

public bool Reconciling { get; set; }

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

Property Value
Type Description
bool

ReplicaZones

public RepeatedField<string> ReplicaZones { get; }

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.

Property Value
Type Description
RepeatedFieldstring

RunningTimeout

public Duration RunningTimeout { get; set; }

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][google.cloud.workstations.v1.WorkstationConfig.idle_timeout] and [running_timeout][google.cloud.workstations.v1.WorkstationConfig.running_timeout] fields are independent of each other. Note that the [running_timeout][google.cloud.workstations.v1.WorkstationConfig.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][google.cloud.workstations.v1.WorkstationConfig.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.

Property Value
Type Description
Duration

Uid

public string Uid { get; set; }

Output only. A system-assigned unique identifier for this workstation configuration.

Property Value
Type Description
string

UpdateTime

public Timestamp UpdateTime { get; set; }

Output only. Time when this workstation configuration was most recently updated.

Property Value
Type Description
Timestamp

WorkstationConfigName

public WorkstationConfigName WorkstationConfigName { get; set; }

WorkstationConfigName-typed view over the Name resource name property.

Property Value
Type Description
WorkstationConfigName