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

如何引用Terraform中用merge函数生成的输出里的特定安全组ID?

正确引用Terraform输出的安全组ID

你的输出定义如下:

output "security_group_ids" {
  value = merge(
    { for k, v in aws_security_group.s1 : k=> v.id },
    { for i in var.security_group_id : i=> aws_security_group.s2.id },
  )
}

你之前尝试的module.<modulename>.security_group_ids["s1"].id写法有误,正确的引用方式是:

module.<modulename>.security_group_ids["s1"]

原因说明:

  • 输出中的第一个for表达式{ for k, v in aws_security_group.s1 : k=> v.id }已经将aws_security_group.s1实例的id值作为map的value存储,所以security_group_ids["s1"]对应的直接就是安全组的ID字符串,不需要再追加.id属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 01:44:53