Возможно ли с помощью Terraform иметь структуру каталогов, подобную следующей:
├── environments
│ └── production
│ ├── app1
│ ├── instances.tf
│ ├── app2
│ └── shared
│ ├── iam.tf
│ └── security_groups.tf
└── modules
└── iam
└── node
Где environments/production/{app1, app2, shared}
каждый из них имеет свое собственное состояние terraform и каждый не зависит друг от друга.Однако из app1 и app2 мне нужно сослаться на выходные переменные модуля, такие как группы безопасности, IAM и т. Д. Из общего ресурса.
Итак, environments/production/shared/iam.tf
выглядит следующим образом:
module "iam" {
source = "../../../modules/iam"
var1 = "foo"
var2 = "bar"
var3 = "car"
var4 = "nar"
}
Как тогда, из app1
или app2
ссылаться на экземпляр iam
из shared
?
environments/production/app1/instances.tf
:
module "app1" {
source = "../../../modules/node"
iam_profile_id = { how do I reference the IAM module from shared here?
// shared.module.iam.profile_id?
}