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

Configuration class for the Config REST API.


This class represents the configuration for Config REST,
providing control over timeouts, retry behavior, logging, transport
parameters, and other low-level controls. Certain parameters can also be
applied individually to specific RPCs. See
[Rpcs](https://docs.cloud.google.com/ruby/docs/reference/google-cloud-config-v1/latest/Google-Cloud-Config-V1-Config-Rest-Client-Configuration-Rpcs "Google::Cloud::Config::V1::Config::Rest::Client::Configuration::Rpcs (class)")
for a list of RPCs that can be configured independently.

<br />

Configuration can be applied globally to all clients, or to a single client
on construction.

## Inherits

- Object

## Extended By

- Gapic::Config

## Example

```ruby
# Modify the global config, setting the timeout for
# list_deployments to 20 seconds,
# and all remaining timeouts to 10 seconds.
::Google::Cloud::Config::V1::Config::Rest::Client.configure do |config|
  config.timeout = 10.0
  config.rpcs.list_deployments.timeout = 20.0
end

# Apply the above configuration only to a new client.
client = ::Google::Cloud::Config::V1::Config::Rest::Client.new do |config|
  config.timeout = 10.0
  config.rpcs.list_deployments.timeout = 20.0
end
```

## Methods

### #credentials

    def credentials() -> ::Object

Credentials to send with calls. You may provide any of the following types:

- (`String`) The path to a service account key file in JSON format
- (`Hash`) A service account key as a Hash
- (`Google::Auth::Credentials`) A googleauth credentials object (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
- (`Signet::OAuth2::Client`) A signet oauth2 client object (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
- (`nil`) indicating no credentials
**Returns**

- (::Object)

### #credentials=

    def credentials=(value) -> ::Object

Credentials to send with calls. You may provide any of the following types:

- (`String`) The path to a service account key file in JSON format
- (`Hash`) A service account key as a Hash
- (`Google::Auth::Credentials`) A googleauth credentials object (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
- (`Signet::OAuth2::Client`) A signet oauth2 client object (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
- (`nil`) indicating no credentials
**Parameter**

- **value** (::Object)
**Returns**

- (::Object)

### #endpoint

    def endpoint() -> ::String

The hostname or hostname:port of the service endpoint.
Defaults to `"config.googleapis.com"`.
**Returns**

- (::String)

### #endpoint=

    def endpoint=(value) -> ::String

The hostname or hostname:port of the service endpoint.
Defaults to `"config.googleapis.com"`.
**Parameter**

- **value** (::String)
**Returns**

- (::String)

### #lib_name

    def lib_name() -> ::String

The library name as recorded in instrumentation and logging
**Returns**

- (::String)

### #lib_name=

    def lib_name=(value) -> ::String

The library name as recorded in instrumentation and logging
**Parameter**

- **value** (::String)
**Returns**

- (::String)

### #lib_version

    def lib_version() -> ::String

The library version as recorded in instrumentation and logging
**Returns**

- (::String)

### #lib_version=

    def lib_version=(value) -> ::String

The library version as recorded in instrumentation and logging
**Parameter**

- **value** (::String)
**Returns**

- (::String)

### #metadata

    def metadata() -> ::Hash{::Symbol=>::String}

Additional headers to be sent with the call.
**Returns**

- (::Hash{::Symbol=\>::String})

### #metadata=

    def metadata=(value) -> ::Hash{::Symbol=>::String}

Additional headers to be sent with the call.
**Parameter**

- **value** (::Hash{::Symbol=\>::String})
**Returns**

- (::Hash{::Symbol=\>::String})

### #quota_project

    def quota_project() -> ::String

A separate project against which to charge quota.
**Returns**

- (::String)

### #quota_project=

    def quota_project=(value) -> ::String

A separate project against which to charge quota.
**Parameter**

- **value** (::String)
**Returns**

- (::String)

### #retry_policy

    def retry_policy() -> ::Hash

The retry policy. The value is a hash with the following keys:

- `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
- `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
- `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
- `:retry_codes` (*type:* `Array<String>`) - The error codes that should trigger a retry.
**Returns**

- (::Hash)

### #retry_policy=

    def retry_policy=(value) -> ::Hash

The retry policy. The value is a hash with the following keys:

- `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
- `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
- `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
- `:retry_codes` (*type:* `Array<String>`) - The error codes that should trigger a retry.
**Parameter**

- **value** (::Hash)
**Returns**

- (::Hash)

### #rpcs

    def rpcs() -> Rpcs

Configurations for individual RPCs
**Returns**

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

### #scope

    def scope() -> ::Array<::String>

The OAuth scopes
**Returns**

- (::Array\<::String\>)

### #scope=

    def scope=(value) -> ::Array<::String>

The OAuth scopes
**Parameter**

- **value** (::Array\<::String\>)
**Returns**

- (::Array\<::String\>)

### #timeout

    def timeout() -> ::Numeric

The call timeout in seconds.
**Returns**

- (::Numeric)

### #timeout=

    def timeout=(value) -> ::Numeric

The call timeout in seconds.
**Parameter**

- **value** (::Numeric)
**Returns**

- (::Numeric)

## Constants

### DEFAULT_ENDPOINT

**value:**"config.googleapis.com"