| --- |
| page_title: 'Command: state show' |
| description: >- |
| The `terraform state show` command is used to show the attributes of a single |
| resource in the Terraform state. |
| --- |
| |
| # Command: state show |
| |
| The `terraform state show` command is used to show the attributes of a |
| single resource in the |
| [Terraform state](/terraform/language/state). |
| |
| ## Usage |
| |
| Usage: `terraform state show [options] ADDRESS` |
| |
| The command will show the attributes of a single resource in the |
| state file that matches the given address. |
| |
| This command requires an address that points to a single resource in the |
| state. Addresses are |
| in [resource addressing format](/terraform/cli/state/resource-addressing). |
| |
| The command-line flags are all optional. The following flags are available: |
| |
| * `-state=path` - Path to the state file. Defaults to "terraform.tfstate". |
| Ignored when [remote state](/terraform/language/state/remote) is used. |
| |
| The output of `terraform state show` is intended for human consumption, not |
| programmatic consumption. To extract state data for use in other software, use |
| [`terraform show -json`](/terraform/cli/commands/show#json-output) and decode the result |
| using the documented structure. |
| |
| ## Example: Show a Resource |
| |
| The example below shows a `packet_device` resource named `worker`: |
| |
| ``` |
| $ terraform state show 'packet_device.worker' |
| # packet_device.worker: |
| resource "packet_device" "worker" { |
| billing_cycle = "hourly" |
| created = "2015-12-17T00:06:56Z" |
| facility = "ewr1" |
| hostname = "prod-xyz01" |
| id = "6015bg2b-b8c4-4925-aad2-f0671d5d3b13" |
| locked = false |
| } |
| ``` |
| |
| ## Example: Show a Module Resource |
| |
| The example below shows a `packet_device` resource named `worker` inside a module named `foo`: |
| |
| ```shell |
| $ terraform state show 'module.foo.packet_device.worker' |
| ``` |
| |
| ## Example: Show a Resource configured with count |
| |
| The example below shows the first instance of a `packet_device` resource named `worker` configured with |
| [`count`](/terraform/language/meta-arguments/count): |
| |
| ```shell |
| $ terraform state show 'packet_device.worker[0]' |
| ``` |
| |
| ## Example: Show a Resource configured with for_each |
| |
| The following example shows the `"example"` instance of a `packet_device` resource named `worker` configured with the [`for_each`](/terraform/language/meta-arguments/for_each) meta-argument. You must place the resource name in single quotes when it contains special characters like double quotes. |
| |
| Linux, Mac OS, and UNIX: |
| |
| ```shell |
| $ terraform state show 'packet_device.worker["example"]' |
| ``` |
| |
| PowerShell: |
| |
| ```shell |
| $ terraform state show 'packet_device.worker[\"example\"]' |
| ``` |
| |
| Windows `cmd.exe`: |
| |
| ```shell |
| $ terraform state show packet_device.worker[\"example\"] |
| ``` |