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.
Money
Represents an amount of money with its currency type.
Fields
currency_code
string
The three-letter currency code defined in ISO 4217.
units
int64
The whole units of the amount. For example if currencyCode is "USD", then 1 unit is one US dollar.
nanos
int32
Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If units is positive, nanos must be positive or zero. If units is zero, nanos can be positive, zero, or negative. If units is negative, nanos must be negative or zero. For example $-1.75 is represented as units=-1 and nanos=-750,000,000.
[[["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-14 UTC."],[[["\u003cp\u003e\u003ccode\u003eExpr\u003c/code\u003e represents a textual expression using the Common Expression Language (CEL) syntax, which is a C-like language detailed at \u003ca href=\"https://github.com/google/cel-spec\"\u003ehttps://github.com/google/cel-spec\u003c/a\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eExpr\u003c/code\u003e has fields for \u003ccode\u003eexpression\u003c/code\u003e (the CEL code), \u003ccode\u003etitle\u003c/code\u003e (a short description), \u003ccode\u003edescription\u003c/code\u003e (a longer explanation), and \u003ccode\u003elocation\u003c/code\u003e (for error reporting).\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eMoney\u003c/code\u003e represents a monetary value and includes fields for \u003ccode\u003ecurrency_code\u003c/code\u003e (ISO 4217), \u003ccode\u003eunits\u003c/code\u003e (whole units), and \u003ccode\u003enanos\u003c/code\u003e (fractional units down to 10^-9).\u003c/p\u003e\n"],["\u003cp\u003eThe service that evaluates an \u003ccode\u003eExpr\u003c/code\u003e determines the exact variables and functions that can be used within the expression.\u003c/p\u003e\n"]]],[],null,["# Package google.type\n\nIndex\n-----\n\n- [Expr](/billing/docs/reference/rpc/google.type#google.type.Expr) (message)\n- [Money](/billing/docs/reference/rpc/google.type#google.type.Money) (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.\n\nMoney\n-----\n\nRepresents an amount of money with its currency type."]]