1 // Copyright 2018 Google LLC.
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
7 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 package google.api.expr.v1alpha1;
20 import "google/protobuf/any.proto";
21 import "google/protobuf/struct.proto";
23 option cc_enable_arenas = true;
24 option go_package = "google.golang.org/genproto/googleapis/api/expr/v1alpha1;expr";
25 option java_multiple_files = true;
26 option java_outer_classname = "ValueProto";
27 option java_package = "com.google.api.expr.v1alpha1";
29 // Contains representations for CEL runtime values.
31 // Represents a CEL value.
33 // This is similar to `google.protobuf.Value`, but can represent CEL's full
36 // Required. The valid kinds of values.
39 google.protobuf.NullValue null_value = 1;
44 // Signed integer value.
45 int64 int64_value = 3;
47 // Unsigned integer value.
48 uint64 uint64_value = 4;
50 // Floating point value.
51 double double_value = 5;
53 // UTF-8 string value.
54 string string_value = 6;
57 bytes bytes_value = 7;
60 EnumValue enum_value = 9;
62 // The proto message backing an object value.
63 google.protobuf.Any object_value = 10;
66 MapValue map_value = 11;
69 ListValue list_value = 12;
72 string type_value = 15;
78 // The fully qualified name of the enum type.
81 // The value of the enum.
87 // Wrapped in a message so 'not set' and empty can be differentiated, which is
88 // required for use in a 'oneof'.
90 // The ordered values in the list.
91 repeated Value values = 1;
96 // Wrapped in a message so 'not set' and empty can be differentiated, which is
97 // required for use in a 'oneof'.
99 // An entry in the map.
103 // Must be unique with in the map.
104 // Currently only boolean, int, uint, and string values can be keys.
111 // The set of map entries.
113 // CEL has fewer restrictions on keys, so a protobuf map represenation
115 repeated Entry entries = 1;