Skip to content

Commit 964330a

Browse files
yoshi-automationsofisl
authored andcommitted
feat(workstations): update the API
#### workstations:v1beta The following keys were added: - schemas.GceInstance.properties.pooledInstances.description - schemas.GceInstance.properties.pooledInstances.format - schemas.GceInstance.properties.pooledInstances.readOnly - schemas.GceInstance.properties.pooledInstances.type - schemas.ReadinessCheck.description - schemas.ReadinessCheck.id - schemas.ReadinessCheck.properties.path.description - schemas.ReadinessCheck.properties.path.type - schemas.ReadinessCheck.properties.port.description - schemas.ReadinessCheck.properties.port.format - schemas.ReadinessCheck.properties.port.type - schemas.ReadinessCheck.type - schemas.WorkstationConfig.properties.readinessChecks.description - schemas.WorkstationConfig.properties.readinessChecks.items.$ref - schemas.WorkstationConfig.properties.readinessChecks.type The following keys were changed: - resources.projects.resources.locations.resources.workstationClusters.methods.delete.parameters.etag.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.methods.create.parameters.workstationConfigId.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.methods.delete.parameters.etag.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.methods.delete.parameters.force.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.methods.delete.parameters.name.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.methods.patch.parameters.allowMissing.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.methods.patch.parameters.updateMask.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.resources.workstations.methods.delete.parameters.etag.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.resources.workstations.methods.list.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.resources.workstations.methods.listUsable.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.resources.workstations.methods.patch.parameters.allowMissing.description - resources.projects.resources.locations.resources.workstationClusters.resources.workstationConfigs.resources.workstations.methods.patch.parameters.updateMask.description - schemas.Container.properties.env.description - schemas.Container.properties.image.description - schemas.GceInstance.properties.poolSize.description - schemas.GceInstance.properties.serviceAccount.description - schemas.GenerateAccessTokenResponse.properties.accessToken.description - schemas.StartWorkstationRequest.properties.etag.description - schemas.StopWorkstationRequest.properties.etag.description - schemas.Workstation.properties.env.description - schemas.Workstation.properties.etag.description - schemas.WorkstationCluster.properties.controlPlaneIp.description - schemas.WorkstationCluster.properties.etag.description - schemas.WorkstationConfig.properties.encryptionKey.description - schemas.WorkstationConfig.properties.etag.description
1 parent b925c23 commit 964330a

File tree

2 files changed

+114
-61
lines changed

2 files changed

+114
-61
lines changed

discovery/workstations-v1beta.json

Lines changed: 55 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@
282282
],
283283
"parameters": {
284284
"etag": {
285-
"description": "If set, the request will be rejected if the latest version of the workstation cluster on the server does not have this etag.",
285+
"description": "If set, the request will be rejected if the latest version of the workstation cluster on the server does not have this ETag.",
286286
"location": "query",
287287
"type": "string"
288288
},
@@ -443,7 +443,7 @@
443443
"type": "boolean"
444444
},
445445
"workstationConfigId": {
446-
"description": "Required. ID to use for the config.",
446+
"description": "Required. ID to use for the workstation configuration.",
447447
"location": "query",
448448
"type": "string"
449449
}
@@ -469,17 +469,17 @@
469469
],
470470
"parameters": {
471471
"etag": {
472-
"description": "If set, the request will be rejected if the latest version of the config on the server does not have this etag.",
472+
"description": "If set, the request is rejected if the latest version of the workstation configuration on the server does not have this ETag.",
473473
"location": "query",
474474
"type": "string"
475475
},
476476
"force": {
477-
"description": "If set, any Workstations in the config will also be deleted. Otherwise, the request will work only if the config has no workstations.",
477+
"description": "If set, any workstations in the workstation configuration are also deleted. Otherwise, the request works only if the workstation configuration has no workstations.",
478478
"location": "query",
479479
"type": "boolean"
480480
},
481481
"name": {
482-
"description": "Required. Name of the config to delete.",
482+
"description": "Required. Name of the workstation configuration to delete.",
483483
"location": "path",
484484
"pattern": "^projects/[^/]+/locations/[^/]+/workstationClusters/[^/]+/workstationConfigs/[^/]+$",
485485
"required": true,
@@ -637,7 +637,7 @@
637637
],
638638
"parameters": {
639639
"allowMissing": {
640-
"description": "If set, and the config is not found, a new config will be created. In this situation, update_mask is ignored.",
640+
"description": "If set and the workstation configuration is not found, a new workstation configuration will be created. In this situation, update_mask is ignored.",
641641
"location": "query",
642642
"type": "boolean"
643643
},
@@ -649,7 +649,7 @@
649649
"type": "string"
650650
},
651651
"updateMask": {
652-
"description": "Required. Mask specifying which fields in the config should be updated.",
652+
"description": "Required. Mask specifying which fields in the workstation configuration should be updated.",
653653
"format": "google-fieldmask",
654654
"location": "query",
655655
"type": "string"
@@ -779,7 +779,7 @@
779779
],
780780
"parameters": {
781781
"etag": {
782-
"description": "If set, the request will be rejected if the latest version of the workstation on the server does not have this etag.",
782+
"description": "If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag.",
783783
"location": "query",
784784
"type": "string"
785785
},
@@ -889,7 +889,7 @@
889889
]
890890
},
891891
"list": {
892-
"description": "Returns all Workstations using the specified config.",
892+
"description": "Returns all Workstations using the specified workstation configuration.",
893893
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations",
894894
"httpMethod": "GET",
895895
"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.list",
@@ -925,7 +925,7 @@
925925
]
926926
},
927927
"listUsable": {
928-
"description": "Returns all Workstations using the specified config on which the caller has the \"workstations.workstations.use\" permission.",
928+
"description": "Returns all workstations using the specified workstation configuration on which the caller has the \"workstations.workstations.use\" permission.",
929929
"flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations:listUsable",
930930
"httpMethod": "GET",
931931
"id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.listUsable",
@@ -970,7 +970,7 @@
970970
],
971971
"parameters": {
972972
"allowMissing": {
973-
"description": "If set, and the config is not found, a new config will be created. In this situation, update_mask is ignored.",
973+
"description": "If set and the workstation configuration is not found, a new workstation configuration is created. In this situation, update_mask is ignored.",
974974
"location": "query",
975975
"type": "boolean"
976976
},
@@ -982,7 +982,7 @@
982982
"type": "string"
983983
},
984984
"updateMask": {
985-
"description": "Required. Mask specifying which fields in the config should be updated.",
985+
"description": "Required. Mask specifying which fields in the workstation configuration should be updated.",
986986
"format": "google-fieldmask",
987987
"location": "query",
988988
"type": "string"
@@ -1127,7 +1127,7 @@
11271127
}
11281128
}
11291129
},
1130-
"revision": "20230405",
1130+
"revision": "20230423",
11311131
"rootUrl": "https://workstations.googleapis.com/",
11321132
"schemas": {
11331133
"AuditConfig": {
@@ -1228,11 +1228,11 @@
12281228
"additionalProperties": {
12291229
"type": "string"
12301230
},
1231-
"description": "Environment variables passed to the container.",
1231+
"description": "Environment variables passed to the container's entrypoint.",
12321232
"type": "object"
12331233
},
12341234
"image": {
1235-
"description": "Docker image defining the container. This image must be accessible by the config's service account.",
1235+
"description": "Docker image defining the container. This image must be accessible by the service account specified in the workstation configuration.",
12361236
"type": "string"
12371237
},
12381238
"runAsUser": {
@@ -1318,12 +1318,18 @@
13181318
"type": "string"
13191319
},
13201320
"poolSize": {
1321-
"description": "Number of instances to pool for faster workstation starup.",
1321+
"description": "Number of instances to pool for faster workstation startup.",
13221322
"format": "int32",
13231323
"type": "integer"
13241324
},
1325+
"pooledInstances": {
1326+
"description": "Output only. Number of instances currently available in the pool for faster workstation startup.",
1327+
"format": "int32",
1328+
"readOnly": true,
1329+
"type": "integer"
1330+
},
13251331
"serviceAccount": {
1326-
"description": "Email address of the service account that will be used on VM instances used to support this config. If not set, VMs will run with a Google-managed service account. This service account must have permission to pull the specified container image, otherwise the image must be publicly accessible.",
1332+
"description": "Email address of the service account used on VM instances used to support this configuration. If not set, VMs run with a Google-managed service account. This service account must have permission to pull the specified container image; otherwise, the image must be publicly accessible.",
13271333
"type": "string"
13281334
},
13291335
"shieldedInstanceConfig": {
@@ -1419,7 +1425,7 @@
14191425
"id": "GenerateAccessTokenResponse",
14201426
"properties": {
14211427
"accessToken": {
1422-
"description": "The generated bearer access token. To use this token, include it in an Authorization header of an HTTP request sent to the associated workstation's hostname, for example, `Authorization: Bearer `.",
1428+
"description": "The generated bearer access token. To use this token, include it in an Authorization header of an HTTP request sent to the associated workstation's hostnamefor example, `Authorization: Bearer `.",
14231429
"type": "string"
14241430
},
14251431
"expireTime": {
@@ -1743,6 +1749,22 @@
17431749
},
17441750
"type": "object"
17451751
},
1752+
"ReadinessCheck": {
1753+
"description": "A readiness check to be performed on a workstation.",
1754+
"id": "ReadinessCheck",
1755+
"properties": {
1756+
"path": {
1757+
"description": "Path to which the request should be sent.",
1758+
"type": "string"
1759+
},
1760+
"port": {
1761+
"description": "Port to which the request should be sent.",
1762+
"format": "int32",
1763+
"type": "integer"
1764+
}
1765+
},
1766+
"type": "object"
1767+
},
17461768
"SetIamPolicyRequest": {
17471769
"description": "Request message for `SetIamPolicy` method.",
17481770
"id": "SetIamPolicyRequest",
@@ -1764,7 +1786,7 @@
17641786
"id": "StartWorkstationRequest",
17651787
"properties": {
17661788
"etag": {
1767-
"description": "If set, the request will be rejected if the latest version of the workstation on the server does not have this etag.",
1789+
"description": "If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag.",
17681790
"type": "string"
17691791
},
17701792
"validateOnly": {
@@ -1806,7 +1828,7 @@
18061828
"id": "StopWorkstationRequest",
18071829
"properties": {
18081830
"etag": {
1809-
"description": "If set, the request will be rejected if the latest version of the workstation on the server does not have this etag.",
1831+
"description": "If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag.",
18101832
"type": "string"
18111833
},
18121834
"validateOnly": {
@@ -1875,11 +1897,11 @@
18751897
"additionalProperties": {
18761898
"type": "string"
18771899
},
1878-
"description": "Environment variables passed to the workstation container.",
1900+
"description": "Environment variables passed to the workstation container's entrypoint.",
18791901
"type": "object"
18801902
},
18811903
"etag": {
1882-
"description": "Checksum computed by the server. May be sent on update and delete requests to ensure that the client has an up-to-date value before proceeding.",
1904+
"description": "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.",
18831905
"type": "string"
18841906
},
18851907
"host": {
@@ -1956,7 +1978,7 @@
19561978
"type": "array"
19571979
},
19581980
"controlPlaneIp": {
1959-
"description": "Output only. The private IP address of the control plane for this cluster. Workstation VMs need access to this IP address to work with the service, so please ensure your firewall rules allow egress from the Workstation VMs to this address.",
1981+
"description": "Output only. The private IP address of the control plane for this cluster. Workstation VMs need access to this IP address to work with the service, so make sure that your firewall rules allow egress from the workstation VMs to this address.",
19601982
"readOnly": true,
19611983
"type": "string"
19621984
},
@@ -1982,7 +2004,7 @@
19822004
"type": "string"
19832005
},
19842006
"etag": {
1985-
"description": "Checksum computed by the server. May be sent on update and delete requests to ensure that the client has an up-to-date value before proceeding.",
2007+
"description": "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.",
19862008
"type": "string"
19872009
},
19882010
"labels": {
@@ -2077,10 +2099,10 @@
20772099
},
20782100
"encryptionKey": {
20792101
"$ref": "CustomerEncryptionKey",
2080-
"description": "Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key. If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata. If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk will be lost. If the encryption key is revoked, the workstation session will automatically be stopped within 7 hours. Immutable after workstation config is created."
2102+
"description": "Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key. If specified, the boot disk of the Compute Engine instance and the persistent disk are encrypted using this encryption key. If this field is not set, the disks are encrypted using a generated key. Customer-managed encryption keys do not protect disk metadata. If the customer-managed encryption key is rotated, when the workstation instance is stopped, the system attempts to recreate the persistent disk with the new version of the key. Be sure to keep older versions of the key until the persistent disk is recreated. Otherwise, data on the persistent disk will be lost. If the encryption key is revoked, the workstation session will automatically be stopped within 7 hours. Immutable after the workstation configuration is created."
20812103
},
20822104
"etag": {
2083-
"description": "Checksum computed by the server. May be sent on update and delete requests to ensure that the client has an up-to-date value before proceeding.",
2105+
"description": "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.",
20842106
"type": "string"
20852107
},
20862108
"host": {
@@ -2110,6 +2132,13 @@
21102132
},
21112133
"type": "array"
21122134
},
2135+
"readinessChecks": {
2136+
"description": "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.",
2137+
"items": {
2138+
"$ref": "ReadinessCheck"
2139+
},
2140+
"type": "array"
2141+
},
21132142
"reconciling": {
21142143
"description": "Output only. Indicates whether this resource is currently being updated to match its intended state.",
21152144
"readOnly": true,

0 commit comments

Comments
 (0)