.. _envoy_v3_api_file_xds/type/v3/cel.proto: 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 :ref:`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. .. _envoy_v3_api_msg_.xds.type.v3.CelExpression: .xds.type.v3.CelExpression -------------------------- `[.xds.type.v3.CelExpression proto] `_ Either parsed or checked representation of the `Common Expression Language `_ (CEL) program. .. code-block:: json :force: { "parsed_expr": {...}, "checked_expr": {...} } .. _envoy_v3_api_field_.xds.type.v3.CelExpression.parsed_expr: parsed_expr (.google.api.expr.v1alpha1.ParsedExpr) Parsed expression in abstract syntax tree (AST) form. Precisely one of :ref:`parsed_expr `, :ref:`checked_expr ` must be set. .. _envoy_v3_api_field_.xds.type.v3.CelExpression.checked_expr: checked_expr (.google.api.expr.v1alpha1.CheckedExpr) Parsed expression in abstract syntax tree (AST) form that has been successfully type checked. Precisely one of :ref:`parsed_expr `, :ref:`checked_expr ` must be set. .. _envoy_v3_api_msg_.xds.type.v3.CelExtractString: .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 :ref:`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. .. code-block:: json :force: { "expr_extract": {...}, "default_value": {...} } .. _envoy_v3_api_field_.xds.type.v3.CelExtractString.expr_extract: expr_extract (:ref:`.xds.type.v3.CelExpression `, *REQUIRED*) The CEL expression used to extract a string from the CEL environment. the "subject string") that should be replaced. .. _envoy_v3_api_field_.xds.type.v3.CelExtractString.default_value: 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.