Bird
Raised Fist0
Terraformcloud~5 mins

Terraform CLI overview - 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 primary purpose of the Terraform CLI?
The Terraform CLI is a tool used to manage infrastructure as code. It helps create, change, and improve infrastructure safely and efficiently.
Click to reveal answer
beginner
What does the terraform init command do?
It prepares your working directory by downloading necessary provider plugins and setting up the backend for storing state.
Click to reveal answer
beginner
Explain the role of terraform plan.
This command shows what changes Terraform will make to your infrastructure without applying them. It helps you review before making changes.
Click to reveal answer
beginner
What happens when you run terraform apply?
Terraform applies the planned changes to your infrastructure, creating, updating, or deleting resources as needed.
Click to reveal answer
beginner
Why is terraform destroy used?
It removes all resources managed by your Terraform configuration, effectively cleaning up your infrastructure.
Click to reveal answer
Which Terraform CLI command initializes the working directory?
Aterraform destroy
Bterraform plan
Cterraform apply
Dterraform init
What does terraform plan show you?
AThe changes Terraform will make
BThe current state of your infrastructure
CThe list of available providers
DThe logs of previous runs
Which command applies changes to your infrastructure?
Aterraform apply
Bterraform plan
Cterraform init
Dterraform validate
What is the effect of running terraform destroy?
AIt updates resources
BIt deletes all managed resources
CIt initializes the directory
DIt shows a plan
Before running terraform apply, what should you do to avoid surprises?
ARun terraform destroy
BRun terraform init
CRun terraform plan
DRun terraform validate
Describe the main Terraform CLI commands and their purposes.
Think about the workflow from setup to cleanup.
You got /4 concepts.
    Explain why it is important to run terraform plan before terraform apply.
    Consider how you check your work before making changes.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of the terraform init command?
      easy
      A. To show the planned changes without applying them
      B. To apply changes to cloud infrastructure
      C. To destroy all managed resources
      D. To initialize a working directory and download required provider plugins

      Solution

      1. Step 1: Understand the role of terraform init

        This command sets up the working directory by downloading necessary provider plugins and preparing the environment.
      2. Step 2: Differentiate from other commands

        Commands like apply and destroy perform changes, while init only prepares the setup.
      3. Final Answer:

        To initialize a working directory and download required provider plugins -> Option D
      4. Quick Check:

        terraform init prepares environment [OK]
      Hint: Init sets up your folder and downloads plugins [OK]
      Common Mistakes:
      • Confusing init with apply
      • Thinking init changes infrastructure
      • Mixing init with destroy
      2. Which of the following is the correct syntax to preview changes without applying them?
      easy
      A. terraform plan
      B. terraform apply --preview
      C. terraform preview
      D. terraform show

      Solution

      1. Step 1: Identify the command to preview changes

        terraform plan shows what changes will happen without applying them.
      2. Step 2: Check other options for correctness

        apply --preview and preview are not valid commands; show displays current state, not planned changes.
      3. Final Answer:

        terraform plan -> Option A
      4. Quick Check:

        Preview changes = terraform plan [OK]
      Hint: Plan shows changes without applying [OK]
      Common Mistakes:
      • Using apply --preview which is invalid
      • Confusing show with plan
      • Assuming preview is a Terraform command
      3. Given the following sequence of commands:
      terraform init
      tf plan
      terraform apply

      What will happen when you run these commands?
      medium
      A. Only initialize the directory and apply changes, skipping the plan
      B. Initialize the directory, show planned changes, then apply those changes
      C. Initialize the directory, apply changes immediately, then show the plan
      D. Show planned changes without initializing or applying

      Solution

      1. Step 1: Understand each command's role

        terraform init sets up the environment, terraform plan shows what will change, and terraform apply makes those changes.
      2. Step 2: Analyze the sequence

        The commands run in order: initialize, plan, then apply, which is the recommended workflow.
      3. Final Answer:

        Initialize the directory, show planned changes, then apply those changes -> Option B
      4. Quick Check:

        Init -> Plan -> Apply = safe workflow [OK]
      Hint: Init, then plan, then apply changes [OK]
      Common Mistakes:
      • Running apply before plan
      • Skipping init before plan
      • Confusing plan and apply order
      4. You run terraform apply but get an error saying the backend is not configured. What is the most likely cause?
      medium
      A. You need to run terraform destroy first
      B. You used the wrong syntax for apply
      C. You forgot to run terraform init first
      D. Your cloud provider credentials are missing

      Solution

      1. Step 1: Understand backend configuration role

        The backend stores state remotely and must be set up before applying changes.
      2. Step 2: Identify how backend is configured

        terraform init configures the backend; skipping it causes errors.
      3. Final Answer:

        You forgot to run terraform init first -> Option C
      4. Quick Check:

        Init configures backend before apply [OK]
      Hint: Always run init before apply to configure backend [OK]
      Common Mistakes:
      • Skipping init and running apply directly
      • Assuming credentials cause backend error
      • Thinking destroy fixes backend issues
      5. You want to safely remove all cloud resources managed by Terraform. Which command sequence ensures this with minimal risk?
      hard
      A. terraform destroy after terraform plan to review changes
      B. terraform apply followed by terraform destroy
      C. terraform init then terraform apply
      D. terraform plan then terraform init

      Solution

      1. Step 1: Understand the purpose of terraform destroy

        This command deletes all resources managed by Terraform.
      2. Step 2: Use terraform plan before destroy

        Planning shows what will be destroyed, helping avoid mistakes.
      3. Step 3: Confirm the sequence

        Running terraform plan first, then terraform destroy is the safest approach.
      4. Final Answer:

        terraform destroy after terraform plan to review changes -> Option A
      5. Quick Check:

        Plan before destroy to avoid surprises [OK]
      Hint: Plan first, then destroy to confirm changes [OK]
      Common Mistakes:
      • Destroying without planning first
      • Applying changes before destroying
      • Running init after plan