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

Client for the Config service.


<br />

Infrastructure Manager is a managed service that automates the deployment and
management of Google Cloud infrastructure resources.

## Inherits

- Object

## Includes

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

## Methods

### .configure

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

Configure the Config Client class.


<br />

See [Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Client-Configuration "Google::Cloud::Config::V1::Config::Client::Configuration (class)")
for a description of the configuration fields.
**Yields**

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

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

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

```ruby
# Modify the configuration for all Config clients
::Google::Cloud::Config::V1::Config::Client.configure do |config|
  config.timeout = 10.0
end
```

### #configure

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

Configure the Config Client instance.


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 [Client.configure](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Client#Google__Cloud__Config__V1__Config__Client_configure_class_ "Google::Cloud::Config::V1::Config::Client.configure (method)").

<br />

See [Configuration](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Client-Configuration "Google::Cloud::Config::V1::Config::Client::Configuration (class)")
for a description of the configuration fields.
**Yields**

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

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

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

### #create_deployment

    def create_deployment(request, options = nil) -> ::Gapic::Operation
    def create_deployment(parent: nil, deployment_id: nil, deployment: nil, request_id: nil) -> ::Gapic::Operation

Creates a [Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment "Google::Cloud::Config::V1::Deployment (class)").
**Overloads**

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

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

- **request** ([::Google::Cloud::Config::V1::CreateDeploymentRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-CreateDeploymentRequest), ::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 create_deployment(parent: nil, deployment_id: nil, deployment: nil, request_id: nil) -> ::Gapic::Operation

Pass arguments to `create_deployment` 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**

- **parent** (::String) --- Required. The parent in whose context the Deployment is created. The parent value is in the format: 'projects/{project_id}/locations/{location}'.
- **deployment_id** (::String) --- Required. The Deployment ID.
- **deployment** ([::Google::Cloud::Config::V1::Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment), ::Hash) --- Required. [Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment "Google::Cloud::Config::V1::Deployment (class)") resource to be created.
- **request_id** (::String) --- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.


  For example, consider a situation where you make an initial request and the
  request times out. If you make the request again with the same request ID,
  the server can check if original operation with the same request ID was
  received, and if so, will ignore the second request. This prevents clients
  from accidentally creating duplicate commitments.

  The request ID must be a valid UUID with the exception that zero UUID is
  not supported (00000000-0000-0000-0000-000000000000).
**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/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::CreateDeploymentRequest.new

# Call the create_deployment method.
result = client.create_deployment 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
```

### #delete_deployment

    def delete_deployment(request, options = nil) -> ::Gapic::Operation
    def delete_deployment(name: nil, request_id: nil, force: nil, delete_policy: nil) -> ::Gapic::Operation

Deletes a [Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment "Google::Cloud::Config::V1::Deployment (class)").
**Overloads**

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

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

- **request** ([::Google::Cloud::Config::V1::DeleteDeploymentRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-DeleteDeploymentRequest), ::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_deployment(name: nil, request_id: nil, force: nil, delete_policy: nil) -> ::Gapic::Operation

Pass arguments to `delete_deployment` 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) --- Required. The name of the Deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
- **request_id** (::String) --- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request.


  For example, consider a situation where you make an initial request and the
  request times out. If you make the request again with the same request ID,
  the server can check if original operation with the same request ID was
  received, and if so, will ignore the second request. This prevents clients
  from accidentally creating duplicate commitments.

  The request ID must be a valid UUID with the exception that zero UUID is
  not supported (00000000-0000-0000-0000-000000000000).
- **force** (::Boolean) --- Optional. If set to true, any revisions for this deployment will also be deleted. (Otherwise, the request will only work if the deployment has no revisions.)
- **delete_policy** ([::Google::Cloud::Config::V1::DeleteDeploymentRequest::DeletePolicy](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-DeleteDeploymentRequest-DeletePolicy)) --- Optional. Policy on how resources actuated by the deployment should be deleted. If unspecified, the default behavior is to delete the underlying resources.
**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/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::DeleteDeploymentRequest.new

# Call the delete_deployment method.
result = client.delete_deployment 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
```

### #delete_statefile

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

Deletes Terraform state file in a given deployment.
**Overloads**

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

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

- **request** ([::Google::Cloud::Config::V1::DeleteStatefileRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-DeleteStatefileRequest), ::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_statefile(name: nil, lock_id: nil) -> ::Google::Protobuf::Empty

Pass arguments to `delete_statefile` 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) --- Required. The name of the deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
- **lock_id** (::Integer) --- Required. Lock ID of the lock file to verify that the user who is deleting the state file previously locked the Deployment.
**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/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::DeleteStatefileRequest.new

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

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

### #export_deployment_statefile

    def export_deployment_statefile(request, options = nil) -> ::Google::Cloud::Config::V1::Statefile
    def export_deployment_statefile(parent: nil, draft: nil) -> ::Google::Cloud::Config::V1::Statefile

Exports Terraform state file from a given deployment.
**Overloads**

    def export_deployment_statefile(request, options = nil) -> ::Google::Cloud::Config::V1::Statefile

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

- **request** ([::Google::Cloud::Config::V1::ExportDeploymentStatefileRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-ExportDeploymentStatefileRequest), ::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 export_deployment_statefile(parent: nil, draft: nil) -> ::Google::Cloud::Config::V1::Statefile

Pass arguments to `export_deployment_statefile` 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**

- **parent** (::String) --- Required. The parent in whose context the statefile is listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
- **draft** (::Boolean) --- Optional. If this flag is set to true, the exported deployment state file will be the draft state. This will enable the draft file to be validated before copying it over to the working state on unlock.
**Yields**

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

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

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

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::ExportDeploymentStatefileRequest.new

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

# The returned object is of type Google::Cloud::Config::V1::Statefile.
p result
```

### #export_lock_info

    def export_lock_info(request, options = nil) -> ::Google::Cloud::Config::V1::LockInfo
    def export_lock_info(name: nil) -> ::Google::Cloud::Config::V1::LockInfo

Exports the lock info on a locked deployment.
**Overloads**

    def export_lock_info(request, options = nil) -> ::Google::Cloud::Config::V1::LockInfo

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

- **request** ([::Google::Cloud::Config::V1::ExportLockInfoRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-ExportLockInfoRequest), ::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 export_lock_info(name: nil) -> ::Google::Cloud::Config::V1::LockInfo

Pass arguments to `export_lock_info` 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) --- Required. The name of the deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
**Yields**

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

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

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

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::ExportLockInfoRequest.new

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

# The returned object is of type Google::Cloud::Config::V1::LockInfo.
p result
```

### #export_revision_statefile

    def export_revision_statefile(request, options = nil) -> ::Google::Cloud::Config::V1::Statefile
    def export_revision_statefile(parent: nil) -> ::Google::Cloud::Config::V1::Statefile

Exports Terraform state file from a given revision.
**Overloads**

    def export_revision_statefile(request, options = nil) -> ::Google::Cloud::Config::V1::Statefile

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

- **request** ([::Google::Cloud::Config::V1::ExportRevisionStatefileRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-ExportRevisionStatefileRequest), ::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 export_revision_statefile(parent: nil) -> ::Google::Cloud::Config::V1::Statefile

Pass arguments to `export_revision_statefile` 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**

- **parent** (::String) --- Required. The parent in whose context the statefile is listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.
**Yields**

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

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

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

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::ExportRevisionStatefileRequest.new

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

# The returned object is of type Google::Cloud::Config::V1::Statefile.
p result
```

### #get_deployment

    def get_deployment(request, options = nil) -> ::Google::Cloud::Config::V1::Deployment
    def get_deployment(name: nil) -> ::Google::Cloud::Config::V1::Deployment

Gets details about a [Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment "Google::Cloud::Config::V1::Deployment (class)").
**Overloads**

    def get_deployment(request, options = nil) -> ::Google::Cloud::Config::V1::Deployment

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

- **request** ([::Google::Cloud::Config::V1::GetDeploymentRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-GetDeploymentRequest), ::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_deployment(name: nil) -> ::Google::Cloud::Config::V1::Deployment

Pass arguments to `get_deployment` 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) --- Required. The name of the deployment. Format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
**Yields**

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

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

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

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::GetDeploymentRequest.new

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

# The returned object is of type Google::Cloud::Config::V1::Deployment.
p result
```

### #get_resource

    def get_resource(request, options = nil) -> ::Google::Cloud::Config::V1::Resource
    def get_resource(name: nil) -> ::Google::Cloud::Config::V1::Resource

Gets details about a [Resource](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Resource "Google::Cloud::Config::V1::Resource (class)") deployed
by Infra Manager.
**Overloads**

    def get_resource(request, options = nil) -> ::Google::Cloud::Config::V1::Resource

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

- **request** ([::Google::Cloud::Config::V1::GetResourceRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-GetResourceRequest), ::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_resource(name: nil) -> ::Google::Cloud::Config::V1::Resource

Pass arguments to `get_resource` 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) --- Required. The name of the Resource in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}/resource/{resource}'.
**Yields**

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

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

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

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::GetResourceRequest.new

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

# The returned object is of type Google::Cloud::Config::V1::Resource.
p result
```

### #get_revision

    def get_revision(request, options = nil) -> ::Google::Cloud::Config::V1::Revision
    def get_revision(name: nil) -> ::Google::Cloud::Config::V1::Revision

Gets details about a [Revision](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Revision "Google::Cloud::Config::V1::Revision (class)").
**Overloads**

    def get_revision(request, options = nil) -> ::Google::Cloud::Config::V1::Revision

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

- **request** ([::Google::Cloud::Config::V1::GetRevisionRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-GetRevisionRequest), ::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_revision(name: nil) -> ::Google::Cloud::Config::V1::Revision

Pass arguments to `get_revision` 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) --- Required. The name of the Revision in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.
**Yields**

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

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

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

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::GetRevisionRequest.new

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

# The returned object is of type Google::Cloud::Config::V1::Revision.
p result
```

### #iam_policy_client

    def iam_policy_client() -> Google::Iam::V1::IAMPolicy::Client

Get the associated client for mix-in of the IAMPolicy.
**Returns**

- (Google::Iam::V1::IAMPolicy::Client)

### #import_statefile

    def import_statefile(request, options = nil) -> ::Google::Cloud::Config::V1::Statefile
    def import_statefile(parent: nil, lock_id: nil, skip_draft: nil) -> ::Google::Cloud::Config::V1::Statefile

Imports Terraform state file in a given deployment. The state file does not
take effect until the Deployment has been unlocked.
**Overloads**

    def import_statefile(request, options = nil) -> ::Google::Cloud::Config::V1::Statefile

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

- **request** ([::Google::Cloud::Config::V1::ImportStatefileRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-ImportStatefileRequest), ::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 import_statefile(parent: nil, lock_id: nil, skip_draft: nil) -> ::Google::Cloud::Config::V1::Statefile

Pass arguments to `import_statefile` 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**

- **parent** (::String) --- Required. The parent in whose context the statefile is listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
- **lock_id** (::Integer) --- Required. Lock ID of the lock file to verify that the user who is importing the state file previously locked the Deployment.
- **skip_draft** (::Boolean) --- Optional.
**Yields**

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

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

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

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::ImportStatefileRequest.new

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

# The returned object is of type Google::Cloud::Config::V1::Statefile.
p result
```

### #initialize

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

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

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

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

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

```ruby
# Create a client using the default configuration
client = ::Google::Cloud::Config::V1::Config::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Config::V1::Config::Client.new do |config|
  config.timeout = 10.0
end
```

### #list_deployments

    def list_deployments(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Deployment>
    def list_deployments(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Deployment>

Lists {::Google::Cloud::Config::V1::Deployment Deployment}s in a given project
and location.
**Overloads**

    def list_deployments(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Deployment>

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

- **request** ([::Google::Cloud::Config::V1::ListDeploymentsRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-ListDeploymentsRequest), ::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_deployments(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Deployment>

Pass arguments to `list_deployments` 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**

- **parent** (::String) --- Required. The parent in whose context the Deployments are listed. The parent value is in the format: 'projects/{project_id}/locations/{location}'.
- **page_size** (::Integer) --- When requesting a page of resources, 'page_size' specifies number of resources to return. If unspecified or set to 0, all resources will be returned.
- **page_token** (::String) --- Token returned by previous call to 'ListDeployments' which specifies the position in the list from where to continue listing the resources.
- **filter** (::String) ---

  Lists the Deployments that match the filter expression. A filter
  expression filters the resources listed in the response. The expression
  must be of the form '{field} {operator} {value}' where operators: '\<', '\>',
  '\<=', '\>=', '!=', '=', ':' are supported (colon ':' represents a HAS
  operator which is roughly synonymous with equality). {field} can refer to a
  proto or JSON field, or a synthetic field. Field names can be camelCase or
  snake_case.

  Examples:
  - Filter by name:
    name = "projects/foo/locations/us-central1/deployments/bar

  - Filter by labels:

    - Resources that have a key called 'foo' labels.foo:\*
    - Resources that have a key called 'foo' whose value is 'bar' labels.foo = bar
  - Filter by state:

    - Deployments in CREATING state. state=CREATING
- **order_by** (::String) --- Field to use to sort the list.
**Yields**

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

- **response** (::Gapic::PagedEnumerable\<[::Google::Cloud::Config::V1::Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment)\>)
- **operation** (::GRPC::ActiveCall::Operation)
**Returns**

- (::Gapic::PagedEnumerable\<[::Google::Cloud::Config::V1::Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment)\>)
**Raises**

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::ListDeploymentsRequest.new

# Call the list_deployments method.
result = client.list_deployments 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::Cloud::Config::V1::Deployment.
  p item
end
```

### #list_resources

    def list_resources(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Resource>
    def list_resources(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Resource>

Lists {::Google::Cloud::Config::V1::Resource Resource}s in a given revision.
**Overloads**

    def list_resources(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Resource>

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

- **request** ([::Google::Cloud::Config::V1::ListResourcesRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-ListResourcesRequest), ::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_resources(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Resource>

Pass arguments to `list_resources` 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**

- **parent** (::String) --- Required. The parent in whose context the Resources are listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}/revisions/{revision}'.
- **page_size** (::Integer) --- When requesting a page of resources, 'page_size' specifies number of resources to return. If unspecified or set to 0, all resources will be returned.
- **page_token** (::String) --- Token returned by previous call to 'ListResources' which specifies the position in the list from where to continue listing the resources.
- **filter** (::String) ---

  Lists the Resources that match the filter expression. A filter
  expression filters the resources listed in the response. The expression
  must be of the form '{field} {operator} {value}' where operators: '\<', '\>',
  '\<=',
  '\>=',
  '!=', '=', ':' are supported (colon ':' represents a HAS operator which is
  roughly synonymous with equality). {field} can refer to a proto or JSON
  field, or a synthetic field. Field names can be camelCase or snake_case.

  Examples:
  - Filter by name: name = "projects/foo/locations/us-central1/deployments/dep/revisions/bar/resources/baz
- **order_by** (::String) --- Field to use to sort the list.
**Yields**

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

- **response** (::Gapic::PagedEnumerable\<[::Google::Cloud::Config::V1::Resource](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Resource)\>)
- **operation** (::GRPC::ActiveCall::Operation)
**Returns**

- (::Gapic::PagedEnumerable\<[::Google::Cloud::Config::V1::Resource](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Resource)\>)
**Raises**

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::ListResourcesRequest.new

# Call the list_resources method.
result = client.list_resources 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::Cloud::Config::V1::Resource.
  p item
end
```

### #list_revisions

    def list_revisions(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Revision>
    def list_revisions(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Revision>

Lists {::Google::Cloud::Config::V1::Revision Revision}s of a deployment.
**Overloads**

    def list_revisions(request, options = nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Revision>

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

- **request** ([::Google::Cloud::Config::V1::ListRevisionsRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-ListRevisionsRequest), ::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_revisions(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil) -> ::Gapic::PagedEnumerable<::Google::Cloud::Config::V1::Revision>

Pass arguments to `list_revisions` 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**

- **parent** (::String) --- Required. The parent in whose context the Revisions are listed. The parent value is in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
- **page_size** (::Integer) --- When requesting a page of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.
- **page_token** (::String) --- Token returned by previous call to 'ListRevisions' which specifies the position in the list from where to continue listing the resources.
- **filter** (::String) ---

  Lists the Revisions that match the filter expression. A filter
  expression filters the resources listed in the response. The expression
  must be of the form '{field} {operator} {value}' where operators: '\<', '\>',
  '\<=', '\>=', '!=', '=', ':' are supported (colon ':' represents a HAS
  operator which is roughly synonymous with equality). {field} can refer to a
  proto or JSON field, or a synthetic field. Field names can be camelCase or
  snake_case.

  Examples:
  - Filter by name:
    name = "projects/foo/locations/us-central1/deployments/dep/revisions/bar

  - Filter by labels:

    - Resources that have a key called 'foo' labels.foo:\*
    - Resources that have a key called 'foo' whose value is 'bar' labels.foo = bar
  - Filter by state:

    - Revisions in CREATING state. state=CREATING
- **order_by** (::String) --- Field to use to sort the list.
**Yields**

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

- **response** (::Gapic::PagedEnumerable\<[::Google::Cloud::Config::V1::Revision](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Revision)\>)
- **operation** (::GRPC::ActiveCall::Operation)
**Returns**

- (::Gapic::PagedEnumerable\<[::Google::Cloud::Config::V1::Revision](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Revision)\>)
**Raises**

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

Basic example

```ruby
require "google/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::ListRevisionsRequest.new

# Call the list_revisions method.
result = client.list_revisions 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::Cloud::Config::V1::Revision.
  p item
end
```

### #location_client

    def location_client() -> Google::Cloud::Location::Locations::Client

Get the associated client for mix-in of the Locations.
**Returns**

- (Google::Cloud::Location::Locations::Client)

### #lock_deployment

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

Locks a deployment.
**Overloads**

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

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

- **request** ([::Google::Cloud::Config::V1::LockDeploymentRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-LockDeploymentRequest), ::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 lock_deployment(name: nil) -> ::Gapic::Operation

Pass arguments to `lock_deployment` 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) --- Required. The name of the deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
**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/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::LockDeploymentRequest.new

# Call the lock_deployment method.
result = client.lock_deployment 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
```

### #operations_client

    def operations_client() -> ::Google::Cloud::Config::V1::Config::Operations

Get the associated client for long-running operations.
**Returns**

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

### #unlock_deployment

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

Unlocks a locked deployment.
**Overloads**

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

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

- **request** ([::Google::Cloud::Config::V1::UnlockDeploymentRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-UnlockDeploymentRequest), ::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 unlock_deployment(name: nil, lock_id: nil) -> ::Gapic::Operation

Pass arguments to `unlock_deployment` 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) --- Required. The name of the deployment in the format: 'projects/{project_id}/locations/{location}/deployments/{deployment}'.
- **lock_id** (::Integer) --- Required. Lock ID of the lock file to be unlocked.
**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/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::UnlockDeploymentRequest.new

# Call the unlock_deployment method.
result = client.unlock_deployment 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
```

### #update_deployment

    def update_deployment(request, options = nil) -> ::Gapic::Operation
    def update_deployment(update_mask: nil, deployment: nil, request_id: nil) -> ::Gapic::Operation

Updates a [Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment "Google::Cloud::Config::V1::Deployment (class)").
**Overloads**

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

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

- **request** ([::Google::Cloud::Config::V1::UpdateDeploymentRequest](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-UpdateDeploymentRequest), ::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 update_deployment(update_mask: nil, deployment: nil, request_id: nil) -> ::Gapic::Operation

Pass arguments to `update_deployment` 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**

- **update_mask** ([::Google::Protobuf::FieldMask](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Protobuf-FieldMask), ::Hash) --- Optional. Field mask used to specify the fields to be overwritten in the Deployment resource by the update.


  The fields specified in the update_mask are relative to the resource, not
  the full request. A field will be overwritten if it is in the mask. If the
  user does not provide a mask then all fields will be overwritten.
- **deployment** ([::Google::Cloud::Config::V1::Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment), ::Hash) --- Required. [Deployment](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Deployment "Google::Cloud::Config::V1::Deployment (class)") to update.


  The deployment's `name` field is used to identify the resource to be
  updated. Format:
  `projects/{project}/locations/{location}/deployments/{deployment}`
- **request_id** (::String) --- Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request.


  For example, consider a situation where you make an initial request and the
  request times out. If you make the request again with the same request ID,
  the server can check if original operation with the same request ID was
  received, and if so, will ignore the second request. This prevents clients
  from accidentally creating duplicate commitments.

  The request ID must be a valid UUID with the exception that zero UUID is
  not supported (00000000-0000-0000-0000-000000000000).
**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/cloud/config/v1"

# Create a client object. The client can be reused for multiple calls.
client = Google::Cloud::Config::V1::Config::Client.new

# Create a request. To set request fields, pass in keyword arguments.
request = Google::Cloud::Config::V1::UpdateDeploymentRequest.new

# Call the update_deployment method.
result = client.update_deployment 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
```