@@ -23,6 +23,7 @@ import "google/api/field_info.proto";
2323import "google/api/resource.proto" ;
2424import "google/cloud/vectorsearch/v1beta/common.proto" ;
2525import "google/cloud/vectorsearch/v1beta/embedding_config.proto" ;
26+ import "google/cloud/vectorsearch/v1beta/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 : "/v1beta/{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 ) = {
@@ -216,8 +230,18 @@ message Collection {
216230 // Optional. JSON Schema for data.
217231 // Field names must contain only alphanumeric characters,
218232 // underscores, and hyphens.
233+ // The schema must be compliant with
234+ // [JSON Schema Draft 7](https://json-schema.org/draft-07/schema).
219235 google.protobuf.Struct data_schema = 10
220236 [(google.api.field_behavior ) = OPTIONAL ];
237+
238+ // Optional. Immutable. Specifies the customer-managed encryption key spec for
239+ // a Collection. If set, this Collection and all sub-resources of this
240+ // Collection will be secured by this key.
241+ EncryptionSpec encryption_spec = 11 [
242+ (google.api.field_behavior ) = IMMUTABLE ,
243+ (google.api.field_behavior ) = OPTIONAL
244+ ];
221245}
222246
223247// Message describing a vector field.
@@ -505,6 +529,48 @@ message CreateIndexRequest {
505529 ];
506530}
507531
532+ // Message for updating an Index.
533+ message UpdateIndexRequest {
534+ // Required. The resource being updated.
535+ Index index = 1 [(google.api.field_behavior ) = REQUIRED ];
536+
537+ // Optional. Specifies the fields to be overwritten in the Index resource by
538+ // the update. The fields specified in the update_mask are relative to the
539+ // resource, not the full request. A field will be overwritten if it is in the
540+ // mask. If the user does not provide a mask then all fields present in the
541+ // request with non-empty values will be overwritten.
542+ //
543+ // The following fields support update:
544+ // * `display_name`
545+ // * `description`
546+ // * `labels`
547+ // * `dedicated_infrastructure.autoscaling_spec.min_replica_count`
548+ // * `dedicated_infrastructure.autoscaling_spec.max_replica_count`
549+ //
550+ // If `*` is provided in the `update_mask`, full replacement of mutable fields
551+ // will be performed.
552+ google.protobuf.FieldMask update_mask = 2
553+ [(google.api.field_behavior ) = OPTIONAL ];
554+
555+ // Optional. An optional request ID to identify requests. Specify a unique
556+ // request ID so that if you must retry your request, the server will know to
557+ // ignore the request if it has already been completed. The server will
558+ // guarantee that for at least 60 minutes since the first request.
559+ //
560+ // For example, consider a situation where you make an initial request and the
561+ // request times out. If you make the request again with the same request
562+ // ID, the server can check if original operation with the same request ID
563+ // was received, and if so, will ignore the second request. This prevents
564+ // clients from accidentally creating duplicate commitments.
565+ //
566+ // The request ID must be a valid UUID with the exception that zero UUID is
567+ // not supported (00000000-0000-0000-0000-000000000000).
568+ string request_id = 3 [
569+ (google.api.field_info ).format = UUID4 ,
570+ (google.api.field_behavior ) = OPTIONAL
571+ ];
572+ }
573+
508574// Message for deleting an Index.
509575message DeleteIndexRequest {
510576 // Required. The resource name of the Index to delete.
@@ -681,8 +747,11 @@ message ExportDataObjectsRequest {
681747 // Unspecified format.
682748 FORMAT_UNSPECIFIED = 0 ;
683749
684- // The exported Data Objects will be in JSON format.
685- JSON = 1 ;
750+ // Deprecated: Exports Data Objects in `JSON` format. Use `JSONL` instead.
751+ JSON = 1 [deprecated = true ];
752+
753+ // Exports Data Objects in `JSONL` format.
754+ JSONL = 2 ;
686755 }
687756
688757 // Required. URI prefix of the Cloud Storage where to export Data Objects.
@@ -729,12 +798,15 @@ message DedicatedInfrastructure {
729798 // Specification for autoscaling.
730799 message AutoscalingSpec {
731800 // Optional. The minimum number of replicas. If not set or set to `0`,
732- // defaults to `2`. Must be >= `2 ` and <= `1000`.
801+ // defaults to `2`. Must be >= `1 ` and <= `1000`.
733802 int32 min_replica_count = 1 [(google.api.field_behavior ) = OPTIONAL ];
734803
735- // Optional. The maximum number of replicas. If not set or set to `0`,
736- // defaults to the greater of `min_replica_count` and `5`. Must be >=
804+ // Optional. The maximum number of replicas. Must be >=
737805 // `min_replica_count` and <= `1000`.
806+ // For the v1beta version, if not set or set to `0`, defaults to
807+ // the greater of `min_replica_count` and `5`.
808+ // For all other versions, if not set or set to `0`, defaults to
809+ // the greater of `min_replica_count` and `2`.
738810 int32 max_replica_count = 2 [(google.api.field_behavior ) = OPTIONAL ];
739811 }
740812
0 commit comments