2016-06-10 19:27:57 +02:00
---
layout: "remotestate"
2016-06-10 20:04:40 +02:00
page_title: "Remote State Backend: azure"
sidebar_current: "docs-state-remote-azure"
2016-06-10 19:27:57 +02:00
description: |-
Terraform can store the state remotely, making it easier to version and work with in a team.
---
2016-06-10 20:04:40 +02:00
# azure
2016-06-10 19:27:57 +02:00
Stores the state as a given key in a given bucket on [Microsoft Azure Storage ](https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/ ).
-> **Note:** Passing credentials directly via config options will
make them included in cleartext inside the persisted state.
2016-11-14 14:25:41 +01:00
Access key should, ideally, be passed using the environment variable
`ARM_ACCESS_KEY` to follow this convention.
2016-06-10 19:27:57 +02:00
## Example Usage
2016-11-10 18:55:15 +01:00
2016-06-10 19:27:57 +02:00
```
terraform remote config \
2016-06-10 20:04:40 +02:00
-backend=azure \
2016-06-10 19:27:57 +02:00
-backend-config="storage_account_name=terraform123abc" \
-backend-config="container_name=terraform-state" \
-backend-config="key=prod.terraform.tfstate"
```
## Example Referencing
```hcl
# setup remote state data source
data "terraform_remote_state" "foo" {
2016-06-10 20:04:40 +02:00
backend = "azure"
2016-06-10 19:27:57 +02:00
config {
storage_account_name = "terraform123abc"
container_name = "terraform-state"
key = "prod.terraform.tfstate"
}
}
```
## Configuration variables
The following configuration options are supported:
* `storage_account_name` - (Required) The name of the storage account
* `container_name` - (Required) The name of the container to use within the storage account
* `key` - (Required) The key where to place/look for state file inside the container
2016-09-20 15:53:34 +02:00
* `access_key` / `ARM_ACCESS_KEY` - (Required) Storage account access key
2016-11-18 16:26:25 +01:00
* `lease_id` / `ARM_LEASE_ID` - (Optional) If set, will be used when writing to storage blob.