Customize your development environment

This page describes the workstation configuration parameters that allow you to customize the Cloud Workstations environment, including the VM type , home disk size, base container image, and more. In the API, these workstation configuration parameters are collectively referred to as the WorkstationConfig.

Before you use these workstation configuration parameters, familiarize yourself with the following:


REST Resource: projects.locations.workstationClusters.workstationConfigs

Resource: 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.

JSON representation
{
  "name": string,
  "displayName": string,
  "uid": string,
  "reconciling": boolean,
  "annotations": {
    string: string,
    ...
  },
  "labels": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "etag": string,
  "idleTimeout": string,
  "runningTimeout": string,
  "maxUsableWorkstations": integer,
  "host": {
    object (Host)
  },
  "persistentDirectories": [
    {
      object (PersistentDirectory)
    }
  ],
  "ephemeralDirectories": [
    {
      object (EphemeralDirectory)
    }
  ],
  "container": {
    object (Container)
  },
  "encryptionKey": {
    object (CustomerEncryptionKey)
  },
  "readinessChecks": [
    {
      object (ReadinessCheck)
    }
  ],
  "replicaZones": [
    string
  ],
  "degraded": boolean,
  "conditions": [
    {
      object (Status)
    }
  ],
  "enableAuditAgent": boolean,
  "disableTcpConnections": boolean,
  "allowedPorts": [
    {
      object (PortRange)
    }
  ],
  "grantWorkstationAdminRoleOnCreate": boolean
}
Fields
name

string

Identifier. Full name of this workstation configuration.

displayName

string

Optional. Human-readable name for this workstation configuration.

uid

string

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

reconciling

boolean

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

annotations

map (key: string, value: string)

Optional. Client-specified annotations.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

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

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Output only. Time when this workstation configuration was created.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

updateTime