Reference documentation and code samples for the Cloud Workstations V1 API class Google::Cloud::Workstations::V1::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.
Inherits
- Object
Extended By
- Google::Protobuf::MessageExts::ClassMethods
Includes
- Google::Protobuf::MessageExts
Methods
#annotations
def annotations() -> ::Google::Protobuf::Map{::String => ::String}
- (::Google::Protobuf::Map{::String => ::String}) — Optional. Client-specified annotations.
#annotations=
def annotations=(value) -> ::Google::Protobuf::Map{::String => ::String}
- value (::Google::Protobuf::Map{::String => ::String}) — Optional. Client-specified annotations.
- (::Google::Protobuf::Map{::String => ::String}) — Optional. Client-specified annotations.
#conditions
def conditions() -> ::Array<::Google::Rpc::Status>
- (::Array<::Google::Rpc::Status>) — Output only. Status conditions describing the current resource state.
#container
def container() -> ::Google::Cloud::Workstations::V1::WorkstationConfig::Container
- (::Google::Cloud::Workstations::V1::WorkstationConfig::Container) — Optional. Container that runs upon startup for each workstation using this workstation configuration.
#container=
def container=(value) -> ::Google::Cloud::Workstations::V1::WorkstationConfig::Container
- value (::Google::Cloud::Workstations::V1::WorkstationConfig::Container) — Optional. Container that runs upon startup for each workstation using this workstation configuration.
- (::Google::Cloud::Workstations::V1::WorkstationConfig::Container) — Optional. Container that runs upon startup for each workstation using this workstation configuration.
#create_time
def create_time() -> ::Google::Protobuf::Timestamp
- (::Google::Protobuf::Timestamp) — Output only. Time when this workstation configuration was created.
#degraded
def degraded() -> ::Boolean
- (::Boolean) — Output only. Whether this resource is degraded, in which case it may require user action to restore full functionality. See also the conditions field.
#delete_time
def delete_time() -> ::Google::Protobuf::Timestamp
- (::Google::Protobuf::Timestamp) — Output only. Time when this workstation configuration was soft-deleted.
#display_name
def display_name() -> ::String
- (::String) — Optional. Human-readable name for this workstation configuration.
#display_name=
def display_name=(value) -> ::String
- value (::String) — Optional. Human-readable name for this workstation configuration.
- (::String) — Optional. Human-readable name for this workstation configuration.
#encryption_key
def encryption_key() -> ::Google::Cloud::Workstations::V1::WorkstationConfig::CustomerEncryptionKey
-
(::Google::Cloud::Workstations::V1::WorkstationConfig::CustomerEncryptionKey) — 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.
#encryption_key=
def encryption_key=(value) -> ::Google::Cloud::Workstations::V1::WorkstationConfig::CustomerEncryptionKey
-
value (::Google::Cloud::Workstations::V1::WorkstationConfig::CustomerEncryptionKey) — 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.
-
(::Google::Cloud::Workstations::V1::WorkstationConfig::CustomerEncryptionKey) — 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.
#etag
def etag() -> ::String
- (::String) — 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=
def etag=(value) -> ::String
- value (::String) — 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.
- (::String) — 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.
#host
def host() -> ::Google::Cloud::Workstations::V1::WorkstationConfig::Host
- (::Google::Cloud::Workstations::V1::WorkstationConfig::Host) — Optional. Runtime host for the workstation.
#host=
def host=(value) -> ::Google::Cloud::Workstations::V1::WorkstationConfig::Host
- value (::Google::Cloud::Workstations::V1::WorkstationConfig::Host) — Optional. Runtime host for the workstation.
- (::Google::Cloud::Workstations::V1::WorkstationConfig::Host) — Optional. Runtime host for the workstation.
#idle_timeout
def idle_timeout() -> ::Google::Protobuf::Duration
-
(::Google::Protobuf::Duration) — 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 bys
for seconds—for example,"7200s"
(2 hours). The default is"1200s"
(20 minutes).
#idle_timeout=
def idle_timeout=(value) -> ::Google::Protobuf::Duration
-
value (::Google::Protobuf::Duration) — 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 bys
for seconds—for example,"7200s"
(2 hours). The default is"1200s"
(20 minutes).
-
(::Google::Protobuf::Duration) — 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 bys
for seconds—for example,"7200s"
(2 hours). The default is"1200s"
(20 minutes).
#labels
def labels() -> ::Google::Protobuf::Map{::String => ::String}
- (::Google::Protobuf::Map{::String => ::String}) — Optional. Labels that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
#labels=
def labels=(value) -> ::Google::Protobuf::Map{::String => ::String}
- value (::Google::Protobuf::Map{::String => ::String}) — Optional. Labels that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
- (::Google::Protobuf::Map{::String => ::String}) — Optional. Labels that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
#name
def name() -> ::String
- (::String) — Full name of this workstation configuration.
#name=
def name=(value) -> ::String
- value (::String) — Full name of this workstation configuration.
- (::String) — Full name of this workstation configuration.
#persistent_directories
def persistent_directories() -> ::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::PersistentDirectory>
- (::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::PersistentDirectory>) — Optional. Directories to persist across workstation sessions.
#persistent_directories=
def persistent_directories=(value) -> ::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::PersistentDirectory>
- value (::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::PersistentDirectory>) — Optional. Directories to persist across workstation sessions.
- (::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::PersistentDirectory>) — Optional. Directories to persist across workstation sessions.
#readiness_checks
def readiness_checks() -> ::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::ReadinessCheck>
- (::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::ReadinessCheck>) — 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.
#readiness_checks=
def readiness_checks=(value) -> ::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::ReadinessCheck>
- value (::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::ReadinessCheck>) — 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.
- (::Array<::Google::Cloud::Workstations::V1::WorkstationConfig::ReadinessCheck>) — 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.
#reconciling
def reconciling() -> ::Boolean
- (::Boolean) — Output only. Indicates whether this workstation configuration is currently being updated to match its intended state.
#replica_zones
def replica_zones() -> ::Array<::String>
-
(::Array<::String>) — 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.
#replica_zones=
def replica_zones=(value) -> ::Array<::String>
-
value (::Array<::String>) — 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.
-
(::Array<::String>) — 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.
#running_timeout
def running_timeout() -> ::Google::Protobuf::Duration
-
(::Google::Protobuf::Duration) — 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.
#running_timeout=
def running_timeout=(value) -> ::Google::Protobuf::Duration
-
value (::Google::Protobuf::Duration) — 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.
-
(::Google::Protobuf::Duration) — 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.
#uid
def uid() -> ::String
- (::String) — Output only. A system-assigned unique identifier for this workstation configuration.
#update_time
def update_time() -> ::Google::Protobuf::Timestamp
- (::Google::Protobuf::Timestamp) — Output only. Time when this workstation configuration was most recently updated.