HCLのfor expressionのgrouping modeなかなかcoolじゃね?
variable "users" {
type = map(object({
role = string
}))
}
locals {
users_by_role = {
for name, user in var.users : user.role => name...
}
}
多くの言語で、マップにキーがまだないときは空リスト、そうじゃないときは要素追加とか書かなきゃいけない(100万回くらい書いた処理)ところを、めちゃくちゃコンパクトに書ける
https://developer.hashicorp.com/terraform/language/expressions/for#grouping-results