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

如何在Terraform中访问aws_eks_node_group映射输出的ob字段值

正确引用方式

你声明的aws_eks_node_group.managed_workers是通过for_each创建的多实例资源,每个实例的tags属性本身就是map结构,可根据使用场景选择对应写法:

  • 如果新资源也使用for_each = var.nodegroups[terraform.workspace]遍历同一节点组集合,引用写法为:

    aws_eks_node_group.managed_workers[each.key].tags.ob
    

    也可以用方括号语法取值,适合标签名包含特殊字符的场景:

    aws_eks_node_group.managed_workers[each.key].tags["ob"]
    
  • 如果需要单独取指定key的节点组的ob值,比如示例中key为dev的节点组,写法为:

    aws_eks_node_group.managed_workers["dev"].tags.ob
    

使用示例

以下是在新资源中引用的完整示例:

resource "aws_xxxx" "your_new_resource" {
  for_each = var.nodegroups[terraform.workspace]
  # 其他资源参数
  ob_value = aws_eks_node_group.managed_workers[each.key].tags.ob
}

注:你预想的each.value.tags(map).ob写法错误,因为each.value只在当前资源块声明了for_each时,指代当前块遍历的元素,要引用eks节点组资源的属性,必须先指定资源的寻址路径,再取对应属性值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:39:05