我正在尝试为 Dev 和 QA 环境配置我的 terraform,每个环境都有自己的安全组,我用data
标签指定:
data "aws_security_group" "ssh" {
name = "SG-SSH"
}
data "aws_security_group" "postgres" {
name = "SG-Postgres"
}
有没有办法根据目标环境指定哪些安全组被拉入?我试过这个:
locals {
sgs = {
dev = ["${data.aws_security_group.postgres.id}", "${data.aws_security_group.ssh.id}"]
qa = ["${data.aws_security_group.postgres.id}"]
}
}
然后我用"${local.sgs[var.env]}"
. 但是,ssh
安全组只存在于开发环境中,所以当我针对 QA 环境时,我仍然得到:
data.aws_security_group.ssh: data.aws_security_group.ssh: no matching SecurityGroup found