Skip to content

Commit 2346e8d

Browse files
fix: prevent disabling apis on destroy
also use _iam_member over _iam_binding
1 parent 9926842 commit 2346e8d

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

terraform/infra/apis/main.tf

+2-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ resource "google_project_service" "apis" {
2929
"pubsub.googleapis.com",
3030
"run.googleapis.com",
3131
])
32-
service = each.key
32+
service = each.key
33+
disable_on_destroy = false
3334
}
3435

terraform/infra/main.tf

+8-12
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ resource "google_service_account" "build_service_account" {
6363
depends_on = [module.apis]
6464
}
6565

66-
resource "google_project_iam_binding" "build_iam" {
66+
resource "google_project_iam_member" "build_iam" {
6767
for_each = toset(["roles/storage.objectViewer", "roles/logging.logWriter", "roles/artifactregistry.writer"])
6868
project = data.google_project.project.project_id
6969
role = each.value
70-
members = ["serviceAccount:${google_service_account.build_service_account.email}"]
70+
member = "serviceAccount:${google_service_account.build_service_account.email}"
7171
}
7272

7373
resource "google_artifact_registry_repository" "repo" {
@@ -83,10 +83,10 @@ resource "google_artifact_registry_repository" "repo" {
8383
data "google_storage_project_service_account" "gcs_account" {
8484
depends_on = [module.apis]
8585
}
86-
resource "google_project_iam_binding" "gcs_sa_pubsub_publish" {
86+
resource "google_project_iam_member" "gcs_sa_pubsub_publish" {
8787
project = data.google_project.project.project_id
8888
role = "roles/pubsub.publisher"
89-
members = ["serviceAccount:${data.google_storage_project_service_account.gcs_account.email_address}"]
89+
member = "serviceAccount:${data.google_storage_project_service_account.gcs_account.email_address}"
9090
}
9191

9292
## Create configured scanner buckets if requested.
@@ -110,13 +110,11 @@ data "google_storage_bucket" "scanner-buckets" {
110110
name = each.value
111111
depends_on = [module.create_buckets]
112112
}
113-
resource "google_storage_bucket_iam_binding" "buckets_sa_binding" {
113+
resource "google_storage_bucket_iam_member" "buckets_sa_iam" {
114114
for_each = local.all_buckets
115115
bucket = data.google_storage_bucket.scanner-buckets[each.key].name
116116
role = "roles/storage.admin"
117-
members = [
118-
"serviceAccount:${google_service_account.malware_scanner_sa.email}",
119-
]
117+
member = "serviceAccount:${google_service_account.malware_scanner_sa.email}"
120118
}
121119

122120
## Create the CVD Mirror bucket and allow service account admin access.
@@ -127,12 +125,10 @@ resource "google_storage_bucket" "cvd_mirror_bucket" {
127125
uniform_bucket_level_access = var.uniform_bucket_level_access
128126
depends_on = [module.apis]
129127
}
130-
resource "google_storage_bucket_iam_binding" "cvd_mirror_bucket_sa_binding" {
128+
resource "google_storage_bucket_iam_member" "cvd_mirror_bucket_sa_iam" {
131129
bucket = google_storage_bucket.cvd_mirror_bucket.name
132130
role = "roles/storage.admin"
133-
members = [
134-
"serviceAccount:${google_service_account.malware_scanner_sa.email}",
135-
]
131+
member = "serviceAccount:${google_service_account.malware_scanner_sa.email}"
136132
}
137133

138134
## Perform an update/initial load of mirror bucket.

0 commit comments

Comments
 (0)