- The Command Line
- Basic CLI Features
- Command: state
- Command: state pull
Command: state pull
The tofu state pull
command is used to manually download and output
the state from remote state. This command also
works with local state.
Usage
Usage: tofu state pull
This command downloads the state from its current location, upgrades the local copy to the latest state file version that is compatible with locally-installed OpenTofu, and outputs the raw format to stdout.
This is useful for reading values out of state (potentially pairing this command with something like jq). It is also useful if you need to make manual modifications to state.
You cannot use this command to inspect the OpenTofu version of the remote state, as it will always be converted to the current OpenTofu version before output.
OpenTofu state files must be in UTF-8 format without a byte order mark (BOM). For PowerShell on Windows, use Set-Content
to automatically encode files in UTF-8 format. For example, run tofu state pull | sc terraform.tfstate
.
Use of variables in module sources,
backend configuration,
or encryption block
requires assigning values to root module variables
when running tofu state pull
.
The command support the following command-line arguments:
-
-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.