Workstation
| Property | Value |
|---|---|
| Google Cloud Service Name | Cloud Workstations |
| Google Cloud Service Documentation | /workstations/docs/ |
| Google Cloud REST Resource Name | v1.projects.locations.workstationClusters.workstationConfigs.workstations |
| Google Cloud REST Resource Documentation | /workstations/docs/reference/rest/v1/projects.locations.workstationClusters.workstationConfigs.workstations |
| Config Connector Resource Short Names | gcpworkstation gcpworkstations workstation |
| Config Connector Service Name | workstations.googleapis.com |
| Config Connector Resource Fully Qualified Name | workstations.workstations.cnrm.cloud.google.com |
| Can Be Referenced by IAMPolicy/IAMPolicyMember | No |
| Config Connector Default Average Reconcile Interval In Seconds | 600 |
Custom Resource Definition Properties
Spec
Schema
annotations: - key: string value: string displayName: string labels: - key: string value: string parentRef: external: string name: string namespace: string resourceID: string | Fields | |
|---|---|
|
Optional |
Optional. Client-specified annotations. |
|
Optional |
|
|
Optional |
Key for the annotation. |
|
Optional |
Value for the annotation. |
|
Optional |
Optional. Human-readable name for this workstation. |
|
Optional |
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. |
|
Optional |
|
|
Optional |
Key for the label. |
|
Optional |
Value for the label. |
|
Required |
Parent is a reference to the parent WorkstationConfig for this Workstation. |
|
Optional |
A reference to an externally managed WorkstationConfig resource. Should be in the format "projects/{{projectID}}/locations/{{location}}/workstationClusters/{{workstationclusterID}}/workstationConfigs/{{workstationconfigID}}". |
|
Optional |
The name of a WorkstationConfig resource. |
|
Optional |
The namespace of a WorkstationConfig resource. |
|
Optional |
The Workstation name. If not given, the metadata.name will be used. |
Status
Schema
conditions: - lastTransitionTime: string message: string reason: string status: string type: string externalRef: string observedGeneration: integer observedState: createTime: string deleteTime: string etag: string host: string startTime: string state: string uid: string updateTime: string | Fields | |
|---|---|
conditions |
Conditions represent the latest available observations of the object's current state. |
conditions[] |
|
conditions[].lastTransitionTime |
Last time the condition transitioned from one status to another. |
conditions[].message |
Human-readable message indicating details about last transition. |
conditions[].reason |
Unique, one-word, CamelCase reason for the condition's last transition. |
conditions[].status |
Status is the status of the condition. Can be True, False, Unknown. |
conditions[].type |
Type is the type of the condition. |
externalRef |
A unique specifier for the Workstation resource in GCP. |
observedGeneration |
ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. |
observedState |
ObservedState is the state of the resource as most recently observed in GCP. |
observedState.createTime |
Output only. Time when this workstation was created. |
observedState.deleteTime |
Output only. Time when this workstation was soft-deleted. |
observedState.etag |
Output only. 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. |
observedState.host |
Output only. 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}`. |
observedState.startTime |
Output only. Time when this workstation was most recently successfully started, regardless of the workstation's initial state. |
observedState.state |
Output only. Current state of the workstation. |
observedState.uid |
Output only. A system-assigned unique identifier for this workstation. |
observedState.updateTime |
Output only. Time when this workstation was most recently updated. |
Sample YAML(s)
Basic Workstation
# Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: workstations.cnrm.cloud.google.com/v1beta1 kind: Workstation metadata: name: workstationconfig-sample spec: parentRef: name: workstationconfig-dep displayName: workstationconfig-sample --- apiVersion: compute.cnrm.cloud.google.com/v1beta1 kind: ComputeNetwork metadata: name: computenetwork-dep spec: routingMode: GLOBAL autoCreateSubnetworks: false --- apiVersion: compute.cnrm.cloud.google.com/v1beta1 kind: ComputeSubnetwork metadata: name: computesubnetwork-dep spec: ipCidrRange: 10.0.0.0/24 region: us-west1 networkRef: name: computenetwork-dep --- apiVersion: workstations.cnrm.cloud.google.com/v1beta1 kind: WorkstationCluster metadata: name: workstationcluster-dep spec: projectRef: external: "projects/${PROJECT_NUMBER1}" location: us-west1 networkRef: name: computenetwork-dep subnetworkRef: name: computesubnetwork-dep --- apiVersion: workstations.cnrm.cloud.google.com/v1beta1 kind: WorkstationConfig metadata: name: workstationconfig-dep spec: parentRef: name: workstationcluster-dep idleTimeout: "1200s" runningTimeout: "43200s" host: gceInstance: machineType: "e2-standard-4" serviceAccountRef: external: "service-${PROJECT_NUMBER1}@gcp-sa-workstationsvm.iam.gserviceaccount.com" bootDiskSizeGB: 50 container: image: "us-west1-docker.pkg.dev/cloud-workstations-images/predefined/code-oss:latest" replicaZones: - us-west1-a - us-west1-b