Documentation

Index

Constants

This section is empty.

Variables

View Source
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.

    View Source
    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.

      View Source
      var File_google_api_expr_v1alpha1_checked_proto protoreflect.FileDescriptor
      View Source
      var File_google_api_expr_v1alpha1_eval_proto protoreflect.FileDescriptor
      View Source
      var File_google_api_expr_v1alpha1_explain_proto protoreflect.FileDescriptor
      View Source
      var File_google_api_expr_v1alpha1_syntax_proto protoreflect.FileDescriptor
      View Source
      var File_google_api_expr_v1alpha1_value_proto protoreflect.FileDescriptor

      Functions

      This section is empty.

      Types

      type CheckedExpr

      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 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) Descriptor

        func (*CheckedExpr) Descriptor() ([]byte, []int)

          Deprecated: Use CheckedExpr.ProtoReflect.Descriptor instead.

          func (*CheckedExpr) GetExpr

          func (x *CheckedExpr) GetExpr() *Expr

          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

          type Constant

          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_TimestampValue
          	ConstantKind 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 of primitives.

            Lists and structs are not included as constants as these aggregate types may contain [Expr][google.api.expr.v1alpha1.Expr] elements which require evaluation and are thus not constant.

            Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`, `true`, `null`.

            func (*Constant) Descriptor

            func (*Constant) Descriptor() ([]byte, []int)

              Deprecated: Use Constant.ProtoReflect.Descriptor instead.

              func (*Constant) GetBoolValue

              func (x *Constant) GetBoolValue() bool

              func (*Constant) GetBytesValue

              func (x *Constant) GetBytesValue() []byte

              func (*Constant) GetConstantKind

              func (m *Constant) GetConstantKind() isConstant_ConstantKind

              func (*Constant) GetDoubleValue

              func (x *Constant) GetDoubleValue() float64

              func (*Constant) GetDurationValue

              func (x *Constant) GetDurationValue() *durationpb.Duration

                Deprecated: Do not use.

                func (*Constant) GetInt64Value

                func (x *Constant) GetInt64Value() int64

                func (*Constant) GetNullValue

                func (x *Constant) GetNullValue() structpb.NullValue

                func (*Constant) GetStringValue

                func (x *Constant) GetStringValue() string

                func (*Constant) GetTimestampValue

                func (x *Constant) GetTimestampValue() *timestamppb.Timestamp

                  Deprecated: Do not use.

                  func (*Constant) GetUint64Value

                  func (x *Constant) GetUint64Value() uint64

                  func (*Constant) ProtoMessage

                  func (*Constant) ProtoMessage()

                  func (*Constant) ProtoReflect

                  func (x *Constant) ProtoReflect() protoreflect.Message

                  func (*Constant) Reset

                  func (x *Constant) Reset()

                  func (*Constant) String

                  func (x *Constant) String() string

                  type Constant_BoolValue

                  type Constant_BoolValue struct {
                  	// boolean value.
                  	BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`
                  }

                  type Constant_BytesValue

                  type Constant_BytesValue struct {
                  	// bytes value.
                  	BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
                  }

                  type Constant_DoubleValue

                  type Constant_DoubleValue struct {
                  	// double value.
                  	DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`
                  }

                  type Constant_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"`
                  }

                  type Constant_Int64Value

                  type Constant_Int64Value struct {
                  	// int64 value.
                  	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`
                  }

                  type Constant_NullValue

                  type Constant_NullValue struct {
                  	// null value.
                  	NullValue structpb.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
                  }

                  type Constant_StringValue

                  type Constant_StringValue struct {
                  	// string value.
                  	StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`
                  }

                  type Constant_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"`
                  }

                  type Constant_Uint64Value

                  type Constant_Uint64Value struct {
                  	// uint64 value.
                  	Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`
                  }

                  type Decl

                  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].
                  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
                  	// Required. The declaration kind.
                  	//
                  	// Types that are assignable to DeclKind:
                  	//	*Decl_Ident
                  	//	*Decl_Function
                  	DeclKind 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 agent evaluating that expression, and the caller requesting evaluation.

                    func (*Decl) Descriptor

                    func (*Decl) Descriptor() ([]byte, []int)

                      Deprecated: Use Decl.ProtoReflect.Descriptor instead.

                      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) GetName

                      func (x *Decl) GetName() string

                      func (*Decl) ProtoMessage

                      func (*Decl) ProtoMessage()

                      func (*Decl) ProtoReflect

                      func (x *Decl) ProtoReflect() protoreflect.Message

                      func (*Decl) Reset

                      func (x *Decl) Reset()

                      func (*Decl) String

                      func (x *Decl) String() string

                      type Decl_Function

                      type Decl_Function struct {
                      	// Function declaration.
                      	Function *Decl_FunctionDecl `protobuf:"bytes,3,opt,name=function,proto3,oneof"`
                      }

                      type Decl_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 the function's parameter types and return type, and may optionally specify a function definition in terms of CEL expressions.

                        Functions have no observable side-effects (there may be side-effects like logging which are not observable from CEL).

                        func (*Decl_FunctionDecl) Descriptor

                        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

                          type Decl_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`.
                          	OverloadId string `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(...)`
                          	// of a function call-style `f(x, ...)`.
                          	//
                          	// For methods, the first parameter declaration, `params[0]` is the
                          	// expected type of the target receiver.
                          	IsInstanceFunction bool `protobuf:"varint,5,opt,name=is_instance_function,json=isInstanceFunction,proto3" json:"is_instance_function,omitempty"`
                          	// Documentation string for the overload.
                          	Doc string `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, and may optionally include a function body described in terms of [Expr][google.api.expr.v1alpha1.Expr] values.

                            Functions overloads are declared in either a function or method call-style. For methods, the `params[0]` is the expected type of the target receiver.

                            Overloads must have non-overlapping argument types after erasure of all parameterized type variables (similar as type erasure in Java).

                            func (*Decl_FunctionDecl_Overload) Descriptor

                            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 (*Decl_FunctionDecl_Overload) Reset

                              func (x *Decl_FunctionDecl_Overload) Reset()

                              func (*Decl_FunctionDecl_Overload) String

                              func (x *Decl_FunctionDecl_Overload) String() string

                              type Decl_Ident

                              type Decl_Ident struct {
                              	// Identifier declaration.
                              	Ident *Decl_IdentDecl `protobuf:"bytes,2,opt,name=ident,proto3,oneof"`
                              }

                              type Decl_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.
                              	Doc string `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 at evaluation time. An identifier with a value should resolve to a constant, but may be used in conjunction with other identifiers bound at evaluation time.

                                func (*Decl_IdentDecl) Descriptor

                                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

                                  type EnumValue

                                  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
                                  }

                                    An enum value.

                                    func (*EnumValue) Descriptor

                                    func (*EnumValue) Descriptor() ([]byte, []int)

                                      Deprecated: Use EnumValue.ProtoReflect.Descriptor instead.

                                      func (*EnumValue) GetType

                                      func (x *EnumValue) GetType() string

                                      func (*EnumValue) GetValue

                                      func (x *EnumValue) GetValue() int32

                                      func (*EnumValue) ProtoMessage

                                      func (*EnumValue) ProtoMessage()

                                      func (*EnumValue) ProtoReflect

                                      func (x *EnumValue) ProtoReflect() protoreflect.Message

                                      func (*EnumValue) Reset

                                      func (x *EnumValue) Reset()

                                      func (*EnumValue) String

                                      func (x *EnumValue) String() string

                                      type ErrorSet

                                      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) Descriptor

                                        func (*ErrorSet) Descriptor() ([]byte, []int)

                                          Deprecated: Use ErrorSet.ProtoReflect.Descriptor instead.

                                          func (*ErrorSet) GetErrors

                                          func (x *ErrorSet) GetErrors() []*status.Status

                                          func (*ErrorSet) ProtoMessage

                                          func (*ErrorSet) ProtoMessage()

                                          func (*ErrorSet) ProtoReflect

                                          func (x *ErrorSet) ProtoReflect() protoreflect.Message

                                          func (*ErrorSet) Reset

                                          func (x *ErrorSet) Reset()

                                          func (*ErrorSet) String

                                          func (x *ErrorSet) String() string

                                          type EvalState

                                          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) Descriptor

                                            func (*EvalState) Descriptor() ([]byte, []int)

                                              Deprecated: Use EvalState.ProtoReflect.Descriptor instead.

                                              func (*EvalState) GetResults

                                              func (x *EvalState) GetResults() []*EvalState_Result

                                              func (*EvalState) GetValues

                                              func (x *EvalState) GetValues() []*ExprValue

                                              func (*EvalState) ProtoMessage

                                              func (*EvalState) ProtoMessage()

                                              func (*EvalState) ProtoReflect

                                              func (x *EvalState) ProtoReflect() protoreflect.Message

                                              func (*EvalState) Reset

                                              func (x *EvalState) Reset()

                                              func (*EvalState) String

                                              func (x *EvalState) String() string

                                              type EvalState_Result

                                              type EvalState_Result struct {
                                              
                                              	// The id of the expression this result if for.
                                              	Expr int64 `protobuf:"varint,1,opt,name=expr,proto3" json:"expr,omitempty"`
                                              	// The index in `values` of the resulting value.
                                              	Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
                                              	// contains filtered or unexported fields
                                              }

                                                A single evalution result.

                                                func (*EvalState_Result) Descriptor

                                                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

                                                  type Explain

                                                  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) Descriptor

                                                    func (*Explain) Descriptor() ([]byte, []int)

                                                      Deprecated: Use Explain.ProtoReflect.Descriptor instead.

                                                      func (*Explain) GetExprSteps

                                                      func (x *Explain) GetExprSteps() []*Explain_ExprStep

                                                      func (*Explain) GetValues

                                                      func (x *Explain) GetValues() []*Value

                                                      func (*Explain) ProtoMessage

                                                      func (*Explain) ProtoMessage()

                                                      func (*Explain) ProtoReflect

                                                      func (x *Explain) ProtoReflect() protoreflect.Message

                                                      func (*Explain) Reset

                                                      func (x *Explain) Reset()

                                                      func (*Explain) String

                                                      func (x *Explain) String() string

                                                      type Explain_ExprStep

                                                      type Explain_ExprStep struct {
                                                      
                                                      	// ID of corresponding Expr node.
                                                      	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
                                                      	// Index of the value in the values list.
                                                      	ValueIndex int32 `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) Descriptor

                                                        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

                                                          type Expr

                                                          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 int64 `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_ComprehensionExpr
                                                          	ExprKind 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. 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.v1alpha1.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.v1alpha1.Expr.Select] expression, and the function declaration `startsWith`.

                                                            func (*Expr) Descriptor

                                                            func (*Expr) Descriptor() ([]byte, []int)

                                                              Deprecated: Use Expr.ProtoReflect.Descriptor instead.

                                                              func (*Expr) GetCallExpr

                                                              func (x *Expr) GetCallExpr() *Expr_Call

                                                              func (*Expr) GetComprehensionExpr

                                                              func (x *Expr) GetComprehensionExpr() *Expr_Comprehension

                                                              func (*Expr) GetConstExpr

                                                              func (x *Expr) GetConstExpr() *Constant

                                                              func (*Expr) GetExprKind

                                                              func (m *Expr) GetExprKind() isExpr_ExprKind

                                                              func (*Expr) GetId

                                                              func (x *Expr) GetId() int64

                                                              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

                                                              func (*Expr) Reset

                                                              func (x *Expr) Reset()

                                                              func (*Expr) String

                                                              func (x *Expr) String() string

                                                              type ExprValue

                                                              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
                                                              }

                                                                The value of an evaluated expression.

                                                                func (*ExprValue) Descriptor

                                                                func (*ExprValue) Descriptor() ([]byte, []int)

                                                                  Deprecated: Use ExprValue.ProtoReflect.Descriptor instead.

                                                                  func (*ExprValue) GetError

                                                                  func (x *ExprValue) GetError() *ErrorSet

                                                                  func (*ExprValue) GetKind

                                                                  func (m *ExprValue) GetKind() isExprValue_Kind

                                                                  func (*ExprValue) GetUnknown

                                                                  func (x *ExprValue) GetUnknown() *UnknownSet

                                                                  func (*ExprValue) GetValue

                                                                  func (x *ExprValue) GetValue() *Value

                                                                  func (*ExprValue) ProtoMessage

                                                                  func (*ExprValue) ProtoMessage()

                                                                  func (*ExprValue) ProtoReflect

                                                                  func (x *ExprValue) ProtoReflect() protoreflect.Message

                                                                  func (*ExprValue) Reset

                                                                  func (x *ExprValue) Reset()

                                                                  func (*ExprValue) String

                                                                  func (x *ExprValue) String() string

                                                                  type ExprValue_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"`
                                                                  }

                                                                  type ExprValue_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"`
                                                                  }

                                                                  type ExprValue_Value

                                                                  type ExprValue_Value struct {
                                                                  	// A concrete value.
                                                                  	Value *Value `protobuf:"bytes,1,opt,name=value,proto3,oneof"`
                                                                  }

                                                                  type Expr_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.
                                                                  	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
                                                                  }

                                                                    A call expression, including calls to predefined functions and operators.

                                                                    For example, `value == 10`, `size(map_value)`.

                                                                    func (*Expr_Call) Descriptor

                                                                    func (*Expr_Call) Descriptor() ([]byte, []int)

                                                                      Deprecated: Use Expr_Call.ProtoReflect.Descriptor instead.

                                                                      func (*Expr_Call) GetArgs

                                                                      func (x *Expr_Call) GetArgs() []*Expr

                                                                      func (*Expr_Call) GetFunction

                                                                      func (x *Expr_Call) GetFunction() string

                                                                      func (*Expr_Call) GetTarget

                                                                      func (x *Expr_Call) GetTarget() *Expr

                                                                      func (*Expr_Call) ProtoMessage

                                                                      func (*Expr_Call) ProtoMessage()

                                                                      func (*Expr_Call) ProtoReflect

                                                                      func (x *Expr_Call) ProtoReflect() protoreflect.Message

                                                                      func (*Expr_Call) Reset

                                                                      func (x *Expr_Call) Reset()

                                                                      func (*Expr_Call) String

                                                                      func (x *Expr_Call) String() string

                                                                      type Expr_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"`
                                                                      }

                                                                      type Expr_Comprehension

                                                                      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
                                                                      }

                                                                        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:

                                                                        * `all`, `exists`, `exists_one` - test a predicate expression against

                                                                        the 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 return

                                                                        the subset of elements which satisfy the predicate:
                                                                        `payments.filter(p, p > 1000)`.
                                                                        

                                                                        * `map` - apply an expression to all elements in the input and return the

                                                                        output 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 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`.

                                                                        func (*Expr_Comprehension) Descriptor

                                                                        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) 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

                                                                          type Expr_ComprehensionExpr

                                                                          type Expr_ComprehensionExpr struct {
                                                                          	// A comprehension expression.
                                                                          	ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"`
                                                                          }

                                                                          type Expr_ConstExpr

                                                                          type Expr_ConstExpr struct {
                                                                          	// A literal expression.
                                                                          	ConstExpr *Constant `protobuf:"bytes,3,opt,name=const_expr,json=constExpr,proto3,oneof"`
                                                                          }

                                                                          type Expr_CreateList

                                                                          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
                                                                          }

                                                                            A list creation expression.

                                                                            Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogenous, e.g. `dyn([1, 'hello', 2.0])`

                                                                            func (*Expr_CreateList) Descriptor

                                                                            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) 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

                                                                              type Expr_CreateStruct

                                                                              type Expr_CreateStruct struct {
                                                                              
                                                                              	// The type name of the message to be created, empty when creating map
                                                                              	// literals.
                                                                              	MessageName string `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 is similar, but prefixed with a type name and composed of field ids: `types.MyType{field_id: 'value'}`.

                                                                                func (*Expr_CreateStruct) Descriptor

                                                                                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

                                                                                  type Expr_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.
                                                                                  	Id int64 `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
                                                                                  }

                                                                                    Represents an entry.

                                                                                    func (*Expr_CreateStruct_Entry) Descriptor

                                                                                    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) 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

                                                                                      type Expr_CreateStruct_Entry_FieldKey

                                                                                      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

                                                                                      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"`
                                                                                      }

                                                                                      type Expr_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.
                                                                                      	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
                                                                                      	// contains filtered or unexported fields
                                                                                      }

                                                                                        An identifier expression. e.g. `request`.

                                                                                        func (*Expr_Ident) Descriptor

                                                                                        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

                                                                                          type Expr_IdentExpr

                                                                                          type Expr_IdentExpr struct {
                                                                                          	// An identifier expression.
                                                                                          	IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"`
                                                                                          }

                                                                                          type Expr_ListExpr

                                                                                          type Expr_ListExpr struct {
                                                                                          	// A list creation expression.
                                                                                          	ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"`
                                                                                          }

                                                                                          type Expr_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`.
                                                                                          	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
                                                                                          }

                                                                                            A field selection expression. e.g. `request.auth`.

                                                                                            func (*Expr_Select) Descriptor

                                                                                            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

                                                                                              type Expr_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"`
                                                                                              }

                                                                                              type Expr_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"`
                                                                                              }

                                                                                              type ListValue

                                                                                              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 is required for use in a 'oneof'.

                                                                                                func (*ListValue) Descriptor

                                                                                                func (*ListValue) Descriptor() ([]byte, []int)

                                                                                                  Deprecated: Use ListValue.ProtoReflect.Descriptor instead.

                                                                                                  func (*ListValue) GetValues

                                                                                                  func (x *ListValue) GetValues() []*Value

                                                                                                  func (*ListValue) ProtoMessage

                                                                                                  func (*ListValue) ProtoMessage()

                                                                                                  func (*ListValue) ProtoReflect

                                                                                                  func (x *ListValue) ProtoReflect() protoreflect.Message

                                                                                                  func (*ListValue) Reset

                                                                                                  func (x *ListValue) Reset()

                                                                                                  func (*ListValue) String

                                                                                                  func (x *ListValue) String() string

                                                                                                  type MapValue

                                                                                                  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 is required for use in a 'oneof'.

                                                                                                    func (*MapValue) Descriptor

                                                                                                    func (*MapValue) Descriptor() ([]byte, []int)

                                                                                                      Deprecated: Use MapValue.ProtoReflect.Descriptor instead.

                                                                                                      func (*MapValue) GetEntries

                                                                                                      func (x *MapValue) GetEntries() []*MapValue_Entry

                                                                                                      func (*MapValue) ProtoMessage

                                                                                                      func (*MapValue) ProtoMessage()

                                                                                                      func (*MapValue) ProtoReflect

                                                                                                      func (x *MapValue) ProtoReflect() protoreflect.Message

                                                                                                      func (*MapValue) Reset

                                                                                                      func (x *MapValue) Reset()

                                                                                                      func (*MapValue) String

                                                                                                      func (x *MapValue) String() string

                                                                                                      type MapValue_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) Descriptor

                                                                                                        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

                                                                                                          type ParsedExpr

                                                                                                          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) Descriptor

                                                                                                            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

                                                                                                              type Reference

                                                                                                              type Reference struct {
                                                                                                              
                                                                                                              	// The fully qualified name of the declaration.
                                                                                                              	Name string `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) Descriptor

                                                                                                                func (*Reference) Descriptor() ([]byte, []int)

                                                                                                                  Deprecated: Use Reference.ProtoReflect.Descriptor instead.

                                                                                                                  func (*Reference) GetName

                                                                                                                  func (x *Reference) GetName() string

                                                                                                                  func (*Reference) GetOverloadId

                                                                                                                  func (x *Reference) GetOverloadId() []string

                                                                                                                  func (*Reference) GetValue

                                                                                                                  func (x *Reference) GetValue() *Constant

                                                                                                                  func (*Reference) ProtoMessage

                                                                                                                  func (*Reference) ProtoMessage()

                                                                                                                  func (*Reference) ProtoReflect

                                                                                                                  func (x *Reference) ProtoReflect() protoreflect.Message

                                                                                                                  func (*Reference) Reset

                                                                                                                  func (x *Reference) Reset()

                                                                                                                  func (*Reference) String

                                                                                                                  func (x *Reference) String() string

                                                                                                                  type SourceInfo

                                                                                                                  type SourceInfo struct {
                                                                                                                  
                                                                                                                  	// The syntax version of the source, e.g. `cel1`.
                                                                                                                  	SyntaxVersion string `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`.
                                                                                                                  	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[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 */
                                                                                                                  	// contains filtered or unexported fields
                                                                                                                  }

                                                                                                                    Source information collected at parse time.

                                                                                                                    func (*SourceInfo) Descriptor

                                                                                                                    func (*SourceInfo) Descriptor() ([]byte, []int)

                                                                                                                      Deprecated: Use SourceInfo.ProtoReflect.Descriptor instead.

                                                                                                                      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

                                                                                                                      type SourcePosition

                                                                                                                      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 nonzero.
                                                                                                                      	Column int32 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"`
                                                                                                                      	// contains filtered or unexported fields
                                                                                                                      }

                                                                                                                        A specific position in source.

                                                                                                                        func (*SourcePosition) Descriptor

                                                                                                                        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

                                                                                                                          type Type

                                                                                                                          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) Descriptor

                                                                                                                            func (*Type) Descriptor() ([]byte, []int)

                                                                                                                              Deprecated: Use Type.ProtoReflect.Descriptor instead.

                                                                                                                              func (*Type) GetAbstractType

                                                                                                                              func (x *Type) GetAbstractType() *Type_AbstractType

                                                                                                                              func (*Type) GetDyn

                                                                                                                              func (x *Type) GetDyn() *emptypb.Empty

                                                                                                                              func (*Type) GetError

                                                                                                                              func (x *Type) GetError() *emptypb.Empty

                                                                                                                              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 (x *Type) GetMessageType() string

                                                                                                                              func (*Type) GetNull

                                                                                                                              func (x *Type) GetNull() structpb.NullValue

                                                                                                                              func (*Type) GetPrimitive

                                                                                                                              func (x *Type) GetPrimitive() Type_PrimitiveType

                                                                                                                              func (*Type) GetType

                                                                                                                              func (x *Type) GetType() *Type

                                                                                                                              func (*Type) GetTypeKind

                                                                                                                              func (m *Type) GetTypeKind() isType_TypeKind

                                                                                                                              func (*Type) GetTypeParam

                                                                                                                              func (x *Type) GetTypeParam() string

                                                                                                                              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

                                                                                                                              func (*Type) Reset

                                                                                                                              func (x *Type) Reset()

                                                                                                                              func (*Type) String

                                                                                                                              func (x *Type) String() string

                                                                                                                              type Type_AbstractType

                                                                                                                              type Type_AbstractType struct {
                                                                                                                              
                                                                                                                              	// The fully qualified name of this abstract type.
                                                                                                                              	Name string `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) Descriptor

                                                                                                                                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

                                                                                                                                  type Type_AbstractType_

                                                                                                                                  type Type_AbstractType_ struct {
                                                                                                                                  	// Abstract, application defined type.
                                                                                                                                  	AbstractType *Type_AbstractType `protobuf:"bytes,14,opt,name=abstract_type,json=abstractType,proto3,oneof"`
                                                                                                                                  }

                                                                                                                                  type Type_Dyn

                                                                                                                                  type Type_Dyn struct {
                                                                                                                                  	// Dynamic type.
                                                                                                                                  	Dyn *emptypb.Empty `protobuf:"bytes,1,opt,name=dyn,proto3,oneof"`
                                                                                                                                  }

                                                                                                                                  type Type_Error

                                                                                                                                  type Type_Error struct {
                                                                                                                                  	// Error type.
                                                                                                                                  	//
                                                                                                                                  	// During type-checking if an expression is an error, its type is propagated
                                                                                                                                  	// as the `ERROR` type. This permits the type-checker to discover other
                                                                                                                                  	// errors present in the expression.
                                                                                                                                  	Error *emptypb.Empty `protobuf:"bytes,12,opt,name=error,proto3,oneof"`
                                                                                                                                  }

                                                                                                                                  type Type_Function

                                                                                                                                  type Type_Function struct {
                                                                                                                                  	// Function type.
                                                                                                                                  	Function *Type_FunctionType `protobuf:"bytes,8,opt,name=function,proto3,oneof"`
                                                                                                                                  }

                                                                                                                                  type Type_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) Descriptor

                                                                                                                                    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

                                                                                                                                      type Type_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) Descriptor

                                                                                                                                        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

                                                                                                                                          type Type_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"`
                                                                                                                                          }

                                                                                                                                          type Type_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) Descriptor

                                                                                                                                            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

                                                                                                                                              type Type_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"`
                                                                                                                                              }

                                                                                                                                              type Type_MessageType

                                                                                                                                              type Type_MessageType struct {
                                                                                                                                              	// Protocol buffer message type.
                                                                                                                                              	//
                                                                                                                                              	// The `message_type` string specifies the qualified message type name. For
                                                                                                                                              	// example, `google.plus.Profile`.
                                                                                                                                              	MessageType string `protobuf:"bytes,9,opt,name=message_type,json=messageType,proto3,oneof"`
                                                                                                                                              }

                                                                                                                                              type Type_Null

                                                                                                                                              type Type_Null struct {
                                                                                                                                              	// Null value.
                                                                                                                                              	Null structpb.NullValue `protobuf:"varint,2,opt,name=null,proto3,enum=google.protobuf.NullValue,oneof"`
                                                                                                                                              }

                                                                                                                                              type Type_Primitive

                                                                                                                                              type Type_Primitive struct {
                                                                                                                                              	// Primitive types: `true`, `1u`, `-2.0`, `'string'`, `b'bytes'`.
                                                                                                                                              	Primitive Type_PrimitiveType `protobuf:"varint,3,opt,name=primitive,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"`
                                                                                                                                              }

                                                                                                                                              type Type_PrimitiveType

                                                                                                                                              type Type_PrimitiveType int32

                                                                                                                                                CEL primitive types.

                                                                                                                                                const (
                                                                                                                                                	// Unspecified type.
                                                                                                                                                	Type_PRIMITIVE_TYPE_UNSPECIFIED Type_PrimitiveType = 0
                                                                                                                                                	// Boolean type.
                                                                                                                                                	Type_BOOL Type_PrimitiveType = 1
                                                                                                                                                	// Int64 type.
                                                                                                                                                	//
                                                                                                                                                	// Proto-based integer values are widened to int64.
                                                                                                                                                	Type_INT64 Type_PrimitiveType = 2
                                                                                                                                                	// Uint64 type.
                                                                                                                                                	//
                                                                                                                                                	// Proto-based unsigned integer values are widened to uint64.
                                                                                                                                                	Type_UINT64 Type_PrimitiveType = 3
                                                                                                                                                	// Double type.
                                                                                                                                                	//
                                                                                                                                                	// Proto-based float values are widened to double values.
                                                                                                                                                	Type_DOUBLE Type_PrimitiveType = 4
                                                                                                                                                	// String type.
                                                                                                                                                	Type_STRING Type_PrimitiveType = 5
                                                                                                                                                	// Bytes type.
                                                                                                                                                	Type_BYTES Type_PrimitiveType = 6
                                                                                                                                                )

                                                                                                                                                func (Type_PrimitiveType) Descriptor

                                                                                                                                                func (Type_PrimitiveType) Enum

                                                                                                                                                func (Type_PrimitiveType) EnumDescriptor

                                                                                                                                                func (Type_PrimitiveType) EnumDescriptor() ([]byte, []int)

                                                                                                                                                  Deprecated: Use Type_PrimitiveType.Descriptor instead.

                                                                                                                                                  func (Type_PrimitiveType) Number

                                                                                                                                                  func (Type_PrimitiveType) String

                                                                                                                                                  func (x Type_PrimitiveType) String() string

                                                                                                                                                  func (Type_PrimitiveType) Type

                                                                                                                                                  type Type_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"`
                                                                                                                                                  }

                                                                                                                                                  type Type_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`.
                                                                                                                                                  	TypeParam string `protobuf:"bytes,10,opt,name=type_param,json=typeParam,proto3,oneof"`
                                                                                                                                                  }

                                                                                                                                                  type Type_WellKnown

                                                                                                                                                  type Type_WellKnown struct {
                                                                                                                                                  	// Well-known protobuf type such as `google.protobuf.Timestamp`.
                                                                                                                                                  	WellKnown Type_WellKnownType `protobuf:"varint,5,opt,name=well_known,json=wellKnown,proto3,enum=google.api.expr.v1alpha1.Type_WellKnownType,oneof"`
                                                                                                                                                  }

                                                                                                                                                  type Type_WellKnownType

                                                                                                                                                  type Type_WellKnownType int32

                                                                                                                                                    Well-known protobuf types treated with first-class support in CEL.

                                                                                                                                                    const (
                                                                                                                                                    	// Unspecified type.
                                                                                                                                                    	Type_WELL_KNOWN_TYPE_UNSPECIFIED Type_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_ANY Type_WellKnownType = 1
                                                                                                                                                    	// Well-known protobuf.Timestamp type, internally referenced as `timestamp`.
                                                                                                                                                    	Type_TIMESTAMP Type_WellKnownType = 2
                                                                                                                                                    	// Well-known protobuf.Duration type, internally referenced as `duration`.
                                                                                                                                                    	Type_DURATION Type_WellKnownType = 3
                                                                                                                                                    )

                                                                                                                                                    func (Type_WellKnownType) Descriptor

                                                                                                                                                    func (Type_WellKnownType) Enum

                                                                                                                                                    func (Type_WellKnownType) EnumDescriptor

                                                                                                                                                    func (Type_WellKnownType) EnumDescriptor() ([]byte, []int)

                                                                                                                                                      Deprecated: Use Type_WellKnownType.Descriptor instead.

                                                                                                                                                      func (Type_WellKnownType) Number

                                                                                                                                                      func (Type_WellKnownType) String

                                                                                                                                                      func (x Type_WellKnownType) String() string

                                                                                                                                                      func (Type_WellKnownType) Type

                                                                                                                                                      type Type_Wrapper

                                                                                                                                                      type Type_Wrapper struct {
                                                                                                                                                      	// Wrapper of a primitive type, e.g. `google.protobuf.Int64Value`.
                                                                                                                                                      	Wrapper Type_PrimitiveType `protobuf:"varint,4,opt,name=wrapper,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"`
                                                                                                                                                      }

                                                                                                                                                      type UnknownSet

                                                                                                                                                      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) Descriptor

                                                                                                                                                        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

                                                                                                                                                          type Value

                                                                                                                                                          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
                                                                                                                                                          }

                                                                                                                                                            Represents a CEL value.

                                                                                                                                                            This is similar to `google.protobuf.Value`, but can represent CEL's full range of values.

                                                                                                                                                            func (*Value) Descriptor

                                                                                                                                                            func (*Value) Descriptor() ([]byte, []int)

                                                                                                                                                              Deprecated: Use Value.ProtoReflect.Descriptor instead.

                                                                                                                                                              func (*Value) GetBoolValue

                                                                                                                                                              func (x *Value) GetBoolValue() bool

                                                                                                                                                              func (*Value) GetBytesValue

                                                                                                                                                              func (x *Value) GetBytesValue() []byte

                                                                                                                                                              func (*Value) GetDoubleValue

                                                                                                                                                              func (x *Value) GetDoubleValue() float64

                                                                                                                                                              func (*Value) GetEnumValue

                                                                                                                                                              func (x *Value) GetEnumValue() *EnumValue

                                                                                                                                                              func (*Value) GetInt64Value

                                                                                                                                                              func (x *Value) GetInt64Value() int64

                                                                                                                                                              func (*Value) GetKind

                                                                                                                                                              func (m *Value) GetKind() isValue_Kind

                                                                                                                                                              func (*Value) GetListValue

                                                                                                                                                              func (x *Value) GetListValue() *ListValue

                                                                                                                                                              func (*Value) GetMapValue

                                                                                                                                                              func (x *Value) GetMapValue() *MapValue

                                                                                                                                                              func (*Value) GetNullValue

                                                                                                                                                              func (x *Value) GetNullValue() structpb.NullValue

                                                                                                                                                              func (*Value) GetObjectValue

                                                                                                                                                              func (x *Value) GetObjectValue() *anypb.Any

                                                                                                                                                              func (*Value) GetStringValue

                                                                                                                                                              func (x *Value) GetStringValue() string

                                                                                                                                                              func (*Value) GetTypeValue

                                                                                                                                                              func (x *Value) GetTypeValue() string

                                                                                                                                                              func (*Value) GetUint64Value

                                                                                                                                                              func (x *Value) GetUint64Value() uint64

                                                                                                                                                              func (*Value) ProtoMessage

                                                                                                                                                              func (*Value) ProtoMessage()

                                                                                                                                                              func (*Value) ProtoReflect

                                                                                                                                                              func (x *Value) ProtoReflect() protoreflect.Message

                                                                                                                                                              func (*Value) Reset

                                                                                                                                                              func (x *Value) Reset()

                                                                                                                                                              func (*Value) String

                                                                                                                                                              func (x *Value) String() string

                                                                                                                                                              type Value_BoolValue

                                                                                                                                                              type Value_BoolValue struct {
                                                                                                                                                              	// Boolean value.
                                                                                                                                                              	BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`
                                                                                                                                                              }

                                                                                                                                                              type Value_BytesValue

                                                                                                                                                              type Value_BytesValue struct {
                                                                                                                                                              	// Byte string value.
                                                                                                                                                              	BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
                                                                                                                                                              }

                                                                                                                                                              type Value_DoubleValue

                                                                                                                                                              type Value_DoubleValue struct {
                                                                                                                                                              	// Floating point value.
                                                                                                                                                              	DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`
                                                                                                                                                              }

                                                                                                                                                              type Value_EnumValue

                                                                                                                                                              type Value_EnumValue struct {
                                                                                                                                                              	// An enum value.
                                                                                                                                                              	EnumValue *EnumValue `protobuf:"bytes,9,opt,name=enum_value,json=enumValue,proto3,oneof"`
                                                                                                                                                              }

                                                                                                                                                              type Value_Int64Value

                                                                                                                                                              type Value_Int64Value struct {
                                                                                                                                                              	// Signed integer value.
                                                                                                                                                              	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`
                                                                                                                                                              }

                                                                                                                                                              type Value_ListValue

                                                                                                                                                              type Value_ListValue struct {
                                                                                                                                                              	// List value.
                                                                                                                                                              	ListValue *ListValue `protobuf:"bytes,12,opt,name=list_value,json=listValue,proto3,oneof"`
                                                                                                                                                              }

                                                                                                                                                              type Value_MapValue

                                                                                                                                                              type Value_MapValue struct {
                                                                                                                                                              	// Map value.
                                                                                                                                                              	MapValue *MapValue `protobuf:"bytes,11,opt,name=map_value,json=mapValue,proto3,oneof"`
                                                                                                                                                              }

                                                                                                                                                              type Value_NullValue

                                                                                                                                                              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

                                                                                                                                                              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

                                                                                                                                                              type Value_StringValue struct {
                                                                                                                                                              	// UTF-8 string value.
                                                                                                                                                              	StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`
                                                                                                                                                              }

                                                                                                                                                              type Value_TypeValue

                                                                                                                                                              type Value_TypeValue struct {
                                                                                                                                                              	// Type value.
                                                                                                                                                              	TypeValue string `protobuf:"bytes,15,opt,name=type_value,json=typeValue,proto3,oneof"`
                                                                                                                                                              }

                                                                                                                                                              type Value_Uint64Value

                                                                                                                                                              type Value_Uint64Value struct {
                                                                                                                                                              	// Unsigned integer value.
                                                                                                                                                              	Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`
                                                                                                                                                              }