github.com/loicalbertin/terraform@v0.6.15-0.20170626182346-8e2583055467/website/docs/backends/types/swift.html.md (about) 1 --- 2 layout: "backend-types" 3 page_title: "Backend Type: swift" 4 sidebar_current: "docs-backends-types-standard-swift" 5 description: |- 6 Terraform can store state remotely in Swift. 7 --- 8 9 # swift 10 11 **Kind: Standard (with no locking)** 12 13 Stores the state as an artifact in [Swift](http://docs.openstack.org/developer/swift/). 14 15 ## Example Configuration 16 17 ```hcl 18 terraform { 19 backend "swift" { 20 path = "terraform-state" 21 } 22 } 23 ``` 24 25 Note that for the access credentials we recommend using a 26 [partial configuration](/docs/backends/config.html). 27 28 ## Example Referencing 29 30 ```hcl 31 data "terraform_remote_state" "foo" { 32 backend = "swift" 33 config { 34 path = "terraform_state" 35 } 36 } 37 ``` 38 39 ## Configuration variables 40 41 The following configuration options are supported: 42 43 * `auth_url` - (Required) The Identity authentication URL. If omitted, the 44 `OS_AUTH_URL` environment variable is used. 45 46 * `path` - (Required) The path where to store `terraform.tfstate`. 47 * `user_name` - (Optional) The Username to login with. If omitted, the 48 `OS_USERNAME` environment variable is used. 49 50 * `user_id` - (Optional) The User ID to login with. If omitted, the 51 `OS_USER_ID` environment variable is used. 52 53 * `password` - (Optional) The Password to login with. If omitted, the 54 `OS_PASSWORD` environment variable is used. 55 56 * `token` - (Optional) Access token to login with instead of user and password. 57 If omitted, the `OS_AUTH_TOKEN` variable is used. 58 59 * `region_name` (Required) - The region in which to store `terraform.tfstate`. If 60 omitted, the `OS_REGION_NAME` environment variable is used. 61 62 * `tenant_id` (Optional) The ID of the Tenant (Identity v2) or Project 63 (Identity v3) to login with. If omitted, the `OS_TENANT_ID` or 64 `OS_PROJECT_ID` environment variables are used. 65 66 * `tenant_name` - (Optional) The Name of the Tenant (Identity v2) or Project 67 (Identity v3) to login with. If omitted, the `OS_TENANT_NAME` or 68 `OS_PROJECT_NAME` environment variable are used. 69 70 * `domain_id` - (Optional) The ID of the Domain to scope to (Identity v3). If 71 If omitted, the following environment variables are checked (in this order): 72 `OS_USER_DOMAIN_ID`, `OS_PROJECT_DOMAIN_ID`, `OS_DOMAIN_ID`. 73 74 * `domain_name` - (Optional) The Name of the Domain to scope to (Identity v3). 75 If omitted, the following environment variables are checked (in this order): 76 `OS_USER_DOMAIN_NAME`, `OS_PROJECT_DOMAIN_NAME`, `OS_DOMAIN_NAME`, 77 `DEFAULT_DOMAIN`. 78 79 * `insecure` - (Optional) Trust self-signed SSL certificates. If omitted, the 80 `OS_INSECURE` environment variable is used. 81 82 * `cacert_file` - (Optional) Specify a custom CA certificate when communicating 83 over SSL. If omitted, the `OS_CACERT` environment variable is used. 84 85 * `cert` - (Optional) Specify client certificate file for SSL client 86 authentication. If omitted the `OS_CERT` environment variable is used. 87 88 * `key` - (Optional) Specify client private key file for SSL client 89 authentication. If omitted the `OS_KEY` environment variable is used. 90 91 * `archive_path` - (Optional) The path to store archived copied of `terraform.tfstate`. 92 If specified, Swift object versioning is enabled on the container created at `path`. 93 94 * `expire_after` - (Optional) How long should the `terraform.tfstate` created at `path` 95 be retained for? Supported durations: `m` - Minutes, `h` - Hours, `d` - Days.