mirror of
https://github.com/googleapis/googleapis.git
synced 2026-08-17 13:06:47 +02:00
2429 lines
88 KiB
Protocol Buffer
2429 lines
88 KiB
Protocol Buffer
// Copyright 2025 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.cloud.visionai.v1;
|
|
|
|
import "google/api/annotations.proto";
|
|
import "google/api/client.proto";
|
|
import "google/api/field_behavior.proto";
|
|
import "google/api/resource.proto";
|
|
import "google/cloud/visionai/v1/annotations.proto";
|
|
import "google/cloud/visionai/v1/common.proto";
|
|
import "google/longrunning/operations.proto";
|
|
import "google/protobuf/duration.proto";
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/field_mask.proto";
|
|
import "google/protobuf/struct.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
option csharp_namespace = "Google.Cloud.VisionAI.V1";
|
|
option go_package = "cloud.google.com/go/visionai/apiv1/visionaipb;visionaipb";
|
|
option java_multiple_files = true;
|
|
option java_outer_classname = "PlatformProto";
|
|
option java_package = "com.google.cloud.visionai.v1";
|
|
option php_namespace = "Google\\Cloud\\VisionAI\\V1";
|
|
option ruby_package = "Google::Cloud::VisionAI::V1";
|
|
|
|
// Service describing handlers for resources
|
|
service AppPlatform {
|
|
option (google.api.default_host) = "visionai.googleapis.com";
|
|
option (google.api.oauth_scopes) =
|
|
"https://www.googleapis.com/auth/cloud-platform";
|
|
|
|
// Lists Applications in a given project and location.
|
|
rpc ListApplications(ListApplicationsRequest)
|
|
returns (ListApplicationsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*}/applications"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Gets details of a single Application.
|
|
rpc GetApplication(GetApplicationRequest) returns (Application) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/applications/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Creates a new Application in a given project and location.
|
|
rpc CreateApplication(CreateApplicationRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*}/applications"
|
|
body: "application"
|
|
};
|
|
option (google.api.method_signature) = "parent,application";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Application"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Updates the parameters of a single Application.
|
|
rpc UpdateApplication(UpdateApplicationRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{application.name=projects/*/locations/*/applications/*}"
|
|
body: "application"
|
|
};
|
|
option (google.api.method_signature) = "application,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Application"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deletes a single Application.
|
|
rpc DeleteApplication(DeleteApplicationRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/applications/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "google.protobuf.Empty"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deploys a single Application.
|
|
rpc DeployApplication(DeployApplicationRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/applications/*}:deploy"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "DeployApplicationResponse"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Undeploys a single Application.
|
|
rpc UndeployApplication(UndeployApplicationRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/applications/*}:undeploy"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "UndeployApplicationResponse"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Adds target stream input to the Application.
|
|
// If the Application is deployed, the corresponding new Application instance
|
|
// will be created. If the stream has already been in the Application, the RPC
|
|
// will fail.
|
|
rpc AddApplicationStreamInput(AddApplicationStreamInputRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/applications/*}:addStreamInput"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "AddApplicationStreamInputResponse"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Remove target stream input to the Application, if the Application is
|
|
// deployed, the corresponding instance based will be deleted. If the stream
|
|
// is not in the Application, the RPC will fail.
|
|
rpc RemoveApplicationStreamInput(RemoveApplicationStreamInputRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/applications/*}:removeStreamInput"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "RemoveApplicationStreamInputResponse"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Update target stream input to the Application, if the Application is
|
|
// deployed, the corresponding instance based will be deployed. For
|
|
// CreateOrUpdate behavior, set allow_missing to true.
|
|
rpc UpdateApplicationStreamInput(UpdateApplicationStreamInputRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/applications/*}:updateStreamInput"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "UpdateApplicationStreamInputResponse"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Lists Instances in a given project and location.
|
|
rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/applications/*}/instances"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Gets details of a single Instance.
|
|
rpc GetInstance(GetInstanceRequest) returns (Instance) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/applications/*/instances/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Adds target stream input to the Application.
|
|
// If the Application is deployed, the corresponding new Application instance
|
|
// will be created. If the stream has already been in the Application, the RPC
|
|
// will fail.
|
|
rpc CreateApplicationInstances(CreateApplicationInstancesRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/applications/*}:createApplicationInstances"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "CreateApplicationInstancesResponse"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Remove target stream input to the Application, if the Application is
|
|
// deployed, the corresponding instance based will be deleted. If the stream
|
|
// is not in the Application, the RPC will fail.
|
|
rpc DeleteApplicationInstances(DeleteApplicationInstancesRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/applications/*}:deleteApplicationInstances"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Instance"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Adds target stream input to the Application.
|
|
// If the Application is deployed, the corresponding new Application instance
|
|
// will be created. If the stream has already been in the Application, the RPC
|
|
// will fail.
|
|
rpc UpdateApplicationInstances(UpdateApplicationInstancesRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{name=projects/*/locations/*/applications/*}:updateApplicationInstances"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "name, application_instances";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "UpdateApplicationInstancesResponse"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Lists Drafts in a given project and location.
|
|
rpc ListDrafts(ListDraftsRequest) returns (ListDraftsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*/applications/*}/drafts"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Gets details of a single Draft.
|
|
rpc GetDraft(GetDraftRequest) returns (Draft) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/applications/*/drafts/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Creates a new Draft in a given project and location.
|
|
rpc CreateDraft(CreateDraftRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*/applications/*}/drafts"
|
|
body: "draft"
|
|
};
|
|
option (google.api.method_signature) = "parent,draft,draft_id";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Draft"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Updates the parameters of a single Draft.
|
|
rpc UpdateDraft(UpdateDraftRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{draft.name=projects/*/locations/*/applications/*/drafts/*}"
|
|
body: "draft"
|
|
};
|
|
option (google.api.method_signature) = "draft,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Draft"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deletes a single Draft.
|
|
rpc DeleteDraft(DeleteDraftRequest) returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/applications/*/drafts/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "google.protobuf.Empty"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Lists Processors in a given project and location.
|
|
rpc ListProcessors(ListProcessorsRequest) returns (ListProcessorsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{parent=projects/*/locations/*}/processors"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// ListPrebuiltProcessors is a custom pass-through verb that Lists Prebuilt
|
|
// Processors.
|
|
rpc ListPrebuiltProcessors(ListPrebuiltProcessorsRequest)
|
|
returns (ListPrebuiltProcessorsResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*}/processors:prebuilt"
|
|
body: "*"
|
|
};
|
|
option (google.api.method_signature) = "parent";
|
|
}
|
|
|
|
// Gets details of a single Processor.
|
|
rpc GetProcessor(GetProcessorRequest) returns (Processor) {
|
|
option (google.api.http) = {
|
|
get: "/v1/{name=projects/*/locations/*/processors/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
}
|
|
|
|
// Creates a new Processor in a given project and location.
|
|
rpc CreateProcessor(CreateProcessorRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
post: "/v1/{parent=projects/*/locations/*}/processors"
|
|
body: "processor"
|
|
};
|
|
option (google.api.method_signature) = "parent,processor,processor_id";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Processor"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Updates the parameters of a single Processor.
|
|
rpc UpdateProcessor(UpdateProcessorRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/{processor.name=projects/*/locations/*/processors/*}"
|
|
body: "processor"
|
|
};
|
|
option (google.api.method_signature) = "processor,update_mask";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "Processor"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
|
|
// Deletes a single Processor.
|
|
rpc DeleteProcessor(DeleteProcessorRequest)
|
|
returns (google.longrunning.Operation) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/{name=projects/*/locations/*/processors/*}"
|
|
};
|
|
option (google.api.method_signature) = "name";
|
|
option (google.longrunning.operation_info) = {
|
|
response_type: "google.protobuf.Empty"
|
|
metadata_type: "OperationMetadata"
|
|
};
|
|
}
|
|
}
|
|
|
|
// All the supported model types in Vision AI App Platform.
|
|
enum ModelType {
|
|
// Processor Type UNSPECIFIED.
|
|
MODEL_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Model Type Image Classification.
|
|
IMAGE_CLASSIFICATION = 1;
|
|
|
|
// Model Type Object Detection.
|
|
OBJECT_DETECTION = 2;
|
|
|
|
// Model Type Video Classification.
|
|
VIDEO_CLASSIFICATION = 3;
|
|
|
|
// Model Type Object Tracking.
|
|
VIDEO_OBJECT_TRACKING = 4;
|
|
|
|
// Model Type Action Recognition.
|
|
VIDEO_ACTION_RECOGNITION = 5;
|
|
|
|
// Model Type Occupancy Counting.
|
|
OCCUPANCY_COUNTING = 6;
|
|
|
|
// Model Type Person Blur.
|
|
PERSON_BLUR = 7;
|
|
|
|
// Model Type Vertex Custom.
|
|
VERTEX_CUSTOM = 8;
|
|
|
|
// Model Type Product Recognizer.
|
|
PRODUCT_RECOGNIZER = 9;
|
|
|
|
// Model Type Tag Recognizer.
|
|
TAG_RECOGNIZER = 10;
|
|
|
|
// Model Type SynthID.
|
|
SYNTH_ID = 15;
|
|
}
|
|
|
|
// Represents a hardware accelerator type.
|
|
enum AcceleratorType {
|
|
// Unspecified accelerator type, which means no accelerator.
|
|
ACCELERATOR_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Nvidia Tesla K80 GPU.
|
|
NVIDIA_TESLA_K80 = 1;
|
|
|
|
// Nvidia Tesla P100 GPU.
|
|
NVIDIA_TESLA_P100 = 2;
|
|
|
|
// Nvidia Tesla V100 GPU.
|
|
NVIDIA_TESLA_V100 = 3;
|
|
|
|
// Nvidia Tesla P4 GPU.
|
|
NVIDIA_TESLA_P4 = 4;
|
|
|
|
// Nvidia Tesla T4 GPU.
|
|
NVIDIA_TESLA_T4 = 5;
|
|
|
|
// Nvidia Tesla A100 GPU.
|
|
NVIDIA_TESLA_A100 = 8;
|
|
|
|
// TPU v2.
|
|
TPU_V2 = 6;
|
|
|
|
// TPU v3.
|
|
TPU_V3 = 7;
|
|
}
|
|
|
|
// All supported data types.
|
|
enum DataType {
|
|
// The default value of DataType.
|
|
DATA_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Video data type like H264.
|
|
VIDEO = 1;
|
|
|
|
// Image data type.
|
|
IMAGE = 3;
|
|
|
|
// Protobuf data type, usually used for general data blob.
|
|
PROTO = 2;
|
|
|
|
// A placeholder data type, applicable for the universal input processor which
|
|
// supports any data type. This will be instantiated and replaced by a
|
|
// concrete underlying `DataType` during instance deployment.
|
|
PLACEHOLDER = 4;
|
|
}
|
|
|
|
// Message for DeleteApplicationInstance Response.
|
|
message DeleteApplicationInstancesResponse {}
|
|
|
|
// Message for CreateApplicationInstance Response.
|
|
message CreateApplicationInstancesResponse {}
|
|
|
|
// Message for UpdateApplicationInstances Response.
|
|
message UpdateApplicationInstancesResponse {}
|
|
|
|
// Message for adding stream input to an Application.
|
|
message CreateApplicationInstancesRequest {
|
|
// Required. the name of the application to retrieve.
|
|
// Format:
|
|
// "projects/{project}/locations/{location}/applications/{application}"
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// Required. The resources being created.
|
|
repeated ApplicationInstance application_instances = 2
|
|
[(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for removing stream input from an Application.
|
|
message DeleteApplicationInstancesRequest {
|
|
// Required. the name of the application to retrieve.
|
|
// Format:
|
|
// "projects/{project}/locations/{location}/applications/{application}"
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// Required. Id of the requesting object.
|
|
repeated string instance_ids = 2 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Instance"
|
|
}
|
|
];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// RPC Request Messages.
|
|
// Message for DeployApplication Response.
|
|
message DeployApplicationResponse {}
|
|
|
|
// Message for UndeployApplication Response.
|
|
message UndeployApplicationResponse {}
|
|
|
|
// Message for RemoveApplicationStreamInput Response.
|
|
message RemoveApplicationStreamInputResponse {}
|
|
|
|
// Message for AddApplicationStreamInput Response.
|
|
message AddApplicationStreamInputResponse {}
|
|
|
|
// Message for AddApplicationStreamInput Response.
|
|
message UpdateApplicationStreamInputResponse {}
|
|
|
|
// Message for requesting list of Applications.
|
|
message ListApplicationsRequest {
|
|
// Required. Parent value for ListApplicationsRequest.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
child_type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// Requested page size. Server may return fewer items than requested.
|
|
// If unspecified, server will pick an appropriate default.
|
|
int32 page_size = 2;
|
|
|
|
// A token identifying a page of results the server should return.
|
|
string page_token = 3;
|
|
|
|
// Filtering results.
|
|
string filter = 4;
|
|
|
|
// Hint for how to order the results.
|
|
string order_by = 5;
|
|
}
|
|
|
|
// Message for response to listing Applications.
|
|
message ListApplicationsResponse {
|
|
// The list of Application.
|
|
repeated Application applications = 1;
|
|
|
|
// A token identifying a page of results the server should return.
|
|
string next_page_token = 2;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// Message for getting a Application.
|
|
message GetApplicationRequest {
|
|
// Required. Name of the resource.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Message for creating a Application.
|
|
message CreateApplicationRequest {
|
|
// Required. Value for parent.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
child_type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// Required. Id of the requesting object.
|
|
string application_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The resource being created.
|
|
Application application = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for updating an Application.
|
|
message UpdateApplicationRequest {
|
|
// Optional. Field mask is used to specify the fields to be overwritten in the
|
|
// Application resource by the update.
|
|
// The fields specified in the update_mask are relative to the resource, not
|
|
// the full request. A field will be overwritten if it is in the mask. If the
|
|
// user does not provide a mask then all fields will be overwritten.
|
|
google.protobuf.FieldMask update_mask = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. The resource being updated.
|
|
Application application = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for deleting an Application.
|
|
message DeleteApplicationRequest {
|
|
// Required. Name of the resource.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes after the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. If set to true, any instances and drafts from this application
|
|
// will also be deleted. (Otherwise, the request will only work if the
|
|
// application has no instances and drafts.)
|
|
bool force = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for deploying an Application.
|
|
message DeployApplicationRequest {
|
|
// Required. the name of the application to retrieve.
|
|
// Format:
|
|
// "projects/{project}/locations/{location}/applications/{application}"
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// If set, validate the request and preview the application graph, but do not
|
|
// actually deploy it.
|
|
bool validate_only = 2;
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Whether or not to enable monitoring for the application on
|
|
// deployment.
|
|
bool enable_monitoring = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for undeploying an Application.
|
|
message UndeployApplicationRequest {
|
|
// Required. the name of the application to retrieve.
|
|
// Format:
|
|
// "projects/{project}/locations/{location}/applications/{application}"
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message about a single stream input config.
|
|
message ApplicationStreamInput {
|
|
StreamWithAnnotation stream_with_annotation = 1;
|
|
}
|
|
|
|
// Message for adding stream input to an Application.
|
|
message AddApplicationStreamInputRequest {
|
|
// Required. the name of the application to retrieve.
|
|
// Format:
|
|
// "projects/{project}/locations/{location}/applications/{application}"
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// The stream inputs to add, the stream resource name is the key of each
|
|
// StreamInput, and it must be unique within each application.
|
|
repeated ApplicationStreamInput application_stream_inputs = 2;
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for updating stream input to an Application.
|
|
message UpdateApplicationStreamInputRequest {
|
|
// Required. the name of the application to retrieve.
|
|
// Format:
|
|
// "projects/{project}/locations/{location}/applications/{application}"
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// The stream inputs to update, the stream resource name is the key of each
|
|
// StreamInput, and it must be unique within each application.
|
|
repeated ApplicationStreamInput application_stream_inputs = 2;
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// If true, UpdateApplicationStreamInput will insert stream input to
|
|
// application even if the target stream is not included in the application.
|
|
bool allow_missing = 4;
|
|
}
|
|
|
|
// Message for removing stream input from an Application.
|
|
message RemoveApplicationStreamInputRequest {
|
|
// Message about target streamInput to remove.
|
|
message TargetStreamInput {
|
|
string stream = 1 [(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Stream"
|
|
}];
|
|
}
|
|
|
|
// Required. the name of the application to retrieve.
|
|
// Format:
|
|
// "projects/{project}/locations/{location}/applications/{application}"
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
// The target stream to remove.
|
|
repeated TargetStreamInput target_stream_inputs = 2;
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for requesting list of Instances.
|
|
message ListInstancesRequest {
|
|
// Required. Parent value for ListInstancesRequest.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
child_type: "visionai.googleapis.com/Instance"
|
|
}
|
|
];
|
|
|
|
// Requested page size. Server may return fewer items than requested.
|
|
// If unspecified, server will pick an appropriate default.
|
|
int32 page_size = 2;
|
|
|
|
// A token identifying a page of results the server should return.
|
|
string page_token = 3;
|
|
|
|
// Filtering results.
|
|
string filter = 4;
|
|
|
|
// Hint for how to order the results.
|
|
string order_by = 5;
|
|
}
|
|
|
|
// Message for response to listing Instances.
|
|
message ListInstancesResponse {
|
|
// The list of Instance.
|
|
repeated Instance instances = 1;
|
|
|
|
// A token identifying a page of results the server should return.
|
|
string next_page_token = 2;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// Message for getting a Instance.
|
|
message GetInstanceRequest {
|
|
// Required. Name of the resource.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Instance"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Message for requesting list of Drafts.
|
|
message ListDraftsRequest {
|
|
// Required. Parent value for ListDraftsRequest.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
child_type: "visionai.googleapis.com/Draft"
|
|
}
|
|
];
|
|
|
|
// Requested page size. Server may return fewer items than requested.
|
|
// If unspecified, server will pick an appropriate default.
|
|
int32 page_size = 2;
|
|
|
|
// A token identifying a page of results the server should return.
|
|
string page_token = 3;
|
|
|
|
// Filtering results.
|
|
string filter = 4;
|
|
|
|
// Hint for how to order the results.
|
|
string order_by = 5;
|
|
}
|
|
|
|
// Message for response to listing Drafts.
|
|
message ListDraftsResponse {
|
|
// The list of Draft.
|
|
repeated Draft drafts = 1;
|
|
|
|
// A token identifying a page of results the server should return.
|
|
string next_page_token = 2;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// Message for getting a Draft.
|
|
message GetDraftRequest {
|
|
// Required. Name of the resource.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "visionai.googleapis.com/Draft" }
|
|
];
|
|
}
|
|
|
|
// Message for creating a Draft.
|
|
message CreateDraftRequest {
|
|
// Required. Value for parent.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
child_type: "visionai.googleapis.com/Draft"
|
|
}
|
|
];
|
|
|
|
// Required. Id of the requesting object.
|
|
string draft_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The resource being created.
|
|
Draft draft = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for updating a Draft.
|
|
message UpdateDraftRequest {
|
|
// Optional. Field mask is used to specify the fields to be overwritten in the
|
|
// Draft resource by the update.
|
|
// The fields specified in the update_mask are relative to the resource, not
|
|
// the full request. A field will be overwritten if it is in the mask. If the
|
|
// user does not provide a mask then all fields will be overwritten.
|
|
google.protobuf.FieldMask update_mask = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. The resource being updated.
|
|
Draft draft = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// If true, UpdateDraftRequest will create one resource if the target resource
|
|
// doesn't exist, this time, the field_mask will be ignored.
|
|
bool allow_missing = 4;
|
|
}
|
|
|
|
// Message for updating an ApplicationInstance.
|
|
message UpdateApplicationInstancesRequest {
|
|
message UpdateApplicationInstance {
|
|
// Optional. Field mask is used to specify the fields to be overwritten in
|
|
// the Draft resource by the update. The fields specified in the update_mask
|
|
// are relative to the resource, not the full request. A field will be
|
|
// overwritten if it is in the mask. If the user does not provide a mask
|
|
// then all fields will be overwritten.
|
|
google.protobuf.FieldMask update_mask = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. The resource being updated.
|
|
Instance instance = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The id of the instance.
|
|
string instance_id = 3 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// Required. the name of the application to retrieve.
|
|
// Format:
|
|
// "projects/{project}/locations/{location}/applications/{application}"
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
}
|
|
];
|
|
|
|
repeated UpdateApplicationInstance application_instances = 2;
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// If true, Update Request will create one resource if the target resource
|
|
// doesn't exist, this time, the field_mask will be ignored.
|
|
bool allow_missing = 4;
|
|
}
|
|
|
|
// Message for deleting a Draft.
|
|
message DeleteDraftRequest {
|
|
// Required. Name of the resource.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = { type: "visionai.googleapis.com/Draft" }
|
|
];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes after the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for requesting list of Processors.
|
|
message ListProcessorsRequest {
|
|
// Required. Parent value for ListProcessorsRequest.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
child_type: "visionai.googleapis.com/Processor"
|
|
}
|
|
];
|
|
|
|
// Requested page size. Server may return fewer items than requested.
|
|
// If unspecified, server will pick an appropriate default.
|
|
int32 page_size = 2;
|
|
|
|
// A token identifying a page of results the server should return.
|
|
string page_token = 3;
|
|
|
|
// Filtering results.
|
|
string filter = 4;
|
|
|
|
// Hint for how to order the results.
|
|
string order_by = 5;
|
|
}
|
|
|
|
// Message for response to listing Processors.
|
|
message ListProcessorsResponse {
|
|
// The list of Processor.
|
|
repeated Processor processors = 1;
|
|
|
|
// A token identifying a page of results the server should return.
|
|
string next_page_token = 2;
|
|
|
|
// Locations that could not be reached.
|
|
repeated string unreachable = 3;
|
|
}
|
|
|
|
// Request Message for listing Prebuilt Processors.
|
|
message ListPrebuiltProcessorsRequest {
|
|
// Required. Parent path.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
child_type: "visionai.googleapis.com/Processor"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Response Message for listing Prebuilt Processors.
|
|
message ListPrebuiltProcessorsResponse {
|
|
// The list of Processor.
|
|
repeated Processor processors = 1;
|
|
}
|
|
|
|
// Message for getting a Processor.
|
|
message GetProcessorRequest {
|
|
// Required. Name of the resource.
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Processor"
|
|
}
|
|
];
|
|
}
|
|
|
|
// Message for creating a Processor.
|
|
message CreateProcessorRequest {
|
|
// Required. Value for parent.
|
|
string parent = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
child_type: "visionai.googleapis.com/Processor"
|
|
}
|
|
];
|
|
|
|
// Required. Id of the requesting object.
|
|
string processor_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The resource being created.
|
|
Processor processor = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for updating a Processor.
|
|
message UpdateProcessorRequest {
|
|
// Optional. Field mask is used to specify the fields to be overwritten in the
|
|
// Processor resource by the update.
|
|
// The fields specified in the update_mask are relative to the resource, not
|
|
// the full request. A field will be overwritten if it is in the mask. If the
|
|
// user does not provide a mask then all fields will be overwritten.
|
|
google.protobuf.FieldMask update_mask = 1
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Required. The resource being updated.
|
|
Processor processor = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes since the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message for deleting a Processor.
|
|
message DeleteProcessorRequest {
|
|
// Required. Name of the resource
|
|
string name = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.resource_reference) = {
|
|
type: "visionai.googleapis.com/Processor"
|
|
}
|
|
];
|
|
|
|
// Optional. An optional request ID to identify requests. Specify a unique
|
|
// request ID so that if you must retry your request, the server will know to
|
|
// ignore the request if it has already been completed. The server will
|
|
// guarantee that for at least 60 minutes after the first request.
|
|
//
|
|
// For example, consider a situation where you make an initial request and
|
|
// the request times out. If you make the request again with the same request
|
|
// ID, the server can check if original operation with the same request ID
|
|
// was received, and if so, will ignore the second request. This prevents
|
|
// clients from accidentally creating duplicate commitments.
|
|
//
|
|
// The request ID must be a valid UUID with the exception that zero UUID is
|
|
// not supported (00000000-0000-0000-0000-000000000000).
|
|
string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message describing Application object
|
|
message Application {
|
|
option (google.api.resource) = {
|
|
type: "visionai.googleapis.com/Application"
|
|
pattern: "projects/{project}/locations/{location}/applications/{application}"
|
|
style: DECLARATIVE_FRIENDLY
|
|
};
|
|
|
|
// Message storing the runtime information of the application.
|
|
message ApplicationRuntimeInfo {
|
|
// Message about output resources from application.
|
|
message GlobalOutputResource {
|
|
// The full resource name of the outputted resources.
|
|
string output_resource = 1;
|
|
|
|
// The name of graph node who produces the output resource name.
|
|
// For example:
|
|
// output_resource:
|
|
// /projects/123/locations/us-central1/corpora/my-corpus/dataSchemas/my-schema
|
|
// producer_node: occupancy-count
|
|
string producer_node = 2;
|
|
|
|
// The key of the output resource, it has to be unique within the same
|
|
// producer node. One producer node can output several output resources,
|
|
// the key can be used to match corresponding output resources.
|
|
string key = 3;
|
|
}
|
|
|
|
// Monitoring-related configuration for an application.
|
|
message MonitoringConfig {
|
|
// Whether this application has monitoring enabled.
|
|
bool enabled = 1;
|
|
}
|
|
|
|
// Timestamp when the engine be deployed
|
|
google.protobuf.Timestamp deploy_time = 1;
|
|
|
|
// Globally created resources like warehouse dataschemas.
|
|
repeated GlobalOutputResource global_output_resources = 3;
|
|
|
|
// Monitoring-related configuration for this application.
|
|
MonitoringConfig monitoring_config = 4;
|
|
}
|
|
|
|
// State of the Application
|
|
enum State {
|
|
// The default value. This value is used if the state is omitted.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// State CREATED.
|
|
CREATED = 1;
|
|
|
|
// State DEPLOYING.
|
|
DEPLOYING = 2;
|
|
|
|
// State DEPLOYED.
|
|
DEPLOYED = 3;
|
|
|
|
// State UNDEPLOYING.
|
|
UNDEPLOYING = 4;
|
|
|
|
// State DELETED.
|
|
DELETED = 5;
|
|
|
|
// State ERROR.
|
|
ERROR = 6;
|
|
|
|
// State CREATING.
|
|
CREATING = 7;
|
|
|
|
// State Updating.
|
|
UPDATING = 8;
|
|
|
|
// State Deleting.
|
|
DELETING = 9;
|
|
|
|
// State Fixing.
|
|
FIXING = 10;
|
|
}
|
|
|
|
// Billing mode of the Application
|
|
enum BillingMode {
|
|
// The default value.
|
|
BILLING_MODE_UNSPECIFIED = 0;
|
|
|
|
// Pay as you go billing mode.
|
|
PAYG = 1;
|
|
|
|
// Monthly billing mode.
|
|
MONTHLY = 2;
|
|
}
|
|
|
|
// name of resource
|
|
string name = 1;
|
|
|
|
// Output only. [Output only] Create timestamp
|
|
google.protobuf.Timestamp create_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. [Output only] Update timestamp
|
|
google.protobuf.Timestamp update_time = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Labels as key value pairs
|
|
map<string, string> labels = 4;
|
|
|
|
// Required. A user friendly display name for the solution.
|
|
string display_name = 5 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A description for this application.
|
|
string description = 6;
|
|
|
|
// Application graph configuration.
|
|
ApplicationConfigs application_configs = 7;
|
|
|
|
// Output only. Application graph runtime info. Only exists when application
|
|
// state equals to DEPLOYED.
|
|
ApplicationRuntimeInfo runtime_info = 8
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. State of the application.
|
|
State state = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Billing mode of the application.
|
|
BillingMode billing_mode = 12;
|
|
}
|
|
|
|
// Message storing the graph of the application.
|
|
message ApplicationConfigs {
|
|
// message storing the config for event delivery
|
|
message EventDeliveryConfig {
|
|
// The delivery channel for the event notification, only pub/sub topic is
|
|
// supported now.
|
|
// Example channel:
|
|
// [//pubsub.googleapis.com/projects/visionai-testing-stable/topics/test-topic]
|
|
string channel = 1;
|
|
|
|
// The expected delivery interval for the same event. The same event won't
|
|
// be notified multiple times during this internal event that it is
|
|
// happening multiple times during the period of time.The same event is
|
|
// identified by <event_id, app_platform_metadata>.
|
|
google.protobuf.Duration minimal_delivery_interval = 2;
|
|
}
|
|
|
|
// A list of nodes in the application graph.
|
|
repeated Node nodes = 1;
|
|
|
|
// Event-related configuration for this application.
|
|
EventDeliveryConfig event_delivery_config = 3;
|
|
}
|
|
|
|
// Message describing node object.
|
|
message Node {
|
|
// Message describing one edge pointing into a node.
|
|
message InputEdge {
|
|
// The name of the parent node.
|
|
string parent_node = 1;
|
|
|
|
// The connected output artifact of the parent node.
|
|
// It can be omitted if target processor only has 1 output artifact.
|
|
string parent_output_channel = 2;
|
|
|
|
// The connected input channel of the current node's processor.
|
|
// It can be omitted if target processor only has 1 input channel.
|
|
string connected_input_channel = 3;
|
|
}
|
|
|
|
oneof stream_output_config {
|
|
// By default, the output of the node will only be available to downstream
|
|
// nodes. To consume the direct output from the application node, the output
|
|
// must be sent to Vision AI Streams at first.
|
|
//
|
|
// By setting output_all_output_channels_to_stream to true, App Platform
|
|
// will automatically send all the outputs of the current node to Vision AI
|
|
// Stream resources (one stream per output channel). The output stream
|
|
// resource will be created by App Platform automatically during deployment
|
|
// and deleted after application un-deployment.
|
|
// Note that this config applies to all the Application Instances.
|
|
//
|
|
// The output stream can be override at instance level by
|
|
// configuring the `output_resources` section of Instance resource.
|
|
// `producer_node` should be current node, `output_resource_binding` should
|
|
// be the output channel name (or leave it blank if there is only 1 output
|
|
// channel of the processor) and `output_resource` should be the target
|
|
// output stream.
|
|
bool output_all_output_channels_to_stream = 6;
|
|
}
|
|
|
|
// Required. A unique name for the node.
|
|
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A user friendly display name for the node.
|
|
string display_name = 2;
|
|
|
|
// Node config.
|
|
ProcessorConfig node_config = 3;
|
|
|
|
// Processor name refer to the chosen processor resource.
|
|
string processor = 4;
|
|
|
|
// Parent node. Input node should not have parent node. For V1 Alpha1/Beta
|
|
// only media warehouse node can have multiple parents, other types of nodes
|
|
// will only have one parent.
|
|
repeated InputEdge parents = 5;
|
|
}
|
|
|
|
// Message describing Draft object
|
|
message Draft {
|
|
option (google.api.resource) = {
|
|
type: "visionai.googleapis.com/Draft"
|
|
pattern: "projects/{project}/locations/{location}/applications/{application}/drafts/{draft}"
|
|
style: DECLARATIVE_FRIENDLY
|
|
};
|
|
|
|
// name of resource
|
|
string name = 1;
|
|
|
|
// Output only. [Output only] Create timestamp
|
|
google.protobuf.Timestamp create_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. [Output only] Create timestamp
|
|
google.protobuf.Timestamp update_time = 7
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Labels as key value pairs
|
|
map<string, string> labels = 3;
|
|
|
|
// Required. A user friendly display name for the solution.
|
|
string display_name = 4 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A description for this application.
|
|
string description = 5;
|
|
|
|
// The draft application configs which haven't been updated to an application.
|
|
ApplicationConfigs draft_application_configs = 6;
|
|
}
|
|
|
|
// Message describing Instance object
|
|
// Next ID: 12
|
|
message Instance {
|
|
option (google.api.resource) = {
|
|
type: "visionai.googleapis.com/Instance"
|
|
pattern: "projects/{project}/locations/{location}/applications/{application}/instances/{instance}"
|
|
style: DECLARATIVE_FRIENDLY
|
|
};
|
|
|
|
// Message of input resource used in one application instance.
|
|
message InputResource {
|
|
// Required. Specify the input to the application instance.
|
|
oneof input_resource_information {
|
|
// The direct input resource name.
|
|
// If the instance type is STREAMING_PREDICTION, the input resource is in
|
|
// format of
|
|
// "projects/123/locations/us-central1/clusters/456/streams/stream-a".
|
|
// If the instance type is BATCH_PREDICTION from Cloud Storage input
|
|
// container, the input resource is in format of "gs://bucket-a".
|
|
string input_resource = 1;
|
|
|
|
// If the input resource is VisionAI Stream, the associated annotations
|
|
// can be specified using annotated_stream instead.
|
|
StreamWithAnnotation annotated_stream = 4 [deprecated = true];
|
|
}
|
|
|
|
// Data type for the current input resource.
|
|
DataType data_type = 6;
|
|
|
|
// The name of graph node who receives the input resource.
|
|
// For example:
|
|
// input_resource:
|
|
// visionai.googleapis.com/v1/projects/123/locations/us-central1/clusters/456/streams/input-stream-a
|
|
// consumer_node: stream-input
|
|
string consumer_node = 2;
|
|
|
|
// The specific input resource binding which will consume the current Input
|
|
// Resource, can be ignored is there is only 1 input binding.
|
|
string input_resource_binding = 3;
|
|
|
|
// Contains resource annotations.
|
|
ResourceAnnotations annotations = 5;
|
|
}
|
|
|
|
// Message of output resource used in one application instance.
|
|
message OutputResource {
|
|
// The output resource name for the current application instance.
|
|
string output_resource = 1;
|
|
|
|
// The name of graph node who produces the output resource name.
|
|
// For example:
|
|
// output_resource:
|
|
// /projects/123/locations/us-central1/clusters/456/streams/output-application-789-stream-a-occupancy-counting
|
|
// producer_node: occupancy-counting
|
|
string producer_node = 2;
|
|
|
|
// The specific output resource binding which produces the current
|
|
// OutputResource.
|
|
string output_resource_binding = 4;
|
|
|
|
// Output only. Whether the output resource is temporary which means the
|
|
// resource is generated during the deployment of the application. Temporary
|
|
// resource will be deleted during the undeployment of the application.
|
|
bool is_temporary = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. Whether the output resource is created automatically by the
|
|
// Vision AI App Platform.
|
|
bool autogen = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
}
|
|
|
|
// All the supported instance types.
|
|
enum InstanceType {
|
|
// Unspecified instance type.
|
|
// If the instance type is not specified, the default one is
|
|
// STREAMING_PREDICTION.
|
|
INSTANCE_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Instance type for streaming prediction.
|
|
STREAMING_PREDICTION = 1;
|
|
|
|
// Instance type for batch prediction.
|
|
BATCH_PREDICTION = 2;
|
|
|
|
// Instance type for online prediction.
|
|
ONLINE_PREDICTION = 3;
|
|
}
|
|
|
|
// State of the Instance
|
|
enum State {
|
|
// The default value. This value is used if the state is omitted.
|
|
STATE_UNSPECIFIED = 0;
|
|
|
|
// State CREATING.
|
|
CREATING = 1;
|
|
|
|
// State CREATED.
|
|
CREATED = 2;
|
|
|
|
// State DEPLOYING.
|
|
DEPLOYING = 3;
|
|
|
|
// State DEPLOYED.
|
|
DEPLOYED = 4;
|
|
|
|
// State UNDEPLOYING.
|
|
UNDEPLOYING = 5;
|
|
|
|
// State DELETED.
|
|
DELETED = 6;
|
|
|
|
// State ERROR.
|
|
ERROR = 7;
|
|
|
|
// State Updating
|
|
UPDATING = 8;
|
|
|
|
// State Deleting.
|
|
DELETING = 9;
|
|
|
|
// State Fixing.
|
|
FIXING = 10;
|
|
|
|
// State Finished.
|
|
FINISHED = 11;
|
|
}
|
|
|
|
// Output only. name of resource
|
|
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. [Output only] Create timestamp
|
|
google.protobuf.Timestamp create_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. [Output only] Update timestamp
|
|
google.protobuf.Timestamp update_time = 8
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Labels as key value pairs
|
|
map<string, string> labels = 3;
|
|
|
|
// Required. A user friendly display name for the solution.
|
|
string display_name = 4 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A description for this instance.
|
|
string description = 5;
|
|
|
|
// The instance type for the current instance.
|
|
InstanceType instance_type = 10;
|
|
|
|
// The input resources for the current application instance.
|
|
// For example:
|
|
// input_resources:
|
|
// visionai.googleapis.com/v1/projects/123/locations/us-central1/clusters/456/streams/stream-a
|
|
repeated InputResource input_resources = 6;
|
|
|
|
// All the output resources associated to one application instance.
|
|
repeated OutputResource output_resources = 7;
|
|
|
|
// State of the instance.
|
|
State state = 9;
|
|
}
|
|
|
|
// Message for creating a Instance.
|
|
message ApplicationInstance {
|
|
// Required. Id of the requesting object.
|
|
string instance_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The resource being created.
|
|
Instance instance = 2 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// Message describing Processor object.
|
|
// Next ID: 19
|
|
message Processor {
|
|
option (google.api.resource) = {
|
|
type: "visionai.googleapis.com/Processor"
|
|
pattern: "projects/{project}/locations/{location}/processors/{processor}"
|
|
style: DECLARATIVE_FRIENDLY
|
|
};
|
|
|
|
// Type
|
|
enum ProcessorType {
|
|
// Processor Type UNSPECIFIED.
|
|
PROCESSOR_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Processor Type PRETRAINED.
|
|
// Pretrained processor is developed by Vision AI App Platform with
|
|
// state-of-the-art vision data processing functionality, like occupancy
|
|
// counting or person blur. Pretrained processor is usually publicly
|
|
// available.
|
|
PRETRAINED = 1;
|
|
|
|
// Processor Type CUSTOM.
|
|
// Custom processors are specialized processors which are either uploaded by
|
|
// customers or imported from other GCP platform (for example Vertex AI).
|
|
// Custom processor is only visible to the creator.
|
|
CUSTOM = 2;
|
|
|
|
// Processor Type CONNECTOR.
|
|
// Connector processors are special processors which perform I/O for the
|
|
// application, they do not processing the data but either deliver the data
|
|
// to other processors or receive data from other processors.
|
|
CONNECTOR = 3;
|
|
}
|
|
|
|
enum ProcessorState {
|
|
// Unspecified Processor state.
|
|
PROCESSOR_STATE_UNSPECIFIED = 0;
|
|
|
|
// Processor is being created (not ready for use).
|
|
CREATING = 1;
|
|
|
|
// Processor is and ready for use.
|
|
ACTIVE = 2;
|
|
|
|
// Processor is being deleted (not ready for use).
|
|
DELETING = 3;
|
|
|
|
// Processor deleted or creation failed .
|
|
FAILED = 4;
|
|
}
|
|
|
|
// name of resource.
|
|
string name = 1;
|
|
|
|
// Output only. [Output only] Create timestamp.
|
|
google.protobuf.Timestamp create_time = 2
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. [Output only] Update timestamp.
|
|
google.protobuf.Timestamp update_time = 3
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Labels as key value pairs.
|
|
map<string, string> labels = 4;
|
|
|
|
// Required. A user friendly display name for the processor.
|
|
string display_name = 5 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Illustrative sentences for describing the functionality of the processor.
|
|
string description = 10;
|
|
|
|
// Output only. Processor Type.
|
|
ProcessorType processor_type = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Model Type.
|
|
ModelType model_type = 13;
|
|
|
|
// Source info for customer created processor.
|
|
CustomProcessorSourceInfo custom_processor_source_info = 7;
|
|
|
|
// Output only. State of the Processor.
|
|
ProcessorState state = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. [Output only] The input / output specifications of a
|
|
// processor, each type of processor has fixed input / output specs which
|
|
// cannot be altered by customer.
|
|
ProcessorIOSpec processor_io_spec = 11
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Output only. The corresponding configuration can be used in the Application
|
|
// to customize the behavior of the processor.
|
|
string configuration_typeurl = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
repeated StreamAnnotationType supported_annotation_types = 15
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Indicates if the processor supports post processing.
|
|
bool supports_post_processing = 17;
|
|
|
|
// Which instance types this processor supports; if empty, this default to
|
|
// STREAMING_PREDICTION.
|
|
repeated Instance.InstanceType supported_instance_types = 18;
|
|
}
|
|
|
|
// Message describing the input / output specifications of a processor.
|
|
message ProcessorIOSpec {
|
|
// Message for input channel specification.
|
|
message GraphInputChannelSpec {
|
|
// The name of the current input channel.
|
|
string name = 1;
|
|
|
|
// The data types of the current input channel.
|
|
// When this field has more than 1 value, it means this input channel can be
|
|
// connected to either of these different data types.
|
|
DataType data_type = 2;
|
|
|
|
// If specified, only those detailed data types can be connected to the
|
|
// processor. For example, jpeg stream for MEDIA, or PredictionResult proto
|
|
// for PROTO type. If unspecified, then any proto is accepted.
|
|
repeated string accepted_data_type_uris = 5;
|
|
|
|
// Whether the current input channel is required by the processor.
|
|
// For example, for a processor with required video input and optional audio
|
|
// input, if video input is missing, the application will be rejected while
|
|
// the audio input can be missing as long as the video input exists.
|
|
bool required = 3;
|
|
|
|
// How many input edges can be connected to this input channel. 0 means
|
|
// unlimited.
|
|
int64 max_connection_allowed = 4;
|
|
}
|
|
|
|
// Message for output channel specification.
|
|
message GraphOutputChannelSpec {
|
|
// The name of the current output channel.
|
|
string name = 1;
|
|
|
|
// The data type of the current output channel.
|
|
DataType data_type = 2;
|
|
|
|
string data_type_uri = 3;
|
|
}
|
|
|
|
// Message for instance resource channel specification.
|
|
// External resources are virtual nodes which are not expressed in the
|
|
// application graph. Each processor expresses its out-graph spec, so customer
|
|
// is able to override the external source or destinations to the
|
|
message InstanceResourceInputBindingSpec {
|
|
oneof resource_type {
|
|
// The configuration proto that includes the Googleapis resources. I.e.
|
|
// type.googleapis.com/google.cloud.vision.v1.StreamWithAnnotation
|
|
string config_type_uri = 2;
|
|
|
|
// The direct type url of Googleapis resource. i.e.
|
|
// type.googleapis.com/google.cloud.vision.v1.Asset
|
|
string resource_type_uri = 3;
|
|
}
|
|
|
|
// Name of the input binding, unique within the processor.
|
|
string name = 1;
|
|
}
|
|
|
|
message InstanceResourceOutputBindingSpec {
|
|
// Name of the output binding, unique within the processor.
|
|
string name = 1;
|
|
|
|
// The resource type uri of the acceptable output resource.
|
|
string resource_type_uri = 2;
|
|
|
|
// Whether the output resource needs to be explicitly set in the instance.
|
|
// If it is false, the processor will automatically generate it if required.
|
|
bool explicit = 3;
|
|
}
|
|
|
|
// For processors with input_channel_specs, the processor must be explicitly
|
|
// connected to another processor.
|
|
repeated GraphInputChannelSpec graph_input_channel_specs = 3;
|
|
|
|
// The output artifact specifications for the current processor.
|
|
repeated GraphOutputChannelSpec graph_output_channel_specs = 4;
|
|
|
|
// The input resource that needs to be fed from the application instance.
|
|
repeated InstanceResourceInputBindingSpec
|
|
instance_resource_input_binding_specs = 5;
|
|
|
|
// The output resource that the processor will generate per instance.
|
|
// Other than the explicitly listed output bindings here, all the processors'
|
|
// GraphOutputChannels can be binded to stream resource. The bind name then is
|
|
// the same as the GraphOutputChannel's name.
|
|
repeated InstanceResourceOutputBindingSpec
|
|
instance_resource_output_binding_specs = 6;
|
|
}
|
|
|
|
// Describes the source info for a custom processor.
|
|
message CustomProcessorSourceInfo {
|
|
// Message describes product recognizer artifact.
|
|
message ProductRecognizerArtifact {
|
|
// Required. Resource name of RetailProductRecognitionIndex.
|
|
// Format is
|
|
// 'projects/*/locations/*/retailCatalogs/*/retailProductRecognitionIndexes/*'
|
|
string retail_product_recognition_index = 1
|
|
[(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. The resource name of embedding model hosted in Vertex AI
|
|
// Platform.
|
|
string vertex_model = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// The schema is defined as an OpenAPI 3.0.2 [Schema
|
|
// Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
|
|
message ModelSchema {
|
|
// Cloud Storage location to a YAML file that defines the format of a single
|
|
// instance used in prediction and explanation requests.
|
|
GcsSource instances_schema = 1;
|
|
|
|
// Cloud Storage location to a YAML file that defines the prediction and
|
|
// explanation parameters.
|
|
GcsSource parameters_schema = 2;
|
|
|
|
// Cloud Storage location to a YAML file that defines the format of a single
|
|
// prediction or explanation.
|
|
GcsSource predictions_schema = 3;
|
|
}
|
|
|
|
// Source type of the imported custom processor.
|
|
enum SourceType {
|
|
// Source type unspecified.
|
|
SOURCE_TYPE_UNSPECIFIED = 0;
|
|
|
|
// Custom processors coming from Vertex AutoML product.
|
|
VERTEX_AUTOML = 1;
|
|
|
|
// Custom processors coming from general custom models from Vertex.
|
|
VERTEX_CUSTOM = 2;
|
|
|
|
// Source for Product Recognizer.
|
|
PRODUCT_RECOGNIZER = 3;
|
|
}
|
|
|
|
// The path where App Platform loads the artifacts for the custom processor.
|
|
oneof artifact_path {
|
|
// The resource name original model hosted in the vertex AI platform.
|
|
string vertex_model = 2;
|
|
|
|
// Artifact for product recognizer.
|
|
ProductRecognizerArtifact product_recognizer_artifact = 3;
|
|
}
|
|
|
|
// The original product which holds the custom processor's functionality.
|
|
SourceType source_type = 1;
|
|
|
|
// Output only. Additional info related to the imported custom processor.
|
|
// Data is filled in by app platform during the processor creation.
|
|
map<string, string> additional_info = 4
|
|
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// Model schema files which specifies the signature of the model.
|
|
// For VERTEX_CUSTOM models, instances schema is required.
|
|
// If instances schema is not specified during the processor creation,
|
|
// VisionAI Platform will try to get it from Vertex, if it doesn't exist, the
|
|
// creation will fail.
|
|
ModelSchema model_schema = 5;
|
|
}
|
|
|
|
// Next ID: 35
|
|
message ProcessorConfig {
|
|
oneof processor_config {
|
|
// Configs of stream input processor.
|
|
VideoStreamInputConfig video_stream_input_config = 9;
|
|
|
|
// Config of AI-enabled input devices.
|
|
AIEnabledDevicesInputConfig ai_enabled_devices_input_config = 20;
|
|
|
|
// Configs of media warehouse processor.
|
|
MediaWarehouseConfig media_warehouse_config = 10;
|
|
|
|
// Configs of person blur processor.
|
|
PersonBlurConfig person_blur_config = 11;
|
|
|
|
// Configs of occupancy count processor.
|
|
OccupancyCountConfig occupancy_count_config = 12;
|
|
|
|
// Configs of Person Vehicle Detection processor.
|
|
PersonVehicleDetectionConfig person_vehicle_detection_config = 15;
|
|
|
|
// Configs of Vertex AutoML vision processor.
|
|
VertexAutoMLVisionConfig vertex_automl_vision_config = 13;
|
|
|
|
// Configs of Vertex AutoML video processor.
|
|
VertexAutoMLVideoConfig vertex_automl_video_config = 14;
|
|
|
|
// Configs of Vertex Custom processor.
|
|
VertexCustomConfig vertex_custom_config = 17;
|
|
|
|
// Configs of General Object Detection processor.
|
|
GeneralObjectDetectionConfig general_object_detection_config = 18;
|
|
|
|
// Configs of BigQuery processor.
|
|
BigQueryConfig big_query_config = 19;
|
|
|
|
// Configs of Cloud Storage output processor.
|
|
GcsOutputConfig gcs_output_config = 27;
|
|
|
|
// Runtime configs of Product Recognizer processor.
|
|
ProductRecognizerConfig product_recognizer_config = 21;
|
|
|
|
// Configs of personal_protective_equipment_detection_config
|
|
PersonalProtectiveEquipmentDetectionConfig
|
|
personal_protective_equipment_detection_config = 22;
|
|
|
|
// Runtime configs of Tag Recognizer processor.
|
|
TagRecognizerConfig tag_recognizer_config = 25;
|
|
|
|
// Runtime configs of UniversalInput processor.
|
|
UniversalInputConfig universal_input_config = 28;
|
|
}
|
|
|
|
// Experimental configurations. Structured object containing not-yet-stable
|
|
// processor parameters.
|
|
google.protobuf.Struct experimental_config = 26;
|
|
}
|
|
|
|
// Message describing Vision AI stream with application specific annotations.
|
|
// All the StreamAnnotation object inside this message MUST have unique id.
|
|
message StreamWithAnnotation {
|
|
// Message describing annotations specific to application node.
|
|
message NodeAnnotation {
|
|
// The node name of the application graph.
|
|
string node = 1;
|
|
|
|
// The node specific stream annotations.
|
|
repeated StreamAnnotation annotations = 2;
|
|
}
|
|
|
|
// Vision AI Stream resource name.
|
|
string stream = 1 [
|
|
(google.api.resource_reference) = { type: "visionai.googleapis.com/Stream" }
|
|
];
|
|
|
|
// Annotations that will be applied to the whole application.
|
|
repeated StreamAnnotation application_annotations = 2;
|
|
|
|
// Annotations that will be applied to the specific node of the application.
|
|
// If the same type of the annotations is applied to both application and
|
|
// node, the node annotation will be added in addition to the global
|
|
// application one.
|
|
// For example, if there is one active zone annotation for the whole
|
|
// application and one active zone annotation for the Occupancy Analytic
|
|
// processor, then the Occupancy Analytic processor will have two active zones
|
|
// defined.
|
|
repeated NodeAnnotation node_annotations = 3;
|
|
}
|
|
|
|
// Message describing annotations specific to application node.
|
|
// This message is a duplication of StreamWithAnnotation.NodeAnnotation.
|
|
message ApplicationNodeAnnotation {
|
|
// The node name of the application graph.
|
|
string node = 1;
|
|
|
|
// The node specific stream annotations.
|
|
repeated StreamAnnotation annotations = 2;
|
|
}
|
|
|
|
// Message describing general annotation for resources.
|
|
message ResourceAnnotations {
|
|
// Annotations that will be applied to the whole application.
|
|
repeated StreamAnnotation application_annotations = 1;
|
|
|
|
// Annotations that will be applied to the specific node of the application.
|
|
// If the same type of the annotations is applied to both application and
|
|
// node, the node annotation will be added in addition to the global
|
|
// application one.
|
|
// For example, if there is one active zone annotation for the whole
|
|
// application and one active zone annotation for the Occupancy Analytic
|
|
// processor, then the Occupancy Analytic processor will have two active zones
|
|
// defined.
|
|
repeated ApplicationNodeAnnotation node_annotations = 2;
|
|
}
|
|
|
|
// Message describing Video Stream Input Config.
|
|
// This message should only be used as a placeholder for builtin:stream-input
|
|
// processor, actual stream binding should be specified using corresponding
|
|
// API.
|
|
message VideoStreamInputConfig {
|
|
repeated string streams = 1 [deprecated = true];
|
|
|
|
repeated StreamWithAnnotation streams_with_annotation = 2 [deprecated = true];
|
|
}
|
|
|
|
// Message describing AI-enabled Devices Input Config.
|
|
message AIEnabledDevicesInputConfig {}
|
|
|
|
// Message describing MediaWarehouseConfig.
|
|
message MediaWarehouseConfig {
|
|
// Resource name of the Media Warehouse corpus.
|
|
// Format:
|
|
// projects/${project_id}/locations/${location_id}/corpora/${corpus_id}
|
|
string corpus = 1;
|
|
|
|
// Deprecated.
|
|
string region = 2 [deprecated = true];
|
|
|
|
// The duration for which all media assets, associated metadata, and search
|
|
// documents can exist.
|
|
google.protobuf.Duration ttl = 3;
|
|
}
|
|
|
|
// Message describing FaceBlurConfig.
|
|
message PersonBlurConfig {
|
|
// Type of Person Blur
|
|
enum PersonBlurType {
|
|
// PersonBlur Type UNSPECIFIED.
|
|
PERSON_BLUR_TYPE_UNSPECIFIED = 0;
|
|
|
|
// FaceBlur Type full occlusion.
|
|
FULL_OCCULUSION = 1;
|
|
|
|
// FaceBlur Type blur filter.
|
|
BLUR_FILTER = 2;
|
|
}
|
|
|
|
// Person blur type.
|
|
PersonBlurType person_blur_type = 1;
|
|
|
|
// Whether only blur faces other than the whole object in the processor.
|
|
bool faces_only = 2;
|
|
}
|
|
|
|
// Message describing OccupancyCountConfig.
|
|
message OccupancyCountConfig {
|
|
// Whether to count the appearances of people, output counts have 'people' as
|
|
// the key.
|
|
bool enable_people_counting = 1;
|
|
|
|
// Whether to count the appearances of vehicles, output counts will have
|
|
// 'vehicle' as the key.
|
|
bool enable_vehicle_counting = 2;
|
|
|
|
// Whether to track each invidual object's loitering time inside the scene or
|
|
// specific zone.
|
|
bool enable_dwelling_time_tracking = 3;
|
|
}
|
|
|
|
// Message describing PersonVehicleDetectionConfig.
|
|
message PersonVehicleDetectionConfig {
|
|
// At least one of enable_people_counting and enable_vehicle_counting fields
|
|
// must be set to true.
|
|
// Whether to count the appearances of people, output counts have 'people' as
|
|
// the key.
|
|
bool enable_people_counting = 1;
|
|
|
|
// Whether to count the appearances of vehicles, output counts will have
|
|
// 'vehicle' as the key.
|
|
bool enable_vehicle_counting = 2;
|
|
}
|
|
|
|
// Message describing PersonalProtectiveEquipmentDetectionConfig.
|
|
message PersonalProtectiveEquipmentDetectionConfig {
|
|
// Whether to enable face coverage detection.
|
|
bool enable_face_coverage_detection = 1;
|
|
|
|
// Whether to enable head coverage detection.
|
|
bool enable_head_coverage_detection = 2;
|
|
|
|
// Whether to enable hands coverage detection.
|
|
bool enable_hands_coverage_detection = 3;
|
|
}
|
|
|
|
// Message of configurations for General Object Detection processor.
|
|
message GeneralObjectDetectionConfig {}
|
|
|
|
// Message of configurations for BigQuery processor.
|
|
message BigQueryConfig {
|
|
// BigQuery table resource for Vision AI Platform to ingest annotations to.
|
|
string table = 1;
|
|
|
|
// Data Schema
|
|
// By default, Vision AI Application will try to write annotations to the
|
|
// target BigQuery table using the following schema:
|
|
//
|
|
// ingestion_time: TIMESTAMP, the ingestion time of the original data.
|
|
//
|
|
// application: STRING, name of the application which produces the annotation.
|
|
//
|
|
// instance: STRING, Id of the instance which produces the annotation.
|
|
//
|
|
// node: STRING, name of the application graph node which produces the
|
|
// annotation.
|
|
//
|
|
// annotation: STRING or JSON, the actual annotation protobuf will be
|
|
// converted to json string with bytes field as 64 encoded string. It can be
|
|
// written to both String or Json type column.
|
|
//
|
|
// To forward annotation data to an existing BigQuery table, customer needs to
|
|
// make sure the compatibility of the schema.
|
|
// The map maps application node name to its corresponding cloud function
|
|
// endpoint to transform the annotations directly to the
|
|
// google.cloud.bigquery.storage.v1.AppendRowsRequest (only avro_rows or
|
|
// proto_rows should be set). If configured, annotations produced by
|
|
// corresponding application node will sent to the Cloud Function at first
|
|
// before be forwarded to BigQuery.
|
|
//
|
|
// If the default table schema doesn't fit, customer is able to transform the
|
|
// annotation output from Vision AI Application to arbitrary BigQuery table
|
|
// schema with CloudFunction.
|
|
// * The cloud function will receive AppPlatformCloudFunctionRequest where
|
|
// the annotations field will be the json format of Vision AI annotation.
|
|
// * The cloud function should return AppPlatformCloudFunctionResponse with
|
|
// AppendRowsRequest stored in the annotations field.
|
|
// * To drop the annotation, simply clear the annotations field in the
|
|
// returned AppPlatformCloudFunctionResponse.
|
|
map<string, string> cloud_function_mapping = 2;
|
|
|
|
// If true, App Platform will create the BigQuery DataSet and the
|
|
// BigQuery Table with default schema if the specified table doesn't exist.
|
|
// This doesn't work if any cloud function customized schema is specified
|
|
// since the system doesn't know your desired schema.
|
|
// JSON column will be used in the default table created by App Platform.
|
|
bool create_default_table_if_not_exists = 3;
|
|
}
|
|
|
|
// Message of configurations of Vertex AutoML Vision Processors.
|
|
message VertexAutoMLVisionConfig {
|
|
// Only entities with higher score than the threshold will be returned.
|
|
// Value 0.0 means to return all the detected entities.
|
|
float confidence_threshold = 1;
|
|
|
|
// At most this many predictions will be returned per output frame.
|
|
// Value 0 means to return all the detected entities.
|
|
int32 max_predictions = 2;
|
|
}
|
|
|
|
// Message describing VertexAutoMLVideoConfig.
|
|
message VertexAutoMLVideoConfig {
|
|
// Only entities with higher score than the threshold will be returned.
|
|
// Value 0.0 means returns all the detected entities.
|
|
float confidence_threshold = 1;
|
|
|
|
// Labels specified in this field won't be returned.
|
|
repeated string blocked_labels = 2;
|
|
|
|
// At most this many predictions will be returned per output frame.
|
|
// Value 0 means to return all the detected entities.
|
|
int32 max_predictions = 3;
|
|
|
|
// Only Bounding Box whose size is larger than this limit will be returned.
|
|
// Object Tracking only.
|
|
// Value 0.0 means to return all the detected entities.
|
|
float bounding_box_size_limit = 4;
|
|
}
|
|
|
|
// Message describing VertexCustomConfig.
|
|
message VertexCustomConfig {
|
|
// The max prediction frame per second. This attribute sets how fast the
|
|
// operator sends prediction requests to Vertex AI endpoint. Default value is
|
|
// 0, which means there is no max prediction fps limit. The operator sends
|
|
// prediction requests at input fps.
|
|
int32 max_prediction_fps = 1;
|
|
|
|
// A description of resources that are dedicated to the DeployedModel, and
|
|
// that need a higher degree of manual configuration.
|
|
DedicatedResources dedicated_resources = 2;
|
|
|
|
// If not empty, the prediction result will be sent to the specified cloud
|
|
// function for post processing.
|
|
// * The cloud function will receive AppPlatformCloudFunctionRequest where
|
|
// the annotations field will be the json format of proto PredictResponse.
|
|
// * The cloud function should return AppPlatformCloudFunctionResponse with
|
|
// PredictResponse stored in the annotations field.
|
|
// * To drop the prediction output, simply clear the payload field in the
|
|
// returned AppPlatformCloudFunctionResponse.
|
|
string post_processing_cloud_function = 3;
|
|
|
|
// If true, the prediction request received by custom model will also contain
|
|
// metadata with the following schema:
|
|
// 'appPlatformMetadata': {
|
|
// 'ingestionTime': DOUBLE; (UNIX timestamp)
|
|
// 'application': STRING;
|
|
// 'instanceId': STRING;
|
|
// 'node': STRING;
|
|
// 'processor': STRING;
|
|
// }
|
|
bool attach_application_metadata = 4;
|
|
|
|
// Optional. By setting the configuration_input_topic, processor will
|
|
// subscribe to given topic, only pub/sub topic is supported now. Example
|
|
// channel:
|
|
// //pubsub.googleapis.com/projects/visionai-testing-stable/topics/test-topic
|
|
// message schema should be:
|
|
// message Message {
|
|
// // The ID of the stream that associates with the application instance.
|
|
// string stream_id = 1;
|
|
// // The target fps. By default, the custom processor will *not* send any
|
|
// data to the Vertex Prediction container. Note that once the
|
|
// dynamic_config_input_topic is set, max_prediction_fps will not work and be
|
|
// preceded by the fps set inside the topic.
|
|
// int32 fps = 2;
|
|
// }
|
|
optional string dynamic_config_input_topic = 6
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Message describing GcsOutputConfig.
|
|
message GcsOutputConfig {
|
|
// The Cloud Storage path for Vision AI Platform to ingest annotations to.
|
|
string gcs_path = 1;
|
|
}
|
|
|
|
// Message describing UniversalInputConfig.
|
|
message UniversalInputConfig {}
|
|
|
|
// Specification of a single machine.
|
|
message MachineSpec {
|
|
// Immutable. The type of the machine.
|
|
//
|
|
// See the [list of machine types supported for
|
|
// prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types)
|
|
//
|
|
// See the [list of machine types supported for custom
|
|
// training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types).
|
|
//
|
|
// For [DeployedModel][] this field is optional, and the default
|
|
// value is `n1-standard-2`. For [BatchPredictionJob][] or as part of
|
|
// [WorkerPoolSpec][] this field is required.
|
|
string machine_type = 1 [(google.api.field_behavior) = IMMUTABLE];
|
|
|
|
// Immutable. The type of accelerator(s) that may be attached to the machine
|
|
// as per
|
|
// [accelerator_count][google.cloud.visionai.v1.MachineSpec.accelerator_count].
|
|
AcceleratorType accelerator_type = 2
|
|
[(google.api.field_behavior) = IMMUTABLE];
|
|
|
|
// The number of accelerators to attach to the machine.
|
|
int32 accelerator_count = 3;
|
|
}
|
|
|
|
// The metric specification that defines the target resource utilization
|
|
// (CPU utilization, accelerator's duty cycle, and so on) for calculating the
|
|
// desired replica count.
|
|
message AutoscalingMetricSpec {
|
|
// Required. The resource metric name.
|
|
// Supported metrics:
|
|
//
|
|
// * For Online Prediction:
|
|
// * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle`
|
|
// * `aiplatform.googleapis.com/prediction/online/cpu/utilization`
|
|
string metric_name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// The target resource utilization in percentage (1% - 100%) for the given
|
|
// metric; once the real usage deviates from the target by a certain
|
|
// percentage, the machine replicas change. The default value is 60
|
|
// (representing 60%) if not provided.
|
|
int32 target = 2;
|
|
}
|
|
|
|
// A description of resources that are dedicated to a DeployedModel, and
|
|
// that need a higher degree of manual configuration.
|
|
message DedicatedResources {
|
|
// Required. Immutable. The specification of a single machine used by the
|
|
// prediction.
|
|
MachineSpec machine_spec = 1 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.field_behavior) = IMMUTABLE
|
|
];
|
|
|
|
// Required. Immutable. The minimum number of machine replicas this
|
|
// DeployedModel will be always deployed on. This value must be greater than
|
|
// or equal to 1.
|
|
//
|
|
// If traffic against the DeployedModel increases, it may dynamically be
|
|
// deployed onto more replicas, and as traffic decreases, some of these extra
|
|
// replicas may be freed.
|
|
int32 min_replica_count = 2 [
|
|
(google.api.field_behavior) = REQUIRED,
|
|
(google.api.field_behavior) = IMMUTABLE
|
|
];
|
|
|
|
// Immutable. The maximum number of replicas this DeployedModel may be
|
|
// deployed on when the traffic against it increases. If the requested value
|
|
// is too large, the deployment will error, but if deployment succeeds then
|
|
// the ability to scale the model to that many replicas is guaranteed (barring
|
|
// service outages). If traffic against the DeployedModel increases beyond
|
|
// what its replicas at maximum may handle, a portion of the traffic will be
|
|
// dropped. If this value is not provided, will use
|
|
// [min_replica_count][google.cloud.visionai.v1.DedicatedResources.min_replica_count]
|
|
// as the default value.
|
|
//
|
|
// The value of this field impacts the charge against Vertex CPU and GPU
|
|
// quotas. Specifically, you will be charged for max_replica_count *
|
|
// number of cores in the selected machine type) and (max_replica_count *
|
|
// number of GPUs per replica in the selected machine type).
|
|
int32 max_replica_count = 3 [(google.api.field_behavior) = IMMUTABLE];
|
|
|
|
// Immutable. The metric specifications that overrides a resource
|
|
// utilization metric (CPU utilization, accelerator's duty cycle, and so on)
|
|
// target value (default to 60 if not set). At most one entry is allowed per
|
|
// metric.
|
|
//
|
|
// If
|
|
// [machine_spec.accelerator_count][google.cloud.visionai.v1.MachineSpec.accelerator_count]
|
|
// is above 0, the autoscaling will be based on both CPU utilization and
|
|
// accelerator's duty cycle metrics and scale up when either metrics exceeds
|
|
// its target value while scale down if both metrics are under their target
|
|
// value. The default target value is 60 for both metrics.
|
|
//
|
|
// If
|
|
// [machine_spec.accelerator_count][google.cloud.visionai.v1.MachineSpec.accelerator_count]
|
|
// is 0, the autoscaling will be based on CPU utilization metric only with
|
|
// default target value 60 if not explicitly set.
|
|
//
|
|
// For example, in the case of Online Prediction, if you want to override
|
|
// target CPU utilization to 80, you should set
|
|
// [autoscaling_metric_specs.metric_name][google.cloud.visionai.v1.AutoscalingMetricSpec.metric_name]
|
|
// to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and
|
|
// [autoscaling_metric_specs.target][google.cloud.visionai.v1.AutoscalingMetricSpec.target]
|
|
// to `80`.
|
|
repeated AutoscalingMetricSpec autoscaling_metric_specs = 4
|
|
[(google.api.field_behavior) = IMMUTABLE];
|
|
}
|
|
|
|
// Message describing ProductRecognizerConfig.
|
|
message ProductRecognizerConfig {
|
|
// The resource name of retail endpoint to use.
|
|
string retail_endpoint = 1;
|
|
|
|
// Confidence threshold to filter detection results. If not set, a system
|
|
// default value will be used.
|
|
float recognition_confidence_threshold = 2;
|
|
}
|
|
|
|
// Message describing TagRecognizerConfig.
|
|
message TagRecognizerConfig {
|
|
// Confidence threshold to filter detection results. If not set, a system
|
|
// default value will be used.
|
|
float entity_detection_confidence_threshold = 1;
|
|
|
|
// Configuration to customize how tags are parsed.
|
|
TagParsingConfig tag_parsing_config = 2;
|
|
}
|
|
|
|
// Configuration for tag parsing.
|
|
message TagParsingConfig {
|
|
// Configuration for parsing a tag entity class.
|
|
message EntityParsingConfig {
|
|
// Type of entity matching strategy.
|
|
enum EntityMatchingStrategy {
|
|
// If unspecified, multi-line matching will be used by default.
|
|
ENTITY_MATCHING_STRATEGY_UNSPECIFIED = 0;
|
|
|
|
// Matches multiple lines of text.
|
|
MULTI_LINE_MATCHING = 1;
|
|
|
|
// Matches the line with the maximum overlap area with entity bounding
|
|
// box.
|
|
MAX_OVERLAP_AREA = 2;
|
|
}
|
|
|
|
// Required. The tag entity class name. This should match the class name
|
|
// produced by the tag entity detection model.
|
|
string entity_class = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Optional. An regular expression hint.
|
|
string regex = 2 [(google.api.field_behavior) = OPTIONAL];
|
|
|
|
// Optional. Entity matching strategy.
|
|
EntityMatchingStrategy entity_matching_strategy = 3
|
|
[(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Each tag entity class may have an optional EntityParsingConfig which is
|
|
// used to help parse the entities of the class.
|
|
repeated EntityParsingConfig entity_parsing_configs = 1;
|
|
}
|