Skip to main content

Command: state show

The tofu state show command is used to show the attributes of a single resource in the OpenTofu state.

Usage

Usage: tofu 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.

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 is used.

  • -var 'NAME=VALUE' - Sets a value for a single input variable declared in the root module of the configuration. Use this option multiple times to set more than one variable. Refer to Input Variables on the Command Line for more information.

  • -var-file=FILENAME - Sets values for potentially many input variables declared in the root module of the configuration, using definitions from a "tfvars" file. Use this option multiple times to include values from more than one file.

There are several other ways to set values for input variables in the root module, aside from the -var and -var-file options. Refer to Assigning Values to Root Module Variables for more information.

The output of tofu state show is intended for human consumption, not programmatic consumption. To extract state data for use in other software, use tofu show -json and decode the result using the documented structure.

Example: Show a Resource

The example below shows a packet_device resource named worker:

Code Block
$ tofu 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:

Code Block
$ tofu 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:

Code Block
$ tofu 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 meta-argument. You must place the resource name in single quotes when it contains special characters like double quotes.

Linux, Mac OS, and UNIX:

Code Block
$ tofu state show 'packet_device.worker["example"]'

PowerShell:

Code Block
$ tofu state show 'packet_device.worker[\"example\"]'

Windows cmd.exe:

Code Block
$ tofu state show packet_device.worker[\"example\"]