| --- |
| page_title: 'Backend Type: etcd' |
| description: Terraform can store state remotely in etcd 2.x. |
| --- |
| |
| # etcd |
| |
| Stores the state in [etcd 2.x](https://coreos.com/etcd/docs/latest/v2/README.html) at a given path. |
| |
| This backend does **not** support [state locking](/language/state/locking). |
| |
| ## Example Configuration |
| |
| ```hcl |
| terraform { |
| backend "etcd" { |
| path = "path/to/terraform.tfstate" |
| endpoints = "http://one:4001 http://two:4001" |
| } |
| } |
| ``` |
| |
| ## Data Source Configuration |
| |
| ```hcl |
| data "terraform_remote_state" "foo" { |
| backend = "etcd" |
| config = { |
| path = "path/to/terraform.tfstate" |
| endpoints = "http://one:4001 http://two:4001" |
| } |
| } |
| ``` |
| |
| ## Configuration Variables |
| |
| !> **Warning:** We recommend using environment variables to supply credentials and other sensitive data. If you use `-backend-config` or hardcode these values directly in your configuration, Terraform will include these values in both the `.terraform` subdirectory and in plan files. Refer to [Credentials and Sensitive Data](/language/settings/backends/configuration#credentials-and-sensitive-data) for details. |
| |
| The following configuration options are supported: |
| |
| - `path` - (Required) The path where to store the state |
| - `endpoints` - (Required) A space-separated list of the etcd endpoints |
| - `username` - (Optional) The username |
| - `password` - (Optional) The password |