Terraform 循环、条件语句、部署技巧与注意事项
1. 循环与条件语句
1.1 for_each 与 for 表达式结合
在 Terraform 中,当 var.custom_tags 为空时, for_each 表达式将没有可循环的内容,也就不会设置任何标签。我们可以将 for_each 表达式与 for 表达式结合,实现更复杂的逻辑:
dynamic "tag" {
for_each = {
for key, value in var.custom_tags:
key => upper(value)
if key != "Name"
}
content {
key = tag.key
value = tag.value
propagate_at_launch = true
}
}
上述代码中,嵌套的 for 表达式会遍历 var.custom_tags ,将每个值转换为大写,并使用条件过滤掉键为 Name 的标签,因为模块已经设置了自己的 Name 标签。通过在 for 表达式中过滤值,我们可以实现任意的条件逻辑。
通常,在创建资源或模块的多个副本时,我们应优先
超级会员免费看
订阅专栏 解锁全文

914

被折叠的 条评论
为什么被折叠?



