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

Terraform本地嵌套for循环创建报错问题求助

Terraform For表达式错误修正方案

问题根源

你嵌套的最内层for k, v in value完全多余——value本身是包含endpoint_name和health_check_name的单个对象,而非集合类型。这个多余的循环不仅违背了你的实际需求,还触发了Terraform的语法错误:Terraform要求for表达式构建对象时必须明确指定键表达式,而你的写法不符合该规则。

修正后的代码

custom_endpoints = [
  for each in var.endpoints : {
    for key, value in each.custom_endpoints :
    key => {
      "${value.endpoint_name}.${each.domain_name}" = {
        health_check_fqdn = "${value.health_check_name}.${each.domain_name}"
        region             = each.aws_region
      }
    }
  }
]

代码说明

  • 移除了无意义的内层for k, v in value循环,直接基于value对象的属性构造目标键值对
  • 保留外层两层for循环逻辑:遍历每个endpoint,再遍历每个endpoint下的custom_endpoints条目
  • 最终生成的结构与预期一致:每个列表元素是一个map,键为原custom_endpoints的键(如service),值为包含拼接后域名的嵌套map

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 07:20:36