Entwicklungsumgebung anpassen

Auf dieser Seite werden die Workstation-Konfigurationsparameter beschrieben, mit denen Sie die Cloud Workstations-Umgebung anpassen können, einschließlich des VM-Typs, der Größe des Startlaufwerks, des Basiscontainer-Images usw. In der API werden diese Workstation-Konfigurationsparameter zusammen als WorkstationConfig bezeichnet.

Bevor Sie diese Workstation-Konfigurationsparameter verwenden, machen Sie sich mit Folgendem vertraut:


REST-Ressource: projects.locations.workstationClusters.workstationConfigs

Ressource: WorkstationConfig

Eine Workstation-Konfigurationsressource in der Cloud Workstations API.

Workstationkonfigurationen dienen als Vorlagen für Workstations. Die Workstationkonfiguration definiert Details wie den Instanztyp der virtuellen Maschine (VM) der Workstation, den nichtflüchtigen Speicher, die zu verwendende IDE oder den zu verwendenden Code-Editor sowie den nichtflüchtigen Speicher, die Umgebung für das Container-Image und vieles mehr. Administratoren und Plattformteams können außerdem IAM-Regeln (Identity and Access Management) verwenden, um Teams oder einzelnen Entwicklern Zugriff zu gewähren.

JSON-Darstellung

{
  "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,
  "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
}
Felder
name

string

ID. Vollständiger Name dieser Workstationkonfiguration.

displayName

string

Optional. Für Menschen lesbarer Name für diese Workstationkonfiguration.

uid

string

Nur Ausgabe Eine vom System zugewiesene eindeutige Kennung für diese Workstationkonfiguration.

reconciling

boolean

Nur Ausgabe Gibt an, ob diese Workstationkonfiguration derzeit aktualisiert wird, damit sie dem beabsichtigten Status entspricht.

annotations

map (key: string, value: string)

Optional. Kundenspezifische Anmerkungen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Optional. Labels, die auf die Workstationkonfiguration angewendet und auch an die zugrunde liegenden Compute Engine-Ressourcen weitergegeben werden.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Nur Ausgabe Zeitpunkt, zu dem diese Workstationkonfiguration erstellt wurde.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Nur Ausgabe Zeitpunkt, zu dem diese Workstationkonfiguration zuletzt aktualisiert wurde.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

deleteTime

string (Timestamp format)

Nur Ausgabe Zeitpunkt, zu dem diese Workstationkonfiguration vorläufig gelöscht wurde.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

etag

string

Optional. Vom Server berechnete Prüfsumme. Kann bei Aktualisierungs- und Löschanfragen gesendet werden, um sicherzustellen, dass der Client vor dem Fortfahren über einen aktuellen Wert verfügt.

idleTimeout

string (Duration format)

Optional. Anzahl der Sekunden, die gewartet werden soll, bevor eine Workstation nach dem letzten Nutzertraffic automatisch beendet wird.

Der Wert "0s" gibt an, dass bei Cloud Workstations-VMs, die mit dieser Konfiguration erstellt wurden, nie eine Zeitüberschreitung aufgrund von Inaktivität auftritt. Geben Sie eine Dauer für Sekunden an, die durch s beendet wird, z. B. "7200s" (2 Stunden). Der Standardwert ist "1200s" (20 Minuten).

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. Beispiel: "3.5s".

runningTimeout

string (Duration format)

Optional. Anzahl der Sekunden, die eine Workstation ausgeführt werden kann, bis sie automatisch heruntergefahren wird. Wir empfehlen, die Workstations täglich herunterzufahren, um Kosten zu senken und Sicherheitsupdates beim Neustart anzuwenden. Die Felder idleTimeout und runningTimeout sind unabhängig voneinander. Beachten Sie, dass VMs im Feld runningTimeout nach der angegebenen Zeit heruntergefahren werden, unabhängig davon, ob die VMs inaktiv sind oder nicht.

Geben Sie eine Dauer an, die durch s für Sekunden beendet wird, z. B. "54000s" (15 Stunden). Die Standardeinstellung ist "43200s" (12 Stunden). Der Wert "0s" gibt an, dass bei Workstations, die diese Konfiguration verwenden, nie eine Zeitüberschreitung auftreten sollte. Wenn encryptionKey festgelegt ist, muss sie größer als "0s" und kleiner als "86400s" (24 Stunden) sein.

Warnung: Der Wert "0s" gibt an, dass mit dieser Konfiguration erstellte Cloud Workstations-VMs keine maximale Ausführungszeit haben. Davon wird dringend abgeraten, da Ihnen Kosten entstehen und Sicherheitsupdates nicht übernommen werden.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. Beispiel: "3.5s".

host

object (Host)

Optional. Laufzeithost für die Workstation.

persistentDirectories[]

object (PersistentDirectory)

Optional. Verzeichnisse, die über Workstation-Sitzungen hinweg erhalten bleiben sollen.

ephemeralDirectories[]

object (EphemeralDirectory)

Optional. Sitzungsspezifische Verzeichnisse, die über Workstationsitzungen hinweg nicht erhalten bleiben.

container

object (Container)

Optional. Container, der beim Start für jede Workstation mit dieser Workstationkonfiguration ausgeführt wird.

encryptionKey

object (CustomerEncryptionKey)

Nicht veränderbar. Verschlüsselt Ressourcen dieser Workstationkonfiguration mit einem vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK).

Wenn angegeben, werden das Bootlaufwerk der Compute Engine-Instanz und der nichtflüchtige Speicher mit diesem Verschlüsselungsschlüssel verschlüsselt. Wenn dieses Feld nicht festgelegt ist, werden die Laufwerke mit einem generierten Schlüssel verschlüsselt. Vom Kunden verwaltete Verschlüsselungsschlüssel schützen keine Laufwerksmetadaten.

Wenn der vom Kunden verwaltete Verschlüsselungsschlüssel rotiert wird und die Workstationinstanz beendet wird, versucht das System, den nichtflüchtigen Speicher mit der neuen Schlüsselversion neu zu erstellen. Behalten Sie ältere Versionen des Schlüssels, bis der nichtflüchtige Speicher neu erstellt wird. Andernfalls können Daten im nichtflüchtigen Speicher verloren gehen.

Wenn der Verschlüsselungsschlüssel widerrufen wird, wird die Workstationsitzung innerhalb von sieben Stunden automatisch beendet.

Unveränderlich, nachdem die Workstationkonfiguration erstellt wurde.

readinessChecks[]

object (ReadinessCheck)

Optional. Bereitschaftsprüfungen, die beim Starten einer Workstation mit dieser Workstationkonfiguration ausgeführt werden sollen. Markieren Sie eine Workstation erst als ausgeführt, wenn alle angegebenen Bereitschaftsprüfungen den Statuscode 200 zurückgeben.

replicaZones[]

string

Optional. Nicht veränderbar. Gibt die Zonen an, die zum Replizieren der VM und der Laufwerksressourcen innerhalb der Region verwendet werden. Wenn festgelegt, müssen genau zwei Zonen innerhalb der Region des Workstationclusters angegeben werden, z. B. ['us-central1-a', 'us-central1-f']. Wenn dieses Feld leer ist, werden zwei Standardzonen innerhalb der Region verwendet.

Unveränderlich, nachdem die Workstationkonfiguration erstellt wurde.

degraded

boolean

Nur Ausgabe Gibt an, ob diese Ressource eingeschränkt ist. In diesem Fall ist möglicherweise eine Nutzeraktion erforderlich, um die volle Funktionalität wiederherzustellen. Weitere Informationen finden Sie im Feld conditions.

conditions[]

object (Status)

Nur Ausgabe Statusbedingungen, die den aktuellen Ressourcenstatus beschreiben.

enableAuditAgent

boolean

Optional. Gibt an, ob das Linux-auditd-Logging auf der Workstation aktiviert werden soll. Wenn diese Option aktiviert ist, muss auch ein Dienstkonto mit der Berechtigung logging.buckets.write für das Projekt angegeben werden. Das Audit-Logging von Betriebssystemen unterscheidet sich von Cloud-Audit-Logs.

disableTcpConnections

boolean

Optional. Deaktiviert die Unterstützung einfacher TCP-Verbindungen auf der Workstation. Standardmäßig unterstützt der Dienst TCP-Verbindungen über ein WebSocket-Relay. Wenn Sie diese Option auf „true“ festlegen, wird das Relay deaktiviert. Dadurch wird die Nutzung von Diensten verhindert, die einfache TCP-Verbindungen benötigen, z. B. SSH. Wenn diese Option aktiviert ist, muss die gesamte Kommunikation über HTTPS oder WSS erfolgen.

Host

Laufzeithost für eine Workstation.

JSON-Darstellung

{

  // Union field config can be only one of the following:
  "gceInstance": {
    object (GceInstance)
  }
  // End of list of possible types for union field config.
}
Felder
Union-Feld config. Hosttyp, der für die Laufzeit der Workstation verwendet werden soll. Für config ist nur einer der folgenden Werte zulässig:
gceInstance

object (GceInstance)

Gibt eine Compute Engine-Instanz als Host an.

GceInstance

Eine Laufzeit, die eine Compute Engine-Instanz verwendet.

JSON-Darstellung

{
  "machineType": string,
  "serviceAccount": string,
  "serviceAccountScopes": [
    string
  ],
  "tags": [
    string
  ],
  "poolSize": integer,
  "pooledInstances": integer,
  "disablePublicIpAddresses": boolean,
  "enableNestedVirtualization": boolean,
  "shieldedInstanceConfig": {
    object (GceShieldedInstanceConfig)
  },
  "confidentialInstanceConfig": {
    object (GceConfidentialInstanceConfig)
  },
  "bootDiskSizeGb": integer,
  "accelerators": [
    {
      object (Accelerator)
    }
  ],
  "disableSsh": boolean
}
Felder
machineType

string

Optional. Der Maschinentyp, der für VM-Instanzen verwendet werden soll, z. B. "e2-standard-4". Weitere Informationen zu den Maschinentypen, die Cloud Workstations unterstützt, finden Sie in der Liste der verfügbaren Maschinentypen.

serviceAccount

string

Optional. Die E-Mail-Adresse des Dienstkontos für Cloud Workstations-VMs, die mit dieser Konfiguration erstellt wurden. Wenn dieses Flag angegeben ist, muss das Dienstkonto die Berechtigung logginglogEntries.create für das Projekt haben, damit es Logs in Cloud Logging schreiben kann. Wenn Sie ein benutzerdefiniertes Container-Image verwenden, muss das Dienstkonto die Berechtigung Artifact Registry Reader haben, um das angegebene Image abzurufen.

Wenn Sie als Administrator in der Lage sein möchten, ssh auf die zugrunde liegende VM zuzugreifen, müssen Sie diesen Wert auf ein Dienstkonto festlegen, für das Sie die Berechtigung iam.serviceAccounts.actAs haben. Wenn Sie jedoch nicht möchten, dass jemand einen ssh-Befehl in die zugrunde liegende VM ausführen kann, verwenden Sie ein Dienstkonto, das nicht über diese Berechtigung verfügt.

Wenn nichts festgelegt ist, werden VMs mit einem vom Cloud Workstations-Dienst bereitgestellten Dienstkonto ausgeführt und das Image muss öffentlich zugänglich sein.

serviceAccountScopes[]

string

Optional. Bereiche, die dem serviceAccount zugewiesen werden sollen. Je nach Featurenutzung werden automatisch verschiedene Bereiche hinzugefügt. Wenn dieses Flag angegeben ist, müssen Nutzer von Workstations in dieser Konfiguration iam.serviceAccounts.actAs für das Dienstkonto haben.

tags[]

string

Optional. Netzwerk-Tags, die den Compute Engine-VMs hinzugefügt werden sollen, die die Workstations sichern. Diese Option wendet Netzwerk-Tags auf VMs an, die mit dieser Konfiguration erstellt wurden. Mit diesen Netzwerk-Tags können Firewallregeln erstellt werden.

poolSize

integer

Optional. Die Anzahl der VMs, die das System inaktiv lassen soll, damit neue Workstations für neue Nutzer schnell gestartet werden können. In der API ist die Standardeinstellung 0.

pooledInstances

integer

Nur Ausgabe Anzahl der Instanzen, die derzeit im Pool für einen schnelleren Workstationstart verfügbar sind.

disablePublicIpAddresses

boolean

Optional. Wenn diese Option auf „true“ gesetzt ist, werden öffentliche IP-Adressen für VMs deaktiviert. Wenn Sie öffentliche IP-Adressen deaktivieren, müssen Sie in Ihrem Netzwerk den privater Google-Zugriff oder Cloud NAT einrichten. Wenn Sie den privater Google-Zugriff und private.googleapis.com oder restricted.googleapis.com für Container Registry und Artifact Registry verwenden, müssen Sie DNS-Einträge für die Domains *.gcr.io und *.pkg.dev einrichten. Der Standardwert ist „false“ (VMs haben öffentliche IP-Adressen).

enableNestedVirtualization

boolean

Optional. Gibt an, ob die verschachtelte Virtualisierung auf Cloud Workstations-VMs aktiviert werden soll, die mit dieser Workstationkonfiguration erstellt wurden.

Mit der verschachtelten Virtualisierung können Sie VM-Instanzen auf Ihrer Workstation ausführen. Bevor Sie die verschachtelte Virtualisierung aktivieren, sollten Sie die folgenden wichtigen Überlegungen berücksichtigen. Cloud Workstations-Instanzen unterliegen denselben Einschränkungen wie Compute Engine-Instanzen:

  • Organisationsrichtlinie: Projekte, Ordner oder Organisationen können möglicherweise daran gehindert werden, verschachtelte VMs zu erstellen, wenn die Einschränkung Verschachtelte Virtualisierung für VM deaktivieren in der Organisationsrichtlinie erzwungen wird. Weitere Informationen finden Sie im Compute Engine-Abschnitt Prüfen, ob die verschachtelte Virtualisierung zulässig ist.
  • Leistung: Bei verschachtelten VMs kann bei Arbeitslasten, die CPU-gebunden sind, eine Leistungsabnahme um mindestens 10% und bei eingabe-/ausgabegebundenen Arbeitslasten eine Abnahme von mehr als 10% auftreten.
  • Maschinentyp: Die verschachtelte Virtualisierung kann nur für Workstationkonfigurationen aktiviert werden, in denen in der Maschinenserie N1 oder N2 ein machineType angegeben wird.
  • GPUs: Die verschachtelte Virtualisierung ist in Workstationkonfigurationen mit Beschleunigern möglicherweise nicht aktiviert.
  • Betriebssystem: Da Container-Optimized OS die verschachtelte Virtualisierung nicht unterstützt, starten die zugrunde liegenden Compute Engine-VM-Instanzen von einem Ubuntu LTS-Image, wenn die verschachtelte Virtualisierung aktiviert ist.
shieldedInstanceConfig

object (GceShieldedInstanceConfig)

Optional. Eine Reihe von Optionen für abgeschirmte Compute Engine-Instanzen.

confidentialInstanceConfig

object (GceConfidentialInstanceConfig)

Optional. Eine Reihe von Optionen für Confidential VM-Instanzen von Compute Engine.

bootDiskSizeGb

integer

Optional. Die Größe des Bootlaufwerks für die VM in Gigabyte (GB). Die Mindestgröße des Bootlaufwerks beträgt 30 GB. Die Standardeinstellung ist 50 GB.

accelerators[]

object (Accelerator)

Optional. Eine Liste des Typs und der Anzahl der Beschleunigerkarten, die an die Instanz angehängt sind.

disableSsh

boolean

Optional. Gibt an, ob der SSH-Zugriff auf die VM deaktiviert werden soll.

GceShieldedInstanceConfig

Eine Reihe von Optionen für abgeschirmte Compute Engine-Instanzen.

JSON-Darstellung

{
  "enableSecureBoot": boolean,
  "enableVtpm": boolean,
  "enableIntegrityMonitoring": boolean
}
Felder
enableSecureBoot

boolean

Optional. Gibt an, ob für die Instanz Secure Boot aktiviert ist.

enableVtpm

boolean

Optional. Gibt an, ob für die Instanz das vTPM aktiviert ist.

enableIntegrityMonitoring

boolean

Optional. Gibt an, ob für die Instanz das Integritätsmonitoring aktiviert ist.

GceConfidentialInstanceConfig

Eine Reihe von Optionen für Confidential VM-Instanzen von Compute Engine.

JSON-Darstellung

{
  "enableConfidentialCompute": boolean
}
Felder
enableConfidentialCompute

boolean

Optional. Gibt an, ob für die Instanz Confidential Computing aktiviert ist.

Beschleuniger

Eine an die Instanz angehängte Beschleunigerkarte.

JSON-Darstellung

{
  "type": string,
  "count": integer
}
Felder
type

string

Optional. Typ der Beschleunigerressource, die an die Instanz angehängt werden soll, z. B. "nvidia-tesla-p100".

count

integer

Optional. Anzahl der Beschleunigerkarten, die für die Instanz verfügbar gemacht wurden.

PersistentDirectory

Ein Verzeichnis, das über Workstationsitzungen hinweg erhalten bleibt.

JSON-Darstellung

{
  "mountPath": string,

  // Union field directory_type can be only one of the following:
  "gcePd": {
    object (GceRegionalPersistentDisk)
  }
  // End of list of possible types for union field directory_type.
}
Felder
mountPath

string

Optional. Speicherort dieses Verzeichnisses auf der ausgeführten Workstation.

Union-Feld directory_type. Wie ein nichtflüchtiges Verzeichnis implementiert werden sollte Für directory_type ist nur einer der folgenden Werte zulässig:
gcePd

object (GceRegionalPersistentDisk)

Ein Persistent Directory in Verbindung mit einem nichtflüchtigen Compute Engine-Speicher.

GceRegionalPersistentDisk

Ein nichtflüchtiges Verzeichnis, das von einem regionalen nichtflüchtigen Compute Engine-Speicher unterstützt wird. Das Feld persistentDirectories wird wiederholt, darf aber nur einen Eintrag enthalten. Dabei wird ein nichtflüchtiger Speicher erstellt, der beim Start der Sitzung unter /home auf der Workstation-VM bereitgestellt und bei Ende der Sitzung getrennt wird. Wenn dieses Feld leer ist, haben Workstations, die mit dieser Konfiguration erstellt wurden, kein persistentes Basisverzeichnis.

JSON-Darstellung

{
  "sizeGb": integer,
  "fsType": string,
  "diskType": string,
  "sourceSnapshot": string,
  "reclaimPolicy": enum (ReclaimPolicy)
}
Felder
sizeGb

integer

Optional. Die Kapazität eines nichtflüchtigen Basisverzeichnisses für jede mit dieser Konfiguration erstellte Workstation in GB. Muss leer sein, wenn sourceSnapshot festgelegt ist.

Gültige Werte sind 10, 50, 100, 200, 500 oder 1000. Die Standardeinstellung ist 200. Wenn der Wert kleiner als 200 GB ist, muss diskType den Wert "pd-balanced" oder "pd-ssd" haben.

fsType

string

Optional. Typ des Dateisystems, mit dem das Laufwerk formatiert werden soll. Das Workstation-Image muss diesen Dateisystemtyp unterstützen. Muss leer sein, wenn sourceSnapshot festgelegt ist. Die Standardeinstellung ist "ext4".

diskType

string

Optional. Der Typ des nichtflüchtigen Speichers des Basisverzeichnisses. Die Standardeinstellung ist "pd-standard".

sourceSnapshot

string

Optional. Name des Snapshots, der als Quelle für das Laufwerk verwendet werden soll. Wenn festgelegt, müssen sizeGb und fsType leer sein.

reclaimPolicy

enum (ReclaimPolicy)

Optional. Gibt an, ob der nichtflüchtige Speicher beim Löschen der Workstation gelöscht werden soll. Gültige Werte sind DELETE und RETAIN. Die Standardeinstellung ist DELETE.

ReclaimPolicy

Wert, der angibt, was mit dem Laufwerk geschehen soll, nachdem die Workstation gelöscht wurde.

Enums
RECLAIM_POLICY_UNSPECIFIED Nicht verwenden.
DELETE Löschen Sie den nichtflüchtigen Speicher, wenn Sie die Workstation löschen.
RETAIN Behalten Sie den nichtflüchtigen Speicher, wenn Sie die Workstation löschen. Ein Administrator muss das Laufwerk manuell löschen.

EphemeralDirectory

Ein sitzungsspezifisches Verzeichnis, das über Workstationsitzungen hinweg nicht erhalten bleibt. Sie wird bei jedem Startvorgang der Workstation neu erstellt.

JSON-Darstellung

{
  "mountPath": string,

  // Union field directory_type can be only one of the following:
  "gcePd": {
    object (GcePersistentDisk)
  }
  // End of list of possible types for union field directory_type.
}
Felder
mountPath

string

Erforderlich. Speicherort dieses Verzeichnisses auf der ausgeführten Workstation.

Union-Feld directory_type. Implementierung eines sitzungsspezifischen Verzeichnisses Für directory_type ist nur einer der folgenden Werte zulässig:
gcePd

object (GcePersistentDisk)

Ein EphemeralDirectory, das von einem nichtflüchtigen Compute Engine-Speicher gestützt wird.

GcePersistentDisk

Ein EphemeralDirectory wird von einem nichtflüchtigen Compute Engine-Speicher unterstützt.

JSON-Darstellung

{
  "diskType": string,
  "sourceSnapshot": string,
  "sourceImage": string,
  "readOnly": boolean
}
Felder
diskType

string

Optional. Typ des zu verwendenden Laufwerks. Die Standardeinstellung ist "pd-standard".

sourceSnapshot

string

Optional. Name des Snapshots, der als Quelle für das Laufwerk verwendet werden soll. Muss leer sein, wenn sourceImage festgelegt ist. Muss leer sein, wenn readOnly „false“ ist. Beim Aktualisieren von sourceSnapshot werden die Inhalte im sitzungsspezifischen Verzeichnis nach dem Neustart der Workstation aktualisiert. Dieses Feld ist änderbar.

sourceImage

string

Optional. Name des Laufwerk-Images, das als Quelle für das Laufwerk verwendet werden soll. Muss leer sein, wenn sourceSnapshot festgelegt ist. Beim Aktualisieren von sourceImage werden die Inhalte im sitzungsspezifischen Verzeichnis nach dem Neustart der Workstation aktualisiert. Dieses Feld ist änderbar.

readOnly

boolean

Optional. Gibt an, ob das Laufwerk schreibgeschützt ist. Bei „true“ kann das Laufwerk von mehreren VMs gemeinsam genutzt werden und sourceSnapshot muss festgelegt werden.

Container

Ein Docker-Container.

JSON-Darstellung

{
  "image": string,
  "command": [
    string
  ],
  "args": [
    string
  ],
  "env": {
    string: string,
    ...
  },
  "workingDir": string,
  "runAsUser": integer
}
Felder
image

string

Optional. Ein Docker-Container-Image, das eine benutzerdefinierte Umgebung definiert.

Cloud Workstations bietet eine Reihe vorkonfigurierter Images. Sie können aber auch eigene benutzerdefinierte Container-Images erstellen. Wenn Sie ein privates Image verwenden, muss das Feld host.gceInstance.serviceAccount in der Workstationkonfiguration angegeben werden. Wenn Sie ein benutzerdefiniertes Container-Image verwenden, muss das Dienstkonto die Berechtigung Artifact Registry Reader haben, um das angegebene Image abzurufen. Andernfalls muss das Bild öffentlich zugänglich sein.

command[]

string

Optional. Überschreibt den vom Image angegebenen Standard-Einstiegspunkt.

args[]

string

Optional. An den Einstiegspunkt übergebene Argumente.

env

map (key: string, value: string)

Optional. An den Einstiegspunkt des Containers übergebene Umgebungsvariablen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

workingDir

string

Optional. Überschreibt das vom Image angegebene Standardverzeichnis.

runAsUser

integer

Optional. Überschreibt den im Image angegebenen USER mit der angegebenen UID.

CustomerEncryptionKey

Ein vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) für die Compute Engine-Ressourcen der zugehörigen Workstationkonfiguration. Geben Sie den Namen Ihres Cloud KMS-Verschlüsselungsschlüssels und das Standarddienstkonto an. Wir empfehlen, ein separates Dienstkonto zu verwenden und die Best Practices für Cloud KMS zu befolgen.

JSON-Darstellung

{
  "kmsKey": string,
  "kmsKeyServiceAccount": string
}
Felder
kmsKey

string

Nicht veränderbar. Der Name des Google Cloud KMS-Verschlüsselungsschlüssels. Beispiel: "projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME". Der Schlüssel muss sich in derselben Region wie die Workstationkonfiguration befinden.

kmsKeyServiceAccount

string

Nicht veränderbar. Das Dienstkonto, das mit dem angegebenen KMS-Schlüssel verwendet werden soll. Wir empfehlen, ein separates Dienstkonto zu verwenden und die Best Practices für KMS zu befolgen. Weitere Informationen finden Sie unter Aufgabentrennung und gcloud kms keys add-iam-policy-binding --member.

ReadinessCheck

Eine Bereitschaftsprüfung, die auf einer Workstation ausgeführt werden soll.

JSON-Darstellung

{
  "path": string,
  "port": integer
}
Felder
path

string

Optional. Pfad, an den die Anfrage gesendet werden soll.

port

integer

Optional. Port, an den die Anfrage gesendet werden soll.

Methoden

create

Erstellt eine neue Workstationkonfiguration.

delete

Löscht die angegebene Workstationkonfiguration.

get

Gibt die angeforderte Workstationkonfiguration zurück.

getIamPolicy

Ruft die Zugriffssteuerungsrichtlinie für eine Ressource ab.

list

Gibt alle Workstationkonfigurationen im angegebenen Cluster zurück.

listUsable

Gibt alle Workstationkonfigurationen im angegebenen Cluster zurück, auf denen der Aufrufer die Berechtigung „workstations.workstation.create“ hat.

patch

Aktualisiert eine vorhandene Workstationkonfiguration.

setIamPolicy

Legt die Zugriffssteuerungsrichtlinie für die angegebene Ressource fest.

testIamPermissions

Gibt die Berechtigungen des Aufrufers für die angegebene Ressource zurück.