expr

package
v0.0.0-...-0e82294 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 25, 2018 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var IssueDetails_Severity_name = map[int32]string{
	0: "SEVERITY_UNSPECIFIED",
	1: "DEPRECATION",
	2: "WARNING",
	3: "ERROR",
}
View Source
var IssueDetails_Severity_value = map[string]int32{
	"SEVERITY_UNSPECIFIED": 0,
	"DEPRECATION":          1,
	"WARNING":              2,
	"ERROR":                3,
}
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",
}
View Source
var Type_PrimitiveType_value = map[string]int32{
	"PRIMITIVE_TYPE_UNSPECIFIED": 0,
	"BOOL":                       1,
	"INT64":                      2,
	"UINT64":                     3,
	"DOUBLE":                     4,
	"STRING":                     5,
	"BYTES":                      6,
}
View Source
var Type_WellKnownType_name = map[int32]string{
	0: "WELL_KNOWN_TYPE_UNSPECIFIED",
	1: "ANY",
	2: "TIMESTAMP",
	3: "DURATION",
}
View Source
var Type_WellKnownType_value = map[string]int32{
	"WELL_KNOWN_TYPE_UNSPECIFIED": 0,
	"ANY":                         1,
	"TIMESTAMP":                   2,
	"DURATION":                    3,
}

Functions

func RegisterCelServiceServer

func RegisterCelServiceServer(s *grpc.Server, srv CelServiceServer)

Types

type CelServiceClient

type CelServiceClient interface {
	// Transforms CEL source text into a parsed representation.
	Parse(ctx context.Context, in *ParseRequest, opts ...grpc.CallOption) (*ParseResponse, error)
	// Runs static checks on a parsed CEL representation and return
	// an annotated representation, or a set of issues.
	Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
	// Evaluates a parsed or annotation CEL representation given
	// values of external bindings.
	Eval(ctx context.Context, in *EvalRequest, opts ...grpc.CallOption) (*EvalResponse, error)
}

CelServiceClient is the client API for CelService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewCelServiceClient

func NewCelServiceClient(cc *grpc.ClientConn) CelServiceClient

type CelServiceServer

type CelServiceServer interface {
	// Transforms CEL source text into a parsed representation.
	Parse(context.Context, *ParseRequest) (*ParseResponse, error)
	// Runs static checks on a parsed CEL representation and return
	// an annotated representation, or a set of issues.
	Check(context.Context, *CheckRequest) (*CheckResponse, error)
	// Evaluates a parsed or annotation CEL representation given
	// values of external bindings.
	Eval(context.Context, *EvalRequest) (*EvalResponse, error)
}

CelServiceServer is the server API for CelService service.

type CheckRequest

type CheckRequest struct {
	// Required. The parsed representation of the CEL program.
	ParsedExpr *ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
	// Declarations of types for external variables and functions.
	// Required if program uses external variables or functions
	// not in the default environment.
	TypeEnv []*Decl `protobuf:"bytes,2,rep,name=type_env,json=typeEnv,proto3" json:"type_env,omitempty"`
	// The protocol buffer context.  See "Name Resolution" in the
	// Language Definition.
	Container string `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"`
	// If true, use only the declarations in [type_env][google.api.expr.v1alpha1.CheckRequest.type_env].  If false (default),
	// add declarations for the standard definitions to the type environment.  See
	// "Standard Definitions" in the Language Definition.
	NoStdEnv             bool     `protobuf:"varint,4,opt,name=no_std_env,json=noStdEnv,proto3" json:"no_std_env,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Request message for the Check method.

func (*CheckRequest) Descriptor

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

func (*CheckRequest) GetContainer

func (m *CheckRequest) GetContainer() string

func (*CheckRequest) GetNoStdEnv

func (m *CheckRequest) GetNoStdEnv() bool

func (*CheckRequest) GetParsedExpr

func (m *CheckRequest) GetParsedExpr() *ParsedExpr

func (*CheckRequest) GetTypeEnv

func (m *CheckRequest) GetTypeEnv() []*Decl

func (*CheckRequest) ProtoMessage

func (*CheckRequest) ProtoMessage()

func (*CheckRequest) Reset

func (m *CheckRequest) Reset()

func (*CheckRequest) String

func (m *CheckRequest) String() string

func (*CheckRequest) XXX_DiscardUnknown

func (m *CheckRequest) XXX_DiscardUnknown()

func (*CheckRequest) XXX_Marshal

func (m *CheckRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CheckRequest) XXX_Merge

func (m *CheckRequest) XXX_Merge(src proto.Message)

func (*CheckRequest) XXX_Size

func (m *CheckRequest) XXX_Size() int

func (*CheckRequest) XXX_Unmarshal

func (m *CheckRequest) XXX_Unmarshal(b []byte) error

type CheckResponse

type CheckResponse struct {
	// The annotated representation, or unset if checking failed.
	CheckedExpr *CheckedExpr `protobuf:"bytes,1,opt,name=checked_expr,json=checkedExpr,proto3" json:"checked_expr,omitempty"`
	// Any number of issues with [StatusDetails][] as the details.
	Issues               []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

Response message for the Check method.

func (*CheckResponse) Descriptor

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

func (*CheckResponse) GetCheckedExpr

func (m *CheckResponse) GetCheckedExpr() *CheckedExpr

func (*CheckResponse) GetIssues

func (m *CheckResponse) GetIssues() []*status.Status

func (*CheckResponse) ProtoMessage

func (*CheckResponse) ProtoMessage()

func (*CheckResponse) Reset

func (m *CheckResponse) Reset()

func (*CheckResponse) String

func (m *CheckResponse) String() string

func (*CheckResponse) XXX_DiscardUnknown

func (m *CheckResponse) XXX_DiscardUnknown()

func (*CheckResponse) XXX_Marshal

func (m *CheckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CheckResponse) XXX_Merge

func (m *CheckResponse) XXX_Merge(src proto.Message)

func (*CheckResponse) XXX_Size

func (m *CheckResponse) XXX_Size() int

func (*CheckResponse) XXX_Unmarshal

func (m *CheckResponse) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A CEL expression which has been successfully type checked.

func (*CheckedExpr) Descriptor

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

func (*CheckedExpr) GetExpr

func (m *CheckedExpr) GetExpr() *Expr

func (*CheckedExpr) GetReferenceMap

func (m *CheckedExpr) GetReferenceMap() map[int64]*Reference

func (*CheckedExpr) GetSourceInfo

func (m *CheckedExpr) GetSourceInfo() *SourceInfo

func (*CheckedExpr) GetTypeMap

func (m *CheckedExpr) GetTypeMap() map[int64]*Type

func (*CheckedExpr) ProtoMessage

func (*CheckedExpr) ProtoMessage()

func (*CheckedExpr) Reset

func (m *CheckedExpr) Reset()

func (*CheckedExpr) String

func (m *CheckedExpr) String() string

func (*CheckedExpr) XXX_DiscardUnknown

func (m *CheckedExpr) XXX_DiscardUnknown()

func (*CheckedExpr) XXX_Marshal

func (m *CheckedExpr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CheckedExpr) XXX_Merge

func (m *CheckedExpr) XXX_Merge(src proto.Message)

func (*CheckedExpr) XXX_Size

func (m *CheckedExpr) XXX_Size() int

func (*CheckedExpr) XXX_Unmarshal

func (m *CheckedExpr) XXX_Unmarshal(b []byte) error

type Constant

type Constant struct {
	// Required. The valid constant kinds.
	//
	// Types that are valid to be assigned 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"`
	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
	XXX_unrecognized     []byte                  `json:"-"`
	XXX_sizecache        int32                   `json:"-"`
}

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)

func (*Constant) GetBoolValue

func (m *Constant) GetBoolValue() bool

func (*Constant) GetBytesValue

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

func (*Constant) GetConstantKind

func (m *Constant) GetConstantKind() isConstant_ConstantKind

func (*Constant) GetDoubleValue

func (m *Constant) GetDoubleValue() float64

func (*Constant) GetDurationValue

func (m *Constant) GetDurationValue() *duration.Duration

func (*Constant) GetInt64Value

func (m *Constant) GetInt64Value() int64

func (*Constant) GetNullValue

func (m *Constant) GetNullValue() _struct.NullValue

func (*Constant) GetStringValue

func (m *Constant) GetStringValue() string

func (*Constant) GetTimestampValue

func (m *Constant) GetTimestampValue() *timestamp.Timestamp

func (*Constant) GetUint64Value

func (m *Constant) GetUint64Value() uint64

func (*Constant) ProtoMessage

func (*Constant) ProtoMessage()

func (*Constant) Reset

func (m *Constant) Reset()

func (*Constant) String

func (m *Constant) String() string

func (*Constant) XXX_DiscardUnknown

func (m *Constant) XXX_DiscardUnknown()

func (*Constant) XXX_Marshal

func (m *Constant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Constant) XXX_Merge

func (m *Constant) XXX_Merge(src proto.Message)

func (*Constant) XXX_OneofFuncs

func (*Constant) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Constant) XXX_Size

func (m *Constant) XXX_Size() int

func (*Constant) XXX_Unmarshal

func (m *Constant) XXX_Unmarshal(b []byte) error

type Constant_BoolValue

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

type Constant_BytesValue

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

type Constant_DoubleValue

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

type Constant_DurationValue

type Constant_DurationValue struct {
	DurationValue *duration.Duration `protobuf:"bytes,8,opt,name=duration_value,json=durationValue,proto3,oneof"`
}

type Constant_Int64Value

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

type Constant_NullValue

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

type Constant_StringValue

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

type Constant_TimestampValue

type Constant_TimestampValue struct {
	TimestampValue *timestamp.Timestamp `protobuf:"bytes,9,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
}

type Constant_Uint64Value

type Constant_Uint64Value struct {
	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 valid to be assigned to DeclKind:
	//	*Decl_Ident
	//	*Decl_Function
	DeclKind             isDecl_DeclKind `protobuf_oneof:"decl_kind"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

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)

func (*Decl) GetDeclKind

func (m *Decl) GetDeclKind() isDecl_DeclKind

func (*Decl) GetFunction

func (m *Decl) GetFunction() *Decl_FunctionDecl

func (*Decl) GetIdent

func (m *Decl) GetIdent() *Decl_IdentDecl

func (*Decl) GetName

func (m *Decl) GetName() string

func (*Decl) ProtoMessage

func (*Decl) ProtoMessage()

func (*Decl) Reset

func (m *Decl) Reset()

func (*Decl) String

func (m *Decl) String() string

func (*Decl) XXX_DiscardUnknown

func (m *Decl) XXX_DiscardUnknown()

func (*Decl) XXX_Marshal

func (m *Decl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Decl) XXX_Merge

func (m *Decl) XXX_Merge(src proto.Message)

func (*Decl) XXX_OneofFuncs

func (*Decl) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Decl) XXX_Size

func (m *Decl) XXX_Size() int

func (*Decl) XXX_Unmarshal

func (m *Decl) XXX_Unmarshal(b []byte) error

type Decl_Function

type Decl_Function struct {
	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"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

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)

func (*Decl_FunctionDecl) GetOverloads

func (m *Decl_FunctionDecl) GetOverloads() []*Decl_FunctionDecl_Overload

func (*Decl_FunctionDecl) ProtoMessage

func (*Decl_FunctionDecl) ProtoMessage()

func (*Decl_FunctionDecl) Reset

func (m *Decl_FunctionDecl) Reset()

func (*Decl_FunctionDecl) String

func (m *Decl_FunctionDecl) String() string

func (*Decl_FunctionDecl) XXX_DiscardUnknown

func (m *Decl_FunctionDecl) XXX_DiscardUnknown()

func (*Decl_FunctionDecl) XXX_Marshal

func (m *Decl_FunctionDecl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Decl_FunctionDecl) XXX_Merge

func (m *Decl_FunctionDecl) XXX_Merge(src proto.Message)

func (*Decl_FunctionDecl) XXX_Size

func (m *Decl_FunctionDecl) XXX_Size() int

func (*Decl_FunctionDecl) XXX_Unmarshal

func (m *Decl_FunctionDecl) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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)

func (*Decl_FunctionDecl_Overload) GetDoc

func (m *Decl_FunctionDecl_Overload) GetDoc() string

func (*Decl_FunctionDecl_Overload) GetIsInstanceFunction

func (m *Decl_FunctionDecl_Overload) GetIsInstanceFunction() bool

func (*Decl_FunctionDecl_Overload) GetOverloadId

func (m *Decl_FunctionDecl_Overload) GetOverloadId() string

func (*Decl_FunctionDecl_Overload) GetParams

func (m *Decl_FunctionDecl_Overload) GetParams() []*Type

func (*Decl_FunctionDecl_Overload) GetResultType

func (m *Decl_FunctionDecl_Overload) GetResultType() *Type

func (*Decl_FunctionDecl_Overload) GetTypeParams

func (m *Decl_FunctionDecl_Overload) GetTypeParams() []string

func (*Decl_FunctionDecl_Overload) ProtoMessage

func (*Decl_FunctionDecl_Overload) ProtoMessage()

func (*Decl_FunctionDecl_Overload) Reset

func (m *Decl_FunctionDecl_Overload) Reset()

func (*Decl_FunctionDecl_Overload) String

func (m *Decl_FunctionDecl_Overload) String() string

func (*Decl_FunctionDecl_Overload) XXX_DiscardUnknown

func (m *Decl_FunctionDecl_Overload) XXX_DiscardUnknown()

func (*Decl_FunctionDecl_Overload) XXX_Marshal

func (m *Decl_FunctionDecl_Overload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Decl_FunctionDecl_Overload) XXX_Merge

func (m *Decl_FunctionDecl_Overload) XXX_Merge(src proto.Message)

func (*Decl_FunctionDecl_Overload) XXX_Size

func (m *Decl_FunctionDecl_Overload) XXX_Size() int

func (*Decl_FunctionDecl_Overload) XXX_Unmarshal

func (m *Decl_FunctionDecl_Overload) XXX_Unmarshal(b []byte) error

type Decl_Ident

type Decl_Ident struct {
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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)

func (*Decl_IdentDecl) GetDoc

func (m *Decl_IdentDecl) GetDoc() string

func (*Decl_IdentDecl) GetType

func (m *Decl_IdentDecl) GetType() *Type

func (*Decl_IdentDecl) GetValue

func (m *Decl_IdentDecl) GetValue() *Constant

func (*Decl_IdentDecl) ProtoMessage

func (*Decl_IdentDecl) ProtoMessage()

func (*Decl_IdentDecl) Reset

func (m *Decl_IdentDecl) Reset()

func (*Decl_IdentDecl) String

func (m *Decl_IdentDecl) String() string

func (*Decl_IdentDecl) XXX_DiscardUnknown

func (m *Decl_IdentDecl) XXX_DiscardUnknown()

func (*Decl_IdentDecl) XXX_Marshal

func (m *Decl_IdentDecl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Decl_IdentDecl) XXX_Merge

func (m *Decl_IdentDecl) XXX_Merge(src proto.Message)

func (*Decl_IdentDecl) XXX_Size

func (m *Decl_IdentDecl) XXX_Size() int

func (*Decl_IdentDecl) XXX_Unmarshal

func (m *Decl_IdentDecl) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An enum value.

func (*EnumValue) Descriptor

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

func (*EnumValue) GetType

func (m *EnumValue) GetType() string

func (*EnumValue) GetValue

func (m *EnumValue) GetValue() int32

func (*EnumValue) ProtoMessage

func (*EnumValue) ProtoMessage()

func (*EnumValue) Reset

func (m *EnumValue) Reset()

func (*EnumValue) String

func (m *EnumValue) String() string

func (*EnumValue) XXX_DiscardUnknown

func (m *EnumValue) XXX_DiscardUnknown()

func (*EnumValue) XXX_Marshal

func (m *EnumValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnumValue) XXX_Merge

func (m *EnumValue) XXX_Merge(src proto.Message)

func (*EnumValue) XXX_Size

func (m *EnumValue) XXX_Size() int

func (*EnumValue) XXX_Unmarshal

func (m *EnumValue) XXX_Unmarshal(b []byte) error

type ErrorSet

type ErrorSet struct {
	// The errors in the set.
	Errors               []*status.Status `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

A set of errors.

The errors included depend on the context. See `ExprValue.error`.

func (*ErrorSet) Descriptor

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

func (*ErrorSet) GetErrors

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

func (*ErrorSet) ProtoMessage

func (*ErrorSet) ProtoMessage()

func (*ErrorSet) Reset

func (m *ErrorSet) Reset()

func (*ErrorSet) String

func (m *ErrorSet) String() string

func (*ErrorSet) XXX_DiscardUnknown

func (m *ErrorSet) XXX_DiscardUnknown()

func (*ErrorSet) XXX_Marshal

func (m *ErrorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ErrorSet) XXX_Merge

func (m *ErrorSet) XXX_Merge(src proto.Message)

func (*ErrorSet) XXX_Size

func (m *ErrorSet) XXX_Size() int

func (*ErrorSet) XXX_Unmarshal

func (m *ErrorSet) XXX_Unmarshal(b []byte) error

type EvalRequest

type EvalRequest struct {
	// Required. Either the parsed or annotated representation of the CEL program.
	//
	// Types that are valid to be assigned to ExprKind:
	//	*EvalRequest_ParsedExpr
	//	*EvalRequest_CheckedExpr
	ExprKind isEvalRequest_ExprKind `protobuf_oneof:"expr_kind"`
	// Bindings for the external variables.  The types SHOULD be compatible
	// with the type environment in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
	Bindings map[string]*ExprValue `` /* 157-byte string literal not displayed */
	// SHOULD be the same container as used in [CheckRequest][google.api.expr.v1alpha1.CheckRequest], if checked.
	Container            string   `protobuf:"bytes,4,opt,name=container,proto3" json:"container,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Request message for the Eval method.

func (*EvalRequest) Descriptor

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

func (*EvalRequest) GetBindings

func (m *EvalRequest) GetBindings() map[string]*ExprValue

func (*EvalRequest) GetCheckedExpr

func (m *EvalRequest) GetCheckedExpr() *CheckedExpr

func (*EvalRequest) GetContainer

func (m *EvalRequest) GetContainer() string

func (*EvalRequest) GetExprKind

func (m *EvalRequest) GetExprKind() isEvalRequest_ExprKind

func (*EvalRequest) GetParsedExpr

func (m *EvalRequest) GetParsedExpr() *ParsedExpr

func (*EvalRequest) ProtoMessage

func (*EvalRequest) ProtoMessage()

func (*EvalRequest) Reset

func (m *EvalRequest) Reset()

func (*EvalRequest) String

func (m *EvalRequest) String() string

func (*EvalRequest) XXX_DiscardUnknown

func (m *EvalRequest) XXX_DiscardUnknown()

func (*EvalRequest) XXX_Marshal

func (m *EvalRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EvalRequest) XXX_Merge

func (m *EvalRequest) XXX_Merge(src proto.Message)

func (*EvalRequest) XXX_OneofFuncs

func (*EvalRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*EvalRequest) XXX_Size

func (m *EvalRequest) XXX_Size() int

func (*EvalRequest) XXX_Unmarshal

func (m *EvalRequest) XXX_Unmarshal(b []byte) error

type EvalRequest_CheckedExpr

type EvalRequest_CheckedExpr struct {
	CheckedExpr *CheckedExpr `protobuf:"bytes,2,opt,name=checked_expr,json=checkedExpr,proto3,oneof"`
}

type EvalRequest_ParsedExpr

type EvalRequest_ParsedExpr struct {
	ParsedExpr *ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3,oneof"`
}

type EvalResponse

type EvalResponse struct {
	// The execution result, or unset if execution couldn't start.
	Result *ExprValue `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
	// Any number of issues with [StatusDetails][] as the details.
	// Note that CEL execution errors are reified into [ExprValue][google.api.expr.v1alpha1.ExprValue].
	// Nevertheless, we'll allow out-of-band issues to be raised,
	// which also makes the replies more regular.
	Issues               []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

Response message for the Eval method.

func (*EvalResponse) Descriptor

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

func (*EvalResponse) GetIssues

func (m *EvalResponse) GetIssues() []*status.Status

func (*EvalResponse) GetResult

func (m *EvalResponse) GetResult() *ExprValue

func (*EvalResponse) ProtoMessage

func (*EvalResponse) ProtoMessage()

func (*EvalResponse) Reset

func (m *EvalResponse) Reset()

func (*EvalResponse) String

func (m *EvalResponse) String() string

func (*EvalResponse) XXX_DiscardUnknown

func (m *EvalResponse) XXX_DiscardUnknown()

func (*EvalResponse) XXX_Marshal

func (m *EvalResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EvalResponse) XXX_Merge

func (m *EvalResponse) XXX_Merge(src proto.Message)

func (*EvalResponse) XXX_Size

func (m *EvalResponse) XXX_Size() int

func (*EvalResponse) XXX_Unmarshal

func (m *EvalResponse) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

The state of an evaluation.

Can represent an inital, partial, or completed state of evaluation.

func (*EvalState) Descriptor

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

func (*EvalState) GetResults

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

func (*EvalState) GetValues

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

func (*EvalState) ProtoMessage

func (*EvalState) ProtoMessage()

func (*EvalState) Reset

func (m *EvalState) Reset()

func (*EvalState) String

func (m *EvalState) String() string

func (*EvalState) XXX_DiscardUnknown

func (m *EvalState) XXX_DiscardUnknown()

func (*EvalState) XXX_Marshal

func (m *EvalState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EvalState) XXX_Merge

func (m *EvalState) XXX_Merge(src proto.Message)

func (*EvalState) XXX_Size

func (m *EvalState) XXX_Size() int

func (*EvalState) XXX_Unmarshal

func (m *EvalState) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A single evalution result.

func (*EvalState_Result) Descriptor

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

func (*EvalState_Result) GetExpr

func (m *EvalState_Result) GetExpr() int64

func (*EvalState_Result) GetValue

func (m *EvalState_Result) GetValue() int64

func (*EvalState_Result) ProtoMessage

func (*EvalState_Result) ProtoMessage()

func (*EvalState_Result) Reset

func (m *EvalState_Result) Reset()

func (*EvalState_Result) String

func (m *EvalState_Result) String() string

func (*EvalState_Result) XXX_DiscardUnknown

func (m *EvalState_Result) XXX_DiscardUnknown()

func (*EvalState_Result) XXX_Marshal

func (m *EvalState_Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EvalState_Result) XXX_Merge

func (m *EvalState_Result) XXX_Merge(src proto.Message)

func (*EvalState_Result) XXX_Size

func (m *EvalState_Result) XXX_Size() int

func (*EvalState_Result) XXX_Unmarshal

func (m *EvalState_Result) XXX_Unmarshal(b []byte) error

type Explain deprecated

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"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

Values of intermediate expressions produced when evaluating expression. Deprecated, use `EvalState` instead.

Deprecated: Do not use.

func (*Explain) Descriptor

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

func (*Explain) GetExprSteps

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

func (*Explain) GetValues

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

func (*Explain) ProtoMessage

func (*Explain) ProtoMessage()

func (*Explain) Reset

func (m *Explain) Reset()

func (*Explain) String

func (m *Explain) String() string

func (*Explain) XXX_DiscardUnknown

func (m *Explain) XXX_DiscardUnknown()

func (*Explain) XXX_Marshal

func (m *Explain) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Explain) XXX_Merge

func (m *Explain) XXX_Merge(src proto.Message)

func (*Explain) XXX_Size

func (m *Explain) XXX_Size() int

func (*Explain) XXX_Unmarshal

func (m *Explain) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ID and value index of one step.

func (*Explain_ExprStep) Descriptor

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

func (*Explain_ExprStep) GetId

func (m *Explain_ExprStep) GetId() int64

func (*Explain_ExprStep) GetValueIndex

func (m *Explain_ExprStep) GetValueIndex() int32

func (*Explain_ExprStep) ProtoMessage

func (*Explain_ExprStep) ProtoMessage()

func (*Explain_ExprStep) Reset

func (m *Explain_ExprStep) Reset()

func (*Explain_ExprStep) String

func (m *Explain_ExprStep) String() string

func (*Explain_ExprStep) XXX_DiscardUnknown

func (m *Explain_ExprStep) XXX_DiscardUnknown()

func (*Explain_ExprStep) XXX_Marshal

func (m *Explain_ExprStep) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Explain_ExprStep) XXX_Merge

func (m *Explain_ExprStep) XXX_Merge(src proto.Message)

func (*Explain_ExprStep) XXX_Size

func (m *Explain_ExprStep) XXX_Size() int

func (*Explain_ExprStep) XXX_Unmarshal

func (m *Explain_ExprStep) XXX_Unmarshal(b []byte) error

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 valid to be assigned to ExprKind:
	//	*Expr_ConstExpr
	//	*Expr_IdentExpr
	//	*Expr_SelectExpr
	//	*Expr_CallExpr
	//	*Expr_ListExpr
	//	*Expr_StructExpr
	//	*Expr_ComprehensionExpr
	ExprKind             isExpr_ExprKind `protobuf_oneof:"expr_kind"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

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)

func (*Expr) GetCallExpr

func (m *Expr) GetCallExpr() *Expr_Call

func (*Expr) GetComprehensionExpr

func (m *Expr) GetComprehensionExpr() *Expr_Comprehension

func (*Expr) GetConstExpr

func (m *Expr) GetConstExpr() *Constant

func (*Expr) GetExprKind

func (m *Expr) GetExprKind() isExpr_ExprKind

func (*Expr) GetId

func (m *Expr) GetId() int64

func (*Expr) GetIdentExpr

func (m *Expr) GetIdentExpr() *Expr_Ident

func (*Expr) GetListExpr

func (m *Expr) GetListExpr() *Expr_CreateList

func (*Expr) GetSelectExpr

func (m *Expr) GetSelectExpr() *Expr_Select

func (*Expr) GetStructExpr

func (m *Expr) GetStructExpr() *Expr_CreateStruct

func (*Expr) ProtoMessage

func (*Expr) ProtoMessage()

func (*Expr) Reset

func (m *Expr) Reset()

func (*Expr) String

func (m *Expr) String() string

func (*Expr) XXX_DiscardUnknown

func (m *Expr) XXX_DiscardUnknown()

func (*Expr) XXX_Marshal

func (m *Expr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr) XXX_Merge

func (m *Expr) XXX_Merge(src proto.Message)

func (*Expr) XXX_OneofFuncs

func (*Expr) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Expr) XXX_Size

func (m *Expr) XXX_Size() int

func (*Expr) XXX_Unmarshal

func (m *Expr) XXX_Unmarshal(b []byte) error

type ExprValue

type ExprValue struct {
	// An expression can resolve to a value, error or unknown.
	//
	// Types that are valid to be assigned to Kind:
	//	*ExprValue_Value
	//	*ExprValue_Error
	//	*ExprValue_Unknown
	Kind                 isExprValue_Kind `protobuf_oneof:"kind"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

The value of an evaluated expression.

func (*ExprValue) Descriptor

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

func (*ExprValue) GetError

func (m *ExprValue) GetError() *ErrorSet

func (*ExprValue) GetKind

func (m *ExprValue) GetKind() isExprValue_Kind

func (*ExprValue) GetUnknown

func (m *ExprValue) GetUnknown() *UnknownSet

func (*ExprValue) GetValue

func (m *ExprValue) GetValue() *Value

func (*ExprValue) ProtoMessage

func (*ExprValue) ProtoMessage()

func (*ExprValue) Reset

func (m *ExprValue) Reset()

func (*ExprValue) String

func (m *ExprValue) String() string

func (*ExprValue) XXX_DiscardUnknown

func (m *ExprValue) XXX_DiscardUnknown()

func (*ExprValue) XXX_Marshal

func (m *ExprValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ExprValue) XXX_Merge

func (m *ExprValue) XXX_Merge(src proto.Message)

func (*ExprValue) XXX_OneofFuncs

func (*ExprValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*ExprValue) XXX_Size

func (m *ExprValue) XXX_Size() int

func (*ExprValue) XXX_Unmarshal

func (m *ExprValue) XXX_Unmarshal(b []byte) error

type ExprValue_Error

type ExprValue_Error struct {
	Error *ErrorSet `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

type ExprValue_Unknown

type ExprValue_Unknown struct {
	Unknown *UnknownSet `protobuf:"bytes,3,opt,name=unknown,proto3,oneof"`
}

type ExprValue_Value

type ExprValue_Value struct {
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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)

func (*Expr_Call) GetArgs

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

func (*Expr_Call) GetFunction

func (m *Expr_Call) GetFunction() string

func (*Expr_Call) GetTarget

func (m *Expr_Call) GetTarget() *Expr

func (*Expr_Call) ProtoMessage

func (*Expr_Call) ProtoMessage()

func (*Expr_Call) Reset

func (m *Expr_Call) Reset()

func (*Expr_Call) String

func (m *Expr_Call) String() string

func (*Expr_Call) XXX_DiscardUnknown

func (m *Expr_Call) XXX_DiscardUnknown()

func (*Expr_Call) XXX_Marshal

func (m *Expr_Call) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_Call) XXX_Merge

func (m *Expr_Call) XXX_Merge(src proto.Message)

func (*Expr_Call) XXX_Size

func (m *Expr_Call) XXX_Size() int

func (*Expr_Call) XXX_Unmarshal

func (m *Expr_Call) XXX_Unmarshal(b []byte) error

type Expr_CallExpr

type Expr_CallExpr struct {
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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)

func (*Expr_Comprehension) GetAccuInit

func (m *Expr_Comprehension) GetAccuInit() *Expr

func (*Expr_Comprehension) GetAccuVar

func (m *Expr_Comprehension) GetAccuVar() string

func (*Expr_Comprehension) GetIterRange

func (m *Expr_Comprehension) GetIterRange() *Expr

func (*Expr_Comprehension) GetIterVar

func (m *Expr_Comprehension) GetIterVar() string

func (*Expr_Comprehension) GetLoopCondition

func (m *Expr_Comprehension) GetLoopCondition() *Expr

func (*Expr_Comprehension) GetLoopStep

func (m *Expr_Comprehension) GetLoopStep() *Expr

func (*Expr_Comprehension) GetResult

func (m *Expr_Comprehension) GetResult() *Expr

func (*Expr_Comprehension) ProtoMessage

func (*Expr_Comprehension) ProtoMessage()

func (*Expr_Comprehension) Reset

func (m *Expr_Comprehension) Reset()

func (*Expr_Comprehension) String

func (m *Expr_Comprehension) String() string

func (*Expr_Comprehension) XXX_DiscardUnknown

func (m *Expr_Comprehension) XXX_DiscardUnknown()

func (*Expr_Comprehension) XXX_Marshal

func (m *Expr_Comprehension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_Comprehension) XXX_Merge

func (m *Expr_Comprehension) XXX_Merge(src proto.Message)

func (*Expr_Comprehension) XXX_Size

func (m *Expr_Comprehension) XXX_Size() int

func (*Expr_Comprehension) XXX_Unmarshal

func (m *Expr_Comprehension) XXX_Unmarshal(b []byte) error

type Expr_ComprehensionExpr

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

type Expr_ConstExpr

type Expr_ConstExpr struct {
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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)

func (*Expr_CreateList) GetElements

func (m *Expr_CreateList) GetElements() []*Expr

func (*Expr_CreateList) ProtoMessage

func (*Expr_CreateList) ProtoMessage()

func (*Expr_CreateList) Reset

func (m *Expr_CreateList) Reset()

func (*Expr_CreateList) String

func (m *Expr_CreateList) String() string

func (*Expr_CreateList) XXX_DiscardUnknown

func (m *Expr_CreateList) XXX_DiscardUnknown()

func (*Expr_CreateList) XXX_Marshal

func (m *Expr_CreateList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_CreateList) XXX_Merge

func (m *Expr_CreateList) XXX_Merge(src proto.Message)

func (*Expr_CreateList) XXX_Size

func (m *Expr_CreateList) XXX_Size() int

func (*Expr_CreateList) XXX_Unmarshal

func (m *Expr_CreateList) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
	XXX_unrecognized     []byte                     `json:"-"`
	XXX_sizecache        int32                      `json:"-"`
}

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)

func (*Expr_CreateStruct) GetEntries

func (m *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry

func (*Expr_CreateStruct) GetMessageName

func (m *Expr_CreateStruct) GetMessageName() string

func (*Expr_CreateStruct) ProtoMessage

func (*Expr_CreateStruct) ProtoMessage()

func (*Expr_CreateStruct) Reset

func (m *Expr_CreateStruct) Reset()

func (*Expr_CreateStruct) String

func (m *Expr_CreateStruct) String() string

func (*Expr_CreateStruct) XXX_DiscardUnknown

func (m *Expr_CreateStruct) XXX_DiscardUnknown()

func (*Expr_CreateStruct) XXX_Marshal

func (m *Expr_CreateStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_CreateStruct) XXX_Merge

func (m *Expr_CreateStruct) XXX_Merge(src proto.Message)

func (*Expr_CreateStruct) XXX_Size

func (m *Expr_CreateStruct) XXX_Size() int

func (*Expr_CreateStruct) XXX_Unmarshal

func (m *Expr_CreateStruct) XXX_Unmarshal(b []byte) error

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 valid to be assigned 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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Represents an entry.

func (*Expr_CreateStruct_Entry) Descriptor

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

func (*Expr_CreateStruct_Entry) GetFieldKey

func (m *Expr_CreateStruct_Entry) GetFieldKey() string

func (*Expr_CreateStruct_Entry) GetId

func (m *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 (m *Expr_CreateStruct_Entry) GetMapKey() *Expr

func (*Expr_CreateStruct_Entry) GetValue

func (m *Expr_CreateStruct_Entry) GetValue() *Expr

func (*Expr_CreateStruct_Entry) ProtoMessage

func (*Expr_CreateStruct_Entry) ProtoMessage()

func (*Expr_CreateStruct_Entry) Reset

func (m *Expr_CreateStruct_Entry) Reset()

func (*Expr_CreateStruct_Entry) String

func (m *Expr_CreateStruct_Entry) String() string

func (*Expr_CreateStruct_Entry) XXX_DiscardUnknown

func (m *Expr_CreateStruct_Entry) XXX_DiscardUnknown()

func (*Expr_CreateStruct_Entry) XXX_Marshal

func (m *Expr_CreateStruct_Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_CreateStruct_Entry) XXX_Merge

func (m *Expr_CreateStruct_Entry) XXX_Merge(src proto.Message)

func (*Expr_CreateStruct_Entry) XXX_OneofFuncs

func (*Expr_CreateStruct_Entry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Expr_CreateStruct_Entry) XXX_Size

func (m *Expr_CreateStruct_Entry) XXX_Size() int

func (*Expr_CreateStruct_Entry) XXX_Unmarshal

func (m *Expr_CreateStruct_Entry) XXX_Unmarshal(b []byte) error

type Expr_CreateStruct_Entry_FieldKey

type Expr_CreateStruct_Entry_FieldKey struct {
	FieldKey string `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"`
}

type Expr_CreateStruct_Entry_MapKey

type Expr_CreateStruct_Entry_MapKey struct {
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*Expr_Ident) Descriptor

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

func (*Expr_Ident) GetName

func (m *Expr_Ident) GetName() string

func (*Expr_Ident) ProtoMessage

func (*Expr_Ident) ProtoMessage()

func (*Expr_Ident) Reset

func (m *Expr_Ident) Reset()

func (*Expr_Ident) String

func (m *Expr_Ident) String() string

func (*Expr_Ident) XXX_DiscardUnknown

func (m *Expr_Ident) XXX_DiscardUnknown()

func (*Expr_Ident) XXX_Marshal

func (m *Expr_Ident) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_Ident) XXX_Merge

func (m *Expr_Ident) XXX_Merge(src proto.Message)

func (*Expr_Ident) XXX_Size

func (m *Expr_Ident) XXX_Size() int

func (*Expr_Ident) XXX_Unmarshal

func (m *Expr_Ident) XXX_Unmarshal(b []byte) error

type Expr_IdentExpr

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

type Expr_ListExpr

type Expr_ListExpr struct {
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*Expr_Select) Descriptor

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

func (*Expr_Select) GetField

func (m *Expr_Select) GetField() string

func (*Expr_Select) GetOperand

func (m *Expr_Select) GetOperand() *Expr

func (*Expr_Select) GetTestOnly

func (m *Expr_Select) GetTestOnly() bool

func (*Expr_Select) ProtoMessage

func (*Expr_Select) ProtoMessage()

func (*Expr_Select) Reset

func (m *Expr_Select) Reset()

func (*Expr_Select) String

func (m *Expr_Select) String() string

func (*Expr_Select) XXX_DiscardUnknown

func (m *Expr_Select) XXX_DiscardUnknown()

func (*Expr_Select) XXX_Marshal

func (m *Expr_Select) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Expr_Select) XXX_Merge

func (m *Expr_Select) XXX_Merge(src proto.Message)

func (*Expr_Select) XXX_Size

func (m *Expr_Select) XXX_Size() int

func (*Expr_Select) XXX_Unmarshal

func (m *Expr_Select) XXX_Unmarshal(b []byte) error

type Expr_SelectExpr

type Expr_SelectExpr struct {
	SelectExpr *Expr_Select `protobuf:"bytes,5,opt,name=select_expr,json=selectExpr,proto3,oneof"`
}

type Expr_StructExpr

type Expr_StructExpr struct {
	StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"`
}

type IssueDetails

type IssueDetails struct {
	// The severity of the issue.
	Severity IssueDetails_Severity `protobuf:"varint,1,opt,name=severity,proto3,enum=google.api.expr.v1alpha1.IssueDetails_Severity" json:"severity,omitempty"`
	// Position in the source, if known.
	Position *SourcePosition `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"`
	// Expression ID from [Expr][google.api.expr.v1alpha1.Expr], 0 if unknown.
	Id                   int64    `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Warnings or errors in service execution are represented by [google.rpc.Status][google.rpc.Status] messages, with the following message in the details field.

func (*IssueDetails) Descriptor

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

func (*IssueDetails) GetId

func (m *IssueDetails) GetId() int64

func (*IssueDetails) GetPosition

func (m *IssueDetails) GetPosition() *SourcePosition

func (*IssueDetails) GetSeverity

func (m *IssueDetails) GetSeverity() IssueDetails_Severity

func (*IssueDetails) ProtoMessage

func (*IssueDetails) ProtoMessage()

func (*IssueDetails) Reset

func (m *IssueDetails) Reset()

func (*IssueDetails) String

func (m *IssueDetails) String() string

func (*IssueDetails) XXX_DiscardUnknown

func (m *IssueDetails) XXX_DiscardUnknown()

func (*IssueDetails) XXX_Marshal

func (m *IssueDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*IssueDetails) XXX_Merge

func (m *IssueDetails) XXX_Merge(src proto.Message)

func (*IssueDetails) XXX_Size

func (m *IssueDetails) XXX_Size() int

func (*IssueDetails) XXX_Unmarshal

func (m *IssueDetails) XXX_Unmarshal(b []byte) error

type IssueDetails_Severity

type IssueDetails_Severity int32

Severities of issues.

const (
	// An unspecified severity.
	IssueDetails_SEVERITY_UNSPECIFIED IssueDetails_Severity = 0
	// Deprecation issue for statements and method that may no longer be
	// supported or maintained.
	IssueDetails_DEPRECATION IssueDetails_Severity = 1
	// Warnings such as: unused variables.
	IssueDetails_WARNING IssueDetails_Severity = 2
	// Errors such as: unmatched curly braces or variable redefinition.
	IssueDetails_ERROR IssueDetails_Severity = 3
)

func (IssueDetails_Severity) EnumDescriptor

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

func (IssueDetails_Severity) String

func (x IssueDetails_Severity) String() string

type ListValue

type ListValue struct {
	// The ordered values in the list.
	Values               []*Value `protobuf:"bytes,1,rep,name=values,proto3" json:"values,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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)

func (*ListValue) GetValues

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

func (*ListValue) ProtoMessage

func (*ListValue) ProtoMessage()

func (*ListValue) Reset

func (m *ListValue) Reset()

func (*ListValue) String

func (m *ListValue) String() string

func (*ListValue) XXX_DiscardUnknown

func (m *ListValue) XXX_DiscardUnknown()

func (*ListValue) XXX_Marshal

func (m *ListValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ListValue) XXX_Merge

func (m *ListValue) XXX_Merge(src proto.Message)

func (*ListValue) XXX_Size

func (m *ListValue) XXX_Size() int

func (*ListValue) XXX_Unmarshal

func (m *ListValue) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

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)

func (*MapValue) GetEntries

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

func (*MapValue) ProtoMessage

func (*MapValue) ProtoMessage()

func (*MapValue) Reset

func (m *MapValue) Reset()

func (*MapValue) String

func (m *MapValue) String() string

func (*MapValue) XXX_DiscardUnknown

func (m *MapValue) XXX_DiscardUnknown()

func (*MapValue) XXX_Marshal

func (m *MapValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MapValue) XXX_Merge

func (m *MapValue) XXX_Merge(src proto.Message)

func (*MapValue) XXX_Size

func (m *MapValue) XXX_Size() int

func (*MapValue) XXX_Unmarshal

func (m *MapValue) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

An entry in the map.

func (*MapValue_Entry) Descriptor

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

func (*MapValue_Entry) GetKey

func (m *MapValue_Entry) GetKey() *Value

func (*MapValue_Entry) GetValue

func (m *MapValue_Entry) GetValue() *Value

func (*MapValue_Entry) ProtoMessage

func (*MapValue_Entry) ProtoMessage()

func (*MapValue_Entry) Reset

func (m *MapValue_Entry) Reset()

func (*MapValue_Entry) String

func (m *MapValue_Entry) String() string

func (*MapValue_Entry) XXX_DiscardUnknown

func (m *MapValue_Entry) XXX_DiscardUnknown()

func (*MapValue_Entry) XXX_Marshal

func (m *MapValue_Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MapValue_Entry) XXX_Merge

func (m *MapValue_Entry) XXX_Merge(src proto.Message)

func (*MapValue_Entry) XXX_Size

func (m *MapValue_Entry) XXX_Size() int

func (*MapValue_Entry) XXX_Unmarshal

func (m *MapValue_Entry) XXX_Unmarshal(b []byte) error

type ParseRequest

type ParseRequest struct {
	// Required. Source text in CEL syntax.
	CelSource string `protobuf:"bytes,1,opt,name=cel_source,json=celSource,proto3" json:"cel_source,omitempty"`
	// Tag for version of CEL syntax, for future use.
	SyntaxVersion string `protobuf:"bytes,2,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
	// File or resource for source text, used in [SourceInfo][google.api.expr.v1alpha1.SourceInfo].
	SourceLocation string `protobuf:"bytes,3,opt,name=source_location,json=sourceLocation,proto3" json:"source_location,omitempty"`
	// Prevent macro expansion.  See "Macros" in Language Defiinition.
	DisableMacros        bool     `protobuf:"varint,4,opt,name=disable_macros,json=disableMacros,proto3" json:"disable_macros,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Request message for the Parse method.

func (*ParseRequest) Descriptor

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

func (*ParseRequest) GetCelSource

func (m *ParseRequest) GetCelSource() string

func (*ParseRequest) GetDisableMacros

func (m *ParseRequest) GetDisableMacros() bool

func (*ParseRequest) GetSourceLocation

func (m *ParseRequest) GetSourceLocation() string

func (*ParseRequest) GetSyntaxVersion

func (m *ParseRequest) GetSyntaxVersion() string

func (*ParseRequest) ProtoMessage

func (*ParseRequest) ProtoMessage()

func (*ParseRequest) Reset

func (m *ParseRequest) Reset()

func (*ParseRequest) String

func (m *ParseRequest) String() string

func (*ParseRequest) XXX_DiscardUnknown

func (m *ParseRequest) XXX_DiscardUnknown()

func (*ParseRequest) XXX_Marshal

func (m *ParseRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ParseRequest) XXX_Merge

func (m *ParseRequest) XXX_Merge(src proto.Message)

func (*ParseRequest) XXX_Size

func (m *ParseRequest) XXX_Size() int

func (*ParseRequest) XXX_Unmarshal

func (m *ParseRequest) XXX_Unmarshal(b []byte) error

type ParseResponse

type ParseResponse struct {
	// The parsed representation, or unset if parsing failed.
	ParsedExpr *ParsedExpr `protobuf:"bytes,1,opt,name=parsed_expr,json=parsedExpr,proto3" json:"parsed_expr,omitempty"`
	// Any number of issues with [StatusDetails][] as the details.
	Issues               []*status.Status `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

Response message for the Parse method.

func (*ParseResponse) Descriptor

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

func (*ParseResponse) GetIssues

func (m *ParseResponse) GetIssues() []*status.Status

func (*ParseResponse) GetParsedExpr

func (m *ParseResponse) GetParsedExpr() *ParsedExpr

func (*ParseResponse) ProtoMessage

func (*ParseResponse) ProtoMessage()

func (*ParseResponse) Reset

func (m *ParseResponse) Reset()

func (*ParseResponse) String

func (m *ParseResponse) String() string

func (*ParseResponse) XXX_DiscardUnknown

func (m *ParseResponse) XXX_DiscardUnknown()

func (*ParseResponse) XXX_Marshal

func (m *ParseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ParseResponse) XXX_Merge

func (m *ParseResponse) XXX_Merge(src proto.Message)

func (*ParseResponse) XXX_Size

func (m *ParseResponse) XXX_Size() int

func (*ParseResponse) XXX_Unmarshal

func (m *ParseResponse) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

An expression together with source information as returned by the parser.

func (*ParsedExpr) Descriptor

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

func (*ParsedExpr) GetExpr

func (m *ParsedExpr) GetExpr() *Expr

func (*ParsedExpr) GetSourceInfo

func (m *ParsedExpr) GetSourceInfo() *SourceInfo

func (*ParsedExpr) ProtoMessage

func (*ParsedExpr) ProtoMessage()

func (*ParsedExpr) Reset

func (m *ParsedExpr) Reset()

func (*ParsedExpr) String

func (m *ParsedExpr) String() string

func (*ParsedExpr) XXX_DiscardUnknown

func (m *ParsedExpr) XXX_DiscardUnknown()

func (*ParsedExpr) XXX_Marshal

func (m *ParsedExpr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ParsedExpr) XXX_Merge

func (m *ParsedExpr) XXX_Merge(src proto.Message)

func (*ParsedExpr) XXX_Size

func (m *ParsedExpr) XXX_Size() int

func (*ParsedExpr) XXX_Unmarshal

func (m *ParsedExpr) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

Describes a resolved reference to a declaration.

func (*Reference) Descriptor

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

func (*Reference) GetName

func (m *Reference) GetName() string

func (*Reference) GetOverloadId

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

func (*Reference) GetValue

func (m *Reference) GetValue() *Constant

func (*Reference) ProtoMessage

func (*Reference) ProtoMessage()

func (*Reference) Reset

func (m *Reference) Reset()

func (*Reference) String

func (m *Reference) String() string

func (*Reference) XXX_DiscardUnknown

func (m *Reference) XXX_DiscardUnknown()

func (*Reference) XXX_Marshal

func (m *Reference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Reference) XXX_Merge

func (m *Reference) XXX_Merge(src proto.Message)

func (*Reference) XXX_Size

func (m *Reference) XXX_Size() int

func (*Reference) XXX_Unmarshal

func (m *Reference) XXX_Unmarshal(b []byte) error

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 */
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

Source information collected at parse time.

func (*SourceInfo) Descriptor

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

func (*SourceInfo) GetLineOffsets

func (m *SourceInfo) GetLineOffsets() []int32

func (*SourceInfo) GetLocation

func (m *SourceInfo) GetLocation() string

func (*SourceInfo) GetPositions

func (m *SourceInfo) GetPositions() map[int64]int32

func (*SourceInfo) GetSyntaxVersion

func (m *SourceInfo) GetSyntaxVersion() string

func (*SourceInfo) ProtoMessage

func (*SourceInfo) ProtoMessage()

func (*SourceInfo) Reset

func (m *SourceInfo) Reset()

func (*SourceInfo) String

func (m *SourceInfo) String() string

func (*SourceInfo) XXX_DiscardUnknown

func (m *SourceInfo) XXX_DiscardUnknown()

func (*SourceInfo) XXX_Marshal

func (m *SourceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SourceInfo) XXX_Merge

func (m *SourceInfo) XXX_Merge(src proto.Message)

func (*SourceInfo) XXX_Size

func (m *SourceInfo) XXX_Size() int

func (*SourceInfo) XXX_Unmarshal

func (m *SourceInfo) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

A specific position in source.

func (*SourcePosition) Descriptor

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

func (*SourcePosition) GetColumn

func (m *SourcePosition) GetColumn() int32

func (*SourcePosition) GetLine

func (m *SourcePosition) GetLine() int32

func (*SourcePosition) GetLocation

func (m *SourcePosition) GetLocation() string

func (*SourcePosition) GetOffset

func (m *SourcePosition) GetOffset() int32

func (*SourcePosition) ProtoMessage

func (*SourcePosition) ProtoMessage()

func (*SourcePosition) Reset

func (m *SourcePosition) Reset()

func (*SourcePosition) String

func (m *SourcePosition) String() string

func (*SourcePosition) XXX_DiscardUnknown

func (m *SourcePosition) XXX_DiscardUnknown()

func (*SourcePosition) XXX_Marshal

func (m *SourcePosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SourcePosition) XXX_Merge

func (m *SourcePosition) XXX_Merge(src proto.Message)

func (*SourcePosition) XXX_Size

func (m *SourcePosition) XXX_Size() int

func (*SourcePosition) XXX_Unmarshal

func (m *SourcePosition) XXX_Unmarshal(b []byte) error

type Type

type Type struct {
	// The kind of type.
	//
	// Types that are valid to be assigned 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"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

Represents a CEL type.

func (*Type) Descriptor

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

func (*Type) GetAbstractType

func (m *Type) GetAbstractType() *Type_AbstractType

func (*Type) GetDyn

func (m *Type) GetDyn() *empty.Empty

func (*Type) GetError

func (m *Type) GetError() *empty.Empty

func (*Type) GetFunction

func (m *Type) GetFunction() *Type_FunctionType

func (*Type) GetListType

func (m *Type) GetListType() *Type_ListType

func (*Type) GetMapType

func (m *Type) GetMapType() *Type_MapType

func (*Type) GetMessageType

func (m *Type) GetMessageType() string

func (*Type) GetNull

func (m *Type) GetNull() _struct.NullValue

func (*Type) GetPrimitive

func (m *Type) GetPrimitive() Type_PrimitiveType

func (*Type) GetType

func (m *Type) GetType() *Type

func (*Type) GetTypeKind

func (m *Type) GetTypeKind() isType_TypeKind

func (*Type) GetTypeParam

func (m *Type) GetTypeParam() string

func (*Type) GetWellKnown

func (m *Type) GetWellKnown() Type_WellKnownType

func (*Type) GetWrapper

func (m *Type) GetWrapper() Type_PrimitiveType

func (*Type) ProtoMessage

func (*Type) ProtoMessage()

func (*Type) Reset

func (m *Type) Reset()

func (*Type) String

func (m *Type) String() string

func (*Type) XXX_DiscardUnknown

func (m *Type) XXX_DiscardUnknown()

func (*Type) XXX_Marshal

func (m *Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Type) XXX_Merge

func (m *Type) XXX_Merge(src proto.Message)

func (*Type) XXX_OneofFuncs

func (*Type) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Type) XXX_Size

func (m *Type) XXX_Size() int

func (*Type) XXX_Unmarshal

func (m *Type) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Application defined abstract type.

func (*Type_AbstractType) Descriptor

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

func (*Type_AbstractType) GetName

func (m *Type_AbstractType) GetName() string

func (*Type_AbstractType) GetParameterTypes

func (m *Type_AbstractType) GetParameterTypes() []*Type

func (*Type_AbstractType) ProtoMessage

func (*Type_AbstractType) ProtoMessage()

func (*Type_AbstractType) Reset

func (m *Type_AbstractType) Reset()

func (*Type_AbstractType) String

func (m *Type_AbstractType) String() string

func (*Type_AbstractType) XXX_DiscardUnknown

func (m *Type_AbstractType) XXX_DiscardUnknown()

func (*Type_AbstractType) XXX_Marshal

func (m *Type_AbstractType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Type_AbstractType) XXX_Merge

func (m *Type_AbstractType) XXX_Merge(src proto.Message)

func (*Type_AbstractType) XXX_Size

func (m *Type_AbstractType) XXX_Size() int

func (*Type_AbstractType) XXX_Unmarshal

func (m *Type_AbstractType) XXX_Unmarshal(b []byte) error

type Type_AbstractType_

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

type Type_Dyn

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

type Type_Error

type Type_Error struct {
	Error *empty.Empty `protobuf:"bytes,12,opt,name=error,proto3,oneof"`
}

type Type_Function

type Type_Function struct {
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Function type with result and arg types.

func (*Type_FunctionType) Descriptor

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

func (*Type_FunctionType) GetArgTypes

func (m *Type_FunctionType) GetArgTypes() []*Type

func (*Type_FunctionType) GetResultType

func (m *Type_FunctionType) GetResultType() *Type

func (*Type_FunctionType) ProtoMessage

func (*Type_FunctionType) ProtoMessage()

func (*Type_FunctionType) Reset

func (m *Type_FunctionType) Reset()

func (*Type_FunctionType) String

func (m *Type_FunctionType) String() string

func (*Type_FunctionType) XXX_DiscardUnknown

func (m *Type_FunctionType) XXX_DiscardUnknown()

func (*Type_FunctionType) XXX_Marshal

func (m *Type_FunctionType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Type_FunctionType) XXX_Merge

func (m *Type_FunctionType) XXX_Merge(src proto.Message)

func (*Type_FunctionType) XXX_Size

func (m *Type_FunctionType) XXX_Size() int

func (*Type_FunctionType) XXX_Unmarshal

func (m *Type_FunctionType) XXX_Unmarshal(b []byte) error

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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

List type with typed elements, e.g. `list<example.proto.MyMessage>`.

func (*Type_ListType) Descriptor

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

func (*Type_ListType) GetElemType

func (m *Type_ListType) GetElemType() *Type

func (*Type_ListType) ProtoMessage

func (*Type_ListType) ProtoMessage()

func (*Type_ListType) Reset

func (m *Type_ListType) Reset()

func (*Type_ListType) String

func (m *Type_ListType) String() string

func (*Type_ListType) XXX_DiscardUnknown

func (m *Type_ListType) XXX_DiscardUnknown()

func (*Type_ListType) XXX_Marshal

func (m *Type_ListType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Type_ListType) XXX_Merge

func (m *Type_ListType) XXX_Merge(src proto.Message)

func (*Type_ListType) XXX_Size

func (m *Type_ListType) XXX_Size() int

func (*Type_ListType) XXX_Unmarshal

func (m *Type_ListType) XXX_Unmarshal(b []byte) error

type Type_ListType_

type Type_ListType_ struct {
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Map type with parameterized key and value types, e.g. `map<string, int>`.

func (*Type_MapType) Descriptor

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

func (*Type_MapType) GetKeyType

func (m *Type_MapType) GetKeyType() *Type

func (*Type_MapType) GetValueType

func (m *Type_MapType) GetValueType() *Type

func (*Type_MapType) ProtoMessage

func (*Type_MapType) ProtoMessage()

func (*Type_MapType) Reset

func (m *Type_MapType) Reset()

func (*Type_MapType) String

func (m *Type_MapType) String() string

func (*Type_MapType) XXX_DiscardUnknown

func (m *Type_MapType) XXX_DiscardUnknown()

func (*Type_MapType) XXX_Marshal

func (m *Type_MapType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Type_MapType) XXX_Merge

func (m *Type_MapType) XXX_Merge(src proto.Message)

func (*Type_MapType) XXX_Size

func (m *Type_MapType) XXX_Size() int

func (*Type_MapType) XXX_Unmarshal

func (m *Type_MapType) XXX_Unmarshal(b []byte) error

type Type_MapType_

type Type_MapType_ struct {
	MapType *Type_MapType `protobuf:"bytes,7,opt,name=map_type,json=mapType,proto3,oneof"`
}

type Type_MessageType

type Type_MessageType struct {
	MessageType string `protobuf:"bytes,9,opt,name=message_type,json=messageType,proto3,oneof"`
}

type Type_Null

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

type Type_Primitive

type Type_Primitive struct {
	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) EnumDescriptor

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

func (Type_PrimitiveType) String

func (x Type_PrimitiveType) String() string

type Type_Type

type Type_Type struct {
	Type *Type `protobuf:"bytes,11,opt,name=type,proto3,oneof"`
}

type Type_TypeParam

type Type_TypeParam struct {
	TypeParam string `protobuf:"bytes,10,opt,name=type_param,json=typeParam,proto3,oneof"`
}

type Type_WellKnown

type Type_WellKnown struct {
	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) EnumDescriptor

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

func (Type_WellKnownType) String

func (x Type_WellKnownType) String() string

type Type_Wrapper

type Type_Wrapper struct {
	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"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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)

func (*UnknownSet) GetExprs

func (m *UnknownSet) GetExprs() []int64

func (*UnknownSet) ProtoMessage

func (*UnknownSet) ProtoMessage()

func (*UnknownSet) Reset

func (m *UnknownSet) Reset()

func (*UnknownSet) String

func (m *UnknownSet) String() string

func (*UnknownSet) XXX_DiscardUnknown

func (m *UnknownSet) XXX_DiscardUnknown()

func (*UnknownSet) XXX_Marshal

func (m *UnknownSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UnknownSet) XXX_Merge

func (m *UnknownSet) XXX_Merge(src proto.Message)

func (*UnknownSet) XXX_Size

func (m *UnknownSet) XXX_Size() int

func (*UnknownSet) XXX_Unmarshal

func (m *UnknownSet) XXX_Unmarshal(b []byte) error

type Value

type Value struct {
	// Required. The valid kinds of values.
	//
	// Types that are valid to be assigned 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"`
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`
}

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)

func (*Value) GetBoolValue

func (m *Value) GetBoolValue() bool

func (*Value) GetBytesValue

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

func (*Value) GetDoubleValue

func (m *Value) GetDoubleValue() float64

func (*Value) GetEnumValue

func (m *Value) GetEnumValue() *EnumValue

func (*Value) GetInt64Value

func (m *Value) GetInt64Value() int64

func (*Value) GetKind

func (m *Value) GetKind() isValue_Kind

func (*Value) GetListValue

func (m *Value) GetListValue() *ListValue

func (*Value) GetMapValue

func (m *Value) GetMapValue() *MapValue

func (*Value) GetNullValue

func (m *Value) GetNullValue() _struct.NullValue

func (*Value) GetObjectValue

func (m *Value) GetObjectValue() *any.Any

func (*Value) GetStringValue

func (m *Value) GetStringValue() string

func (*Value) GetTypeValue

func (m *Value) GetTypeValue() string

func (*Value) GetUint64Value

func (m *Value) GetUint64Value() uint64

func (*Value) ProtoMessage

func (*Value) ProtoMessage()

func (*Value) Reset

func (m *Value) Reset()

func (*Value) String

func (m *Value) String() string

func (*Value) XXX_DiscardUnknown

func (m *Value) XXX_DiscardUnknown()

func (*Value) XXX_Marshal

func (m *Value) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Value) XXX_Merge

func (m *Value) XXX_Merge(src proto.Message)

func (*Value) XXX_OneofFuncs

func (*Value) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

func (*Value) XXX_Size

func (m *Value) XXX_Size() int

func (*Value) XXX_Unmarshal

func (m *Value) XXX_Unmarshal(b []byte) error

type Value_BoolValue

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

type Value_BytesValue

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

type Value_DoubleValue

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

type Value_EnumValue

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

type Value_Int64Value

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

type Value_ListValue

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

type Value_MapValue

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

type Value_NullValue

type Value_NullValue struct {
	NullValue _struct.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
}

type Value_ObjectValue

type Value_ObjectValue struct {
	ObjectValue *any.Any `protobuf:"bytes,10,opt,name=object_value,json=objectValue,proto3,oneof"`
}

type Value_StringValue

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

type Value_TypeValue

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

type Value_Uint64Value

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL