0
0
Terraformcloud~20 mins

Null values handling in Terraform - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Null Values Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
service_behavior
intermediate
2:00remaining
Handling null values in Terraform variables
Given the following Terraform variable declaration and usage, what will be the value of resource_name after applying the configuration if var.name is null?
Terraform
variable "name" {
  type    = string
  default = null
}

locals {
  resource_name = var.name != null ? var.name : "default-name"
}
Anull
B"default-name"
C""
DError: variable "name" must not be null
Attempts:
2 left
💡 Hint
Check how the ternary operator handles null values in Terraform.
Configuration
intermediate
2:00remaining
Null value in Terraform map lookup
What will be the output of the following Terraform expression if var.settings is {} (an empty map)?
Terraform
variable "settings" {
  type = map(string)
  default = {}
}

output "region" {
  value = lookup(var.settings, "region", null)
}
Anull
B"region"
CError: key "region" not found
D""
Attempts:
2 left
💡 Hint
The lookup function returns the default value if the key is missing.
Architecture
advanced
2:00remaining
Impact of null values on resource count in Terraform
Consider the following Terraform snippet. What will be the number of aws_instance resources created if var.instance_count is null?
Terraform
variable "instance_count" {
  type    = number
  default = null
}

resource "aws_instance" "example" {
  count = var.instance_count != null ? var.instance_count : 1
  ami           = "ami-123456"
  instance_type = "t2.micro"
}
A1
B0
Cnull
DError: count must be a non-negative integer
Attempts:
2 left
💡 Hint
Look at how the count argument handles null values with a conditional expression.
security
advanced
2:00remaining
Null values in sensitive Terraform variables
If a sensitive Terraform variable is set to null, what is the behavior when it is used in a resource attribute expecting a string?
Terraform
variable "db_password" {
  type      = string
  sensitive = true
  default   = null
}

resource "aws_db_instance" "default" {
  password = var.db_password
  # other required attributes
}
ATerraform ignores the password attribute
BTerraform applies with an empty string as password
CTerraform replaces null with a default password automatically
DTerraform throws an error due to null value in a required attribute
Attempts:
2 left
💡 Hint
Consider how Terraform treats null values for required resource attributes.
Best Practice
expert
3:00remaining
Best practice for handling optional null values in Terraform modules
You are designing a Terraform module with an optional variable that can be null. Which approach below correctly handles the null value to provide a default inside the module without causing errors?
Terraform
variable "environment" {
  type    = string
  default = null
}

locals {
  env = ???
}
Aenv = var.environment != null ? var.environment : "production"
Benv = var.environment || "production"
Cenv = coalesce(var.environment, "production")
Denv = var.environment ?? "production"
Attempts:
2 left
💡 Hint
Terraform has a built-in function to handle null and fallback values.