次のオブジェクト変数のリストがあります。
variable "objects" {
type = "list"
description = "list of objects
default = [
{
id = "name1"
attribute = "a"
},
{
id = "name2"
attribute = "a,b"
},
{
id = "name3"
attribute = "d"
}
]
}
Id = "name2"の要素を取得するにはどうすればよいですか?
次の式を使用して、id = "name2"のマップを取得します。
var.objects[index(var.objects.*.id, "name2")]
簡単なテストのために、次のワンライナーを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")]