그래서 다음과 같은 공통 모듈이 있습니다.
module "foo1" {
source = "./modules/bar"
name = "foo1"
id = "123"
}
module "foo2" {
source = "./modules/bar"
name = "foo2"
id = "456"
}
// module bar
resource "google_service_account" "service_account" {
account_id = var.name
...
}
위에서 볼 수 있듯이 2 개의 다른 모듈에서 참조하고 있습니다. : 문제는이 모듈 막대가 이메일로 자원을 생성하는 것입니다 google_service_account.service_account.email
내가 다른 자원의 무리를 만드는 데 사용하고 싶은 것을하지만 난 단지 그들을 만들려고 foo1
하지를위한 foo2
( bar
두 모듈 사용 name
및 id
이메일을 생성하는 데 바르). foo2
리소스 생성에서 제외하려면 어떻게 해야합니까?
// needs to be created using the email generated for `foo1` only
resource "google_project_iam_member" "admin" {
...
member = "serviceAccount:${google_service_account.service_account.email}"
}
질문을 올바르게 이해하면 count 를 사용 하여 조건부로 프로젝트를 만들 수 있습니다.
resource "google_project_iam_member" "admin" {
count = var.name == "foo1" ? 1 : 0
...
member = "serviceAccount:${google_service_account.service_account.email}"
}
위가 생성됩니다 google_project_iam_member.admin
때 name
입니다 foo1
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다