Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.
Example (Comparison):
title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"
Example (Equality):
title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"
Example (Logic):
title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"
Example (Data Manipulation):
title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"
The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
Fields
expression
string
Textual representation of an expression in Common Expression Language syntax.
title
string
Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
description
string
Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
location
string
Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-30 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eExpr\u003c/code\u003e message represents a textual expression using the Common Expression Language (CEL) syntax, a C-like language for defining expressions.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eExpr\u003c/code\u003e expressions can be used for various purposes, including comparisons, equality checks, logical operations, and data manipulation, as demonstrated by the examples provided.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eexpression\u003c/code\u003e field within \u003ccode\u003eExpr\u003c/code\u003e contains the actual CEL code, while \u003ccode\u003etitle\u003c/code\u003e and \u003ccode\u003edescription\u003c/code\u003e fields provide context and explanations for the expression's purpose.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003elocation\u003c/code\u003e field is optional and it can be used for error reporting by indicating the origin of the expression.\u003c/p\u003e\n"],["\u003cp\u003eThe variables and functions available within an \u003ccode\u003eExpr\u003c/code\u003e are defined by the specific service evaluating it.\u003c/p\u003e\n"]]],[],null,["# Package google.type\n\nIndex\n-----\n\n- [Expr](/binary-authorization/docs/reference/rpc/google.type#google.type.Expr) (message)\n\nExpr\n----\n\nRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at \u003chttps://github.com/google/cel-spec\u003e.\n\nExample (Comparison): \n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality): \n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic): \n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation): \n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information."]]