J'ai la liste suivante de variables d'objets:
variable "objects" {
type = "list"
description = "list of objects
default = [
{
id = "name1"
attribute = "a"
},
{
id = "name2"
attribute = "a,b"
},
{
id = "name3"
attribute = "d"
}
]
}
Comment obtenir un élément avec id = "name2"?
Vous obtenez la carte avec id = "name2" avec l'expression suivante:
var.objects[index(var.objects.*.id, "name2")]
Pour un test rapide, exécutez le one-liner suivant dans la console terraform:
[{id = "name1", attribute = "a"}, {id = "name2", attribute = "a,b"}, {id = "name3", attribute = "d"}][index([{id = "name1", attribute = "a"}, {id = "name2", attribute = "a,b"}, {id = "name3", attribute = "d"}].*.id, "name2")]