# frozen_string_literal: true # Copyright 2024 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Auto-generated by gapic-generator-ruby. DO NOT EDIT! module Google module Cloud module VisionAI module V1 # Request message for CreateAssetRequest. # @!attribute [rw] parent # @return [::String] # Required. The parent resource where this asset will be created. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}` # @!attribute [rw] asset # @return [::Google::Cloud::VisionAI::V1::Asset] # Required. The asset to create. # @!attribute [rw] asset_id # @return [::String] # Optional. The ID to use for the asset, which will become the final # component of the asset's resource name if user choose to specify. # Otherwise, asset id will be generated by system. # # This value should be up to 63 characters, and valid characters # are /[a-z][0-9]-/. The first character must be a letter, the last could be # a letter or a number. class CreateAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for GetAsset. # @!attribute [rw] name # @return [::String] # Required. The name of the asset to retrieve. # Format: # projects/\\{project_number}/locations/\\{location}/corpora/\\{corpus}/assets/\\{asset} class GetAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ListAssets. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of assets. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}` # @!attribute [rw] page_size # @return [::Integer] # The maximum number of assets to return. The service may return fewer than # this value. # If unspecified, at most 50 assets will be returned. # The maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # A page token, received from a previous `ListAssets` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListAssets` must match # the call that provided the page token. # @!attribute [rw] filter # @return [::String] # The filter applied to the returned list. # Only the following filterings are supported: # "assets_with_contents = true", which returns assets with contents uploaded; # "assets_with_contents = false", which returns assets without contents. class ListAssetsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ListAssets. # @!attribute [rw] assets # @return [::Array<::Google::Cloud::VisionAI::V1::Asset>] # The assets from the specified corpus. # @!attribute [rw] next_page_token # @return [::String] # A token, which can be sent as `page_token` to retrieve the next page. # If this field is omitted, there are no subsequent pages. class ListAssetsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for UpdateAsset. # @!attribute [rw] asset # @return [::Google::Cloud::VisionAI::V1::Asset] # Required. The asset to update. # # The asset's `name` field is used to identify the asset to be updated. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}` # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # The list of fields to be updated. class UpdateAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for DeleteAsset. # @!attribute [rw] name # @return [::String] # Required. The name of the asset to delete. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}` class DeleteAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The source of the asset. # @!attribute [rw] asset_gcs_source # @return [::Google::Cloud::VisionAI::V1::AssetSource::AssetGcsSource] # The source of the asset is from Cloud Storage. # @!attribute [rw] asset_content_data # @return [::Google::Cloud::VisionAI::V1::AssetSource::AssetContentData] # The source of the asset is from content bytes. class AssetSource include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The asset source is from Cloud Storage. # @!attribute [rw] gcs_uri # @return [::String] # Cloud storage uri. class AssetGcsSource include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The content of the asset. # @!attribute [rw] asset_content_data # @return [::String] class AssetContentData include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # Request message for UploadAsset. # @!attribute [rw] name # @return [::String] # Required. The resource name of the asset to upload. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` # @!attribute [rw] asset_source # @return [::Google::Cloud::VisionAI::V1::AssetSource] # The source of the asset. class UploadAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for UploadAsset. class UploadAssetResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata for UploadAsset. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # The start time of the operation. # @!attribute [rw] update_time # @return [::Google::Protobuf::Timestamp] # The update time of the operation. class UploadAssetMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for GenerateRetrievalUrl API. # @!attribute [rw] name # @return [::String] # Required. The resource name of the asset to request signed url for. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` class GenerateRetrievalUrlRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for GenerateRetrievalUrl API. # @!attribute [rw] signed_uri # @return [::String] # A signed url to download the content of the asset. class GenerateRetrievalUrlResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # An asset is a resource in corpus. It represents a media object inside corpus, # contains metadata and another resource annotation. Different feature could be # applied to the asset to generate annotations. User could specified annotation # related to the target asset. # @!attribute [rw] name # @return [::String] # Resource name of the asset. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` # @!attribute [rw] ttl # @return [::Google::Protobuf::Duration] # The duration for which all media assets, associated metadata, and search # documents can exist. If not set, then it will using the default ttl in the # parent corpus resource. # @!attribute [r] asset_gcs_source # @return [::Google::Cloud::VisionAI::V1::AssetSource::AssetGcsSource] # Output only. The original cloud storage source uri that is associated with # this asset. class Asset include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for AnalyzeAsset. # @!attribute [rw] name # @return [::String] # Required. The resource name of the asset to analyze. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` class AnalyzeAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata for AnalyzeAsset. # @!attribute [rw] analysis_status # @return [::Array<::Google::Cloud::VisionAI::V1::AnalyzeAssetMetadata::AnalysisStatus>] # The status of analysis on all search capabilities. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # The start time of the operation. # @!attribute [rw] update_time # @return [::Google::Protobuf::Timestamp] # The update time of the operation. class AnalyzeAssetMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The status of analysis on each search capability. # @!attribute [rw] state # @return [::Google::Cloud::VisionAI::V1::AnalyzeAssetMetadata::AnalysisStatus::State] # @!attribute [rw] status_message # @return [::String] # @!attribute [rw] search_capability # @return [::Google::Cloud::VisionAI::V1::SearchCapability] # The search capability requested. class AnalysisStatus include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The state of the search capability. module State # The default process state should never happen. STATE_UNSPECIFIED = 0 # The ml model analysis is in progress. IN_PROGRESS = 1 # The ml model analysis is successfully done. SUCCEEDED = 2 # The ml model analysis failed. FAILED = 3 end end end # Response message for AnalyzeAsset. class AnalyzeAssetResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The status of indexing for the asset. # @!attribute [r] state # @return [::Google::Cloud::VisionAI::V1::IndexingStatus::State] # Output only. State of this asset's indexing. # @!attribute [rw] status_message # @return [::String] # Detailed message describing the state. class IndexingStatus include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # State enum for this asset's indexing. module State # The default process state should never happen. STATE_UNSPECIFIED = 0 # The indexing is in progress. IN_PROGRESS = 1 # The process is successfully done. SUCCEEDED = 2 # The process failed. FAILED = 3 end end # Request message for IndexAsset. # @!attribute [rw] name # @return [::String] # Required. The resource name of the asset to index. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` # @!attribute [rw] index # @return [::String] # Optional. The name of the index. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}` class IndexAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata for IndexAsset. # @!attribute [rw] status # @return [::Google::Cloud::VisionAI::V1::IndexingStatus] # The status of indexing this asset. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # The start time of the operation. # @!attribute [rw] update_time # @return [::Google::Protobuf::Timestamp] # The update time of the operation. class IndexAssetMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for IndexAsset. class IndexAssetResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for RemoveIndexAsset. # @!attribute [rw] name # @return [::String] # Required. The resource name of the asset to index. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` # @!attribute [rw] index # @return [::String] # Optional. The name of the index. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}` class RemoveIndexAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata for RemoveIndexAsset. # @!attribute [rw] indexing_status # @return [::Google::Cloud::VisionAI::V1::IndexingStatus] # The status of indexing this asset. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # The start time of the operation. # @!attribute [rw] update_time # @return [::Google::Protobuf::Timestamp] # The update time of the operation. class RemoveIndexAssetMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for RemoveIndexAsset. class RemoveIndexAssetResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # An IndexedAsset is an asset that the index is built upon. # @!attribute [rw] index # @return [::String] # Required. The index that this indexed asset belongs to. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}` # @!attribute [rw] asset # @return [::String] # Required. The resource name of the asset. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The create timestamp. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. The update timestamp. class IndexedAsset include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ViewIndexedAssets. # @!attribute [rw] index # @return [::String] # Required. The index that owns this collection of assets. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}` # @!attribute [rw] page_size # @return [::Integer] # The maximum number of assets to return. The service may return fewer than # this value. # If unspecified, at most 50 assets will be returned. # The maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # A page token, received from a previous `ViewIndexedAssets` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ViewIndexedAssets` must # match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # The filter applied to the returned list. # Only the following filterings are supported: # "asset_id = xxxx", which returns asset with specified id. # "asset_id = xxxx, yyyy, zzzz", which returns assets with specified ids. class ViewIndexedAssetsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ViewIndexedAssets. # @!attribute [rw] indexed_assets # @return [::Array<::Google::Cloud::VisionAI::V1::IndexedAsset>] # The assets from the specified index. # @!attribute [rw] next_page_token # @return [::String] # A token, which can be sent as `page_token` to retrieve the next page. # If this field is omitted, there are no subsequent pages. class ViewIndexedAssetsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message of CreateCorpus API. # @!attribute [rw] parent # @return [::String] # Required. Form: `projects/{project_number}/locations/{location_id}` # @!attribute [rw] corpus # @return [::Google::Cloud::VisionAI::V1::Corpus] # Required. The corpus to be created. class CreateCorpusRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata for CreateCorpus API. # @!attribute [rw] create_time # @return [::Google::Protobuf::Timestamp] # The create time of the create corpus operation. # @!attribute [rw] update_time # @return [::Google::Protobuf::Timestamp] # The update time of the create corpus operation. class CreateCorpusMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The capability and metadata of search capability. # @!attribute [rw] type # @return [::Google::Cloud::VisionAI::V1::SearchCapability::Type] # The search capability to enable. class SearchCapability include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Capability to perform different search on assets. module Type # Unspecified search capability, should never be used. TYPE_UNSPECIFIED = 0 # Embedding search. EMBEDDING_SEARCH = 1 end end # Setting for search capability to enable. # @!attribute [rw] search_capabilities # @return [::Array<::Google::Cloud::VisionAI::V1::SearchCapability>] # The metadata of search capability to enable. class SearchCapabilitySetting include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for CreateCollectionRequest # @!attribute [rw] operation_metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # Common metadata of the long-running operation. class CreateCollectionMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for CreateCollection. # @!attribute [rw] parent # @return [::String] # Required. The parent resource where this collection will be created. # Format: `projects/{project_number}/locations/{location}/corpora/{corpus}` # @!attribute [rw] collection # @return [::Google::Cloud::VisionAI::V1::Collection] # Required. The collection resource to be created. # @!attribute [rw] collection_id # @return [::String] # Optional. The ID to use for the collection, which will become the final # component of the resource name if user choose to specify. Otherwise, # collection id will be generated by system. # # This value should be up to 55 characters, and valid characters # are /[a-z][0-9]-/. The first character must be a letter, the last could be # a letter or a number. class CreateCollectionRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for DeleteCollectionRequest # @!attribute [rw] operation_metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # Common metadata of the long-running operation. class DeleteCollectionMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for DeleteCollectionRequest. # @!attribute [rw] name # @return [::String] # Required. The name of the collection to delete. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}` class DeleteCollectionRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for GetCollectionRequest. # @!attribute [rw] name # @return [::String] # Required. The name of the collection to retrieve. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}` class GetCollectionRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for UpdateCollectionRequest. # @!attribute [rw] collection # @return [::Google::Cloud::VisionAI::V1::Collection] # Required. The collection to update. # # The collection's `name` field is used to identify the collection to be # updated. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}` # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # The list of fields to be updated. # - Unset `update_mask` or set `update_mask` to be a single "*" only will # update all updatable fields with the value provided in `collection`. # - To update `display_name` value to empty string, set it in the # `collection` # to empty string, and set `update_mask` with "display_name". Same applies # to other updatable string fields in the `collection`. class UpdateCollectionRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ListCollections. # @!attribute [rw] parent # @return [::String] # Required. The parent corpus. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}` # @!attribute [rw] page_size # @return [::Integer] # The maximum number of collections to return. The service may return fewer # than this value. If unspecified, at most 50 collections will be returned. # The maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # A page token, received from a previous `ListCollectionsRequest` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListCollectionsRequest` # must match the call that provided the page token. class ListCollectionsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ListCollections. # @!attribute [rw] collections # @return [::Array<::Google::Cloud::VisionAI::V1::Collection>] # The collections from the specified corpus. # @!attribute [rw] next_page_token # @return [::String] # A token, which can be sent as `page_token` to retrieve the next page. # If this field is omitted, there are no subsequent pages. class ListCollectionsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for AddCollectionItem. # @!attribute [rw] item # @return [::Google::Cloud::VisionAI::V1::CollectionItem] # Required. The item to be added. class AddCollectionItemRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for AddCollectionItem. # @!attribute [rw] item # @return [::Google::Cloud::VisionAI::V1::CollectionItem] # The item that has already been added. class AddCollectionItemResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for RemoveCollectionItem. # @!attribute [rw] item # @return [::Google::Cloud::VisionAI::V1::CollectionItem] # Required. The item to be removed. class RemoveCollectionItemRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for RemoveCollectionItem. # @!attribute [rw] item # @return [::Google::Cloud::VisionAI::V1::CollectionItem] # The item that has already been removed. class RemoveCollectionItemResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ViewCollectionItems. # @!attribute [rw] collection # @return [::String] # Required. The collection to view. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}` # @!attribute [rw] page_size # @return [::Integer] # The maximum number of collections to return. The service may return fewer # than this value. If unspecified, at most 50 collections will be returned. # The maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # A page token, received from a previous `ViewCollectionItemsRequest` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to # `ViewCollectionItemsRequest` must match the call that provided the page # token. class ViewCollectionItemsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ViewCollectionItems. # @!attribute [rw] items # @return [::Array<::Google::Cloud::VisionAI::V1::CollectionItem>] # The items from the specified collection. # @!attribute [rw] next_page_token # @return [::String] # A token, which can be sent as `page_token` to retrieve the next page. # If this field is omitted, there are no subsequent pages. class ViewCollectionItemsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A collection is a resource in a corpus. It serves as a container of # references to original resources. # @!attribute [r] name # @return [::String] # Output only. Resource name of the collection. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}` # @!attribute [rw] display_name # @return [::String] # Optional. The collection name for displaying. # The name can be up to 256 characters long. # @!attribute [rw] description # @return [::String] # Optional. Description of the collection. Can be up to 25000 characters # long. class Collection include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A CollectionItem is an item in a collection. # Each item is a reference to the original resource in a collection. # @!attribute [rw] collection # @return [::String] # Required. The collection name that this item belongs to. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/collections/{collection}` # @!attribute [rw] type # @return [::Google::Cloud::VisionAI::V1::CollectionItem::Type] # Required. The type of item. # @!attribute [rw] item_resource # @return [::String] # Required. The name of the CollectionItem. Its format depends on the `type` # above. For ASSET: # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}` class CollectionItem include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # CollectionItem types. module Type # The default type of item should never happen. TYPE_UNSPECIFIED = 0 # Asset type item. ASSET = 1 end end # Message for creating an Index. # @!attribute [rw] parent # @return [::String] # Required. Value for the parent. The resource name of the Corpus under which # this index is created. Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}` # @!attribute [rw] index_id # @return [::String] # Optional. The ID for the index. This will become the final resource name # for the index. If the user does not specify this value, it will be # generated by system. # # This value should be up to 63 characters, and valid characters # are /[a-z][0-9]-/. The first character must be a letter, the last could be # a letter or a number. # @!attribute [rw] index # @return [::Google::Cloud::VisionAI::V1::Index] # Required. The index being created. class CreateIndexRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for CreateIndexRequest # @!attribute [rw] operation_metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # Common metadata of the long-running operation. class CreateIndexMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for UpdateIndex. # @!attribute [rw] index # @return [::Google::Cloud::VisionAI::V1::Index] # Required. The resource being updated. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Required. Field mask is used to specify the fields to be overwritten in the # Index resource by the update. The fields specified in the update_mask are # relative to the resource, not the full request. A field of the resource # will be overwritten if it is in the mask. Empty field mask is not allowed. # If the mask is "*", it triggers a full update of the index, and also a # whole rebuild of index data. class UpdateIndexRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for UpdateIndexRequest # @!attribute [rw] operation_metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # Common metadata of the long-running operation. class UpdateIndexMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for getting an Index. # @!attribute [rw] name # @return [::String] # Required. Name of the Index resource. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}` class GetIndexRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for listing Indexes. # @!attribute [rw] parent # @return [::String] # Required. The parent corpus that owns this collection of indexes. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}` # @!attribute [rw] page_size # @return [::Integer] # The maximum number of indexes to return. The service may return fewer than # this value. # If unspecified, at most 50 indexes will be returned. # The maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # A page token, received from a previous `ListIndexes` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListIndexes` must match # the call that provided the page token. class ListIndexesRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ListIndexes. # @!attribute [rw] indexes # @return [::Array<::Google::Cloud::VisionAI::V1::Index>] # The indexes under the specified corpus. # @!attribute [rw] next_page_token # @return [::String] # A token, which can be sent as `page_token` to retrieve the next page. # If this field is omitted, there are no subsequent pages. class ListIndexesResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for DeleteIndex. # @!attribute [rw] name # @return [::String] # Required. The name of the index to delete. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/indexes/{index}` class DeleteIndexRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for DeleteIndexRequest class DeleteIndexMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # An Index is a resource in Corpus. It contains an indexed version of the # assets and annotations. When deployed to an endpoint, it will allow users to # search the Index. # @!attribute [rw] entire_corpus # @return [::Boolean] # Include all assets under the corpus. # @!attribute [r] name # @return [::String] # Output only. Resource name of the Index resource. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/indexes/{index_id}` # @!attribute [rw] display_name # @return [::String] # Optional. Optional user-specified display name of the index. # @!attribute [rw] description # @return [::String] # Optional. Optional description of the index. # @!attribute [r] state # @return [::Google::Cloud::VisionAI::V1::Index::State] # Output only. State of the index. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. The create timestamp. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. The update timestamp. # @!attribute [r] deployed_indexes # @return [::Array<::Google::Cloud::VisionAI::V1::DeployedIndexReference>] # Output only. References to the deployed index instance. # Index of VIDEO_ON_DEMAND corpus can have at most one deployed index. # Index of IMAGE corpus can have multiple deployed indexes. # @!attribute [r] satisfies_pzs # @return [::Boolean] # Output only. This boolean field is only set for projects that have Physical # Zone Separation enabled via an Org Policy constraint. It is set to true # when the index is a valid zone separated index and false if it isn't. # @!attribute [r] satisfies_pzi # @return [::Boolean] # Output only. This boolean field is only set for projects that have Physical # Zone Isolation enabled via an Org Policy constraint. It is set to true when # the index is a valid zone isolated index and false if it isn't. class Index include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Enum representing the different states through which an Index might cycle # during its lifetime. module State # The default value. Should not be used. STATE_UNSPECIFIED = 0 # State CREATING. CREATING = 1 # State CREATED. CREATED = 2 # State UPDATING. UPDATING = 3 end end # Points to a DeployedIndex. # @!attribute [rw] index_endpoint # @return [::String] # Immutable. A resource name of the IndexEndpoint. class DeployedIndexReference include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Corpus is a set of media contents for management. # Within a corpus, media shares the same data schema. Search is also restricted # within a single corpus. # @!attribute [rw] name # @return [::String] # Resource name of the corpus. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}` # @!attribute [rw] display_name # @return [::String] # Required. The corpus name to shown in the UI. The name can be up to 32 # characters long. # @!attribute [rw] description # @return [::String] # Optional. Description of the corpus. Can be up to 25000 characters long. # @!attribute [rw] default_ttl # @return [::Google::Protobuf::Duration] # Optional. The default TTL value for all assets under the corpus without a # asset level user-defined TTL. For STREAM_VIDEO type corpora, this is # required and the maximum allowed # default_ttl is 10 years. # @!attribute [rw] type # @return [::Google::Cloud::VisionAI::V1::Corpus::Type] # Optional. Type of the asset inside corpus. # @!attribute [rw] search_capability_setting # @return [::Google::Cloud::VisionAI::V1::SearchCapabilitySetting] # Default search capability setting on corpus level. # @!attribute [r] satisfies_pzs # @return [::Boolean] # Output only. This boolean field is only set for projects that have Physical # Zone Separation enabled via an Org Policy constraint. It is set to true # when the corpus is a valid zone separated corpus and false if it isn't. # @!attribute [r] satisfies_pzi # @return [::Boolean] # Output only. This boolean field is only set for projects that have Physical # Zone Isolation enabled via an Org Policy constraint. It is set to true when # the corpus is a valid zone isolated corpus and false if it isn't. class Corpus include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Type of the asset inside the corpus. module Type # The default type, not supposed to be used. If this default type is used, # the corpus will be created as STREAM_VIDEO corpus. TYPE_UNSPECIFIED = 0 # Asset is a live streaming video. STREAM_VIDEO = 1 # Asset is an image. IMAGE = 2 # Asset is a batch video. VIDEO_ON_DEMAND = 3 end end # Request message for GetCorpus. # @!attribute [rw] name # @return [::String] # Required. The resource name of the corpus to retrieve. class GetCorpusRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for UpdateCorpus. # @!attribute [rw] corpus # @return [::Google::Cloud::VisionAI::V1::Corpus] # Required. The corpus which replaces the resource on the server. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # The list of fields to be updated. class UpdateCorpusRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ListCorpora. # @!attribute [rw] parent # @return [::String] # Required. The resource name of the project from which to list corpora. # @!attribute [rw] page_size # @return [::Integer] # Requested page size. API may return fewer results than requested. # If negative, INVALID_ARGUMENT error will be returned. # If unspecified or 0, API will pick a default size, which is 10. # If the requested page size is larger than the maximum size, API will pick # use the maximum size, which is 20. # @!attribute [rw] page_token # @return [::String] # A token identifying a page of results for the server to return. # Typically obtained via # {::Google::Cloud::VisionAI::V1::ListCorporaResponse#next_page_token ListCorporaResponse.next_page_token} # of the previous # {::Google::Cloud::VisionAI::V1::Warehouse::Client#list_corpora Warehouse.ListCorpora} # call. # @!attribute [rw] filter # @return [::String] # The filter applied to the returned corpora list. # Only the following restrictions are supported: # `type=<Corpus.Type>`, # `type!=<Corpus.Type>`. class ListCorporaRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ListCorpora. # @!attribute [rw] corpora # @return [::Array<::Google::Cloud::VisionAI::V1::Corpus>] # The corpora in the project. # @!attribute [rw] next_page_token # @return [::String] # A token to retrieve next page of results. # Pass to # {::Google::Cloud::VisionAI::V1::ListCorporaRequest#page_token ListCorporaRequest.page_token} # to obtain that page. class ListCorporaResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for DeleteCorpus. # @!attribute [rw] name # @return [::String] # Required. The resource name of the corpus to delete. class DeleteCorpusRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for AnalyzeCorpus. # @!attribute [rw] name # @return [::String] # Required. The parent corpus resource where the assets will be analyzed. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}` class AnalyzeCorpusRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The metadata message for AnalyzeCorpus LRO. # @!attribute [rw] metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # The metadata of the operation. class AnalyzeCorpusMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The response message for AnalyzeCorpus LRO. class AnalyzeCorpusResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for CreateDataSchema. # @!attribute [rw] parent # @return [::String] # Required. The parent resource where this data schema will be created. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}` # @!attribute [rw] data_schema # @return [::Google::Cloud::VisionAI::V1::DataSchema] # Required. The data schema to create. class CreateDataSchemaRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Data schema indicates how the user specified annotation is interpreted in the # system. # @!attribute [rw] name # @return [::String] # Resource name of the data schema in the form of: # `projects/{project_number}/locations/{location}/corpora/{corpus}/dataSchemas/{data_schema}` # where \\{data_schema} part should be the same as the `key` field below. # @!attribute [rw] key # @return [::String] # Required. The key of this data schema. This key should be matching the key # of user specified annotation and unique inside corpus. This value can be up # to 63 characters, and valid characters are /[a-z][0-9]-/. The first # character must be a letter, the last could be a letter or a number. # @!attribute [rw] schema_details # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails] # The schema details mapping to the key. class DataSchema include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Data schema details indicates the data type and the data struct corresponding # to the key of user specified annotation. # @!attribute [rw] type # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::DataType] # Type of the annotation. # @!attribute [rw] proto_any_config # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::ProtoAnyConfig] # Config for protobuf any type. # @!attribute [rw] list_config # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::ListConfig] # Config for List data type. # @!attribute [rw] customized_struct_config # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::CustomizedStructConfig] # Config for CustomizedStruct data type. # @!attribute [rw] granularity # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::Granularity] # The granularity associated with this DataSchema. # @!attribute [rw] search_strategy # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::SearchStrategy] # The search strategy to be applied on the `key` above. class DataSchemaDetails include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The configuration for `PROTO_ANY` data type. # @!attribute [rw] type_uri # @return [::String] # The type URI of the proto message. class ProtoAnyConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The configuration for `LIST` data type. # @!attribute [rw] value_schema # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails] # The value's data schema in the list. class ListConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The configuration for `CUSTOMIZED_STRUCT` data type. # @!attribute [rw] field_schemas # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VisionAI::V1::DataSchemaDetails}] # Direct child elements data schemas. class CustomizedStructConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails] class FieldSchemasEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # The search strategy for annotations value of the `key`. # @!attribute [rw] search_strategy_type # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::SearchStrategy::SearchStrategyType] # The type of search strategy to be applied on the `key` above. # The allowed `search_strategy_type` is different for different data types, # which is documented in the DataSchemaDetails.DataType. Specifying # unsupported `search_strategy_type` for data types will result in # INVALID_ARGUMENT error. # @!attribute [rw] confidence_score_index_config # @return [::Google::Cloud::VisionAI::V1::DataSchemaDetails::SearchStrategy::ConfidenceScoreIndexConfig] # Optional. Configs the path to the confidence score, and the threshold. # Only if the score is greater than the threshold, current field will be # built into the index. Only applies to leaf nodes using EXACT_SEARCH or # SMART_SEARCH. class SearchStrategy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Filter on the confidence score. Only adds to index if the confidence # score is higher than the threshold. # Example data schema: # key: "name-confidence-pair" # type: CUSTOMIZED_STRUCT # granularity: GRANULARITY_PARTITION_LEVEL # customized_struct_config { # field_schemas { # key: "name" # type: STRING # granularity: GRANULARITY_PARTITION_LEVEL # search_strategy { # search_strategy_type: SMART_SEARCH # confidence_score_index_config { # field_path: "name-confidence-pair.score" # threshold: 0.6 # } # } # } # field_schemas { # key: "score" # type: FLOAT # granularity: GRANULARITY_PARTITION_LEVEL # } # } # This means only "name" with score > 0.6 will be indexed. # @!attribute [rw] field_path # @return [::String] # Required. The path to the confidence score field. It is a string that # concatenates all the data schema keys along the path. See the example # above. If the data schema contains LIST, use '_ENTRIES' to concatenate. # Example data schema contains a list: # "key": "list-name-score", # "schemaDetails": { # "type": "LIST", # "granularity": "GRANULARITY_PARTITION_LEVEL", # "listConfig": { # "valueSchema": { # "type": "CUSTOMIZED_STRUCT", # "granularity": "GRANULARITY_PARTITION_LEVEL", # "customizedStructConfig": { # "fieldSchemas": { # "name": { # "type": "STRING", # "granularity": "GRANULARITY_PARTITION_LEVEL", # "searchStrategy": { # "searchStrategyType": "SMART_SEARCH" # "confidence_score_index_config": { # "field_path": "list-name-score._ENTRIES.score", # "threshold": "0.9", # } # } # }, # "score": { # "type": "FLOAT", # "granularity": "GRANULARITY_PARTITION_LEVEL", # } # } # } # } # } # } # @!attribute [rw] threshold # @return [::Float] # Required. The threshold. class ConfidenceScoreIndexConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The types of search strategies to be applied on the annotation key. module SearchStrategyType # Annotatation values of the `key` above will not be searchable. NO_SEARCH = 0 # When searching with `key`, the value must be exactly as the annotation # value that has been ingested. EXACT_SEARCH = 1 # When searching with `key`, Warehouse will perform broad search based on # semantic of the annotation value. SMART_SEARCH = 2 end end # Data type of the annotation. module DataType # Unspecified type. DATA_TYPE_UNSPECIFIED = 0 # Integer type. # Allowed search strategies: # - DataSchema.SearchStrategy.NO_SEARCH, # - DataSchema.SearchStrategy.EXACT_SEARCH. # Supports query by IntRangeArray. INTEGER = 1 # Float type. # Allowed search strategies: # - DataSchema.SearchStrategy.NO_SEARCH, # - DataSchema.SearchStrategy.EXACT_SEARCH. # Supports query by FloatRangeArray. FLOAT = 2 # String type. # Allowed search strategies: # - DataSchema.SearchStrategy.NO_SEARCH, # - DataSchema.SearchStrategy.EXACT_SEARCH, # - DataSchema.SearchStrategy.SMART_SEARCH. STRING = 3 # Supported formats: # %Y-%m-%dT%H:%M:%E*S%E*z (absl::RFC3339_full) # %Y-%m-%dT%H:%M:%E*S # %Y-%m-%dT%H:%M%E*z # %Y-%m-%dT%H:%M # %Y-%m-%dT%H%E*z # %Y-%m-%dT%H # %Y-%m-%d%E*z # %Y-%m-%d # %Y-%m # %Y # Allowed search strategies: # - DataSchema.SearchStrategy.NO_SEARCH, # - DataSchema.SearchStrategy.EXACT_SEARCH. # Supports query by DateTimeRangeArray. DATETIME = 5 # Geo coordinate type. # Allowed search strategies: # - DataSchema.SearchStrategy.NO_SEARCH, # - DataSchema.SearchStrategy.EXACT_SEARCH. # Supports query by GeoLocationArray. GEO_COORDINATE = 7 # Type to pass any proto as available in annotations.proto. Only use # internally. # Available proto types and its corresponding search behavior: # - ImageObjectDetectionPredictionResult, allows SMART_SEARCH on # display_names and NO_SEARCH. # - ClassificationPredictionResult, allows SMART_SEARCH on display_names # and NO_SEARCH. # - ImageSegmentationPredictionResult, allows NO_SEARCH. # - VideoActionRecognitionPredictionResult, allows SMART_SEARCH on # display_name and NO_SEARCH. # - VideoObjectTrackingPredictionResult, allows SMART_SEARCH on # display_name and NO_SEARCH. # - VideoClassificationPredictionResult, allows SMART_SEARCH on # display_name and NO_SEARCH. # - OccupancyCountingPredictionResult, allows EXACT_SEARCH on # stats.full_frame_count.count and NO_SEARCH. # - ObjectDetectionPredictionResult, allows SMART_SEARCH on # identified_boxes.entity.label_string and NO_SEARCH. PROTO_ANY = 8 # Boolean type. # Allowed search strategies: # - DataSchema.SearchStrategy.NO_SEARCH, # - DataSchema.SearchStrategy.EXACT_SEARCH. BOOLEAN = 9 # List type. # - Each element in the list must be of the exact same data schema; # otherwise, they are invalid arguments. # - List level cannot set search strategy. Leaf node level can do. # - Elements cannot be another list (no list of list). # - Elements can be CUSTOMIZED_STRUCT, and max number of layers is 10. LIST = 10 # Struct type. # - SearchStrategy: # * Data Schema that's CUSTOMIZED_STRUCT cannot set search strategy. # * Leaf-node elements allow setting search strategy based on element's # SearchStrategy restriction. # - Nested layer restrictions: # * Data Schema that's CUSTOMIZED_STRUCT allows its fields to be of # CUSTOMIZED_STRUCT as well, but the overall layers restriction is 10. CUSTOMIZED_STRUCT = 6 end # The granularity of annotations under this DataSchema. module Granularity # Unspecified granularity. GRANULARITY_UNSPECIFIED = 0 # Asset-level granularity (annotations must not contain partition info). GRANULARITY_ASSET_LEVEL = 1 # Partition-level granularity (annotations must contain partition info). GRANULARITY_PARTITION_LEVEL = 2 end end # Request message for UpdateDataSchema. # @!attribute [rw] data_schema # @return [::Google::Cloud::VisionAI::V1::DataSchema] # Required. The data schema's `name` field is used to identify the data # schema to be updated. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/dataSchemas/{data_schema}` # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # The list of fields to be updated. class UpdateDataSchemaRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for GetDataSchema. # @!attribute [rw] name # @return [::String] # Required. The name of the data schema to retrieve. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/dataSchemas/{data_schema_id}` class GetDataSchemaRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for DeleteDataSchema. # @!attribute [rw] name # @return [::String] # Required. The name of the data schema to delete. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/dataSchemas/{data_schema_id}` class DeleteDataSchemaRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ListDataSchemas. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of data schemas. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}` # @!attribute [rw] page_size # @return [::Integer] # The maximum number of data schemas to return. The service may return fewer # than this value. If unspecified, at most 50 data schemas will be returned. # The maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # A page token, received from a previous `ListDataSchemas` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListDataSchemas` must # match the call that provided the page token. class ListDataSchemasRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ListDataSchemas. # @!attribute [rw] data_schemas # @return [::Array<::Google::Cloud::VisionAI::V1::DataSchema>] # The data schemas from the specified corpus. # @!attribute [rw] next_page_token # @return [::String] # A token, which can be sent as `page_token` to retrieve the next page. # If this field is omitted, there are no subsequent pages. class ListDataSchemasResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for CreateAnnotation. # @!attribute [rw] parent # @return [::String] # Required. The parent resource where this annotation will be created. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` # @!attribute [rw] annotation # @return [::Google::Cloud::VisionAI::V1::Annotation] # Required. The annotation to create. # @!attribute [rw] annotation_id # @return [::String] # Optional. The ID to use for the annotation, which will become the final # component of the annotation's resource name if user choose to specify. # Otherwise, annotation id will be generated by system. # # This value should be up to 63 characters, and valid characters # are /[a-z][0-9]-/. The first character must be a letter, the last could be # a letter or a number. class CreateAnnotationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # An annotation is a resource in asset. It represents a key-value mapping of # content in asset. # @!attribute [rw] name # @return [::String] # Resource name of the annotation. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}/annotations/{annotation}` # @!attribute [rw] user_specified_annotation # @return [::Google::Cloud::VisionAI::V1::UserSpecifiedAnnotation] # User provided annotation. class Annotation include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Annotation provided by users. # @!attribute [rw] key # @return [::String] # Required. Key of the annotation. The key must be set with type by # CreateDataSchema. # @!attribute [rw] value # @return [::Google::Cloud::VisionAI::V1::AnnotationValue] # Value of the annotation. The value must be able to convert # to the type according to the data schema. # @!attribute [rw] partition # @return [::Google::Cloud::VisionAI::V1::Partition] # Partition information in time and space for the sub-asset level annotation. class UserSpecifiedAnnotation include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Location Coordinate Representation # @!attribute [rw] latitude # @return [::Float] # Latitude Coordinate. Degrees [-90 .. 90] # @!attribute [rw] longitude # @return [::Float] # Longitude Coordinate. Degrees [-180 .. 180] class GeoCoordinate include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Value of annotation, including all types available in data schema. # @!attribute [rw] int_value # @return [::Integer] # Value of int type annotation. # @!attribute [rw] float_value # @return [::Float] # Value of float type annotation. # @!attribute [rw] str_value # @return [::String] # Value of string type annotation. # @!attribute [rw] datetime_value # @return [::String] # Value of date time type annotation. # @!attribute [rw] geo_coordinate # @return [::Google::Cloud::VisionAI::V1::GeoCoordinate] # Value of geo coordinate type annotation. # @!attribute [rw] proto_any_value # @return [::Google::Protobuf::Any] # Value of any proto value. # @!attribute [rw] bool_value # @return [::Boolean] # Value of boolean type annotation. # @!attribute [rw] customized_struct_data_value # @return [::Google::Protobuf::Struct] # Value of customized struct annotation. This field does not have effects. # Use customized_struct_value instead for customized struct annotation. # @!attribute [rw] list_value # @return [::Google::Cloud::VisionAI::V1::AnnotationList] # Value of list type annotation. # @!attribute [rw] customized_struct_value # @return [::Google::Cloud::VisionAI::V1::AnnotationCustomizedStruct] # Value of custom struct type annotation. class AnnotationValue include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # List representation in annotation. # @!attribute [rw] values # @return [::Array<::Google::Cloud::VisionAI::V1::AnnotationValue>] # The values of `LIST` data type annotation. class AnnotationList include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Customized struct represnation in annotation. # @!attribute [rw] elements # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::VisionAI::V1::AnnotationValue}] # A map from elements' keys to element's annotation value. class AnnotationCustomizedStruct include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::Google::Cloud::VisionAI::V1::AnnotationValue] class ElementsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # Request message for GetAnnotation API. # @!attribute [rw] parent # @return [::String] # The parent, which owns this collection of annotations. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}` # @!attribute [rw] page_size # @return [::Integer] # The maximum number of annotations to return. The service may return fewer # than this value. If unspecified, at most 50 annotations will be returned. # The maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # A page token, received from a previous `ListAnnotations` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to `ListAnnotations` must # match the call that provided the page token. # @!attribute [rw] filter # @return [::String] # The filter applied to the returned list. # We only support filtering for the following fields: # For corpus of STREAM_VIDEO type: # `partition.temporal_partition.start_time`, # `partition.temporal_partition.end_time`, and `key`. # For corpus of VIDEO_ON_DEMAND type, # `partition.relative_temporal_partition.start_offset`, # `partition.relative_temporal_partition.end_offset`, and `key`. # For corpus of IMAGE type, only `key` is supported. # Timestamps are specified in the RFC-3339 format, and only one restriction # may be applied per field, joined by conjunctions. # Format: # "partition.temporal_partition.start_time > "2012-04-21T11:30:00-04:00" AND # partition.temporal_partition.end_time < "2012-04-22T11:30:00-04:00" AND # key = "example_key"" class ListAnnotationsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ListAnnotations API. # @!attribute [rw] annotations # @return [::Array<::Google::Cloud::VisionAI::V1::Annotation>] # The annotations from the specified asset. # @!attribute [rw] next_page_token # @return [::String] # A token, which can be sent as `page_token` to retrieve the next page. # If this field is omitted, there are no subsequent pages. class ListAnnotationsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for GetAnnotation API. # @!attribute [rw] name # @return [::String] # Required. The name of the annotation to retrieve. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}/annotations/{annotation}` class GetAnnotationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for UpdateAnnotation API. # @!attribute [rw] annotation # @return [::Google::Cloud::VisionAI::V1::Annotation] # Required. The annotation to update. # The annotation's `name` field is used to identify the annotation to be # updated. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}/annotations/{annotation}` # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # The list of fields to be updated. class UpdateAnnotationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for DeleteAnnotation API. # @!attribute [rw] name # @return [::String] # Required. The name of the annotation to delete. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/assets/{asset}/annotations/{annotation}` class DeleteAnnotationRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The request message for ImportAssets. # @!attribute [rw] assets_gcs_uri # @return [::String] # The file contains all assets information to be imported. # * The file is in JSONL format. # * Each line corresponding to one asset. # * Each line will be converted into InputImageAsset proto. # @!attribute [rw] parent # @return [::String] # Required. The parent corpus resource where the assets will be imported. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}` class ImportAssetsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The metadata message for ImportAssets LRO. # @!attribute [rw] metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # The metadata of the operation. # @!attribute [rw] status # @return [::Google::Cloud::VisionAI::V1::BatchOperationStatus] # The importing status including partial failures, if the implementation can # provide such information during the progress of the ImportAssets. class ImportAssetsMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The batch operation status. # @!attribute [rw] success_count # @return [::Integer] # The count of assets (together with their annotations if any) successfully # ingested. # @!attribute [rw] failure_count # @return [::Integer] # The count of assets failed to ingested; it might be due to the annotation # ingestion error. class BatchOperationStatus include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # The response message for ImportAssets LRO. class ImportAssetsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for CreateSearchConfig. # @!attribute [rw] parent # @return [::String] # Required. The parent resource where this search configuration will be # created. Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}` # @!attribute [rw] search_config # @return [::Google::Cloud::VisionAI::V1::SearchConfig] # Required. The search config to create. # @!attribute [rw] search_config_id # @return [::String] # Required. ID to use for the new search config. Will become the final # component of the SearchConfig's resource name. This value should be up to # 63 characters, and valid characters are /[a-z][0-9]-_/. The first character # must be a letter, the last could be a letter or a number. class CreateSearchConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for UpdateSearchConfig. # @!attribute [rw] search_config # @return [::Google::Cloud::VisionAI::V1::SearchConfig] # Required. The search configuration to update. # # The search configuration's `name` field is used to identify the resource to # be updated. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{search_config}` # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # The list of fields to be updated. If left unset, all field paths will be # updated/overwritten. class UpdateSearchConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for GetSearchConfig. # @!attribute [rw] name # @return [::String] # Required. The name of the search configuration to retrieve. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{search_config}` class GetSearchConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for DeleteSearchConfig. # @!attribute [rw] name # @return [::String] # Required. The name of the search configuration to delete. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{search_config}` class DeleteSearchConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ListSearchConfigs. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of search configurations. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}` # @!attribute [rw] page_size # @return [::Integer] # The maximum number of search configurations to return. The service may # return fewer than this value. If unspecified, a page size of 50 will be # used. The maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # A page token, received from a previous `ListSearchConfigs` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to # `ListSearchConfigs` must match the call that provided the page # token. class ListSearchConfigsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ListSearchConfigs. # @!attribute [rw] search_configs # @return [::Array<::Google::Cloud::VisionAI::V1::SearchConfig>] # The search configurations from the specified corpus. # @!attribute [rw] next_page_token # @return [::String] # A token, which can be sent as `page_token` to retrieve the next page. # If this field is omitted, there are no subsequent pages. class ListSearchConfigsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # SearchConfig stores different properties that will affect search # behaviors and search results. # @!attribute [rw] name # @return [::String] # Resource name of the search configuration. # For CustomSearchCriteria, search_config would be the search # operator name. For Facets, search_config would be the facet # dimension name. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{search_config}` # @!attribute [rw] facet_property # @return [::Google::Cloud::VisionAI::V1::FacetProperty] # Establishes a FacetDimension and associated specifications. # @!attribute [rw] search_criteria_property # @return [::Google::Cloud::VisionAI::V1::SearchCriteriaProperty] # Creates a mapping between a custom SearchCriteria and one or more UGA keys. class SearchConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Message representing IndexEndpoint resource. Indexes are deployed into it. # @!attribute [r] name # @return [::String] # Output only. Resource name of the IndexEndpoint. # Format: # `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint_id}` # @!attribute [rw] display_name # @return [::String] # Optional. Display name of the IndexEndpoint. Can be up to 32 characters # long. # @!attribute [rw] description # @return [::String] # Optional. Description of the IndexEndpoint. Can be up to 25000 characters # long. # @!attribute [r] deployed_index # @return [::Google::Cloud::VisionAI::V1::DeployedIndex] # Output only. The Index deployed in this IndexEndpoint. # @!attribute [r] state # @return [::Google::Cloud::VisionAI::V1::IndexEndpoint::State] # Output only. IndexEndpoint state. # @!attribute [rw] labels # @return [::Google::Protobuf::Map{::String => ::String}] # Optional. The labels applied to a resource must meet the following # requirements: # # * Each resource can have multiple labels, up to a maximum of 64. # * Each label must be a key-value pair. # * Keys have a minimum length of 1 character and a maximum length of 63 # characters and cannot be empty. Values can be empty and have a maximum # length of 63 characters. # * Keys and values can contain only lowercase letters, numeric characters, # underscores, and dashes. All characters must use UTF-8 encoding, and # international characters are allowed. # * The key portion of a label must be unique. However, you can use the same # key with multiple resources. # * Keys must start with a lowercase letter or international character. # # See [Google Cloud # Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) # for more details. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] # Output only. Create timestamp. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] # Output only. Update timestamp. # @!attribute [r] satisfies_pzs # @return [::Boolean] # Output only. This boolean field is only set for projects that have Physical # Zone Separation enabled via an Org Policy constraint. It is set to true # when the index endpoint is a valid zone separated index endpoint and false # if it isn't. # @!attribute [r] satisfies_pzi # @return [::Boolean] # Output only. This boolean field is only set for projects that have Physical # Zone Isolation enabled via an Org Policy constraint. It is set to true when # the index endpoint is a valid zone isolated index endpoint and false if it # isn't. class IndexEndpoint include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # @!attribute [rw] key # @return [::String] # @!attribute [rw] value # @return [::String] class LabelsEntry include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # IndexEndpoint stage. module State # The default value. Should not be used. STATE_UNSPECIFIED = 0 # State CREATING. CREATING = 1 # State CREATED. CREATED = 2 # State UPDATING. UPDATING = 3 # State FAILED. FAILED = 4 end end # Request message for CreateIndexEndpoint. # @!attribute [rw] parent # @return [::String] # Required. Format: `projects/{project}/locations/{location}` # @!attribute [rw] index_endpoint_id # @return [::String] # Optional. The ID to use for the IndexEndpoint, which will become the final # component of the IndexEndpoint's resource name if the user specifies it. # Otherwise, IndexEndpoint id will be autogenerated. # # This value should be up to 63 characters, and valid characters # are a-z, 0-9 and dash (-). The first character must be a letter, the last # must be a letter or a number. # @!attribute [rw] index_endpoint # @return [::Google::Cloud::VisionAI::V1::IndexEndpoint] # Required. The resource being created. class CreateIndexEndpointRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for CreateIndexEndpoint. # @!attribute [rw] operation_metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # Common metadata of the long-running operation. class CreateIndexEndpointMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for GetIndexEndpoint. # @!attribute [rw] name # @return [::String] # Required. Name of the IndexEndpoint resource. class GetIndexEndpointRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ListIndexEndpoints. # @!attribute [rw] parent # @return [::String] # Required. Format: `projects/{project}/locations/{location}` # @!attribute [rw] page_size # @return [::Integer] # Optional. Requested page size. Server may return fewer items than # requested. The service may return fewer than this value. If unspecified, a # page size of 50 will be used. The maximum value is 1000; values above 1000 # will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # Optional. A token identifying a page of results the server should return. # @!attribute [rw] filter # @return [::String] # Optional. The filter applied to the returned list. # We only support filtering for the `deployed_image_index.image_index` field. # However, to filter by a corpus instead of an image index, simply use # `deployed_image_index.corpus`, which will return all endpoints with # `deployed_image_index.image_index` inside of the given corpus. # A basic filter on image index would look like: # deployed_image_index.image_index = # "projects/123/locations/us-central1/corpora/my_corpus/imageIndexes/my_image_index" # A basic filter on corpus would look like: # deployed_image_index.corpus = # "projects/123/locations/us-central1/corpora/my_corpus" class ListIndexEndpointsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ListIndexEndpoints. # @!attribute [rw] index_endpoints # @return [::Array<::Google::Cloud::VisionAI::V1::IndexEndpoint>] # The list of IndexEndpoints. # @!attribute [rw] next_page_token # @return [::String] # A token identifying a page of results the server should return. class ListIndexEndpointsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for UpdateIndexEndpoint. # @!attribute [rw] index_endpoint # @return [::Google::Cloud::VisionAI::V1::IndexEndpoint] # Required. The resource being updated. # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # Required. Field mask is used to specify the fields to be overwritten in the # IndexEndpoint resource by the update. # The fields specified in the update_mask are relative to the resource, not # the full request. # A field of the resource will be overwritten if it is in the mask. # Empty field mask is not allowed. # If the mask is "*", then this is a full replacement of the resource. class UpdateIndexEndpointRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for UpdateIndexEndpoint. # @!attribute [rw] operation_metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # Common metadata of the long-running operation. class UpdateIndexEndpointMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for DeleteIndexEndpoint. # @!attribute [rw] name # @return [::String] # Required. Name of the resource. class DeleteIndexEndpointRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for DeleteIndexEndpoint. # @!attribute [rw] operation_metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # Common metadata of the long-running operation. class DeleteIndexEndpointMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for DeployIndex. # @!attribute [rw] index_endpoint # @return [::String] # Required. IndexEndpoint the index is deployed to. # Format: # `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` # @!attribute [rw] deployed_index # @return [::Google::Cloud::VisionAI::V1::DeployedIndex] # Required. Index to deploy. class DeployIndexRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # DeployIndex response once the operation is done. class DeployIndexResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for DeployIndex. # @!attribute [rw] operation_metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # Common metadata of the long-running operation. # @!attribute [r] deployed_index # @return [::String] # Output only. The index being deployed. class DeployIndexMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Metadata message for UndeployIndex. # @!attribute [rw] operation_metadata # @return [::Google::Cloud::VisionAI::V1::OperationMetadata] # Common metadata of the long-running operation. # @!attribute [r] deployed_index # @return [::String] # Output only. The index being undeployed. class UndeployIndexMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for UndeployIndexEndpoint. # @!attribute [rw] index_endpoint # @return [::String] # Required. Resource name of the IndexEndpoint resource on which the # undeployment will act. Format: # `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}` class UndeployIndexRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # UndeployIndex response once the operation is done. class UndeployIndexResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A deployment of an Index. # @!attribute [rw] index # @return [::String] # Required. Name of the deployed Index. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/indexes/{index_id}` class DeployedIndex include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Central configuration for a facet. # @!attribute [rw] fixed_range_bucket_spec # @return [::Google::Cloud::VisionAI::V1::FacetProperty::FixedRangeBucketSpec] # Fixed range facet bucket config. # @!attribute [rw] custom_range_bucket_spec # @return [::Google::Cloud::VisionAI::V1::FacetProperty::CustomRangeBucketSpec] # Custom range facet bucket config. # @!attribute [rw] datetime_bucket_spec # @return [::Google::Cloud::VisionAI::V1::FacetProperty::DateTimeBucketSpec] # Datetime range facet bucket config. # @!attribute [rw] mapped_fields # @return [::Array<::String>] # Name of the facets, which are the dimensions users want to use to refine # search results. `mapped_fields` will match UserSpecifiedDataSchema keys. # # For example, user can add a bunch of UGAs with the same key, such as # player:adam, player:bob, player:charles. When multiple mapped_fields are # specified, will merge their value together as final facet value. E.g. # home_team: a, home_team:b, away_team:a, away_team:c, when facet_field = # [home_team, away_team], facet_value will be [a, b, c]. # # UNLESS this is a 1:1 facet dimension (mapped_fields.size() == 1) AND the # mapped_field equals the parent SearchConfig.name, the parent must # also contain a SearchCriteriaProperty that maps to the same fields. # mapped_fields must not be empty. # @!attribute [rw] display_name # @return [::String] # Display name of the facet. To be used by UI for facet rendering. # @!attribute [rw] result_size # @return [::Integer] # Maximum number of unique bucket to return for one facet. Bucket number can # be large for high-cardinality facet such as "player". We only return top-n # most related ones to user. If it's <= 0, the server will decide the # appropriate result_size. # @!attribute [rw] bucket_type # @return [::Google::Cloud::VisionAI::V1::FacetBucketType] # Facet bucket type e.g. value, range. class FacetProperty include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # If bucket type is FIXED_RANGE, specify how values are bucketized. Use # FixedRangeBucketSpec when you want to create multiple buckets with equal # granularities. Using integer bucket value as an example, when # bucket_start = 0, bucket_granularity = 10, bucket_count = 5, this facet # will be aggregated via the following buckets: # [-inf, 0), [0, 10), [10, 20), [20, 30), [30, inf). # Notably, bucket_count <= 1 is an invalid spec. # @!attribute [rw] bucket_start # @return [::Google::Cloud::VisionAI::V1::FacetValue] # Lower bound of the bucket. NOTE: Only integer type is currently supported # for this field. # @!attribute [rw] bucket_granularity # @return [::Google::Cloud::VisionAI::V1::FacetValue] # Bucket granularity. NOTE: Only integer type is currently supported for # this field. # @!attribute [rw] bucket_count # @return [::Integer] # Total number of buckets. class FixedRangeBucketSpec include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # If bucket type is CUSTOM_RANGE, specify how values are bucketized. Use # integer bucket value as an example, when the endpoints are 0, 10, 100, and # 1000, we will generate the following facets: # [-inf, 0), [0, 10), [10, 100), [100, 1000), [1000, inf). # Notably: # - endpoints must be listed in ascending order. Otherwise, the SearchConfig # API will reject the facet config. # - < 1 endpoints is an invalid spec. # @!attribute [rw] endpoints # @return [::Array<::Google::Cloud::VisionAI::V1::FacetValue>] # Currently, only integer type is supported for this field. class CustomRangeBucketSpec include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # If bucket type is DATE, specify how date values are bucketized. # @!attribute [rw] granularity # @return [::Google::Cloud::VisionAI::V1::FacetProperty::DateTimeBucketSpec::Granularity] # Granularity of date type facet. class DateTimeBucketSpec include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Granularity enum for the datetime bucket. module Granularity # Unspecified granularity. GRANULARITY_UNSPECIFIED = 0 # Granularity is year. YEAR = 1 # Granularity is month. MONTH = 2 # Granularity is day. DAY = 3 end end end # Search resource: SearchHypernym. # For example, # { hypernym: "vehicle" # hyponyms: ["sedan", "truck"] } # This means in SMART_SEARCH mode, searching for "vehicle" will also return # results with "sedan" or "truck" as annotations. # @!attribute [rw] name # @return [::String] # Resource name of the SearchHypernym. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchHypernyms/{search_hypernym}` # @!attribute [rw] hypernym # @return [::String] # Optional. The hypernym. # @!attribute [rw] hyponyms # @return [::Array<::String>] # Optional. Hyponyms that the hypernym is mapped to. class SearchHypernym include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for creating SearchHypernym. # @!attribute [rw] parent # @return [::String] # Required. The parent resource where this SearchHypernym will be created. # Format: `projects/{project_number}/locations/{location}/corpora/{corpus}` # @!attribute [rw] search_hypernym # @return [::Google::Cloud::VisionAI::V1::SearchHypernym] # Required. The SearchHypernym to create. # @!attribute [rw] search_hypernym_id # @return [::String] # Optional. The search hypernym id. # If omitted, a random UUID will be generated. class CreateSearchHypernymRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for updating SearchHypernym. # @!attribute [rw] search_hypernym # @return [::Google::Cloud::VisionAI::V1::SearchHypernym] # Required. The SearchHypernym to update. # The search hypernym's `name` field is used to identify the search hypernym # to be updated. Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchHypernyms/{search_hypernym}` # @!attribute [rw] update_mask # @return [::Google::Protobuf::FieldMask] # The list of fields to be updated. If left unset, all field paths will be # updated/overwritten. class UpdateSearchHypernymRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for getting SearchHypernym. # @!attribute [rw] name # @return [::String] # Required. The name of the SearchHypernym to retrieve. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchHypernyms/{search_hypernym}` class GetSearchHypernymRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for deleting SearchHypernym. # @!attribute [rw] name # @return [::String] # Required. The name of the SearchHypernym to delete. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}/searchHypernyms/{search_hypernym}` class DeleteSearchHypernymRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for listing SearchHypernyms. # @!attribute [rw] parent # @return [::String] # Required. The parent, which owns this collection of SearchHypernyms. # Format: # `projects/{project_number}/locations/{location}/corpora/{corpus}` # @!attribute [rw] page_size # @return [::Integer] # The maximum number of SearchHypernyms returned. The service may # return fewer than this value. If unspecified, a page size of 50 will be # used. The maximum value is 1000; values above 1000 will be coerced to 1000. # @!attribute [rw] page_token # @return [::String] # A page token, received from a previous `SearchHypernym` call. # Provide this to retrieve the subsequent page. # # When paginating, all other parameters provided to # `SearchHypernym` must match the call that provided the page # token. class ListSearchHypernymsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for listing SearchHypernyms. # @!attribute [rw] search_hypernyms # @return [::Array<::Google::Cloud::VisionAI::V1::SearchHypernym>] # The SearchHypernyms from the specified corpus. # @!attribute [rw] next_page_token # @return [::String] # A token, which can be sent as `page_token` to retrieve the next page. # If this field is omitted, there are no subsequent pages. class ListSearchHypernymsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Central configuration for custom search criteria. # @!attribute [rw] mapped_fields # @return [::Array<::String>] # Each mapped_field corresponds to a UGA key. To understand how this property # works, take the following example. In the SearchConfig table, the # user adds this entry: # search_config { # name: "person" # search_criteria_property { # mapped_fields: "player" # mapped_fields: "coach" # } # } # # Now, when a user issues a query like: # criteria { # field: "person" # text_array { # txt_values: "Tom Brady" # txt_values: "Bill Belichick" # } # } # # MWH search will return search documents where (player=Tom Brady || # coach=Tom Brady || player=Bill Belichick || coach=Bill Belichick). class SearchCriteriaProperty include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Definition of a single value with generic type. # @!attribute [rw] string_value # @return [::String] # String type value. # @!attribute [rw] integer_value # @return [::Integer] # Integer type value. # @!attribute [rw] datetime_value # @return [::Google::Type::DateTime] # Datetime type value. class FacetValue include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Holds the facet value, selections state, and metadata. # @!attribute [rw] value # @return [::Google::Cloud::VisionAI::V1::FacetValue] # Singular value. # @!attribute [rw] range # @return [::Google::Cloud::VisionAI::V1::FacetBucket::Range] # Range value. # @!attribute [rw] selected # @return [::Boolean] # Whether one facet bucket is selected. This field represents user's facet # selection. It is set by frontend in SearchVideosRequest. class FacetBucket include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The range of values [start, end) for which faceting is applied. # @!attribute [rw] start # @return [::Google::Cloud::VisionAI::V1::FacetValue] # Start of the range. Non-existence indicates some bound (e.g. -inf). # @!attribute [rw] end # @return [::Google::Cloud::VisionAI::V1::FacetValue] # End of the range. Non-existence indicates some bound (e.g. inf). class Range include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # A group of facet buckets to be passed back and forth between backend & # frontend. # @!attribute [rw] facet_id # @return [::String] # Unique id of the facet group. # @!attribute [rw] display_name # @return [::String] # Display name of the facet. To be used by UI for facet rendering. # @!attribute [rw] buckets # @return [::Array<::Google::Cloud::VisionAI::V1::FacetBucket>] # Buckets associated with the facet. E.g. for "Team" facet, the bucket # can be 49ers, patriots, etc. # @!attribute [rw] bucket_type # @return [::Google::Cloud::VisionAI::V1::FacetBucketType] # Facet bucket type. # @!attribute [rw] fetch_matched_annotations # @return [::Boolean] # If true, return query matched annotations for this facet group's selection. # This option is only applicable for facets based on partition level # annotations. It supports the following facet values: # - INTEGER # - STRING (DataSchema.SearchStrategy.EXACT_SEARCH only) class FacetGroup include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for IngestAsset API. # @!attribute [rw] config # @return [::Google::Cloud::VisionAI::V1::IngestAssetRequest::Config] # Provides information for the data and the asset resource name that the # data belongs to. The first `IngestAssetRequest` message must only contain # a `Config` message. # @!attribute [rw] time_indexed_data # @return [::Google::Cloud::VisionAI::V1::IngestAssetRequest::TimeIndexedData] # Data to be ingested. class IngestAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Configuration for the data. # @!attribute [rw] video_type # @return [::Google::Cloud::VisionAI::V1::IngestAssetRequest::Config::VideoType] # Type information for video data. # @!attribute [rw] asset # @return [::String] # Required. The resource name of the asset that the ingested data belongs # to. class Config include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Type information for video data. # @!attribute [rw] container_format # @return [::Google::Cloud::VisionAI::V1::IngestAssetRequest::Config::VideoType::ContainerFormat] # Container format of the video data. class VideoType include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Container format of the video. module ContainerFormat # The default type, not supposed to be used. CONTAINER_FORMAT_UNSPECIFIED = 0 # Mp4 container format. CONTAINER_FORMAT_MP4 = 1 end end end # Contains the data and the corresponding time range this data is for. # @!attribute [rw] data # @return [::String] # Data to be ingested. # @!attribute [rw] temporal_partition # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition] # Time range of the data. class TimeIndexedData include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # Response message for IngestAsset API. # @!attribute [rw] successfully_ingested_partition # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition] # Time range of the data that has been successfully ingested. class IngestAssetResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for ClipAsset API. # @!attribute [rw] name # @return [::String] # Required. The resource name of the asset to request clips for. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` # @!attribute [rw] temporal_partition # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition] # Required. The time range to request clips for. class ClipAssetRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for ClipAsset API. # @!attribute [rw] time_indexed_uris # @return [::Array<::Google::Cloud::VisionAI::V1::ClipAssetResponse::TimeIndexedUri>] # A list of signed uris to download the video clips that cover the requested # time range ordered by time. class ClipAssetResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Signed uri with corresponding time range. # @!attribute [rw] temporal_partition # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition] # Time range of the video that the uri is for. # @!attribute [rw] uri # @return [::String] # Signed uri to download the video clip. class TimeIndexedUri include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # Request message for GenerateHlsUri API. # @!attribute [rw] name # @return [::String] # Required. The resource name of the asset to request clips for. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` # @!attribute [rw] temporal_partitions # @return [::Array<::Google::Cloud::VisionAI::V1::Partition::TemporalPartition>] # The time range to request clips for. Will be ignored if `get_live_view` is # set to True. The total time range requested should be smaller than 24h. # @!attribute [rw] live_view_enabled # @return [::Boolean] # Option to exclusively show a livestream of the asset with up to 3 minutes # of backlog data. class GenerateHlsUriRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for GenerateHlsUri API. # @!attribute [rw] uri # @return [::String] # A signed uri to download the HLS manifest corresponding to the requested # times. # @!attribute [rw] temporal_partitions # @return [::Array<::Google::Cloud::VisionAI::V1::Partition::TemporalPartition>] # A list of temporal partitions of the content returned in the order they # appear in the stream. class GenerateHlsUriResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for SearchAssets. # @!attribute [rw] schema_key_sorting_strategy # @return [::Google::Cloud::VisionAI::V1::SchemaKeySortingStrategy] # Sort by the value under the data schema key. # @!attribute [rw] corpus # @return [::String] # Required. The parent corpus to search. # Format: `projects/{project_id}/locations/{location_id}/corpora/{corpus_id}` # @!attribute [rw] page_size # @return [::Integer] # The number of results to be returned in this page. If it's 0, the server # will decide the appropriate page_size. # @!attribute [rw] page_token # @return [::String] # The continuation token to fetch the next page. If empty, it means it is # fetching the first page. # @!attribute [rw] content_time_ranges # @return [::Google::Cloud::VisionAI::V1::DateTimeRangeArray] # Time ranges that matching video content must fall within. If no ranges are # provided, there will be no time restriction. This field is treated just # like the criteria below, but defined separately for convenience as it is # used frequently. Note that if the end_time is in the future, it will be # clamped to the time the request was received. # @!attribute [rw] criteria # @return [::Array<::Google::Cloud::VisionAI::V1::Criteria>] # Criteria applied to search results. # @!attribute [rw] facet_selections # @return [::Array<::Google::Cloud::VisionAI::V1::FacetGroup>] # Stores most recent facet selection state. Only facet groups with user's # selection will be presented here. Selection state is either selected or # unselected. Only selected facet buckets will be used as search criteria. # @!attribute [rw] result_annotation_keys # @return [::Array<::String>] # A list of annotation keys to specify the annotations to be retrieved and # returned with each search result. # Annotation granularity must be GRANULARITY_ASSET_LEVEL and its search # strategy must not be NO_SEARCH. # @!attribute [rw] search_query # @return [::String] # Global search query. Allows user to search assets without needing to # specify which field the value belongs to. class SearchAssetsRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Request message for SearchIndexEndpoint. # @!attribute [rw] image_query # @return [::Google::Cloud::VisionAI::V1::ImageQuery] # An image-only query. # @!attribute [rw] text_query # @return [::String] # A text-only query. # @!attribute [rw] index_endpoint # @return [::String] # Required. The index endpoint to search. # Format: # `projects/{project_id}/locations/{location_id}/indexEndpoints/{index_endpoint_id}` # @!attribute [rw] criteria # @return [::Array<::Google::Cloud::VisionAI::V1::Criteria>] # Criteria applied to search results. # @!attribute [rw] exclusion_criteria # @return [::Array<::Google::Cloud::VisionAI::V1::Criteria>] # Criteria to exclude from search results. # Note that `fetch_matched_annotations` will be ignored. # @!attribute [rw] page_size # @return [::Integer] # Requested page size. API may return fewer results than requested. # If negative, INVALID_ARGUMENT error will be returned. # If unspecified or 0, API will pick a default size, which is 10. # If the requested page size is larger than the maximum size, API will pick # the maximum size, which is 100. # @!attribute [rw] page_token # @return [::String] # The continuation token to fetch the next page. If empty, it means it is # fetching the first page. class SearchIndexEndpointRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Image query for search endpoint request. # @!attribute [rw] input_image # @return [::String] # Input image in raw bytes. # @!attribute [rw] asset # @return [::String] # Resource name of the asset. Only supported in IMAGE corpus type. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` class ImageQuery include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A strategy to specify how to sort by data schema key. # @!attribute [rw] options # @return [::Array<::Google::Cloud::VisionAI::V1::SchemaKeySortingStrategy::Option>] # Options in the front have high priority than those in the back. class SchemaKeySortingStrategy include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Option for one data schema key. # @!attribute [rw] data_schema_key # @return [::String] # The data used to sort. # @!attribute [rw] sort_decreasing # @return [::Boolean] # Whether to sort in decreasing order or increasing order. # By default, results are sorted in incresing order. # @!attribute [rw] aggregate_method # @return [::Google::Cloud::VisionAI::V1::SchemaKeySortingStrategy::Option::AggregateMethod] # Aggregate method for the current data schema key. class Option include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # When one result has multiple values with the same key, specify # which value is used to sort. By default, AGGREGATE_METHOD_LARGEST # is used when results are sorted in decreasing order, # AGGREGATE_METHOD_SMALLEST is used when results are sorted in # incresing order. module AggregateMethod # The unspecified aggregate method will be overwritten as mentioned # above. AGGREGATE_METHOD_UNSPECIFIED = 0 # Take the (lexicographical or numerical) largest value to sort. AGGREGATE_METHOD_LARGEST = 1 # Take the (lexicographical or numerical) smallest value to sort. AGGREGATE_METHOD_SMALLEST = 2 end end end # The metadata for DeleteAsset API that embeds in # {::Google::Longrunning::Operation#metadata metadata} field. class DeleteAssetMetadata include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Stores the criteria-annotation matching results for each search result item. # @!attribute [rw] criteria # @return [::Google::Cloud::VisionAI::V1::Criteria] # The criteria used for matching. It can be an input search criteria or a # criteria converted from a facet selection. # @!attribute [rw] matched_annotations # @return [::Array<::Google::Cloud::VisionAI::V1::Annotation>] # Matched annotations for the criteria. # @!attribute [rw] status # @return [::Google::Rpc::Status] # Status of the match result. Possible values: # FAILED_PRECONDITION - the criteria is not eligible for match. # OK - matching is performed. class AnnotationMatchingResult include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Search result contains asset name and corresponding time ranges. # @!attribute [rw] asset # @return [::String] # The resource name of the asset. # Format: # `projects/{project_number}/locations/{location_id}/corpora/{corpus_id}/assets/{asset_id}` # @!attribute [rw] segments # @deprecated This field is deprecated and may be removed in the next major version update. # @return [::Array<::Google::Cloud::VisionAI::V1::Partition::TemporalPartition>] # The matched asset segments. # Deprecated: please use singular `segment` field. # @!attribute [rw] segment # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition] # The matched asset segment. # @!attribute [rw] relevance # @return [::Float] # Available to IMAGE corpus types. # Relevance of this `SearchResultItem` to user search query (text query or # image query). # By default this represents cosine similarity between the query and the # retrieved media content. The value is in the range of [-1, 1]. # Note that search ranking is not only decided by this relevance score, # but also other factors such as the match of annotations. # @!attribute [rw] requested_annotations # @return [::Array<::Google::Cloud::VisionAI::V1::Annotation>] # Search result annotations specified by result_annotation_keys in search # request. # @!attribute [rw] annotation_matching_results # @return [::Array<::Google::Cloud::VisionAI::V1::AnnotationMatchingResult>] # Criteria or facet-selection based annotation matching results associated to # this search result item. Only contains results for criteria or # facet_selections with fetch_matched_annotations=true. class SearchResultItem include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for SearchAssets. # @!attribute [rw] search_result_items # @return [::Array<::Google::Cloud::VisionAI::V1::SearchResultItem>] # Returned search results. # @!attribute [rw] next_page_token # @return [::String] # The next-page continuation token. # @!attribute [rw] facet_results # @return [::Array<::Google::Cloud::VisionAI::V1::FacetGroup>] # Facet search results of a given query, which contains user's # already-selected facet values and updated facet search results. class SearchAssetsResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Response message for SearchIndexEndpoint. # @!attribute [rw] search_result_items # @return [::Array<::Google::Cloud::VisionAI::V1::SearchResultItem>] # Returned search results. # @!attribute [rw] next_page_token # @return [::String] # The next-page continuation token. # If this field is omitted, there are no subsequent pages. class SearchIndexEndpointResponse include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Integer range type. # @!attribute [rw] start # @return [::Integer] # Start of the int range. # @!attribute [rw] end # @return [::Integer] # End of the int range. class IntRange include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Float range type. # @!attribute [rw] start # @return [::Float] # Start of the float range. # @!attribute [rw] end # @return [::Float] # End of the float range. class FloatRange include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A list of string-type values. # @!attribute [rw] txt_values # @return [::Array<::String>] # String type values. class StringArray include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A list of integer range values. # @!attribute [rw] int_ranges # @return [::Array<::Google::Cloud::VisionAI::V1::IntRange>] # Int range values. class IntRangeArray include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A list of float range values. # @!attribute [rw] float_ranges # @return [::Array<::Google::Cloud::VisionAI::V1::FloatRange>] # Float range values. class FloatRangeArray include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Datetime range type. # @!attribute [rw] start # @return [::Google::Type::DateTime] # Start date time. # @!attribute [rw] end # @return [::Google::Type::DateTime] # End data time. class DateTimeRange include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A list of datetime range values. # @!attribute [rw] date_time_ranges # @return [::Array<::Google::Cloud::VisionAI::V1::DateTimeRange>] # Date time ranges. class DateTimeRangeArray include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Representation of a circle area. # @!attribute [rw] latitude # @return [::Float] # Latitude of circle area's center. Degrees [-90 .. 90] # @!attribute [rw] longitude # @return [::Float] # Longitude of circle area's center. Degrees [-180 .. 180] # @!attribute [rw] radius_meter # @return [::Float] # Radius of the circle area in meters. class CircleArea include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # A list of locations. # @!attribute [rw] circle_areas # @return [::Array<::Google::Cloud::VisionAI::V1::CircleArea>] # A list of circle areas. class GeoLocationArray include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # @!attribute [rw] value # @return [::Boolean] class BoolValue include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Filter criteria applied to current search results. # @!attribute [rw] text_array # @return [::Google::Cloud::VisionAI::V1::StringArray] # The text values associated with the field. # @!attribute [rw] int_range_array # @return [::Google::Cloud::VisionAI::V1::IntRangeArray] # The integer ranges associated with the field. # @!attribute [rw] float_range_array # @return [::Google::Cloud::VisionAI::V1::FloatRangeArray] # The float ranges associated with the field. # @!attribute [rw] date_time_range_array # @return [::Google::Cloud::VisionAI::V1::DateTimeRangeArray] # The datetime ranges associated with the field. # @!attribute [rw] geo_location_array # @return [::Google::Cloud::VisionAI::V1::GeoLocationArray] # Geo Location array. # @!attribute [rw] bool_value # @return [::Google::Cloud::VisionAI::V1::BoolValue] # A Boolean value. # @!attribute [rw] field # @return [::String] # The UGA field or ML field to apply filtering criteria. # @!attribute [rw] fetch_matched_annotations # @return [::Boolean] # If true, return query matched annotations for this criteria. # This option is only applicable for inclusion criteria, i.e., not exclusion # criteria, with partition level annotations. It supports the following data # types: # - INTEGER # - FLOAT # - STRING (DataSchema.SearchStrategy.EXACT_SEARCH only) # - BOOLEAN class Criteria include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Partition to specify the partition in time and space for sub-asset level # annotation. # @!attribute [rw] temporal_partition # @return [::Google::Cloud::VisionAI::V1::Partition::TemporalPartition] # Partition of asset in time. # @!attribute [rw] spatial_partition # @return [::Google::Cloud::VisionAI::V1::Partition::SpatialPartition] # Partition of asset in space. # @!attribute [rw] relative_temporal_partition # @return [::Google::Cloud::VisionAI::V1::Partition::RelativeTemporalPartition] # Partition of asset in time. class Partition include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # Partition of asset in UTC Epoch time. Supported by STREAM_VIDEO corpus # type. # @!attribute [rw] start_time # @return [::Google::Protobuf::Timestamp] # Start time of the partition. # @!attribute [rw] end_time # @return [::Google::Protobuf::Timestamp] # End time of the partition. class TemporalPartition include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Partition of asset in space. # @!attribute [rw] x_min # @return [::Integer] # The minimum x coordinate value. # @!attribute [rw] y_min # @return [::Integer] # The minimum y coordinate value. # @!attribute [rw] x_max # @return [::Integer] # The maximum x coordinate value. # @!attribute [rw] y_max # @return [::Integer] # The maximum y coordinate value. class SpatialPartition include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end # Partition of asset in relative time. Supported by VIDEO_ON_DEMAND corpus # type. # @!attribute [rw] start_offset # @return [::Google::Protobuf::Duration] # Start time offset of the partition. # @!attribute [rw] end_offset # @return [::Google::Protobuf::Duration] # End time offset of the partition. class RelativeTemporalPartition include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end # Different types for a facet bucket. module FacetBucketType # Unspecified type. FACET_BUCKET_TYPE_UNSPECIFIED = 0 # Value type. FACET_BUCKET_TYPE_VALUE = 1 # Datetime type. FACET_BUCKET_TYPE_DATETIME = 2 # Fixed Range type. FACET_BUCKET_TYPE_FIXED_RANGE = 3 # Custom Range type. FACET_BUCKET_TYPE_CUSTOM_RANGE = 4 end end end end end