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