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 a terraform.tfvars file?
It is used to set variable values for a Terraform configuration, allowing you to customize deployments without changing the main code.
Click to reveal answer
beginner
How does Terraform use the terraform.tfvars file during deployment?
Terraform automatically loads terraform.tfvars to assign values to variables when you run commands like terraform apply.
Click to reveal answer
intermediate
Can you have multiple .tfvars files? How do you specify which one to use?
Yes, you can have multiple .tfvars files. Use the -var-file option with Terraform commands to specify which file to load.
Click to reveal answer
beginner
What is the correct format to assign a string variable in terraform.tfvars?
Use variable_name = "value" with quotes around the string value.
Click to reveal answer
intermediate
Why is it a best practice to exclude terraform.tfvars from version control?
Because it often contains sensitive or environment-specific data like passwords or keys, excluding it helps keep secrets safe.
Click to reveal answer
What file does Terraform automatically load to set variable values?
Avariables.tf
Bmain.tf
Cterraform.tfvars
Doutputs.tf
✗ Incorrect
Terraform automatically loads terraform.tfvars to assign variable values.
How do you specify a different variable file when running Terraform commands?
A-config-file option
B-var-file option
C-input option
D-state option
✗ Incorrect
Use the -var-file option to specify a different variable file.
Which of these is the correct way to assign a number variable in terraform.tfvars?
Acount = 3
Bcount = "3"
Ccount = true
Dcount = '3'
✗ Incorrect
Numbers are assigned without quotes, like count = 3.
Why might you want to keep terraform.tfvars out of version control?
AIt contains sensitive data
BIt slows down Terraform
CIt is not needed for deployment
DIt causes syntax errors
✗ Incorrect
Because it often contains sensitive or environment-specific data.
If you have a variable region, how do you set it in terraform.tfvars?
Aregion => "us-west-2"
Bregion: us-west-2
Cregion = us-west-2
Dregion = "us-west-2"
✗ Incorrect
Strings must be in quotes: region = "us-west-2".
Explain what a terraform.tfvars file is and why it is useful.
Think about how you tell Terraform what values to use without changing the main code.
You got /4 concepts.
Describe best practices for managing sensitive data in terraform.tfvars files.
Consider how to keep passwords or keys safe when using Terraform.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of the terraform.tfvars file in a Terraform project?
easy
A. To store Terraform state files
B. To define the Terraform provider configuration
C. To write the main infrastructure resources
D. To store values for variables separately from the main Terraform code
Solution
Step 1: Understand the role of terraform.tfvars
This file is used to provide values for variables declared in Terraform configuration files, keeping values separate from code.
Step 2: Differentiate from other files
Provider configuration and resource definitions are in .tf files, and state files are managed separately, not in terraform.tfvars.
Final Answer:
To store values for variables separately from the main Terraform code -> Option D
Quick Check:
Variable values stored separately = D [OK]
Hint: Remember: tfvars holds variable values, not code or state [OK]
Common Mistakes:
Confusing tfvars with provider or resource files
Thinking tfvars stores state files
Assuming tfvars contains resource definitions
2. Which of the following is the correct syntax to assign a list of strings in a terraform.tfvars file?
easy
A. my_list = {"apple", "banana", "cherry"}
B. my_list = ("apple", "banana", "cherry")
C. my_list = ["apple", "banana", "cherry"]
D. my_list = "apple", "banana", "cherry"
Solution
Step 1: Identify list syntax in tfvars
Terraform uses square brackets [] to define lists in tfvars files.
Step 2: Check each option
my_list = ["apple", "banana", "cherry"] uses square brackets with quoted strings, which is correct. Options B and C use parentheses or curly braces, which are invalid for lists. my_list = "apple", "banana", "cherry" is missing brackets.
Final Answer:
my_list = ["apple", "banana", "cherry"] -> Option C
Quick Check:
Lists use square brackets [] = A [OK]
Hint: Lists always use square brackets [] in tfvars [OK]
Common Mistakes:
Using parentheses or curly braces instead of square brackets
What is the value and type of enable_backup when accessed in Terraform?
medium
A. String "true"
B. Boolean true
C. Number 1
D. List with one element "true"
Solution
Step 1: Identify the value type in tfvars
The value enable_backup = true is a boolean literal, not a string or number.
Step 2: Understand Terraform variable typing
Terraform reads true as a boolean true, not as a string or number.
Final Answer:
Boolean true -> Option B
Quick Check:
Boolean literals stay boolean = B [OK]
Hint: True/false without quotes are booleans in tfvars [OK]
Common Mistakes:
Treating true as a string by adding quotes
Assuming true converts to number 1
Confusing boolean with list type
4. You wrote this in your terraform.tfvars file:
max_instances = 5
allowed_ports = [80, 443, 22
When running Terraform, you get a syntax error. What is the most likely cause?
medium
A. Missing closing bracket for the list
B. Using numbers instead of strings in the list
C. Variable names cannot have underscores
D. The equals sign should be a colon
Solution
Step 1: Check list syntax carefully
The list allowed_ports is opened with [ but the snippet ends after 22 with no closing ].
Step 2: Identify syntax error
The list lacks a closing bracket, causing the syntax error. Other options are invalid: underscores are allowed, numbers are fine in lists, and = is correct syntax.
Final Answer:
Missing closing bracket for the list -> Option A
Quick Check:
Lists must have matching brackets = C [OK]
Hint: Always count opening and closing brackets in lists [OK]
Common Mistakes:
Forgetting to close lists with a bracket
Thinking numbers must be strings
Using colons instead of equals
5. You want to use a map variable in your Terraform configuration to assign different instance types per environment. Which terraform.tfvars content correctly assigns instance types for "dev" and "prod" environments?
hard
A. instance_types = { dev = "t2.micro", prod = "t2.large" }
B. instance_types = ["dev" = "t2.micro", "prod" = "t2.large"]
C. instance_types = (dev: "t2.micro", prod: "t2.large")
D. instance_types = { "dev", "t2.micro", "prod", "t2.large" }
Solution
Step 1: Understand map syntax in tfvars
Maps use curly braces {} with key = value pairs, keys and values can be strings.
Step 2: Evaluate each option
instance_types = { dev = "t2.micro", prod = "t2.large" } correctly uses curly braces with keys and values separated by =. instance_types = ["dev" = "t2.micro", "prod" = "t2.large"] uses square brackets and equals inside, which is invalid. instance_types = (dev: "t2.micro", prod: "t2.large") uses parentheses and colons, invalid syntax. instance_types = { "dev", "t2.micro", "prod", "t2.large" } uses curly braces but with commas separating keys and values without equals, invalid.
Final Answer:
instance_types = { dev = "t2.micro", prod = "t2.large" } -> Option A
Quick Check:
Maps use curly braces with key = value pairs = A [OK]
Hint: Maps use curly braces with key = value pairs in tfvars [OK]