» Manipulating Terraform State
Hands-on: Try the Manage Resources in Terraform State tutorial on HashiCorp Learn.
Terraform uses state data to remember which real-world object corresponds to each resource in the configuration; this allows it to modify an existing object when its resource declaration changes.
Terraform updates state automatically during plans and applies. However, it's sometimes necessary to make deliberate adjustments to Terraform's state data, usually to compensate for changes to the configuration or the real managed infrastructure.
Terraform CLI supports several workflows for interacting with state:
- Inspecting State
- Forcing Re-creation (Tainting)
- Moving Resources
- Importing Pre-existing Resources (documented in the Importing Infrastructure section)
- Disaster Recovery
Important: Modifying state data outside a normal plan or apply can cause Terraform to lose track of managed resources, which might waste money, annoy your colleagues, or even compromise the security of your operations. Make sure to keep backups of your state data when modifying state out-of-band.