如何在Terraform的for_each循环中实现变量自增?
Terraform实现Azure防火墙网络规则集自增优先级
我正在尝试为Terraform中的Azure防火墙网络规则集资源设置自增的priority值,而非传入固定值。
当前代码
resource "azurerm_firewall_network_rule_collection" "netrc" { for_each = {for network_rule_collection in var.network_rule_collections: network_rule_collection.name => network_rule_collection} name = "netrc-${each.key}" azure_firewall_name = var.afw_name resource_group_name = var.resource_group_name priority = var.priority action = each.value.action }
期望效果
希望能实现类似以下的自增逻辑:
priority = (each.index * 10) + 140
遇到的问题
- 尝试使用
each.key,但当前模块中each.key是字符串类型,无法直接用于数值计算 - 尝试过计数器,但无法将计数器与
for_each循环结合使用
最终解决方案
采用index函数实现自增优先级:
priority = (index(var.application_rule_collections, each.value) + 100)
内容的提问来源于stack exchange,提问作者Dan Carlton
相关产品推荐
相关产品推荐

