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