Я пытаюсь настроить свой terraform для сред Dev и QA, каждая из которых имеет свои собственные группы безопасности, которые я указываю с помощью тега 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
существует только в среде разработки, поэтому, когда я нацелен на среду контроля качества, я все равно получаю:
data.aws_security_group.ssh: data.aws_security_group.ssh: no matching SecurityGroup found