var File_google_api_expr_v1beta1_decl_proto protoreflect.FileDescriptor
var File_google_api_expr_v1beta1_eval_proto protoreflect.FileDescriptor
var File_google_api_expr_v1beta1_expr_proto protoreflect.FileDescriptor
var File_google_api_expr_v1beta1_source_proto protoreflect.FileDescriptor
var File_google_api_expr_v1beta1_value_proto protoreflect.FileDescriptor
A declaration.
type Decl struct { // The id of the declaration. Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // The name of the declaration. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // The documentation string for the declaration. Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` // The kind of declaration. // // Types that are assignable to Kind: // // *Decl_Ident // *Decl_Function Kind isDecl_Kind `protobuf_oneof:"kind"` // contains filtered or unexported fields }
func (*Decl) Descriptor() ([]byte, []int)
Deprecated: Use Decl.ProtoReflect.Descriptor instead.
func (x *Decl) GetDoc() string
func (x *Decl) GetFunction() *FunctionDecl
func (x *Decl) GetId() int32
func (x *Decl) GetIdent() *IdentDecl
func (m *Decl) GetKind() isDecl_Kind
func (x *Decl) GetName() string
func (*Decl) ProtoMessage()
func (x *Decl) ProtoReflect() protoreflect.Message
func (x *Decl) Reset()
func (x *Decl) String() string
The declared type of a variable.
Extends runtime type values with extra information used for type checking and dispatching.
type DeclType struct { // The expression id of the declared type, if applicable. Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // The type name, e.g. 'int', 'my.type.Type' or 'T' Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // An ordered list of type parameters, e.g. `<string, int>`. // Only applies to a subset of types, e.g. `map`, `list`. TypeParams []*DeclType `protobuf:"bytes,4,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"` // contains filtered or unexported fields }
func (*DeclType) Descriptor() ([]byte, []int)
Deprecated: Use DeclType.ProtoReflect.Descriptor instead.
func (x *DeclType) GetId() int32
func (x *DeclType) GetType() string
func (x *DeclType) GetTypeParams() []*DeclType
func (*DeclType) ProtoMessage()
func (x *DeclType) ProtoReflect() protoreflect.Message
func (x *DeclType) Reset()
func (x *DeclType) String() string
type Decl_Function struct { // A function declaration. Function *FunctionDecl `protobuf:"bytes,5,opt,name=function,proto3,oneof"` }
type Decl_Ident struct { // An identifier declaration. Ident *IdentDecl `protobuf:"bytes,4,opt,name=ident,proto3,oneof"` }
An enum value.
type EnumValue struct { // The fully qualified name of the enum type. Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // The value of the enum. Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
func (*EnumValue) Descriptor() ([]byte, []int)
Deprecated: Use EnumValue.ProtoReflect.Descriptor instead.
func (x *EnumValue) GetType() string
func (x *EnumValue) GetValue() int32
func (*EnumValue) ProtoMessage()
func (x *EnumValue) ProtoReflect() protoreflect.Message
func (x *EnumValue) Reset()
func (x *EnumValue) String() string
A set of errors.
The errors included depend on the context. See `ExprValue.error`.
type ErrorSet struct { // The errors in the set. Errors []*status.Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"` // contains filtered or unexported fields }
func (*ErrorSet) Descriptor() ([]byte, []int)
Deprecated: Use ErrorSet.ProtoReflect.Descriptor instead.
func (x *ErrorSet) GetErrors() []*status.Status
func (*ErrorSet) ProtoMessage()
func (x *ErrorSet) ProtoReflect() protoreflect.Message
func (x *ErrorSet) Reset()
func (x *ErrorSet) String() string
The state of an evaluation.
Can represent an initial, partial, or completed state of evaluation.
type EvalState struct { // The unique values referenced in this message. Values []*ExprValue `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` // An ordered list of results. // // Tracks the flow of evaluation through the expression. // May be sparse. Results []*EvalState_Result `protobuf:"bytes,3,rep,name=results,proto3" json:"results,omitempty"` // contains filtered or unexported fields }
func (*EvalState) Descriptor() ([]byte, []int)
Deprecated: Use EvalState.ProtoReflect.Descriptor instead.
func (x *EvalState) GetResults() []*EvalState_Result
func (x *EvalState) GetValues() []*ExprValue
func (*EvalState) ProtoMessage()
func (x *EvalState) ProtoReflect() protoreflect.Message
func (x *EvalState) Reset()
func (x *EvalState) String() string
A single evaluation result.
type EvalState_Result struct { // The expression this result is for. Expr *IdRef `protobuf:"bytes,1,opt,name=expr,proto3" json:"expr,omitempty"` // The index in `values` of the resulting value. Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
func (*EvalState_Result) Descriptor() ([]byte, []int)
Deprecated: Use EvalState_Result.ProtoReflect.Descriptor instead.
func (x *EvalState_Result) GetExpr() *IdRef
func (x *EvalState_Result) GetValue() int32
func (*EvalState_Result) ProtoMessage()
func (x *EvalState_Result) ProtoReflect() protoreflect.Message
func (x *EvalState_Result) Reset()
func (x *EvalState_Result) String() string
An abstract representation of a common expression.
Expressions are abstractly represented as a collection of identifiers, select statements, function calls, literals, and comprehensions. All operators with the exception of the '.' operator are modelled as function calls. This makes it easy to represent new operators into the existing AST.
All references within expressions must resolve to a Decl[google.api.expr.v1beta1.Decl] provided at type-check for an expression to be valid. A reference may either be a bare identifier `name` or a qualified identifier `google.api.name`. References may either refer to a value or a function declaration.
For example, the expression `google.api.name.startsWith('expr')` references the declaration `google.api.name` within a [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression, and the function declaration `startsWith`.
type Expr struct { // Required. An id assigned to this node by the parser which is unique in a // given expression tree. This is used to associate type information and other // attributes to a node in the parse tree. Id int32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` // Required. Variants of expressions. // // Types that are assignable to ExprKind: // // *Expr_LiteralExpr // *Expr_IdentExpr // *Expr_SelectExpr // *Expr_CallExpr // *Expr_ListExpr // *Expr_StructExpr // *Expr_ComprehensionExpr ExprKind isExpr_ExprKind `protobuf_oneof:"expr_kind"` // contains filtered or unexported fields }
func (*Expr) Descriptor() ([]byte, []int)
Deprecated: Use Expr.ProtoReflect.Descriptor instead.
func (x *Expr) GetCallExpr() *Expr_Call
func (x *Expr) GetComprehensionExpr() *Expr_Comprehension
func (m *Expr) GetExprKind() isExpr_ExprKind
func (x *Expr) GetId() int32
func (x *Expr) GetIdentExpr() *Expr_Ident
func (x *Expr) GetListExpr() *Expr_CreateList
func (x *Expr) GetLiteralExpr() *Literal
func (x *Expr) GetSelectExpr() *Expr_Select
func (x *Expr) GetStructExpr() *Expr_CreateStruct
func (*Expr) ProtoMessage()
func (x *Expr) ProtoReflect() protoreflect.Message
func (x *Expr) Reset()
func (x *Expr) String() string
The value of an evaluated expression.
type ExprValue struct { // An expression can resolve to a value, error or unknown. // // Types that are assignable to Kind: // // *ExprValue_Value // *ExprValue_Error // *ExprValue_Unknown Kind isExprValue_Kind `protobuf_oneof:"kind"` // contains filtered or unexported fields }
func (*ExprValue) Descriptor() ([]byte, []int)
Deprecated: Use ExprValue.ProtoReflect.Descriptor instead.
func (x *ExprValue) GetError() *ErrorSet
func (m *ExprValue) GetKind() isExprValue_Kind
func (x *ExprValue) GetUnknown() *UnknownSet
func (x *ExprValue) GetValue() *Value
func (*ExprValue) ProtoMessage()
func (x *ExprValue) ProtoReflect() protoreflect.Message
func (x *ExprValue) Reset()
func (x *ExprValue) String() string
type ExprValue_Error struct { // 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. Error *ErrorSet `protobuf:"bytes,2,opt,name=error,proto3,oneof"` }
type ExprValue_Unknown struct { // 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> Unknown *UnknownSet `protobuf:"bytes,3,opt,name=unknown,proto3,oneof"` }
type ExprValue_Value struct { // A concrete value. Value *Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"` }
A call expression, including calls to predefined functions and operators.
For example, `value == 10`, `size(map_value)`.
type Expr_Call struct { // The target of an method call-style expression. For example, `x` in // `x.f()`. Target *Expr `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` // Required. The name of the function or method being called. Function string `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"` // The arguments. Args []*Expr `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` // contains filtered or unexported fields }
func (*Expr_Call) Descriptor() ([]byte, []int)
Deprecated: Use Expr_Call.ProtoReflect.Descriptor instead.
func (x *Expr_Call) GetArgs() []*Expr
func (x *Expr_Call) GetFunction() string
func (x *Expr_Call) GetTarget() *Expr
func (*Expr_Call) ProtoMessage()
func (x *Expr_Call) ProtoReflect() protoreflect.Message
func (x *Expr_Call) Reset()
func (x *Expr_Call) String() string
type Expr_CallExpr struct { // A call expression, including calls to predefined functions and operators. CallExpr *Expr_Call `protobuf:"bytes,6,opt,name=call_expr,json=callExpr,proto3,oneof"` }
A comprehension expression applied to a list or map.
Comprehensions are not part of the core syntax, but enabled with macros. A macro matches a specific call signature within a parsed AST and replaces the call with an alternate AST block. Macro expansion happens at parse time.
The following macros are supported within CEL:
Aggregate type macros may be applied to all elements in a list or all keys in a map:
The `has(m.x)` macro tests whether the property `x` is present in struct `m`. The semantics of this macro depend on the type of `m`. For proto2 messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the macro tests whether the property is set to its default. For map and struct types, the macro tests whether the property `x` is defined on `m`.
type Expr_Comprehension struct { // The name of the iteration variable. IterVar string `protobuf:"bytes,1,opt,name=iter_var,json=iterVar,proto3" json:"iter_var,omitempty"` // The range over which var iterates. IterRange *Expr `protobuf:"bytes,2,opt,name=iter_range,json=iterRange,proto3" json:"iter_range,omitempty"` // The name of the variable used for accumulation of the result. AccuVar string `protobuf:"bytes,3,opt,name=accu_var,json=accuVar,proto3" json:"accu_var,omitempty"` // The initial value of the accumulator. AccuInit *Expr `protobuf:"bytes,4,opt,name=accu_init,json=accuInit,proto3" json:"accu_init,omitempty"` // An expression which can contain iter_var and accu_var. // // Returns false when the result has been computed and may be used as // a hint to short-circuit the remainder of the comprehension. LoopCondition *Expr `protobuf:"bytes,5,opt,name=loop_condition,json=loopCondition,proto3" json:"loop_condition,omitempty"` // An expression which can contain iter_var and accu_var. // // Computes the next value of accu_var. LoopStep *Expr `protobuf:"bytes,6,opt,name=loop_step,json=loopStep,proto3" json:"loop_step,omitempty"` // An expression which can contain accu_var. // // Computes the result. Result *Expr `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"` // contains filtered or unexported fields }
func (*Expr_Comprehension) Descriptor() ([]byte, []int)
Deprecated: Use Expr_Comprehension.ProtoReflect.Descriptor instead.
func (x *Expr_Comprehension) GetAccuInit() *Expr
func (x *Expr_Comprehension) GetAccuVar() string
func (x *Expr_Comprehension) GetIterRange() *Expr
func (x *Expr_Comprehension) GetIterVar() string
func (x *Expr_Comprehension) GetLoopCondition() *Expr
func (x *Expr_Comprehension) GetLoopStep() *Expr
func (x *Expr_Comprehension) GetResult() *Expr
func (*Expr_Comprehension) ProtoMessage()
func (x *Expr_Comprehension) ProtoReflect() protoreflect.Message
func (x *Expr_Comprehension) Reset()
func (x *Expr_Comprehension) String() string
type Expr_ComprehensionExpr struct { // A comprehension expression. ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"` }
A list creation expression.
Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogenous, e.g. `dyn([1, 'hello', 2.0])`
type Expr_CreateList struct { // The elements part of the list. Elements []*Expr `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"` // contains filtered or unexported fields }
func (*Expr_CreateList) Descriptor() ([]byte, []int)
Deprecated: Use Expr_CreateList.ProtoReflect.Descriptor instead.
func (x *Expr_CreateList) GetElements() []*Expr
func (*Expr_CreateList) ProtoMessage()
func (x *Expr_CreateList) ProtoReflect() protoreflect.Message
func (x *Expr_CreateList) Reset()
func (x *Expr_CreateList) String() string
A map or message creation expression.
Maps are constructed as `{'key_name': 'value'}`. Message construction is similar, but prefixed with a type name and composed of field ids: `types.MyType{field_id: 'value'}`.
type Expr_CreateStruct struct { // The type name of the message to be created, empty when creating map // literals. Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // The entries in the creation expression. Entries []*Expr_CreateStruct_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"` // contains filtered or unexported fields }
func (*Expr_CreateStruct) Descriptor() ([]byte, []int)
Deprecated: Use Expr_CreateStruct.ProtoReflect.Descriptor instead.
func (x *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry
func (x *Expr_CreateStruct) GetType() string
func (*Expr_CreateStruct) ProtoMessage()
func (x *Expr_CreateStruct) ProtoReflect() protoreflect.Message
func (x *Expr_CreateStruct) Reset()
func (x *Expr_CreateStruct) String() string
Represents an entry.
type Expr_CreateStruct_Entry struct { // Required. An id assigned to this node by the parser which is unique // in a given expression tree. This is used to associate type // information and other attributes to the node. Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // The `Entry` key kinds. // // Types that are assignable to KeyKind: // // *Expr_CreateStruct_Entry_FieldKey // *Expr_CreateStruct_Entry_MapKey KeyKind isExpr_CreateStruct_Entry_KeyKind `protobuf_oneof:"key_kind"` // Required. The value assigned to the key. Value *Expr `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int)
Deprecated: Use Expr_CreateStruct_Entry.ProtoReflect.Descriptor instead.
func (x *Expr_CreateStruct_Entry) GetFieldKey() string
func (x *Expr_CreateStruct_Entry) GetId() int32
func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind
func (x *Expr_CreateStruct_Entry) GetMapKey() *Expr
func (x *Expr_CreateStruct_Entry) GetValue() *Expr
func (*Expr_CreateStruct_Entry) ProtoMessage()
func (x *Expr_CreateStruct_Entry) ProtoReflect() protoreflect.Message
func (x *Expr_CreateStruct_Entry) Reset()
func (x *Expr_CreateStruct_Entry) String() string
type Expr_CreateStruct_Entry_FieldKey struct { // The field key for a message creator statement. FieldKey string `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"` }
type Expr_CreateStruct_Entry_MapKey struct { // The key expression for a map creation statement. MapKey *Expr `protobuf:"bytes,3,opt,name=map_key,json=mapKey,proto3,oneof"` }
An identifier expression. e.g. `request`.
type Expr_Ident struct { // Required. Holds a single, unqualified identifier, possibly preceded by a // '.'. // // Qualified names are represented by the [Expr.Select][google.api.expr.v1beta1.Expr.Select] expression. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // contains filtered or unexported fields }
func (*Expr_Ident) Descriptor() ([]byte, []int)
Deprecated: Use Expr_Ident.ProtoReflect.Descriptor instead.
func (x *Expr_Ident) GetName() string
func (*Expr_Ident) ProtoMessage()
func (x *Expr_Ident) ProtoReflect() protoreflect.Message
func (x *Expr_Ident) Reset()
func (x *Expr_Ident) String() string
type Expr_IdentExpr struct { // An identifier expression. IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"` }
type Expr_ListExpr struct { // A list creation expression. ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"` }
type Expr_LiteralExpr struct { // A literal expression. LiteralExpr *Literal `protobuf:"bytes,3,opt,name=literal_expr,json=literalExpr,proto3,oneof"` }
A field selection expression. e.g. `request.auth`.
type Expr_Select struct { // Required. The target of the selection expression. // // For example, in the select expression `request.auth`, the `request` // portion of the expression is the `operand`. Operand *Expr `protobuf:"bytes,1,opt,name=operand,proto3" json:"operand,omitempty"` // Required. The name of the field to select. // // For example, in the select expression `request.auth`, the `auth` portion // of the expression would be the `field`. Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"` // Whether the select is to be interpreted as a field presence test. // // This results from the macro `has(request.auth)`. TestOnly bool `protobuf:"varint,3,opt,name=test_only,json=testOnly,proto3" json:"test_only,omitempty"` // contains filtered or unexported fields }
func (*Expr_Select) Descriptor() ([]byte, []int)
Deprecated: Use Expr_Select.ProtoReflect.Descriptor instead.
func (x *Expr_Select) GetField() string
func (x *Expr_Select) GetOperand() *Expr
func (x *Expr_Select) GetTestOnly() bool
func (*Expr_Select) ProtoMessage()
func (x *Expr_Select) ProtoReflect() protoreflect.Message
func (x *Expr_Select) Reset()
func (x *Expr_Select) String() string
type Expr_SelectExpr struct { // A field selection expression, e.g. `request.auth`. SelectExpr *Expr_Select `protobuf:"bytes,5,opt,name=select_expr,json=selectExpr,proto3,oneof"` }
type Expr_StructExpr struct { // A map or object creation expression. StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"` }
A function declaration.
type FunctionDecl struct { // The function arguments. Args []*IdentDecl `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"` // Optional declared return type. ReturnType *DeclType `protobuf:"bytes,2,opt,name=return_type,json=returnType,proto3" json:"return_type,omitempty"` // If the first argument of the function is the receiver. ReceiverFunction bool `protobuf:"varint,3,opt,name=receiver_function,json=receiverFunction,proto3" json:"receiver_function,omitempty"` // contains filtered or unexported fields }
func (*FunctionDecl) Descriptor() ([]byte, []int)
Deprecated: Use FunctionDecl.ProtoReflect.Descriptor instead.
func (x *FunctionDecl) GetArgs() []*IdentDecl
func (x *FunctionDecl) GetReceiverFunction() bool
func (x *FunctionDecl) GetReturnType() *DeclType
func (*FunctionDecl) ProtoMessage()
func (x *FunctionDecl) ProtoReflect() protoreflect.Message
func (x *FunctionDecl) Reset()
func (x *FunctionDecl) String() string
A reference to an expression id.
type IdRef struct { // The expression id. Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // contains filtered or unexported fields }
func (*IdRef) Descriptor() ([]byte, []int)
Deprecated: Use IdRef.ProtoReflect.Descriptor instead.
func (x *IdRef) GetId() int32
func (*IdRef) ProtoMessage()
func (x *IdRef) ProtoReflect() protoreflect.Message
func (x *IdRef) Reset()
func (x *IdRef) String() string
An identifier declaration.
type IdentDecl struct { // Optional type of the identifier. Type *DeclType `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` // Optional value of the identifier. Value *Expr `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
func (*IdentDecl) Descriptor() ([]byte, []int)
Deprecated: Use IdentDecl.ProtoReflect.Descriptor instead.
func (x *IdentDecl) GetType() *DeclType
func (x *IdentDecl) GetValue() *Expr
func (*IdentDecl) ProtoMessage()
func (x *IdentDecl) ProtoReflect() protoreflect.Message
func (x *IdentDecl) Reset()
func (x *IdentDecl) String() string
A list.
Wrapped in a message so 'not set' and empty can be differentiated, which is required for use in a 'oneof'.
type ListValue struct { // The ordered values in the list. Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"` // contains filtered or unexported fields }
func (*ListValue) Descriptor() ([]byte, []int)
Deprecated: Use ListValue.ProtoReflect.Descriptor instead.
func (x *ListValue) GetValues() []*Value
func (*ListValue) ProtoMessage()
func (x *ListValue) ProtoReflect() protoreflect.Message
func (x *ListValue) Reset()
func (x *ListValue) String() string
Represents a primitive literal.
This is similar to the primitives supported in the well-known type `google.protobuf.Value`, but richer so it can represent CEL's full range of primitives.
Lists and structs are not included as constants as these aggregate types may contain Expr[google.api.expr.v1beta1.Expr] elements which require evaluation and are thus not constant.
Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`, `true`, `null`.
type Literal struct { // Required. The valid constant kinds. // // Types that are assignable to ConstantKind: // // *Literal_NullValue // *Literal_BoolValue // *Literal_Int64Value // *Literal_Uint64Value // *Literal_DoubleValue // *Literal_StringValue // *Literal_BytesValue ConstantKind isLiteral_ConstantKind `protobuf_oneof:"constant_kind"` // contains filtered or unexported fields }
func (*Literal) Descriptor() ([]byte, []int)
Deprecated: Use Literal.ProtoReflect.Descriptor instead.
func (x *Literal) GetBoolValue() bool
func (x *Literal) GetBytesValue() []byte
func (m *Literal) GetConstantKind() isLiteral_ConstantKind
func (x *Literal) GetDoubleValue() float64
func (x *Literal) GetInt64Value() int64
func (x *Literal) GetNullValue() structpb.NullValue
func (x *Literal) GetStringValue() string
func (x *Literal) GetUint64Value() uint64
func (*Literal) ProtoMessage()
func (x *Literal) ProtoReflect() protoreflect.Message
func (x *Literal) Reset()
func (x *Literal) String() string
type Literal_BoolValue struct { // boolean value. BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"` }
type Literal_BytesValue struct { // bytes value. BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"` }
type Literal_DoubleValue struct { // double value. DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"` }
type Literal_Int64Value struct { // int64 value. Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"` }
type Literal_NullValue struct { // null value. NullValue structpb.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"` }
type Literal_StringValue struct { // string value. StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"` }
type Literal_Uint64Value struct { // uint64 value. Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"` }
A map.
Wrapped in a message so 'not set' and empty can be differentiated, which is required for use in a 'oneof'.
type MapValue struct { // The set of map entries. // // CEL has fewer restrictions on keys, so a protobuf map represenation // cannot be used. Entries []*MapValue_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` // contains filtered or unexported fields }
func (*MapValue) Descriptor() ([]byte, []int)
Deprecated: Use MapValue.ProtoReflect.Descriptor instead.
func (x *MapValue) GetEntries() []*MapValue_Entry
func (*MapValue) ProtoMessage()
func (x *MapValue) ProtoReflect() protoreflect.Message
func (x *MapValue) Reset()
func (x *MapValue) String() string
An entry in the map.
type MapValue_Entry struct { // The key. // // Must be unique with in the map. // Currently only boolean, int, uint, and string values can be keys. Key *Value `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The value. Value *Value `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
func (*MapValue_Entry) Descriptor() ([]byte, []int)
Deprecated: Use MapValue_Entry.ProtoReflect.Descriptor instead.
func (x *MapValue_Entry) GetKey() *Value
func (x *MapValue_Entry) GetValue() *Value
func (*MapValue_Entry) ProtoMessage()
func (x *MapValue_Entry) ProtoReflect() protoreflect.Message
func (x *MapValue_Entry) Reset()
func (x *MapValue_Entry) String() string
An expression together with source information as returned by the parser.
type ParsedExpr struct { // The parsed expression. Expr *Expr `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"` // The source info derived from input that generated the parsed `expr`. SourceInfo *SourceInfo `protobuf:"bytes,3,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"` // The syntax version of the source, e.g. `cel1`. SyntaxVersion string `protobuf:"bytes,4,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"` // contains filtered or unexported fields }
func (*ParsedExpr) Descriptor() ([]byte, []int)
Deprecated: Use ParsedExpr.ProtoReflect.Descriptor instead.
func (x *ParsedExpr) GetExpr() *Expr
func (x *ParsedExpr) GetSourceInfo() *SourceInfo
func (x *ParsedExpr) GetSyntaxVersion() string
func (*ParsedExpr) ProtoMessage()
func (x *ParsedExpr) ProtoReflect() protoreflect.Message
func (x *ParsedExpr) Reset()
func (x *ParsedExpr) String() string
Source information collected at parse time.
type SourceInfo struct { // The location name. All position information attached to an expression is // relative to this location. // // The location could be a file, UI element, or similar. For example, // `acme/app/AnvilPolicy.cel`. Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` // Monotonically increasing list of character offsets where newlines appear. // // The line number of a given position is the index `i` where for a given // `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The // column may be derivd from `id_positions[id] - line_offsets[i]`. LineOffsets []int32 `protobuf:"varint,3,rep,packed,name=line_offsets,json=lineOffsets,proto3" json:"line_offsets,omitempty"` // A map from the parse node id (e.g. `Expr.id`) to the character offset // within source. Positions map[int32]int32 `protobuf:"bytes,4,rep,name=positions,proto3" json:"positions,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // contains filtered or unexported fields }
func (*SourceInfo) Descriptor() ([]byte, []int)
Deprecated: Use SourceInfo.ProtoReflect.Descriptor instead.
func (x *SourceInfo) GetLineOffsets() []int32
func (x *SourceInfo) GetLocation() string
func (x *SourceInfo) GetPositions() map[int32]int32
func (*SourceInfo) ProtoMessage()
func (x *SourceInfo) ProtoReflect() protoreflect.Message
func (x *SourceInfo) Reset()
func (x *SourceInfo) String() string
A specific position in source.
type SourcePosition struct { // The soucre location name (e.g. file name). Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` // The character offset. Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` // The 1-based index of the starting line in the source text // where the issue occurs, or 0 if unknown. Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` // The 0-based index of the starting position within the line of source text // where the issue occurs. Only meaningful if line is nonzer.. Column int32 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"` // contains filtered or unexported fields }
func (*SourcePosition) Descriptor() ([]byte, []int)
Deprecated: Use SourcePosition.ProtoReflect.Descriptor instead.
func (x *SourcePosition) GetColumn() int32
func (x *SourcePosition) GetLine() int32
func (x *SourcePosition) GetLocation() string
func (x *SourcePosition) GetOffset() int32
func (*SourcePosition) ProtoMessage()
func (x *SourcePosition) ProtoReflect() protoreflect.Message
func (x *SourcePosition) Reset()
func (x *SourcePosition) String() string
A set of expressions for which the value is unknown.
The unknowns included depend on the context. See `ExprValue.unknown`.
type UnknownSet struct { // The ids of the expressions with unknown values. Exprs []*IdRef `protobuf:"bytes,1,rep,name=exprs,proto3" json:"exprs,omitempty"` // contains filtered or unexported fields }
func (*UnknownSet) Descriptor() ([]byte, []int)
Deprecated: Use UnknownSet.ProtoReflect.Descriptor instead.
func (x *UnknownSet) GetExprs() []*IdRef
func (*UnknownSet) ProtoMessage()
func (x *UnknownSet) ProtoReflect() protoreflect.Message
func (x *UnknownSet) Reset()
func (x *UnknownSet) String() string
Represents a CEL value.
This is similar to `google.protobuf.Value`, but can represent CEL's full range of values.
type Value struct { // Required. The valid kinds of values. // // Types that are assignable to Kind: // // *Value_NullValue // *Value_BoolValue // *Value_Int64Value // *Value_Uint64Value // *Value_DoubleValue // *Value_StringValue // *Value_BytesValue // *Value_EnumValue // *Value_ObjectValue // *Value_MapValue // *Value_ListValue // *Value_TypeValue Kind isValue_Kind `protobuf_oneof:"kind"` // contains filtered or unexported fields }
func (*Value) Descriptor() ([]byte, []int)
Deprecated: Use Value.ProtoReflect.Descriptor instead.
func (x *Value) GetBoolValue() bool
func (x *Value) GetBytesValue() []byte
func (x *Value) GetDoubleValue() float64
func (x *Value) GetEnumValue() *EnumValue
func (x *Value) GetInt64Value() int64
func (m *Value) GetKind() isValue_Kind
func (x *Value) GetListValue() *ListValue
func (x *Value) GetMapValue() *MapValue
func (x *Value) GetNullValue() structpb.NullValue
func (x *Value) GetObjectValue() *anypb.Any
func (x *Value) GetStringValue() string
func (x *Value) GetTypeValue() string
func (x *Value) GetUint64Value() uint64
func (*Value) ProtoMessage()
func (x *Value) ProtoReflect() protoreflect.Message
func (x *Value) Reset()
func (x *Value) String() string
type Value_BoolValue struct { // Boolean value. BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"` }
type Value_BytesValue struct { // Byte string value. BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"` }
type Value_DoubleValue struct { // Floating point value. DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"` }
type Value_EnumValue struct { // An enum value. EnumValue *EnumValue `protobuf:"bytes,9,opt,name=enum_value,json=enumValue,proto3,oneof"` }
type Value_Int64Value struct { // Signed integer value. Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"` }
type Value_ListValue struct { // List value. ListValue *ListValue `protobuf:"bytes,12,opt,name=list_value,json=listValue,proto3,oneof"` }
type Value_MapValue struct { // Map value. MapValue *MapValue `protobuf:"bytes,11,opt,name=map_value,json=mapValue,proto3,oneof"` }
type Value_NullValue struct { // Null value. NullValue structpb.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"` }
type Value_ObjectValue struct { // The proto message backing an object value. ObjectValue *anypb.Any `protobuf:"bytes,10,opt,name=object_value,json=objectValue,proto3,oneof"` }
type Value_StringValue struct { // UTF-8 string value. StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"` }
type Value_TypeValue struct { // A Type value represented by the fully qualified name of the type. TypeValue string `protobuf:"bytes,15,opt,name=type_value,json=typeValue,proto3,oneof"` }
type Value_Uint64Value struct { // Unsigned integer value. Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"` }