我试图合并两个列表,并将其设置为资源的属性,但出现错误。这是最小复制:
network_configuration {
security_groups = "${concat([module.service_base.allow_lb_access_sg], [module.service_base.intraservice_communication_sg])}"
}
我收到一个超级无用的错误
错误:加载模块时出错:模块load_balanced_service:加载.terraform / modules / 188cf031fdce92d75131be4747cedad9 / XXX.tf:读取aws_ecs_service [ecs_service]的配置时出错:在1:10解析错误:预期的表达式,但找到了“ [“ ” >
它声明第1行,但如果删除了security_groups行,则一切正常。
答案 0 :(得分:0)
好的,因此文档非常不清楚。我解决这个问题的方法是
security_groups = ["${concat(list(module.service_base.allow_lb_access_sg), list(module.service_base.intraservice_communication_sg))}"]
请注意,list
功能是强制性的。如果您使用[]
,它仍然会中断。
但是,如果您输入的内容之一是列表,则您不想将其放在list
中,因为那样的话它就是包含您的列表的列表,例如你想要
security_groups = ["${concat(list(module.service_base.allow_lb_access_sg), var.my_list_type_variable)}"]