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