github.com/minamijoyo/terraform@v0.7.8-0.20161029001309-18b3736ba44b/website/source/docs/providers/terraform/d/remote_state.html.md (about) 1 --- 2 layout: "terraform" 3 page_title: "Terraform: terraform_remote_state" 4 sidebar_current: "docs-terraform-datasource-remote-state" 5 description: |- 6 Accesses state meta data from a remote backend. 7 --- 8 9 # remote\_state 10 11 Retrieves state meta data from a remote backend 12 13 ## Example Usage 14 15 ``` 16 data "terraform_remote_state" "vpc" { 17 backend = "atlas" 18 config { 19 name = "hashicorp/vpc-prod" 20 } 21 } 22 23 resource "aws_instance" "foo" { 24 # ... 25 subnet_id = "${data.terraform_remote_state.vpc.subnet_id}" 26 } 27 ``` 28 29 ## Argument Reference 30 31 The following arguments are supported: 32 33 * `backend` - (Required) The remote backend to use. 34 * `config` - (Optional) The configuration of the remote backend. 35 * Remote state config docs can be found [here](https://www.terraform.io/docs/state/remote/atlas.html) 36 37 ## Attributes Reference 38 39 The following attributes are exported: 40 41 * `backend` - See Argument Reference above. 42 * `config` - See Argument Reference above. 43 44 In addition, each output in the remote state appears as a top level attribute 45 on the `terraform_remote_state` resource. 46 47 ## Root Outputs Only 48 49 Only the root level outputs from the remote state are accessible. Outputs from modules within the state cannot be accessed. If you want a module output to be accessible via a remote state, you must thread the output through to a root output. 50 51 An example is shown below: 52 53 ``` 54 module "app" { 55 source = "..." 56 } 57 58 output "app_value" { 59 value = "${module.app.value}" 60 } 61 ``` 62 63 In this example, the output `value` from the "app" module is available as "app_value". If this root level output hadn't been created, then a remote state resource wouldn't be able to access the `value` output on the module.