Skip to content

Commit 9eb4221

Browse files
author
Aaron Lane
committed
Replace IAM module with IAM member resources
The IAM module does not support dynamic members in additive mode.
1 parent bb407ad commit 9eb4221

File tree

1 file changed

+6
-11
lines changed

1 file changed

+6
-11
lines changed

modules/project_cleanup/main.tf

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,16 @@ resource "google_service_account" "project_cleaner_function" {
2424
display_name = "Project Cleaner Function"
2525
}
2626

27-
module "sa-organization-roles" {
28-
source = "terraform-google-modules/iam/google//modules/organizations_iam"
29-
version = "4.0.0"
30-
organizations = [var.organization_id]
31-
mode = "additive"
27+
resource "google_organization_iam_member" "main" {
28+
for_each = toset(["projectDeleter", "folderViewer", "lienModifier"])
3229

33-
bindings = {
34-
"roles/resourcemanager.projectDeleter" = ["serviceAccount:${google_service_account.project_cleaner_function.email}"]
35-
"roles/resourcemanager.folderViewer" = ["serviceAccount:${google_service_account.project_cleaner_function.email}"]
36-
"roles/resourcemanager.lienModifier" = ["serviceAccount:${google_service_account.project_cleaner_function.email}"]
37-
}
30+
member = "serviceAccount:${google_service_account.project_cleaner_function.email}"
31+
org_id = var.organization_id
32+
role = "roles/resourcemanager.${each.value}"
3833
}
3934

4035
module "scheduled_project_cleaner" {
41-
source = "../../"
36+
source = "../.."
4237
project_id = var.project_id
4338
job_name = "project-cleaner"
4439
job_schedule = var.job_schedule

0 commit comments

Comments
 (0)