# Infrastructure Manager V1 API - Class Google::Longrunning::Operation (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-Longrunning-Operation)
- [0.1.0](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/0.1.0/Google-Longrunning-Operation)
Reference documentation and code samples for the Infrastructure Manager V1 API class Google::Longrunning::Operation.

This resource represents a long-running operation that is the result of a
network API call.

## Inherits

- Object

## Extended By

- Google::Protobuf::MessageExts::ClassMethods

## Includes

- Google::Protobuf::MessageExts

## Methods

### #done

    def done() -> ::Boolean

**Returns**

- (::Boolean) --- If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.

### #done=

    def done=(value) -> ::Boolean

**Parameter**

- **value** (::Boolean) --- If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
**Returns**

- (::Boolean) --- If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.

### #error

    def error() -> ::Google::Rpc::Status

**Returns**

- ([::Google::Rpc::Status](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Rpc-Status)) --- The error result of the operation in case of failure or cancellation.

### #error=

    def error=(value) -> ::Google::Rpc::Status

**Parameter**

- **value** ([::Google::Rpc::Status](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Rpc-Status)) --- The error result of the operation in case of failure or cancellation.
**Returns**

- ([::Google::Rpc::Status](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Rpc-Status)) --- The error result of the operation in case of failure or cancellation.

### #metadata

    def metadata() -> ::Google::Protobuf::Any

**Returns**

- ([::Google::Protobuf::Any](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Any)) --- Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.

### #metadata=

    def metadata=(value) -> ::Google::Protobuf::Any

**Parameter**

- **value** ([::Google::Protobuf::Any](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Any)) --- Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
**Returns**

- ([::Google::Protobuf::Any](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Any)) --- Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.

### #name

    def name() -> ::String

**Returns**

- (::String) --- The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.

### #name=

    def name=(value) -> ::String

**Parameter**

- **value** (::String) --- The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
**Returns**

- (::String) --- The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.

### #response

    def response() -> ::Google::Protobuf::Any

**Returns**

- ([::Google::Protobuf::Any](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Any)) --- The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.

### #response=

    def response=(value) -> ::Google::Protobuf::Any

**Parameter**

- **value** ([::Google::Protobuf::Any](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Any)) --- The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
**Returns**

- ([::Google::Protobuf::Any](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Any)) --- The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.