google-cloud-vision_ai-v1 0.a → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/vision_ai/v1/app_platform/client.rb +3318 -0
  6. data/lib/google/cloud/vision_ai/v1/app_platform/credentials.rb +47 -0
  7. data/lib/google/cloud/vision_ai/v1/app_platform/operations.rb +809 -0
  8. data/lib/google/cloud/vision_ai/v1/app_platform/paths.rb +151 -0
  9. data/lib/google/cloud/vision_ai/v1/app_platform/rest/client.rb +3106 -0
  10. data/lib/google/cloud/vision_ai/v1/app_platform/rest/operations.rb +951 -0
  11. data/lib/google/cloud/vision_ai/v1/app_platform/rest/service_stub.rb +1618 -0
  12. data/lib/google/cloud/vision_ai/v1/app_platform/rest.rb +53 -0
  13. data/lib/google/cloud/vision_ai/v1/app_platform.rb +56 -0
  14. data/lib/google/cloud/vision_ai/v1/health_check_service/client.rb +456 -0
  15. data/lib/google/cloud/vision_ai/v1/health_check_service/credentials.rb +47 -0
  16. data/lib/google/cloud/vision_ai/v1/health_check_service/paths.rb +52 -0
  17. data/lib/google/cloud/vision_ai/v1/health_check_service/rest/client.rb +423 -0
  18. data/lib/google/cloud/vision_ai/v1/health_check_service/rest/service_stub.rb +128 -0
  19. data/lib/google/cloud/vision_ai/v1/health_check_service/rest.rb +53 -0
  20. data/lib/google/cloud/vision_ai/v1/health_check_service.rb +56 -0
  21. data/lib/google/cloud/vision_ai/v1/live_video_analytics/client.rb +2375 -0
  22. data/lib/google/cloud/vision_ai/v1/live_video_analytics/credentials.rb +47 -0
  23. data/lib/google/cloud/vision_ai/v1/live_video_analytics/operations.rb +809 -0
  24. data/lib/google/cloud/vision_ai/v1/live_video_analytics/paths.rb +130 -0
  25. data/lib/google/cloud/vision_ai/v1/live_video_analytics/rest/client.rb +2220 -0
  26. data/lib/google/cloud/vision_ai/v1/live_video_analytics/rest/operations.rb +951 -0
  27. data/lib/google/cloud/vision_ai/v1/live_video_analytics/rest/service_stub.rb +1139 -0
  28. data/lib/google/cloud/vision_ai/v1/live_video_analytics/rest.rb +54 -0
  29. data/lib/google/cloud/vision_ai/v1/live_video_analytics.rb +57 -0
  30. data/lib/google/cloud/vision_ai/v1/rest.rb +42 -0
  31. data/lib/google/cloud/vision_ai/v1/streaming_service/client.rb +915 -0
  32. data/lib/google/cloud/vision_ai/v1/streaming_service/credentials.rb +47 -0
  33. data/lib/google/cloud/vision_ai/v1/streaming_service/paths.rb +54 -0
  34. data/lib/google/cloud/vision_ai/v1/streaming_service/rest/client.rb +610 -0
  35. data/lib/google/cloud/vision_ai/v1/streaming_service/rest/service_stub.rb +249 -0
  36. data/lib/google/cloud/vision_ai/v1/streaming_service/rest.rb +52 -0
  37. data/lib/google/cloud/vision_ai/v1/streaming_service.rb +55 -0
  38. data/lib/google/cloud/vision_ai/v1/streams_service/client.rb +2931 -0
  39. data/lib/google/cloud/vision_ai/v1/streams_service/credentials.rb +47 -0
  40. data/lib/google/cloud/vision_ai/v1/streams_service/operations.rb +809 -0
  41. data/lib/google/cloud/vision_ai/v1/streams_service/paths.rb +153 -0
  42. data/lib/google/cloud/vision_ai/v1/streams_service/rest/client.rb +2740 -0
  43. data/lib/google/cloud/vision_ai/v1/streams_service/rest/operations.rb +951 -0
  44. data/lib/google/cloud/vision_ai/v1/streams_service/rest/service_stub.rb +1437 -0
  45. data/lib/google/cloud/vision_ai/v1/streams_service/rest.rb +56 -0
  46. data/lib/google/cloud/vision_ai/v1/streams_service.rb +59 -0
  47. data/lib/google/cloud/vision_ai/v1/version.rb +8 -3
  48. data/lib/google/cloud/vision_ai/v1/warehouse/client.rb +6958 -0
  49. data/lib/google/cloud/vision_ai/v1/warehouse/credentials.rb +47 -0
  50. data/lib/google/cloud/vision_ai/v1/warehouse/operations.rb +809 -0
  51. data/lib/google/cloud/vision_ai/v1/warehouse/paths.rb +237 -0
  52. data/lib/google/cloud/vision_ai/v1/warehouse/rest/client.rb +6403 -0
  53. data/lib/google/cloud/vision_ai/v1/warehouse/rest/operations.rb +951 -0
  54. data/lib/google/cloud/vision_ai/v1/warehouse/rest/service_stub.rb +3760 -0
  55. data/lib/google/cloud/vision_ai/v1/warehouse/rest.rb +53 -0
  56. data/lib/google/cloud/vision_ai/v1/warehouse.rb +56 -0
  57. data/lib/google/cloud/vision_ai/v1.rb +50 -0
  58. data/lib/google/cloud/visionai/v1/annotations_pb.rb +90 -0
  59. data/lib/google/cloud/visionai/v1/common_pb.rb +50 -0
  60. data/lib/google/cloud/visionai/v1/health_service_pb.rb +48 -0
  61. data/lib/google/cloud/visionai/v1/health_service_services_pb.rb +46 -0
  62. data/lib/google/cloud/visionai/v1/lva_pb.rb +54 -0
  63. data/lib/google/cloud/visionai/v1/lva_resources_pb.rb +51 -0
  64. data/lib/google/cloud/visionai/v1/lva_service_pb.rb +80 -0
  65. data/lib/google/cloud/visionai/v1/lva_service_services_pb.rb +81 -0
  66. data/lib/google/cloud/visionai/v1/platform_pb.rb +162 -0
  67. data/lib/google/cloud/visionai/v1/platform_services_pb.rb +111 -0
  68. data/lib/google/cloud/visionai/v1/streaming_resources_pb.rb +58 -0
  69. data/lib/google/cloud/visionai/v1/streaming_service_pb.rb +71 -0
  70. data/lib/google/cloud/visionai/v1/streaming_service_services_pb.rb +55 -0
  71. data/lib/google/cloud/visionai/v1/streams_resources_pb.rb +53 -0
  72. data/lib/google/cloud/visionai/v1/streams_service_pb.rb +85 -0
  73. data/lib/google/cloud/visionai/v1/streams_service_services_pb.rb +92 -0
  74. data/lib/google/cloud/visionai/v1/warehouse_pb.rb +251 -0
  75. data/lib/google/cloud/visionai/v1/warehouse_services_pb.rb +228 -0
  76. data/lib/google-cloud-vision_ai-v1.rb +21 -0
  77. data/proto_docs/README.md +4 -0
  78. data/proto_docs/google/api/client.rb +420 -0
  79. data/proto_docs/google/api/field_behavior.rb +85 -0
  80. data/proto_docs/google/api/launch_stage.rb +71 -0
  81. data/proto_docs/google/api/resource.rb +227 -0
  82. data/proto_docs/google/cloud/visionai/v1/annotations.rb +787 -0
  83. data/proto_docs/google/cloud/visionai/v1/common.rb +134 -0
  84. data/proto_docs/google/cloud/visionai/v1/health_service.rb +61 -0
  85. data/proto_docs/google/cloud/visionai/v1/lva.rb +345 -0
  86. data/proto_docs/google/cloud/visionai/v1/lva_resources.rb +167 -0
  87. data/proto_docs/google/cloud/visionai/v1/lva_service.rb +543 -0
  88. data/proto_docs/google/cloud/visionai/v1/platform.rb +2228 -0
  89. data/proto_docs/google/cloud/visionai/v1/streaming_resources.rb +178 -0
  90. data/proto_docs/google/cloud/visionai/v1/streaming_service.rb +393 -0
  91. data/proto_docs/google/cloud/visionai/v1/streams_resources.rb +229 -0
  92. data/proto_docs/google/cloud/visionai/v1/streams_service.rb +644 -0
  93. data/proto_docs/google/cloud/visionai/v1/warehouse.rb +3055 -0
  94. data/proto_docs/google/longrunning/operations.rb +164 -0
  95. data/proto_docs/google/protobuf/any.rb +145 -0
  96. data/proto_docs/google/protobuf/duration.rb +98 -0
  97. data/proto_docs/google/protobuf/empty.rb +34 -0
  98. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  99. data/proto_docs/google/protobuf/struct.rb +96 -0
  100. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  101. data/proto_docs/google/rpc/status.rb +48 -0
  102. data/proto_docs/google/type/datetime.rb +99 -0
  103. data/proto_docs/google/type/expr.rb +75 -0
  104. metadata +183 -10
@@ -0,0 +1,3055 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 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 VisionAI
23
+ module V1
24
+ # Request message for CreateAssetRequest.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The parent resource where this asset will be created.
28
+ # Format:
29
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}`
30
+ # @!attribute [rw] asset
31
+ # @return [::Google::Cloud::VisionAI::V1::Asset]
32
+ # Required. The asset to create.
33
+ # @!attribute [rw] asset_id
34
+ # @return [::String]
35
+ # Optional. The ID to use for the asset, which will become the final
36
+ # component of the asset's resource name if user choose to specify.
37
+ # Otherwise, asset id will be generated by system.
38
+ #
39
+ # This value should be up to 63 characters, and valid characters
40
+ # are /[a-z][0-9]-/. The first character must be a letter, the last could be
41
+ # a letter or a number.
42
+ class CreateAssetRequest
43
+ include ::Google::Protobuf::MessageExts
44
+ extend ::Google::Protobuf::MessageExts::ClassMethods
45
+ end
46
+
47
+ # Request message for GetAsset.
48
+ # @!attribute [rw] name
49
+ # @return [::String]
50
+ # Required. The name of the asset to retrieve.
51
+ # Format:
52
+ # projects/\\{project_number}/locations/\\{location}/corpora/\\{corpus}/assets/\\{asset}
53
+ class GetAssetRequest
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+
58
+ # Request message for ListAssets.
59
+ # @!attribute [rw] parent
60
+ # @return [::String]
61
+ # Required. The parent, which owns this collection of assets.
62
+ # Format:
63
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}`
64
+ # @!attribute [rw] page_size
65
+ # @return [::Integer]
66
+ # The maximum number of assets to return. The service may return fewer than
67
+ # this value.
68
+ # If unspecified, at most 50 assets will be returned.
69
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
70
+ # @!attribute [rw] page_token
71
+ # @return [::String]
72
+ # A page token, received from a previous `ListAssets` call.
73
+ # Provide this to retrieve the subsequent page.
74
+ #
75
+ # When paginating, all other parameters provided to `ListAssets` must match
76
+ # the call that provided the page token.
77
+ # @!attribute [rw] filter
78
+ # @return [::String]
79
+ # The filter applied to the returned list.
80
+ # Only the following filterings are supported:
81
+ # "assets_with_contents = true", which returns assets with contents uploaded;
82
+ # "assets_with_contents = false", which returns assets without contents.
83
+ class ListAssetsRequest
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+
88
+ # Response message for ListAssets.
89
+ # @!attribute [rw] assets
90
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Asset>]
91
+ # The assets from the specified corpus.
92
+ # @!attribute [rw] next_page_token
93
+ # @return [::String]
94
+ # A token, which can be sent as `page_token` to retrieve the next page.
95
+ # If this field is omitted, there are no subsequent pages.
96
+ class ListAssetsResponse
97
+ include ::Google::Protobuf::MessageExts
98
+ extend ::Google::Protobuf::MessageExts::ClassMethods
99
+ end
100
+
101
+ # Request message for UpdateAsset.
102
+ # @!attribute [rw] asset
103
+ # @return [::Google::Cloud::VisionAI::V1::Asset]
104
+ # Required. The asset to update.
105
+ #
106
+ # The asset's `name` field is used to identify the asset to be updated.
107
+ # Format:
108
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}`
109
+ # @!attribute [rw] update_mask
110
+ # @return [::Google::Protobuf::FieldMask]
111
+ # The list of fields to be updated.
112
+ class UpdateAssetRequest
113
+ include ::Google::Protobuf::MessageExts
114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
115
+ end
116
+
117
+ # Request message for DeleteAsset.
118
+ # @!attribute [rw] name
119
+ # @return [::String]
120
+ # Required. The name of the asset to delete.
121
+ # Format:
122
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}`
123
+ class DeleteAssetRequest
124
+ include ::Google::Protobuf::MessageExts
125
+ extend ::Google::Protobuf::MessageExts::ClassMethods
126
+ end
127
+
128
+ # The source of the asset.
129
+ # @!attribute [rw] asset_gcs_source
130
+ # @return [::Google::Cloud::VisionAI::V1::AssetSource::AssetGcsSource]
131
+ # The source of the asset is from Cloud Storage.
132
+ # @!attribute [rw] asset_content_data
133
+ # @return [::Google::Cloud::VisionAI::V1::AssetSource::AssetContentData]
134
+ # The source of the asset is from content bytes.
135
+ class AssetSource
136
+ include ::Google::Protobuf::MessageExts
137
+ extend ::Google::Protobuf::MessageExts::ClassMethods
138
+
139
+ # The asset source is from Cloud Storage.
140
+ # @!attribute [rw] gcs_uri
141
+ # @return [::String]
142
+ # Cloud storage uri.
143
+ class AssetGcsSource
144
+ include ::Google::Protobuf::MessageExts
145
+ extend ::Google::Protobuf::MessageExts::ClassMethods
146
+ end
147
+
148
+ # The content of the asset.
149
+ # @!attribute [rw] asset_content_data
150
+ # @return [::String]
151
+ class AssetContentData
152
+ include ::Google::Protobuf::MessageExts
153
+ extend ::Google::Protobuf::MessageExts::ClassMethods
154
+ end
155
+ end
156
+
157
+ # Request message for UploadAsset.
158
+ # @!attribute [rw] name
159
+ # @return [::String]
160
+ # Required. The resource name of the asset to upload.
161
+ # Format:
162
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
163
+ # @!attribute [rw] asset_source
164
+ # @return [::Google::Cloud::VisionAI::V1::AssetSource]
165
+ # The source of the asset.
166
+ class UploadAssetRequest
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+
171
+ # Response message for UploadAsset.
172
+ class UploadAssetResponse
173
+ include ::Google::Protobuf::MessageExts
174
+ extend ::Google::Protobuf::MessageExts::ClassMethods
175
+ end
176
+
177
+ # Metadata for UploadAsset.
178
+ # @!attribute [rw] start_time
179
+ # @return [::Google::Protobuf::Timestamp]
180
+ # The start time of the operation.
181
+ # @!attribute [rw] update_time
182
+ # @return [::Google::Protobuf::Timestamp]
183
+ # The update time of the operation.
184
+ class UploadAssetMetadata
185
+ include ::Google::Protobuf::MessageExts
186
+ extend ::Google::Protobuf::MessageExts::ClassMethods
187
+ end
188
+
189
+ # Request message for GenerateRetrievalUrl API.
190
+ # @!attribute [rw] name
191
+ # @return [::String]
192
+ # Required. The resource name of the asset to request signed url for.
193
+ # Format:
194
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
195
+ class GenerateRetrievalUrlRequest
196
+ include ::Google::Protobuf::MessageExts
197
+ extend ::Google::Protobuf::MessageExts::ClassMethods
198
+ end
199
+
200
+ # Response message for GenerateRetrievalUrl API.
201
+ # @!attribute [rw] signed_uri
202
+ # @return [::String]
203
+ # A signed url to download the content of the asset.
204
+ class GenerateRetrievalUrlResponse
205
+ include ::Google::Protobuf::MessageExts
206
+ extend ::Google::Protobuf::MessageExts::ClassMethods
207
+ end
208
+
209
+ # An asset is a resource in corpus. It represents a media object inside corpus,
210
+ # contains metadata and another resource annotation. Different feature could be
211
+ # applied to the asset to generate annotations. User could specified annotation
212
+ # related to the target asset.
213
+ # @!attribute [rw] name
214
+ # @return [::String]
215
+ # Resource name of the asset.
216
+ # Format:
217
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
218
+ # @!attribute [rw] ttl
219
+ # @return [::Google::Protobuf::Duration]
220
+ # The duration for which all media assets, associated metadata, and search
221
+ # documents can exist. If not set, then it will using the default ttl in the
222
+ # parent corpus resource.
223
+ # @!attribute [r] asset_gcs_source
224
+ # @return [::Google::Cloud::VisionAI::V1::AssetSource::AssetGcsSource]
225
+ # Output only. The original cloud storage source uri that is associated with
226
+ # this asset.
227
+ class Asset
228
+ include ::Google::Protobuf::MessageExts
229
+ extend ::Google::Protobuf::MessageExts::ClassMethods
230
+ end
231
+
232
+ # Request message for AnalyzeAsset.
233
+ # @!attribute [rw] name
234
+ # @return [::String]
235
+ # Required. The resource name of the asset to analyze.
236
+ # Format:
237
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
238
+ class AnalyzeAssetRequest
239
+ include ::Google::Protobuf::MessageExts
240
+ extend ::Google::Protobuf::MessageExts::ClassMethods
241
+ end
242
+
243
+ # Metadata for AnalyzeAsset.
244
+ # @!attribute [rw] analysis_status
245
+ # @return [::Array<::Google::Cloud::VisionAI::V1::AnalyzeAssetMetadata::AnalysisStatus>]
246
+ # The status of analysis on all search capabilities.
247
+ # @!attribute [rw] start_time
248
+ # @return [::Google::Protobuf::Timestamp]
249
+ # The start time of the operation.
250
+ # @!attribute [rw] update_time
251
+ # @return [::Google::Protobuf::Timestamp]
252
+ # The update time of the operation.
253
+ class AnalyzeAssetMetadata
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+
257
+ # The status of analysis on each search capability.
258
+ # @!attribute [rw] state
259
+ # @return [::Google::Cloud::VisionAI::V1::AnalyzeAssetMetadata::AnalysisStatus::State]
260
+ # @!attribute [rw] status_message
261
+ # @return [::String]
262
+ # @!attribute [rw] search_capability
263
+ # @return [::Google::Cloud::VisionAI::V1::SearchCapability]
264
+ # The search capability requested.
265
+ class AnalysisStatus
266
+ include ::Google::Protobuf::MessageExts
267
+ extend ::Google::Protobuf::MessageExts::ClassMethods
268
+
269
+ # The state of the search capability.
270
+ module State
271
+ # The default process state should never happen.
272
+ STATE_UNSPECIFIED = 0
273
+
274
+ # The ml model analysis is in progress.
275
+ IN_PROGRESS = 1
276
+
277
+ # The ml model analysis is successfully done.
278
+ SUCCEEDED = 2
279
+
280
+ # The ml model analysis failed.
281
+ FAILED = 3
282
+ end
283
+ end
284
+ end
285
+
286
+ # Response message for AnalyzeAsset.
287
+ class AnalyzeAssetResponse
288
+ include ::Google::Protobuf::MessageExts
289
+ extend ::Google::Protobuf::MessageExts::ClassMethods
290
+ end
291
+
292
+ # The status of indexing for the asset.
293
+ # @!attribute [r] state
294
+ # @return [::Google::Cloud::VisionAI::V1::IndexingStatus::State]
295
+ # Output only. State of this asset's indexing.
296
+ # @!attribute [rw] status_message
297
+ # @return [::String]
298
+ # Detailed message describing the state.
299
+ class IndexingStatus
300
+ include ::Google::Protobuf::MessageExts
301
+ extend ::Google::Protobuf::MessageExts::ClassMethods
302
+
303
+ # State enum for this asset's indexing.
304
+ module State
305
+ # The default process state should never happen.
306
+ STATE_UNSPECIFIED = 0
307
+
308
+ # The indexing is in progress.
309
+ IN_PROGRESS = 1
310
+
311
+ # The process is successfully done.
312
+ SUCCEEDED = 2
313
+
314
+ # The process failed.
315
+ FAILED = 3
316
+ end
317
+ end
318
+
319
+ # Request message for IndexAsset.
320
+ # @!attribute [rw] name
321
+ # @return [::String]
322
+ # Required. The resource name of the asset to index.
323
+ # Format:
324
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
325
+ # @!attribute [rw] index
326
+ # @return [::String]
327
+ # Optional. The name of the index.
328
+ # Format:
329
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}`
330
+ class IndexAssetRequest
331
+ include ::Google::Protobuf::MessageExts
332
+ extend ::Google::Protobuf::MessageExts::ClassMethods
333
+ end
334
+
335
+ # Metadata for IndexAsset.
336
+ # @!attribute [rw] status
337
+ # @return [::Google::Cloud::VisionAI::V1::IndexingStatus]
338
+ # The status of indexing this asset.
339
+ # @!attribute [rw] start_time
340
+ # @return [::Google::Protobuf::Timestamp]
341
+ # The start time of the operation.
342
+ # @!attribute [rw] update_time
343
+ # @return [::Google::Protobuf::Timestamp]
344
+ # The update time of the operation.
345
+ class IndexAssetMetadata
346
+ include ::Google::Protobuf::MessageExts
347
+ extend ::Google::Protobuf::MessageExts::ClassMethods
348
+ end
349
+
350
+ # Response message for IndexAsset.
351
+ class IndexAssetResponse
352
+ include ::Google::Protobuf::MessageExts
353
+ extend ::Google::Protobuf::MessageExts::ClassMethods
354
+ end
355
+
356
+ # Request message for RemoveIndexAsset.
357
+ # @!attribute [rw] name
358
+ # @return [::String]
359
+ # Required. The resource name of the asset to index.
360
+ # Format:
361
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
362
+ # @!attribute [rw] index
363
+ # @return [::String]
364
+ # Optional. The name of the index.
365
+ # Format:
366
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}`
367
+ class RemoveIndexAssetRequest
368
+ include ::Google::Protobuf::MessageExts
369
+ extend ::Google::Protobuf::MessageExts::ClassMethods
370
+ end
371
+
372
+ # Metadata for RemoveIndexAsset.
373
+ # @!attribute [rw] indexing_status
374
+ # @return [::Google::Cloud::VisionAI::V1::IndexingStatus]
375
+ # The status of indexing this asset.
376
+ # @!attribute [rw] start_time
377
+ # @return [::Google::Protobuf::Timestamp]
378
+ # The start time of the operation.
379
+ # @!attribute [rw] update_time
380
+ # @return [::Google::Protobuf::Timestamp]
381
+ # The update time of the operation.
382
+ class RemoveIndexAssetMetadata
383
+ include ::Google::Protobuf::MessageExts
384
+ extend ::Google::Protobuf::MessageExts::ClassMethods
385
+ end
386
+
387
+ # Response message for RemoveIndexAsset.
388
+ class RemoveIndexAssetResponse
389
+ include ::Google::Protobuf::MessageExts
390
+ extend ::Google::Protobuf::MessageExts::ClassMethods
391
+ end
392
+
393
+ # An IndexedAsset is an asset that the index is built upon.
394
+ # @!attribute [rw] index
395
+ # @return [::String]
396
+ # Required. The index that this indexed asset belongs to.
397
+ # Format:
398
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}`
399
+ # @!attribute [rw] asset
400
+ # @return [::String]
401
+ # Required. The resource name of the asset.
402
+ # Format:
403
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
404
+ # @!attribute [r] create_time
405
+ # @return [::Google::Protobuf::Timestamp]
406
+ # Output only. The create timestamp.
407
+ # @!attribute [r] update_time
408
+ # @return [::Google::Protobuf::Timestamp]
409
+ # Output only. The update timestamp.
410
+ class IndexedAsset
411
+ include ::Google::Protobuf::MessageExts
412
+ extend ::Google::Protobuf::MessageExts::ClassMethods
413
+ end
414
+
415
+ # Request message for ViewIndexedAssets.
416
+ # @!attribute [rw] index
417
+ # @return [::String]
418
+ # Required. The index that owns this collection of assets.
419
+ # Format:
420
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}`
421
+ # @!attribute [rw] page_size
422
+ # @return [::Integer]
423
+ # The maximum number of assets to return. The service may return fewer than
424
+ # this value.
425
+ # If unspecified, at most 50 assets will be returned.
426
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
427
+ # @!attribute [rw] page_token
428
+ # @return [::String]
429
+ # A page token, received from a previous `ViewIndexedAssets` call.
430
+ # Provide this to retrieve the subsequent page.
431
+ #
432
+ # When paginating, all other parameters provided to `ViewIndexedAssets` must
433
+ # match the call that provided the page token.
434
+ # @!attribute [rw] filter
435
+ # @return [::String]
436
+ # The filter applied to the returned list.
437
+ # Only the following filterings are supported:
438
+ # "asset_id = xxxx", which returns asset with specified id.
439
+ # "asset_id = xxxx, yyyy, zzzz", which returns assets with specified ids.
440
+ class ViewIndexedAssetsRequest
441
+ include ::Google::Protobuf::MessageExts
442
+ extend ::Google::Protobuf::MessageExts::ClassMethods
443
+ end
444
+
445
+ # Response message for ViewIndexedAssets.
446
+ # @!attribute [rw] indexed_assets
447
+ # @return [::Array<::Google::Cloud::VisionAI::V1::IndexedAsset>]
448
+ # The assets from the specified index.
449
+ # @!attribute [rw] next_page_token
450
+ # @return [::String]
451
+ # A token, which can be sent as `page_token` to retrieve the next page.
452
+ # If this field is omitted, there are no subsequent pages.
453
+ class ViewIndexedAssetsResponse
454
+ include ::Google::Protobuf::MessageExts
455
+ extend ::Google::Protobuf::MessageExts::ClassMethods
456
+ end
457
+
458
+ # Request message of CreateCorpus API.
459
+ # @!attribute [rw] parent
460
+ # @return [::String]
461
+ # Required. Form: `projects/{project_number}/locations/{location_id}`
462
+ # @!attribute [rw] corpus
463
+ # @return [::Google::Cloud::VisionAI::V1::Corpus]
464
+ # Required. The corpus to be created.
465
+ class CreateCorpusRequest
466
+ include ::Google::Protobuf::MessageExts
467
+ extend ::Google::Protobuf::MessageExts::ClassMethods
468
+ end
469
+
470
+ # Metadata for CreateCorpus API.
471
+ # @!attribute [rw] create_time
472
+ # @return [::Google::Protobuf::Timestamp]
473
+ # The create time of the create corpus operation.
474
+ # @!attribute [rw] update_time
475
+ # @return [::Google::Protobuf::Timestamp]
476
+ # The update time of the create corpus operation.
477
+ class CreateCorpusMetadata
478
+ include ::Google::Protobuf::MessageExts
479
+ extend ::Google::Protobuf::MessageExts::ClassMethods
480
+ end
481
+
482
+ # The capability and metadata of search capability.
483
+ # @!attribute [rw] type
484
+ # @return [::Google::Cloud::VisionAI::V1::SearchCapability::Type]
485
+ # The search capability to enable.
486
+ class SearchCapability
487
+ include ::Google::Protobuf::MessageExts
488
+ extend ::Google::Protobuf::MessageExts::ClassMethods
489
+
490
+ # Capability to perform different search on assets.
491
+ module Type
492
+ # Unspecified search capability, should never be used.
493
+ TYPE_UNSPECIFIED = 0
494
+
495
+ # Embedding search.
496
+ EMBEDDING_SEARCH = 1
497
+ end
498
+ end
499
+
500
+ # Setting for search capability to enable.
501
+ # @!attribute [rw] search_capabilities
502
+ # @return [::Array<::Google::Cloud::VisionAI::V1::SearchCapability>]
503
+ # The metadata of search capability to enable.
504
+ class SearchCapabilitySetting
505
+ include ::Google::Protobuf::MessageExts
506
+ extend ::Google::Protobuf::MessageExts::ClassMethods
507
+ end
508
+
509
+ # Metadata message for CreateCollectionRequest
510
+ # @!attribute [rw] operation_metadata
511
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
512
+ # Common metadata of the long-running operation.
513
+ class CreateCollectionMetadata
514
+ include ::Google::Protobuf::MessageExts
515
+ extend ::Google::Protobuf::MessageExts::ClassMethods
516
+ end
517
+
518
+ # Request message for CreateCollection.
519
+ # @!attribute [rw] parent
520
+ # @return [::String]
521
+ # Required. The parent resource where this collection will be created.
522
+ # Format: `projects/{project_number}/locations/{location}/corpora/{corpus}`
523
+ # @!attribute [rw] collection
524
+ # @return [::Google::Cloud::VisionAI::V1::Collection]
525
+ # Required. The collection resource to be created.
526
+ # @!attribute [rw] collection_id
527
+ # @return [::String]
528
+ # Optional. The ID to use for the collection, which will become the final
529
+ # component of the resource name if user choose to specify. Otherwise,
530
+ # collection id will be generated by system.
531
+ #
532
+ # This value should be up to 55 characters, and valid characters
533
+ # are /[a-z][0-9]-/. The first character must be a letter, the last could be
534
+ # a letter or a number.
535
+ class CreateCollectionRequest
536
+ include ::Google::Protobuf::MessageExts
537
+ extend ::Google::Protobuf::MessageExts::ClassMethods
538
+ end
539
+
540
+ # Metadata message for DeleteCollectionRequest
541
+ # @!attribute [rw] operation_metadata
542
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
543
+ # Common metadata of the long-running operation.
544
+ class DeleteCollectionMetadata
545
+ include ::Google::Protobuf::MessageExts
546
+ extend ::Google::Protobuf::MessageExts::ClassMethods
547
+ end
548
+
549
+ # Request message for DeleteCollectionRequest.
550
+ # @!attribute [rw] name
551
+ # @return [::String]
552
+ # Required. The name of the collection to delete. Format:
553
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}`
554
+ class DeleteCollectionRequest
555
+ include ::Google::Protobuf::MessageExts
556
+ extend ::Google::Protobuf::MessageExts::ClassMethods
557
+ end
558
+
559
+ # Request message for GetCollectionRequest.
560
+ # @!attribute [rw] name
561
+ # @return [::String]
562
+ # Required. The name of the collection to retrieve. Format:
563
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}`
564
+ class GetCollectionRequest
565
+ include ::Google::Protobuf::MessageExts
566
+ extend ::Google::Protobuf::MessageExts::ClassMethods
567
+ end
568
+
569
+ # Request message for UpdateCollectionRequest.
570
+ # @!attribute [rw] collection
571
+ # @return [::Google::Cloud::VisionAI::V1::Collection]
572
+ # Required. The collection to update.
573
+ #
574
+ # The collection's `name` field is used to identify the collection to be
575
+ # updated. Format:
576
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}`
577
+ # @!attribute [rw] update_mask
578
+ # @return [::Google::Protobuf::FieldMask]
579
+ # The list of fields to be updated.
580
+ # - Unset `update_mask` or set `update_mask` to be a single "*" only will
581
+ # update all updatable fields with the value provided in `collection`.
582
+ # - To update `display_name` value to empty string, set it in the
583
+ # `collection`
584
+ # to empty string, and set `update_mask` with "display_name". Same applies
585
+ # to other updatable string fields in the `collection`.
586
+ class UpdateCollectionRequest
587
+ include ::Google::Protobuf::MessageExts
588
+ extend ::Google::Protobuf::MessageExts::ClassMethods
589
+ end
590
+
591
+ # Request message for ListCollections.
592
+ # @!attribute [rw] parent
593
+ # @return [::String]
594
+ # Required. The parent corpus. Format:
595
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}`
596
+ # @!attribute [rw] page_size
597
+ # @return [::Integer]
598
+ # The maximum number of collections to return. The service may return fewer
599
+ # than this value. If unspecified, at most 50 collections will be returned.
600
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
601
+ # @!attribute [rw] page_token
602
+ # @return [::String]
603
+ # A page token, received from a previous `ListCollectionsRequest` call.
604
+ # Provide this to retrieve the subsequent page.
605
+ #
606
+ # When paginating, all other parameters provided to `ListCollectionsRequest`
607
+ # must match the call that provided the page token.
608
+ class ListCollectionsRequest
609
+ include ::Google::Protobuf::MessageExts
610
+ extend ::Google::Protobuf::MessageExts::ClassMethods
611
+ end
612
+
613
+ # Response message for ListCollections.
614
+ # @!attribute [rw] collections
615
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Collection>]
616
+ # The collections from the specified corpus.
617
+ # @!attribute [rw] next_page_token
618
+ # @return [::String]
619
+ # A token, which can be sent as `page_token` to retrieve the next page.
620
+ # If this field is omitted, there are no subsequent pages.
621
+ class ListCollectionsResponse
622
+ include ::Google::Protobuf::MessageExts
623
+ extend ::Google::Protobuf::MessageExts::ClassMethods
624
+ end
625
+
626
+ # Request message for AddCollectionItem.
627
+ # @!attribute [rw] item
628
+ # @return [::Google::Cloud::VisionAI::V1::CollectionItem]
629
+ # Required. The item to be added.
630
+ class AddCollectionItemRequest
631
+ include ::Google::Protobuf::MessageExts
632
+ extend ::Google::Protobuf::MessageExts::ClassMethods
633
+ end
634
+
635
+ # Response message for AddCollectionItem.
636
+ # @!attribute [rw] item
637
+ # @return [::Google::Cloud::VisionAI::V1::CollectionItem]
638
+ # The item that has already been added.
639
+ class AddCollectionItemResponse
640
+ include ::Google::Protobuf::MessageExts
641
+ extend ::Google::Protobuf::MessageExts::ClassMethods
642
+ end
643
+
644
+ # Request message for RemoveCollectionItem.
645
+ # @!attribute [rw] item
646
+ # @return [::Google::Cloud::VisionAI::V1::CollectionItem]
647
+ # Required. The item to be removed.
648
+ class RemoveCollectionItemRequest
649
+ include ::Google::Protobuf::MessageExts
650
+ extend ::Google::Protobuf::MessageExts::ClassMethods
651
+ end
652
+
653
+ # Request message for RemoveCollectionItem.
654
+ # @!attribute [rw] item
655
+ # @return [::Google::Cloud::VisionAI::V1::CollectionItem]
656
+ # The item that has already been removed.
657
+ class RemoveCollectionItemResponse
658
+ include ::Google::Protobuf::MessageExts
659
+ extend ::Google::Protobuf::MessageExts::ClassMethods
660
+ end
661
+
662
+ # Request message for ViewCollectionItems.
663
+ # @!attribute [rw] collection
664
+ # @return [::String]
665
+ # Required. The collection to view. Format:
666
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}`
667
+ # @!attribute [rw] page_size
668
+ # @return [::Integer]
669
+ # The maximum number of collections to return. The service may return fewer
670
+ # than this value. If unspecified, at most 50 collections will be returned.
671
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
672
+ # @!attribute [rw] page_token
673
+ # @return [::String]
674
+ # A page token, received from a previous `ViewCollectionItemsRequest` call.
675
+ # Provide this to retrieve the subsequent page.
676
+ #
677
+ # When paginating, all other parameters provided to
678
+ # `ViewCollectionItemsRequest` must match the call that provided the page
679
+ # token.
680
+ class ViewCollectionItemsRequest
681
+ include ::Google::Protobuf::MessageExts
682
+ extend ::Google::Protobuf::MessageExts::ClassMethods
683
+ end
684
+
685
+ # Response message for ViewCollectionItems.
686
+ # @!attribute [rw] items
687
+ # @return [::Array<::Google::Cloud::VisionAI::V1::CollectionItem>]
688
+ # The items from the specified collection.
689
+ # @!attribute [rw] next_page_token
690
+ # @return [::String]
691
+ # A token, which can be sent as `page_token` to retrieve the next page.
692
+ # If this field is omitted, there are no subsequent pages.
693
+ class ViewCollectionItemsResponse
694
+ include ::Google::Protobuf::MessageExts
695
+ extend ::Google::Protobuf::MessageExts::ClassMethods
696
+ end
697
+
698
+ # A collection is a resource in a corpus. It serves as a container of
699
+ # references to original resources.
700
+ # @!attribute [r] name
701
+ # @return [::String]
702
+ # Output only. Resource name of the collection. Format:
703
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}`
704
+ # @!attribute [rw] display_name
705
+ # @return [::String]
706
+ # Optional. The collection name for displaying.
707
+ # The name can be up to 256 characters long.
708
+ # @!attribute [rw] description
709
+ # @return [::String]
710
+ # Optional. Description of the collection. Can be up to 25000 characters
711
+ # long.
712
+ class Collection
713
+ include ::Google::Protobuf::MessageExts
714
+ extend ::Google::Protobuf::MessageExts::ClassMethods
715
+ end
716
+
717
+ # A CollectionItem is an item in a collection.
718
+ # Each item is a reference to the original resource in a collection.
719
+ # @!attribute [rw] collection
720
+ # @return [::String]
721
+ # Required. The collection name that this item belongs to. Format:
722
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}`
723
+ # @!attribute [rw] type
724
+ # @return [::Google::Cloud::VisionAI::V1::CollectionItem::Type]
725
+ # Required. The type of item.
726
+ # @!attribute [rw] item_resource
727
+ # @return [::String]
728
+ # Required. The name of the CollectionItem. Its format depends on the `type`
729
+ # above. For ASSET:
730
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}`
731
+ class CollectionItem
732
+ include ::Google::Protobuf::MessageExts
733
+ extend ::Google::Protobuf::MessageExts::ClassMethods
734
+
735
+ # CollectionItem types.
736
+ module Type
737
+ # The default type of item should never happen.
738
+ TYPE_UNSPECIFIED = 0
739
+
740
+ # Asset type item.
741
+ ASSET = 1
742
+ end
743
+ end
744
+
745
+ # Message for creating an Index.
746
+ # @!attribute [rw] parent
747
+ # @return [::String]
748
+ # Required. Value for the parent. The resource name of the Corpus under which
749
+ # this index is created. Format:
750
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}`
751
+ # @!attribute [rw] index_id
752
+ # @return [::String]
753
+ # Optional. The ID for the index. This will become the final resource name
754
+ # for the index. If the user does not specify this value, it will be
755
+ # generated by system.
756
+ #
757
+ # This value should be up to 63 characters, and valid characters
758
+ # are /[a-z][0-9]-/. The first character must be a letter, the last could be
759
+ # a letter or a number.
760
+ # @!attribute [rw] index
761
+ # @return [::Google::Cloud::VisionAI::V1::Index]
762
+ # Required. The index being created.
763
+ class CreateIndexRequest
764
+ include ::Google::Protobuf::MessageExts
765
+ extend ::Google::Protobuf::MessageExts::ClassMethods
766
+ end
767
+
768
+ # Metadata message for CreateIndexRequest
769
+ # @!attribute [rw] operation_metadata
770
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
771
+ # Common metadata of the long-running operation.
772
+ class CreateIndexMetadata
773
+ include ::Google::Protobuf::MessageExts
774
+ extend ::Google::Protobuf::MessageExts::ClassMethods
775
+ end
776
+
777
+ # Request message for UpdateIndex.
778
+ # @!attribute [rw] index
779
+ # @return [::Google::Cloud::VisionAI::V1::Index]
780
+ # Required. The resource being updated.
781
+ # @!attribute [rw] update_mask
782
+ # @return [::Google::Protobuf::FieldMask]
783
+ # Required. Field mask is used to specify the fields to be overwritten in the
784
+ # Index resource by the update. The fields specified in the update_mask are
785
+ # relative to the resource, not the full request. A field of the resource
786
+ # will be overwritten if it is in the mask. Empty field mask is not allowed.
787
+ # If the mask is "*", it triggers a full update of the index, and also a
788
+ # whole rebuild of index data.
789
+ class UpdateIndexRequest
790
+ include ::Google::Protobuf::MessageExts
791
+ extend ::Google::Protobuf::MessageExts::ClassMethods
792
+ end
793
+
794
+ # Metadata message for UpdateIndexRequest
795
+ # @!attribute [rw] operation_metadata
796
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
797
+ # Common metadata of the long-running operation.
798
+ class UpdateIndexMetadata
799
+ include ::Google::Protobuf::MessageExts
800
+ extend ::Google::Protobuf::MessageExts::ClassMethods
801
+ end
802
+
803
+ # Request message for getting an Index.
804
+ # @!attribute [rw] name
805
+ # @return [::String]
806
+ # Required. Name of the Index resource.
807
+ # Format:
808
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}`
809
+ class GetIndexRequest
810
+ include ::Google::Protobuf::MessageExts
811
+ extend ::Google::Protobuf::MessageExts::ClassMethods
812
+ end
813
+
814
+ # Request message for listing Indexes.
815
+ # @!attribute [rw] parent
816
+ # @return [::String]
817
+ # Required. The parent corpus that owns this collection of indexes.
818
+ # Format:
819
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}`
820
+ # @!attribute [rw] page_size
821
+ # @return [::Integer]
822
+ # The maximum number of indexes to return. The service may return fewer than
823
+ # this value.
824
+ # If unspecified, at most 50 indexes will be returned.
825
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
826
+ # @!attribute [rw] page_token
827
+ # @return [::String]
828
+ # A page token, received from a previous `ListIndexes` call.
829
+ # Provide this to retrieve the subsequent page.
830
+ #
831
+ # When paginating, all other parameters provided to `ListIndexes` must match
832
+ # the call that provided the page token.
833
+ class ListIndexesRequest
834
+ include ::Google::Protobuf::MessageExts
835
+ extend ::Google::Protobuf::MessageExts::ClassMethods
836
+ end
837
+
838
+ # Response message for ListIndexes.
839
+ # @!attribute [rw] indexes
840
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Index>]
841
+ # The indexes under the specified corpus.
842
+ # @!attribute [rw] next_page_token
843
+ # @return [::String]
844
+ # A token, which can be sent as `page_token` to retrieve the next page.
845
+ # If this field is omitted, there are no subsequent pages.
846
+ class ListIndexesResponse
847
+ include ::Google::Protobuf::MessageExts
848
+ extend ::Google::Protobuf::MessageExts::ClassMethods
849
+ end
850
+
851
+ # Request message for DeleteIndex.
852
+ # @!attribute [rw] name
853
+ # @return [::String]
854
+ # Required. The name of the index to delete.
855
+ # Format:
856
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}`
857
+ class DeleteIndexRequest
858
+ include ::Google::Protobuf::MessageExts
859
+ extend ::Google::Protobuf::MessageExts::ClassMethods
860
+ end
861
+
862
+ # Metadata message for DeleteIndexRequest
863
+ class DeleteIndexMetadata
864
+ include ::Google::Protobuf::MessageExts
865
+ extend ::Google::Protobuf::MessageExts::ClassMethods
866
+ end
867
+
868
+ # An Index is a resource in Corpus. It contains an indexed version of the
869
+ # assets and annotations. When deployed to an endpoint, it will allow users to
870
+ # search the Index.
871
+ # @!attribute [rw] entire_corpus
872
+ # @return [::Boolean]
873
+ # Include all assets under the corpus.
874
+ # @!attribute [r] name
875
+ # @return [::String]
876
+ # Output only. Resource name of the Index resource.
877
+ # Format:
878
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/indexes/{index_id}`
879
+ # @!attribute [rw] display_name
880
+ # @return [::String]
881
+ # Optional. Optional user-specified display name of the index.
882
+ # @!attribute [rw] description
883
+ # @return [::String]
884
+ # Optional. Optional description of the index.
885
+ # @!attribute [r] state
886
+ # @return [::Google::Cloud::VisionAI::V1::Index::State]
887
+ # Output only. State of the index.
888
+ # @!attribute [r] create_time
889
+ # @return [::Google::Protobuf::Timestamp]
890
+ # Output only. The create timestamp.
891
+ # @!attribute [r] update_time
892
+ # @return [::Google::Protobuf::Timestamp]
893
+ # Output only. The update timestamp.
894
+ # @!attribute [r] deployed_indexes
895
+ # @return [::Array<::Google::Cloud::VisionAI::V1::DeployedIndexReference>]
896
+ # Output only. References to the deployed index instance.
897
+ # Index of VIDEO_ON_DEMAND corpus can have at most one deployed index.
898
+ # Index of IMAGE corpus can have multiple deployed indexes.
899
+ # @!attribute [r] satisfies_pzs
900
+ # @return [::Boolean]
901
+ # Output only. This boolean field is only set for projects that have Physical
902
+ # Zone Separation enabled via an Org Policy constraint. It is set to true
903
+ # when the index is a valid zone separated index and false if it isn't.
904
+ # @!attribute [r] satisfies_pzi
905
+ # @return [::Boolean]
906
+ # Output only. This boolean field is only set for projects that have Physical
907
+ # Zone Isolation enabled via an Org Policy constraint. It is set to true when
908
+ # the index is a valid zone isolated index and false if it isn't.
909
+ class Index
910
+ include ::Google::Protobuf::MessageExts
911
+ extend ::Google::Protobuf::MessageExts::ClassMethods
912
+
913
+ # Enum representing the different states through which an Index might cycle
914
+ # during its lifetime.
915
+ module State
916
+ # The default value. Should not be used.
917
+ STATE_UNSPECIFIED = 0
918
+
919
+ # State CREATING.
920
+ CREATING = 1
921
+
922
+ # State CREATED.
923
+ CREATED = 2
924
+
925
+ # State UPDATING.
926
+ UPDATING = 3
927
+ end
928
+ end
929
+
930
+ # Points to a DeployedIndex.
931
+ # @!attribute [rw] index_endpoint
932
+ # @return [::String]
933
+ # Immutable. A resource name of the IndexEndpoint.
934
+ class DeployedIndexReference
935
+ include ::Google::Protobuf::MessageExts
936
+ extend ::Google::Protobuf::MessageExts::ClassMethods
937
+ end
938
+
939
+ # Corpus is a set of media contents for management.
940
+ # Within a corpus, media shares the same data schema. Search is also restricted
941
+ # within a single corpus.
942
+ # @!attribute [rw] name
943
+ # @return [::String]
944
+ # Resource name of the corpus.
945
+ # Format:
946
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}`
947
+ # @!attribute [rw] display_name
948
+ # @return [::String]
949
+ # Required. The corpus name to shown in the UI. The name can be up to 32
950
+ # characters long.
951
+ # @!attribute [rw] description
952
+ # @return [::String]
953
+ # Optional. Description of the corpus. Can be up to 25000 characters long.
954
+ # @!attribute [rw] default_ttl
955
+ # @return [::Google::Protobuf::Duration]
956
+ # Optional. The default TTL value for all assets under the corpus without a
957
+ # asset level user-defined TTL. For STREAM_VIDEO type corpora, this is
958
+ # required and the maximum allowed
959
+ # default_ttl is 10 years.
960
+ # @!attribute [rw] type
961
+ # @return [::Google::Cloud::VisionAI::V1::Corpus::Type]
962
+ # Optional. Type of the asset inside corpus.
963
+ # @!attribute [rw] search_capability_setting
964
+ # @return [::Google::Cloud::VisionAI::V1::SearchCapabilitySetting]
965
+ # Default search capability setting on corpus level.
966
+ # @!attribute [r] satisfies_pzs
967
+ # @return [::Boolean]
968
+ # Output only. This boolean field is only set for projects that have Physical
969
+ # Zone Separation enabled via an Org Policy constraint. It is set to true
970
+ # when the corpus is a valid zone separated corpus and false if it isn't.
971
+ # @!attribute [r] satisfies_pzi
972
+ # @return [::Boolean]
973
+ # Output only. This boolean field is only set for projects that have Physical
974
+ # Zone Isolation enabled via an Org Policy constraint. It is set to true when
975
+ # the corpus is a valid zone isolated corpus and false if it isn't.
976
+ class Corpus
977
+ include ::Google::Protobuf::MessageExts
978
+ extend ::Google::Protobuf::MessageExts::ClassMethods
979
+
980
+ # Type of the asset inside the corpus.
981
+ module Type
982
+ # The default type, not supposed to be used. If this default type is used,
983
+ # the corpus will be created as STREAM_VIDEO corpus.
984
+ TYPE_UNSPECIFIED = 0
985
+
986
+ # Asset is a live streaming video.
987
+ STREAM_VIDEO = 1
988
+
989
+ # Asset is an image.
990
+ IMAGE = 2
991
+
992
+ # Asset is a batch video.
993
+ VIDEO_ON_DEMAND = 3
994
+ end
995
+ end
996
+
997
+ # Request message for GetCorpus.
998
+ # @!attribute [rw] name
999
+ # @return [::String]
1000
+ # Required. The resource name of the corpus to retrieve.
1001
+ class GetCorpusRequest
1002
+ include ::Google::Protobuf::MessageExts
1003
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1004
+ end
1005
+
1006
+ # Request message for UpdateCorpus.
1007
+ # @!attribute [rw] corpus
1008
+ # @return [::Google::Cloud::VisionAI::V1::Corpus]
1009
+ # Required. The corpus which replaces the resource on the server.
1010
+ # @!attribute [rw] update_mask
1011
+ # @return [::Google::Protobuf::FieldMask]
1012
+ # The list of fields to be updated.
1013
+ class UpdateCorpusRequest
1014
+ include ::Google::Protobuf::MessageExts
1015
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1016
+ end
1017
+
1018
+ # Request message for ListCorpora.
1019
+ # @!attribute [rw] parent
1020
+ # @return [::String]
1021
+ # Required. The resource name of the project from which to list corpora.
1022
+ # @!attribute [rw] page_size
1023
+ # @return [::Integer]
1024
+ # Requested page size. API may return fewer results than requested.
1025
+ # If negative, INVALID_ARGUMENT error will be returned.
1026
+ # If unspecified or 0, API will pick a default size, which is 10.
1027
+ # If the requested page size is larger than the maximum size, API will pick
1028
+ # use the maximum size, which is 20.
1029
+ # @!attribute [rw] page_token
1030
+ # @return [::String]
1031
+ # A token identifying a page of results for the server to return.
1032
+ # Typically obtained via
1033
+ # {::Google::Cloud::VisionAI::V1::ListCorporaResponse#next_page_token ListCorporaResponse.next_page_token}
1034
+ # of the previous
1035
+ # {::Google::Cloud::VisionAI::V1::Warehouse::Client#list_corpora Warehouse.ListCorpora}
1036
+ # call.
1037
+ # @!attribute [rw] filter
1038
+ # @return [::String]
1039
+ # The filter applied to the returned corpora list.
1040
+ # Only the following restrictions are supported:
1041
+ # `type=<Corpus.Type>`,
1042
+ # `type!=<Corpus.Type>`.
1043
+ class ListCorporaRequest
1044
+ include ::Google::Protobuf::MessageExts
1045
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1046
+ end
1047
+
1048
+ # Response message for ListCorpora.
1049
+ # @!attribute [rw] corpora
1050
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Corpus>]
1051
+ # The corpora in the project.
1052
+ # @!attribute [rw] next_page_token
1053
+ # @return [::String]
1054
+ # A token to retrieve next page of results.
1055
+ # Pass to
1056
+ # {::Google::Cloud::VisionAI::V1::ListCorporaRequest#page_token ListCorporaRequest.page_token}
1057
+ # to obtain that page.
1058
+ class ListCorporaResponse
1059
+ include ::Google::Protobuf::MessageExts
1060
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1061
+ end
1062
+
1063
+ # Request message for DeleteCorpus.
1064
+ # @!attribute [rw] name
1065
+ # @return [::String]
1066
+ # Required. The resource name of the corpus to delete.
1067
+ class DeleteCorpusRequest
1068
+ include ::Google::Protobuf::MessageExts
1069
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1070
+ end
1071
+
1072
+ # Request message for AnalyzeCorpus.
1073
+ # @!attribute [rw] name
1074
+ # @return [::String]
1075
+ # Required. The parent corpus resource where the assets will be analyzed.
1076
+ # Format:
1077
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}`
1078
+ class AnalyzeCorpusRequest
1079
+ include ::Google::Protobuf::MessageExts
1080
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1081
+ end
1082
+
1083
+ # The metadata message for AnalyzeCorpus LRO.
1084
+ # @!attribute [rw] metadata
1085
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
1086
+ # The metadata of the operation.
1087
+ class AnalyzeCorpusMetadata
1088
+ include ::Google::Protobuf::MessageExts
1089
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1090
+ end
1091
+
1092
+ # The response message for AnalyzeCorpus LRO.
1093
+ class AnalyzeCorpusResponse
1094
+ include ::Google::Protobuf::MessageExts
1095
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1096
+ end
1097
+
1098
+ # Request message for CreateDataSchema.
1099
+ # @!attribute [rw] parent
1100
+ # @return [::String]
1101
+ # Required. The parent resource where this data schema will be created.
1102
+ # Format:
1103
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}`
1104
+ # @!attribute [rw] data_schema
1105
+ # @return [::Google::Cloud::VisionAI::V1::DataSchema]
1106
+ # Required. The data schema to create.
1107
+ class CreateDataSchemaRequest
1108
+ include ::Google::Protobuf::MessageExts
1109
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1110
+ end
1111
+
1112
+ # Data schema indicates how the user specified annotation is interpreted in the
1113
+ # system.
1114
+ # @!attribute [rw] name
1115
+ # @return [::String]
1116
+ # Resource name of the data schema in the form of:
1117
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/dataSchemas/{data_schema}`
1118
+ # where \\{data_schema} part should be the same as the `key` field below.
1119
+ # @!attribute [rw] key
1120
+ # @return [::String]
1121
+ # Required. The key of this data schema. This key should be matching the key
1122
+ # of user specified annotation and unique inside corpus. This value can be up
1123
+ # to 63 characters, and valid characters are /[a-z][0-9]-/. The first
1124
+ # character must be a letter, the last could be a letter or a number.
1125
+ # @!attribute [rw] schema_details
1126
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails]
1127
+ # The schema details mapping to the key.
1128
+ class DataSchema
1129
+ include ::Google::Protobuf::MessageExts
1130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1131
+ end
1132
+
1133
+ # Data schema details indicates the data type and the data struct corresponding
1134
+ # to the key of user specified annotation.
1135
+ # @!attribute [rw] type
1136
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::DataType]
1137
+ # Type of the annotation.
1138
+ # @!attribute [rw] proto_any_config
1139
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::ProtoAnyConfig]
1140
+ # Config for protobuf any type.
1141
+ # @!attribute [rw] list_config
1142
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::ListConfig]
1143
+ # Config for List data type.
1144
+ # @!attribute [rw] customized_struct_config
1145
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::CustomizedStructConfig]
1146
+ # Config for CustomizedStruct data type.
1147
+ # @!attribute [rw] granularity
1148
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::Granularity]
1149
+ # The granularity associated with this DataSchema.
1150
+ # @!attribute [rw] search_strategy
1151
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::SearchStrategy]
1152
+ # The search strategy to be applied on the `key` above.
1153
+ class DataSchemaDetails
1154
+ include ::Google::Protobuf::MessageExts
1155
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1156
+
1157
+ # The configuration for `PROTO_ANY` data type.
1158
+ # @!attribute [rw] type_uri
1159
+ # @return [::String]
1160
+ # The type URI of the proto message.
1161
+ class ProtoAnyConfig
1162
+ include ::Google::Protobuf::MessageExts
1163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1164
+ end
1165
+
1166
+ # The configuration for `LIST` data type.
1167
+ # @!attribute [rw] value_schema
1168
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails]
1169
+ # The value's data schema in the list.
1170
+ class ListConfig
1171
+ include ::Google::Protobuf::MessageExts
1172
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1173
+ end
1174
+
1175
+ # The configuration for `CUSTOMIZED_STRUCT` data type.
1176
+ # @!attribute [rw] field_schemas
1177
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VisionAI::V1::DataSchemaDetails}]
1178
+ # Direct child elements data schemas.
1179
+ class CustomizedStructConfig
1180
+ include ::Google::Protobuf::MessageExts
1181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1182
+
1183
+ # @!attribute [rw] key
1184
+ # @return [::String]
1185
+ # @!attribute [rw] value
1186
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails]
1187
+ class FieldSchemasEntry
1188
+ include ::Google::Protobuf::MessageExts
1189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1190
+ end
1191
+ end
1192
+
1193
+ # The search strategy for annotations value of the `key`.
1194
+ # @!attribute [rw] search_strategy_type
1195
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::SearchStrategy::SearchStrategyType]
1196
+ # The type of search strategy to be applied on the `key` above.
1197
+ # The allowed `search_strategy_type` is different for different data types,
1198
+ # which is documented in the DataSchemaDetails.DataType. Specifying
1199
+ # unsupported `search_strategy_type` for data types will result in
1200
+ # INVALID_ARGUMENT error.
1201
+ # @!attribute [rw] confidence_score_index_config
1202
+ # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::SearchStrategy::ConfidenceScoreIndexConfig]
1203
+ # Optional. Configs the path to the confidence score, and the threshold.
1204
+ # Only if the score is greater than the threshold, current field will be
1205
+ # built into the index. Only applies to leaf nodes using EXACT_SEARCH or
1206
+ # SMART_SEARCH.
1207
+ class SearchStrategy
1208
+ include ::Google::Protobuf::MessageExts
1209
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1210
+
1211
+ # Filter on the confidence score. Only adds to index if the confidence
1212
+ # score is higher than the threshold.
1213
+ # Example data schema:
1214
+ # key: "name-confidence-pair"
1215
+ # type: CUSTOMIZED_STRUCT
1216
+ # granularity: GRANULARITY_PARTITION_LEVEL
1217
+ # customized_struct_config {
1218
+ # field_schemas {
1219
+ # key: "name"
1220
+ # type: STRING
1221
+ # granularity: GRANULARITY_PARTITION_LEVEL
1222
+ # search_strategy {
1223
+ # search_strategy_type: SMART_SEARCH
1224
+ # confidence_score_index_config {
1225
+ # field_path: "name-confidence-pair.score"
1226
+ # threshold: 0.6
1227
+ # }
1228
+ # }
1229
+ # }
1230
+ # field_schemas {
1231
+ # key: "score"
1232
+ # type: FLOAT
1233
+ # granularity: GRANULARITY_PARTITION_LEVEL
1234
+ # }
1235
+ # }
1236
+ # This means only "name" with score > 0.6 will be indexed.
1237
+ # @!attribute [rw] field_path
1238
+ # @return [::String]
1239
+ # Required. The path to the confidence score field. It is a string that
1240
+ # concatenates all the data schema keys along the path. See the example
1241
+ # above. If the data schema contains LIST, use '_ENTRIES' to concatenate.
1242
+ # Example data schema contains a list:
1243
+ # "key": "list-name-score",
1244
+ # "schemaDetails": {
1245
+ # "type": "LIST",
1246
+ # "granularity": "GRANULARITY_PARTITION_LEVEL",
1247
+ # "listConfig": {
1248
+ # "valueSchema": {
1249
+ # "type": "CUSTOMIZED_STRUCT",
1250
+ # "granularity": "GRANULARITY_PARTITION_LEVEL",
1251
+ # "customizedStructConfig": {
1252
+ # "fieldSchemas": {
1253
+ # "name": {
1254
+ # "type": "STRING",
1255
+ # "granularity": "GRANULARITY_PARTITION_LEVEL",
1256
+ # "searchStrategy": {
1257
+ # "searchStrategyType": "SMART_SEARCH"
1258
+ # "confidence_score_index_config": {
1259
+ # "field_path": "list-name-score._ENTRIES.score",
1260
+ # "threshold": "0.9",
1261
+ # }
1262
+ # }
1263
+ # },
1264
+ # "score": {
1265
+ # "type": "FLOAT",
1266
+ # "granularity": "GRANULARITY_PARTITION_LEVEL",
1267
+ # }
1268
+ # }
1269
+ # }
1270
+ # }
1271
+ # }
1272
+ # }
1273
+ # @!attribute [rw] threshold
1274
+ # @return [::Float]
1275
+ # Required. The threshold.
1276
+ class ConfidenceScoreIndexConfig
1277
+ include ::Google::Protobuf::MessageExts
1278
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1279
+ end
1280
+
1281
+ # The types of search strategies to be applied on the annotation key.
1282
+ module SearchStrategyType
1283
+ # Annotatation values of the `key` above will not be searchable.
1284
+ NO_SEARCH = 0
1285
+
1286
+ # When searching with `key`, the value must be exactly as the annotation
1287
+ # value that has been ingested.
1288
+ EXACT_SEARCH = 1
1289
+
1290
+ # When searching with `key`, Warehouse will perform broad search based on
1291
+ # semantic of the annotation value.
1292
+ SMART_SEARCH = 2
1293
+ end
1294
+ end
1295
+
1296
+ # Data type of the annotation.
1297
+ module DataType
1298
+ # Unspecified type.
1299
+ DATA_TYPE_UNSPECIFIED = 0
1300
+
1301
+ # Integer type.
1302
+ # Allowed search strategies:
1303
+ # - DataSchema.SearchStrategy.NO_SEARCH,
1304
+ # - DataSchema.SearchStrategy.EXACT_SEARCH.
1305
+ # Supports query by IntRangeArray.
1306
+ INTEGER = 1
1307
+
1308
+ # Float type.
1309
+ # Allowed search strategies:
1310
+ # - DataSchema.SearchStrategy.NO_SEARCH,
1311
+ # - DataSchema.SearchStrategy.EXACT_SEARCH.
1312
+ # Supports query by FloatRangeArray.
1313
+ FLOAT = 2
1314
+
1315
+ # String type.
1316
+ # Allowed search strategies:
1317
+ # - DataSchema.SearchStrategy.NO_SEARCH,
1318
+ # - DataSchema.SearchStrategy.EXACT_SEARCH,
1319
+ # - DataSchema.SearchStrategy.SMART_SEARCH.
1320
+ STRING = 3
1321
+
1322
+ # Supported formats:
1323
+ # %Y-%m-%dT%H:%M:%E*S%E*z (absl::RFC3339_full)
1324
+ # %Y-%m-%dT%H:%M:%E*S
1325
+ # %Y-%m-%dT%H:%M%E*z
1326
+ # %Y-%m-%dT%H:%M
1327
+ # %Y-%m-%dT%H%E*z
1328
+ # %Y-%m-%dT%H
1329
+ # %Y-%m-%d%E*z
1330
+ # %Y-%m-%d
1331
+ # %Y-%m
1332
+ # %Y
1333
+ # Allowed search strategies:
1334
+ # - DataSchema.SearchStrategy.NO_SEARCH,
1335
+ # - DataSchema.SearchStrategy.EXACT_SEARCH.
1336
+ # Supports query by DateTimeRangeArray.
1337
+ DATETIME = 5
1338
+
1339
+ # Geo coordinate type.
1340
+ # Allowed search strategies:
1341
+ # - DataSchema.SearchStrategy.NO_SEARCH,
1342
+ # - DataSchema.SearchStrategy.EXACT_SEARCH.
1343
+ # Supports query by GeoLocationArray.
1344
+ GEO_COORDINATE = 7
1345
+
1346
+ # Type to pass any proto as available in annotations.proto. Only use
1347
+ # internally.
1348
+ # Available proto types and its corresponding search behavior:
1349
+ # - ImageObjectDetectionPredictionResult, allows SMART_SEARCH on
1350
+ # display_names and NO_SEARCH.
1351
+ # - ClassificationPredictionResult, allows SMART_SEARCH on display_names
1352
+ # and NO_SEARCH.
1353
+ # - ImageSegmentationPredictionResult, allows NO_SEARCH.
1354
+ # - VideoActionRecognitionPredictionResult, allows SMART_SEARCH on
1355
+ # display_name and NO_SEARCH.
1356
+ # - VideoObjectTrackingPredictionResult, allows SMART_SEARCH on
1357
+ # display_name and NO_SEARCH.
1358
+ # - VideoClassificationPredictionResult, allows SMART_SEARCH on
1359
+ # display_name and NO_SEARCH.
1360
+ # - OccupancyCountingPredictionResult, allows EXACT_SEARCH on
1361
+ # stats.full_frame_count.count and NO_SEARCH.
1362
+ # - ObjectDetectionPredictionResult, allows SMART_SEARCH on
1363
+ # identified_boxes.entity.label_string and NO_SEARCH.
1364
+ PROTO_ANY = 8
1365
+
1366
+ # Boolean type.
1367
+ # Allowed search strategies:
1368
+ # - DataSchema.SearchStrategy.NO_SEARCH,
1369
+ # - DataSchema.SearchStrategy.EXACT_SEARCH.
1370
+ BOOLEAN = 9
1371
+
1372
+ # List type.
1373
+ # - Each element in the list must be of the exact same data schema;
1374
+ # otherwise, they are invalid arguments.
1375
+ # - List level cannot set search strategy. Leaf node level can do.
1376
+ # - Elements cannot be another list (no list of list).
1377
+ # - Elements can be CUSTOMIZED_STRUCT, and max number of layers is 10.
1378
+ LIST = 10
1379
+
1380
+ # Struct type.
1381
+ # - SearchStrategy:
1382
+ # * Data Schema that's CUSTOMIZED_STRUCT cannot set search strategy.
1383
+ # * Leaf-node elements allow setting search strategy based on element's
1384
+ # SearchStrategy restriction.
1385
+ # - Nested layer restrictions:
1386
+ # * Data Schema that's CUSTOMIZED_STRUCT allows its fields to be of
1387
+ # CUSTOMIZED_STRUCT as well, but the overall layers restriction is 10.
1388
+ CUSTOMIZED_STRUCT = 6
1389
+ end
1390
+
1391
+ # The granularity of annotations under this DataSchema.
1392
+ module Granularity
1393
+ # Unspecified granularity.
1394
+ GRANULARITY_UNSPECIFIED = 0
1395
+
1396
+ # Asset-level granularity (annotations must not contain partition info).
1397
+ GRANULARITY_ASSET_LEVEL = 1
1398
+
1399
+ # Partition-level granularity (annotations must contain partition info).
1400
+ GRANULARITY_PARTITION_LEVEL = 2
1401
+ end
1402
+ end
1403
+
1404
+ # Request message for UpdateDataSchema.
1405
+ # @!attribute [rw] data_schema
1406
+ # @return [::Google::Cloud::VisionAI::V1::DataSchema]
1407
+ # Required. The data schema's `name` field is used to identify the data
1408
+ # schema to be updated. Format:
1409
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/dataSchemas/{data_schema}`
1410
+ # @!attribute [rw] update_mask
1411
+ # @return [::Google::Protobuf::FieldMask]
1412
+ # The list of fields to be updated.
1413
+ class UpdateDataSchemaRequest
1414
+ include ::Google::Protobuf::MessageExts
1415
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1416
+ end
1417
+
1418
+ # Request message for GetDataSchema.
1419
+ # @!attribute [rw] name
1420
+ # @return [::String]
1421
+ # Required. The name of the data schema to retrieve.
1422
+ # Format:
1423
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/dataSchemas/{data_schema_id}`
1424
+ class GetDataSchemaRequest
1425
+ include ::Google::Protobuf::MessageExts
1426
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1427
+ end
1428
+
1429
+ # Request message for DeleteDataSchema.
1430
+ # @!attribute [rw] name
1431
+ # @return [::String]
1432
+ # Required. The name of the data schema to delete.
1433
+ # Format:
1434
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/dataSchemas/{data_schema_id}`
1435
+ class DeleteDataSchemaRequest
1436
+ include ::Google::Protobuf::MessageExts
1437
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1438
+ end
1439
+
1440
+ # Request message for ListDataSchemas.
1441
+ # @!attribute [rw] parent
1442
+ # @return [::String]
1443
+ # Required. The parent, which owns this collection of data schemas.
1444
+ # Format:
1445
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}`
1446
+ # @!attribute [rw] page_size
1447
+ # @return [::Integer]
1448
+ # The maximum number of data schemas to return. The service may return fewer
1449
+ # than this value. If unspecified, at most 50 data schemas will be returned.
1450
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
1451
+ # @!attribute [rw] page_token
1452
+ # @return [::String]
1453
+ # A page token, received from a previous `ListDataSchemas` call.
1454
+ # Provide this to retrieve the subsequent page.
1455
+ #
1456
+ # When paginating, all other parameters provided to `ListDataSchemas` must
1457
+ # match the call that provided the page token.
1458
+ class ListDataSchemasRequest
1459
+ include ::Google::Protobuf::MessageExts
1460
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1461
+ end
1462
+
1463
+ # Response message for ListDataSchemas.
1464
+ # @!attribute [rw] data_schemas
1465
+ # @return [::Array<::Google::Cloud::VisionAI::V1::DataSchema>]
1466
+ # The data schemas from the specified corpus.
1467
+ # @!attribute [rw] next_page_token
1468
+ # @return [::String]
1469
+ # A token, which can be sent as `page_token` to retrieve the next page.
1470
+ # If this field is omitted, there are no subsequent pages.
1471
+ class ListDataSchemasResponse
1472
+ include ::Google::Protobuf::MessageExts
1473
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1474
+ end
1475
+
1476
+ # Request message for CreateAnnotation.
1477
+ # @!attribute [rw] parent
1478
+ # @return [::String]
1479
+ # Required. The parent resource where this annotation will be created.
1480
+ # Format:
1481
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
1482
+ # @!attribute [rw] annotation
1483
+ # @return [::Google::Cloud::VisionAI::V1::Annotation]
1484
+ # Required. The annotation to create.
1485
+ # @!attribute [rw] annotation_id
1486
+ # @return [::String]
1487
+ # Optional. The ID to use for the annotation, which will become the final
1488
+ # component of the annotation's resource name if user choose to specify.
1489
+ # Otherwise, annotation id will be generated by system.
1490
+ #
1491
+ # This value should be up to 63 characters, and valid characters
1492
+ # are /[a-z][0-9]-/. The first character must be a letter, the last could be
1493
+ # a letter or a number.
1494
+ class CreateAnnotationRequest
1495
+ include ::Google::Protobuf::MessageExts
1496
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1497
+ end
1498
+
1499
+ # An annotation is a resource in asset. It represents a key-value mapping of
1500
+ # content in asset.
1501
+ # @!attribute [rw] name
1502
+ # @return [::String]
1503
+ # Resource name of the annotation.
1504
+ # Format:
1505
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}/annotations/{annotation}`
1506
+ # @!attribute [rw] user_specified_annotation
1507
+ # @return [::Google::Cloud::VisionAI::V1::UserSpecifiedAnnotation]
1508
+ # User provided annotation.
1509
+ class Annotation
1510
+ include ::Google::Protobuf::MessageExts
1511
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1512
+ end
1513
+
1514
+ # Annotation provided by users.
1515
+ # @!attribute [rw] key
1516
+ # @return [::String]
1517
+ # Required. Key of the annotation. The key must be set with type by
1518
+ # CreateDataSchema.
1519
+ # @!attribute [rw] value
1520
+ # @return [::Google::Cloud::VisionAI::V1::AnnotationValue]
1521
+ # Value of the annotation. The value must be able to convert
1522
+ # to the type according to the data schema.
1523
+ # @!attribute [rw] partition
1524
+ # @return [::Google::Cloud::VisionAI::V1::Partition]
1525
+ # Partition information in time and space for the sub-asset level annotation.
1526
+ class UserSpecifiedAnnotation
1527
+ include ::Google::Protobuf::MessageExts
1528
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1529
+ end
1530
+
1531
+ # Location Coordinate Representation
1532
+ # @!attribute [rw] latitude
1533
+ # @return [::Float]
1534
+ # Latitude Coordinate. Degrees [-90 .. 90]
1535
+ # @!attribute [rw] longitude
1536
+ # @return [::Float]
1537
+ # Longitude Coordinate. Degrees [-180 .. 180]
1538
+ class GeoCoordinate
1539
+ include ::Google::Protobuf::MessageExts
1540
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1541
+ end
1542
+
1543
+ # Value of annotation, including all types available in data schema.
1544
+ # @!attribute [rw] int_value
1545
+ # @return [::Integer]
1546
+ # Value of int type annotation.
1547
+ # @!attribute [rw] float_value
1548
+ # @return [::Float]
1549
+ # Value of float type annotation.
1550
+ # @!attribute [rw] str_value
1551
+ # @return [::String]
1552
+ # Value of string type annotation.
1553
+ # @!attribute [rw] datetime_value
1554
+ # @return [::String]
1555
+ # Value of date time type annotation.
1556
+ # @!attribute [rw] geo_coordinate
1557
+ # @return [::Google::Cloud::VisionAI::V1::GeoCoordinate]
1558
+ # Value of geo coordinate type annotation.
1559
+ # @!attribute [rw] proto_any_value
1560
+ # @return [::Google::Protobuf::Any]
1561
+ # Value of any proto value.
1562
+ # @!attribute [rw] bool_value
1563
+ # @return [::Boolean]
1564
+ # Value of boolean type annotation.
1565
+ # @!attribute [rw] customized_struct_data_value
1566
+ # @return [::Google::Protobuf::Struct]
1567
+ # Value of customized struct annotation. This field does not have effects.
1568
+ # Use customized_struct_value instead for customized struct annotation.
1569
+ # @!attribute [rw] list_value
1570
+ # @return [::Google::Cloud::VisionAI::V1::AnnotationList]
1571
+ # Value of list type annotation.
1572
+ # @!attribute [rw] customized_struct_value
1573
+ # @return [::Google::Cloud::VisionAI::V1::AnnotationCustomizedStruct]
1574
+ # Value of custom struct type annotation.
1575
+ class AnnotationValue
1576
+ include ::Google::Protobuf::MessageExts
1577
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1578
+ end
1579
+
1580
+ # List representation in annotation.
1581
+ # @!attribute [rw] values
1582
+ # @return [::Array<::Google::Cloud::VisionAI::V1::AnnotationValue>]
1583
+ # The values of `LIST` data type annotation.
1584
+ class AnnotationList
1585
+ include ::Google::Protobuf::MessageExts
1586
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1587
+ end
1588
+
1589
+ # Customized struct represnation in annotation.
1590
+ # @!attribute [rw] elements
1591
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VisionAI::V1::AnnotationValue}]
1592
+ # A map from elements' keys to element's annotation value.
1593
+ class AnnotationCustomizedStruct
1594
+ include ::Google::Protobuf::MessageExts
1595
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1596
+
1597
+ # @!attribute [rw] key
1598
+ # @return [::String]
1599
+ # @!attribute [rw] value
1600
+ # @return [::Google::Cloud::VisionAI::V1::AnnotationValue]
1601
+ class ElementsEntry
1602
+ include ::Google::Protobuf::MessageExts
1603
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1604
+ end
1605
+ end
1606
+
1607
+ # Request message for GetAnnotation API.
1608
+ # @!attribute [rw] parent
1609
+ # @return [::String]
1610
+ # The parent, which owns this collection of annotations.
1611
+ # Format:
1612
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}`
1613
+ # @!attribute [rw] page_size
1614
+ # @return [::Integer]
1615
+ # The maximum number of annotations to return. The service may return fewer
1616
+ # than this value. If unspecified, at most 50 annotations will be returned.
1617
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
1618
+ # @!attribute [rw] page_token
1619
+ # @return [::String]
1620
+ # A page token, received from a previous `ListAnnotations` call.
1621
+ # Provide this to retrieve the subsequent page.
1622
+ #
1623
+ # When paginating, all other parameters provided to `ListAnnotations` must
1624
+ # match the call that provided the page token.
1625
+ # @!attribute [rw] filter
1626
+ # @return [::String]
1627
+ # The filter applied to the returned list.
1628
+ # We only support filtering for the following fields:
1629
+ # For corpus of STREAM_VIDEO type:
1630
+ # `partition.temporal_partition.start_time`,
1631
+ # `partition.temporal_partition.end_time`, and `key`.
1632
+ # For corpus of VIDEO_ON_DEMAND type,
1633
+ # `partition.relative_temporal_partition.start_offset`,
1634
+ # `partition.relative_temporal_partition.end_offset`, and `key`.
1635
+ # For corpus of IMAGE type, only `key` is supported.
1636
+ # Timestamps are specified in the RFC-3339 format, and only one restriction
1637
+ # may be applied per field, joined by conjunctions.
1638
+ # Format:
1639
+ # "partition.temporal_partition.start_time > "2012-04-21T11:30:00-04:00" AND
1640
+ # partition.temporal_partition.end_time < "2012-04-22T11:30:00-04:00" AND
1641
+ # key = "example_key""
1642
+ class ListAnnotationsRequest
1643
+ include ::Google::Protobuf::MessageExts
1644
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1645
+ end
1646
+
1647
+ # Request message for ListAnnotations API.
1648
+ # @!attribute [rw] annotations
1649
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Annotation>]
1650
+ # The annotations from the specified asset.
1651
+ # @!attribute [rw] next_page_token
1652
+ # @return [::String]
1653
+ # A token, which can be sent as `page_token` to retrieve the next page.
1654
+ # If this field is omitted, there are no subsequent pages.
1655
+ class ListAnnotationsResponse
1656
+ include ::Google::Protobuf::MessageExts
1657
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1658
+ end
1659
+
1660
+ # Request message for GetAnnotation API.
1661
+ # @!attribute [rw] name
1662
+ # @return [::String]
1663
+ # Required. The name of the annotation to retrieve.
1664
+ # Format:
1665
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}/annotations/{annotation}`
1666
+ class GetAnnotationRequest
1667
+ include ::Google::Protobuf::MessageExts
1668
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1669
+ end
1670
+
1671
+ # Request message for UpdateAnnotation API.
1672
+ # @!attribute [rw] annotation
1673
+ # @return [::Google::Cloud::VisionAI::V1::Annotation]
1674
+ # Required. The annotation to update.
1675
+ # The annotation's `name` field is used to identify the annotation to be
1676
+ # updated. Format:
1677
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}/annotations/{annotation}`
1678
+ # @!attribute [rw] update_mask
1679
+ # @return [::Google::Protobuf::FieldMask]
1680
+ # The list of fields to be updated.
1681
+ class UpdateAnnotationRequest
1682
+ include ::Google::Protobuf::MessageExts
1683
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1684
+ end
1685
+
1686
+ # Request message for DeleteAnnotation API.
1687
+ # @!attribute [rw] name
1688
+ # @return [::String]
1689
+ # Required. The name of the annotation to delete.
1690
+ # Format:
1691
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}/annotations/{annotation}`
1692
+ class DeleteAnnotationRequest
1693
+ include ::Google::Protobuf::MessageExts
1694
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1695
+ end
1696
+
1697
+ # The request message for ImportAssets.
1698
+ # @!attribute [rw] assets_gcs_uri
1699
+ # @return [::String]
1700
+ # The file contains all assets information to be imported.
1701
+ # * The file is in JSONL format.
1702
+ # * Each line corresponding to one asset.
1703
+ # * Each line will be converted into InputImageAsset proto.
1704
+ # @!attribute [rw] parent
1705
+ # @return [::String]
1706
+ # Required. The parent corpus resource where the assets will be imported.
1707
+ # Format:
1708
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}`
1709
+ class ImportAssetsRequest
1710
+ include ::Google::Protobuf::MessageExts
1711
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1712
+ end
1713
+
1714
+ # The metadata message for ImportAssets LRO.
1715
+ # @!attribute [rw] metadata
1716
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
1717
+ # The metadata of the operation.
1718
+ # @!attribute [rw] status
1719
+ # @return [::Google::Cloud::VisionAI::V1::BatchOperationStatus]
1720
+ # The importing status including partial failures, if the implementation can
1721
+ # provide such information during the progress of the ImportAssets.
1722
+ class ImportAssetsMetadata
1723
+ include ::Google::Protobuf::MessageExts
1724
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1725
+ end
1726
+
1727
+ # The batch operation status.
1728
+ # @!attribute [rw] success_count
1729
+ # @return [::Integer]
1730
+ # The count of assets (together with their annotations if any) successfully
1731
+ # ingested.
1732
+ # @!attribute [rw] failure_count
1733
+ # @return [::Integer]
1734
+ # The count of assets failed to ingested; it might be due to the annotation
1735
+ # ingestion error.
1736
+ class BatchOperationStatus
1737
+ include ::Google::Protobuf::MessageExts
1738
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1739
+ end
1740
+
1741
+ # The response message for ImportAssets LRO.
1742
+ class ImportAssetsResponse
1743
+ include ::Google::Protobuf::MessageExts
1744
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1745
+ end
1746
+
1747
+ # Request message for CreateSearchConfig.
1748
+ # @!attribute [rw] parent
1749
+ # @return [::String]
1750
+ # Required. The parent resource where this search configuration will be
1751
+ # created. Format:
1752
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}`
1753
+ # @!attribute [rw] search_config
1754
+ # @return [::Google::Cloud::VisionAI::V1::SearchConfig]
1755
+ # Required. The search config to create.
1756
+ # @!attribute [rw] search_config_id
1757
+ # @return [::String]
1758
+ # Required. ID to use for the new search config. Will become the final
1759
+ # component of the SearchConfig's resource name. This value should be up to
1760
+ # 63 characters, and valid characters are /[a-z][0-9]-_/. The first character
1761
+ # must be a letter, the last could be a letter or a number.
1762
+ class CreateSearchConfigRequest
1763
+ include ::Google::Protobuf::MessageExts
1764
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1765
+ end
1766
+
1767
+ # Request message for UpdateSearchConfig.
1768
+ # @!attribute [rw] search_config
1769
+ # @return [::Google::Cloud::VisionAI::V1::SearchConfig]
1770
+ # Required. The search configuration to update.
1771
+ #
1772
+ # The search configuration's `name` field is used to identify the resource to
1773
+ # be updated. Format:
1774
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{search_config}`
1775
+ # @!attribute [rw] update_mask
1776
+ # @return [::Google::Protobuf::FieldMask]
1777
+ # The list of fields to be updated. If left unset, all field paths will be
1778
+ # updated/overwritten.
1779
+ class UpdateSearchConfigRequest
1780
+ include ::Google::Protobuf::MessageExts
1781
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1782
+ end
1783
+
1784
+ # Request message for GetSearchConfig.
1785
+ # @!attribute [rw] name
1786
+ # @return [::String]
1787
+ # Required. The name of the search configuration to retrieve.
1788
+ # Format:
1789
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{search_config}`
1790
+ class GetSearchConfigRequest
1791
+ include ::Google::Protobuf::MessageExts
1792
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1793
+ end
1794
+
1795
+ # Request message for DeleteSearchConfig.
1796
+ # @!attribute [rw] name
1797
+ # @return [::String]
1798
+ # Required. The name of the search configuration to delete.
1799
+ # Format:
1800
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{search_config}`
1801
+ class DeleteSearchConfigRequest
1802
+ include ::Google::Protobuf::MessageExts
1803
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1804
+ end
1805
+
1806
+ # Request message for ListSearchConfigs.
1807
+ # @!attribute [rw] parent
1808
+ # @return [::String]
1809
+ # Required. The parent, which owns this collection of search configurations.
1810
+ # Format:
1811
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}`
1812
+ # @!attribute [rw] page_size
1813
+ # @return [::Integer]
1814
+ # The maximum number of search configurations to return. The service may
1815
+ # return fewer than this value. If unspecified, a page size of 50 will be
1816
+ # used. The maximum value is 1000; values above 1000 will be coerced to 1000.
1817
+ # @!attribute [rw] page_token
1818
+ # @return [::String]
1819
+ # A page token, received from a previous `ListSearchConfigs` call.
1820
+ # Provide this to retrieve the subsequent page.
1821
+ #
1822
+ # When paginating, all other parameters provided to
1823
+ # `ListSearchConfigs` must match the call that provided the page
1824
+ # token.
1825
+ class ListSearchConfigsRequest
1826
+ include ::Google::Protobuf::MessageExts
1827
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1828
+ end
1829
+
1830
+ # Response message for ListSearchConfigs.
1831
+ # @!attribute [rw] search_configs
1832
+ # @return [::Array<::Google::Cloud::VisionAI::V1::SearchConfig>]
1833
+ # The search configurations from the specified corpus.
1834
+ # @!attribute [rw] next_page_token
1835
+ # @return [::String]
1836
+ # A token, which can be sent as `page_token` to retrieve the next page.
1837
+ # If this field is omitted, there are no subsequent pages.
1838
+ class ListSearchConfigsResponse
1839
+ include ::Google::Protobuf::MessageExts
1840
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1841
+ end
1842
+
1843
+ # SearchConfig stores different properties that will affect search
1844
+ # behaviors and search results.
1845
+ # @!attribute [rw] name
1846
+ # @return [::String]
1847
+ # Resource name of the search configuration.
1848
+ # For CustomSearchCriteria, search_config would be the search
1849
+ # operator name. For Facets, search_config would be the facet
1850
+ # dimension name.
1851
+ # Format:
1852
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{search_config}`
1853
+ # @!attribute [rw] facet_property
1854
+ # @return [::Google::Cloud::VisionAI::V1::FacetProperty]
1855
+ # Establishes a FacetDimension and associated specifications.
1856
+ # @!attribute [rw] search_criteria_property
1857
+ # @return [::Google::Cloud::VisionAI::V1::SearchCriteriaProperty]
1858
+ # Creates a mapping between a custom SearchCriteria and one or more UGA keys.
1859
+ class SearchConfig
1860
+ include ::Google::Protobuf::MessageExts
1861
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1862
+ end
1863
+
1864
+ # Message representing IndexEndpoint resource. Indexes are deployed into it.
1865
+ # @!attribute [r] name
1866
+ # @return [::String]
1867
+ # Output only. Resource name of the IndexEndpoint.
1868
+ # Format:
1869
+ # `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint_id}`
1870
+ # @!attribute [rw] display_name
1871
+ # @return [::String]
1872
+ # Optional. Display name of the IndexEndpoint. Can be up to 32 characters
1873
+ # long.
1874
+ # @!attribute [rw] description
1875
+ # @return [::String]
1876
+ # Optional. Description of the IndexEndpoint. Can be up to 25000 characters
1877
+ # long.
1878
+ # @!attribute [r] deployed_index
1879
+ # @return [::Google::Cloud::VisionAI::V1::DeployedIndex]
1880
+ # Output only. The Index deployed in this IndexEndpoint.
1881
+ # @!attribute [r] state
1882
+ # @return [::Google::Cloud::VisionAI::V1::IndexEndpoint::State]
1883
+ # Output only. IndexEndpoint state.
1884
+ # @!attribute [rw] labels
1885
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1886
+ # Optional. The labels applied to a resource must meet the following
1887
+ # requirements:
1888
+ #
1889
+ # * Each resource can have multiple labels, up to a maximum of 64.
1890
+ # * Each label must be a key-value pair.
1891
+ # * Keys have a minimum length of 1 character and a maximum length of 63
1892
+ # characters and cannot be empty. Values can be empty and have a maximum
1893
+ # length of 63 characters.
1894
+ # * Keys and values can contain only lowercase letters, numeric characters,
1895
+ # underscores, and dashes. All characters must use UTF-8 encoding, and
1896
+ # international characters are allowed.
1897
+ # * The key portion of a label must be unique. However, you can use the same
1898
+ # key with multiple resources.
1899
+ # * Keys must start with a lowercase letter or international character.
1900
+ #
1901
+ # See [Google Cloud
1902
+ # Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
1903
+ # for more details.
1904
+ # @!attribute [r] create_time
1905
+ # @return [::Google::Protobuf::Timestamp]
1906
+ # Output only. Create timestamp.
1907
+ # @!attribute [r] update_time
1908
+ # @return [::Google::Protobuf::Timestamp]
1909
+ # Output only. Update timestamp.
1910
+ # @!attribute [r] satisfies_pzs
1911
+ # @return [::Boolean]
1912
+ # Output only. This boolean field is only set for projects that have Physical
1913
+ # Zone Separation enabled via an Org Policy constraint. It is set to true
1914
+ # when the index endpoint is a valid zone separated index endpoint and false
1915
+ # if it isn't.
1916
+ # @!attribute [r] satisfies_pzi
1917
+ # @return [::Boolean]
1918
+ # Output only. This boolean field is only set for projects that have Physical
1919
+ # Zone Isolation enabled via an Org Policy constraint. It is set to true when
1920
+ # the index endpoint is a valid zone isolated index endpoint and false if it
1921
+ # isn't.
1922
+ class IndexEndpoint
1923
+ include ::Google::Protobuf::MessageExts
1924
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1925
+
1926
+ # @!attribute [rw] key
1927
+ # @return [::String]
1928
+ # @!attribute [rw] value
1929
+ # @return [::String]
1930
+ class LabelsEntry
1931
+ include ::Google::Protobuf::MessageExts
1932
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1933
+ end
1934
+
1935
+ # IndexEndpoint stage.
1936
+ module State
1937
+ # The default value. Should not be used.
1938
+ STATE_UNSPECIFIED = 0
1939
+
1940
+ # State CREATING.
1941
+ CREATING = 1
1942
+
1943
+ # State CREATED.
1944
+ CREATED = 2
1945
+
1946
+ # State UPDATING.
1947
+ UPDATING = 3
1948
+
1949
+ # State FAILED.
1950
+ FAILED = 4
1951
+ end
1952
+ end
1953
+
1954
+ # Request message for CreateIndexEndpoint.
1955
+ # @!attribute [rw] parent
1956
+ # @return [::String]
1957
+ # Required. Format: `projects/{project}/locations/{location}`
1958
+ # @!attribute [rw] index_endpoint_id
1959
+ # @return [::String]
1960
+ # Optional. The ID to use for the IndexEndpoint, which will become the final
1961
+ # component of the IndexEndpoint's resource name if the user specifies it.
1962
+ # Otherwise, IndexEndpoint id will be autogenerated.
1963
+ #
1964
+ # This value should be up to 63 characters, and valid characters
1965
+ # are a-z, 0-9 and dash (-). The first character must be a letter, the last
1966
+ # must be a letter or a number.
1967
+ # @!attribute [rw] index_endpoint
1968
+ # @return [::Google::Cloud::VisionAI::V1::IndexEndpoint]
1969
+ # Required. The resource being created.
1970
+ class CreateIndexEndpointRequest
1971
+ include ::Google::Protobuf::MessageExts
1972
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1973
+ end
1974
+
1975
+ # Metadata message for CreateIndexEndpoint.
1976
+ # @!attribute [rw] operation_metadata
1977
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
1978
+ # Common metadata of the long-running operation.
1979
+ class CreateIndexEndpointMetadata
1980
+ include ::Google::Protobuf::MessageExts
1981
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1982
+ end
1983
+
1984
+ # Request message for GetIndexEndpoint.
1985
+ # @!attribute [rw] name
1986
+ # @return [::String]
1987
+ # Required. Name of the IndexEndpoint resource.
1988
+ class GetIndexEndpointRequest
1989
+ include ::Google::Protobuf::MessageExts
1990
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1991
+ end
1992
+
1993
+ # Request message for ListIndexEndpoints.
1994
+ # @!attribute [rw] parent
1995
+ # @return [::String]
1996
+ # Required. Format: `projects/{project}/locations/{location}`
1997
+ # @!attribute [rw] page_size
1998
+ # @return [::Integer]
1999
+ # Optional. Requested page size. Server may return fewer items than
2000
+ # requested. The service may return fewer than this value. If unspecified, a
2001
+ # page size of 50 will be used. The maximum value is 1000; values above 1000
2002
+ # will be coerced to 1000.
2003
+ # @!attribute [rw] page_token
2004
+ # @return [::String]
2005
+ # Optional. A token identifying a page of results the server should return.
2006
+ # @!attribute [rw] filter
2007
+ # @return [::String]
2008
+ # Optional. The filter applied to the returned list.
2009
+ # We only support filtering for the `deployed_image_index.image_index` field.
2010
+ # However, to filter by a corpus instead of an image index, simply use
2011
+ # `deployed_image_index.corpus`, which will return all endpoints with
2012
+ # `deployed_image_index.image_index` inside of the given corpus.
2013
+ # A basic filter on image index would look like:
2014
+ # deployed_image_index.image_index =
2015
+ # "projects/123/locations/us-central1/corpora/my_corpus/imageIndexes/my_image_index"
2016
+ # A basic filter on corpus would look like:
2017
+ # deployed_image_index.corpus =
2018
+ # "projects/123/locations/us-central1/corpora/my_corpus"
2019
+ class ListIndexEndpointsRequest
2020
+ include ::Google::Protobuf::MessageExts
2021
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2022
+ end
2023
+
2024
+ # Response message for ListIndexEndpoints.
2025
+ # @!attribute [rw] index_endpoints
2026
+ # @return [::Array<::Google::Cloud::VisionAI::V1::IndexEndpoint>]
2027
+ # The list of IndexEndpoints.
2028
+ # @!attribute [rw] next_page_token
2029
+ # @return [::String]
2030
+ # A token identifying a page of results the server should return.
2031
+ class ListIndexEndpointsResponse
2032
+ include ::Google::Protobuf::MessageExts
2033
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2034
+ end
2035
+
2036
+ # Request message for UpdateIndexEndpoint.
2037
+ # @!attribute [rw] index_endpoint
2038
+ # @return [::Google::Cloud::VisionAI::V1::IndexEndpoint]
2039
+ # Required. The resource being updated.
2040
+ # @!attribute [rw] update_mask
2041
+ # @return [::Google::Protobuf::FieldMask]
2042
+ # Required. Field mask is used to specify the fields to be overwritten in the
2043
+ # IndexEndpoint resource by the update.
2044
+ # The fields specified in the update_mask are relative to the resource, not
2045
+ # the full request.
2046
+ # A field of the resource will be overwritten if it is in the mask.
2047
+ # Empty field mask is not allowed.
2048
+ # If the mask is "*", then this is a full replacement of the resource.
2049
+ class UpdateIndexEndpointRequest
2050
+ include ::Google::Protobuf::MessageExts
2051
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2052
+ end
2053
+
2054
+ # Metadata message for UpdateIndexEndpoint.
2055
+ # @!attribute [rw] operation_metadata
2056
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
2057
+ # Common metadata of the long-running operation.
2058
+ class UpdateIndexEndpointMetadata
2059
+ include ::Google::Protobuf::MessageExts
2060
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2061
+ end
2062
+
2063
+ # Request message for DeleteIndexEndpoint.
2064
+ # @!attribute [rw] name
2065
+ # @return [::String]
2066
+ # Required. Name of the resource.
2067
+ class DeleteIndexEndpointRequest
2068
+ include ::Google::Protobuf::MessageExts
2069
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2070
+ end
2071
+
2072
+ # Metadata message for DeleteIndexEndpoint.
2073
+ # @!attribute [rw] operation_metadata
2074
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
2075
+ # Common metadata of the long-running operation.
2076
+ class DeleteIndexEndpointMetadata
2077
+ include ::Google::Protobuf::MessageExts
2078
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2079
+ end
2080
+
2081
+ # Request message for DeployIndex.
2082
+ # @!attribute [rw] index_endpoint
2083
+ # @return [::String]
2084
+ # Required. IndexEndpoint the index is deployed to.
2085
+ # Format:
2086
+ # `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`
2087
+ # @!attribute [rw] deployed_index
2088
+ # @return [::Google::Cloud::VisionAI::V1::DeployedIndex]
2089
+ # Required. Index to deploy.
2090
+ class DeployIndexRequest
2091
+ include ::Google::Protobuf::MessageExts
2092
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2093
+ end
2094
+
2095
+ # DeployIndex response once the operation is done.
2096
+ class DeployIndexResponse
2097
+ include ::Google::Protobuf::MessageExts
2098
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2099
+ end
2100
+
2101
+ # Metadata message for DeployIndex.
2102
+ # @!attribute [rw] operation_metadata
2103
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
2104
+ # Common metadata of the long-running operation.
2105
+ # @!attribute [r] deployed_index
2106
+ # @return [::String]
2107
+ # Output only. The index being deployed.
2108
+ class DeployIndexMetadata
2109
+ include ::Google::Protobuf::MessageExts
2110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2111
+ end
2112
+
2113
+ # Metadata message for UndeployIndex.
2114
+ # @!attribute [rw] operation_metadata
2115
+ # @return [::Google::Cloud::VisionAI::V1::OperationMetadata]
2116
+ # Common metadata of the long-running operation.
2117
+ # @!attribute [r] deployed_index
2118
+ # @return [::String]
2119
+ # Output only. The index being undeployed.
2120
+ class UndeployIndexMetadata
2121
+ include ::Google::Protobuf::MessageExts
2122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2123
+ end
2124
+
2125
+ # Request message for UndeployIndexEndpoint.
2126
+ # @!attribute [rw] index_endpoint
2127
+ # @return [::String]
2128
+ # Required. Resource name of the IndexEndpoint resource on which the
2129
+ # undeployment will act. Format:
2130
+ # `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`
2131
+ class UndeployIndexRequest
2132
+ include ::Google::Protobuf::MessageExts
2133
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2134
+ end
2135
+
2136
+ # UndeployIndex response once the operation is done.
2137
+ class UndeployIndexResponse
2138
+ include ::Google::Protobuf::MessageExts
2139
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2140
+ end
2141
+
2142
+ # A deployment of an Index.
2143
+ # @!attribute [rw] index
2144
+ # @return [::String]
2145
+ # Required. Name of the deployed Index.
2146
+ # Format:
2147
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/indexes/{index_id}`
2148
+ class DeployedIndex
2149
+ include ::Google::Protobuf::MessageExts
2150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2151
+ end
2152
+
2153
+ # Central configuration for a facet.
2154
+ # @!attribute [rw] fixed_range_bucket_spec
2155
+ # @return [::Google::Cloud::VisionAI::V1::FacetProperty::FixedRangeBucketSpec]
2156
+ # Fixed range facet bucket config.
2157
+ # @!attribute [rw] custom_range_bucket_spec
2158
+ # @return [::Google::Cloud::VisionAI::V1::FacetProperty::CustomRangeBucketSpec]
2159
+ # Custom range facet bucket config.
2160
+ # @!attribute [rw] datetime_bucket_spec
2161
+ # @return [::Google::Cloud::VisionAI::V1::FacetProperty::DateTimeBucketSpec]
2162
+ # Datetime range facet bucket config.
2163
+ # @!attribute [rw] mapped_fields
2164
+ # @return [::Array<::String>]
2165
+ # Name of the facets, which are the dimensions users want to use to refine
2166
+ # search results. `mapped_fields` will match UserSpecifiedDataSchema keys.
2167
+ #
2168
+ # For example, user can add a bunch of UGAs with the same key, such as
2169
+ # player:adam, player:bob, player:charles. When multiple mapped_fields are
2170
+ # specified, will merge their value together as final facet value. E.g.
2171
+ # home_team: a, home_team:b, away_team:a, away_team:c, when facet_field =
2172
+ # [home_team, away_team], facet_value will be [a, b, c].
2173
+ #
2174
+ # UNLESS this is a 1:1 facet dimension (mapped_fields.size() == 1) AND the
2175
+ # mapped_field equals the parent SearchConfig.name, the parent must
2176
+ # also contain a SearchCriteriaProperty that maps to the same fields.
2177
+ # mapped_fields must not be empty.
2178
+ # @!attribute [rw] display_name
2179
+ # @return [::String]
2180
+ # Display name of the facet. To be used by UI for facet rendering.
2181
+ # @!attribute [rw] result_size
2182
+ # @return [::Integer]
2183
+ # Maximum number of unique bucket to return for one facet. Bucket number can
2184
+ # be large for high-cardinality facet such as "player". We only return top-n
2185
+ # most related ones to user. If it's <= 0, the server will decide the
2186
+ # appropriate result_size.
2187
+ # @!attribute [rw] bucket_type
2188
+ # @return [::Google::Cloud::VisionAI::V1::FacetBucketType]
2189
+ # Facet bucket type e.g. value, range.
2190
+ class FacetProperty
2191
+ include ::Google::Protobuf::MessageExts
2192
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2193
+
2194
+ # If bucket type is FIXED_RANGE, specify how values are bucketized. Use
2195
+ # FixedRangeBucketSpec when you want to create multiple buckets with equal
2196
+ # granularities. Using integer bucket value as an example, when
2197
+ # bucket_start = 0, bucket_granularity = 10, bucket_count = 5, this facet
2198
+ # will be aggregated via the following buckets:
2199
+ # [-inf, 0), [0, 10), [10, 20), [20, 30), [30, inf).
2200
+ # Notably, bucket_count <= 1 is an invalid spec.
2201
+ # @!attribute [rw] bucket_start
2202
+ # @return [::Google::Cloud::VisionAI::V1::FacetValue]
2203
+ # Lower bound of the bucket. NOTE: Only integer type is currently supported
2204
+ # for this field.
2205
+ # @!attribute [rw] bucket_granularity
2206
+ # @return [::Google::Cloud::VisionAI::V1::FacetValue]
2207
+ # Bucket granularity. NOTE: Only integer type is currently supported for
2208
+ # this field.
2209
+ # @!attribute [rw] bucket_count
2210
+ # @return [::Integer]
2211
+ # Total number of buckets.
2212
+ class FixedRangeBucketSpec
2213
+ include ::Google::Protobuf::MessageExts
2214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2215
+ end
2216
+
2217
+ # If bucket type is CUSTOM_RANGE, specify how values are bucketized. Use
2218
+ # integer bucket value as an example, when the endpoints are 0, 10, 100, and
2219
+ # 1000, we will generate the following facets:
2220
+ # [-inf, 0), [0, 10), [10, 100), [100, 1000), [1000, inf).
2221
+ # Notably:
2222
+ # - endpoints must be listed in ascending order. Otherwise, the SearchConfig
2223
+ # API will reject the facet config.
2224
+ # - < 1 endpoints is an invalid spec.
2225
+ # @!attribute [rw] endpoints
2226
+ # @return [::Array<::Google::Cloud::VisionAI::V1::FacetValue>]
2227
+ # Currently, only integer type is supported for this field.
2228
+ class CustomRangeBucketSpec
2229
+ include ::Google::Protobuf::MessageExts
2230
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2231
+ end
2232
+
2233
+ # If bucket type is DATE, specify how date values are bucketized.
2234
+ # @!attribute [rw] granularity
2235
+ # @return [::Google::Cloud::VisionAI::V1::FacetProperty::DateTimeBucketSpec::Granularity]
2236
+ # Granularity of date type facet.
2237
+ class DateTimeBucketSpec
2238
+ include ::Google::Protobuf::MessageExts
2239
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2240
+
2241
+ # Granularity enum for the datetime bucket.
2242
+ module Granularity
2243
+ # Unspecified granularity.
2244
+ GRANULARITY_UNSPECIFIED = 0
2245
+
2246
+ # Granularity is year.
2247
+ YEAR = 1
2248
+
2249
+ # Granularity is month.
2250
+ MONTH = 2
2251
+
2252
+ # Granularity is day.
2253
+ DAY = 3
2254
+ end
2255
+ end
2256
+ end
2257
+
2258
+ # Search resource: SearchHypernym.
2259
+ # For example,
2260
+ # { hypernym: "vehicle"
2261
+ # hyponyms: ["sedan", "truck"] }
2262
+ # This means in SMART_SEARCH mode, searching for "vehicle" will also return
2263
+ # results with "sedan" or "truck" as annotations.
2264
+ # @!attribute [rw] name
2265
+ # @return [::String]
2266
+ # Resource name of the SearchHypernym.
2267
+ # Format:
2268
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchHypernyms/{search_hypernym}`
2269
+ # @!attribute [rw] hypernym
2270
+ # @return [::String]
2271
+ # Optional. The hypernym.
2272
+ # @!attribute [rw] hyponyms
2273
+ # @return [::Array<::String>]
2274
+ # Optional. Hyponyms that the hypernym is mapped to.
2275
+ class SearchHypernym
2276
+ include ::Google::Protobuf::MessageExts
2277
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2278
+ end
2279
+
2280
+ # Request message for creating SearchHypernym.
2281
+ # @!attribute [rw] parent
2282
+ # @return [::String]
2283
+ # Required. The parent resource where this SearchHypernym will be created.
2284
+ # Format: `projects/{project_number}/locations/{location}/corpora/{corpus}`
2285
+ # @!attribute [rw] search_hypernym
2286
+ # @return [::Google::Cloud::VisionAI::V1::SearchHypernym]
2287
+ # Required. The SearchHypernym to create.
2288
+ # @!attribute [rw] search_hypernym_id
2289
+ # @return [::String]
2290
+ # Optional. The search hypernym id.
2291
+ # If omitted, a random UUID will be generated.
2292
+ class CreateSearchHypernymRequest
2293
+ include ::Google::Protobuf::MessageExts
2294
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2295
+ end
2296
+
2297
+ # Request message for updating SearchHypernym.
2298
+ # @!attribute [rw] search_hypernym
2299
+ # @return [::Google::Cloud::VisionAI::V1::SearchHypernym]
2300
+ # Required. The SearchHypernym to update.
2301
+ # The search hypernym's `name` field is used to identify the search hypernym
2302
+ # to be updated. Format:
2303
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchHypernyms/{search_hypernym}`
2304
+ # @!attribute [rw] update_mask
2305
+ # @return [::Google::Protobuf::FieldMask]
2306
+ # The list of fields to be updated. If left unset, all field paths will be
2307
+ # updated/overwritten.
2308
+ class UpdateSearchHypernymRequest
2309
+ include ::Google::Protobuf::MessageExts
2310
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2311
+ end
2312
+
2313
+ # Request message for getting SearchHypernym.
2314
+ # @!attribute [rw] name
2315
+ # @return [::String]
2316
+ # Required. The name of the SearchHypernym to retrieve.
2317
+ # Format:
2318
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchHypernyms/{search_hypernym}`
2319
+ class GetSearchHypernymRequest
2320
+ include ::Google::Protobuf::MessageExts
2321
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2322
+ end
2323
+
2324
+ # Request message for deleting SearchHypernym.
2325
+ # @!attribute [rw] name
2326
+ # @return [::String]
2327
+ # Required. The name of the SearchHypernym to delete.
2328
+ # Format:
2329
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchHypernyms/{search_hypernym}`
2330
+ class DeleteSearchHypernymRequest
2331
+ include ::Google::Protobuf::MessageExts
2332
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2333
+ end
2334
+
2335
+ # Request message for listing SearchHypernyms.
2336
+ # @!attribute [rw] parent
2337
+ # @return [::String]
2338
+ # Required. The parent, which owns this collection of SearchHypernyms.
2339
+ # Format:
2340
+ # `projects/{project_number}/locations/{location}/corpora/{corpus}`
2341
+ # @!attribute [rw] page_size
2342
+ # @return [::Integer]
2343
+ # The maximum number of SearchHypernyms returned. The service may
2344
+ # return fewer than this value. If unspecified, a page size of 50 will be
2345
+ # used. The maximum value is 1000; values above 1000 will be coerced to 1000.
2346
+ # @!attribute [rw] page_token
2347
+ # @return [::String]
2348
+ # A page token, received from a previous `SearchHypernym` call.
2349
+ # Provide this to retrieve the subsequent page.
2350
+ #
2351
+ # When paginating, all other parameters provided to
2352
+ # `SearchHypernym` must match the call that provided the page
2353
+ # token.
2354
+ class ListSearchHypernymsRequest
2355
+ include ::Google::Protobuf::MessageExts
2356
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2357
+ end
2358
+
2359
+ # Response message for listing SearchHypernyms.
2360
+ # @!attribute [rw] search_hypernyms
2361
+ # @return [::Array<::Google::Cloud::VisionAI::V1::SearchHypernym>]
2362
+ # The SearchHypernyms from the specified corpus.
2363
+ # @!attribute [rw] next_page_token
2364
+ # @return [::String]
2365
+ # A token, which can be sent as `page_token` to retrieve the next page.
2366
+ # If this field is omitted, there are no subsequent pages.
2367
+ class ListSearchHypernymsResponse
2368
+ include ::Google::Protobuf::MessageExts
2369
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2370
+ end
2371
+
2372
+ # Central configuration for custom search criteria.
2373
+ # @!attribute [rw] mapped_fields
2374
+ # @return [::Array<::String>]
2375
+ # Each mapped_field corresponds to a UGA key. To understand how this property
2376
+ # works, take the following example. In the SearchConfig table, the
2377
+ # user adds this entry:
2378
+ # search_config {
2379
+ # name: "person"
2380
+ # search_criteria_property {
2381
+ # mapped_fields: "player"
2382
+ # mapped_fields: "coach"
2383
+ # }
2384
+ # }
2385
+ #
2386
+ # Now, when a user issues a query like:
2387
+ # criteria {
2388
+ # field: "person"
2389
+ # text_array {
2390
+ # txt_values: "Tom Brady"
2391
+ # txt_values: "Bill Belichick"
2392
+ # }
2393
+ # }
2394
+ #
2395
+ # MWH search will return search documents where (player=Tom Brady ||
2396
+ # coach=Tom Brady || player=Bill Belichick || coach=Bill Belichick).
2397
+ class SearchCriteriaProperty
2398
+ include ::Google::Protobuf::MessageExts
2399
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2400
+ end
2401
+
2402
+ # Definition of a single value with generic type.
2403
+ # @!attribute [rw] string_value
2404
+ # @return [::String]
2405
+ # String type value.
2406
+ # @!attribute [rw] integer_value
2407
+ # @return [::Integer]
2408
+ # Integer type value.
2409
+ # @!attribute [rw] datetime_value
2410
+ # @return [::Google::Type::DateTime]
2411
+ # Datetime type value.
2412
+ class FacetValue
2413
+ include ::Google::Protobuf::MessageExts
2414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2415
+ end
2416
+
2417
+ # Holds the facet value, selections state, and metadata.
2418
+ # @!attribute [rw] value
2419
+ # @return [::Google::Cloud::VisionAI::V1::FacetValue]
2420
+ # Singular value.
2421
+ # @!attribute [rw] range
2422
+ # @return [::Google::Cloud::VisionAI::V1::FacetBucket::Range]
2423
+ # Range value.
2424
+ # @!attribute [rw] selected
2425
+ # @return [::Boolean]
2426
+ # Whether one facet bucket is selected. This field represents user's facet
2427
+ # selection. It is set by frontend in SearchVideosRequest.
2428
+ class FacetBucket
2429
+ include ::Google::Protobuf::MessageExts
2430
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2431
+
2432
+ # The range of values [start, end) for which faceting is applied.
2433
+ # @!attribute [rw] start
2434
+ # @return [::Google::Cloud::VisionAI::V1::FacetValue]
2435
+ # Start of the range. Non-existence indicates some bound (e.g. -inf).
2436
+ # @!attribute [rw] end
2437
+ # @return [::Google::Cloud::VisionAI::V1::FacetValue]
2438
+ # End of the range. Non-existence indicates some bound (e.g. inf).
2439
+ class Range
2440
+ include ::Google::Protobuf::MessageExts
2441
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2442
+ end
2443
+ end
2444
+
2445
+ # A group of facet buckets to be passed back and forth between backend &
2446
+ # frontend.
2447
+ # @!attribute [rw] facet_id
2448
+ # @return [::String]
2449
+ # Unique id of the facet group.
2450
+ # @!attribute [rw] display_name
2451
+ # @return [::String]
2452
+ # Display name of the facet. To be used by UI for facet rendering.
2453
+ # @!attribute [rw] buckets
2454
+ # @return [::Array<::Google::Cloud::VisionAI::V1::FacetBucket>]
2455
+ # Buckets associated with the facet. E.g. for "Team" facet, the bucket
2456
+ # can be 49ers, patriots, etc.
2457
+ # @!attribute [rw] bucket_type
2458
+ # @return [::Google::Cloud::VisionAI::V1::FacetBucketType]
2459
+ # Facet bucket type.
2460
+ # @!attribute [rw] fetch_matched_annotations
2461
+ # @return [::Boolean]
2462
+ # If true, return query matched annotations for this facet group's selection.
2463
+ # This option is only applicable for facets based on partition level
2464
+ # annotations. It supports the following facet values:
2465
+ # - INTEGER
2466
+ # - STRING (DataSchema.SearchStrategy.EXACT_SEARCH only)
2467
+ class FacetGroup
2468
+ include ::Google::Protobuf::MessageExts
2469
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2470
+ end
2471
+
2472
+ # Request message for IngestAsset API.
2473
+ # @!attribute [rw] config
2474
+ # @return [::Google::Cloud::VisionAI::V1::IngestAssetRequest::Config]
2475
+ # Provides information for the data and the asset resource name that the
2476
+ # data belongs to. The first `IngestAssetRequest` message must only contain
2477
+ # a `Config` message.
2478
+ # @!attribute [rw] time_indexed_data
2479
+ # @return [::Google::Cloud::VisionAI::V1::IngestAssetRequest::TimeIndexedData]
2480
+ # Data to be ingested.
2481
+ class IngestAssetRequest
2482
+ include ::Google::Protobuf::MessageExts
2483
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2484
+
2485
+ # Configuration for the data.
2486
+ # @!attribute [rw] video_type
2487
+ # @return [::Google::Cloud::VisionAI::V1::IngestAssetRequest::Config::VideoType]
2488
+ # Type information for video data.
2489
+ # @!attribute [rw] asset
2490
+ # @return [::String]
2491
+ # Required. The resource name of the asset that the ingested data belongs
2492
+ # to.
2493
+ class Config
2494
+ include ::Google::Protobuf::MessageExts
2495
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2496
+
2497
+ # Type information for video data.
2498
+ # @!attribute [rw] container_format
2499
+ # @return [::Google::Cloud::VisionAI::V1::IngestAssetRequest::Config::VideoType::ContainerFormat]
2500
+ # Container format of the video data.
2501
+ class VideoType
2502
+ include ::Google::Protobuf::MessageExts
2503
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2504
+
2505
+ # Container format of the video.
2506
+ module ContainerFormat
2507
+ # The default type, not supposed to be used.
2508
+ CONTAINER_FORMAT_UNSPECIFIED = 0
2509
+
2510
+ # Mp4 container format.
2511
+ CONTAINER_FORMAT_MP4 = 1
2512
+ end
2513
+ end
2514
+ end
2515
+
2516
+ # Contains the data and the corresponding time range this data is for.
2517
+ # @!attribute [rw] data
2518
+ # @return [::String]
2519
+ # Data to be ingested.
2520
+ # @!attribute [rw] temporal_partition
2521
+ # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition]
2522
+ # Time range of the data.
2523
+ class TimeIndexedData
2524
+ include ::Google::Protobuf::MessageExts
2525
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2526
+ end
2527
+ end
2528
+
2529
+ # Response message for IngestAsset API.
2530
+ # @!attribute [rw] successfully_ingested_partition
2531
+ # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition]
2532
+ # Time range of the data that has been successfully ingested.
2533
+ class IngestAssetResponse
2534
+ include ::Google::Protobuf::MessageExts
2535
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2536
+ end
2537
+
2538
+ # Request message for ClipAsset API.
2539
+ # @!attribute [rw] name
2540
+ # @return [::String]
2541
+ # Required. The resource name of the asset to request clips for.
2542
+ # Format:
2543
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
2544
+ # @!attribute [rw] temporal_partition
2545
+ # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition]
2546
+ # Required. The time range to request clips for.
2547
+ class ClipAssetRequest
2548
+ include ::Google::Protobuf::MessageExts
2549
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2550
+ end
2551
+
2552
+ # Response message for ClipAsset API.
2553
+ # @!attribute [rw] time_indexed_uris
2554
+ # @return [::Array<::Google::Cloud::VisionAI::V1::ClipAssetResponse::TimeIndexedUri>]
2555
+ # A list of signed uris to download the video clips that cover the requested
2556
+ # time range ordered by time.
2557
+ class ClipAssetResponse
2558
+ include ::Google::Protobuf::MessageExts
2559
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2560
+
2561
+ # Signed uri with corresponding time range.
2562
+ # @!attribute [rw] temporal_partition
2563
+ # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition]
2564
+ # Time range of the video that the uri is for.
2565
+ # @!attribute [rw] uri
2566
+ # @return [::String]
2567
+ # Signed uri to download the video clip.
2568
+ class TimeIndexedUri
2569
+ include ::Google::Protobuf::MessageExts
2570
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2571
+ end
2572
+ end
2573
+
2574
+ # Request message for GenerateHlsUri API.
2575
+ # @!attribute [rw] name
2576
+ # @return [::String]
2577
+ # Required. The resource name of the asset to request clips for.
2578
+ # Format:
2579
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
2580
+ # @!attribute [rw] temporal_partitions
2581
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Partition::TemporalPartition>]
2582
+ # The time range to request clips for. Will be ignored if `get_live_view` is
2583
+ # set to True. The total time range requested should be smaller than 24h.
2584
+ # @!attribute [rw] live_view_enabled
2585
+ # @return [::Boolean]
2586
+ # Option to exclusively show a livestream of the asset with up to 3 minutes
2587
+ # of backlog data.
2588
+ class GenerateHlsUriRequest
2589
+ include ::Google::Protobuf::MessageExts
2590
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2591
+ end
2592
+
2593
+ # Response message for GenerateHlsUri API.
2594
+ # @!attribute [rw] uri
2595
+ # @return [::String]
2596
+ # A signed uri to download the HLS manifest corresponding to the requested
2597
+ # times.
2598
+ # @!attribute [rw] temporal_partitions
2599
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Partition::TemporalPartition>]
2600
+ # A list of temporal partitions of the content returned in the order they
2601
+ # appear in the stream.
2602
+ class GenerateHlsUriResponse
2603
+ include ::Google::Protobuf::MessageExts
2604
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2605
+ end
2606
+
2607
+ # Request message for SearchAssets.
2608
+ # @!attribute [rw] schema_key_sorting_strategy
2609
+ # @return [::Google::Cloud::VisionAI::V1::SchemaKeySortingStrategy]
2610
+ # Sort by the value under the data schema key.
2611
+ # @!attribute [rw] corpus
2612
+ # @return [::String]
2613
+ # Required. The parent corpus to search.
2614
+ # Format: `projects/{project_id}/locations/{location_id}/corpora/{corpus_id}`
2615
+ # @!attribute [rw] page_size
2616
+ # @return [::Integer]
2617
+ # The number of results to be returned in this page. If it's 0, the server
2618
+ # will decide the appropriate page_size.
2619
+ # @!attribute [rw] page_token
2620
+ # @return [::String]
2621
+ # The continuation token to fetch the next page. If empty, it means it is
2622
+ # fetching the first page.
2623
+ # @!attribute [rw] content_time_ranges
2624
+ # @return [::Google::Cloud::VisionAI::V1::DateTimeRangeArray]
2625
+ # Time ranges that matching video content must fall within. If no ranges are
2626
+ # provided, there will be no time restriction. This field is treated just
2627
+ # like the criteria below, but defined separately for convenience as it is
2628
+ # used frequently. Note that if the end_time is in the future, it will be
2629
+ # clamped to the time the request was received.
2630
+ # @!attribute [rw] criteria
2631
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Criteria>]
2632
+ # Criteria applied to search results.
2633
+ # @!attribute [rw] facet_selections
2634
+ # @return [::Array<::Google::Cloud::VisionAI::V1::FacetGroup>]
2635
+ # Stores most recent facet selection state. Only facet groups with user's
2636
+ # selection will be presented here. Selection state is either selected or
2637
+ # unselected. Only selected facet buckets will be used as search criteria.
2638
+ # @!attribute [rw] result_annotation_keys
2639
+ # @return [::Array<::String>]
2640
+ # A list of annotation keys to specify the annotations to be retrieved and
2641
+ # returned with each search result.
2642
+ # Annotation granularity must be GRANULARITY_ASSET_LEVEL and its search
2643
+ # strategy must not be NO_SEARCH.
2644
+ # @!attribute [rw] search_query
2645
+ # @return [::String]
2646
+ # Global search query. Allows user to search assets without needing to
2647
+ # specify which field the value belongs to.
2648
+ class SearchAssetsRequest
2649
+ include ::Google::Protobuf::MessageExts
2650
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2651
+ end
2652
+
2653
+ # Request message for SearchIndexEndpoint.
2654
+ # @!attribute [rw] image_query
2655
+ # @return [::Google::Cloud::VisionAI::V1::ImageQuery]
2656
+ # An image-only query.
2657
+ # @!attribute [rw] text_query
2658
+ # @return [::String]
2659
+ # A text-only query.
2660
+ # @!attribute [rw] index_endpoint
2661
+ # @return [::String]
2662
+ # Required. The index endpoint to search.
2663
+ # Format:
2664
+ # `projects/{project_id}/locations/{location_id}/indexEndpoints/{index_endpoint_id}`
2665
+ # @!attribute [rw] criteria
2666
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Criteria>]
2667
+ # Criteria applied to search results.
2668
+ # @!attribute [rw] exclusion_criteria
2669
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Criteria>]
2670
+ # Criteria to exclude from search results.
2671
+ # Note that `fetch_matched_annotations` will be ignored.
2672
+ # @!attribute [rw] page_size
2673
+ # @return [::Integer]
2674
+ # Requested page size. API may return fewer results than requested.
2675
+ # If negative, INVALID_ARGUMENT error will be returned.
2676
+ # If unspecified or 0, API will pick a default size, which is 10.
2677
+ # If the requested page size is larger than the maximum size, API will pick
2678
+ # the maximum size, which is 100.
2679
+ # @!attribute [rw] page_token
2680
+ # @return [::String]
2681
+ # The continuation token to fetch the next page. If empty, it means it is
2682
+ # fetching the first page.
2683
+ class SearchIndexEndpointRequest
2684
+ include ::Google::Protobuf::MessageExts
2685
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2686
+ end
2687
+
2688
+ # Image query for search endpoint request.
2689
+ # @!attribute [rw] input_image
2690
+ # @return [::String]
2691
+ # Input image in raw bytes.
2692
+ # @!attribute [rw] asset
2693
+ # @return [::String]
2694
+ # Resource name of the asset. Only supported in IMAGE corpus type.
2695
+ # Format:
2696
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
2697
+ class ImageQuery
2698
+ include ::Google::Protobuf::MessageExts
2699
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2700
+ end
2701
+
2702
+ # A strategy to specify how to sort by data schema key.
2703
+ # @!attribute [rw] options
2704
+ # @return [::Array<::Google::Cloud::VisionAI::V1::SchemaKeySortingStrategy::Option>]
2705
+ # Options in the front have high priority than those in the back.
2706
+ class SchemaKeySortingStrategy
2707
+ include ::Google::Protobuf::MessageExts
2708
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2709
+
2710
+ # Option for one data schema key.
2711
+ # @!attribute [rw] data_schema_key
2712
+ # @return [::String]
2713
+ # The data used to sort.
2714
+ # @!attribute [rw] sort_decreasing
2715
+ # @return [::Boolean]
2716
+ # Whether to sort in decreasing order or increasing order.
2717
+ # By default, results are sorted in incresing order.
2718
+ # @!attribute [rw] aggregate_method
2719
+ # @return [::Google::Cloud::VisionAI::V1::SchemaKeySortingStrategy::Option::AggregateMethod]
2720
+ # Aggregate method for the current data schema key.
2721
+ class Option
2722
+ include ::Google::Protobuf::MessageExts
2723
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2724
+
2725
+ # When one result has multiple values with the same key, specify
2726
+ # which value is used to sort. By default, AGGREGATE_METHOD_LARGEST
2727
+ # is used when results are sorted in decreasing order,
2728
+ # AGGREGATE_METHOD_SMALLEST is used when results are sorted in
2729
+ # incresing order.
2730
+ module AggregateMethod
2731
+ # The unspecified aggregate method will be overwritten as mentioned
2732
+ # above.
2733
+ AGGREGATE_METHOD_UNSPECIFIED = 0
2734
+
2735
+ # Take the (lexicographical or numerical) largest value to sort.
2736
+ AGGREGATE_METHOD_LARGEST = 1
2737
+
2738
+ # Take the (lexicographical or numerical) smallest value to sort.
2739
+ AGGREGATE_METHOD_SMALLEST = 2
2740
+ end
2741
+ end
2742
+ end
2743
+
2744
+ # The metadata for DeleteAsset API that embeds in
2745
+ # {::Google::Longrunning::Operation#metadata metadata} field.
2746
+ class DeleteAssetMetadata
2747
+ include ::Google::Protobuf::MessageExts
2748
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2749
+ end
2750
+
2751
+ # Stores the criteria-annotation matching results for each search result item.
2752
+ # @!attribute [rw] criteria
2753
+ # @return [::Google::Cloud::VisionAI::V1::Criteria]
2754
+ # The criteria used for matching. It can be an input search criteria or a
2755
+ # criteria converted from a facet selection.
2756
+ # @!attribute [rw] matched_annotations
2757
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Annotation>]
2758
+ # Matched annotations for the criteria.
2759
+ # @!attribute [rw] status
2760
+ # @return [::Google::Rpc::Status]
2761
+ # Status of the match result. Possible values:
2762
+ # FAILED_PRECONDITION - the criteria is not eligible for match.
2763
+ # OK - matching is performed.
2764
+ class AnnotationMatchingResult
2765
+ include ::Google::Protobuf::MessageExts
2766
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2767
+ end
2768
+
2769
+ # Search result contains asset name and corresponding time ranges.
2770
+ # @!attribute [rw] asset
2771
+ # @return [::String]
2772
+ # The resource name of the asset.
2773
+ # Format:
2774
+ # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}`
2775
+ # @!attribute [rw] segments
2776
+ # @deprecated This field is deprecated and may be removed in the next major version update.
2777
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Partition::TemporalPartition>]
2778
+ # The matched asset segments.
2779
+ # Deprecated: please use singular `segment` field.
2780
+ # @!attribute [rw] segment
2781
+ # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition]
2782
+ # The matched asset segment.
2783
+ # @!attribute [rw] relevance
2784
+ # @return [::Float]
2785
+ # Available to IMAGE corpus types.
2786
+ # Relevance of this `SearchResultItem` to user search query (text query or
2787
+ # image query).
2788
+ # By default this represents cosine similarity between the query and the
2789
+ # retrieved media content. The value is in the range of [-1, 1].
2790
+ # Note that search ranking is not only decided by this relevance score,
2791
+ # but also other factors such as the match of annotations.
2792
+ # @!attribute [rw] requested_annotations
2793
+ # @return [::Array<::Google::Cloud::VisionAI::V1::Annotation>]
2794
+ # Search result annotations specified by result_annotation_keys in search
2795
+ # request.
2796
+ # @!attribute [rw] annotation_matching_results
2797
+ # @return [::Array<::Google::Cloud::VisionAI::V1::AnnotationMatchingResult>]
2798
+ # Criteria or facet-selection based annotation matching results associated to
2799
+ # this search result item. Only contains results for criteria or
2800
+ # facet_selections with fetch_matched_annotations=true.
2801
+ class SearchResultItem
2802
+ include ::Google::Protobuf::MessageExts
2803
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2804
+ end
2805
+
2806
+ # Response message for SearchAssets.
2807
+ # @!attribute [rw] search_result_items
2808
+ # @return [::Array<::Google::Cloud::VisionAI::V1::SearchResultItem>]
2809
+ # Returned search results.
2810
+ # @!attribute [rw] next_page_token
2811
+ # @return [::String]
2812
+ # The next-page continuation token.
2813
+ # @!attribute [rw] facet_results
2814
+ # @return [::Array<::Google::Cloud::VisionAI::V1::FacetGroup>]
2815
+ # Facet search results of a given query, which contains user's
2816
+ # already-selected facet values and updated facet search results.
2817
+ class SearchAssetsResponse
2818
+ include ::Google::Protobuf::MessageExts
2819
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2820
+ end
2821
+
2822
+ # Response message for SearchIndexEndpoint.
2823
+ # @!attribute [rw] search_result_items
2824
+ # @return [::Array<::Google::Cloud::VisionAI::V1::SearchResultItem>]
2825
+ # Returned search results.
2826
+ # @!attribute [rw] next_page_token
2827
+ # @return [::String]
2828
+ # The next-page continuation token.
2829
+ # If this field is omitted, there are no subsequent pages.
2830
+ class SearchIndexEndpointResponse
2831
+ include ::Google::Protobuf::MessageExts
2832
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2833
+ end
2834
+
2835
+ # Integer range type.
2836
+ # @!attribute [rw] start
2837
+ # @return [::Integer]
2838
+ # Start of the int range.
2839
+ # @!attribute [rw] end
2840
+ # @return [::Integer]
2841
+ # End of the int range.
2842
+ class IntRange
2843
+ include ::Google::Protobuf::MessageExts
2844
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2845
+ end
2846
+
2847
+ # Float range type.
2848
+ # @!attribute [rw] start
2849
+ # @return [::Float]
2850
+ # Start of the float range.
2851
+ # @!attribute [rw] end
2852
+ # @return [::Float]
2853
+ # End of the float range.
2854
+ class FloatRange
2855
+ include ::Google::Protobuf::MessageExts
2856
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2857
+ end
2858
+
2859
+ # A list of string-type values.
2860
+ # @!attribute [rw] txt_values
2861
+ # @return [::Array<::String>]
2862
+ # String type values.
2863
+ class StringArray
2864
+ include ::Google::Protobuf::MessageExts
2865
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2866
+ end
2867
+
2868
+ # A list of integer range values.
2869
+ # @!attribute [rw] int_ranges
2870
+ # @return [::Array<::Google::Cloud::VisionAI::V1::IntRange>]
2871
+ # Int range values.
2872
+ class IntRangeArray
2873
+ include ::Google::Protobuf::MessageExts
2874
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2875
+ end
2876
+
2877
+ # A list of float range values.
2878
+ # @!attribute [rw] float_ranges
2879
+ # @return [::Array<::Google::Cloud::VisionAI::V1::FloatRange>]
2880
+ # Float range values.
2881
+ class FloatRangeArray
2882
+ include ::Google::Protobuf::MessageExts
2883
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2884
+ end
2885
+
2886
+ # Datetime range type.
2887
+ # @!attribute [rw] start
2888
+ # @return [::Google::Type::DateTime]
2889
+ # Start date time.
2890
+ # @!attribute [rw] end
2891
+ # @return [::Google::Type::DateTime]
2892
+ # End data time.
2893
+ class DateTimeRange
2894
+ include ::Google::Protobuf::MessageExts
2895
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2896
+ end
2897
+
2898
+ # A list of datetime range values.
2899
+ # @!attribute [rw] date_time_ranges
2900
+ # @return [::Array<::Google::Cloud::VisionAI::V1::DateTimeRange>]
2901
+ # Date time ranges.
2902
+ class DateTimeRangeArray
2903
+ include ::Google::Protobuf::MessageExts
2904
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2905
+ end
2906
+
2907
+ # Representation of a circle area.
2908
+ # @!attribute [rw] latitude
2909
+ # @return [::Float]
2910
+ # Latitude of circle area's center. Degrees [-90 .. 90]
2911
+ # @!attribute [rw] longitude
2912
+ # @return [::Float]
2913
+ # Longitude of circle area's center. Degrees [-180 .. 180]
2914
+ # @!attribute [rw] radius_meter
2915
+ # @return [::Float]
2916
+ # Radius of the circle area in meters.
2917
+ class CircleArea
2918
+ include ::Google::Protobuf::MessageExts
2919
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2920
+ end
2921
+
2922
+ # A list of locations.
2923
+ # @!attribute [rw] circle_areas
2924
+ # @return [::Array<::Google::Cloud::VisionAI::V1::CircleArea>]
2925
+ # A list of circle areas.
2926
+ class GeoLocationArray
2927
+ include ::Google::Protobuf::MessageExts
2928
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2929
+ end
2930
+
2931
+ # @!attribute [rw] value
2932
+ # @return [::Boolean]
2933
+ class BoolValue
2934
+ include ::Google::Protobuf::MessageExts
2935
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2936
+ end
2937
+
2938
+ # Filter criteria applied to current search results.
2939
+ # @!attribute [rw] text_array
2940
+ # @return [::Google::Cloud::VisionAI::V1::StringArray]
2941
+ # The text values associated with the field.
2942
+ # @!attribute [rw] int_range_array
2943
+ # @return [::Google::Cloud::VisionAI::V1::IntRangeArray]
2944
+ # The integer ranges associated with the field.
2945
+ # @!attribute [rw] float_range_array
2946
+ # @return [::Google::Cloud::VisionAI::V1::FloatRangeArray]
2947
+ # The float ranges associated with the field.
2948
+ # @!attribute [rw] date_time_range_array
2949
+ # @return [::Google::Cloud::VisionAI::V1::DateTimeRangeArray]
2950
+ # The datetime ranges associated with the field.
2951
+ # @!attribute [rw] geo_location_array
2952
+ # @return [::Google::Cloud::VisionAI::V1::GeoLocationArray]
2953
+ # Geo Location array.
2954
+ # @!attribute [rw] bool_value
2955
+ # @return [::Google::Cloud::VisionAI::V1::BoolValue]
2956
+ # A Boolean value.
2957
+ # @!attribute [rw] field
2958
+ # @return [::String]
2959
+ # The UGA field or ML field to apply filtering criteria.
2960
+ # @!attribute [rw] fetch_matched_annotations
2961
+ # @return [::Boolean]
2962
+ # If true, return query matched annotations for this criteria.
2963
+ # This option is only applicable for inclusion criteria, i.e., not exclusion
2964
+ # criteria, with partition level annotations. It supports the following data
2965
+ # types:
2966
+ # - INTEGER
2967
+ # - FLOAT
2968
+ # - STRING (DataSchema.SearchStrategy.EXACT_SEARCH only)
2969
+ # - BOOLEAN
2970
+ class Criteria
2971
+ include ::Google::Protobuf::MessageExts
2972
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2973
+ end
2974
+
2975
+ # Partition to specify the partition in time and space for sub-asset level
2976
+ # annotation.
2977
+ # @!attribute [rw] temporal_partition
2978
+ # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition]
2979
+ # Partition of asset in time.
2980
+ # @!attribute [rw] spatial_partition
2981
+ # @return [::Google::Cloud::VisionAI::V1::Partition::SpatialPartition]
2982
+ # Partition of asset in space.
2983
+ # @!attribute [rw] relative_temporal_partition
2984
+ # @return [::Google::Cloud::VisionAI::V1::Partition::RelativeTemporalPartition]
2985
+ # Partition of asset in time.
2986
+ class Partition
2987
+ include ::Google::Protobuf::MessageExts
2988
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2989
+
2990
+ # Partition of asset in UTC Epoch time. Supported by STREAM_VIDEO corpus
2991
+ # type.
2992
+ # @!attribute [rw] start_time
2993
+ # @return [::Google::Protobuf::Timestamp]
2994
+ # Start time of the partition.
2995
+ # @!attribute [rw] end_time
2996
+ # @return [::Google::Protobuf::Timestamp]
2997
+ # End time of the partition.
2998
+ class TemporalPartition
2999
+ include ::Google::Protobuf::MessageExts
3000
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3001
+ end
3002
+
3003
+ # Partition of asset in space.
3004
+ # @!attribute [rw] x_min
3005
+ # @return [::Integer]
3006
+ # The minimum x coordinate value.
3007
+ # @!attribute [rw] y_min
3008
+ # @return [::Integer]
3009
+ # The minimum y coordinate value.
3010
+ # @!attribute [rw] x_max
3011
+ # @return [::Integer]
3012
+ # The maximum x coordinate value.
3013
+ # @!attribute [rw] y_max
3014
+ # @return [::Integer]
3015
+ # The maximum y coordinate value.
3016
+ class SpatialPartition
3017
+ include ::Google::Protobuf::MessageExts
3018
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3019
+ end
3020
+
3021
+ # Partition of asset in relative time. Supported by VIDEO_ON_DEMAND corpus
3022
+ # type.
3023
+ # @!attribute [rw] start_offset
3024
+ # @return [::Google::Protobuf::Duration]
3025
+ # Start time offset of the partition.
3026
+ # @!attribute [rw] end_offset
3027
+ # @return [::Google::Protobuf::Duration]
3028
+ # End time offset of the partition.
3029
+ class RelativeTemporalPartition
3030
+ include ::Google::Protobuf::MessageExts
3031
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3032
+ end
3033
+ end
3034
+
3035
+ # Different types for a facet bucket.
3036
+ module FacetBucketType
3037
+ # Unspecified type.
3038
+ FACET_BUCKET_TYPE_UNSPECIFIED = 0
3039
+
3040
+ # Value type.
3041
+ FACET_BUCKET_TYPE_VALUE = 1
3042
+
3043
+ # Datetime type.
3044
+ FACET_BUCKET_TYPE_DATETIME = 2
3045
+
3046
+ # Fixed Range type.
3047
+ FACET_BUCKET_TYPE_FIXED_RANGE = 3
3048
+
3049
+ # Custom Range type.
3050
+ FACET_BUCKET_TYPE_CUSTOM_RANGE = 4
3051
+ end
3052
+ end
3053
+ end
3054
+ end
3055
+ end