Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / api / expr / v1alpha1 / cel_service.proto
1 // Copyright 2018 Google LLC.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 //
15
16 syntax = "proto3";
17
18 package google.api.expr.v1alpha1;
19
20 import "google/api/expr/v1alpha1/conformance_service.proto";
21
22 option cc_enable_arenas = true;
23 option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr";
24 option java_multiple_files = true;
25 option java_outer_classname = "CelServiceProto";
26 option java_package = "com.google.api.expr.v1alpha1";
27
28 // Access a CEL implementation from another process or machine.
29 // A CEL implementation is decomposed as a parser, a static checker,
30 // and an evaluator.  Every CEL implementation is expected to provide
31 // a server for this API.  The API will be used for conformance testing,
32 // utilities, and execution as a service.
33 service CelService {
34   // Transforms CEL source text into a parsed representation.
35   rpc Parse(ParseRequest) returns (ParseResponse) {}
36
37   // Runs static checks on a parsed CEL representation and return
38   // an annotated representation, or a set of issues.
39   rpc Check(CheckRequest) returns (CheckResponse) {}
40
41   // Evaluates a parsed or annotation CEL representation given
42   // values of external bindings.
43   rpc Eval(EvalRequest) returns (EvalResponse) {}
44 }