@google-cloud/vectorsearch 0.1.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 (34) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +134 -0
  3. package/build/protos/google/cloud/vectorsearch/v1beta/common.proto +34 -0
  4. package/build/protos/google/cloud/vectorsearch/v1beta/data_object.proto +92 -0
  5. package/build/protos/google/cloud/vectorsearch/v1beta/data_object_search_service.proto +428 -0
  6. package/build/protos/google/cloud/vectorsearch/v1beta/data_object_service.proto +233 -0
  7. package/build/protos/google/cloud/vectorsearch/v1beta/embedding_config.proto +71 -0
  8. package/build/protos/google/cloud/vectorsearch/v1beta/vectorsearch_service.proto +631 -0
  9. package/build/protos/protos.d.ts +15049 -0
  10. package/build/protos/protos.js +39060 -0
  11. package/build/protos/protos.json +4174 -0
  12. package/build/src/index.d.ts +17 -0
  13. package/build/src/index.js +32 -0
  14. package/build/src/index.js.map +1 -0
  15. package/build/src/v1beta/data_object_search_service_client.d.ts +574 -0
  16. package/build/src/v1beta/data_object_search_service_client.js +849 -0
  17. package/build/src/v1beta/data_object_search_service_client.js.map +1 -0
  18. package/build/src/v1beta/data_object_search_service_client_config.json +58 -0
  19. package/build/src/v1beta/data_object_search_service_proto_list.json +8 -0
  20. package/build/src/v1beta/data_object_service_client.d.ts +486 -0
  21. package/build/src/v1beta/data_object_service_client.js +767 -0
  22. package/build/src/v1beta/data_object_service_client.js.map +1 -0
  23. package/build/src/v1beta/data_object_service_client_config.json +73 -0
  24. package/build/src/v1beta/data_object_service_proto_list.json +8 -0
  25. package/build/src/v1beta/gapic_metadata.json +277 -0
  26. package/build/src/v1beta/index.d.ts +3 -0
  27. package/build/src/v1beta/index.js +27 -0
  28. package/build/src/v1beta/index.js.map +1 -0
  29. package/build/src/v1beta/vector_search_service_client.d.ts +1020 -0
  30. package/build/src/v1beta/vector_search_service_client.js +1387 -0
  31. package/build/src/v1beta/vector_search_service_client.js.map +1 -0
  32. package/build/src/v1beta/vector_search_service_client_config.json +88 -0
  33. package/build/src/v1beta/vector_search_service_proto_list.json +8 -0
  34. package/package.json +70 -0
@@ -0,0 +1,631 @@
1
+ // Copyright 2025 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.v1beta;
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/v1beta/common.proto";
25
+ import "google/cloud/vectorsearch/v1beta/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 go_package = "cloud.google.com/go/vectorsearch/apiv1beta/vectorsearchpb;vectorsearchpb";
34
+ option java_multiple_files = true;
35
+ option java_outer_classname = "VectorSearchServiceProto";
36
+ option java_package = "com.google.cloud.vectorsearch.v1beta";
37
+
38
+ // VectorSearchService provides methods for managing Collection resources, and
39
+ // Collection Index resources. The primary resources offered by this service are
40
+ // Collections which are a container for a set of related JSON data objects, and
41
+ // Collection Indexes which enable efficient ANN search across data objects
42
+ // within a Collection.
43
+ service VectorSearchService {
44
+ option (google.api.default_host) = "vectorsearch.googleapis.com";
45
+ option (google.api.oauth_scopes) =
46
+ "https://www.googleapis.com/auth/cloud-platform";
47
+
48
+ // Lists Collections in a given project and location.
49
+ rpc ListCollections(ListCollectionsRequest)
50
+ returns (ListCollectionsResponse) {
51
+ option (google.api.http) = {
52
+ get: "/v1beta/{parent=projects/*/locations/*}/collections"
53
+ };
54
+ option (google.api.method_signature) = "parent";
55
+ }
56
+
57
+ // Gets details of a single Collection.
58
+ rpc GetCollection(GetCollectionRequest) returns (Collection) {
59
+ option (google.api.http) = {
60
+ get: "/v1beta/{name=projects/*/locations/*/collections/*}"
61
+ };
62
+ option (google.api.method_signature) = "name";
63
+ }
64
+
65
+ // Creates a new Collection in a given project and location.
66
+ rpc CreateCollection(CreateCollectionRequest)
67
+ returns (google.longrunning.Operation) {
68
+ option (google.api.http) = {
69
+ post: "/v1beta/{parent=projects/*/locations/*}/collections"
70
+ body: "collection"
71
+ };
72
+ option (google.api.method_signature) = "parent,collection,collection_id";
73
+ option (google.longrunning.operation_info) = {
74
+ response_type: "Collection"
75
+ metadata_type: "OperationMetadata"
76
+ };
77
+ }
78
+
79
+ // Updates the parameters of a single Collection.
80
+ rpc UpdateCollection(UpdateCollectionRequest)
81
+ returns (google.longrunning.Operation) {
82
+ option (google.api.http) = {
83
+ patch: "/v1beta/{collection.name=projects/*/locations/*/collections/*}"
84
+ body: "collection"
85
+ };
86
+ option (google.api.method_signature) = "collection,update_mask";
87
+ option (google.longrunning.operation_info) = {
88
+ response_type: "Collection"
89
+ metadata_type: "OperationMetadata"
90
+ };
91
+ }
92
+
93
+ // Deletes a single Collection.
94
+ rpc DeleteCollection(DeleteCollectionRequest)
95
+ returns (google.longrunning.Operation) {
96
+ option (google.api.http) = {
97
+ delete: "/v1beta/{name=projects/*/locations/*/collections/*}"
98
+ };
99
+ option (google.api.method_signature) = "name";
100
+ option (google.longrunning.operation_info) = {
101
+ response_type: "google.protobuf.Empty"
102
+ metadata_type: "OperationMetadata"
103
+ };
104
+ }
105
+
106
+ // Lists Indexes in a given project and location.
107
+ rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse) {
108
+ option (google.api.http) = {
109
+ get: "/v1beta/{parent=projects/*/locations/*/collections/*}/indexes"
110
+ };
111
+ option (google.api.method_signature) = "parent";
112
+ }
113
+
114
+ // Gets details of a single Index.
115
+ rpc GetIndex(GetIndexRequest) returns (Index) {
116
+ option (google.api.http) = {
117
+ get: "/v1beta/{name=projects/*/locations/*/collections/*/indexes/*}"
118
+ };
119
+ option (google.api.method_signature) = "name";
120
+ }
121
+
122
+ // Creates a new Index in a given project and location.
123
+ rpc CreateIndex(CreateIndexRequest) returns (google.longrunning.Operation) {
124
+ option (google.api.http) = {
125
+ post: "/v1beta/{parent=projects/*/locations/*/collections/*}/indexes"
126
+ body: "index"
127
+ };
128
+ option (google.api.method_signature) = "parent,index,index_id";
129
+ option (google.longrunning.operation_info) = {
130
+ response_type: "Index"
131
+ metadata_type: "OperationMetadata"
132
+ };
133
+ }
134
+
135
+ // Deletes a single Index.
136
+ rpc DeleteIndex(DeleteIndexRequest) returns (google.longrunning.Operation) {
137
+ option (google.api.http) = {
138
+ delete: "/v1beta/{name=projects/*/locations/*/collections/*/indexes/*}"
139
+ };
140
+ option (google.api.method_signature) = "name";
141
+ option (google.longrunning.operation_info) = {
142
+ response_type: "google.protobuf.Empty"
143
+ metadata_type: "OperationMetadata"
144
+ };
145
+ }
146
+
147
+ // Initiates a Long-Running Operation to import DataObjects into a Collection.
148
+ rpc ImportDataObjects(ImportDataObjectsRequest)
149
+ returns (google.longrunning.Operation) {
150
+ option (google.api.http) = {
151
+ post: "/v1beta/{name=projects/*/locations/*/collections/*}:importDataObjects"
152
+ body: "*"
153
+ };
154
+ option (google.longrunning.operation_info) = {
155
+ response_type: "ImportDataObjectsResponse"
156
+ metadata_type: "ImportDataObjectsMetadata"
157
+ };
158
+ }
159
+ }
160
+
161
+ // Message describing Collection object
162
+ message Collection {
163
+ option (google.api.resource) = {
164
+ type: "vectorsearch.googleapis.com/Collection"
165
+ pattern: "projects/{project}/locations/{location}/collections/{collection}"
166
+ plural: "collections"
167
+ singular: "collection"
168
+ };
169
+
170
+ // Identifier. name of resource
171
+ string name = 1 [(google.api.field_behavior) = IDENTIFIER];
172
+
173
+ // Optional. User-specified display name of the collection
174
+ string display_name = 8 [(google.api.field_behavior) = OPTIONAL];
175
+
176
+ // Optional. User-specified description of the collection
177
+ string description = 9 [(google.api.field_behavior) = OPTIONAL];
178
+
179
+ // Output only. [Output only] Create time stamp
180
+ google.protobuf.Timestamp create_time = 2
181
+ [(google.api.field_behavior) = OUTPUT_ONLY];
182
+
183
+ // Output only. [Output only] Update time stamp
184
+ google.protobuf.Timestamp update_time = 3
185
+ [(google.api.field_behavior) = OUTPUT_ONLY];
186
+
187
+ // Optional. Labels as key value pairs.
188
+ map<string, string> labels = 4 [(google.api.field_behavior) = OPTIONAL];
189
+
190
+ // Optional. Deprecated: JSON Schema for data. Please use data_schema instead.
191
+ google.protobuf.Struct schema = 5
192
+ [deprecated = true, (google.api.field_behavior) = OPTIONAL];
193
+
194
+ // Optional. Schema for vector fields. Only vector fields in this schema will
195
+ // be searchable. Field names must contain only alphanumeric characters,
196
+ // underscores, and hyphens.
197
+ map<string, VectorField> vector_schema = 7
198
+ [(google.api.field_behavior) = OPTIONAL];
199
+
200
+ // Optional. JSON Schema for data.
201
+ // Field names must contain only alphanumeric characters,
202
+ // underscores, and hyphens.
203
+ google.protobuf.Struct data_schema = 10
204
+ [(google.api.field_behavior) = OPTIONAL];
205
+ }
206
+
207
+ // Message describing a vector field.
208
+ message VectorField {
209
+ // Vector type configuration.
210
+ oneof vector_type_config {
211
+ // Dense vector field.
212
+ DenseVectorField dense_vector = 3;
213
+
214
+ // Sparse vector field.
215
+ SparseVectorField sparse_vector = 4;
216
+ }
217
+ }
218
+
219
+ // Message describing a dense vector field.
220
+ message DenseVectorField {
221
+ // Dimensionality of the vector field.
222
+ int32 dimensions = 1;
223
+
224
+ // Optional. Configuration for generating embeddings for the vector field. If
225
+ // not specified, the embedding field must be populated in the DataObject.
226
+ VertexEmbeddingConfig vertex_embedding_config = 3
227
+ [(google.api.field_behavior) = OPTIONAL];
228
+ }
229
+
230
+ // Message describing a sparse vector field.
231
+ message SparseVectorField {}
232
+
233
+ // Message for requesting list of Collections
234
+ message ListCollectionsRequest {
235
+ // Required. Parent value for ListCollectionsRequest
236
+ string parent = 1 [
237
+ (google.api.field_behavior) = REQUIRED,
238
+ (google.api.resource_reference) = {
239
+ child_type: "vectorsearch.googleapis.com/Collection"
240
+ }
241
+ ];
242
+
243
+ // Optional. Requested page size. Server may return fewer items than
244
+ // requested. If unspecified, server will pick an appropriate default.
245
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
246
+
247
+ // Optional. A token identifying a page of results the server should return.
248
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
249
+
250
+ // Optional. Filtering results
251
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
252
+
253
+ // Optional. Hint for how to order the results
254
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
255
+ }
256
+
257
+ // Message for response to listing Collections
258
+ message ListCollectionsResponse {
259
+ // The list of Collection
260
+ repeated Collection collections = 1;
261
+
262
+ // A token identifying a page of results the server should return.
263
+ string next_page_token = 2;
264
+
265
+ // Unordered list. Locations that could not be reached.
266
+ repeated string unreachable = 3
267
+ [(google.api.field_behavior) = UNORDERED_LIST];
268
+ }
269
+
270
+ // Message for getting a Collection
271
+ message GetCollectionRequest {
272
+ // Required. Name of the resource
273
+ string name = 1 [
274
+ (google.api.field_behavior) = REQUIRED,
275
+ (google.api.resource_reference) = {
276
+ type: "vectorsearch.googleapis.com/Collection"
277
+ }
278
+ ];
279
+ }
280
+
281
+ // Message for creating a Collection
282
+ message CreateCollectionRequest {
283
+ // Required. Value for parent.
284
+ string parent = 1 [
285
+ (google.api.field_behavior) = REQUIRED,
286
+ (google.api.resource_reference) = {
287
+ child_type: "vectorsearch.googleapis.com/Collection"
288
+ }
289
+ ];
290
+
291
+ // Required. ID of the Collection to create.
292
+ // The id must be 1-63 characters long, and comply with
293
+ // <a href="https://www.ietf.org/rfc/rfc1035.txt" target="_blank">RFC1035</a>.
294
+ // Specifically, it must be 1-63 characters long and match the regular
295
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?`.
296
+ string collection_id = 2 [(google.api.field_behavior) = REQUIRED];
297
+
298
+ // Required. The resource being created
299
+ Collection collection = 3 [(google.api.field_behavior) = REQUIRED];
300
+
301
+ // Optional. An optional request ID to identify requests. Specify a unique
302
+ // request ID so that if you must retry your request, the server will know to
303
+ // ignore the request if it has already been completed. The server will
304
+ // guarantee that for at least 60 minutes since the first request.
305
+ //
306
+ // For example, consider a situation where you make an initial request and the
307
+ // request times out. If you make the request again with the same request
308
+ // ID, the server can check if original operation with the same request ID
309
+ // was received, and if so, will ignore the second request. This prevents
310
+ // clients from accidentally creating duplicate commitments.
311
+ //
312
+ // The request ID must be a valid UUID with the exception that zero UUID is
313
+ // not supported (00000000-0000-0000-0000-000000000000).
314
+ string request_id = 4 [
315
+ (google.api.field_info).format = UUID4,
316
+ (google.api.field_behavior) = OPTIONAL
317
+ ];
318
+ }
319
+
320
+ // Message for updating a Collection
321
+ message UpdateCollectionRequest {
322
+ // Optional. Field mask is used to specify the fields to be overwritten in the
323
+ // Collection resource by the update.
324
+ // The fields specified in the update_mask are relative to the resource, not
325
+ // the full request. A field will be overwritten if it is in the mask. If the
326
+ // user does not provide a mask then all fields present in the request will be
327
+ // overwritten.
328
+ //
329
+ // The following fields support update: `display_name`, `description`,
330
+ // `labels`, `data_schema`, `vector_schema`.
331
+ // For `data_schema` and `vector_schema`, fields can only be added, not
332
+ // modified or deleted.
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
+ // Identifier. name of resource
402
+ string name = 1 [(google.api.field_behavior) = IDENTIFIER];
403
+
404
+ // Optional. User-specified display name of the index
405
+ string display_name = 8 [(google.api.field_behavior) = OPTIONAL];
406
+
407
+ // Optional. User-specified description of the index
408
+ string description = 9 [(google.api.field_behavior) = OPTIONAL];
409
+
410
+ // Optional. Labels as key value pairs.
411
+ map<string, string> labels = 10 [(google.api.field_behavior) = OPTIONAL];
412
+
413
+ // Output only. [Output only] Create time stamp
414
+ google.protobuf.Timestamp create_time = 2
415
+ [(google.api.field_behavior) = OUTPUT_ONLY];
416
+
417
+ // Output only. [Output only] Update time stamp
418
+ google.protobuf.Timestamp update_time = 3
419
+ [(google.api.field_behavior) = OUTPUT_ONLY];
420
+
421
+ // Optional. Distance metric used for indexing. If not specified, will default
422
+ // to DOT_PRODUCT.
423
+ DistanceMetric distance_metric = 4 [(google.api.field_behavior) = OPTIONAL];
424
+
425
+ // Required. The collection schema field to index.
426
+ string index_field = 5 [(google.api.field_behavior) = REQUIRED];
427
+
428
+ // Optional. The fields to push into the index to enable fast ANN inline
429
+ // filtering.
430
+ repeated string filter_fields = 6 [(google.api.field_behavior) = OPTIONAL];
431
+
432
+ // Optional. The fields to push into the index to enable inline data
433
+ // retrieval.
434
+ repeated string store_fields = 7 [(google.api.field_behavior) = OPTIONAL];
435
+ }
436
+
437
+ // Message for creating an Index.
438
+ message CreateIndexRequest {
439
+ // Required. The resource name of the Collection for which to create the
440
+ // Index. Format:
441
+ // `projects/{project}/locations/{location}/collections/{collection}`
442
+ string parent = 1 [
443
+ (google.api.field_behavior) = REQUIRED,
444
+ (google.api.resource_reference) = {
445
+ type: "vectorsearch.googleapis.com/Collection"
446
+ }
447
+ ];
448
+
449
+ // Required. ID of the Index to create.
450
+ // The id must be 1-63 characters long, and comply with
451
+ // <a href="https://www.ietf.org/rfc/rfc1035.txt" target="_blank">RFC1035</a>.
452
+ // Specifically, it must be 1-63 characters long and match the regular
453
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?`.
454
+ string index_id = 2 [(google.api.field_behavior) = REQUIRED];
455
+
456
+ // Required. The resource being created
457
+ Index index = 3 [(google.api.field_behavior) = REQUIRED];
458
+
459
+ // Optional. An optional request ID to identify requests. Specify a unique
460
+ // request ID so that if you must retry your request, the server will know to
461
+ // ignore the request if it has already been completed. The server will
462
+ // guarantee that for at least 60 minutes since the first request.
463
+ //
464
+ // For example, consider a situation where you make an initial request and the
465
+ // request times out. If you make the request again with the same request
466
+ // ID, the server can check if original operation with the same request ID
467
+ // was received, and if so, will ignore the second request. This prevents
468
+ // clients from accidentally creating duplicate commitments.
469
+ //
470
+ // The request ID must be a valid UUID with the exception that zero UUID is
471
+ // not supported (00000000-0000-0000-0000-000000000000).
472
+ string request_id = 4 [
473
+ (google.api.field_info).format = UUID4,
474
+ (google.api.field_behavior) = OPTIONAL
475
+ ];
476
+ }
477
+
478
+ // Message for deleting an Index.
479
+ message DeleteIndexRequest {
480
+ // Required. The resource name of the Index to delete.
481
+ // Format:
482
+ // `projects/{project}/locations/{location}/collections/{collection}/indexes/{index}`
483
+ string name = 1 [
484
+ (google.api.field_behavior) = REQUIRED,
485
+ (google.api.resource_reference) = {
486
+ type: "vectorsearch.googleapis.com/Index"
487
+ }
488
+ ];
489
+
490
+ // Optional. An optional request ID to identify requests. Specify a unique
491
+ // request ID so that if you must retry your request, the server will know to
492
+ // ignore the request if it has already been completed. The server will
493
+ // guarantee that for at least 60 minutes since the first request.
494
+ //
495
+ // For example, consider a situation where you make an initial request and the
496
+ // request times out. If you make the request again with the same request
497
+ // ID, the server can check if original operation with the same request ID
498
+ // was received, and if so, will ignore the second request. This prevents
499
+ // clients from accidentally creating duplicate commitments.
500
+ //
501
+ // The request ID must be a valid UUID with the exception that zero UUID is
502
+ // not supported (00000000-0000-0000-0000-000000000000).
503
+ string request_id = 2 [
504
+ (google.api.field_info).format = UUID4,
505
+ (google.api.field_behavior) = OPTIONAL
506
+ ];
507
+ }
508
+
509
+ // Message for requesting list of Indexes
510
+ message ListIndexesRequest {
511
+ // Required. Parent value for ListIndexesRequest
512
+ string parent = 1 [
513
+ (google.api.field_behavior) = REQUIRED,
514
+ (google.api.resource_reference) = {
515
+ child_type: "vectorsearch.googleapis.com/Index"
516
+ }
517
+ ];
518
+
519
+ // Optional. Requested page size. Server may return fewer items than
520
+ // requested. If unspecified, server will pick an appropriate default.
521
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
522
+
523
+ // Optional. A token identifying a page of results the server should return.
524
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
525
+
526
+ // Optional. Filtering results
527
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
528
+
529
+ // Optional. Hint for how to order the results
530
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
531
+ }
532
+
533
+ // Message for response to listing Indexes
534
+ message ListIndexesResponse {
535
+ // The list of Index
536
+ repeated Index indexes = 1;
537
+
538
+ // A token identifying a page of results the server should return.
539
+ string next_page_token = 2;
540
+ }
541
+
542
+ // Message for getting an Index
543
+ message GetIndexRequest {
544
+ // Required. Name of the resource
545
+ string name = 1 [
546
+ (google.api.field_behavior) = REQUIRED,
547
+ (google.api.resource_reference) = {
548
+ type: "vectorsearch.googleapis.com/Index"
549
+ }
550
+ ];
551
+ }
552
+
553
+ // Represents the metadata of the long-running operation.
554
+ message OperationMetadata {
555
+ // Output only. The time the operation was created.
556
+ google.protobuf.Timestamp create_time = 1
557
+ [(google.api.field_behavior) = OUTPUT_ONLY];
558
+
559
+ // Output only. The time the operation finished running.
560
+ google.protobuf.Timestamp end_time = 2
561
+ [(google.api.field_behavior) = OUTPUT_ONLY];
562
+
563
+ // Output only. Server-defined resource path for the target of the operation.
564
+ string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
565
+
566
+ // Output only. Name of the verb executed by the operation.
567
+ string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
568
+
569
+ // Output only. Human-readable status of the operation, if any.
570
+ string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
571
+
572
+ // Output only. Identifies whether the user has requested cancellation
573
+ // of the operation. Operations that have been cancelled successfully
574
+ // have
575
+ // [google.longrunning.Operation.error][google.longrunning.Operation.error]
576
+ // value with a [google.rpc.Status.code][google.rpc.Status.code] of `1`,
577
+ // corresponding to `Code.CANCELLED`.
578
+ bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
579
+
580
+ // Output only. API version used to start the operation.
581
+ string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
582
+ }
583
+
584
+ // Request message for [DataObjectService.ImportDataObjects][].
585
+ message ImportDataObjectsRequest {
586
+ // Google Cloud Storage configuration for the import.
587
+ message GcsImportConfig {
588
+ // Required. URI prefix of the Cloud Storage DataObjects to import.
589
+ string contents_uri = 1 [(google.api.field_behavior) = REQUIRED];
590
+
591
+ // Required. URI prefix of the Cloud Storage location to write any errors
592
+ // encountered during the import.
593
+ string error_uri = 2 [(google.api.field_behavior) = REQUIRED];
594
+ }
595
+
596
+ // The configuration for the import data and error results.
597
+ oneof config {
598
+ // The Cloud Storage location of the input content.
599
+ GcsImportConfig gcs_import = 2;
600
+ }
601
+
602
+ // Required. The resource name of the Collection to import DataObjects into.
603
+ // Format: `projects/{project}/locations/{location}/collections/{collection}`.
604
+ string name = 1 [
605
+ (google.api.field_behavior) = REQUIRED,
606
+ (google.api.resource_reference) = {
607
+ type: "vectorsearch.googleapis.com/Collection"
608
+ }
609
+ ];
610
+ }
611
+
612
+ // Metadata for [DataObjectService.ImportDataObjects][].
613
+ message ImportDataObjectsMetadata {
614
+ // The time the operation was created.
615
+ google.protobuf.Timestamp create_time = 1;
616
+
617
+ // The time the operation was last updated.
618
+ google.protobuf.Timestamp update_time = 2;
619
+
620
+ // Number of DataObjects that were processed successfully.
621
+ int64 success_count = 3;
622
+
623
+ // Number of DataObjects that failed during processing.
624
+ int64 failure_count = 4;
625
+ }
626
+
627
+ // Response for [DataObjectService.ImportDataObjects][].
628
+ message ImportDataObjectsResponse {
629
+ // Status of the LRO
630
+ google.rpc.Status status = 1;
631
+ }