Bird
Raised Fist0
Terraformcloud~5 mins

Local state behavior in Terraform - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

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 is the purpose of the local state file in Terraform?
The local state file keeps track of the resources Terraform manages. It helps Terraform know what exists so it can update or delete resources correctly.
Click to reveal answer
beginner
Where is the Terraform local state file usually stored?
By default, the local state file is stored in the same folder as your Terraform configuration files, named terraform.tfstate.
Click to reveal answer
intermediate
What happens if the local state file is deleted or lost?
Terraform loses track of the resources it manages. It may try to recreate resources or fail to update existing ones, causing inconsistencies.
Click to reveal answer
intermediate
How can you protect your Terraform local state file from being lost or corrupted?
You can back it up regularly or use remote state storage like Terraform Cloud or S3 to keep the state safe and share it among team members.
Click to reveal answer
intermediate
Why is local state not recommended for team environments?
Because local state is stored on one machine, it can cause conflicts if multiple people change infrastructure at the same time. Remote state helps avoid this.
Click to reveal answer
What file does Terraform use by default to store local state?
Aoutputs.tf
Bmain.tf
Cvariables.tf
Dterraform.tfstate
What is a risk of using local state in Terraform?
AState file can be lost or corrupted
BTerraform cannot create resources
CTerraform runs slower
DResources are automatically deleted
Why might teams prefer remote state over local state?
ATo avoid conflicts and share state safely
BBecause local state is slower
CRemote state files are smaller
DLocal state cannot store outputs
If you delete the local state file, what will Terraform do on next apply?
ADo nothing
BTry to recreate all resources
CAutomatically restore the state
DOnly update existing resources
Where is the local state file stored by default?
AIn a database
BIn the cloud provider
CIn the same folder as Terraform configs
DIn a hidden system folder
Explain what the Terraform local state file is and why it is important.
Think about how Terraform remembers what it created.
You got /4 concepts.
    Describe the risks of using local state in a team and how to mitigate them.
    Consider what happens when multiple people work on the same infrastructure.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does Terraform's local state file primarily store?
      easy
      A. Information about resources Terraform manages on your computer
      B. User credentials for cloud providers
      C. Terraform configuration files
      D. Logs of Terraform commands executed

      Solution

      1. Step 1: Understand Terraform state purpose

        The state file keeps track of resources Terraform creates or manages.
      2. Step 2: Identify local state file role

        Local state stores this info on your computer for Terraform to know current resource status.
      3. Final Answer:

        Information about resources Terraform manages on your computer -> Option A
      4. Quick Check:

        Local state = resource info stored locally [OK]
      Hint: Local state stores resource info on your PC, not configs or logs [OK]
      Common Mistakes:
      • Confusing state file with configuration files
      • Thinking state stores user credentials
      • Assuming state file contains command logs
      2. Which of the following is the correct way to specify a local state file path in Terraform CLI?
      easy
      A. terraform apply -state-file=./myterraform.tfstate
      B. terraform apply --state-file ./myterraform.tfstate
      C. terraform apply --state ./myterraform.tfstate
      D. terraform apply -state=./myterraform.tfstate

      Solution

      1. Step 1: Recall Terraform CLI syntax for state file

        The correct flag to specify state file path is '-state=path'.
      2. Step 2: Match the correct option

        terraform apply -state=./myterraform.tfstate uses '-state=./myterraform.tfstate' which is valid syntax.
      3. Final Answer:

        terraform apply -state=./myterraform.tfstate -> Option D
      4. Quick Check:

        Use '-state=' flag to specify local state file [OK]
      Hint: Use '-state=' flag to set local state file path [OK]
      Common Mistakes:
      • Using '--state-file' which is invalid
      • Using '--state' without '=' sign
      • Confusing flag names
      3. Given this Terraform command sequence on a local state setup:
      terraform init
      terraform apply
      terraform state rm aws_instance.example
      terraform apply

      What happens after the second terraform apply?
      medium
      A. Terraform deletes the aws_instance.example resource from the cloud
      B. Terraform ignores aws_instance.example and makes no changes
      C. Terraform recreates the aws_instance.example resource
      D. Terraform throws an error about missing resource

      Solution

      1. Step 1: Understand 'terraform state rm' effect

        This command removes the resource from the state file but does not delete it in the cloud.
      2. Step 2: Analyze second 'terraform apply'

        Terraform sees the resource missing in state, so it plans to create it again.
      3. Final Answer:

        Terraform recreates the aws_instance.example resource -> Option C
      4. Quick Check:

        Removing from state causes resource to be recreated [OK]
      Hint: Removing resource from state makes Terraform recreate it [OK]
      Common Mistakes:
      • Thinking 'state rm' deletes resource in cloud
      • Assuming Terraform ignores missing state entries
      • Expecting an error on apply
      4. You run Terraform with local state and get this error:
      Error: Failed to load state: open terraform.tfstate: permission denied
      What is the most likely cause and fix?
      medium
      A. The state file permissions prevent access; fix file permissions
      B. The state file is locked by another process; wait and retry
      C. The state file is corrupted; delete and reinitialize Terraform
      D. Terraform version mismatch; upgrade Terraform to latest

      Solution

      1. Step 1: Interpret the error message

        'permission denied' means Terraform cannot read or write the state file due to OS permissions.
      2. Step 2: Determine the fix

        Adjust file permissions to allow Terraform access to the state file.
      3. Final Answer:

        The state file permissions prevent access; fix file permissions -> Option A
      4. Quick Check:

        Permission denied = fix file permissions [OK]
      Hint: Permission denied means fix file access rights [OK]
      Common Mistakes:
      • Assuming state file is locked by another process
      • Deleting state file without backup
      • Blaming Terraform version without checking permissions
      5. You want to share your Terraform project with a teammate but keep using local state. What is the best practice to avoid state conflicts?
      hard
      A. Share the local state file directly via email or chat
      B. Use a remote backend like Terraform Cloud or S3 for state storage
      C. Each teammate runs Terraform independently with their own local state
      D. Manually merge local state files before each apply

      Solution

      1. Step 1: Understand local state sharing risks

        Local state files are not designed for sharing; conflicts and overwrites can occur.
      2. Step 2: Identify best practice for team collaboration

        Using a remote backend centralizes state and prevents conflicts.
      3. Final Answer:

        Use a remote backend like Terraform Cloud or S3 for state storage -> Option B
      4. Quick Check:

        Remote backend avoids local state conflicts in teams [OK]
      Hint: Use remote backend to share state safely in teams [OK]
      Common Mistakes:
      • Sharing local state file directly causing conflicts
      • Each teammate using separate local states causing drift
      • Trying to manually merge state files