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

如何在Terraform中基于条件从模块输出值构建映射Map

完全可以实现,Terraform的for表达式原生支持可选的if过滤子句,你写的伪代码逻辑完全正确,只需要补全is_needed的属性引用路径即可:

locals {
  map_of_needed_values = tomap({
    for instance in module.my_module : instance.key => instance.value
    if instance.is_needed
  })
}

补充说明:

  • 迭代过程中Terraform会对每一个模块实例的is_needed输出值做判断,只有值为true的实例对应的键值对才会被加入最终生成的Map
  • 你也可以根据需求扩展if后的判断逻辑,支持多条件组合过滤,比如同时校验值的合法性:if instance.is_needed && instance.value != null

内容的提问来源于stack exchange,提问作者Jelkimantis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:06:04