@@ -23,6 +23,7 @@ import "google/api/field_info.proto";
2323import "google/api/resource.proto" ;
2424import "google/cloud/vectorsearch/v1/common.proto" ;
2525import "google/cloud/vectorsearch/v1/embedding_config.proto" ;
26+ import "google/cloud/vectorsearch/v1/encryption_spec.proto" ;
2627import "google/longrunning/operations.proto" ;
2728import "google/protobuf/empty.proto" ;
2829import "google/protobuf/field_mask.proto" ;
@@ -135,6 +136,19 @@ service VectorSearchService {
135136 };
136137 }
137138
139+ // Updates the parameters of a single Index.
140+ rpc UpdateIndex (UpdateIndexRequest ) returns (google.longrunning.Operation ) {
141+ option (google.api.http ) = {
142+ patch : "/v1/{index.name=projects/*/locations/*/collections/*/indexes/*}"
143+ body : "index"
144+ };
145+ option (google.api.method_signature ) = "index,update_mask" ;
146+ option (google.longrunning.operation_info ) = {
147+ response_type : "Index"
148+ metadata_type : "OperationMetadata"
149+ };
150+ }
151+
138152 // Deletes a single Index.
139153 rpc DeleteIndex (DeleteIndexRequest ) returns (google.longrunning.Operation ) {
140154 option (google.api.http ) = {
@@ -212,8 +226,18 @@ message Collection {
212226 // Optional. JSON Schema for data.
213227 // Field names must contain only alphanumeric characters,
214228 // underscores, and hyphens.
229+ // The schema must be compliant with
230+ // [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
215231 google.protobuf.Struct data_schema = 10
216232 [(google.api.field_behavior ) = OPTIONAL ];
233+
234+ // Optional. Immutable. Specifies the customer-managed encryption key spec for
235+ // a Collection. If set, this Collection and all sub-resources of this
236+ // Collection will be secured by this key.
237+ EncryptionSpec encryption_spec = 11 [
238+ (google.api.field_behavior ) = IMMUTABLE ,
239+ (google.api.field_behavior ) = OPTIONAL
240+ ];
217241}
218242
219243// Message describing a vector field.
@@ -501,6 +525,48 @@ message CreateIndexRequest {
501525 ];
502526}
503527
528+ // Message for updating an Index.
529+ message UpdateIndexRequest {
530+ // Required. The resource being updated.
531+ Index index = 1 [(google.api.field_behavior ) = REQUIRED ];
532+
533+ // Optional. Specifies the fields to be overwritten in the Index resource by
534+ // the update. The fields specified in the update_mask are relative to the
535+ // resource, not the full request. A field will be overwritten if it is in the
536+ // mask. If the user does not provide a mask then all fields present in the
537+ // request with non-empty values will be overwritten.
538+ //
539+ // The following fields support update:
540+ // * `display_name`
541+ // * `description`
542+ // * `labels`
543+ // * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
544+ // * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
545+ //
546+ // If `*` is provided in the `update_mask`, full replacement of mutable fields
547+ // will be performed.
548+ google.protobuf.FieldMask update_mask = 2
549+ [(google.api.field_behavior ) = OPTIONAL ];
550+
551+ // Optional. An optional request ID to identify requests. Specify a unique
552+ // request ID so that if you must retry your request, the server will know to
553+ // ignore the request if it has already been completed. The server will
554+ // guarantee that for at least 60 minutes since the first request.
555+ //
556+ // For example, consider a situation where you make an initial request and the
557+ // request times out. If you make the request again with the same request
558+ // ID, the server can check if original operation with the same request ID
559+ // was received, and if so, will ignore the second request. This prevents
560+ // clients from accidentally creating duplicate commitments.
561+ //
562+ // The request ID must be a valid UUID with the exception that zero UUID is
563+ // not supported (00000000-0000-0000-0000-000000000000).
564+ string request_id = 3 [
565+ (google.api.field_info ).format = UUID4 ,
566+ (google.api.field_behavior ) = OPTIONAL
567+ ];
568+ }
569+
504570// Message for deleting an Index.
505571message DeleteIndexRequest {
506572 // Required. The resource name of the Index to delete.
0 commit comments