Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the terraform show command do?
It displays the current state of your infrastructure as recorded in the Terraform state file. This helps you understand what resources exist and their configurations.
Click to reveal answer
beginner
How can you use terraform show to inspect a specific state file?
You can run terraform show path/to/terraform.tfstate to view the details of a specific state file instead of the default one.
Click to reveal answer
beginner
What is the benefit of inspecting the Terraform state with terraform show?
It helps you verify the actual deployed resources and their attributes, which is useful for debugging and understanding your infrastructure setup.
Click to reveal answer
intermediate
Can terraform show output be formatted for easier reading?
Yes, by default it outputs human-readable text, but you can use terraform show -json to get a JSON formatted output for programmatic use.
Click to reveal answer
intermediate
Why should you be careful when manually editing the Terraform state file instead of using terraform show?
Manual edits can corrupt the state and cause Terraform to lose track of resources, leading to errors or resource duplication. terraform show is safe because it only reads the state.
Click to reveal answer
What does terraform show primarily display?
AThe current Terraform state and resource details
BThe Terraform configuration files
CThe Terraform plan output
DThe Terraform provider plugins
✗ Incorrect
terraform show displays the current state of your infrastructure as recorded in the state file, including resource details.
How do you get a JSON output from terraform show?
Aterraform show --json-output
Bterraform show --format=json
Cterraform show --output json
Dterraform show -json
✗ Incorrect
The correct flag is -json to get JSON formatted output.
Which file does terraform show read by default?
Aterraform.tfstate
Bmain.tf
Cvariables.tf
Doutputs.tf
✗ Incorrect
By default, terraform show reads the terraform.tfstate file which holds the current state.
Why is it safer to use terraform show instead of editing the state file directly?
ABecause it automatically fixes errors in the state
BBecause it updates the state with new resources
CBecause it only reads the state and does not modify it
DBecause it deletes unused resources
✗ Incorrect
terraform show only reads the state file and does not change it, preventing accidental corruption.
Which command lets you inspect a state file located in a custom path?
Aterraform inspect path/to/statefile.tfstate
Bterraform show path/to/statefile.tfstate
Cterraform state show path/to/statefile.tfstate
Dterraform view path/to/statefile.tfstate
✗ Incorrect
You can specify the path to a state file directly with terraform show to inspect it.
Explain how terraform show helps you understand your infrastructure state.
Think about what information you get about your cloud resources from the state.
You got /4 concepts.
Describe the difference between using terraform show and manually editing the Terraform state file.
Consider safety and risk when changing the state file.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of the terraform show command?
easy
A. To apply changes to your infrastructure
B. To display the current state of your infrastructure managed by Terraform
C. To initialize a new Terraform working directory
D. To destroy all resources managed by Terraform
Solution
Step 1: Understand the role of terraform show
This command is used to display the saved state of your infrastructure, showing what Terraform currently knows about your resources.
Step 2: Differentiate from other commands
Commands like terraform apply, terraform init, and terraform destroy perform actions, but terraform show only displays information.
Final Answer:
To display the current state of your infrastructure managed by Terraform -> Option B
Quick Check:
terraform show = display state [OK]
Hint: Remember: show means display info, not change it [OK]
Common Mistakes:
Confusing show with apply or destroy commands
Thinking show modifies infrastructure
Assuming show initializes Terraform
2. Which of the following is the correct syntax to display the Terraform state in JSON format?
easy
A. terraform show -json
B. terraform show --json-output
C. terraform show json
D. terraform show -format=json
Solution
Step 1: Recall the correct flag for JSON output
The official Terraform command to show state in JSON format uses the -json flag.
Step 2: Verify other options
Options like --json-output, json as a subcommand, or -format=json are not valid Terraform syntax.
Final Answer:
terraform show -json -> Option A
Quick Check:
Use -json flag for JSON output [OK]
Hint: Use '-json' flag exactly for JSON output [OK]
Common Mistakes:
Adding extra words like '--json-output'
Using subcommands instead of flags
Mixing up flag syntax
3. Given the following Terraform state snippet shown by terraform show:
resource "aws_instance" "web" {
id = "i-1234567890abcdef0"
ami = "ami-0abcdef1234567890"
instance_type = "t2.micro"
}
What will terraform show -json output include for the instance type?
medium
A. "instance_type": "t2.large"
B. "instance_type": "ami-0abcdef1234567890"
C. "instance_type": null
D. "instance_type": "t2.micro"
Solution
Step 1: Identify the instance_type in the state snippet
The snippet shows instance_type = "t2.micro" for the resource.
Step 2: Understand JSON output reflects state values
The JSON output from terraform show -json will include the exact value stored, which is "t2.micro".
Final Answer:
"instance_type": "t2.micro" -> Option D
Quick Check:
State value matches JSON output [OK]
Hint: JSON output matches exact state values [OK]
Common Mistakes:
Confusing AMI ID with instance type
Assuming default or null values
Mixing resource attributes
4. You run terraform show -json but get an error: error: no state file found. What is the most likely cause?
medium
A. Terraform is not installed
B. The -json flag is not supported
C. Terraform state file does not exist in the current directory
D. The configuration files have syntax errors
Solution
Step 1: Understand the error message
The error indicates Terraform cannot find the state file to show.
Step 2: Identify common reasons for missing state
If the state file is missing from the current directory, terraform show cannot display state.
Final Answer:
Terraform state file does not exist in the current directory -> Option C
Quick Check:
Missing state file causes this error [OK]
Hint: Check if state file exists before show [OK]
Common Mistakes:
Assuming -json flag is unsupported
Thinking Terraform is not installed
Blaming config syntax errors for state show
5. You want to programmatically extract the IDs of all AWS instances from your Terraform state. Which command and option combination is best suited for this task?
hard
A. terraform show -json | jq '.values.root_module.resources[] | select(.type=="aws_instance") | .values.id'
B. terraform show | grep aws_instance | awk '{print $2}'
C. terraform state list aws_instance
D. terraform output aws_instance_ids
Solution
Step 1: Understand the need for programmatic extraction
You want to get instance IDs from the state in a machine-readable way.
Step 2: Evaluate command options
terraform show -json outputs JSON, which can be filtered with jq to select AWS instances and extract their IDs. Other options either do not output JSON or do not extract IDs directly.
Final Answer:
terraform show -json | jq '.values.root_module.resources[] | select(.type=="aws_instance") | .values.id' -> Option A
Quick Check:
Use JSON output with jq for precise extraction [OK]
Hint: Use -json with jq to filter state data easily [OK]
Common Mistakes:
Using grep/awk on human-readable output (fragile)
Using terraform state list which lists names, not IDs
Assuming terraform output has instance IDs without explicit output