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