Bird
Raised Fist0
Terraformcloud~10 mins

Type conversion functions in Terraform - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to convert the string "123" to a number.

Terraform
number_value = [1]("123")
Drag options to blanks, or click blank then click option'
Atonumber
Btostring
Ctolist
Dtomap
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'tostring' instead of 'tonumber'.
Forgetting to use a conversion function.
2fill in blank
medium

Complete the code to convert the number 456 to a string.

Terraform
string_value = [1](456)
Drag options to blanks, or click blank then click option'
Atostring
Btonumber
Ctolist
Dtomap
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'tonumber' instead of 'tostring'.
Using list or map conversion functions by mistake.
3fill in blank
hard

Fix the error in the code to convert a list of strings to a list of numbers.

Terraform
numbers = [for s in string_list : [1](s)]
Drag options to blanks, or click blank then click option'
Atostring
Btonumber
Ctolist
Dtomap
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'tostring' which converts to string, not number.
Using 'tolist' or 'tomap' which are for collections.
4fill in blank
hard

Fill both blanks to convert a map of strings to a map of numbers.

Terraform
numbers_map = { for k, v in string_map : k => [1](v) if [2](v) != null }
Drag options to blanks, or click blank then click option'
Atonumber
Btostring
Dlength
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'tostring' instead of 'tonumber'.
Using 'length' which returns number of characters, not conversion.
5fill in blank
hard

Fill all three blanks to convert a list of mixed strings to a list of numbers, skipping invalid entries.

Terraform
valid_numbers = [for s in mixed_list : [1](s) if [2](s) != null and [3](s) != ""]
Drag options to blanks, or click blank then click option'
Atonumber
Ctrimspace
Dtostring
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'tostring' instead of 'tonumber'.
Not trimming spaces before checking for empty strings.

Practice

(1/5)
1. What does the Terraform function tostring() do?
easy
A. Converts a string to a number
B. Converts a value to a string type
C. Converts a list to a set
D. Converts a number to a boolean

Solution

  1. Step 1: Understand the function purpose

    The tostring() function is designed to convert any given value into a string representation.
  2. Step 2: Match function to output type

    Since it converts values to strings, it does not convert to numbers, sets, or booleans.
  3. Final Answer:

    Converts a value to a string type -> Option B
  4. Quick Check:

    tostring() = string [OK]
Hint: tostring() always outputs text format [OK]
Common Mistakes:
  • Confusing tostring() with tonumber()
  • Thinking tostring() converts to lists or sets
  • Assuming tostring() changes boolean values
2. Which of the following is the correct syntax to convert a string "123" to a number in Terraform?
easy
A. tonumber("123")
B. tostring(123)
C. tolist("123")
D. toset("123")

Solution

  1. Step 1: Identify the function for string to number conversion

    The function tonumber() converts strings that represent numbers into numeric types.
  2. Step 2: Check syntax correctness

    The syntax tonumber("123") correctly converts the string "123" to the number 123.
  3. Final Answer:

    tonumber("123") -> Option A
  4. Quick Check:

    tonumber("123") = 123 [OK]
Hint: Use tonumber() to convert numeric strings to numbers [OK]
Common Mistakes:
  • Using tostring() instead of tonumber()
  • Trying to convert string to list or set incorrectly
  • Missing quotes around the string input
3. What is the output of this Terraform expression?
tolist({"a" = 1, "b" = 2})
medium
A. Error: invalid argument
B. [1, 2]
C. ["a", "b"]
D. [{"a" = 1}, {"b" = 2}]

Solution

  1. Step 1: Understand input type for tolist()

    The input is a map {"a" = 1, "b" = 2}, but tolist() expects a tuple or list, not a map.
  2. Step 2: Check if conversion is valid

    Converting a map directly to a list using tolist() causes an error because the types are incompatible.
  3. Final Answer:

    Error: invalid argument -> Option A
  4. Quick Check:

    tolist() on map = error [OK]
Hint: tolist() needs list or tuple input, not maps [OK]
Common Mistakes:
  • Assuming tolist() converts maps to lists
  • Expecting keys or values as list output
  • Ignoring type mismatch errors
4. You wrote this Terraform code but get an error:
variable "ids" {
  default = toset(["1", "2", "3"])
}

output "numbers" {
  value = tonumber(var.ids)
}

What is the problem?
medium
A. Output block syntax is incorrect
B. toset() cannot convert lists to sets
C. Variable "ids" must be a string, not a set
D. tonumber() cannot convert a set directly; it needs a single string or number

Solution

  1. Step 1: Analyze the variable type

    Variable "ids" is a set of strings, created by toset(["1", "2", "3"]).
  2. Step 2: Check usage of tonumber()

    The function tonumber() expects a single string or number, not a set. Passing a set causes an error.
  3. Final Answer:

    tonumber() cannot convert a set directly; it needs a single string or number -> Option D
  4. Quick Check:

    tonumber(set) = error [OK]
Hint: tonumber() works on single values, not collections [OK]
Common Mistakes:
  • Trying to convert whole sets with tonumber()
  • Confusing toset() behavior
  • Assuming output block syntax is wrong
5. You have a list of numbers as strings: ["10", "20", "30"]. You want to convert it to a set of numbers in Terraform. Which expression correctly does this?
hard
A. tolist(toset(["10", "20", "30"]))
B. toset(tolist(tonumber(["10", "20", "30"])))
C. toset([for v in ["10", "20", "30"] : tonumber(v)])
D. tonumber(toset(["10", "20", "30"]))

Solution

  1. Step 1: Understand the input and desired output

    The input is a list of strings representing numbers. The goal is to get a set of numbers.
  2. Step 2: Use a for-expression to convert each string to number

    Using [for v in list : tonumber(v)] converts each string to a number, producing a list of numbers.
  3. Step 3: Convert the resulting list to a set

    Wrapping the for-expression with toset() converts the list of numbers to a set.
  4. Final Answer:

    toset([for v in ["10", "20", "30"] : tonumber(v)]) -> Option C
  5. Quick Check:

    Convert strings to numbers then to set [OK]
Hint: Use for-expression with tonumber() inside toset() [OK]
Common Mistakes:
  • Trying to apply tonumber() directly to a list
  • Converting to list after tonumber() without iteration
  • Using tonumber() on a set directly
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard