@@ -52,6 +52,17 @@ resource "google_project_iam_audit_config" "audit_config" {
5252 }
5353}
5454
55+ # -------------------#
56+ # Cloud Pub/Sub API #
57+ # -------------------#
58+
59+ resource "google_project_service" "pubsub_api" {
60+ project = var. project_id
61+ service = " pubsub.googleapis.com"
62+
63+ disable_on_destroy = false
64+ }
65+
5566# -----------------#
5667# Ingestion topic #
5768# -----------------#
@@ -61,13 +72,17 @@ resource "google_pubsub_topic" "ingestion_topic" {
6172 labels = var. labels
6273 project = var. project_id
6374 message_retention_duration = var. message_retention_duration
75+
76+ depends_on = [google_project_service . pubsub_api ]
6477}
6578
6679resource "google_pubsub_topic" "deadletter_topic" {
6780 name = " dl-${ google_pubsub_topic . ingestion_topic . name } "
6881
6982 project = var. project_id
7083 message_retention_duration = var. message_retention_duration
84+
85+ depends_on = [google_project_service . pubsub_api ]
7186}
7287
7388# ------#
@@ -105,6 +120,8 @@ resource "google_pubsub_topic_iam_member" "publisher_iam_member" {
105120 topic = google_pubsub_topic. ingestion_topic . name
106121 role = " roles/pubsub.publisher"
107122 member = var. is_organizational ? google_logging_organization_sink. ingestion_sink [0 ]. writer_identity : google_logging_project_sink. ingestion_sink [0 ]. writer_identity
123+
124+ depends_on = [google_project_service . pubsub_api ]
108125}
109126
110127# -------------------#
@@ -156,6 +173,8 @@ resource "google_pubsub_subscription" "ingestion_topic_push_subscription" {
156173 dead_letter_topic = google_pubsub_topic. deadletter_topic . id
157174 max_delivery_attempts = var. max_delivery_attempts
158175 }
176+
177+ depends_on = [google_project_service . pubsub_api ]
159178}
160179
161180# ------------------------------------------------------------------#
0 commit comments