package cel
import "k8s.io/apiserver/pkg/admission/plugin/cel"
Index ¶
- Constants
- func CreateAdmissionRequest(attr admission.Attributes) *admissionv1.AdmissionRequest
- type CompilationResult
- type EvaluationResult
- type ExpressionAccessor
- type Filter
- type FilterCompiler
- type MatchCondition
Constants ¶
const ( ObjectVarName = "object" OldObjectVarName = "oldObject" ParamsVarName = "params" RequestVarName = "request" )
Functions ¶
func CreateAdmissionRequest ¶
func CreateAdmissionRequest(attr admission.Attributes) *admissionv1.AdmissionRequest
Types ¶
type CompilationResult ¶
type CompilationResult struct { Program cel.Program Error *apiservercel.Error ExpressionAccessor ExpressionAccessor }
CompilationResult represents a compiled validations expression.
func CompileCELExpression ¶
func CompileCELExpression(expressionAccessor ExpressionAccessor, hasParams bool) CompilationResult
CompileCELExpression returns a compiled CEL expression.
type EvaluationResult ¶
type EvaluationResult struct { EvalResult ref.Val ExpressionAccessor ExpressionAccessor Elapsed time.Duration Error error }
EvaluationResult contains the minimal required fields and metadata of a cel evaluation
type ExpressionAccessor ¶
type ExpressionAccessor interface { GetExpression() string }
type Filter ¶
type Filter interface { // ForInput converts compiled CEL-typed values into evaluated CEL-typed values ForInput(versionedAttr *generic.VersionedAttributes, versionedParams runtime.Object, request *v1.AdmissionRequest) ([]EvaluationResult, error) // CompilationErrors returns a list of errors from the compilation of the evaluator CompilationErrors() []error }
Filter contains a function to evaluate compiled CEL-typed values It expects the inbound object to already have been converted to the version expected by the underlying CEL code (which is indicated by the match criteria of a policy definition). versionedParams may be nil.
func NewFilter ¶
func NewFilter(compilationResults []CompilationResult) Filter
type FilterCompiler ¶
type FilterCompiler interface { // Compile is used for the cel expression compilation Compile(expressions []ExpressionAccessor, hasParam bool) Filter }
FilterCompiler contains a function to assist with converting types and values to/from CEL-typed values.
func NewFilterCompiler ¶
func NewFilterCompiler() FilterCompiler
type MatchCondition ¶
type MatchCondition struct { Expression string }
MatchCondition contains the inputs needed to compile, evaluate and match a cel expression
func (*MatchCondition) GetExpression ¶
func (v *MatchCondition) GetExpression() string
Source Files ¶
compile.go filter.go interface.go
- Version
- v0.27.0-alpha.3
- Published
- Mar 3, 2023
- Platform
- js/wasm
- Imports
- 17 packages
- Last checked
- 11 minutes ago –
Tools for package owners.