Common Expression Language (CEL) (proto)

Warning

This API feature is currently work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.

.xds.type.v3.CelExpression

[.xds.type.v3.CelExpression proto]

Either parsed or checked representation of the Common Expression Language (CEL) program.

{
  "parsed_expr": {...},
  "checked_expr": {...}
}
parsed_expr

(.google.api.expr.v1alpha1.ParsedExpr) Parsed expression in abstract syntax tree (AST) form.

Precisely one of parsed_expr, checked_expr must be set.

checked_expr

(.google.api.expr.v1alpha1.CheckedExpr) Parsed expression in abstract syntax tree (AST) form that has been successfully type checked.

Precisely one of parsed_expr, checked_expr must be set.

.xds.type.v3.CelExtractString

[.xds.type.v3.CelExtractString proto]

Extracts a string by evaluating a Common Expression Language (CEL) expression against the standardized set of HTTP attributes.

Attention

Besides CEL evaluation raising an error explicitly, CEL program returning a type other than the string, or not returning anything, are considered an error as well.

{
  "expr_extract": {...},
  "default_value": {...}
}
expr_extract

(.xds.type.v3.CelExpression, REQUIRED) The CEL expression used to extract a string from the CEL environment. the “subject string”) that should be replaced.

default_value

(StringValue) If CEL expression evaluates to an error, this value is be returned to the caller. If not set, the error is propagated to the caller.