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

如何通过for_each仅在create_service_token为true时创建Terraform资源?

解决方案

要实现仅在create_service_token == true时创建example_resource实例,你需要通过for表达式过滤var.tunnel_service_maps,只保留符合条件的条目。修改后的代码如下:

resource "example_resource" "example" {
  for_each       = { for k, v in var.tunnel_service_maps : k => v if v.create_service_token }
  name           = "allow-service-token-${each.value.target_service}"
}

代码说明

  • { for k, v in var.tunnel_service_maps : k => v if v.create_service_token }:遍历原映射的键值对(k为键名,v为对应对象),仅保留create_service_token值为true的条目,生成新的映射供for_each使用。
  • 结合你提供的变量实例,过滤后的映射会包含tunnel1和tunnel3两个条目,最终将创建2个example_resource实例,完全匹配预期需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:45:27