Terraform 0.12 обеспечит обновление основного синтаксиса HCL для поддержки HCL2, а вместе с этим динамические блоки .
Как указано в руководстве по предварительному просмотру версии 0.12, это выглядит примерно так:
# Configuration for Terraform 0.12
locals {
standard_tags = {
Component = "user-service"
Environment = "production"
}
}
resource "aws_autoscaling_group" "example" {
# ...
tag {
key = "Name"
value = "example-asg-name"
propagate_at_launch = false
}
dynamic "tag" {
for_each = local.standard_tags
content {
key = tag.key
value = tag.value
propagate_at_launch = true
}
}
}
Таким образом, вы сможете просматривать список пользователей вашего брокера MQ примерно так:
variable "users" {
default = [
{
username = "user1"
password = "password1"
},
]
}
resource "aws_mq_broker" "my_broker" {
broker_name = var.broker_name
dynamic "user" {
for_each var.users
content {
username = user.username
password = user.password
}
}
}