Skip to main content

@swamp/gcp/workstations

v2026.04.23.1

Google Cloud workstations infrastructure models

Repository

https://github.com/systeminit/swamp-extensions

Labels

gcpgoogle-cloudworkstationscloudinfrastructure

Contents

Quality score

Verified by Swamp

How well-documented and verifiable this extension is.

100%

Grade A

  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Has description1/1earned
  • At least one platform tag (or universal)1/1earned
  • Two or more platform tags (or universal)1/1earned
  • License declared1/1earned
  • Verified public repository2/2earned

Install

$ swamp extension pull @swamp/gcp/workstations

@swamp/gcp/workstations/locationsv2026.04.23.1locations.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a locations
ArgumentTypeDescription
identifierstringThe name of the locations
syncSync locations state from GCP

Resources

state(infinite)— A resource that represents a Google Cloud location.
@swamp/gcp/workstations/workstationclustersv2026.04.23.1workstationclusters.ts

Global Arguments

ArgumentTypeDescription
annotations?recordOptional. Client-specified annotations.
displayName?stringOptional. Human-readable name for this workstation cluster.
domainConfig?objectConfiguration options for a custom domain.
gatewayConfig?objectConfiguration options for Cluster HTTP Gateway.
labels?recordOptional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation cluster and that are also propagated to the underlying Compute Engine resources.
name?stringIdentifier. Full name of this workstation cluster.
network?stringImmutable. Name of the Compute Engine network in which instances associated with this workstation cluster will be created.
privateClusterConfig?objectConfiguration options for private workstation clusters.
subnetwork?stringImmutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.
tags?recordOptional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"
workstationAuthorizationUrl?stringOptional. Specifies the redirect URL for unauthorized requests received by workstation VMs in this cluster. Redirects to this endpoint will send a base64 encoded `state` query param containing the target workstation name and original request hostname. The endpoint is responsible for retrieving a token using `GenerateAccessToken` and redirecting back to the original hostname with the token.
workstationLaunchUrl?stringOptional. Specifies the launch URL for workstations in this cluster. Requests sent to unstarted workstations will be redirected to this URL. Requests redirected to the launch endpoint will be sent with a `workstation` and `project` query parameter containing the full workstation resource name and project ID, respectively. The launch endpoint is responsible for starting the workstation, polling it until it reaches `STATE_RUNNING`, and then issuing a redirect to the workstation's host URL.
workstationClusterId?stringRequired. ID to use for the workstation cluster.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a workstationClusters
getGet a workstationClusters
ArgumentTypeDescription
identifierstringThe name of the workstationClusters
updateUpdate workstationClusters attributes
deleteDelete the workstationClusters
ArgumentTypeDescription
identifierstringThe name of the workstationClusters
syncSync workstationClusters state from GCP

Resources

state(infinite)— A workstation cluster resource in the Cloud Workstations API. Defines a group...
@swamp/gcp/workstations/workstationclusters-workstationconfigsv2026.04.23.1workstationclusters_workstationconfigs.ts

Global Arguments

ArgumentTypeDescription
allowedPorts?arrayOptional. A list of PortRanges specifying single ports or ranges of ports that are externally accessible in the workstation. Allowed ports must be one of 22, 80, or within range 1024-65535. If not specified defaults to ports 22, 80, and ports 1024-65535.
annotations?recordOptional. Client-specified annotations.
container?objectA Docker container.
disableTcpConnections?booleanOptional. Disables support for plain TCP connections in the workstation. By default the service supports TCP connections through a websocket relay. Setting this option to true disables that relay, which prevents the usage of services that require plain TCP connections, such as SSH. When enabled, all communication must occur over HTTPS or WSS.
displayName?stringOptional. Human-readable name for this workstation configuration.
enableAuditAgent?booleanOptional. Whether to enable Linux `auditd` logging on the workstation. When enabled, a service_account must also be specified that has `roles/logging.logWriter` and `roles/monitoring.metricWriter` on the project. Operating system audit logging is distinct from [Cloud Audit Logs](https://cloud.google.com/workstations/docs/audit-logging) and [Container output logging](https://cloud.google.com/workstations/docs/container-output-logging#overview). Operating system audit logs are available in the [Cl
encryptionKey?objectA customer-managed encryption key (CMEK) for the Compute Engine resources of the associated workstation configuration. Specify the name of your Cloud KMS encryption key and the default service account. We recommend that you use a separate service account and follow [Cloud KMS best practices](https://cloud.google.com/kms/docs/separation-of-duties).
ephemeralDirectories?arrayOptional. Ephemeral directories which won't persist across workstation sessions.
grantWorkstationAdminRoleOnCreate?booleanOptional. Grant creator of a workstation `roles/workstations.policyAdmin` role along with `roles/workstations.user` role on the workstation created by them. This allows workstation users to share access to either their entire workstation, or individual ports. Defaults to false.
host?objectRuntime host for a workstation.
idleTimeout?stringOptional. 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#duration) terminated by `s` for seconds—for example, `"7200s"` (2 hours). The default is `"1200s"` (20 minutes).
labels?recordOptional. [Labels](https://cloud.google.com/workstations/docs/label-resources) that are applied to the workstation configuration and that are also propagated to the underlying Compute Engine resources.
maxUsableWorkstations?numberOptional. Maximum number of workstations under this configuration a user can have `workstations.workstation.use` permission on. Only enforced on CreateWorkstation API calls on the user issuing the API request. Can be overridden by: - granting a user workstations.workstationConfigs.exemptMaxUsableWorkstationLimit permission, or - having a user with that permission create a workstation and granting another user `workstations.workstation.use` permission on that workstation. If not specified, defaul
name?stringIdentifier. Full name of this workstation configuration.
persistentDirectories?arrayOptional. Directories to persist across workstation sessions.
readinessChecks?arrayOptional. 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.
replicaZones?arrayOptional. 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.
runningTimeout?stringOptional. Number of seconds that a workstation can run until it is automatically shut down. This field applies to workstations in both STATE_RUNNING and STATE_SUSPENDED. 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
workstationConfigId?stringRequired. ID to use for the workstation configuration.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a workstationConfigs
getGet a workstationConfigs
ArgumentTypeDescription
identifierstringThe name of the workstationConfigs
updateUpdate workstationConfigs attributes
deleteDelete the workstationConfigs
ArgumentTypeDescription
identifierstringThe name of the workstationConfigs
syncSync workstationConfigs state from GCP
list_usablelist usable

Resources

state(infinite)— A workstation configuration resource in the Cloud Workstations API. Workstati...
@swamp/gcp/workstations/workstationclusters-workstationconfigs-workstationsv2026.04.23.1workstationclusters_workstationconfigs_workstations.ts

Global Arguments

ArgumentTypeDescription
annotations?recordOptional. Client-specified annotations.
displayName?stringOptional. Human-readable name for this workstation.
env?recordOptional. Environment variables passed to the workstation container's entrypoint.
labels?recordOptional. [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.
name?stringIdentifier. Full name of this workstation.
runtimeHost?objectRuntime host for the workstation.
sourceWorkstation?stringOptional. The source workstation from which this workstation's persistent directories were cloned on creation.
workstationId?stringRequired. ID to use for the workstation.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a workstations
getGet a workstations
ArgumentTypeDescription
identifierstringThe name of the workstations
updateUpdate workstations attributes
deleteDelete the workstations
ArgumentTypeDescription
identifierstringThe name of the workstations
syncSync workstations state from GCP
generate_access_tokengenerate access token
ArgumentTypeDescription
expireTime?any
port?any
ttl?any
list_usablelist usable
startstart
ArgumentTypeDescription
boostConfig?any
etag?any
validateOnly?any
stopstop
ArgumentTypeDescription
etag?any
validateOnly?any

Resources

state(infinite)— A single instance of a developer workstation with its own persistent storage.