| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | // Copyright 2022 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.v1alpha1;option csharp_namespace = "Google.Cloud.VisionAI.V1Alpha1";option go_package = "google.golang.org/genproto/googleapis/cloud/visionai/v1alpha1;visionai";option java_multiple_files = true;option java_outer_classname = "LvaProto";option java_package = "com.google.cloud.visionai.v1alpha1";option php_namespace = "Google\\Cloud\\VisionAI\\V1alpha1";option ruby_package = "Google::Cloud::VisionAI::V1alpha1";// Represents an actual value of an operator attribute.message AttributeValue {  // Attribute value.  oneof value {    // int.    int64 i = 1;    // float.    float f = 2;    // bool.    bool b = 3;    // string.    bytes s = 4;  }}// Defines an Analyzer.//// An analyzer processes data from its input streams using the logic defined in// the Operator that it represents. Of course, it produces data for the output// streams declared in the Operator.message AnalyzerDefinition {  // The inputs to this analyzer.  //  // We accept input name references of the following form:  // <analyzer-name>:<output-argument-name>  //  // Example:  //  // Suppose you had an operator named "SomeOp" that has 2 output  // arguments, the first of which is named "foo" and the second of which is  // named "bar", and an operator named "MyOp" that accepts 2 inputs.  //  // Also suppose that there is an analyzer named "some-analyzer" that is  // running "SomeOp" and another analyzer named "my-analyzer" running "MyOp".  //  // To indicate that "my-analyzer" is to consume "some-analyzer"'s "foo"  // output as its first input and "some-analyzer"'s "bar" output as its  // second input, you can set this field to the following:  // input = ["some-analyzer:foo", "some-analyzer:bar"]  message StreamInput {    // The name of the stream input (as discussed above).    string input = 1;  }  // Options available for debugging purposes only.  message DebugOptions {    // Environment variables.    map<string, string> environment_variables = 1;  }  // The name of this analyzer.  //  // Tentatively [a-z][a-z0-9]*(_[a-z0-9]+)*.  string analyzer = 1;  // The name of the operator that this analyzer runs.  //  // Must match the name of a supported operator.  string operator = 2;  // Input streams.  repeated StreamInput inputs = 3;  // The attribute values that this analyzer applies to the operator.  //  // Supply a mapping between the attribute names and the actual value you wish  // to apply. If an attribute name is omitted, then it will take a  // preconfigured default value.  map<string, AttributeValue> attrs = 4;  // Debug options.  DebugOptions debug_options = 5;}// Defines a full analysis.//// This is a description of the overall live analytics pipeline.// You may think of this as an edge list representation of a multigraph.//// This may be directly authored by a human in protobuf textformat, or it may be// generated by a programming API (perhaps Python or JavaScript depending on// context).message AnalysisDefinition {  // Analyzer definitions.  repeated AnalyzerDefinition analyzers = 1;}
 |