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 a default value in Terraform variables?
A default value is a preset value assigned to a variable. It is used when no other value is provided during deployment.
Click to reveal answer
beginner
How do you define a default value for a variable in Terraform?
Use the 'default' argument inside the variable block. For example:
variable "region" { type = string default = "us-west-1" }
Click to reveal answer
beginner
What happens if you do not provide a value for a variable without a default in Terraform?
Terraform will prompt you to enter a value during deployment because it has no default to fall back on.
Click to reveal answer
beginner
Why are default values useful in Terraform configurations?
They simplify deployments by providing common values automatically, reducing the need for manual input every time.
Click to reveal answer
intermediate
Can default values be overridden in Terraform? How?
Yes, default values can be overridden by providing a value through command line flags, environment variables, or variable files.
Click to reveal answer
What keyword is used to set a default value for a variable in Terraform?
Adefault
Bvalue
Cset
Dinitial
✗ Incorrect
The 'default' keyword assigns a default value to a variable in Terraform.
If a variable has a default value, what happens when you do not provide a value during deployment?
ATerraform prompts for input
BTerraform uses the default value
CTerraform throws an error
DTerraform skips the variable
✗ Incorrect
Terraform automatically uses the default value if no other value is provided.
Which of these is NOT a way to override a default variable value in Terraform?
APassing a command line flag
BSetting an environment variable
CUsing a variable file
DEditing the Terraform binary
✗ Incorrect
Editing the Terraform binary is not a valid way to override variable values.
What type of variable must you provide a value for if it has no default?
ARequired variable
BOptional variable
COutput variable
DLocal variable
✗ Incorrect
Variables without defaults are required and must be given a value.
Why might you want to use default values in Terraform variables?
ATo disable variables
BTo make deployment slower
CTo reduce manual input and simplify deployment
DTo prevent any changes to variables
✗ Incorrect
Default values help reduce manual input and make deployments easier.
Explain how default values work in Terraform variables and why they are helpful.
Think about what happens if you don't provide a value.
You got /3 concepts.
Describe the ways you can override a default variable value in Terraform.
Consider different methods to provide values when running Terraform.
You got /3 concepts.
Practice
(1/5)
1. What is the purpose of setting a default value for a variable in Terraform?
easy
A. To make the variable mandatory without a fallback
B. To provide a fallback value if no other value is given
C. To disable the variable completely
D. To automatically generate a random value
Solution
Step 1: Understand variable defaults in Terraform
Default values act as fallback values when no input is provided by the user.
Step 2: Identify the purpose of default values
They make variables optional and provide a safe, predictable value.
Final Answer:
To provide a fallback value if no other value is given -> Option B
Quick Check:
Default value = fallback [OK]
Hint: Default means fallback if no input given [OK]
Common Mistakes:
Thinking default makes variable mandatory
Assuming default disables the variable
Believing default auto-generates random values
2. Which of the following is the correct syntax to set a default value for a variable named region in Terraform?
easy
A. variable "region" { default = "us-east-1" }
B. variable region { default: "us-east-1" }
C. var region = default "us-east-1"
D. variable "region" = "us-east-1"
Solution
Step 1: Recall Terraform variable block syntax
Variables are declared with the keyword variable and a name in quotes.
Step 2: Check correct default assignment
The default value is set inside the block with default = "value".
Final Answer:
variable "region" { default = "us-east-1" } -> Option A
Quick Check:
Correct syntax uses variable block and default = value [OK]
Hint: Use variable "name" { default = "value" } [OK]
Common Mistakes:
Missing quotes around variable name
Using colon instead of equals for default
Assigning default outside variable block
3. Given this variable declaration:
variable "instance_type" {
default = "t2.micro"
}
What will be the value of var.instance_type if no override is provided?
medium
A. null
B. Error: variable not set
C. empty string ""
D. "t2.micro"
Solution
Step 1: Identify the default value in the variable block
The variable instance_type has a default set to "t2.micro".
Step 2: Understand behavior when no override is given
If no value is provided, Terraform uses the default value automatically.
Final Answer:
"t2.micro" -> Option D
Quick Check:
Default used if no override [OK]
Hint: No override? Use default value [OK]
Common Mistakes:
Assuming null if no value given
Expecting error without override
Thinking default is empty string
4. You wrote this variable block:
variable "env" {
default: "production"
}
Why does Terraform give a syntax error?
medium
A. Because default uses colon instead of equals sign
B. Because variable name must not be in quotes
C. Because default value must be a number
D. Because variable blocks cannot have defaults
Solution
Step 1: Check the syntax for default assignment
Terraform requires = to assign default values, not a colon.
Step 2: Identify the cause of syntax error
Using default: "production" causes a syntax error because colon is invalid here.
Final Answer:
Because default uses colon instead of equals sign -> Option A
Quick Check:
Use = not : for default [OK]
Hint: Use = for default, not colon : [OK]
Common Mistakes:
Using colon instead of equals for default
Removing quotes from variable name
Thinking default must be numeric
5. You want to create a variable availability_zones with a default list of zones ["us-east-1a", "us-east-1b"]. Which is the correct way to declare it in Terraform?
hard
A. variable "availability_zones" {
default = "us-east-1a, us-east-1b"
}
B. variable availability_zones = ["us-east-1a", "us-east-1b"]
C. variable "availability_zones" {
type = list(string)
default = ["us-east-1a", "us-east-1b"]
}
D. variable "availability_zones" {
type = string
default = ["us-east-1a", "us-east-1b"]
}
Solution
Step 1: Define variable with correct type for list of strings
Use type = list(string) to specify a list of strings.
Step 2: Assign default as a list of strings
Set default = ["us-east-1a", "us-east-1b"] inside the variable block.
Final Answer:
variable "availability_zones" {
type = list(string)
default = ["us-east-1a", "us-east-1b"]
} -> Option C