summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/api/expr/v1alpha1/eval.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/api/expr/v1alpha1/eval.proto')
-rw-r--r--third_party/googleapis/google/api/expr/v1alpha1/eval.proto118
1 files changed, 0 insertions, 118 deletions
diff --git a/third_party/googleapis/google/api/expr/v1alpha1/eval.proto b/third_party/googleapis/google/api/expr/v1alpha1/eval.proto
deleted file mode 100644
index e905264..0000000
--- a/third_party/googleapis/google/api/expr/v1alpha1/eval.proto
+++ /dev/null
@@ -1,118 +0,0 @@
-// 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.api.expr.v1alpha1;
-
-import "google/api/expr/v1alpha1/value.proto";
-import "google/rpc/status.proto";
-
-option cc_enable_arenas = true;
-option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr";
-option java_multiple_files = true;
-option java_outer_classname = "EvalProto";
-option java_package = "com.google.api.expr.v1alpha1";
-
-// The state of an evaluation.
-//
-// Can represent an inital, partial, or completed state of evaluation.
-message EvalState {
- // A single evalution result.
- message Result {
- // The id of the expression this result if for.
- int64 expr = 1;
-
- // The index in `values` of the resulting value.
- int64 value = 2;
- }
-
- // The unique values referenced in this message.
- repeated ExprValue values = 1;
-
- // An ordered list of results.
- //
- // Tracks the flow of evaluation through the expression.
- // May be sparse.
- repeated Result results = 3;
-}
-
-// The value of an evaluated expression.
-message ExprValue {
- // An expression can resolve to a value, error or unknown.
- oneof kind {
- // A concrete value.
- Value value = 1;
-
- // The set of errors in the critical path of evalution.
- //
- // Only errors in the critical path are included. For example,
- // `(<error1> || true) && <error2>` will only result in `<error2>`,
- // while `<error1> || <error2>` will result in both `<error1>` and
- // `<error2>`.
- //
- // Errors cause by the presence of other errors are not included in the
- // set. For example `<error1>.foo`, `foo(<error1>)`, and `<error1> + 1` will
- // only result in `<error1>`.
- //
- // Multiple errors *might* be included when evaluation could result
- // in different errors. For example `<error1> + <error2>` and
- // `foo(<error1>, <error2>)` may result in `<error1>`, `<error2>` or both.
- // The exact subset of errors included for this case is unspecified and
- // depends on the implementation details of the evaluator.
- ErrorSet error = 2;
-
- // The set of unknowns in the critical path of evaluation.
- //
- // Unknown behaves identically to Error with regards to propagation.
- // Specifically, only unknowns in the critical path are included, unknowns
- // caused by the presence of other unknowns are not included, and multiple
- // unknowns *might* be included included when evaluation could result in
- // different unknowns. For example:
- //
- // (<unknown[1]> || true) && <unknown[2]> -> <unknown[2]>
- // <unknown[1]> || <unknown[2]> -> <unknown[1,2]>
- // <unknown[1]>.foo -> <unknown[1]>
- // foo(<unknown[1]>) -> <unknown[1]>
- // <unknown[1]> + <unknown[2]> -> <unknown[1]> or <unknown[2[>
- //
- // Unknown takes precidence over Error in cases where a `Value` can short
- // circuit the result:
- //
- // <error> || <unknown> -> <unknown>
- // <error> && <unknown> -> <unknown>
- //
- // Errors take precidence in all other cases:
- //
- // <unknown> + <error> -> <error>
- // foo(<unknown>, <error>) -> <error>
- UnknownSet unknown = 3;
- }
-}
-
-// A set of errors.
-//
-// The errors included depend on the context. See `ExprValue.error`.
-message ErrorSet {
- // The errors in the set.
- repeated google.rpc.Status errors = 1;
-}
-
-// A set of expressions for which the value is unknown.
-//
-// The unknowns included depend on the context. See `ExprValue.unknown`.
-message UnknownSet {
- // The ids of the expressions with unknown values.
- repeated int64 exprs = 1;
-}