# Secure Source Manager V1 API - Class Google::Type::Expr (v2.7.0)

2.7.0 (latest) 2.6.1 2.5.0 2.4.0 2.3.0 2.2.1 2.1.0 2.0.1 1.3.0 1.2.0 1.1.0 1.0.1 0.4.0 0.3.0 0.2.2 0.1.0 Reference documentation and code samples for the Secure Source Manager V1 API class Google::Type::Expr.

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)"

<br />

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.

## Inherits

- Object

## Extended By

- Google::Protobuf::MessageExts::ClassMethods

## Includes

- Google::Protobuf::MessageExts

## Methods

### #description

    def description() -> ::String

**Returns**

- (::String) --- Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

### #description=

    def description=(value) -> ::String

**Parameter**

- **value** (::String) --- Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
**Returns**

- (::String) --- Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

### #expression

    def expression() -> ::String

**Returns**

- (::String) --- Textual representation of an expression in Common Expression Language syntax.

### #expression=

    def expression=(value) -> ::String

**Parameter**

- **value** (::String) --- Textual representation of an expression in Common Expression Language syntax.
**Returns**

- (::String) --- Textual representation of an expression in Common Expression Language syntax.

### #location

    def location() -> ::String

**Returns**

- (::String) --- Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

### #location=

    def location=(value) -> ::String

**Parameter**

- **value** (::String) --- Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
**Returns**

- (::String) --- Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

### #title

    def title() -> ::String

**Returns**

- (::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.

### #title=

    def title=(value) -> ::String

**Parameter**

- **value** (::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.
**Returns**

- (::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.