expr
packageThis package is not in the latest version of its module.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Documentation¶
Index¶
- Variables
- type CheckedExpr
- func (*CheckedExpr) Descriptor() ([]byte, []int)deprecated
- func (x *CheckedExpr) GetExpr() *Expr
- func (x *CheckedExpr) GetExprVersion() string
- func (x *CheckedExpr) GetReferenceMap() map[int64]*Reference
- func (x *CheckedExpr) GetSourceInfo() *SourceInfo
- func (x *CheckedExpr) GetTypeMap() map[int64]*Type
- func (*CheckedExpr) ProtoMessage()
- func (x *CheckedExpr) ProtoReflect() protoreflect.Message
- func (x *CheckedExpr) Reset()
- func (x *CheckedExpr) String() string
- type Constant
- func (*Constant) Descriptor() ([]byte, []int)deprecated
- func (x *Constant) GetBoolValue() bool
- func (x *Constant) GetBytesValue() []byte
- func (m *Constant) GetConstantKind() isConstant_ConstantKind
- func (x *Constant) GetDoubleValue() float64
- func (x *Constant) GetDurationValue() *durationpb.Durationdeprecated
- func (x *Constant) GetInt64Value() int64
- func (x *Constant) GetNullValue() structpb.NullValue
- func (x *Constant) GetStringValue() string
- func (x *Constant) GetTimestampValue() *timestamppb.Timestampdeprecated
- func (x *Constant) GetUint64Value() uint64
- func (*Constant) ProtoMessage()
- func (x *Constant) ProtoReflect() protoreflect.Message
- func (x *Constant) Reset()
- func (x *Constant) String() string
- type Constant_BoolValue
- type Constant_BytesValue
- type Constant_DoubleValue
- type Constant_DurationValue
- type Constant_Int64Value
- type Constant_NullValue
- type Constant_StringValue
- type Constant_TimestampValue
- type Constant_Uint64Value
- type Decl
- func (*Decl) Descriptor() ([]byte, []int)deprecated
- func (m *Decl) GetDeclKind() isDecl_DeclKind
- func (x *Decl) GetFunction() *Decl_FunctionDecl
- func (x *Decl) GetIdent() *Decl_IdentDecl
- func (x *Decl) GetName() string
- func (*Decl) ProtoMessage()
- func (x *Decl) ProtoReflect() protoreflect.Message
- func (x *Decl) Reset()
- func (x *Decl) String() string
- type Decl_Function
- type Decl_FunctionDecl
- func (*Decl_FunctionDecl) Descriptor() ([]byte, []int)deprecated
- func (x *Decl_FunctionDecl) GetOverloads() []*Decl_FunctionDecl_Overload
- func (*Decl_FunctionDecl) ProtoMessage()
- func (x *Decl_FunctionDecl) ProtoReflect() protoreflect.Message
- func (x *Decl_FunctionDecl) Reset()
- func (x *Decl_FunctionDecl) String() string
- type Decl_FunctionDecl_Overload
- func (*Decl_FunctionDecl_Overload) Descriptor() ([]byte, []int)deprecated
- func (x *Decl_FunctionDecl_Overload) GetDoc() string
- func (x *Decl_FunctionDecl_Overload) GetIsInstanceFunction() bool
- func (x *Decl_FunctionDecl_Overload) GetOverloadId() string
- func (x *Decl_FunctionDecl_Overload) GetParams() []*Type
- func (x *Decl_FunctionDecl_Overload) GetResultType() *Type
- func (x *Decl_FunctionDecl_Overload) GetTypeParams() []string
- func (*Decl_FunctionDecl_Overload) ProtoMessage()
- func (x *Decl_FunctionDecl_Overload) ProtoReflect() protoreflect.Message
- func (x *Decl_FunctionDecl_Overload) Reset()
- func (x *Decl_FunctionDecl_Overload) String() string
- type Decl_Ident
- type Decl_IdentDecl
- func (*Decl_IdentDecl) Descriptor() ([]byte, []int)deprecated
- func (x *Decl_IdentDecl) GetDoc() string
- func (x *Decl_IdentDecl) GetType() *Type
- func (x *Decl_IdentDecl) GetValue() *Constant
- func (*Decl_IdentDecl) ProtoMessage()
- func (x *Decl_IdentDecl) ProtoReflect() protoreflect.Message
- func (x *Decl_IdentDecl) Reset()
- func (x *Decl_IdentDecl) String() string
- type EnumValue
- type ErrorSet
- type EvalState
- func (*EvalState) Descriptor() ([]byte, []int)deprecated
- 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
- type EvalState_Result
- func (*EvalState_Result) Descriptor() ([]byte, []int)deprecated
- func (x *EvalState_Result) GetExpr() int64
- func (x *EvalState_Result) GetValue() int64
- func (*EvalState_Result) ProtoMessage()
- func (x *EvalState_Result) ProtoReflect() protoreflect.Message
- func (x *EvalState_Result) Reset()
- func (x *EvalState_Result) String() string
- type Explaindeprecated
- type Explain_ExprStep
- func (*Explain_ExprStep) Descriptor() ([]byte, []int)deprecated
- func (x *Explain_ExprStep) GetId() int64
- func (x *Explain_ExprStep) GetValueIndex() int32
- func (*Explain_ExprStep) ProtoMessage()
- func (x *Explain_ExprStep) ProtoReflect() protoreflect.Message
- func (x *Explain_ExprStep) Reset()
- func (x *Explain_ExprStep) String() string
- type Expr
- func (*Expr) Descriptor() ([]byte, []int)deprecated
- func (x *Expr) GetCallExpr() *Expr_Call
- func (x *Expr) GetComprehensionExpr() *Expr_Comprehension
- func (x *Expr) GetConstExpr() *Constant
- func (m *Expr) GetExprKind() isExpr_ExprKind
- func (x *Expr) GetId() int64
- func (x *Expr) GetIdentExpr() *Expr_Ident
- func (x *Expr) GetListExpr() *Expr_CreateList
- 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
- type ExprValue
- func (*ExprValue) Descriptor() ([]byte, []int)deprecated
- 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
- type ExprValue_Unknown
- type ExprValue_Value
- type Expr_Call
- func (*Expr_Call) Descriptor() ([]byte, []int)deprecated
- 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
- type Expr_Comprehension
- func (*Expr_Comprehension) Descriptor() ([]byte, []int)deprecated
- 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) GetIterVar2() 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
- type Expr_ConstExpr
- type Expr_CreateList
- func (*Expr_CreateList) Descriptor() ([]byte, []int)deprecated
- func (x *Expr_CreateList) GetElements() []*Expr
- func (x *Expr_CreateList) GetOptionalIndices() []int32
- func (*Expr_CreateList) ProtoMessage()
- func (x *Expr_CreateList) ProtoReflect() protoreflect.Message
- func (x *Expr_CreateList) Reset()
- func (x *Expr_CreateList) String() string
- type Expr_CreateStruct
- func (*Expr_CreateStruct) Descriptor() ([]byte, []int)deprecated
- func (x *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry
- func (x *Expr_CreateStruct) GetMessageName() string
- func (*Expr_CreateStruct) ProtoMessage()
- func (x *Expr_CreateStruct) ProtoReflect() protoreflect.Message
- func (x *Expr_CreateStruct) Reset()
- func (x *Expr_CreateStruct) String() string
- type Expr_CreateStruct_Entry
- func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int)deprecated
- func (x *Expr_CreateStruct_Entry) GetFieldKey() string
- func (x *Expr_CreateStruct_Entry) GetId() int64
- func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind
- func (x *Expr_CreateStruct_Entry) GetMapKey() *Expr
- func (x *Expr_CreateStruct_Entry) GetOptionalEntry() bool
- 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
- type Expr_CreateStruct_Entry_MapKey
- type Expr_Ident
- type Expr_IdentExpr
- type Expr_ListExpr
- type Expr_Select
- func (*Expr_Select) Descriptor() ([]byte, []int)deprecated
- 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
- type Expr_StructExpr
- type ListValue
- type MapValue
- type MapValue_Entry
- func (*MapValue_Entry) Descriptor() ([]byte, []int)deprecated
- 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
- type ParsedExpr
- type Reference
- func (*Reference) Descriptor() ([]byte, []int)deprecated
- func (x *Reference) GetName() string
- func (x *Reference) GetOverloadId() []string
- func (x *Reference) GetValue() *Constant
- func (*Reference) ProtoMessage()
- func (x *Reference) ProtoReflect() protoreflect.Message
- func (x *Reference) Reset()
- func (x *Reference) String() string
- type SourceInfo
- func (*SourceInfo) Descriptor() ([]byte, []int)deprecated
- func (x *SourceInfo) GetExtensions() []*SourceInfo_Extension
- func (x *SourceInfo) GetLineOffsets() []int32
- func (x *SourceInfo) GetLocation() string
- func (x *SourceInfo) GetMacroCalls() map[int64]*Expr
- func (x *SourceInfo) GetPositions() map[int64]int32
- func (x *SourceInfo) GetSyntaxVersion() string
- func (*SourceInfo) ProtoMessage()
- func (x *SourceInfo) ProtoReflect() protoreflect.Message
- func (x *SourceInfo) Reset()
- func (x *SourceInfo) String() string
- type SourceInfo_Extension
- func (*SourceInfo_Extension) Descriptor() ([]byte, []int)deprecated
- func (x *SourceInfo_Extension) GetAffectedComponents() []SourceInfo_Extension_Component
- func (x *SourceInfo_Extension) GetId() string
- func (x *SourceInfo_Extension) GetVersion() *SourceInfo_Extension_Version
- func (*SourceInfo_Extension) ProtoMessage()
- func (x *SourceInfo_Extension) ProtoReflect() protoreflect.Message
- func (x *SourceInfo_Extension) Reset()
- func (x *SourceInfo_Extension) String() string
- type SourceInfo_Extension_Component
- func (SourceInfo_Extension_Component) Descriptor() protoreflect.EnumDescriptor
- func (x SourceInfo_Extension_Component) Enum() *SourceInfo_Extension_Component
- func (SourceInfo_Extension_Component) EnumDescriptor() ([]byte, []int)deprecated
- func (x SourceInfo_Extension_Component) Number() protoreflect.EnumNumber
- func (x SourceInfo_Extension_Component) String() string
- func (SourceInfo_Extension_Component) Type() protoreflect.EnumType
- type SourceInfo_Extension_Version
- func (*SourceInfo_Extension_Version) Descriptor() ([]byte, []int)deprecated
- func (x *SourceInfo_Extension_Version) GetMajor() int64
- func (x *SourceInfo_Extension_Version) GetMinor() int64
- func (*SourceInfo_Extension_Version) ProtoMessage()
- func (x *SourceInfo_Extension_Version) ProtoReflect() protoreflect.Message
- func (x *SourceInfo_Extension_Version) Reset()
- func (x *SourceInfo_Extension_Version) String() string
- type SourcePosition
- func (*SourcePosition) Descriptor() ([]byte, []int)deprecated
- 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
- type Type
- func (*Type) Descriptor() ([]byte, []int)deprecated
- func (x *Type) GetAbstractType() *Type_AbstractType
- func (x *Type) GetDyn() *emptypb.Empty
- func (x *Type) GetError() *emptypb.Empty
- func (x *Type) GetFunction() *Type_FunctionType
- func (x *Type) GetListType() *Type_ListType
- func (x *Type) GetMapType() *Type_MapType
- func (x *Type) GetMessageType() string
- func (x *Type) GetNull() structpb.NullValue
- func (x *Type) GetPrimitive() Type_PrimitiveType
- func (x *Type) GetType() *Type
- func (m *Type) GetTypeKind() isType_TypeKind
- func (x *Type) GetTypeParam() string
- func (x *Type) GetWellKnown() Type_WellKnownType
- func (x *Type) GetWrapper() Type_PrimitiveType
- func (*Type) ProtoMessage()
- func (x *Type) ProtoReflect() protoreflect.Message
- func (x *Type) Reset()
- func (x *Type) String() string
- type Type_AbstractType
- func (*Type_AbstractType) Descriptor() ([]byte, []int)deprecated
- func (x *Type_AbstractType) GetName() string
- func (x *Type_AbstractType) GetParameterTypes() []*Type
- func (*Type_AbstractType) ProtoMessage()
- func (x *Type_AbstractType) ProtoReflect() protoreflect.Message
- func (x *Type_AbstractType) Reset()
- func (x *Type_AbstractType) String() string
- type Type_AbstractType_
- type Type_Dyn
- type Type_Error
- type Type_Function
- type Type_FunctionType
- func (*Type_FunctionType) Descriptor() ([]byte, []int)deprecated
- func (x *Type_FunctionType) GetArgTypes() []*Type
- func (x *Type_FunctionType) GetResultType() *Type
- func (*Type_FunctionType) ProtoMessage()
- func (x *Type_FunctionType) ProtoReflect() protoreflect.Message
- func (x *Type_FunctionType) Reset()
- func (x *Type_FunctionType) String() string
- type Type_ListType
- type Type_ListType_
- type Type_MapType
- func (*Type_MapType) Descriptor() ([]byte, []int)deprecated
- func (x *Type_MapType) GetKeyType() *Type
- func (x *Type_MapType) GetValueType() *Type
- func (*Type_MapType) ProtoMessage()
- func (x *Type_MapType) ProtoReflect() protoreflect.Message
- func (x *Type_MapType) Reset()
- func (x *Type_MapType) String() string
- type Type_MapType_
- type Type_MessageType
- type Type_Null
- type Type_Primitive
- type Type_PrimitiveType
- func (Type_PrimitiveType) Descriptor() protoreflect.EnumDescriptor
- func (x Type_PrimitiveType) Enum() *Type_PrimitiveType
- func (Type_PrimitiveType) EnumDescriptor() ([]byte, []int)deprecated
- func (x Type_PrimitiveType) Number() protoreflect.EnumNumber
- func (x Type_PrimitiveType) String() string
- func (Type_PrimitiveType) Type() protoreflect.EnumType
- type Type_Type
- type Type_TypeParam
- type Type_WellKnown
- type Type_WellKnownType
- func (Type_WellKnownType) Descriptor() protoreflect.EnumDescriptor
- func (x Type_WellKnownType) Enum() *Type_WellKnownType
- func (Type_WellKnownType) EnumDescriptor() ([]byte, []int)deprecated
- func (x Type_WellKnownType) Number() protoreflect.EnumNumber
- func (x Type_WellKnownType) String() string
- func (Type_WellKnownType) Type() protoreflect.EnumType
- type Type_Wrapper
- type UnknownSet
- type Value
- func (*Value) Descriptor() ([]byte, []int)deprecated
- 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
- type Value_BytesValue
- type Value_DoubleValue
- type Value_EnumValue
- type Value_Int64Value
- type Value_ListValue
- type Value_MapValue
- type Value_NullValue
- type Value_ObjectValue
- type Value_StringValue
- type Value_TypeValue
- type Value_Uint64Value
Constants¶
This section is empty.
Variables¶
var (Type_PrimitiveType_name = map[int32]string{0: "PRIMITIVE_TYPE_UNSPECIFIED",1: "BOOL",2: "INT64",3: "UINT64",4: "DOUBLE",5: "STRING",6: "BYTES",}Type_PrimitiveType_value = map[string]int32{"PRIMITIVE_TYPE_UNSPECIFIED": 0,"BOOL": 1,"INT64": 2,"UINT64": 3,"DOUBLE": 4,"STRING": 5,"BYTES": 6,})
Enum value maps for Type_PrimitiveType.
var (Type_WellKnownType_name = map[int32]string{0: "WELL_KNOWN_TYPE_UNSPECIFIED",1: "ANY",2: "TIMESTAMP",3: "DURATION",}Type_WellKnownType_value = map[string]int32{"WELL_KNOWN_TYPE_UNSPECIFIED": 0,"ANY": 1,"TIMESTAMP": 2,"DURATION": 3,})
Enum value maps for Type_WellKnownType.
var (SourceInfo_Extension_Component_name = map[int32]string{0: "COMPONENT_UNSPECIFIED",1: "COMPONENT_PARSER",2: "COMPONENT_TYPE_CHECKER",3: "COMPONENT_RUNTIME",}SourceInfo_Extension_Component_value = map[string]int32{"COMPONENT_UNSPECIFIED": 0,"COMPONENT_PARSER": 1,"COMPONENT_TYPE_CHECKER": 2,"COMPONENT_RUNTIME": 3,})
Enum value maps for SourceInfo_Extension_Component.
var File_google_api_expr_v1alpha1_checked_protoprotoreflect.FileDescriptorvar File_google_api_expr_v1alpha1_eval_protoprotoreflect.FileDescriptorvar File_google_api_expr_v1alpha1_explain_protoprotoreflect.FileDescriptorvar File_google_api_expr_v1alpha1_syntax_protoprotoreflect.FileDescriptorvar File_google_api_expr_v1alpha1_value_protoprotoreflect.FileDescriptorFunctions¶
This section is empty.
Types¶
typeCheckedExpr¶
type CheckedExpr struct {// A map from expression ids to resolved references.//// The following entries are in this table://// - An Ident or Select expression is represented here if it resolves to a// declaration. For instance, if `a.b.c` is represented by// `select(select(id(a), b), c)`, and `a.b` resolves to a declaration,// while `c` is a field selection, then the reference is attached to the// nested select expression (but not to the id or or the outer select).// In turn, if `a` resolves to a declaration and `b.c` are field selections,// the reference is attached to the ident expression.// - Every Call expression has an entry here, identifying the function being// called.// - Every CreateStruct expression for a message has an entry, identifying// the message.ReferenceMap map[int64]*Reference ``/* 186-byte string literal not displayed */// A map from expression ids to types.//// Every expression node which has a type different than DYN has a mapping// here. If an expression has type DYN, it is omitted from this map to save// space.TypeMap map[int64]*Type ``/* 171-byte string literal not displayed */// The source info derived from input that generated the parsed `expr` and// any optimizations made during the type-checking pass.SourceInfo *SourceInfo `protobuf:"bytes,5,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"`// The expr version indicates the major / minor version number of the `expr`// representation.//// The most common reason for a version change will be to indicate to the CEL// runtimes that transformations have been performed on the expr during static// analysis. In some cases, this will save the runtime the work of applying// the same or similar transformations prior to evaluation.ExprVersionstring `protobuf:"bytes,6,opt,name=expr_version,json=exprVersion,proto3" json:"expr_version,omitempty"`// The checked expression. Semantically equivalent to the parsed `expr`, but// may have structural differences.Expr *Expr `protobuf:"bytes,4,opt,name=expr,proto3" json:"expr,omitempty"`// contains filtered or unexported fields}A CEL expression which has been successfully type checked.
func (*CheckedExpr)Descriptordeprecated
func (*CheckedExpr) Descriptor() ([]byte, []int)
Deprecated: Use CheckedExpr.ProtoReflect.Descriptor instead.
func (*CheckedExpr)GetExpr¶
func (x *CheckedExpr) GetExpr() *Expr
func (*CheckedExpr)GetExprVersion¶
func (x *CheckedExpr) GetExprVersion()string
func (*CheckedExpr)GetReferenceMap¶
func (x *CheckedExpr) GetReferenceMap() map[int64]*Reference
func (*CheckedExpr)GetSourceInfo¶
func (x *CheckedExpr) GetSourceInfo() *SourceInfo
func (*CheckedExpr)GetTypeMap¶
func (x *CheckedExpr) GetTypeMap() map[int64]*Type
func (*CheckedExpr)ProtoMessage¶
func (*CheckedExpr) ProtoMessage()
func (*CheckedExpr)ProtoReflect¶
func (x *CheckedExpr) ProtoReflect()protoreflect.Message
func (*CheckedExpr)Reset¶
func (x *CheckedExpr) Reset()
func (*CheckedExpr)String¶
func (x *CheckedExpr) String()string
typeConstant¶
type Constant struct {// Required. The valid constant kinds.//// Types that are assignable to ConstantKind:////*Constant_NullValue//*Constant_BoolValue//*Constant_Int64Value//*Constant_Uint64Value//*Constant_DoubleValue//*Constant_StringValue//*Constant_BytesValue//*Constant_DurationValue//*Constant_TimestampValueConstantKind isConstant_ConstantKind `protobuf_oneof:"constant_kind"`// contains filtered or unexported fields}Represents a primitive literal.
Named 'Constant' here for backwards compatibility.
This is similar as the primitives supported in the well-known type`google.protobuf.Value`, but richer so it can represent CEL's full range ofprimitives.
Lists and structs are not included as constants as these aggregate types maycontainExpr[google.api.expr.v1alpha1.Expr] elements which requireevaluation and are thus not constant.
Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`,`true`, `null`.
func (*Constant)Descriptordeprecated
func (*Constant)GetBoolValue¶
func (*Constant)GetBytesValue¶
func (*Constant)GetConstantKind¶
func (m *Constant) GetConstantKind() isConstant_ConstantKind
func (*Constant)GetDoubleValue¶
func (*Constant)GetDurationValuedeprecated
func (x *Constant) GetDurationValue() *durationpb.Duration
Deprecated: Do not use.
func (*Constant)GetInt64Value¶
func (*Constant)GetNullValue¶
func (*Constant)GetStringValue¶
func (*Constant)GetTimestampValuedeprecated
func (x *Constant) GetTimestampValue() *timestamppb.Timestamp
Deprecated: Do not use.
func (*Constant)GetUint64Value¶
func (*Constant)ProtoMessage¶
func (*Constant) ProtoMessage()
func (*Constant)ProtoReflect¶
func (x *Constant) ProtoReflect()protoreflect.Message
typeConstant_BoolValue¶
type Constant_BoolValue struct {// boolean value.BoolValuebool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`}typeConstant_BytesValue¶
type Constant_BytesValue struct {// bytes value.BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`}typeConstant_DoubleValue¶
type Constant_DoubleValue struct {// double value.DoubleValuefloat64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`}typeConstant_DurationValue¶
type Constant_DurationValue struct {// protobuf.Duration value.//// Deprecated: duration is no longer considered a builtin cel type.//// Deprecated: Do not use.DurationValue *durationpb.Duration `protobuf:"bytes,8,opt,name=duration_value,json=durationValue,proto3,oneof"`}typeConstant_Int64Value¶
type Constant_Int64Value struct {// int64 value.Int64Valueint64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`}typeConstant_StringValue¶
type Constant_StringValue struct {// string value.StringValuestring `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`}typeConstant_TimestampValue¶
type Constant_TimestampValue struct {// protobuf.Timestamp value.//// Deprecated: timestamp is no longer considered a builtin cel type.//// Deprecated: Do not use.TimestampValue *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`}typeConstant_Uint64Value¶
type Constant_Uint64Value struct {// uint64 value.Uint64Valueuint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`}typeDecl¶
type Decl struct {// The fully qualified name of the declaration.//// Declarations are organized in containers and this represents the full path// to the declaration in its container, as in `google.api.expr.Decl`.//// Declarations used as// [FunctionDecl.Overload][google.api.expr.v1alpha1.Decl.FunctionDecl.Overload]// parameters may or may not have a name depending on whether the overload is// function declaration or a function definition containing a result// [Expr][google.api.expr.v1alpha1.Expr].Namestring `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`// Required. The declaration kind.//// Types that are assignable to DeclKind:////*Decl_Ident//*Decl_FunctionDeclKind isDecl_DeclKind `protobuf_oneof:"decl_kind"`// contains filtered or unexported fields}Represents a declaration of a named value or function.
A declaration is part of the contract between the expression, the agentevaluating that expression, and the caller requesting evaluation.
func (*Decl)Descriptordeprecated
func (*Decl)GetDeclKind¶
func (m *Decl) GetDeclKind() isDecl_DeclKind
func (*Decl)GetFunction¶
func (x *Decl) GetFunction() *Decl_FunctionDecl
func (*Decl)GetIdent¶
func (x *Decl) GetIdent() *Decl_IdentDecl
func (*Decl)ProtoMessage¶
func (*Decl) ProtoMessage()
func (*Decl)ProtoReflect¶
func (x *Decl) ProtoReflect()protoreflect.Message
typeDecl_Function¶
type Decl_Function struct {// Function declaration.Function *Decl_FunctionDecl `protobuf:"bytes,3,opt,name=function,proto3,oneof"`}typeDecl_FunctionDecl¶
type Decl_FunctionDecl struct {// Required. List of function overloads, must contain at least one overload.Overloads []*Decl_FunctionDecl_Overload `protobuf:"bytes,1,rep,name=overloads,proto3" json:"overloads,omitempty"`// contains filtered or unexported fields}Function declaration specifies one or more overloads which indicate thefunction's parameter types and return type.
Functions have no observable side-effects (there may be side-effects likelogging which are not observable from CEL).
func (*Decl_FunctionDecl)Descriptordeprecated
func (*Decl_FunctionDecl) Descriptor() ([]byte, []int)
Deprecated: Use Decl_FunctionDecl.ProtoReflect.Descriptor instead.
func (*Decl_FunctionDecl)GetOverloads¶
func (x *Decl_FunctionDecl) GetOverloads() []*Decl_FunctionDecl_Overload
func (*Decl_FunctionDecl)ProtoMessage¶
func (*Decl_FunctionDecl) ProtoMessage()
func (*Decl_FunctionDecl)ProtoReflect¶
func (x *Decl_FunctionDecl) ProtoReflect()protoreflect.Message
func (*Decl_FunctionDecl)Reset¶
func (x *Decl_FunctionDecl) Reset()
func (*Decl_FunctionDecl)String¶
func (x *Decl_FunctionDecl) String()string
typeDecl_FunctionDecl_Overload¶
type Decl_FunctionDecl_Overload struct {// Required. Globally unique overload name of the function which reflects// the function name and argument types.//// This will be used by a [Reference][google.api.expr.v1alpha1.Reference]// to indicate the `overload_id` that was resolved for the function// `name`.OverloadIdstring `protobuf:"bytes,1,opt,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"`// List of function parameter [Type][google.api.expr.v1alpha1.Type]// values.//// Param types are disjoint after generic type parameters have been// replaced with the type `DYN`. Since the `DYN` type is compatible with// any other type, this means that if `A` is a type parameter, the// function types `int<A>` and `int<int>` are not disjoint. Likewise,// `map<string, string>` is not disjoint from `map<K, V>`.//// When the `result_type` of a function is a generic type param, the// type param name also appears as the `type` of on at least one params.Params []*Type `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"`// The type param names associated with the function declaration.//// For example, `function ex<K,V>(K key, map<K, V> map) : V` would yield// the type params of `K, V`.TypeParams []string `protobuf:"bytes,3,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"`// Required. The result type of the function. For example, the operator// `string.isEmpty()` would have `result_type` of `kind: BOOL`.ResultType *Type `protobuf:"bytes,4,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"`// Whether the function is to be used in a method call-style `x.f(...)`// or a function call-style `f(x, ...)`.//// For methods, the first parameter declaration, `params[0]` is the// expected type of the target receiver.IsInstanceFunctionbool `protobuf:"varint,5,opt,name=is_instance_function,json=isInstanceFunction,proto3" json:"is_instance_function,omitempty"`// Documentation string for the overload.Docstring `protobuf:"bytes,6,opt,name=doc,proto3" json:"doc,omitempty"`// contains filtered or unexported fields}An overload indicates a function's parameter types and return type, andmay optionally include a function body described in terms ofExpr[google.api.expr.v1alpha1.Expr] values.
Functions overloads are declared in either a function or methodcall-style. For methods, the `params[0]` is the expected type of thetarget receiver.
Overloads must have non-overlapping argument types after erasure of allparameterized type variables (similar as type erasure in Java).
func (*Decl_FunctionDecl_Overload)Descriptordeprecated
func (*Decl_FunctionDecl_Overload) Descriptor() ([]byte, []int)
Deprecated: Use Decl_FunctionDecl_Overload.ProtoReflect.Descriptor instead.
func (*Decl_FunctionDecl_Overload)GetDoc¶
func (x *Decl_FunctionDecl_Overload) GetDoc()string
func (*Decl_FunctionDecl_Overload)GetIsInstanceFunction¶
func (x *Decl_FunctionDecl_Overload) GetIsInstanceFunction()bool
func (*Decl_FunctionDecl_Overload)GetOverloadId¶
func (x *Decl_FunctionDecl_Overload) GetOverloadId()string
func (*Decl_FunctionDecl_Overload)GetParams¶
func (x *Decl_FunctionDecl_Overload) GetParams() []*Type
func (*Decl_FunctionDecl_Overload)GetResultType¶
func (x *Decl_FunctionDecl_Overload) GetResultType() *Type
func (*Decl_FunctionDecl_Overload)GetTypeParams¶
func (x *Decl_FunctionDecl_Overload) GetTypeParams() []string
func (*Decl_FunctionDecl_Overload)ProtoMessage¶
func (*Decl_FunctionDecl_Overload) ProtoMessage()
func (*Decl_FunctionDecl_Overload)ProtoReflect¶
func (x *Decl_FunctionDecl_Overload) ProtoReflect()protoreflect.Message
func (*Decl_FunctionDecl_Overload)Reset¶
func (x *Decl_FunctionDecl_Overload) Reset()
func (*Decl_FunctionDecl_Overload)String¶
func (x *Decl_FunctionDecl_Overload) String()string
typeDecl_Ident¶
type Decl_Ident struct {// Identifier declaration.Ident *Decl_IdentDecl `protobuf:"bytes,2,opt,name=ident,proto3,oneof"`}typeDecl_IdentDecl¶
type Decl_IdentDecl struct {// Required. The type of the identifier.Type *Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`// The constant value of the identifier. If not specified, the identifier// must be supplied at evaluation time.Value *Constant `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`// Documentation string for the identifier.Docstring `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"`// contains filtered or unexported fields}Identifier declaration which specifies its type and optional `Expr` value.
An identifier without a value is a declaration that must be provided atevaluation time. An identifier with a value should resolve to a constant,but may be used in conjunction with other identifiers bound at evaluationtime.
func (*Decl_IdentDecl)Descriptordeprecated
func (*Decl_IdentDecl) Descriptor() ([]byte, []int)
Deprecated: Use Decl_IdentDecl.ProtoReflect.Descriptor instead.
func (*Decl_IdentDecl)GetDoc¶
func (x *Decl_IdentDecl) GetDoc()string
func (*Decl_IdentDecl)GetType¶
func (x *Decl_IdentDecl) GetType() *Type
func (*Decl_IdentDecl)GetValue¶
func (x *Decl_IdentDecl) GetValue() *Constant
func (*Decl_IdentDecl)ProtoMessage¶
func (*Decl_IdentDecl) ProtoMessage()
func (*Decl_IdentDecl)ProtoReflect¶
func (x *Decl_IdentDecl) ProtoReflect()protoreflect.Message
func (*Decl_IdentDecl)Reset¶
func (x *Decl_IdentDecl) Reset()
func (*Decl_IdentDecl)String¶
func (x *Decl_IdentDecl) String()string
typeEnumValue¶
type EnumValue struct {// The fully qualified name of the enum type.Typestring `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`// The value of the enum.Valueint32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`// contains filtered or unexported fields}An enum value.
func (*EnumValue)Descriptordeprecated
func (*EnumValue)ProtoMessage¶
func (*EnumValue) ProtoMessage()
func (*EnumValue)ProtoReflect¶
func (x *EnumValue) ProtoReflect()protoreflect.Message
typeErrorSet¶
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}A set of errors.
The errors included depend on the context. See `ExprValue.error`.
func (*ErrorSet)Descriptordeprecated
func (*ErrorSet)ProtoMessage¶
func (*ErrorSet) ProtoMessage()
func (*ErrorSet)ProtoReflect¶
func (x *ErrorSet) ProtoReflect()protoreflect.Message
typeEvalState¶
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}The state of an evaluation.
Can represent an inital, partial, or completed state of evaluation.
func (*EvalState)Descriptordeprecated
func (*EvalState)GetResults¶
func (x *EvalState) GetResults() []*EvalState_Result
func (*EvalState)ProtoMessage¶
func (*EvalState) ProtoMessage()
func (*EvalState)ProtoReflect¶
func (x *EvalState) ProtoReflect()protoreflect.Message
typeEvalState_Result¶
type EvalState_Result struct {// The id of the expression this result if for.Exprint64 `protobuf:"varint,1,opt,name=expr,proto3" json:"expr,omitempty"`// The index in `values` of the resulting value.Valueint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`// contains filtered or unexported fields}A single evalution result.
func (*EvalState_Result)Descriptordeprecated
func (*EvalState_Result) Descriptor() ([]byte, []int)
Deprecated: Use EvalState_Result.ProtoReflect.Descriptor instead.
func (*EvalState_Result)GetExpr¶
func (x *EvalState_Result) GetExpr()int64
func (*EvalState_Result)GetValue¶
func (x *EvalState_Result) GetValue()int64
func (*EvalState_Result)ProtoMessage¶
func (*EvalState_Result) ProtoMessage()
func (*EvalState_Result)ProtoReflect¶
func (x *EvalState_Result) ProtoReflect()protoreflect.Message
func (*EvalState_Result)Reset¶
func (x *EvalState_Result) Reset()
func (*EvalState_Result)String¶
func (x *EvalState_Result) String()string
typeExplaindeprecated
type Explain struct {// All of the observed values.//// The field value_index is an index in the values list.// Separating values from steps is needed to remove redundant values.Values []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`// List of steps.//// Repeated evaluations of the same expression generate new ExprStep// instances. The order of such ExprStep instances matches the order of// elements returned by Comprehension.iter_range.ExprSteps []*Explain_ExprStep `protobuf:"bytes,2,rep,name=expr_steps,json=exprSteps,proto3" json:"expr_steps,omitempty"`// contains filtered or unexported fields}Values of intermediate expressions produced when evaluating expression.Deprecated, use `EvalState` instead.
Deprecated: Do not use.
func (*Explain)Descriptordeprecated
func (*Explain)GetExprSteps¶
func (x *Explain) GetExprSteps() []*Explain_ExprStep
func (*Explain)ProtoMessage¶
func (*Explain) ProtoMessage()
func (*Explain)ProtoReflect¶
func (x *Explain) ProtoReflect()protoreflect.Message
typeExplain_ExprStep¶
type Explain_ExprStep struct {// ID of corresponding Expr node.Idint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`// Index of the value in the values list.ValueIndexint32 `protobuf:"varint,2,opt,name=value_index,json=valueIndex,proto3" json:"value_index,omitempty"`// contains filtered or unexported fields}ID and value index of one step.
func (*Explain_ExprStep)Descriptordeprecated
func (*Explain_ExprStep) Descriptor() ([]byte, []int)
Deprecated: Use Explain_ExprStep.ProtoReflect.Descriptor instead.
func (*Explain_ExprStep)GetId¶
func (x *Explain_ExprStep) GetId()int64
func (*Explain_ExprStep)GetValueIndex¶
func (x *Explain_ExprStep) GetValueIndex()int32
func (*Explain_ExprStep)ProtoMessage¶
func (*Explain_ExprStep) ProtoMessage()
func (*Explain_ExprStep)ProtoReflect¶
func (x *Explain_ExprStep) ProtoReflect()protoreflect.Message
func (*Explain_ExprStep)Reset¶
func (x *Explain_ExprStep) Reset()
func (*Explain_ExprStep)String¶
func (x *Explain_ExprStep) String()string
typeExpr¶
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.Idint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`// Required. Variants of expressions.//// Types that are assignable to ExprKind:////*Expr_ConstExpr//*Expr_IdentExpr//*Expr_SelectExpr//*Expr_CallExpr//*Expr_ListExpr//*Expr_StructExpr//*Expr_ComprehensionExprExprKind isExpr_ExprKind `protobuf_oneof:"expr_kind"`// contains filtered or unexported fields}An abstract representation of a common expression.
Expressions are abstractly represented as a collection of identifiers,select statements, function calls, literals, and comprehensions. Alloperators with the exception of the '.' operator are modelled as functioncalls. This makes it easy to represent new operators into the existing AST.
All references within expressions must resolve to aDecl[google.api.expr.v1alpha1.Decl] provided at type-check for anexpression to be valid. A reference may either be a bare identifier `name` ora qualified identifier `google.api.name`. References may either refer to avalue or a function declaration.
For example, the expression `google.api.name.startsWith('expr')` referencesthe declaration `google.api.name` within a[Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression, and thefunction declaration `startsWith`.
func (*Expr)Descriptordeprecated
func (*Expr)GetCallExpr¶
func (*Expr)GetComprehensionExpr¶
func (x *Expr) GetComprehensionExpr() *Expr_Comprehension
func (*Expr)GetConstExpr¶
func (*Expr)GetExprKind¶
func (m *Expr) GetExprKind() isExpr_ExprKind
func (*Expr)GetIdentExpr¶
func (x *Expr) GetIdentExpr() *Expr_Ident
func (*Expr)GetListExpr¶
func (x *Expr) GetListExpr() *Expr_CreateList
func (*Expr)GetSelectExpr¶
func (x *Expr) GetSelectExpr() *Expr_Select
func (*Expr)GetStructExpr¶
func (x *Expr) GetStructExpr() *Expr_CreateStruct
func (*Expr)ProtoMessage¶
func (*Expr) ProtoMessage()
func (*Expr)ProtoReflect¶
func (x *Expr) ProtoReflect()protoreflect.Message
typeExprValue¶
type ExprValue struct {// An expression can resolve to a value, error or unknown.//// Types that are assignable to Kind:////*ExprValue_Value//*ExprValue_Error//*ExprValue_UnknownKind isExprValue_Kind `protobuf_oneof:"kind"`// contains filtered or unexported fields}The value of an evaluated expression.
func (*ExprValue)Descriptordeprecated
func (*ExprValue)GetUnknown¶
func (x *ExprValue) GetUnknown() *UnknownSet
func (*ExprValue)ProtoMessage¶
func (*ExprValue) ProtoMessage()
func (*ExprValue)ProtoReflect¶
func (x *ExprValue) ProtoReflect()protoreflect.Message
typeExprValue_Error¶
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"`}typeExprValue_Unknown¶
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"`}typeExprValue_Value¶
type ExprValue_Value struct {// A concrete value.Value *Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"`}typeExpr_Call¶
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.Functionstring `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}A call expression, including calls to predefined functions and operators.
For example, `value == 10`, `size(map_value)`.
func (*Expr_Call)Descriptordeprecated
func (*Expr_Call)GetFunction¶
func (*Expr_Call)ProtoMessage¶
func (*Expr_Call) ProtoMessage()
func (*Expr_Call)ProtoReflect¶
func (x *Expr_Call) ProtoReflect()protoreflect.Message
typeExpr_CallExpr¶
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"`}typeExpr_Comprehension¶
type Expr_Comprehension struct {// The name of the first iteration variable.// When the iter_range is a list, this variable is the list element.// When the iter_range is a map, this variable is the map entry key.IterVarstring `protobuf:"bytes,1,opt,name=iter_var,json=iterVar,proto3" json:"iter_var,omitempty"`// The name of the second iteration variable, empty if not set.// When the iter_range is a list, this variable is the integer index.// When the iter_range is a map, this variable is the map entry value.// This field is only set for comprehension v2 macros.IterVar2string `protobuf:"bytes,8,opt,name=iter_var2,json=iterVar2,proto3" json:"iter_var2,omitempty"`// The range over which the comprehension 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.AccuVarstring `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, iter_var2, 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, iter_var2, 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}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 replacesthe call with an alternate AST block. Macro expansion happens at parsetime.
The following macros are supported within CEL:
Aggregate type macros may be applied to all elements in a list or all keysin a map:
- `all`, `exists`, `exists_one` - test a predicate expression againstthe inputs and return `true` if the predicate is satisfied for all,any, or only one value `list.all(x, x < 10)`.
- `filter` - test a predicate expression against the inputs and returnthe subset of elements which satisfy the predicate:`payments.filter(p, p > 1000)`.
- `map` - apply an expression to all elements in the input and return theoutput aggregate type: `[1, 2, 3].map(i, i * i)`.
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 proto2messages `has(m.x)` is defined as 'defined, but not set`. For proto3, themacro tests whether the property is set to its default. For map and structtypes, the macro tests whether the property `x` is defined on `m`.
Comprehensions for the standard environment macros evaluation can be bestvisualized as the following pseudocode:
```let `accu_var` = `accu_init`
for (let `iter_var` in `iter_range`) { if (!`loop_condition`) { break } `accu_var` = `loop_step`}return `result````
Comprehensions for the optional V2 macros which support map-to-maptranslation differ slightly from the standard environment macros in thatthey expose both the key or index in addition to the value for each listor map entry:
```let `accu_var` = `accu_init`
for (let `iter_var`, `iter_var2` in `iter_range`) { if (!`loop_condition`) { break } `accu_var` = `loop_step`}return `result````
func (*Expr_Comprehension)Descriptordeprecated
func (*Expr_Comprehension) Descriptor() ([]byte, []int)
Deprecated: Use Expr_Comprehension.ProtoReflect.Descriptor instead.
func (*Expr_Comprehension)GetAccuInit¶
func (x *Expr_Comprehension) GetAccuInit() *Expr
func (*Expr_Comprehension)GetAccuVar¶
func (x *Expr_Comprehension) GetAccuVar()string
func (*Expr_Comprehension)GetIterRange¶
func (x *Expr_Comprehension) GetIterRange() *Expr
func (*Expr_Comprehension)GetIterVar¶
func (x *Expr_Comprehension) GetIterVar()string
func (*Expr_Comprehension)GetIterVar2¶
func (x *Expr_Comprehension) GetIterVar2()string
func (*Expr_Comprehension)GetLoopCondition¶
func (x *Expr_Comprehension) GetLoopCondition() *Expr
func (*Expr_Comprehension)GetLoopStep¶
func (x *Expr_Comprehension) GetLoopStep() *Expr
func (*Expr_Comprehension)GetResult¶
func (x *Expr_Comprehension) GetResult() *Expr
func (*Expr_Comprehension)ProtoMessage¶
func (*Expr_Comprehension) ProtoMessage()
func (*Expr_Comprehension)ProtoReflect¶
func (x *Expr_Comprehension) ProtoReflect()protoreflect.Message
func (*Expr_Comprehension)Reset¶
func (x *Expr_Comprehension) Reset()
func (*Expr_Comprehension)String¶
func (x *Expr_Comprehension) String()string
typeExpr_ComprehensionExpr¶
type Expr_ComprehensionExpr struct {// A comprehension expression.ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"`}typeExpr_ConstExpr¶
type Expr_ConstExpr struct {// A literal expression.ConstExpr *Constant `protobuf:"bytes,3,opt,name=const_expr,json=constExpr,proto3,oneof"`}typeExpr_CreateList¶
type Expr_CreateList struct {// The elements part of the list.Elements []*Expr `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`// The indices within the elements list which are marked as optional// elements.//// When an optional-typed value is present, the value it contains// is included in the list. If the optional-typed value is absent, the list// element is omitted from the CreateList result.OptionalIndices []int32 `protobuf:"varint,2,rep,packed,name=optional_indices,json=optionalIndices,proto3" json:"optional_indices,omitempty"`// contains filtered or unexported fields}A list creation expression.
Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogeneous, e.g.`dyn([1, 'hello', 2.0])`
func (*Expr_CreateList)Descriptordeprecated
func (*Expr_CreateList) Descriptor() ([]byte, []int)
Deprecated: Use Expr_CreateList.ProtoReflect.Descriptor instead.
func (*Expr_CreateList)GetElements¶
func (x *Expr_CreateList) GetElements() []*Expr
func (*Expr_CreateList)GetOptionalIndices¶
func (x *Expr_CreateList) GetOptionalIndices() []int32
func (*Expr_CreateList)ProtoMessage¶
func (*Expr_CreateList) ProtoMessage()
func (*Expr_CreateList)ProtoReflect¶
func (x *Expr_CreateList) ProtoReflect()protoreflect.Message
func (*Expr_CreateList)Reset¶
func (x *Expr_CreateList) Reset()
func (*Expr_CreateList)String¶
func (x *Expr_CreateList) String()string
typeExpr_CreateStruct¶
type Expr_CreateStruct struct {// The type name of the message to be created, empty when creating map// literals.MessageNamestring `protobuf:"bytes,1,opt,name=message_name,json=messageName,proto3" json:"message_name,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}A map or message creation expression.
Maps are constructed as `{'key_name': 'value'}`. Message construction issimilar, but prefixed with a type name and composed of field ids:`types.MyType{field_id: 'value'}`.
func (*Expr_CreateStruct)Descriptordeprecated
func (*Expr_CreateStruct) Descriptor() ([]byte, []int)
Deprecated: Use Expr_CreateStruct.ProtoReflect.Descriptor instead.
func (*Expr_CreateStruct)GetEntries¶
func (x *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry
func (*Expr_CreateStruct)GetMessageName¶
func (x *Expr_CreateStruct) GetMessageName()string
func (*Expr_CreateStruct)ProtoMessage¶
func (*Expr_CreateStruct) ProtoMessage()
func (*Expr_CreateStruct)ProtoReflect¶
func (x *Expr_CreateStruct) ProtoReflect()protoreflect.Message
func (*Expr_CreateStruct)Reset¶
func (x *Expr_CreateStruct) Reset()
func (*Expr_CreateStruct)String¶
func (x *Expr_CreateStruct) String()string
typeExpr_CreateStruct_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.Idint64 `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_MapKeyKeyKind isExpr_CreateStruct_Entry_KeyKind `protobuf_oneof:"key_kind"`// Required. The value assigned to the key.//// If the optional_entry field is true, the expression must resolve to an// optional-typed value. If the optional value is present, the key will be// set; however, if the optional value is absent, the key will be unset.Value *Expr `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`// Whether the key-value pair is optional.OptionalEntrybool `protobuf:"varint,5,opt,name=optional_entry,json=optionalEntry,proto3" json:"optional_entry,omitempty"`// contains filtered or unexported fields}Represents an entry.
func (*Expr_CreateStruct_Entry)Descriptordeprecated
func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int)
Deprecated: Use Expr_CreateStruct_Entry.ProtoReflect.Descriptor instead.
func (*Expr_CreateStruct_Entry)GetFieldKey¶
func (x *Expr_CreateStruct_Entry) GetFieldKey()string
func (*Expr_CreateStruct_Entry)GetId¶
func (x *Expr_CreateStruct_Entry) GetId()int64
func (*Expr_CreateStruct_Entry)GetKeyKind¶
func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind
func (*Expr_CreateStruct_Entry)GetMapKey¶
func (x *Expr_CreateStruct_Entry) GetMapKey() *Expr
func (*Expr_CreateStruct_Entry)GetOptionalEntry¶
func (x *Expr_CreateStruct_Entry) GetOptionalEntry()bool
func (*Expr_CreateStruct_Entry)GetValue¶
func (x *Expr_CreateStruct_Entry) GetValue() *Expr
func (*Expr_CreateStruct_Entry)ProtoMessage¶
func (*Expr_CreateStruct_Entry) ProtoMessage()
func (*Expr_CreateStruct_Entry)ProtoReflect¶
func (x *Expr_CreateStruct_Entry) ProtoReflect()protoreflect.Message
func (*Expr_CreateStruct_Entry)Reset¶
func (x *Expr_CreateStruct_Entry) Reset()
func (*Expr_CreateStruct_Entry)String¶
func (x *Expr_CreateStruct_Entry) String()string
typeExpr_CreateStruct_Entry_FieldKey¶
type Expr_CreateStruct_Entry_FieldKey struct {// The field key for a message creator statement.FieldKeystring `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"`}typeExpr_CreateStruct_Entry_MapKey¶
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"`}typeExpr_Ident¶
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.v1alpha1.Expr.Select] expression.Namestring `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`// contains filtered or unexported fields}An identifier expression. e.g. `request`.
func (*Expr_Ident)Descriptordeprecated
func (*Expr_Ident) Descriptor() ([]byte, []int)
Deprecated: Use Expr_Ident.ProtoReflect.Descriptor instead.
func (*Expr_Ident)GetName¶
func (x *Expr_Ident) GetName()string
func (*Expr_Ident)ProtoMessage¶
func (*Expr_Ident) ProtoMessage()
func (*Expr_Ident)ProtoReflect¶
func (x *Expr_Ident) ProtoReflect()protoreflect.Message
func (*Expr_Ident)Reset¶
func (x *Expr_Ident) Reset()
func (*Expr_Ident)String¶
func (x *Expr_Ident) String()string
typeExpr_IdentExpr¶
type Expr_IdentExpr struct {// An identifier expression.IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"`}typeExpr_ListExpr¶
type Expr_ListExpr struct {// A list creation expression.ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"`}typeExpr_Select¶
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`.Fieldstring `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)`.TestOnlybool `protobuf:"varint,3,opt,name=test_only,json=testOnly,proto3" json:"test_only,omitempty"`// contains filtered or unexported fields}A field selection expression. e.g. `request.auth`.
func (*Expr_Select)Descriptordeprecated
func (*Expr_Select) Descriptor() ([]byte, []int)
Deprecated: Use Expr_Select.ProtoReflect.Descriptor instead.
func (*Expr_Select)GetField¶
func (x *Expr_Select) GetField()string
func (*Expr_Select)GetOperand¶
func (x *Expr_Select) GetOperand() *Expr
func (*Expr_Select)GetTestOnly¶
func (x *Expr_Select) GetTestOnly()bool
func (*Expr_Select)ProtoMessage¶
func (*Expr_Select) ProtoMessage()
func (*Expr_Select)ProtoReflect¶
func (x *Expr_Select) ProtoReflect()protoreflect.Message
func (*Expr_Select)Reset¶
func (x *Expr_Select) Reset()
func (*Expr_Select)String¶
func (x *Expr_Select) String()string
typeExpr_SelectExpr¶
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"`}typeExpr_StructExpr¶
type Expr_StructExpr struct {// A map or message creation expression.StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"`}typeListValue¶
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}A list.
Wrapped in a message so 'not set' and empty can be differentiated, which isrequired for use in a 'oneof'.
func (*ListValue)Descriptordeprecated
func (*ListValue)ProtoMessage¶
func (*ListValue) ProtoMessage()
func (*ListValue)ProtoReflect¶
func (x *ListValue) ProtoReflect()protoreflect.Message
typeMapValue¶
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}A map.
Wrapped in a message so 'not set' and empty can be differentiated, which isrequired for use in a 'oneof'.
func (*MapValue)Descriptordeprecated
func (*MapValue)GetEntries¶
func (x *MapValue) GetEntries() []*MapValue_Entry
func (*MapValue)ProtoMessage¶
func (*MapValue) ProtoMessage()
func (*MapValue)ProtoReflect¶
func (x *MapValue) ProtoReflect()protoreflect.Message
typeMapValue_Entry¶
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}An entry in the map.
func (*MapValue_Entry)Descriptordeprecated
func (*MapValue_Entry) Descriptor() ([]byte, []int)
Deprecated: Use MapValue_Entry.ProtoReflect.Descriptor instead.
func (*MapValue_Entry)GetKey¶
func (x *MapValue_Entry) GetKey() *Value
func (*MapValue_Entry)GetValue¶
func (x *MapValue_Entry) GetValue() *Value
func (*MapValue_Entry)ProtoMessage¶
func (*MapValue_Entry) ProtoMessage()
func (*MapValue_Entry)ProtoReflect¶
func (x *MapValue_Entry) ProtoReflect()protoreflect.Message
func (*MapValue_Entry)Reset¶
func (x *MapValue_Entry) Reset()
func (*MapValue_Entry)String¶
func (x *MapValue_Entry) String()string
typeParsedExpr¶
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"`// contains filtered or unexported fields}An expression together with source information as returned by the parser.
func (*ParsedExpr)Descriptordeprecated
func (*ParsedExpr) Descriptor() ([]byte, []int)
Deprecated: Use ParsedExpr.ProtoReflect.Descriptor instead.
func (*ParsedExpr)GetExpr¶
func (x *ParsedExpr) GetExpr() *Expr
func (*ParsedExpr)GetSourceInfo¶
func (x *ParsedExpr) GetSourceInfo() *SourceInfo
func (*ParsedExpr)ProtoMessage¶
func (*ParsedExpr) ProtoMessage()
func (*ParsedExpr)ProtoReflect¶
func (x *ParsedExpr) ProtoReflect()protoreflect.Message
func (*ParsedExpr)Reset¶
func (x *ParsedExpr) Reset()
func (*ParsedExpr)String¶
func (x *ParsedExpr) String()string
typeReference¶
type Reference struct {// The fully qualified name of the declaration.Namestring `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`// For references to functions, this is a list of `Overload.overload_id`// values which match according to typing rules.//// If the list has more than one element, overload resolution among the// presented candidates must happen at runtime because of dynamic types. The// type checker attempts to narrow down this list as much as possible.//// Empty if this is not a reference to a// [Decl.FunctionDecl][google.api.expr.v1alpha1.Decl.FunctionDecl].OverloadId []string `protobuf:"bytes,3,rep,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"`// For references to constants, this may contain the value of the// constant if known at compile time.Value *Constant `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`// contains filtered or unexported fields}Describes a resolved reference to a declaration.
func (*Reference)Descriptordeprecated
func (*Reference)GetOverloadId¶
func (*Reference)ProtoMessage¶
func (*Reference) ProtoMessage()
func (*Reference)ProtoReflect¶
func (x *Reference) ProtoReflect()protoreflect.Message
typeSourceInfo¶
type SourceInfo struct {// The syntax version of the source, e.g. `cel1`.SyntaxVersionstring `protobuf:"bytes,1,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`// 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`.Locationstring `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"`// Monotonically increasing list of code point offsets where newlines// `\n` 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 code point offset// within the source.Positions map[int64]int32 ``/* 161-byte string literal not displayed */// A map from the parse node id where a macro replacement was made to the// call `Expr` that resulted in a macro expansion.//// For example, `has(value.field)` is a function call that is replaced by a// `test_only` field selection in the AST. Likewise, the call// `list.exists(e, e > 10)` translates to a comprehension expression. The key// in the map corresponds to the expression id of the expanded macro, and the// value is the call `Expr` that was replaced.MacroCalls map[int64]*Expr ``/* 180-byte string literal not displayed */// A list of tags for extensions that were used while parsing or type checking// the source expression. For example, optimizations that require special// runtime support may be specified.//// These are used to check feature support between components in separate// implementations. This can be used to either skip redundant work or// report an error if the extension is unsupported.Extensions []*SourceInfo_Extension `protobuf:"bytes,6,rep,name=extensions,proto3" json:"extensions,omitempty"`// contains filtered or unexported fields}Source information collected at parse time.
func (*SourceInfo)Descriptordeprecated
func (*SourceInfo) Descriptor() ([]byte, []int)
Deprecated: Use SourceInfo.ProtoReflect.Descriptor instead.
func (*SourceInfo)GetExtensions¶
func (x *SourceInfo) GetExtensions() []*SourceInfo_Extension
func (*SourceInfo)GetLineOffsets¶
func (x *SourceInfo) GetLineOffsets() []int32
func (*SourceInfo)GetLocation¶
func (x *SourceInfo) GetLocation()string
func (*SourceInfo)GetMacroCalls¶
func (x *SourceInfo) GetMacroCalls() map[int64]*Expr
func (*SourceInfo)GetPositions¶
func (x *SourceInfo) GetPositions() map[int64]int32
func (*SourceInfo)GetSyntaxVersion¶
func (x *SourceInfo) GetSyntaxVersion()string
func (*SourceInfo)ProtoMessage¶
func (*SourceInfo) ProtoMessage()
func (*SourceInfo)ProtoReflect¶
func (x *SourceInfo) ProtoReflect()protoreflect.Message
func (*SourceInfo)Reset¶
func (x *SourceInfo) Reset()
func (*SourceInfo)String¶
func (x *SourceInfo) String()string
typeSourceInfo_Extension¶
type SourceInfo_Extension struct {// Identifier for the extension. Example: constant_foldingIdstring `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`// If set, the listed components must understand the extension for the// expression to evaluate correctly.//// This field has set semantics, repeated values should be deduplicated.AffectedComponents []SourceInfo_Extension_Component ``/* 184-byte string literal not displayed */// Version info. May be skipped if it isn't meaningful for the extension.// (for example constant_folding might always be v0.0).Version *SourceInfo_Extension_Version `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`// contains filtered or unexported fields}An extension that was requested for the source expression.
func (*SourceInfo_Extension)Descriptordeprecated
func (*SourceInfo_Extension) Descriptor() ([]byte, []int)
Deprecated: Use SourceInfo_Extension.ProtoReflect.Descriptor instead.
func (*SourceInfo_Extension)GetAffectedComponents¶
func (x *SourceInfo_Extension) GetAffectedComponents() []SourceInfo_Extension_Component
func (*SourceInfo_Extension)GetId¶
func (x *SourceInfo_Extension) GetId()string
func (*SourceInfo_Extension)GetVersion¶
func (x *SourceInfo_Extension) GetVersion() *SourceInfo_Extension_Version
func (*SourceInfo_Extension)ProtoMessage¶
func (*SourceInfo_Extension) ProtoMessage()
func (*SourceInfo_Extension)ProtoReflect¶
func (x *SourceInfo_Extension) ProtoReflect()protoreflect.Message
func (*SourceInfo_Extension)Reset¶
func (x *SourceInfo_Extension) Reset()
func (*SourceInfo_Extension)String¶
func (x *SourceInfo_Extension) String()string
typeSourceInfo_Extension_Component¶
type SourceInfo_Extension_Componentint32
CEL component specifier.
const (// Unspecified, default.SourceInfo_Extension_COMPONENT_UNSPECIFIEDSourceInfo_Extension_Component = 0// Parser. Converts a CEL string to an AST.SourceInfo_Extension_COMPONENT_PARSERSourceInfo_Extension_Component = 1// Type checker. Checks that references in an AST are defined and types// agree.SourceInfo_Extension_COMPONENT_TYPE_CHECKERSourceInfo_Extension_Component = 2// Runtime. Evaluates a parsed and optionally checked CEL AST against a// context.SourceInfo_Extension_COMPONENT_RUNTIMESourceInfo_Extension_Component = 3)
func (SourceInfo_Extension_Component)Descriptor¶
func (SourceInfo_Extension_Component) Descriptor()protoreflect.EnumDescriptor
func (SourceInfo_Extension_Component)Enum¶
func (xSourceInfo_Extension_Component) Enum() *SourceInfo_Extension_Component
func (SourceInfo_Extension_Component)EnumDescriptordeprecated
func (SourceInfo_Extension_Component) EnumDescriptor() ([]byte, []int)
Deprecated: Use SourceInfo_Extension_Component.Descriptor instead.
func (SourceInfo_Extension_Component)Number¶
func (xSourceInfo_Extension_Component) Number()protoreflect.EnumNumber
func (SourceInfo_Extension_Component)String¶
func (xSourceInfo_Extension_Component) String()string
func (SourceInfo_Extension_Component)Type¶
func (SourceInfo_Extension_Component) Type()protoreflect.EnumType
typeSourceInfo_Extension_Version¶
type SourceInfo_Extension_Version struct {// Major version changes indicate different required support level from// the required components.Majorint64 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"`// Minor version changes must not change the observed behavior from// existing implementations, but may be provided informationally.Minorint64 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"`// contains filtered or unexported fields}Version
func (*SourceInfo_Extension_Version)Descriptordeprecated
func (*SourceInfo_Extension_Version) Descriptor() ([]byte, []int)
Deprecated: Use SourceInfo_Extension_Version.ProtoReflect.Descriptor instead.
func (*SourceInfo_Extension_Version)GetMajor¶
func (x *SourceInfo_Extension_Version) GetMajor()int64
func (*SourceInfo_Extension_Version)GetMinor¶
func (x *SourceInfo_Extension_Version) GetMinor()int64
func (*SourceInfo_Extension_Version)ProtoMessage¶
func (*SourceInfo_Extension_Version) ProtoMessage()
func (*SourceInfo_Extension_Version)ProtoReflect¶
func (x *SourceInfo_Extension_Version) ProtoReflect()protoreflect.Message
func (*SourceInfo_Extension_Version)Reset¶
func (x *SourceInfo_Extension_Version) Reset()
func (*SourceInfo_Extension_Version)String¶
func (x *SourceInfo_Extension_Version) String()string
typeSourcePosition¶
type SourcePosition struct {// The soucre location name (e.g. file name).Locationstring `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`// The UTF-8 code unit offset.Offsetint32 `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.Lineint32 `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 nonzero.Columnint32 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"`// contains filtered or unexported fields}A specific position in source.
func (*SourcePosition)Descriptordeprecated
func (*SourcePosition) Descriptor() ([]byte, []int)
Deprecated: Use SourcePosition.ProtoReflect.Descriptor instead.
func (*SourcePosition)GetColumn¶
func (x *SourcePosition) GetColumn()int32
func (*SourcePosition)GetLine¶
func (x *SourcePosition) GetLine()int32
func (*SourcePosition)GetLocation¶
func (x *SourcePosition) GetLocation()string
func (*SourcePosition)GetOffset¶
func (x *SourcePosition) GetOffset()int32
func (*SourcePosition)ProtoMessage¶
func (*SourcePosition) ProtoMessage()
func (*SourcePosition)ProtoReflect¶
func (x *SourcePosition) ProtoReflect()protoreflect.Message
func (*SourcePosition)Reset¶
func (x *SourcePosition) Reset()
func (*SourcePosition)String¶
func (x *SourcePosition) String()string
typeType¶
type Type struct {// The kind of type.//// Types that are assignable to TypeKind:////*Type_Dyn//*Type_Null//*Type_Primitive//*Type_Wrapper//*Type_WellKnown//*Type_ListType_//*Type_MapType_//*Type_Function//*Type_MessageType//*Type_TypeParam//*Type_Type//*Type_Error//*Type_AbstractType_TypeKind isType_TypeKind `protobuf_oneof:"type_kind"`// contains filtered or unexported fields}Represents a CEL type.
func (*Type)Descriptordeprecated
func (*Type)GetAbstractType¶
func (x *Type) GetAbstractType() *Type_AbstractType
func (*Type)GetFunction¶
func (x *Type) GetFunction() *Type_FunctionType
func (*Type)GetListType¶
func (x *Type) GetListType() *Type_ListType
func (*Type)GetMapType¶
func (x *Type) GetMapType() *Type_MapType
func (*Type)GetMessageType¶
func (*Type)GetPrimitive¶
func (x *Type) GetPrimitive()Type_PrimitiveType
func (*Type)GetTypeKind¶
func (m *Type) GetTypeKind() isType_TypeKind
func (*Type)GetTypeParam¶
func (*Type)GetWellKnown¶
func (x *Type) GetWellKnown()Type_WellKnownType
func (*Type)GetWrapper¶
func (x *Type) GetWrapper()Type_PrimitiveType
func (*Type)ProtoMessage¶
func (*Type) ProtoMessage()
func (*Type)ProtoReflect¶
func (x *Type) ProtoReflect()protoreflect.Message
typeType_AbstractType¶
type Type_AbstractType struct {// The fully qualified name of this abstract type.Namestring `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`// Parameter types for this abstract type.ParameterTypes []*Type `protobuf:"bytes,2,rep,name=parameter_types,json=parameterTypes,proto3" json:"parameter_types,omitempty"`// contains filtered or unexported fields}Application defined abstract type.
func (*Type_AbstractType)Descriptordeprecated
func (*Type_AbstractType) Descriptor() ([]byte, []int)
Deprecated: Use Type_AbstractType.ProtoReflect.Descriptor instead.
func (*Type_AbstractType)GetName¶
func (x *Type_AbstractType) GetName()string
func (*Type_AbstractType)GetParameterTypes¶
func (x *Type_AbstractType) GetParameterTypes() []*Type
func (*Type_AbstractType)ProtoMessage¶
func (*Type_AbstractType) ProtoMessage()
func (*Type_AbstractType)ProtoReflect¶
func (x *Type_AbstractType) ProtoReflect()protoreflect.Message
func (*Type_AbstractType)Reset¶
func (x *Type_AbstractType) Reset()
func (*Type_AbstractType)String¶
func (x *Type_AbstractType) String()string
typeType_AbstractType_¶
type Type_AbstractType_ struct {// Abstract, application defined type.AbstractType *Type_AbstractType `protobuf:"bytes,14,opt,name=abstract_type,json=abstractType,proto3,oneof"`}typeType_Error¶
typeType_Function¶
type Type_Function struct {// Function type.Function *Type_FunctionType `protobuf:"bytes,8,opt,name=function,proto3,oneof"`}typeType_FunctionType¶
type Type_FunctionType struct {// Result type of the function.ResultType *Type `protobuf:"bytes,1,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"`// Argument types of the function.ArgTypes []*Type `protobuf:"bytes,2,rep,name=arg_types,json=argTypes,proto3" json:"arg_types,omitempty"`// contains filtered or unexported fields}Function type with result and arg types.
func (*Type_FunctionType)Descriptordeprecated
func (*Type_FunctionType) Descriptor() ([]byte, []int)
Deprecated: Use Type_FunctionType.ProtoReflect.Descriptor instead.
func (*Type_FunctionType)GetArgTypes¶
func (x *Type_FunctionType) GetArgTypes() []*Type
func (*Type_FunctionType)GetResultType¶
func (x *Type_FunctionType) GetResultType() *Type
func (*Type_FunctionType)ProtoMessage¶
func (*Type_FunctionType) ProtoMessage()
func (*Type_FunctionType)ProtoReflect¶
func (x *Type_FunctionType) ProtoReflect()protoreflect.Message
func (*Type_FunctionType)Reset¶
func (x *Type_FunctionType) Reset()
func (*Type_FunctionType)String¶
func (x *Type_FunctionType) String()string
typeType_ListType¶
type Type_ListType struct {// The element type.ElemType *Type `protobuf:"bytes,1,opt,name=elem_type,json=elemType,proto3" json:"elem_type,omitempty"`// contains filtered or unexported fields}List type with typed elements, e.g. `list<example.proto.MyMessage>`.
func (*Type_ListType)Descriptordeprecated
func (*Type_ListType) Descriptor() ([]byte, []int)
Deprecated: Use Type_ListType.ProtoReflect.Descriptor instead.
func (*Type_ListType)GetElemType¶
func (x *Type_ListType) GetElemType() *Type
func (*Type_ListType)ProtoMessage¶
func (*Type_ListType) ProtoMessage()
func (*Type_ListType)ProtoReflect¶
func (x *Type_ListType) ProtoReflect()protoreflect.Message
func (*Type_ListType)Reset¶
func (x *Type_ListType) Reset()
func (*Type_ListType)String¶
func (x *Type_ListType) String()string
typeType_ListType_¶
type Type_ListType_ struct {// Parameterized list with elements of `list_type`, e.g. `list<timestamp>`.ListType *Type_ListType `protobuf:"bytes,6,opt,name=list_type,json=listType,proto3,oneof"`}typeType_MapType¶
type Type_MapType struct {// The type of the key.KeyType *Type `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"`// The type of the value.ValueType *Type `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"`// contains filtered or unexported fields}Map type with parameterized key and value types, e.g. `map<string, int>`.
func (*Type_MapType)Descriptordeprecated
func (*Type_MapType) Descriptor() ([]byte, []int)
Deprecated: Use Type_MapType.ProtoReflect.Descriptor instead.
func (*Type_MapType)GetKeyType¶
func (x *Type_MapType) GetKeyType() *Type
func (*Type_MapType)GetValueType¶
func (x *Type_MapType) GetValueType() *Type
func (*Type_MapType)ProtoMessage¶
func (*Type_MapType) ProtoMessage()
func (*Type_MapType)ProtoReflect¶
func (x *Type_MapType) ProtoReflect()protoreflect.Message
func (*Type_MapType)Reset¶
func (x *Type_MapType) Reset()
func (*Type_MapType)String¶
func (x *Type_MapType) String()string
typeType_MapType_¶
type Type_MapType_ struct {// Parameterized map with typed keys and values.MapType *Type_MapType `protobuf:"bytes,7,opt,name=map_type,json=mapType,proto3,oneof"`}typeType_MessageType¶
type Type_MessageType struct {// Protocol buffer message type.//// The `message_type` string specifies the qualified message type name. For// example, `google.plus.Profile`.MessageTypestring `protobuf:"bytes,9,opt,name=message_type,json=messageType,proto3,oneof"`}typeType_Primitive¶
type Type_Primitive struct {// Primitive types: `true`, `1u`, `-2.0`, `'string'`, `b'bytes'`.PrimitiveType_PrimitiveType `protobuf:"varint,3,opt,name=primitive,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"`}typeType_PrimitiveType¶
type Type_PrimitiveTypeint32
CEL primitive types.
const (// Unspecified type.Type_PRIMITIVE_TYPE_UNSPECIFIEDType_PrimitiveType = 0// Boolean type.Type_BOOLType_PrimitiveType = 1// Int64 type.//// Proto-based integer values are widened to int64.Type_INT64Type_PrimitiveType = 2// Uint64 type.//// Proto-based unsigned integer values are widened to uint64.Type_UINT64Type_PrimitiveType = 3// Double type.//// Proto-based float values are widened to double values.Type_DOUBLEType_PrimitiveType = 4// String type.Type_STRINGType_PrimitiveType = 5// Bytes type.Type_BYTESType_PrimitiveType = 6)
func (Type_PrimitiveType)Descriptor¶
func (Type_PrimitiveType) Descriptor()protoreflect.EnumDescriptor
func (Type_PrimitiveType)Enum¶
func (xType_PrimitiveType) Enum() *Type_PrimitiveType
func (Type_PrimitiveType)EnumDescriptordeprecated
func (Type_PrimitiveType) EnumDescriptor() ([]byte, []int)
Deprecated: Use Type_PrimitiveType.Descriptor instead.
func (Type_PrimitiveType)Number¶
func (xType_PrimitiveType) Number()protoreflect.EnumNumber
func (Type_PrimitiveType)String¶
func (xType_PrimitiveType) String()string
func (Type_PrimitiveType)Type¶
func (Type_PrimitiveType) Type()protoreflect.EnumType
typeType_Type¶
type Type_Type struct {// Type type.//// The `type` value specifies the target type. e.g. int is type with a// target type of `Primitive.INT`.Type *Type `protobuf:"bytes,11,opt,name=type,proto3,oneof"`}typeType_TypeParam¶
type Type_TypeParam struct {// Type param type.//// The `type_param` string specifies the type parameter name, e.g. `list<E>`// would be a `list_type` whose element type was a `type_param` type// named `E`.TypeParamstring `protobuf:"bytes,10,opt,name=type_param,json=typeParam,proto3,oneof"`}typeType_WellKnown¶
type Type_WellKnown struct {// Well-known protobuf type such as `google.protobuf.Timestamp`.WellKnownType_WellKnownType `protobuf:"varint,5,opt,name=well_known,json=wellKnown,proto3,enum=google.api.expr.v1alpha1.Type_WellKnownType,oneof"`}typeType_WellKnownType¶
type Type_WellKnownTypeint32
Well-known protobuf types treated with first-class support in CEL.
const (// Unspecified type.Type_WELL_KNOWN_TYPE_UNSPECIFIEDType_WellKnownType = 0// Well-known protobuf.Any type.//// Any types are a polymorphic message type. During type-checking they are// treated like `DYN` types, but at runtime they are resolved to a specific// message type specified at evaluation time.Type_ANYType_WellKnownType = 1// Well-known protobuf.Timestamp type, internally referenced as `timestamp`.Type_TIMESTAMPType_WellKnownType = 2// Well-known protobuf.Duration type, internally referenced as `duration`.Type_DURATIONType_WellKnownType = 3)
func (Type_WellKnownType)Descriptor¶
func (Type_WellKnownType) Descriptor()protoreflect.EnumDescriptor
func (Type_WellKnownType)Enum¶
func (xType_WellKnownType) Enum() *Type_WellKnownType
func (Type_WellKnownType)EnumDescriptordeprecated
func (Type_WellKnownType) EnumDescriptor() ([]byte, []int)
Deprecated: Use Type_WellKnownType.Descriptor instead.
func (Type_WellKnownType)Number¶
func (xType_WellKnownType) Number()protoreflect.EnumNumber
func (Type_WellKnownType)String¶
func (xType_WellKnownType) String()string
func (Type_WellKnownType)Type¶
func (Type_WellKnownType) Type()protoreflect.EnumType
typeType_Wrapper¶
type Type_Wrapper struct {// Wrapper of a primitive type, e.g. `google.protobuf.Int64Value`.WrapperType_PrimitiveType `protobuf:"varint,4,opt,name=wrapper,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"`}typeUnknownSet¶
type UnknownSet struct {// The ids of the expressions with unknown values.Exprs []int64 `protobuf:"varint,1,rep,packed,name=exprs,proto3" json:"exprs,omitempty"`// contains filtered or unexported fields}A set of expressions for which the value is unknown.
The unknowns included depend on the context. See `ExprValue.unknown`.
func (*UnknownSet)Descriptordeprecated
func (*UnknownSet) Descriptor() ([]byte, []int)
Deprecated: Use UnknownSet.ProtoReflect.Descriptor instead.
func (*UnknownSet)GetExprs¶
func (x *UnknownSet) GetExprs() []int64
func (*UnknownSet)ProtoMessage¶
func (*UnknownSet) ProtoMessage()
func (*UnknownSet)ProtoReflect¶
func (x *UnknownSet) ProtoReflect()protoreflect.Message
func (*UnknownSet)Reset¶
func (x *UnknownSet) Reset()
func (*UnknownSet)String¶
func (x *UnknownSet) String()string
typeValue¶
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_TypeValueKind isValue_Kind `protobuf_oneof:"kind"`// contains filtered or unexported fields}Represents a CEL value.
This is similar to `google.protobuf.Value`, but can represent CEL's fullrange of values.
func (*Value)Descriptordeprecated
func (*Value)GetBoolValue¶
func (*Value)GetBytesValue¶
func (*Value)GetDoubleValue¶
func (*Value)GetEnumValue¶
func (*Value)GetInt64Value¶
func (*Value)GetListValue¶
func (*Value)GetMapValue¶
func (*Value)GetNullValue¶
func (*Value)GetObjectValue¶
func (*Value)GetStringValue¶
func (*Value)GetTypeValue¶
func (*Value)GetUint64Value¶
func (*Value)ProtoMessage¶
func (*Value) ProtoMessage()
func (*Value)ProtoReflect¶
func (x *Value) ProtoReflect()protoreflect.Message
typeValue_BoolValue¶
type Value_BoolValue struct {// Boolean value.BoolValuebool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`}typeValue_BytesValue¶
type Value_BytesValue struct {// Byte string value.BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`}typeValue_DoubleValue¶
type Value_DoubleValue struct {// Floating point value.DoubleValuefloat64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`}typeValue_EnumValue¶
type Value_EnumValue struct {// An enum value.EnumValue *EnumValue `protobuf:"bytes,9,opt,name=enum_value,json=enumValue,proto3,oneof"`}typeValue_Int64Value¶
type Value_Int64Value struct {// Signed integer value.Int64Valueint64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`}typeValue_ListValue¶
type Value_ListValue struct {// List value.ListValue *ListValue `protobuf:"bytes,12,opt,name=list_value,json=listValue,proto3,oneof"`}typeValue_MapValue¶
type Value_MapValue struct {// Map value.MapValue *MapValue `protobuf:"bytes,11,opt,name=map_value,json=mapValue,proto3,oneof"`}typeValue_NullValue¶
typeValue_StringValue¶
type Value_StringValue struct {// UTF-8 string value.StringValuestring `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`}typeValue_TypeValue¶
type Value_TypeValue struct {// Type value.TypeValuestring `protobuf:"bytes,15,opt,name=type_value,json=typeValue,proto3,oneof"`}typeValue_Uint64Value¶
type Value_Uint64Value struct {// Unsigned integer value.Uint64Valueuint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`}