0
0
Terraformcloud~5 mins

For expressions for transformation in Terraform - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is a 'for expression' in Terraform?
A 'for expression' in Terraform is a way to transform or create new collections by looping over existing ones, similar to a simple loop that builds a new list or map.
Click to reveal answer
beginner
How do you create a new list by doubling each number in an existing list using a for expression?
You write: <br>[for n in var.numbers : n * 2]<br>This loops over each number 'n' in 'var.numbers' and multiplies it by 2, creating a new list.
Click to reveal answer
intermediate
What is the difference between a for expression that creates a list and one that creates a map?
A list for expression returns a list of values.<br>A map for expression returns key-value pairs using the syntax:<br>{ for k, v in var.map : k => v }<br>This creates a new map by transforming keys and values.
Click to reveal answer
intermediate
How can you filter elements in a for expression?
You add an 'if' condition after the colon:<br>[for n in var.numbers : n if n > 5]<br>This creates a list of numbers greater than 5 only.
Click to reveal answer
beginner
Why use for expressions in Terraform configurations?
For expressions help you write less repetitive code by transforming data collections dynamically, making your infrastructure code cleaner and easier to maintain.
Click to reveal answer
What does this Terraform expression produce? <br>[for s in ["a", "b", "c"] : upper(s)]
AError, 'upper' is not valid
B["A", "B", "C"]
C{"a" => "A", "b" => "B", "c" => "C"}
D["a", "b", "c"]
How do you write a for expression that creates a map from a list of strings where keys are strings and values are their lengths?
A[ for s in var.strings : length(s) ]
B{ for s in var.strings : length(s) => s }
C{ for s in var.strings : s => length(s) }
D[ for s in var.strings : s ]
Which of these filters elements in a list to only include even numbers?
A[for n in var.numbers : n if n % 2 == 0]
B[for n in var.numbers : n]
C{for n in var.numbers : n => n if n % 2 == 0}
D[for n in var.numbers : n if n > 0]
What type of collection does this expression produce? <br>{ for k, v in var.map : k => v * 2 }
AAn error
BA list of doubled values
CA list of keys
DA map with values doubled
Can you use for expressions inside resource blocks in Terraform?
AYes, to generate multiple resources or attributes dynamically
BNo, for expressions are only for variables
COnly in provider blocks
DOnly in output blocks
Explain how to use a for expression to transform a list of strings into a list of their uppercase versions.
Think about looping over each item and changing it.
You got /4 concepts.
    Describe how to filter elements in a list using a for expression in Terraform.
    Filtering happens after the colon with an 'if' statement.
    You got /4 concepts.