github.com/hugorut/terraform@v1.1.3/website/docs/language/settings/backends/etcdv3.mdx (about) 1 --- 2 page_title: 'Backend Type: etcdv3' 3 description: Terraform can store state remotely in etcd 3.x. 4 --- 5 6 # etcdv3 7 8 Stores the state in the [etcd](https://etcd.io/) KV store with a given prefix. 9 10 This backend supports [state locking](/language/state/locking). 11 12 ## Example Configuration 13 14 ```hcl 15 terraform { 16 backend "etcdv3" { 17 endpoints = ["etcd-1:2379", "etcd-2:2379", "etcd-3:2379"] 18 lock = true 19 prefix = "terraform-state/" 20 } 21 } 22 ``` 23 24 Note that for the access credentials we recommend using a 25 [partial configuration](/language/settings/backends/configuration#partial-configuration). 26 27 ## Data Source Configuration 28 29 ```hcl 30 data "terraform_remote_state" "foo" { 31 backend = "etcdv3" 32 config = { 33 endpoints = ["etcd-1:2379", "etcd-2:2379", "etcd-3:2379"] 34 lock = true 35 prefix = "terraform-state/" 36 } 37 } 38 ``` 39 40 ## Configuration variables 41 42 The following configuration options / environment variables are supported: 43 44 - `endpoints` - (Required) The list of 'etcd' endpoints which to connect to. 45 - `username` / `ETCDV3_USERNAME` - (Optional) Username used to connect to the etcd cluster. 46 - `password` / `ETCDV3_PASSWORD` - (Optional) Password used to connect to the etcd cluster. 47 - `prefix` - (Optional) An optional prefix to be added to keys when to storing state in etcd. Defaults to `""`. 48 - `lock` - (Optional) Whether to lock state access. Defaults to `true`. 49 - `cacert_path` - (Optional) The path to a PEM-encoded CA bundle with which to verify certificates of TLS-enabled etcd servers. 50 - `cert_path` - (Optional) The path to a PEM-encoded certificate to provide to etcd for secure client identification. 51 - `key_path` - (Optional) The path to a PEM-encoded key to provide to etcd for secure client identification. 52 - `max_request_bytes` - (Optional) The max request size to send to etcd. This can be increased to enable storage of larger state. You must set the corresponding server-side flag [--max-request-bytes](https://etcd.io/docs/current/dev-guide/limit/#request-size-limit) as well and the value should be less than the client setting. Defaults to `2097152` (2.0 MiB). **Please Note:** Increasing etcd's request size limit may negatively impact overall latency.