如何引用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
相关产品推荐
相关产品推荐

