连接一个列表,设置为资源属性
Concat a list, set as resource attribute
我正在尝试合并两个列表并将其设置为资源的属性,但出现错误。这是最小的复制品:
network_configuration {
security_groups = "${concat([module.service_base.allow_lb_access_sg], [module.service_base.intraservice_communication_sg])}"
}
我收到一个超级无用的错误
Error: Error loading modules: module load_balanced_service: Error loading .terraform/modules/188cf031fdce92d75131be4747cedad9/XXX.tf: Error reading config for aws_ecs_service[ecs_service]: parse error at 1:10: expected expression but found "["
它声称第 1 行,但如果您删除该 security_groups 行,一切正常。
好的,所以文档非常不清楚。我解决这个问题的方法是
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)}"]
我正在尝试合并两个列表并将其设置为资源的属性,但出现错误。这是最小的复制品:
network_configuration {
security_groups = "${concat([module.service_base.allow_lb_access_sg], [module.service_base.intraservice_communication_sg])}"
}
我收到一个超级无用的错误
Error: Error loading modules: module load_balanced_service: Error loading .terraform/modules/188cf031fdce92d75131be4747cedad9/XXX.tf: Error reading config for aws_ecs_service[ecs_service]: parse error at 1:10: expected expression but found "["
它声称第 1 行,但如果您删除该 security_groups 行,一切正常。
好的,所以文档非常不清楚。我解决这个问题的方法是
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)}"]