# Infrastructure Manager V1 API - Class Google::Type::Expr (v0.2.0)

<button class="button button-with-icon cloud-select-dropdown__button " aria-haspopup="true">Version latest</button>

- [0.2.0 (latest)](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Type-Expr)
- [0.1.0](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/0.1.0/Google-Type-Expr)
Reference documentation and code samples for the Infrastructure 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.