@maxim_mazurok/gapi.client.workstations-v1beta 0.2.20260218 → 0.2.20260526

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/index.d.ts +109 -23
  2. package/package.json +1 -1
  3. package/readme.md +17 -0
package/index.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  // This file was generated by https://github.com/Maxim-Mazurok/google-api-typings-generator. Please do not edit it manually.
10
10
  // In case of any problems please post issue to https://github.com/Maxim-Mazurok/google-api-typings-generator
11
11
  // Generated from: https://workstations.googleapis.com/$discovery/rest?version=v1beta
12
- // Revision: 20260218
12
+ // Revision: 20260526
13
13
 
14
14
  /// <reference types="gapi.client" />
15
15
 
@@ -284,6 +284,16 @@ declare namespace gapi.client {
284
284
  /** The requested workstations. */
285
285
  workstations?: Workstation[];
286
286
  }
287
+ interface OAuthToken {
288
+ /** Required. The OAuth token. */
289
+ accessToken?: string;
290
+ /** Optional. The email address encapsulated in the OAuth token. */
291
+ email?: string;
292
+ /** Optional. The time the OAuth access token will expire. This should be the time the access token was generated plus the expires_in offset returned from the Access Token Response. */
293
+ expireTime?: string;
294
+ /** Optional. The scopes encapsulated in the OAuth token. See https://developers.google.com/identity/protocols/oauth2/scopes for more information. */
295
+ scopes?: string;
296
+ }
287
297
  interface Operation {
288
298
  /** If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. */
289
299
  done?: boolean;
@@ -346,6 +356,10 @@ declare namespace gapi.client {
346
356
  /** Output only. Service attachment URI for the workstation cluster. The service attachment is created when private endpoint is enabled. To access workstations in the workstation cluster, configure access to the managed service using [Private Service Connect](https://cloud.google.com/vpc/docs/configure-private-service-connect-services). */
347
357
  serviceAttachmentUri?: string;
348
358
  }
359
+ interface PushCredentialsRequest {
360
+ /** Optional. Credentials used by Cloud Client Libraries, Google API Client Libraries, and other tooling within the user conainer: https://cloud.google.com/docs/authentication/application-default-credentials */
361
+ applicationDefaultCredentials?: OAuthToken;
362
+ }
349
363
  interface ReadinessCheck {
350
364
  /** Optional. Path to which the request should be sent. */
351
365
  path?: string;
@@ -379,21 +393,21 @@ declare namespace gapi.client {
379
393
  boostConfig?: string;
380
394
  /** Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag. */
381
395
  etag?: string;
382
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
396
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
383
397
  validateOnly?: boolean;
384
398
  }
385
399
  interface Status {
386
400
  /** The status code, which should be an enum value of google.rpc.Code. */
387
401
  code?: number;
388
402
  /** A list of messages that carry the error details. There is a common set of message types for APIs to use. */
389
- details?: Array<{[P in string]: any}>;
403
+ details?: {[P in string]: any}[];
390
404
  /** A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */
391
405
  message?: string;
392
406
  }
393
407
  interface StopWorkstationRequest {
394
408
  /** Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag. */
395
409
  etag?: string;
396
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
410
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
397
411
  validateOnly?: boolean;
398
412
  }
399
413
  interface TestIamPermissionsRequest {
@@ -431,6 +445,8 @@ declare namespace gapi.client {
431
445
  labels?: {[P in string]: string};
432
446
  /** Identifier. Full name of this workstation. */
433
447
  name?: string;
448
+ /** Optional. Directories to persist across workstation sessions. */
449
+ persistentDirectories?: WorkstationPersistentDirectory[];
434
450
  /** Output only. Indicates whether this workstation is currently being updated to match its intended state. */
435
451
  reconciling?: boolean;
436
452
  /** Optional. Output only. Runtime host for the workstation when in STATE_RUNNING. */
@@ -504,6 +520,10 @@ declare namespace gapi.client {
504
520
  uid?: string;
505
521
  /** Output only. Time when this workstation cluster was most recently updated. */
506
522
  updateTime?: string;
523
+ /** Optional. 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. */
524
+ workstationAuthorizationUrl?: string;
525
+ /** Optional. 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. */
526
+ workstationLaunchUrl?: string;
507
527
  }
508
528
  interface WorkstationConfig {
509
529
  /** Optional. 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. */
@@ -526,6 +546,8 @@ declare namespace gapi.client {
526
546
  displayName?: string;
527
547
  /** Optional. 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 [Cloud Logging](https://cloud.google.com/logging/docs) console by querying: resource.type="gce_instance" log_name:"/logs/linux-auditd" */
528
548
  enableAuditAgent?: boolean;
549
+ /** Optional. Enables pushing user provided credentials to Workstations by calling workstations.pushCredentials. If application_default_credentials are supplied to pushCredentials, the provided token is returned when tools and applications running in the user container make a request for Default Application Credentials. Please note that any credentials supplied are made available to all users with access to the workstation. */
550
+ enablePushingCredentials?: boolean;
529
551
  /** Immutable. Encrypts resources of this workstation configuration using a customer-managed encryption key (CMEK). 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 might be lost. If the encryption key is revoked, the workstation session automatically stops within 7 hours. Immutable after the workstation configuration is created. */
530
552
  encryptionKey?: CustomerEncryptionKey;
531
553
  /** Optional. Ephemeral directories which won't persist across workstation sessions. */
@@ -565,6 +587,12 @@ declare namespace gapi.client {
565
587
  /** Output only. Time when this workstation configuration was most recently updated. */
566
588
  updateTime?: string;
567
589
  }
590
+ interface WorkstationPersistentDirectory {
591
+ /** Optional. The mount path of the persistent directory. */
592
+ mountPath?: string;
593
+ /** Optional. Size of the persistent directory in GB. If specified in an update request, this is the desired size of the directory. */
594
+ sizeGb?: number;
595
+ }
568
596
  interface OperationsResource {
569
597
  /** Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */
570
598
  cancel(request: {
@@ -741,7 +769,7 @@ declare namespace gapi.client {
741
769
  upload_protocol?: string;
742
770
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
743
771
  uploadType?: string;
744
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
772
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
745
773
  validateOnly?: boolean;
746
774
  /** Required. ID to use for the workstation. */
747
775
  workstationId?: string;
@@ -774,7 +802,7 @@ declare namespace gapi.client {
774
802
  upload_protocol?: string;
775
803
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
776
804
  uploadType?: string;
777
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
805
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
778
806
  validateOnly?: boolean;
779
807
  /** Required. ID to use for the workstation. */
780
808
  workstationId?: string;
@@ -809,7 +837,7 @@ declare namespace gapi.client {
809
837
  upload_protocol?: string;
810
838
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
811
839
  uploadType?: string;
812
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
840
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
813
841
  validateOnly?: boolean;
814
842
  }): Request<Operation>;
815
843
  /** Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation. Once generated this token cannot be revoked and is good for the lifetime of the token. */
@@ -996,7 +1024,7 @@ declare namespace gapi.client {
996
1024
  '$.xgafv'?: '1' | '2';
997
1025
  /** OAuth access token. */
998
1026
  access_token?: string;
999
- /** Optional. If set and the workstation configuration is not found, a new workstation configuration is created. In this situation, update_mask is ignored. */
1027
+ /** Optional. If set and the workstation is not found, a new workstation is created. In this situation, update_mask is ignored. */
1000
1028
  allowMissing?: boolean;
1001
1029
  /** Data format for response. */
1002
1030
  alt?: 'json' | 'media' | 'proto';
@@ -1014,13 +1042,13 @@ declare namespace gapi.client {
1014
1042
  prettyPrint?: boolean;
1015
1043
  /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1016
1044
  quotaUser?: string;
1017
- /** Required. Mask specifying which fields in the workstation configuration should be updated. */
1045
+ /** Required. Mask specifying which fields in the workstation should be updated. */
1018
1046
  updateMask?: string;
1019
1047
  /** Upload protocol for media (e.g. "raw", "multipart"). */
1020
1048
  upload_protocol?: string;
1021
1049
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1022
1050
  uploadType?: string;
1023
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1051
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1024
1052
  validateOnly?: boolean;
1025
1053
  /** Request body */
1026
1054
  resource: Workstation;
@@ -1031,7 +1059,7 @@ declare namespace gapi.client {
1031
1059
  '$.xgafv'?: '1' | '2';
1032
1060
  /** OAuth access token. */
1033
1061
  access_token?: string;
1034
- /** Optional. If set and the workstation configuration is not found, a new workstation configuration is created. In this situation, update_mask is ignored. */
1062
+ /** Optional. If set and the workstation is not found, a new workstation is created. In this situation, update_mask is ignored. */
1035
1063
  allowMissing?: boolean;
1036
1064
  /** Data format for response. */
1037
1065
  alt?: 'json' | 'media' | 'proto';
@@ -1049,17 +1077,75 @@ declare namespace gapi.client {
1049
1077
  prettyPrint?: boolean;
1050
1078
  /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1051
1079
  quotaUser?: string;
1052
- /** Required. Mask specifying which fields in the workstation configuration should be updated. */
1080
+ /** Required. Mask specifying which fields in the workstation should be updated. */
1053
1081
  updateMask?: string;
1054
1082
  /** Upload protocol for media (e.g. "raw", "multipart"). */
1055
1083
  upload_protocol?: string;
1056
1084
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1057
1085
  uploadType?: string;
1058
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1086
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1059
1087
  validateOnly?: boolean;
1060
1088
  },
1061
1089
  body: Workstation,
1062
1090
  ): Request<Operation>;
1091
+ /** Pushes credentials to a running workstation on behalf of a user. Once complete, supported credential types (application_default_credentials) are made available to processes running in the user container. */
1092
+ pushCredentials(request: {
1093
+ /** V1 error format. */
1094
+ '$.xgafv'?: '1' | '2';
1095
+ /** OAuth access token. */
1096
+ access_token?: string;
1097
+ /** Data format for response. */
1098
+ alt?: 'json' | 'media' | 'proto';
1099
+ /** JSONP */
1100
+ callback?: string;
1101
+ /** Selector specifying which fields to include in a partial response. */
1102
+ fields?: string;
1103
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1104
+ key?: string;
1105
+ /** OAuth 2.0 token for the current user. */
1106
+ oauth_token?: string;
1107
+ /** Returns response with indentations and line breaks. */
1108
+ prettyPrint?: boolean;
1109
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1110
+ quotaUser?: string;
1111
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1112
+ upload_protocol?: string;
1113
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1114
+ uploadType?: string;
1115
+ /** Required. Name of the workstation for which the credentials should be pushed. */
1116
+ workstation: string;
1117
+ /** Request body */
1118
+ resource: PushCredentialsRequest;
1119
+ }): Request<Operation>;
1120
+ pushCredentials(
1121
+ request: {
1122
+ /** V1 error format. */
1123
+ '$.xgafv'?: '1' | '2';
1124
+ /** OAuth access token. */
1125
+ access_token?: string;
1126
+ /** Data format for response. */
1127
+ alt?: 'json' | 'media' | 'proto';
1128
+ /** JSONP */
1129
+ callback?: string;
1130
+ /** Selector specifying which fields to include in a partial response. */
1131
+ fields?: string;
1132
+ /** API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. */
1133
+ key?: string;
1134
+ /** OAuth 2.0 token for the current user. */
1135
+ oauth_token?: string;
1136
+ /** Returns response with indentations and line breaks. */
1137
+ prettyPrint?: boolean;
1138
+ /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */
1139
+ quotaUser?: string;
1140
+ /** Upload protocol for media (e.g. "raw", "multipart"). */
1141
+ upload_protocol?: string;
1142
+ /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1143
+ uploadType?: string;
1144
+ /** Required. Name of the workstation for which the credentials should be pushed. */
1145
+ workstation: string;
1146
+ },
1147
+ body: PushCredentialsRequest,
1148
+ ): Request<Operation>;
1063
1149
  /** Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. */
1064
1150
  setIamPolicy(
1065
1151
  request: {
@@ -1264,7 +1350,7 @@ declare namespace gapi.client {
1264
1350
  upload_protocol?: string;
1265
1351
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1266
1352
  uploadType?: string;
1267
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1353
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1268
1354
  validateOnly?: boolean;
1269
1355
  /** Required. ID to use for the workstation configuration. */
1270
1356
  workstationConfigId?: string;
@@ -1297,7 +1383,7 @@ declare namespace gapi.client {
1297
1383
  upload_protocol?: string;
1298
1384
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1299
1385
  uploadType?: string;
1300
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1386
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1301
1387
  validateOnly?: boolean;
1302
1388
  /** Required. ID to use for the workstation configuration. */
1303
1389
  workstationConfigId?: string;
@@ -1334,7 +1420,7 @@ declare namespace gapi.client {
1334
1420
  upload_protocol?: string;
1335
1421
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1336
1422
  uploadType?: string;
1337
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1423
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1338
1424
  validateOnly?: boolean;
1339
1425
  }): Request<Operation>;
1340
1426
  /** Returns the requested workstation configuration. */
@@ -1487,7 +1573,7 @@ declare namespace gapi.client {
1487
1573
  upload_protocol?: string;
1488
1574
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1489
1575
  uploadType?: string;
1490
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1576
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1491
1577
  validateOnly?: boolean;
1492
1578
  /** Request body */
1493
1579
  resource: WorkstationConfig;
@@ -1522,7 +1608,7 @@ declare namespace gapi.client {
1522
1608
  upload_protocol?: string;
1523
1609
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1524
1610
  uploadType?: string;
1525
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1611
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1526
1612
  validateOnly?: boolean;
1527
1613
  },
1528
1614
  body: WorkstationConfig,
@@ -1616,7 +1702,7 @@ declare namespace gapi.client {
1616
1702
  upload_protocol?: string;
1617
1703
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1618
1704
  uploadType?: string;
1619
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1705
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1620
1706
  validateOnly?: boolean;
1621
1707
  /** Required. ID to use for the workstation cluster. */
1622
1708
  workstationClusterId?: string;
@@ -1649,7 +1735,7 @@ declare namespace gapi.client {
1649
1735
  upload_protocol?: string;
1650
1736
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1651
1737
  uploadType?: string;
1652
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1738
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1653
1739
  validateOnly?: boolean;
1654
1740
  /** Required. ID to use for the workstation cluster. */
1655
1741
  workstationClusterId?: string;
@@ -1686,7 +1772,7 @@ declare namespace gapi.client {
1686
1772
  upload_protocol?: string;
1687
1773
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1688
1774
  uploadType?: string;
1689
- /** Optional. If set, validate the request and preview the review, but do not apply it. */
1775
+ /** Optional. If set, validate the request and preview the result, but do not apply it. */
1690
1776
  validateOnly?: boolean;
1691
1777
  }): Request<Operation>;
1692
1778
  /** Returns the requested workstation cluster. */
@@ -1779,7 +1865,7 @@ declare namespace gapi.client {
1779
1865
  upload_protocol?: string;
1780
1866
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1781
1867
  uploadType?: string;
1782
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1868
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1783
1869
  validateOnly?: boolean;
1784
1870
  /** Request body */
1785
1871
  resource: WorkstationCluster;
@@ -1814,7 +1900,7 @@ declare namespace gapi.client {
1814
1900
  upload_protocol?: string;
1815
1901
  /** Legacy upload protocol for media (e.g. "media", "multipart"). */
1816
1902
  uploadType?: string;
1817
- /** Optional. If set, validate the request and preview the review, but do not actually apply it. */
1903
+ /** Optional. If set, validate the request and preview the result, but do not actually apply it. */
1818
1904
  validateOnly?: boolean;
1819
1905
  },
1820
1906
  body: WorkstationCluster,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maxim_mazurok/gapi.client.workstations-v1beta",
3
- "version": "0.2.20260218",
3
+ "version": "0.2.20260526",
4
4
  "description": "TypeScript typings for Cloud Workstations API v1beta",
5
5
  "repository": {
6
6
  "type": "git",
package/readme.md CHANGED
@@ -11,6 +11,23 @@ Install typings for Cloud Workstations API:
11
11
  npm install @types/gapi.client.workstations-v1beta --save-dev
12
12
  ```
13
13
 
14
+ ## TypeScript 6.0+
15
+
16
+ TypeScript 6.0 changed `types` to default to `[]`. You must now explicitly list type packages in `tsconfig.json`:
17
+
18
+ ```json
19
+ {
20
+ "compilerOptions": {
21
+ "types": [
22
+ "gapi",
23
+ "gapi.auth2",
24
+ "gapi.client",
25
+ "gapi.client.workstations-v1beta"
26
+ ]
27
+ }
28
+ }
29
+ ```
30
+
14
31
  ## Usage
15
32
 
16
33
  You need to initialize Google API client in your code: