> ## Documentation Index
> Fetch the complete documentation index at: https://cdktn.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Python: DataTerraformRemoteStateConsulConfig

> CDKTN Core API Reference for DataTerraformRemoteStateConsulConfig in Python.

## Initializer <a name="Initializer" id="cdktn.DataTerraformRemoteStateConsulConfig.Initializer" />

```python theme={null}
import cdktn

cdktn.DataTerraformRemoteStateConsulConfig(
  defaults: typing.Mapping[typing.Any] = None,
  workspace: str = None,
  access_token: str,
  path: str,
  address: str = None,
  ca_file: str = None,
  cert_file: str = None,
  datacenter: str = None,
  gzip: bool = None,
  http_auth: str = None,
  key_file: str = None,
  lock: bool = None,
  scheme: str = None
)
```

## Properties <a name="Properties" id="Properties" />

| **Name**                                                                                                  | **Type**                                 | **Description**                                                                                                                        |
| --------------------------------------------------------------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.defaults">defaults</a></code>         | <code>typing.Mapping\[typing.Any]</code> | *No description.*                                                                                                                      |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.workspace">workspace</a></code>       | <code>str</code>                         | *No description.*                                                                                                                      |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.accessToken">access\_token</a></code> | <code>str</code>                         | (Required) Access token.                                                                                                               |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.path">path</a></code>                 | <code>str</code>                         | (Required) Path in the Consul KV store.                                                                                                |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.address">address</a></code>           | <code>str</code>                         | (Optional) DNS name and port of your Consul endpoint specified in the format dnsname:port.                                             |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.caFile">ca\_file</a></code>           | <code>str</code>                         | (Optional) A path to a PEM-encoded certificate authority used to verify the remote agent's certificate.                                |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.certFile">cert\_file</a></code>       | <code>str</code>                         | (Optional) A path to a PEM-encoded certificate provided to the remote agent;                                                           |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.datacenter">datacenter</a></code>     | <code>str</code>                         | (Optional) The datacenter to use.                                                                                                      |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.gzip">gzip</a></code>                 | <code>bool</code>                        | (Optional) true to compress the state data using gzip, or false (the default) to leave it uncompressed.                                |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.httpAuth">http\_auth</a></code>       | <code>str</code>                         | (Optional) HTTP Basic Authentication credentials to be used when communicating with Consul, in the format of either user or user:pass. |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.keyFile">key\_file</a></code>         | <code>str</code>                         | (Optional) A path to a PEM-encoded private key, required if cert\_file is specified.                                                   |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.lock">lock</a></code>                 | <code>bool</code>                        | (Optional) false to disable locking.                                                                                                   |
| <code><a href="#cdktn.DataTerraformRemoteStateConsulConfig.property.scheme">scheme</a></code>             | <code>str</code>                         | (Optional) Specifies what protocol to use when talking to the given address,either http or https.                                      |

***

### `defaults`<sup>Optional</sup> <a name="defaults" id="cdktn.DataTerraformRemoteStateConsulConfig.property.defaults" />

```python theme={null}
defaults: typing.Mapping[typing.Any]
```

* *Type:* typing.Mapping\[typing.Any]

***

### `workspace`<sup>Optional</sup> <a name="workspace" id="cdktn.DataTerraformRemoteStateConsulConfig.property.workspace" />

```python theme={null}
workspace: str
```

* *Type:* str

***

### `access_token`<sup>Required</sup> <a name="access_token" id="cdktn.DataTerraformRemoteStateConsulConfig.property.accessToken" />

```python theme={null}
access_token: str
```

* *Type:* str

(Required) Access token.

***

### `path`<sup>Required</sup> <a name="path" id="cdktn.DataTerraformRemoteStateConsulConfig.property.path" />

```python theme={null}
path: str
```

* *Type:* str

(Required) Path in the Consul KV store.

***

### `address`<sup>Optional</sup> <a name="address" id="cdktn.DataTerraformRemoteStateConsulConfig.property.address" />

```python theme={null}
address: str
```

* *Type:* str

(Optional) DNS name and port of your Consul endpoint specified in the format dnsname:port.

Defaults to the local agent HTTP listener.

***

### `ca_file`<sup>Optional</sup> <a name="ca_file" id="cdktn.DataTerraformRemoteStateConsulConfig.property.caFile" />

```python theme={null}
ca_file: str
```

* *Type:* str

(Optional) A path to a PEM-encoded certificate authority used to verify the remote agent's certificate.

***

### `cert_file`<sup>Optional</sup> <a name="cert_file" id="cdktn.DataTerraformRemoteStateConsulConfig.property.certFile" />

```python theme={null}
cert_file: str
```

* *Type:* str

(Optional) A path to a PEM-encoded certificate provided to the remote agent;

requires use of key\_file.

***

### `datacenter`<sup>Optional</sup> <a name="datacenter" id="cdktn.DataTerraformRemoteStateConsulConfig.property.datacenter" />

```python theme={null}
datacenter: str
```

* *Type:* str

(Optional) The datacenter to use.

Defaults to that of the agent.

***

### `gzip`<sup>Optional</sup> <a name="gzip" id="cdktn.DataTerraformRemoteStateConsulConfig.property.gzip" />

```python theme={null}
gzip: bool
```

* *Type:* bool

(Optional) true to compress the state data using gzip, or false (the default) to leave it uncompressed.

***

### `http_auth`<sup>Optional</sup> <a name="http_auth" id="cdktn.DataTerraformRemoteStateConsulConfig.property.httpAuth" />

```python theme={null}
http_auth: str
```

* *Type:* str

(Optional) HTTP Basic Authentication credentials to be used when communicating with Consul, in the format of either user or user:pass.

***

### `key_file`<sup>Optional</sup> <a name="key_file" id="cdktn.DataTerraformRemoteStateConsulConfig.property.keyFile" />

```python theme={null}
key_file: str
```

* *Type:* str

(Optional) A path to a PEM-encoded private key, required if cert\_file is specified.

***

### `lock`<sup>Optional</sup> <a name="lock" id="cdktn.DataTerraformRemoteStateConsulConfig.property.lock" />

```python theme={null}
lock: bool
```

* *Type:* bool

(Optional) false to disable locking.

This defaults to true, but will require session permissions with Consul and
at least kv write permissions on \$path/.lock to perform locking.

***

### `scheme`<sup>Optional</sup> <a name="scheme" id="cdktn.DataTerraformRemoteStateConsulConfig.property.scheme" />

```python theme={null}
scheme: str
```

* *Type:* str

(Optional) Specifies what protocol to use when talking to the given address,either http or https.

SSL support can also be triggered by setting then environment variable CONSUL\_HTTP\_SSL to true.

***
