You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 14:09:21