mirror of
https://github.com/opentffoundation/opentf.git
synced 2025-12-22 19:24:37 -05:00
Signed-off-by: Christian Mesh <christianmesh1@gmail.com> Signed-off-by: ollevche <ollevche@gmail.com> Co-authored-by: ollevche <ollevche@gmail.com>
113 lines
4.0 KiB
Plaintext
113 lines
4.0 KiB
Plaintext
---
|
|
description: >-
|
|
The `tofu state show` command is used to show the attributes of a single
|
|
resource in the OpenTofu state.
|
|
---
|
|
|
|
# Command: state show
|
|
|
|
The `tofu state show` command is used to show the attributes of a
|
|
single resource in the
|
|
[OpenTofu state](../../../language/state/index.mdx).
|
|
|
|
## 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](../../../cli/state/resource-addressing.mdx).
|
|
|
|
:::note
|
|
Use of variables in [module sources](../../../language/modules/sources.mdx#support-for-variable-and-local-evaluation),
|
|
[backend configuration](../../../language/settings/backends/configuration.mdx#variables-and-locals),
|
|
or [encryption block](../../../language/state/encryption.mdx#configuration)
|
|
requires [assigning values to root module variables](../../../language/values/variables.mdx#assigning-values-to-root-module-variables)
|
|
when running `tofu show`.
|
|
:::
|
|
|
|
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](../../../language/state/remote.mdx) is used.
|
|
|
|
* `-var 'NAME=VALUE'` - Sets a value for a single
|
|
[input variable](../../../language/values/variables.mdx) 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](../plan.mdx#input-variables-on-the-command-line) for more information.
|
|
|
|
* `-var-file=FILENAME` - Sets values for potentially many
|
|
[input variables](../../../language/values/variables.mdx) declared in the
|
|
root module of the configuration, using definitions from a
|
|
["tfvars" file](../../../language/values/variables.mdx#variable-definitions-tfvars-files).
|
|
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](../../../language/values/variables.mdx#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`](../../../cli/commands/show.mdx#json-output) and decode the result
|
|
using the documented structure.
|
|
|
|
## Example: Show a Resource
|
|
|
|
The example below shows a `packet_device` resource named `worker`:
|
|
|
|
```
|
|
$ 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`:
|
|
|
|
```shell
|
|
$ 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`](../../../language/meta-arguments/count.mdx):
|
|
|
|
```shell
|
|
$ 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`](../../../language/meta-arguments/for_each.mdx) 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
|
|
$ tofu state show 'packet_device.worker["example"]'
|
|
```
|
|
|
|
PowerShell:
|
|
|
|
```shell
|
|
$ tofu state show 'packet_device.worker[\"example\"]'
|
|
```
|
|
|
|
Windows `cmd.exe`:
|
|
|
|
```shell
|
|
$ tofu state show packet_device.worker[\"example\"]
|
|
```
|