From 70a68c2fb4fb4f05a35c726109b0d8087cf6e572 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Sun, 25 Aug 2024 00:20:18 -0700 Subject: [PATCH] feat(all): auto-regenerate discovery clients (#2753) --- connectors/v1/connectors-api.json | 57 +++++++- connectors/v1/connectors-gen.go | 52 ++++++++ notebooks/v1/notebooks-api.json | 10 +- notebooks/v1/notebooks-gen.go | 4 + notebooks/v2/notebooks-api.json | 56 +++++++- notebooks/v2/notebooks-gen.go | 151 ++++++++++++++++++++++ storage/v1/storage-api.json | 14 +- storage/v1/storage-gen.go | 4 + workstations/v1/workstations-api.json | 11 +- workstations/v1/workstations-gen.go | 15 +++ workstations/v1beta/workstations-api.json | 6 +- workstations/v1beta/workstations-gen.go | 6 + 12 files changed, 379 insertions(+), 7 deletions(-) diff --git a/connectors/v1/connectors-api.json b/connectors/v1/connectors-api.json index ee8b29ff060..0a33fb67cd4 100644 --- a/connectors/v1/connectors-api.json +++ b/connectors/v1/connectors-api.json @@ -1320,6 +1320,21 @@ "pattern": "^projects/[^/]+/locations/[^/]+/endpointAttachments/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Optional. Specifies which fields of the EndpointAttachment are returned in the response. Defaults to `ENDPOINT_ATTACHMENT_VIEW_BASIC` view.", + "enum": [ + "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED", + "ENDPOINT_ATTACHMENT_VIEW_BASIC", + "ENDPOINT_ATTACHMENT_VIEW_FULL" + ], + "enumDescriptions": [ + "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED.", + "Do not include status.", + "Includes Status." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+name}", @@ -1366,6 +1381,21 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Optional. Specifies which fields of the EndpointAttachment are returned in the response. Defaults to `ENDPOINT_ATTACHMENT_VIEW_BASIC` view.", + "enum": [ + "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED", + "ENDPOINT_ATTACHMENT_VIEW_BASIC", + "ENDPOINT_ATTACHMENT_VIEW_FULL" + ], + "enumDescriptions": [ + "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED.", + "Do not include status.", + "Includes Status." + ], + "location": "query", + "type": "string" } }, "path": "v1/{+parent}/endpointAttachments", @@ -2427,7 +2457,7 @@ } } }, - "revision": "20240811", + "revision": "20240822", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AuditConfig": { @@ -4058,6 +4088,31 @@ "description": "Required. The path of the service attachment", "type": "string" }, + "state": { + "description": "Output only. The Private Service Connect Connection Endpoint State. This value is only available in the Full view.", + "enum": [ + "STATE_UNSPECIFIED", + "PENDING", + "ACCEPTED", + "REJECTED", + "CLOSED", + "FROZEN", + "NEEDS_ATTENTION", + "ACCEPTED_NOT_PROGRAMMED" + ], + "enumDescriptions": [ + "STATE_UNSPECIFIED.", + "The endpoint is pending acceptance by the producer.", + "The endpoint has been accepted by the producer.", + "The endpoint has been rejected by the producer.", + "The endpoint has been closed by the producer and will not serve traffic going forward.", + "The endpoint has been frozen by the producer and will not serve traffic.", + "The endpoint has been accepted by the producer, but it is not ready to serve the traffic due to producer side issues.", + "The endpoint has been accepted by the producer, but it cannot be programmed to the data plane due to invariant violation." + ], + "readOnly": true, + "type": "string" + }, "updateTime": { "description": "Output only. Updated time.", "format": "google-datetime", diff --git a/connectors/v1/connectors-gen.go b/connectors/v1/connectors-gen.go index 631f6b55666..d638a811167 100644 --- a/connectors/v1/connectors-gen.go +++ b/connectors/v1/connectors-gen.go @@ -1865,6 +1865,24 @@ type EndpointAttachment struct { Name string `json:"name,omitempty"` // ServiceAttachment: Required. The path of the service attachment ServiceAttachment string `json:"serviceAttachment,omitempty"` + // State: Output only. The Private Service Connect Connection Endpoint State. + // This value is only available in the Full view. + // + // Possible values: + // "STATE_UNSPECIFIED" - STATE_UNSPECIFIED. + // "PENDING" - The endpoint is pending acceptance by the producer. + // "ACCEPTED" - The endpoint has been accepted by the producer. + // "REJECTED" - The endpoint has been rejected by the producer. + // "CLOSED" - The endpoint has been closed by the producer and will not serve + // traffic going forward. + // "FROZEN" - The endpoint has been frozen by the producer and will not serve + // traffic. + // "NEEDS_ATTENTION" - The endpoint has been accepted by the producer, but it + // is not ready to serve the traffic due to producer side issues. + // "ACCEPTED_NOT_PROGRAMMED" - The endpoint has been accepted by the + // producer, but it cannot be programmed to the data plane due to invariant + // violation. + State string `json:"state,omitempty"` // UpdateTime: Output only. Updated time. UpdateTime string `json:"updateTime,omitempty"` @@ -9588,6 +9606,23 @@ func (r *ProjectsLocationsEndpointAttachmentsService) Get(name string) *Projects return c } +// View sets the optional parameter "view": Specifies which fields of the +// EndpointAttachment are returned in the response. Defaults to +// `ENDPOINT_ATTACHMENT_VIEW_BASIC` view. +// +// Possible values: +// +// "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED" - +// +// ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED. +// +// "ENDPOINT_ATTACHMENT_VIEW_BASIC" - Do not include status. +// "ENDPOINT_ATTACHMENT_VIEW_FULL" - Includes Status. +func (c *ProjectsLocationsEndpointAttachmentsGetCall) View(view string) *ProjectsLocationsEndpointAttachmentsGetCall { + c.urlParams_.Set("view", view) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. @@ -9721,6 +9756,23 @@ func (c *ProjectsLocationsEndpointAttachmentsListCall) PageToken(pageToken strin return c } +// View sets the optional parameter "view": Specifies which fields of the +// EndpointAttachment are returned in the response. Defaults to +// `ENDPOINT_ATTACHMENT_VIEW_BASIC` view. +// +// Possible values: +// +// "ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED" - +// +// ENDPOINT_ATTACHMENT_VIEW_UNSPECIFIED. +// +// "ENDPOINT_ATTACHMENT_VIEW_BASIC" - Do not include status. +// "ENDPOINT_ATTACHMENT_VIEW_FULL" - Includes Status. +func (c *ProjectsLocationsEndpointAttachmentsListCall) View(view string) *ProjectsLocationsEndpointAttachmentsListCall { + c.urlParams_.Set("view", view) + return c +} + // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. diff --git a/notebooks/v1/notebooks-api.json b/notebooks/v1/notebooks-api.json index 30baebd2cae..f4341260943 100644 --- a/notebooks/v1/notebooks-api.json +++ b/notebooks/v1/notebooks-api.json @@ -2008,7 +2008,7 @@ } } }, - "revision": "20240314", + "revision": "20240820", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2035,6 +2035,8 @@ "NVIDIA_TESLA_T4_VWS", "NVIDIA_TESLA_P100_VWS", "NVIDIA_TESLA_P4_VWS", + "NVIDIA_H100_80GB", + "NVIDIA_H100_MEGA_80GB", "TPU_V2", "TPU_V3" ], @@ -2051,6 +2053,8 @@ "Accelerator type is NVIDIA Tesla T4 Virtual Workstations.", "Accelerator type is NVIDIA Tesla P100 Virtual Workstations.", "Accelerator type is NVIDIA Tesla P4 Virtual Workstations.", + "Accelerator type is NVIDIA H100 80GB.", + "Accelerator type is NVIDIA H100 Mega 80GB.", "(Coming soon) Accelerator type is TPU V2.", "(Coming soon) Accelerator type is TPU V3." ], @@ -4058,6 +4062,8 @@ "NVIDIA_TESLA_T4_VWS", "NVIDIA_TESLA_P100_VWS", "NVIDIA_TESLA_P4_VWS", + "NVIDIA_H100_80GB", + "NVIDIA_H100_MEGA_80GB", "TPU_V2", "TPU_V3" ], @@ -4074,6 +4080,8 @@ "Accelerator type is NVIDIA Tesla T4 Virtual Workstations.", "Accelerator type is NVIDIA Tesla P100 Virtual Workstations.", "Accelerator type is NVIDIA Tesla P4 Virtual Workstations.", + "Accelerator type is NVIDIA H100 80GB.", + "Accelerator type is NVIDIA H100 Mega 80GB.", "(Coming soon) Accelerator type is TPU V2.", "(Coming soon) Accelerator type is TPU V3." ], diff --git a/notebooks/v1/notebooks-gen.go b/notebooks/v1/notebooks-gen.go index 5841e2d61ed..75653bc72a9 100644 --- a/notebooks/v1/notebooks-gen.go +++ b/notebooks/v1/notebooks-gen.go @@ -272,6 +272,8 @@ type AcceleratorConfig struct { // Workstations. // "NVIDIA_TESLA_P4_VWS" - Accelerator type is NVIDIA Tesla P4 Virtual // Workstations. + // "NVIDIA_H100_80GB" - Accelerator type is NVIDIA H100 80GB. + // "NVIDIA_H100_MEGA_80GB" - Accelerator type is NVIDIA H100 Mega 80GB. // "TPU_V2" - (Coming soon) Accelerator type is TPU V2. // "TPU_V3" - (Coming soon) Accelerator type is TPU V3. Type string `json:"type,omitempty"` @@ -2723,6 +2725,8 @@ type SetInstanceAcceleratorRequest struct { // Workstations. // "NVIDIA_TESLA_P4_VWS" - Accelerator type is NVIDIA Tesla P4 Virtual // Workstations. + // "NVIDIA_H100_80GB" - Accelerator type is NVIDIA H100 80GB. + // "NVIDIA_H100_MEGA_80GB" - Accelerator type is NVIDIA H100 Mega 80GB. // "TPU_V2" - (Coming soon) Accelerator type is TPU V2. // "TPU_V3" - (Coming soon) Accelerator type is TPU V3. Type string `json:"type,omitempty"` diff --git a/notebooks/v2/notebooks-api.json b/notebooks/v2/notebooks-api.json index d889d9e6e42..22a4dfac4a2 100644 --- a/notebooks/v2/notebooks-api.json +++ b/notebooks/v2/notebooks-api.json @@ -550,6 +550,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "restore": { + "description": "RestoreInstance restores an Instance from a BackupSource.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:restore", + "httpMethod": "POST", + "id": "notebooks.projects.locations.instances.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: `projects/{project_id}/locations/{location}/instances/{instance_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:restore", + "request": { + "$ref": "RestoreInstanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "rollback": { "description": "Rollbacks a notebook instance to the previous version.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:rollback", @@ -876,7 +904,7 @@ } } }, - "revision": "20240731", + "revision": "20240820", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -1768,6 +1796,17 @@ }, "type": "object" }, + "RestoreInstanceRequest": { + "description": "Request for restoring the notebook instance from a BackupSource.", + "id": "RestoreInstanceRequest", + "properties": { + "snapshot": { + "$ref": "Snapshot", + "description": "Snapshot to be used for restore." + } + }, + "type": "object" + }, "RollbackInstanceRequest": { "description": "Request for rollbacking a notebook instance", "id": "RollbackInstanceRequest", @@ -1833,6 +1872,21 @@ }, "type": "object" }, + "Snapshot": { + "description": "Snapshot represents the snapshot of the data disk used to restore the Workbench Instance from. Refers to: compute/v1/projects/{project_id}/global/snapshots/{snapshot_id}", + "id": "Snapshot", + "properties": { + "projectId": { + "description": "Required. The project ID of the snapshot.", + "type": "string" + }, + "snapshotId": { + "description": "Required. The ID of the snapshot.", + "type": "string" + } + }, + "type": "object" + }, "StartInstanceRequest": { "description": "Request for starting a notebook instance", "id": "StartInstanceRequest", diff --git a/notebooks/v2/notebooks-gen.go b/notebooks/v2/notebooks-gen.go index df5fb7850ba..3b13b939e21 100644 --- a/notebooks/v2/notebooks-gen.go +++ b/notebooks/v2/notebooks-gen.go @@ -1364,6 +1364,29 @@ func (s ResizeDiskRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// RestoreInstanceRequest: Request for restoring the notebook instance from a +// BackupSource. +type RestoreInstanceRequest struct { + // Snapshot: Snapshot to be used for restore. + Snapshot *Snapshot `json:"snapshot,omitempty"` + // ForceSendFields is a list of field names (e.g. "Snapshot") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Snapshot") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s RestoreInstanceRequest) MarshalJSON() ([]byte, error) { + type NoMethod RestoreInstanceRequest + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // RollbackInstanceRequest: Request for rollbacking a notebook instance type RollbackInstanceRequest struct { // RevisionId: Required. Output only. Revision Id @@ -1479,6 +1502,32 @@ func (s ShieldedInstanceConfig) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) } +// Snapshot: Snapshot represents the snapshot of the data disk used to restore +// the Workbench Instance from. Refers to: +// compute/v1/projects/{project_id}/global/snapshots/{snapshot_id} +type Snapshot struct { + // ProjectId: Required. The project ID of the snapshot. + ProjectId string `json:"projectId,omitempty"` + // SnapshotId: Required. The ID of the snapshot. + SnapshotId string `json:"snapshotId,omitempty"` + // ForceSendFields is a list of field names (e.g. "ProjectId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ProjectId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s Snapshot) MarshalJSON() ([]byte, error) { + type NoMethod Snapshot + return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields) +} + // StartInstanceRequest: Request for starting a notebook instance type StartInstanceRequest struct { } @@ -3320,6 +3369,108 @@ func (c *ProjectsLocationsInstancesResizeDiskCall) Do(opts ...googleapi.CallOpti return ret, nil } +type ProjectsLocationsInstancesRestoreCall struct { + s *Service + name string + restoreinstancerequest *RestoreInstanceRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Restore: RestoreInstance restores an Instance from a BackupSource. +// +// - name: Format: +// `projects/{project_id}/locations/{location}/instances/{instance_id}`. +func (r *ProjectsLocationsInstancesService) Restore(name string, restoreinstancerequest *RestoreInstanceRequest) *ProjectsLocationsInstancesRestoreCall { + c := &ProjectsLocationsInstancesRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + c.restoreinstancerequest = restoreinstancerequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsInstancesRestoreCall) Fields(s ...googleapi.Field) *ProjectsLocationsInstancesRestoreCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsInstancesRestoreCall) Context(ctx context.Context) *ProjectsLocationsInstancesRestoreCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsInstancesRestoreCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsInstancesRestoreCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.restoreinstancerequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v2/{+name}:restore") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "notebooks.projects.locations.instances.restore" call. +// Any non-2xx status code is an error. Response headers are in either +// *Operation.ServerResponse.Header or (if a response was returned at all) in +// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check +// whether the returned error was because http.StatusNotModified was returned. +func (c *ProjectsLocationsInstancesRestoreCall) Do(opts ...googleapi.CallOption) (*Operation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &Operation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + type ProjectsLocationsInstancesRollbackCall struct { s *Service name string diff --git a/storage/v1/storage-api.json b/storage/v1/storage-api.json index 5ee9276a0b8..597daf0a724 100644 --- a/storage/v1/storage-api.json +++ b/storage/v1/storage-api.json @@ -43,7 +43,7 @@ "location": "me-central2" } ], - "etag": "\"34373939373134303235393739323331393435\"", + "etag": "\"38363036373236373330353534313035333932\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -4136,7 +4136,7 @@ } } }, - "revision": "20240809", + "revision": "20240819", "rootUrl": "https://storage.googleapis.com/", "schemas": { "AnywhereCache": { @@ -4349,6 +4349,11 @@ "format": "int64", "type": "string" }, + "hardDeleteTime": { + "description": "The hard delete time of the bucket in RFC 3339 format.", + "format": "date-time", + "type": "string" + }, "hierarchicalNamespace": { "description": "The bucket's hierarchical namespace configuration.", "properties": { @@ -4675,6 +4680,11 @@ }, "type": "object" }, + "softDeleteTime": { + "description": "The soft delete time of the bucket in RFC 3339 format.", + "format": "date-time", + "type": "string" + }, "storageClass": { "description": "The bucket's default storage class, used whenever no storageClass is specified for a newly-created object. This defines how objects in the bucket are stored and determines the SLA and the cost of storage. Values include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE, and DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the bucket is created, it will default to STANDARD. For more information, see [Storage Classes](https://cloud.google.com/storage/docs/storage-classes).", "type": "string" diff --git a/storage/v1/storage-gen.go b/storage/v1/storage-gen.go index 8a16d773485..b16e3f227b2 100644 --- a/storage/v1/storage-gen.go +++ b/storage/v1/storage-gen.go @@ -463,6 +463,8 @@ type Bucket struct { Etag string `json:"etag,omitempty"` // Generation: The generation of this bucket. Generation int64 `json:"generation,omitempty,string"` + // HardDeleteTime: The hard delete time of the bucket in RFC 3339 format. + HardDeleteTime string `json:"hardDeleteTime,omitempty"` // HierarchicalNamespace: The bucket's hierarchical namespace configuration. HierarchicalNamespace *BucketHierarchicalNamespace `json:"hierarchicalNamespace,omitempty"` // IamConfiguration: The bucket's IAM configuration. @@ -525,6 +527,8 @@ type Bucket struct { // of time that soft-deleted objects will be retained, and cannot be // permanently deleted. SoftDeletePolicy *BucketSoftDeletePolicy `json:"softDeletePolicy,omitempty"` + // SoftDeleteTime: The soft delete time of the bucket in RFC 3339 format. + SoftDeleteTime string `json:"softDeleteTime,omitempty"` // StorageClass: The bucket's default storage class, used whenever no // storageClass is specified for a newly-created object. This defines how // objects in the bucket are stored and determines the SLA and the cost of diff --git a/workstations/v1/workstations-api.json b/workstations/v1/workstations-api.json index 25c276048de..cbbb6d77837 100644 --- a/workstations/v1/workstations-api.json +++ b/workstations/v1/workstations-api.json @@ -1195,7 +1195,7 @@ } } }, - "revision": "20240723", + "revision": "20240820", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -2374,6 +2374,10 @@ "description": "Optional. 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.", "type": "string" }, + "grantWorkstationAdminRoleOnCreate": { + "description": "Optional. 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.", + "type": "boolean" + }, "host": { "$ref": "Host", "description": "Optional. Runtime host for the workstation." @@ -2390,6 +2394,11 @@ "description": "Optional. [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.", "type": "object" }, + "maxUsableWorkstations": { + "description": "Optional. Maximum number of workstations under this config 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 defaults to 0 which indicates unlimited.", + "format": "int32", + "type": "integer" + }, "name": { "description": "Identifier. Full name of this workstation configuration.", "type": "string" diff --git a/workstations/v1/workstations-gen.go b/workstations/v1/workstations-gen.go index dbec8df6886..e884f50b230 100644 --- a/workstations/v1/workstations-gen.go +++ b/workstations/v1/workstations-gen.go @@ -1876,6 +1876,12 @@ type WorkstationConfig struct { // delete requests to make sure that the client has an up-to-date value before // proceeding. Etag string `json:"etag,omitempty"` + // GrantWorkstationAdminRoleOnCreate: Optional. 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. + GrantWorkstationAdminRoleOnCreate bool `json:"grantWorkstationAdminRoleOnCreate,omitempty"` // Host: Optional. Runtime host for the workstation. Host *Host `json:"host,omitempty"` // IdleTimeout: Optional. Number of seconds to wait before automatically @@ -1891,6 +1897,15 @@ type WorkstationConfig struct { // applied to the workstation configuration and that are also propagated to the // underlying Compute Engine resources. Labels map[string]string `json:"labels,omitempty"` + // MaxUsableWorkstations: Optional. Maximum number of workstations under this + // config 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 defaults to 0 which indicates unlimited. + MaxUsableWorkstations int64 `json:"maxUsableWorkstations,omitempty"` // Name: Identifier. Full name of this workstation configuration. Name string `json:"name,omitempty"` // PersistentDirectories: Optional. Directories to persist across workstation diff --git a/workstations/v1beta/workstations-api.json b/workstations/v1beta/workstations-api.json index 9a59a79eed1..9396cd533a3 100644 --- a/workstations/v1beta/workstations-api.json +++ b/workstations/v1beta/workstations-api.json @@ -1127,7 +1127,7 @@ } } }, - "revision": "20240803", + "revision": "20240820", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -2356,6 +2356,10 @@ "description": "Optional. 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.", "type": "string" }, + "grantWorkstationAdminRoleOnCreate": { + "description": "Optional. 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.", + "type": "boolean" + }, "host": { "$ref": "Host", "description": "Optional. Runtime host for the workstation." diff --git a/workstations/v1beta/workstations-gen.go b/workstations/v1beta/workstations-gen.go index 3388f1c8371..63e98651639 100644 --- a/workstations/v1beta/workstations-gen.go +++ b/workstations/v1beta/workstations-gen.go @@ -1941,6 +1941,12 @@ type WorkstationConfig struct { // delete requests to make sure that the client has an up-to-date value before // proceeding. Etag string `json:"etag,omitempty"` + // GrantWorkstationAdminRoleOnCreate: Optional. 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. + GrantWorkstationAdminRoleOnCreate bool `json:"grantWorkstationAdminRoleOnCreate,omitempty"` // Host: Optional. Runtime host for the workstation. Host *Host `json:"host,omitempty"` // HttpOptions: Optional. HTTP options that customize the behavior of the