Exam Terraform Associate All QuestionsBrowse all questions from this exam
Question 38

You have declared a variable called var.list which is a list of objects that all have an attribute id.

Which options will produce a list of the IDs? (Choose two.)

    Correct Answer: B, D

    To produce a list of the IDs from a list of objects that have an id attribute, you can use the following options: var.list[*].id and [ for o in var.list : o.id ]. The first option uses the splat operator [*] to iterate over all elements of the list and select the id attribute, resulting in a list of IDs. The second option uses a for-expression to iterate over each object in the list and collect the id attribute of each object into a new list. Both methods will correctly produce a list of IDs from var.list.

Discussion
bigboi23Options: BD

https://www.terraform.io/language/expressions/splat A splat expression provides a more concise way to express a common operation that could otherwise be performed with a for expression.

BereOptions: BD

Here's an example: Assume you have the following variable declaration: variable "users" { default = [ { id = "id1" name = "name1" }, { id = "id2" name = "name2" }, { id = "id3" name = "name3" } ] } You can retrieve the list of IDs in your Terraform configuration using either of these options: output "users_splat" { value = var.users[*].id } output "users_for" { value = [for user in var.users : user.id] } Both these outputs will produce the same list of IDs: ["id1", "id2", "id3"].

Ni33Options: AB

A and B is the correct answer

vibzr2023Options: BD

Apart from B and D , C is also correct > [for o in var.list : o.id] [ "1", "2", "3", ]

ndiichieOptions: BD

Answer is BD. https://developer.hashicorp.com/terraform/language/expressions/splat

campsOptions: BD

B. var.list[*].id and D. [ for o in var.list : o.id ]. To produce a list of IDs from a list of objects with an id attribute, you can use either of the following options: var.list[*].id: This uses the [*] wildcard to select all elements of the var.list list, and the .id syntax to select the id attribute of each element. This will produce a list of IDs. [ for o in var.list : o.id ]: This uses a for expression to iterate over each element of var.list, selecting the id attribute of each element. This will produce a list of IDs.

sahara99Options: BD

A is wrong as the question asked which one creates a "list"

zimomarOptions: BD

BD for sure

srajvanshiOptions: BD

https://developer.hashicorp.com/terraform/language/expressions/splat B and D

krishna2802Options: BD

https://www.terraform.io/language/expressions/splat

AzRNoobOptions: BD

he correct options that will produce a list of the IDs are B and D: Option B, var.list[*].id, uses the splat operator [*] to iterate over all elements of the var.list list and then accesses the id attribute of each object. The result is a list of all the id values. Option D, [ for o in var.list : o.id ], uses a list comprehension to iterate over each object in the var.list list and create a new list that contains only the id attribute of each object.

Power123Options: BD

The splat and interpolation. Ans is B & D

thor7Options: BD

B and D are correct, checked them. Reference: https://developer.hashicorp.com/terraform/language/expressions/for

Mal_8Options: BD

BD. Tried each expression

TanacetOptions: BD

The splat and interpolation-style

Mohammed52Options: BD

B and D is corrrect

InformationOverloadOptions: BD

B and D is correct