Skip to content

Commit a413f03

Browse files
authored
feat: add pubsub iam member for bigquery subscription dead letter topics (#146)
1 parent d1298c0 commit a413f03

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

‎main.tf

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,18 @@ resource "google_pubsub_topic_iam_member" "pull_topic_binding" {
8686
]
8787
}
8888

89+
resource "google_pubsub_topic_iam_member" "bigquery_topic_binding" {
90+
for_each = var.create_topic ? { for i in var.bigquery_subscriptions : i.name => i if try(i.dead_letter_topic, "") != "" } : {}
91+
92+
project = var.project_id
93+
topic = each.value.dead_letter_topic
94+
role = "roles/pubsub.publisher"
95+
member = "serviceAccount:${local.pubsub_svc_account_email}"
96+
depends_on = [
97+
google_pubsub_topic.topic,
98+
]
99+
}
100+
89101
resource "google_pubsub_subscription_iam_member" "pull_subscription_binding" {
90102
for_each = var.create_subscriptions ? { for i in var.pull_subscriptions : i.name => i if try(i.dead_letter_topic, "") != "" } : {}
91103

@@ -110,6 +122,18 @@ resource "google_pubsub_subscription_iam_member" "push_subscription_binding" {
110122
]
111123
}
112124

125+
resource "google_pubsub_subscription_iam_member" "bigquery_subscription_binding" {
126+
for_each = var.create_subscriptions ? { for i in var.bigquery_subscriptions : i.name => i if try(i.dead_letter_topic, "") != "" } : {}
127+
128+
project = var.project_id
129+
subscription = each.value.name
130+
role = "roles/pubsub.subscriber"
131+
member = "serviceAccount:${local.pubsub_svc_account_email}"
132+
depends_on = [
133+
google_pubsub_subscription.bigquery_subscriptions,
134+
]
135+
}
136+
113137
resource "google_pubsub_topic" "topic" {
114138
count = var.create_topic ? 1 : 0
115139
project = var.project_id

0 commit comments

Comments
 (0)