【发布时间】:2020-12-24 12:07:34
【问题描述】:
现在我正在迁移到 Terraform 12。这里的主要功能之一是更严格的 HCL2,我喜欢它。
例如,如果我有地图列表:
elb_listeners = [
{
instance_port = 80
instance_protocol = "http"
lb_port = 80
lb_protocol = "http"
},
{
instance_port = 443
instance_protocol = "http"
lb_port = 443
lb_protocol = "https"
ssl_certificate_id = ARN certificate
}
我可以用动态块旋转它:
dynamic "listener" {
for_each = [for listener in var.elb_listeners : {
instance_port = listener.instance_port
instance_protocol = listener.instance_protocol
lb_port = listener.lb_port
lb_protocol = listener.lb_protocol
}]
content {
instance_port = listener.value.instance_port
instance_protocol = listener.value.instance_protocol
lb_port = listener.value.lb_port
lb_protocol = listener.value.lb_protocol
}
}
但是让我们假设我只有一个块并且只有一个块是可能的:
health_check {
healthy_threshold = 2
unhealthy_threshold = 2
timeout = 3
target = "HTTP:8000/"
interval = 30
}
我不想声明所有这些变量,我也想在设置中将其描述为块一次。是的,在这里我也可以将dynamic_block 与一个元素一起使用,但在这里看起来有点过头了。有可能这样做吗?喜欢
health_check {
var.health_check
}
什么的。
【问题讨论】:
标签: terraform infrastructure-as-code