【发布时间】:2021-11-30 06:05:17
【问题描述】:
在 ec2 实例模块中,我有几个安全组,一个来自变量,另一个在模块中创建。我有一种情况,需要在来自该模块的 terraform 文件中添加新的安全组。
为了能够连接一个新列表,我想将现有的 format1 转换为一个我无法做到的显式列表。我怎样才能做到这一点?
resource "aws_instance" "instance" {
//...
# (current)format1: Works
vpc_security_group_ids = ["${aws_security_group.secGrp_1.id}", "${var.secGrp_2}"]
# format2: Doesn't work
vpc_security_group_ids = "${list(aws_security_group.secGrp_1.id, var.secGrp_2)}"
# format3: Works
vpc_security_group_ids = "${list(var.secGrp_2)}"
# format3: Doesn't works
vpc_security_group_ids = "${list(tostring(aws_security_group.secGrp_1.id), var.secGrp_2)}"
Format2 失败并显示:“vpc_security_group_ids:应该是一个列表”。 我怀疑 secGrp1 id 在此表示中未被识别为字符串。
Format4 失败并显示:“未知函数调用:tostring in: ${(list(tostring(aws_security_group.secGrp_1.id), var.secGrp_2))}"
P.S:我们使用的 Terraform 版本是 0.11.x
【问题讨论】:
-
0.11 非常非常老了。最好升级,因为你会遇到越来越多的问题
-
@Marcin,正在筹备中。
标签: amazon-ec2 terraform infrastructure-as-code terraform0.11