Getting the status using Terraform
Viewing the Status of Everything in Terraform
Terraform has several commands to inspect what it knows about your infrastructure. Here's the full toolkit:
1. terraform show — The Full Picture
Dumps the entire current state in a human-readable format. This is everything Terraform knows about every resource it manages.
terraform show
For JSON output (useful for scripting or piping to jq):
terraform show -json | python3 -m json.tool
2. terraform state list — List All Managed Resources
Shows a quick list of every resource Terraform is tracking, without the detail.
terraform state list
Example output:
data.oci_core_images.oracle_linux
data.oci_identity_availability_domains.ads
oci_core_instance.free_vm
oci_core_subnet.subnet
oci_identity_compartment.tf_compartment
oci_identity_policy.tf_compartment_policy
3. terraform state show <resource> — Inspect One Resource
Zoom in on a single specific resource and see all its attributes.
terraform state show oci_core_instance.free_vm
terraform state show oci_identity_compartment.tf_compartment
💡 Use the resource names from
terraform state listas the argument.
4. terraform plan — What Would Change?
Compares your .tf files against the current state and shows a diff of what would be created, changed, or destroyed. Nothing is actually changed.
terraform plan
Output legend:
+ resource will be CREATED
~ resource will be UPDATED in-place
- resource will be DESTROYED
-/+ resource will be DESTROYED then re-created
5. terraform output — See Output Values Only
Shows just the output values defined in your outputs.tf — useful for quickly grabbing IPs, OCIDs, etc.
terraform output
# Get a specific output value
terraform output instance_public_ip
6. terraform refresh — Sync State with Reality
If resources were changed outside of Terraform (e.g., via OCI Console or CLI), this pulls the real-world state back into Terraform's state file.
terraform refresh
⚠️ As of Terraform 0.15+,
refreshis built intoterraform planautomatically. Useterraform apply -refresh-onlyas the modern equivalent.
Quick Reference Cheat Sheet
| Command | What it does |
|---|---|
terraform show | Full state dump, all resources |
terraform state list | Quick list of all tracked resources |
terraform state show <resource> | Deep dive into one resource |
terraform plan | What WOULD change if you applied |
terraform output | Show output values only |
terraform apply -refresh-only | Sync state with real-world without changing anything |
For Your OCI Setup Specifically
# See everything at once
cd ~/terraform_learn && terraform show
# Quick list of your resources
terraform state list
# Check your VM specifically
terraform state show oci_core_instance.free_vm
# Grab the public IP directly
terraform output instance_public_ip
Last updated 1 day ago
Built with Documentation.AI