@google-cloud/vectorsearch 0.1.0 → 0.3.0

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 (48) hide show
  1. package/README.md +23 -0
  2. package/build/protos/google/cloud/vectorsearch/v1/common.proto +37 -0
  3. package/build/protos/google/cloud/vectorsearch/v1/data_object.proto +95 -0
  4. package/build/protos/google/cloud/vectorsearch/v1/data_object_search_service.proto +449 -0
  5. package/build/protos/google/cloud/vectorsearch/v1/data_object_service.proto +242 -0
  6. package/build/protos/google/cloud/vectorsearch/v1/embedding_config.proto +74 -0
  7. package/build/protos/google/cloud/vectorsearch/v1/vectorsearch_service.proto +707 -0
  8. package/build/protos/google/cloud/vectorsearch/v1beta/data_object.proto +6 -5
  9. package/build/protos/google/cloud/vectorsearch/v1beta/data_object_search_service.proto +16 -6
  10. package/build/protos/google/cloud/vectorsearch/v1beta/data_object_service.proto +2 -2
  11. package/build/protos/google/cloud/vectorsearch/v1beta/embedding_config.proto +2 -2
  12. package/build/protos/google/cloud/vectorsearch/v1beta/vectorsearch_service.proto +84 -8
  13. package/build/protos/protos.d.ts +8528 -956
  14. package/build/protos/protos.js +25433 -7045
  15. package/build/protos/protos.json +2235 -6
  16. package/build/src/index.d.ts +12 -10
  17. package/build/src/index.js +7 -5
  18. package/build/src/index.js.map +1 -1
  19. package/build/src/v1/data_object_search_service_client.d.ts +583 -0
  20. package/build/src/v1/data_object_search_service_client.js +855 -0
  21. package/build/src/v1/data_object_search_service_client.js.map +1 -0
  22. package/build/src/v1/data_object_search_service_client_config.json +58 -0
  23. package/build/src/v1/data_object_search_service_proto_list.json +8 -0
  24. package/build/src/v1/data_object_service_client.d.ts +490 -0
  25. package/build/src/v1/data_object_service_client.js +767 -0
  26. package/build/src/v1/data_object_service_client.js.map +1 -0
  27. package/build/src/v1/data_object_service_client_config.json +73 -0
  28. package/build/src/v1/data_object_service_proto_list.json +8 -0
  29. package/build/src/v1/gapic_metadata.json +277 -0
  30. package/build/src/v1/index.d.ts +3 -0
  31. package/build/src/v1/index.js +27 -0
  32. package/build/src/v1/index.js.map +1 -0
  33. package/build/src/v1/vector_search_service_client.d.ts +1021 -0
  34. package/build/src/v1/vector_search_service_client.js +1387 -0
  35. package/build/src/v1/vector_search_service_client.js.map +1 -0
  36. package/build/src/v1/vector_search_service_client_config.json +88 -0
  37. package/build/src/v1/vector_search_service_proto_list.json +8 -0
  38. package/build/src/v1beta/data_object_search_service_client.js +1 -1
  39. package/build/src/v1beta/data_object_service_client.d.ts +1 -1
  40. package/build/src/v1beta/data_object_service_client.js +1 -1
  41. package/build/src/v1beta/data_object_service_client_config.json +12 -12
  42. package/build/src/v1beta/gapic_metadata.json +10 -0
  43. package/build/src/v1beta/index.js +1 -1
  44. package/build/src/v1beta/vector_search_service_client.d.ts +45 -3
  45. package/build/src/v1beta/vector_search_service_client.js +54 -3
  46. package/build/src/v1beta/vector_search_service_client.js.map +1 -1
  47. package/build/src/v1beta/vector_search_service_client_config.json +14 -10
  48. package/package.json +1 -1
@@ -0,0 +1,707 @@
1
+ // Copyright 2026 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ syntax = "proto3";
16
+
17
+ package google.cloud.vectorsearch.v1;
18
+
19
+ import "google/api/annotations.proto";
20
+ import "google/api/client.proto";
21
+ import "google/api/field_behavior.proto";
22
+ import "google/api/field_info.proto";
23
+ import "google/api/resource.proto";
24
+ import "google/cloud/vectorsearch/v1/common.proto";
25
+ import "google/cloud/vectorsearch/v1/embedding_config.proto";
26
+ import "google/longrunning/operations.proto";
27
+ import "google/protobuf/empty.proto";
28
+ import "google/protobuf/field_mask.proto";
29
+ import "google/protobuf/struct.proto";
30
+ import "google/protobuf/timestamp.proto";
31
+ import "google/rpc/status.proto";
32
+
33
+ option csharp_namespace = "Google.Cloud.VectorSearch.V1";
34
+ option go_package = "cloud.google.com/go/vectorsearch/apiv1/vectorsearchpb;vectorsearchpb";
35
+ option java_multiple_files = true;
36
+ option java_outer_classname = "VectorSearchServiceProto";
37
+ option java_package = "com.google.cloud.vectorsearch.v1";
38
+ option php_namespace = "Google\\Cloud\\VectorSearch\\V1";
39
+ option ruby_package = "Google::Cloud::VectorSearch::V1";
40
+
41
+ // VectorSearchService provides methods for managing Collection resources, and
42
+ // Collection Index resources. The primary resources offered by this service are
43
+ // Collections which are a container for a set of related JSON data objects, and
44
+ // Collection Indexes which enable efficient ANN search across data objects
45
+ // within a Collection.
46
+ service VectorSearchService {
47
+ option (google.api.default_host) = "vectorsearch.googleapis.com";
48
+ option (google.api.oauth_scopes) =
49
+ "https://www.googleapis.com/auth/cloud-platform";
50
+
51
+ // Lists Collections in a given project and location.
52
+ rpc ListCollections(ListCollectionsRequest)
53
+ returns (ListCollectionsResponse) {
54
+ option (google.api.http) = {
55
+ get: "/v1/{parent=projects/*/locations/*}/collections"
56
+ };
57
+ option (google.api.method_signature) = "parent";
58
+ }
59
+
60
+ // Gets details of a single Collection.
61
+ rpc GetCollection(GetCollectionRequest) returns (Collection) {
62
+ option (google.api.http) = {
63
+ get: "/v1/{name=projects/*/locations/*/collections/*}"
64
+ };
65
+ option (google.api.method_signature) = "name";
66
+ }
67
+
68
+ // Creates a new Collection in a given project and location.
69
+ rpc CreateCollection(CreateCollectionRequest)
70
+ returns (google.longrunning.Operation) {
71
+ option (google.api.http) = {
72
+ post: "/v1/{parent=projects/*/locations/*}/collections"
73
+ body: "collection"
74
+ };
75
+ option (google.api.method_signature) = "parent,collection,collection_id";
76
+ option (google.longrunning.operation_info) = {
77
+ response_type: "Collection"
78
+ metadata_type: "OperationMetadata"
79
+ };
80
+ }
81
+
82
+ // Updates the parameters of a single Collection.
83
+ rpc UpdateCollection(UpdateCollectionRequest)
84
+ returns (google.longrunning.Operation) {
85
+ option (google.api.http) = {
86
+ patch: "/v1/{collection.name=projects/*/locations/*/collections/*}"
87
+ body: "collection"
88
+ };
89
+ option (google.api.method_signature) = "collection,update_mask";
90
+ option (google.longrunning.operation_info) = {
91
+ response_type: "Collection"
92
+ metadata_type: "OperationMetadata"
93
+ };
94
+ }
95
+
96
+ // Deletes a single Collection.
97
+ rpc DeleteCollection(DeleteCollectionRequest)
98
+ returns (google.longrunning.Operation) {
99
+ option (google.api.http) = {
100
+ delete: "/v1/{name=projects/*/locations/*/collections/*}"
101
+ };
102
+ option (google.api.method_signature) = "name";
103
+ option (google.longrunning.operation_info) = {
104
+ response_type: "google.protobuf.Empty"
105
+ metadata_type: "OperationMetadata"
106
+ };
107
+ }
108
+
109
+ // Lists Indexes in a given project and location.
110
+ rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse) {
111
+ option (google.api.http) = {
112
+ get: "/v1/{parent=projects/*/locations/*/collections/*}/indexes"
113
+ };
114
+ option (google.api.method_signature) = "parent";
115
+ }
116
+
117
+ // Gets details of a single Index.
118
+ rpc GetIndex(GetIndexRequest) returns (Index) {
119
+ option (google.api.http) = {
120
+ get: "/v1/{name=projects/*/locations/*/collections/*/indexes/*}"
121
+ };
122
+ option (google.api.method_signature) = "name";
123
+ }
124
+
125
+ // Creates a new Index in a given project and location.
126
+ rpc CreateIndex(CreateIndexRequest) returns (google.longrunning.Operation) {
127
+ option (google.api.http) = {
128
+ post: "/v1/{parent=projects/*/locations/*/collections/*}/indexes"
129
+ body: "index"
130
+ };
131
+ option (google.api.method_signature) = "parent,index,index_id";
132
+ option (google.longrunning.operation_info) = {
133
+ response_type: "Index"
134
+ metadata_type: "OperationMetadata"
135
+ };
136
+ }
137
+
138
+ // Deletes a single Index.
139
+ rpc DeleteIndex(DeleteIndexRequest) returns (google.longrunning.Operation) {
140
+ option (google.api.http) = {
141
+ delete: "/v1/{name=projects/*/locations/*/collections/*/indexes/*}"
142
+ };
143
+ option (google.api.method_signature) = "name";
144
+ option (google.longrunning.operation_info) = {
145
+ response_type: "google.protobuf.Empty"
146
+ metadata_type: "OperationMetadata"
147
+ };
148
+ }
149
+
150
+ // Initiates a Long-Running Operation to import DataObjects into a Collection.
151
+ rpc ImportDataObjects(ImportDataObjectsRequest)
152
+ returns (google.longrunning.Operation) {
153
+ option (google.api.http) = {
154
+ post: "/v1/{name=projects/*/locations/*/collections/*}:importDataObjects"
155
+ body: "*"
156
+ };
157
+ option (google.longrunning.operation_info) = {
158
+ response_type: "ImportDataObjectsResponse"
159
+ metadata_type: "ImportDataObjectsMetadata"
160
+ };
161
+ }
162
+ }
163
+
164
+ // Message describing Collection object
165
+ message Collection {
166
+ option (google.api.resource) = {
167
+ type: "vectorsearch.googleapis.com/Collection"
168
+ pattern: "projects/{project}/locations/{location}/collections/{collection}"
169
+ plural: "collections"
170
+ singular: "collection"
171
+ };
172
+
173
+ // Identifier. name of resource
174
+ string name = 1 [(google.api.field_behavior) = IDENTIFIER];
175
+
176
+ // Optional. User-specified display name of the collection
177
+ string display_name = 8 [(google.api.field_behavior) = OPTIONAL];
178
+
179
+ // Optional. User-specified description of the collection
180
+ string description = 9 [(google.api.field_behavior) = OPTIONAL];
181
+
182
+ // Output only. [Output only] Create time stamp
183
+ google.protobuf.Timestamp create_time = 2
184
+ [(google.api.field_behavior) = OUTPUT_ONLY];
185
+
186
+ // Output only. [Output only] Update time stamp
187
+ google.protobuf.Timestamp update_time = 3
188
+ [(google.api.field_behavior) = OUTPUT_ONLY];
189
+
190
+ // Optional. Labels as key value pairs.
191
+ map<string, string> labels = 4 [(google.api.field_behavior) = OPTIONAL];
192
+
193
+ // Optional. Schema for vector fields. Only vector fields in this schema will
194
+ // be searchable. Field names must contain only alphanumeric characters,
195
+ // underscores, and hyphens.
196
+ map<string, VectorField> vector_schema = 7
197
+ [(google.api.field_behavior) = OPTIONAL];
198
+
199
+ // Optional. JSON Schema for data.
200
+ // Field names must contain only alphanumeric characters,
201
+ // underscores, and hyphens.
202
+ google.protobuf.Struct data_schema = 10
203
+ [(google.api.field_behavior) = OPTIONAL];
204
+ }
205
+
206
+ // Message describing a vector field.
207
+ message VectorField {
208
+ // Vector type configuration.
209
+ oneof vector_type_config {
210
+ // Dense vector field.
211
+ DenseVectorField dense_vector = 3;
212
+
213
+ // Sparse vector field.
214
+ SparseVectorField sparse_vector = 4;
215
+ }
216
+ }
217
+
218
+ // Message describing a dense vector field.
219
+ message DenseVectorField {
220
+ // Dimensionality of the vector field.
221
+ int32 dimensions = 1;
222
+
223
+ // Optional. Configuration for generating embeddings for the vector field. If
224
+ // not specified, the embedding field must be populated in the DataObject.
225
+ VertexEmbeddingConfig vertex_embedding_config = 3
226
+ [(google.api.field_behavior) = OPTIONAL];
227
+ }
228
+
229
+ // Message describing a sparse vector field.
230
+ message SparseVectorField {}
231
+
232
+ // Message for requesting list of Collections
233
+ message ListCollectionsRequest {
234
+ // Required. Parent value for ListCollectionsRequest
235
+ string parent = 1 [
236
+ (google.api.field_behavior) = REQUIRED,
237
+ (google.api.resource_reference) = {
238
+ child_type: "vectorsearch.googleapis.com/Collection"
239
+ }
240
+ ];
241
+
242
+ // Optional. Requested page size. Server may return fewer items than
243
+ // requested. If unspecified, server will pick an appropriate default.
244
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
245
+
246
+ // Optional. A token identifying a page of results the server should return.
247
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
248
+
249
+ // Optional. Filtering results
250
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
251
+
252
+ // Optional. Hint for how to order the results
253
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
254
+ }
255
+
256
+ // Message for response to listing Collections
257
+ message ListCollectionsResponse {
258
+ // The list of Collection
259
+ repeated Collection collections = 1;
260
+
261
+ // A token identifying a page of results the server should return.
262
+ string next_page_token = 2;
263
+
264
+ // Unordered list. Locations that could not be reached.
265
+ repeated string unreachable = 3
266
+ [(google.api.field_behavior) = UNORDERED_LIST];
267
+ }
268
+
269
+ // Message for getting a Collection
270
+ message GetCollectionRequest {
271
+ // Required. Name of the resource
272
+ string name = 1 [
273
+ (google.api.field_behavior) = REQUIRED,
274
+ (google.api.resource_reference) = {
275
+ type: "vectorsearch.googleapis.com/Collection"
276
+ }
277
+ ];
278
+ }
279
+
280
+ // Message for creating a Collection
281
+ message CreateCollectionRequest {
282
+ // Required. Value for parent.
283
+ string parent = 1 [
284
+ (google.api.field_behavior) = REQUIRED,
285
+ (google.api.resource_reference) = {
286
+ child_type: "vectorsearch.googleapis.com/Collection"
287
+ }
288
+ ];
289
+
290
+ // Required. ID of the Collection to create.
291
+ // The id must be 1-63 characters long, and comply with
292
+ // [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
293
+ // Specifically, it must be 1-63 characters long and match the regular
294
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?`.
295
+ string collection_id = 2 [(google.api.field_behavior) = REQUIRED];
296
+
297
+ // Required. The resource being created
298
+ Collection collection = 3 [(google.api.field_behavior) = REQUIRED];
299
+
300
+ // Optional. An optional request ID to identify requests. Specify a unique
301
+ // request ID so that if you must retry your request, the server will know to
302
+ // ignore the request if it has already been completed. The server will
303
+ // guarantee that for at least 60 minutes since the first request.
304
+ //
305
+ // For example, consider a situation where you make an initial request and the
306
+ // request times out. If you make the request again with the same request
307
+ // ID, the server can check if original operation with the same request ID
308
+ // was received, and if so, will ignore the second request. This prevents
309
+ // clients from accidentally creating duplicate commitments.
310
+ //
311
+ // The request ID must be a valid UUID with the exception that zero UUID is
312
+ // not supported (00000000-0000-0000-0000-000000000000).
313
+ string request_id = 4 [
314
+ (google.api.field_info).format = UUID4,
315
+ (google.api.field_behavior) = OPTIONAL
316
+ ];
317
+ }
318
+
319
+ // Message for updating a Collection
320
+ message UpdateCollectionRequest {
321
+ // Optional. Field mask is used to specify the fields to be overwritten in the
322
+ // Collection resource by the update.
323
+ // The fields specified in the update_mask are relative to the resource, not
324
+ // the full request. A field will be overwritten if it is in the mask. If the
325
+ // user does not provide a mask then all fields present in the request will be
326
+ // overwritten.
327
+ //
328
+ // The following fields support update: `display_name`, `description`,
329
+ // `labels`, `data_schema`, `vector_schema`.
330
+ // For `data_schema` and `vector_schema`, fields can only be added, not
331
+ // deleted, but `vertex_embedding_config` in `vector_schema` can be added or
332
+ // removed.
333
+ // Partial updates for `data_schema` and `vector_schema` are also supported
334
+ // by using sub-field paths in `update_mask`, e.g.
335
+ // `data_schema.properties.foo` or `vector_schema.my_vector_field`.
336
+ //
337
+ // If `*` is provided in the update_mask, full replacement will be performed.
338
+ google.protobuf.FieldMask update_mask = 1
339
+ [(google.api.field_behavior) = OPTIONAL];
340
+
341
+ // Required. The resource being updated
342
+ Collection collection = 2 [(google.api.field_behavior) = REQUIRED];
343
+
344
+ // Optional. An optional request ID to identify requests. Specify a unique
345
+ // request ID so that if you must retry your request, the server will know to
346
+ // ignore the request if it has already been completed. The server will
347
+ // guarantee that for at least 60 minutes since the first request.
348
+ //
349
+ // For example, consider a situation where you make an initial request and the
350
+ // request times out. If you make the request again with the same request
351
+ // ID, the server can check if original operation with the same request ID
352
+ // was received, and if so, will ignore the second request. This prevents
353
+ // clients from accidentally creating duplicate commitments.
354
+ //
355
+ // The request ID must be a valid UUID with the exception that zero UUID is
356
+ // not supported (00000000-0000-0000-0000-000000000000).
357
+ string request_id = 3 [
358
+ (google.api.field_info).format = UUID4,
359
+ (google.api.field_behavior) = OPTIONAL
360
+ ];
361
+ }
362
+
363
+ // Message for deleting a Collection
364
+ message DeleteCollectionRequest {
365
+ // Required. Name of the resource
366
+ string name = 1 [
367
+ (google.api.field_behavior) = REQUIRED,
368
+ (google.api.resource_reference) = {
369
+ type: "vectorsearch.googleapis.com/Collection"
370
+ }
371
+ ];
372
+
373
+ // Optional. An optional request ID to identify requests. Specify a unique
374
+ // request ID so that if you must retry your request, the server will know to
375
+ // ignore the request if it has already been completed. The server will
376
+ // guarantee that for at least 60 minutes after the first request.
377
+ //
378
+ // For example, consider a situation where you make an initial request and the
379
+ // request times out. If you make the request again with the same request
380
+ // ID, the server can check if original operation with the same request ID
381
+ // was received, and if so, will ignore the second request. This prevents
382
+ // clients from accidentally creating duplicate commitments.
383
+ //
384
+ // The request ID must be a valid UUID with the exception that zero UUID is
385
+ // not supported (00000000-0000-0000-0000-000000000000).
386
+ string request_id = 2 [
387
+ (google.api.field_info).format = UUID4,
388
+ (google.api.field_behavior) = OPTIONAL
389
+ ];
390
+ }
391
+
392
+ // Message describing Index object
393
+ message Index {
394
+ option (google.api.resource) = {
395
+ type: "vectorsearch.googleapis.com/Index"
396
+ pattern: "projects/{project}/locations/{location}/collections/{collection}/indexes/{index}"
397
+ plural: "indexes"
398
+ singular: "index"
399
+ };
400
+
401
+ // The infrastructure type of the index.
402
+ oneof infra_type {
403
+ // Optional. Dedicated infrastructure for the index.
404
+ DedicatedInfrastructure dedicated_infrastructure = 11
405
+ [(google.api.field_behavior) = OPTIONAL];
406
+ }
407
+
408
+ // The type of the index.
409
+ oneof index_type {
410
+ // Optional. Dense ScaNN index.
411
+ DenseScannIndex dense_scann = 12 [(google.api.field_behavior) = OPTIONAL];
412
+ }
413
+
414
+ // Identifier. name of resource
415
+ string name = 1 [(google.api.field_behavior) = IDENTIFIER];
416
+
417
+ // Optional. User-specified display name of the index
418
+ string display_name = 8 [(google.api.field_behavior) = OPTIONAL];
419
+
420
+ // Optional. User-specified description of the index
421
+ string description = 9 [(google.api.field_behavior) = OPTIONAL];
422
+
423
+ // Optional. Labels as key value pairs.
424
+ map<string, string> labels = 10 [(google.api.field_behavior) = OPTIONAL];
425
+
426
+ // Output only. [Output only] Create time stamp
427
+ google.protobuf.Timestamp create_time = 2
428
+ [(google.api.field_behavior) = OUTPUT_ONLY];
429
+
430
+ // Output only. [Output only] Update time stamp
431
+ google.protobuf.Timestamp update_time = 3
432
+ [(google.api.field_behavior) = OUTPUT_ONLY];
433
+
434
+ // Optional. Distance metric used for indexing. If not specified, will default
435
+ // to DOT_PRODUCT.
436
+ DistanceMetric distance_metric = 4 [(google.api.field_behavior) = OPTIONAL];
437
+
438
+ // Required. The collection schema field to index.
439
+ string index_field = 5 [(google.api.field_behavior) = REQUIRED];
440
+
441
+ // Optional. The fields to push into the index to enable fast ANN inline
442
+ // filtering.
443
+ repeated string filter_fields = 6 [(google.api.field_behavior) = OPTIONAL];
444
+
445
+ // Optional. The fields to push into the index to enable inline data
446
+ // retrieval.
447
+ repeated string store_fields = 7 [(google.api.field_behavior) = OPTIONAL];
448
+ }
449
+
450
+ // Message for creating an Index.
451
+ message CreateIndexRequest {
452
+ // Required. The resource name of the Collection for which to create the
453
+ // Index. Format:
454
+ // `projects/{project}/locations/{location}/collections/{collection}`
455
+ string parent = 1 [
456
+ (google.api.field_behavior) = REQUIRED,
457
+ (google.api.resource_reference) = {
458
+ type: "vectorsearch.googleapis.com/Collection"
459
+ }
460
+ ];
461
+
462
+ // Required. ID of the Index to create.
463
+ // The id must be 1-63 characters long, and comply with
464
+ // [RFC1035](https://www.ietf.org/rfc/rfc1035.txt).
465
+ // Specifically, it must be 1-63 characters long and match the regular
466
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?`.
467
+ string index_id = 2 [(google.api.field_behavior) = REQUIRED];
468
+
469
+ // Required. The resource being created
470
+ Index index = 3 [(google.api.field_behavior) = REQUIRED];
471
+
472
+ // Optional. An optional request ID to identify requests. Specify a unique
473
+ // request ID so that if you must retry your request, the server will know to
474
+ // ignore the request if it has already been completed. The server will
475
+ // guarantee that for at least 60 minutes since the first request.
476
+ //
477
+ // For example, consider a situation where you make an initial request and the
478
+ // request times out. If you make the request again with the same request
479
+ // ID, the server can check if original operation with the same request ID
480
+ // was received, and if so, will ignore the second request. This prevents
481
+ // clients from accidentally creating duplicate commitments.
482
+ //
483
+ // The request ID must be a valid UUID with the exception that zero UUID is
484
+ // not supported (00000000-0000-0000-0000-000000000000).
485
+ string request_id = 4 [
486
+ (google.api.field_info).format = UUID4,
487
+ (google.api.field_behavior) = OPTIONAL
488
+ ];
489
+ }
490
+
491
+ // Message for deleting an Index.
492
+ message DeleteIndexRequest {
493
+ // Required. The resource name of the Index to delete.
494
+ // Format:
495
+ // `projects/{project}/locations/{location}/collections/{collection}/indexes/{index}`
496
+ string name = 1 [
497
+ (google.api.field_behavior) = REQUIRED,
498
+ (google.api.resource_reference) = {
499
+ type: "vectorsearch.googleapis.com/Index"
500
+ }
501
+ ];
502
+
503
+ // Optional. An optional request ID to identify requests. Specify a unique
504
+ // request ID so that if you must retry your request, the server will know to
505
+ // ignore the request if it has already been completed. The server will
506
+ // guarantee that for at least 60 minutes since the first request.
507
+ //
508
+ // For example, consider a situation where you make an initial request and the
509
+ // request times out. If you make the request again with the same request
510
+ // ID, the server can check if original operation with the same request ID
511
+ // was received, and if so, will ignore the second request. This prevents
512
+ // clients from accidentally creating duplicate commitments.
513
+ //
514
+ // The request ID must be a valid UUID with the exception that zero UUID is
515
+ // not supported (00000000-0000-0000-0000-000000000000).
516
+ string request_id = 2 [
517
+ (google.api.field_info).format = UUID4,
518
+ (google.api.field_behavior) = OPTIONAL
519
+ ];
520
+ }
521
+
522
+ // Message for requesting list of Indexes
523
+ message ListIndexesRequest {
524
+ // Required. Parent value for ListIndexesRequest
525
+ string parent = 1 [
526
+ (google.api.field_behavior) = REQUIRED,
527
+ (google.api.resource_reference) = {
528
+ child_type: "vectorsearch.googleapis.com/Index"
529
+ }
530
+ ];
531
+
532
+ // Optional. Requested page size. Server may return fewer items than
533
+ // requested. If unspecified, server will pick an appropriate default.
534
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
535
+
536
+ // Optional. A token identifying a page of results the server should return.
537
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
538
+
539
+ // Optional. Filtering results
540
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
541
+
542
+ // Optional. Hint for how to order the results
543
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
544
+ }
545
+
546
+ // Message for response to listing Indexes
547
+ message ListIndexesResponse {
548
+ // The list of Index
549
+ repeated Index indexes = 1;
550
+
551
+ // A token identifying a page of results the server should return.
552
+ string next_page_token = 2;
553
+ }
554
+
555
+ // Message for getting an Index
556
+ message GetIndexRequest {
557
+ // Required. Name of the resource
558
+ string name = 1 [
559
+ (google.api.field_behavior) = REQUIRED,
560
+ (google.api.resource_reference) = {
561
+ type: "vectorsearch.googleapis.com/Index"
562
+ }
563
+ ];
564
+ }
565
+
566
+ // Represents the metadata of the long-running operation.
567
+ message OperationMetadata {
568
+ // Output only. The time the operation was created.
569
+ google.protobuf.Timestamp create_time = 1
570
+ [(google.api.field_behavior) = OUTPUT_ONLY];
571
+
572
+ // Output only. The time the operation finished running.
573
+ google.protobuf.Timestamp end_time = 2
574
+ [(google.api.field_behavior) = OUTPUT_ONLY];
575
+
576
+ // Output only. Server-defined resource path for the target of the operation.
577
+ string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
578
+
579
+ // Output only. Name of the verb executed by the operation.
580
+ string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
581
+
582
+ // Output only. Human-readable status of the operation, if any.
583
+ string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
584
+
585
+ // Output only. Identifies whether the user has requested cancellation
586
+ // of the operation. Operations that have been cancelled successfully
587
+ // have
588
+ // [google.longrunning.Operation.error][google.longrunning.Operation.error]
589
+ // value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
590
+ // corresponding to `Code.CANCELLED`.
591
+ bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
592
+
593
+ // Output only. API version used to start the operation.
594
+ string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
595
+ }
596
+
597
+ // Request message for
598
+ // [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1.VectorSearchService.ImportDataObjects].
599
+ message ImportDataObjectsRequest {
600
+ // Google Cloud Storage configuration for the import.
601
+ message GcsImportConfig {
602
+ // Required. URI prefix of the Cloud Storage DataObjects to import.
603
+ string contents_uri = 1 [(google.api.field_behavior) = REQUIRED];
604
+
605
+ // Required. URI prefix of the Cloud Storage location to write any errors
606
+ // encountered during the import.
607
+ string error_uri = 2 [(google.api.field_behavior) = REQUIRED];
608
+
609
+ // Optional. URI prefix of the Cloud Storage location to write DataObject
610
+ // `IDs` and `etags` of DataObjects that were successfully imported. The
611
+ // service will write the successfully imported DataObjects to sharded files
612
+ // under this prefix. If this field is empty, no output will be written.
613
+ string output_uri = 3 [(google.api.field_behavior) = OPTIONAL];
614
+ }
615
+
616
+ // The configuration for the import data and error results.
617
+ oneof config {
618
+ // The Cloud Storage location of the input content.
619
+ GcsImportConfig gcs_import = 2;
620
+ }
621
+
622
+ // Required. The resource name of the Collection to import DataObjects into.
623
+ // Format: `projects/{project}/locations/{location}/collections/{collection}`.
624
+ string name = 1 [
625
+ (google.api.field_behavior) = REQUIRED,
626
+ (google.api.resource_reference) = {
627
+ type: "vectorsearch.googleapis.com/Collection"
628
+ }
629
+ ];
630
+ }
631
+
632
+ // Metadata for
633
+ // [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1.VectorSearchService.ImportDataObjects].
634
+ message ImportDataObjectsMetadata {
635
+ // Output only. The time the operation was created.
636
+ google.protobuf.Timestamp create_time = 1
637
+ [(google.api.field_behavior) = OUTPUT_ONLY];
638
+
639
+ // Output only. The time the operation was last updated.
640
+ google.protobuf.Timestamp update_time = 2
641
+ [(google.api.field_behavior) = OUTPUT_ONLY];
642
+
643
+ // Output only. Number of DataObjects that were processed successfully.
644
+ int64 success_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
645
+
646
+ // Output only. Number of DataObjects that failed during processing.
647
+ int64 failure_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
648
+ }
649
+
650
+ // Response for
651
+ // [VectorSearchService.ImportDataObjects][google.cloud.vectorsearch.v1.VectorSearchService.ImportDataObjects].
652
+ message ImportDataObjectsResponse {
653
+ // Status of the LRO
654
+ google.rpc.Status status = 1;
655
+ }
656
+
657
+ // Represents dedicated infrastructure for the index.
658
+ message DedicatedInfrastructure {
659
+ // Specification for autoscaling.
660
+ message AutoscalingSpec {
661
+ // Optional. The minimum number of replicas. If not set or set to `0`,
662
+ // defaults to `2`. Must be >= `2` and <= `1000`.
663
+ int32 min_replica_count = 1 [(google.api.field_behavior) = OPTIONAL];
664
+
665
+ // Optional. The maximum number of replicas. If not set or set to `0`,
666
+ // defaults to the greater of `min_replica_count` and `5`. Must be >=
667
+ // `min_replica_count` and <= `1000`.
668
+ int32 max_replica_count = 2 [(google.api.field_behavior) = OPTIONAL];
669
+ }
670
+
671
+ // Mode of the dedicated infrastructure.
672
+ enum Mode {
673
+ // Default will use `PERFORMANCE_OPTIMIZED`.
674
+ MODE_UNSPECIFIED = 0;
675
+
676
+ // This is storage optimized variation.
677
+ STORAGE_OPTIMIZED = 1;
678
+
679
+ // This is Performance optimized on E2 or equivalent family.
680
+ PERFORMANCE_OPTIMIZED = 2;
681
+ }
682
+
683
+ // Optional. Mode of the dedicated infrastructure.
684
+ optional Mode mode = 1 [(google.api.field_behavior) = OPTIONAL];
685
+
686
+ // Optional. Autoscaling specification.
687
+ AutoscalingSpec autoscaling_spec = 2 [(google.api.field_behavior) = OPTIONAL];
688
+ }
689
+
690
+ // Dense ScaNN index configuration.
691
+ message DenseScannIndex {
692
+ // Feature norm type for ScaNN index.
693
+ enum FeatureNormType {
694
+ // Unspecified feature norm type.
695
+ FEATURE_NORM_TYPE_UNSPECIFIED = 0;
696
+
697
+ // No norm applied.
698
+ NONE = 1;
699
+
700
+ // Unit L2 norm.
701
+ UNIT_L2_NORM = 2;
702
+ }
703
+
704
+ // Optional. Feature norm type.
705
+ FeatureNormType feature_norm_type = 2
706
+ [(google.api.field_behavior) = OPTIONAL];
707
+ }