Похоже, у вас есть два модуля, один terraform/mod/sec
, а другой terraform/env/res/
.Первый определяет ресурс aws_security_group
, а другой использует этот идентификатор группы безопасности для создания ресурса aws_elb
.
Я предполагаю, что вы используете terraform из каталога res
, что неверно.Вместо этого необходимо вывести идентификатор группы безопасности в модуле res
output "sg_id" {
value = "${aws_security_group.allow_all.id}"
}
, а затем обратиться к модулю res
в модуле sec
.
module "sec" {
source = "../../env/res"
}
resource "aws_elb" "elb" {
name = "elb-example"
subnets = ["${data.aws_subnet_ids.all.ids}"]
security_groups = ["${module.sec.sg_id}"] # SG
internal = false
listener = [
...
]
...
}
Затем из этого каталога terraform/env/res/
можно запустить
terraform init && terraform plan
, что позволит правильно вводить идентификатор группы безопасности.