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

Service that implements Longrunning Operations API.

## Inherits

- Object

## Methods

### .configure

    def self.configure() { |config| ... } -> Operations::Configuration

Configuration for the Config Operations API.
**Yields**

- (config) --- Configure the Operations client.
**Yield Parameter**

- **config** ([Operations::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Operations-Configuration))
**Returns**

- ([Operations::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Operations-Configuration))

### #cancel_operation

    def cancel_operation(request, options = nil) -> ::Google::Protobuf::Empty
    def cancel_operation(name: nil) -> ::Google::Protobuf::Empty

Starts asynchronous cancellation on a long-running operation. The server
makes a best effort to cancel the operation, but success is not
guaranteed. If the server doesn't support this method, it returns
`google.rpc.Code.UNIMPLEMENTED`. Clients can use
Operations.GetOperation or
other methods to check whether the cancellation succeeded or whether the
operation completed despite cancellation. On successful cancellation,
the operation is not deleted; instead, it becomes an operation with
an [Operation.error](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-Operation#Google__Longrunning__Operation_error_instance_ "Google::Longrunning::Operation#error (method)") value with a [google.rpc.Status.code](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Rpc-Status#Google__Rpc__Status_code_instance_ "Google::Rpc::Status#code (method)") of 1,
corresponding to `Code.CANCELLED`.
**Overloads**

    def cancel_operation(request, options = nil) -> ::Google::Protobuf::Empty

Pass arguments to `cancel_operation` via a request object, either of type [Longrunning::CancelOperationRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-CancelOperationRequest "Google::Longrunning::CancelOperationRequest (class)") or an equivalent Hash. **Parameters**

- **request** ([::Google::Longrunning::CancelOperationRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-CancelOperationRequest), ::Hash) --- A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
- **options** (::Gapic::CallOptions, ::Hash) --- Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

    def cancel_operation(name: nil) -> ::Google::Protobuf::Empty

Pass arguments to `cancel_operation` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). **Parameter**

- **name** (::String) --- The name of the operation resource to be cancelled.
**Yields**

- (response, operation) --- Access the result along with the RPC operation
**Yield Parameters**

- **response** ([::Google::Protobuf::Empty](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Empty))
- **operation** (::GRPC::ActiveCall::Operation)
**Returns**

- ([::Google::Protobuf::Empty](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Empty))
**Raises**

- (::Google::Cloud::Error) --- if the RPC is aborted.
**Example**

Basic example

```ruby
require "google/longrunning"

# Create a client object. The client can be reused for multiple calls.
client = Google::Longrunning::Operations::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Longrunning::CancelOperationRequest.new

# Call the cancel_operation method.
result = client.cancel_operation request

# The returned object is of type Google::Protobuf::Empty.
p result
```

### #configure

    def configure() { |config| ... } -> Operations::Configuration

Configure the Config Operations instance.


<br />

The configuration is set to the derived mode, meaning that values can be changed,
but structural changes (adding new fields, etc.) are not allowed. Structural changes
should be made on [Operations.configure](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Operations#Google__Cloud__Config__V1__Config__Operations_configure_class_ "Google::Cloud::Config::V1::Config::Operations.configure (method)").
**Yields**

- (config) --- Configure the Operations client.
**Yield Parameter**

- **config** ([Operations::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Operations-Configuration))
**Returns**

- ([Operations::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Operations-Configuration))

### #delete_operation

    def delete_operation(request, options = nil) -> ::Google::Protobuf::Empty
    def delete_operation(name: nil) -> ::Google::Protobuf::Empty

Deletes a long-running operation. This method indicates that the client is
no longer interested in the operation result. It does not cancel the
operation. If the server doesn't support this method, it returns
`google.rpc.Code.UNIMPLEMENTED`.
**Overloads**

    def delete_operation(request, options = nil) -> ::Google::Protobuf::Empty

Pass arguments to `delete_operation` via a request object, either of type [Longrunning::DeleteOperationRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-DeleteOperationRequest "Google::Longrunning::DeleteOperationRequest (class)") or an equivalent Hash. **Parameters**

- **request** ([::Google::Longrunning::DeleteOperationRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-DeleteOperationRequest), ::Hash) --- A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
- **options** (::Gapic::CallOptions, ::Hash) --- Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

    def delete_operation(name: nil) -> ::Google::Protobuf::Empty

Pass arguments to `delete_operation` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). **Parameter**

- **name** (::String) --- The name of the operation resource to be deleted.
**Yields**

- (response, operation) --- Access the result along with the RPC operation
**Yield Parameters**

- **response** ([::Google::Protobuf::Empty](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Empty))
- **operation** (::GRPC::ActiveCall::Operation)
**Returns**

- ([::Google::Protobuf::Empty](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Empty))
**Raises**

- (::Google::Cloud::Error) --- if the RPC is aborted.
**Example**

Basic example

```ruby
require "google/longrunning"

# Create a client object. The client can be reused for multiple calls.
client = Google::Longrunning::Operations::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Longrunning::DeleteOperationRequest.new

# Call the delete_operation method.
result = client.delete_operation request

# The returned object is of type Google::Protobuf::Empty.
p result
```

### #get_operation

    def get_operation(request, options = nil) -> ::Gapic::Operation
    def get_operation(name: nil) -> ::Gapic::Operation

Gets the latest state of a long-running operation. Clients can use this
method to poll the operation result at intervals as recommended by the API
service.
**Overloads**

    def get_operation(request, options = nil) -> ::Gapic::Operation

Pass arguments to `get_operation` via a request object, either of type [Longrunning::GetOperationRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-GetOperationRequest "Google::Longrunning::GetOperationRequest (class)") or an equivalent Hash. **Parameters**

- **request** ([::Google::Longrunning::GetOperationRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-GetOperationRequest), ::Hash) --- A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
- **options** (::Gapic::CallOptions, ::Hash) --- Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

    def get_operation(name: nil) -> ::Gapic::Operation

Pass arguments to `get_operation` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). **Parameter**

- **name** (::String) --- The name of the operation resource.
**Yields**

- (response, operation) --- Access the result along with the RPC operation
**Yield Parameters**

- **response** (::Gapic::Operation)
- **operation** (::GRPC::ActiveCall::Operation)
**Returns**

- (::Gapic::Operation)
**Raises**

- (::Google::Cloud::Error) --- if the RPC is aborted.
**Example**

Basic example

```ruby
require "google/longrunning"

# Create a client object. The client can be reused for multiple calls.
client = Google::Longrunning::Operations::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Longrunning::GetOperationRequest.new

# Call the get_operation method.
result = client.get_operation request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end
```

### #initialize

    def initialize() { |config| ... } -> Operations

Create a new Operations client object.
**Yields**

- (config) --- Configure the Client client.
**Yield Parameter**

- **config** ([Operations::Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Operations-Configuration))
**Returns**

- ([Operations](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Operations)) --- a new instance of Operations

### #list_operations

    def list_operations(request, options = nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>
    def list_operations(name: nil, filter: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>

Lists operations that match the specified filter in the request. If the
server doesn't support this method, it returns `UNIMPLEMENTED`.


<br />

NOTE: the `name` binding allows API services to override the binding
to use different resource name schemes, such as `users//operations`. To
override the binding, API services can add a binding such as
`"/v1/{name=users/}/operations"` to their service configuration.
For backwards compatibility, the default name includes the operations
collection id, however overriding users must ensure the name binding
is the parent resource, without the operations collection id.
**Overloads**

    def list_operations(request, options = nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>

Pass arguments to `list_operations` via a request object, either of type [Longrunning::ListOperationsRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-ListOperationsRequest "Google::Longrunning::ListOperationsRequest (class)") or an equivalent Hash. **Parameters**

- **request** ([::Google::Longrunning::ListOperationsRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-ListOperationsRequest), ::Hash) --- A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
- **options** (::Gapic::CallOptions, ::Hash) --- Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

    def list_operations(name: nil, filter: nil, page_size: nil, page_token: nil) -> ::Gapic::PagedEnumerable<::Gapic::Operation>

Pass arguments to `list_operations` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). **Parameters**

- **name** (::String) --- The name of the operation's parent resource.
- **filter** (::String) --- The standard list filter.
- **page_size** (::Integer) --- The standard list page size.
- **page_token** (::String) --- The standard list page token.
**Yields**

- (response, operation) --- Access the result along with the RPC operation
**Yield Parameters**

- **response** (::Gapic::PagedEnumerable\<::Gapic::Operation\>)
- **operation** (::GRPC::ActiveCall::Operation)
**Returns**

- (::Gapic::PagedEnumerable\<::Gapic::Operation\>)
**Raises**

- (::Google::Cloud::Error) --- if the RPC is aborted.
**Example**

Basic example

```ruby
require "google/longrunning"

# Create a client object. The client can be reused for multiple calls.
client = Google::Longrunning::Operations::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Longrunning::ListOperationsRequest.new

# Call the list_operations method.
result = client.list_operations request

# The returned object is of type Gapic::PagedEnumerable. You can iterate
# over elements, and API calls will be issued to fetch pages as needed.
result.each do |item|
  # Each element is of type ::Google::Longrunning::Operation.
  p item
end
```

### #wait_operation

    def wait_operation(request, options = nil) -> ::Gapic::Operation
    def wait_operation(name: nil, timeout: nil) -> ::Gapic::Operation

Waits until the specified long-running operation is done or reaches at most
a specified timeout, returning the latest state. If the operation is
already done, the latest state is immediately returned. If the timeout
specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
timeout is used. If the server does not support this method, it returns
`google.rpc.Code.UNIMPLEMENTED`.
Note that this method is on a best-effort basis. It may return the latest
state before the specified timeout (including immediately), meaning even an
immediate response is no guarantee that the operation is done.
**Overloads**

    def wait_operation(request, options = nil) -> ::Gapic::Operation

Pass arguments to `wait_operation` via a request object, either of type [Longrunning::WaitOperationRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-WaitOperationRequest "Google::Longrunning::WaitOperationRequest (class)") or an equivalent Hash. **Parameters**

- **request** ([::Google::Longrunning::WaitOperationRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Longrunning-WaitOperationRequest), ::Hash) --- A request object representing the call parameters. Required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash.
- **options** (::Gapic::CallOptions, ::Hash) --- Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

    def wait_operation(name: nil, timeout: nil) -> ::Gapic::Operation

Pass arguments to `wait_operation` via keyword arguments. Note that at least one keyword argument is required. To specify no parameters, or to keep all the default parameter values, pass an empty Hash as a request object (see above). **Parameters**

- **name** (::String) --- The name of the operation resource to wait on.
- **timeout** ([::Google::Protobuf::Duration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-Duration), ::Hash) --- The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.
**Yields**

- (response, operation) --- Access the result along with the RPC operation
**Yield Parameters**

- **response** (::Gapic::Operation)
- **operation** (::GRPC::ActiveCall::Operation)
**Returns**

- (::Gapic::Operation)
**Raises**

- (::Google::Cloud::Error) --- if the RPC is aborted.
**Example**

Basic example

```ruby
require "google/longrunning"

# Create a client object. The client can be reused for multiple calls.
client = Google::Longrunning::Operations::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Longrunning::WaitOperationRequest.new

# Call the wait_operation method.
result = client.wait_operation request

# The returned object is of type Gapic::Operation. You can use it to
# check the status of an operation, cancel it, or wait for results.
# Here is how to wait for a response.
result.wait_until_done! timeout: 60
if result.response?
  p result.response
else
  puts "No response received."
end
```