Skip to content

Commit 1283b53

Browse files
feat(workstations): update the API
#### workstations:v1beta The following keys were added: - schemas.GceInstance.properties.instanceMetadata.additionalProperties.type - schemas.GceInstance.properties.instanceMetadata.description - schemas.GceInstance.properties.instanceMetadata.type The following keys were changed: - resources.projects.resources.locations.resources.operations.methods.list.parameters.returnPartialSuccess.description - schemas.GceHyperdiskBalancedHighAvailability.description - schemas.GceInstance.properties.startupScriptUri.description - schemas.ListOperationsResponse.properties.unreachable.description #### workstations:v1 The following keys were added: - schemas.GceHyperdiskBalancedHighAvailability.description - schemas.GceHyperdiskBalancedHighAvailability.id - schemas.GceHyperdiskBalancedHighAvailability.properties.archiveTimeout.description - schemas.GceHyperdiskBalancedHighAvailability.properties.archiveTimeout.format - schemas.GceHyperdiskBalancedHighAvailability.properties.archiveTimeout.type - schemas.GceHyperdiskBalancedHighAvailability.properties.reclaimPolicy.description - schemas.GceHyperdiskBalancedHighAvailability.properties.reclaimPolicy.enum - schemas.GceHyperdiskBalancedHighAvailability.properties.reclaimPolicy.enumDescriptions - schemas.GceHyperdiskBalancedHighAvailability.properties.reclaimPolicy.type - schemas.GceHyperdiskBalancedHighAvailability.properties.sizeGb.description - schemas.GceHyperdiskBalancedHighAvailability.properties.sizeGb.format - schemas.GceHyperdiskBalancedHighAvailability.properties.sizeGb.type - schemas.GceHyperdiskBalancedHighAvailability.properties.sourceSnapshot.description - schemas.GceHyperdiskBalancedHighAvailability.properties.sourceSnapshot.type - schemas.GceHyperdiskBalancedHighAvailability.type - schemas.GceInstance.properties.startupScriptUri.description - schemas.GceInstance.properties.startupScriptUri.type - schemas.PersistentDirectory.properties.gceHd.$ref - schemas.PersistentDirectory.properties.gceHd.description The following keys were changed: - resources.projects.resources.locations.resources.operations.methods.list.parameters.returnPartialSuccess.description - schemas.ListOperationsResponse.properties.unreachable.description
1 parent 02a7de0 commit 1283b53

File tree

4 files changed

+99
-16
lines changed

4 files changed

+99
-16
lines changed

discovery/workstations-v1.json

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@
296296
"type": "string"
297297
},
298298
"returnPartialSuccess": {
299-
"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
299+
"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
300300
"location": "query",
301301
"type": "boolean"
302302
}
@@ -1221,7 +1221,7 @@
12211221
}
12221222
}
12231223
},
1224-
"revision": "20251022",
1224+
"revision": "20251202",
12251225
"rootUrl": "https://workstations.googleapis.com/",
12261226
"schemas": {
12271227
"Accelerator": {
@@ -1479,6 +1479,41 @@
14791479
},
14801480
"type": "object"
14811481
},
1482+
"GceHyperdiskBalancedHighAvailability": {
1483+
"description": "A Persistent Directory backed by a Compute Engine [Hyperdisk Balanced High Availability Disk](https://cloud.google.com/compute/docs/disks/hd-types/hyperdisk-balanced-ha). This is a high-availability block storage solution that offers a balance between performance and cost for most general-purpose workloads.",
1484+
"id": "GceHyperdiskBalancedHighAvailability",
1485+
"properties": {
1486+
"archiveTimeout": {
1487+
"description": "Optional. Number of seconds to wait after initially creating or subsequently shutting down the workstation before converting its disk into a snapshot. This generally saves costs at the expense of greater startup time on next workstation start, as the service will need to create a disk from the archival snapshot. A value of `\"0s\"` indicates that the disk will never be archived.",
1488+
"format": "google-duration",
1489+
"type": "string"
1490+
},
1491+
"reclaimPolicy": {
1492+
"description": "Optional. Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.",
1493+
"enum": [
1494+
"RECLAIM_POLICY_UNSPECIFIED",
1495+
"DELETE",
1496+
"RETAIN"
1497+
],
1498+
"enumDescriptions": [
1499+
"Do not use.",
1500+
"Delete the persistent disk when deleting the workstation.",
1501+
"Keep the persistent disk when deleting the workstation. An administrator must manually delete the disk."
1502+
],
1503+
"type": "string"
1504+
},
1505+
"sizeGb": {
1506+
"description": "Optional. The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if source_snapshot is set. Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`.",
1507+
"format": "int32",
1508+
"type": "integer"
1509+
},
1510+
"sourceSnapshot": {
1511+
"description": "Optional. Name of the snapshot to use as the source for the disk. If set, size_gb must be empty. Must be formatted as ext4 file system with no partitions.",
1512+
"type": "string"
1513+
}
1514+
},
1515+
"type": "object"
1516+
},
14821517
"GceInstance": {
14831518
"description": "A runtime using a Compute Engine instance.",
14841519
"id": "GceInstance",
@@ -1548,6 +1583,10 @@
15481583
"$ref": "GceShieldedInstanceConfig",
15491584
"description": "Optional. A set of Compute Engine Shielded instance options."
15501585
},
1586+
"startupScriptUri": {
1587+
"description": "Optional. Link to the startup script stored in Cloud Storage. This script will be run on the host workstation VM when the VM is created. The URI must be of the form gs://{bucket-name}/{object-name}. If specifying a startup script, the service account must have [Permission to access the bucket and script file in Cloud Storage](https://cloud.google.com/storage/docs/access-control/iam-permissions). Otherwise, the script must be publicly accessible. Note that the service regularly updates the OS version used, and it is the responsibility of the user to ensure the script stays compatible with the OS version.",
1588+
"type": "string"
1589+
},
15511590
"tags": {
15521591
"description": "Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).",
15531592
"items": {
@@ -1756,7 +1795,7 @@
17561795
"type": "array"
17571796
},
17581797
"unreachable": {
1759-
"description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.",
1798+
"description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.",
17601799
"items": {
17611800
"type": "string"
17621801
},
@@ -2007,6 +2046,10 @@
20072046
"description": "A directory to persist across workstation sessions. Updates to this field will not update existing workstations and will only take effect on new workstations.",
20082047
"id": "PersistentDirectory",
20092048
"properties": {
2049+
"gceHd": {
2050+
"$ref": "GceHyperdiskBalancedHighAvailability",
2051+
"description": "A PersistentDirectory backed by a Compute Engine hyperdisk high availability disk."
2052+
},
20102053
"gcePd": {
20112054
"$ref": "GceRegionalPersistentDisk",
20122055
"description": "A PersistentDirectory backed by a Compute Engine persistent disk."

discovery/workstations-v1beta.json

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@
222222
"type": "string"
223223
},
224224
"returnPartialSuccess": {
225-
"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `\"projects/example/locations/-\"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
225+
"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
226226
"location": "query",
227227
"type": "boolean"
228228
}
@@ -1147,7 +1147,7 @@
11471147
}
11481148
}
11491149
},
1150-
"revision": "20251022",
1150+
"revision": "20251202",
11511151
"rootUrl": "https://workstations.googleapis.com/",
11521152
"schemas": {
11531153
"Accelerator": {
@@ -1410,7 +1410,7 @@
14101410
"type": "object"
14111411
},
14121412
"GceHyperdiskBalancedHighAvailability": {
1413-
"description": "A Persistent Directory backed by a Compute Engine Hyperdisk Balanced High Availability Disk. This is a high-availability block storage solution that offers a balance between performance and cost for most general-purpose workloads.",
1413+
"description": "A Persistent Directory backed by a Compute Engine [Hyperdisk Balanced High Availability Disk](https://cloud.google.com/compute/docs/disks/hd-types/hyperdisk-balanced-ha). This is a high-availability block storage solution that offers a balance between performance and cost for most general-purpose workloads.",
14141414
"id": "GceHyperdiskBalancedHighAvailability",
14151415
"properties": {
14161416
"archiveTimeout": {
@@ -1483,6 +1483,13 @@
14831483
"description": "Optional. Whether to enable nested virtualization on Cloud Workstations VMs created using this workstation configuration. Defaults to false. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on workstation configurations that specify a machine_type in the N1 or N2 machine series.",
14841484
"type": "boolean"
14851485
},
1486+
"instanceMetadata": {
1487+
"additionalProperties": {
1488+
"type": "string"
1489+
},
1490+
"description": "Optional. Custom metadata to apply to Compute Engine instances.",
1491+
"type": "object"
1492+
},
14861493
"machineType": {
14871494
"description": "Optional. The type of machine to use for VM instances—for example, `\"e2-standard-4\"`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types).",
14881495
"type": "string"
@@ -1518,7 +1525,7 @@
15181525
"description": "Optional. A set of Compute Engine Shielded instance options."
15191526
},
15201527
"startupScriptUri": {
1521-
"description": "Optional. Link to the startup script stored in Cloud Storage. This script will be run on the host workstation VM when the VM is created. The uri must be of the form gs://{bucket-name}/{object-name}. If specifying a startup script, the service account must have [Permission to access the bucket and script file in Cloud Storage](https://cloud.google.com/storage/docs/access-control/iam-permissions). Otherwise, the script must be publicly accessible.",
1528+
"description": "Optional. Link to the startup script stored in Cloud Storage. This script will be run on the host workstation VM when the VM is created. The URI must be of the form gs://{bucket-name}/{object-name}. If specifying a startup script, the service account must have [Permission to access the bucket and script file in Cloud Storage](https://cloud.google.com/storage/docs/access-control/iam-permissions). Otherwise, the script must be publicly accessible. Note that the service regularly updates the OS version used, and it is the responsibility of the user to ensure the script stays compatible with the OS version.",
15221529
"type": "string"
15231530
},
15241531
"tags": {
@@ -1726,7 +1733,7 @@
17261733
"type": "array"
17271734
},
17281735
"unreachable": {
1729-
"description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.",
1736+
"description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.",
17301737
"items": {
17311738
"type": "string"
17321739
},

src/apis/workstations/v1.ts

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,27 @@ export namespace workstations_v1 {
316316
*/
317317
enableConfidentialCompute?: boolean | null;
318318
}
319+
/**
320+
* A Persistent Directory backed by a Compute Engine [Hyperdisk Balanced High Availability Disk](https://cloud.google.com/compute/docs/disks/hd-types/hyperdisk-balanced-ha). This is a high-availability block storage solution that offers a balance between performance and cost for most general-purpose workloads.
321+
*/
322+
export interface Schema$GceHyperdiskBalancedHighAvailability {
323+
/**
324+
* Optional. Number of seconds to wait after initially creating or subsequently shutting down the workstation before converting its disk into a snapshot. This generally saves costs at the expense of greater startup time on next workstation start, as the service will need to create a disk from the archival snapshot. A value of `"0s"` indicates that the disk will never be archived.
325+
*/
326+
archiveTimeout?: string | null;
327+
/**
328+
* Optional. Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.
329+
*/
330+
reclaimPolicy?: string | null;
331+
/**
332+
* Optional. The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if source_snapshot is set. Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`.
333+
*/
334+
sizeGb?: number | null;
335+
/**
336+
* Optional. Name of the snapshot to use as the source for the disk. If set, size_gb must be empty. Must be formatted as ext4 file system with no partitions.
337+
*/
338+
sourceSnapshot?: string | null;
339+
}
319340
/**
320341
* A runtime using a Compute Engine instance.
321342
*/
@@ -372,6 +393,10 @@ export namespace workstations_v1 {
372393
* Optional. A set of Compute Engine Shielded instance options.
373394
*/
374395
shieldedInstanceConfig?: Schema$GceShieldedInstanceConfig;
396+
/**
397+
* Optional. Link to the startup script stored in Cloud Storage. This script will be run on the host workstation VM when the VM is created. The URI must be of the form gs://{bucket-name\}/{object-name\}. If specifying a startup script, the service account must have [Permission to access the bucket and script file in Cloud Storage](https://cloud.google.com/storage/docs/access-control/iam-permissions). Otherwise, the script must be publicly accessible. Note that the service regularly updates the OS version used, and it is the responsibility of the user to ensure the script stays compatible with the OS version.
398+
*/
399+
startupScriptUri?: string | null;
375400
/**
376401
* Optional. Network tags to add to the Compute Engine VMs backing the workstations. This option applies [network tags](https://cloud.google.com/vpc/docs/add-remove-network-tags) to VMs created with this configuration. These network tags enable the creation of [firewall rules](https://cloud.google.com/workstations/docs/configure-firewall-rules).
377402
*/
@@ -530,7 +555,7 @@ export namespace workstations_v1 {
530555
*/
531556
operations?: Schema$Operation[];
532557
/**
533-
* Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections e.g. when attempting to list all resources across all supported locations.
558+
* Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.
534559
*/
535560
unreachable?: string[] | null;
536561
}
@@ -706,6 +731,10 @@ export namespace workstations_v1 {
706731
* A directory to persist across workstation sessions. Updates to this field will not update existing workstations and will only take effect on new workstations.
707732
*/
708733
export interface Schema$PersistentDirectory {
734+
/**
735+
* A PersistentDirectory backed by a Compute Engine hyperdisk high availability disk.
736+
*/
737+
gceHd?: Schema$GceHyperdiskBalancedHighAvailability;
709738
/**
710739
* A PersistentDirectory backed by a Compute Engine persistent disk.
711740
*/
@@ -1925,7 +1954,7 @@ export namespace workstations_v1 {
19251954
* pageSize: 'placeholder-value',
19261955
* // The standard list page token.
19271956
* pageToken: 'placeholder-value',
1928-
* // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
1957+
* // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
19291958
* returnPartialSuccess: 'placeholder-value',
19301959
* });
19311960
* console.log(res.data);
@@ -2077,7 +2106,7 @@ export namespace workstations_v1 {
20772106
*/
20782107
pageToken?: string;
20792108
/**
2080-
* When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the [ListOperationsResponse.unreachable] field. This can only be `true` when reading across collections e.g. when `parent` is set to `"projects/example/locations/-"`. This field is not by default supported and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
2109+
* When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
20812110
*/
20822111
returnPartialSuccess?: boolean;
20832112
}

0 commit comments

Comments
 (0)