Skip to content

Commit 3ae201a

Browse files
committed
feat: add new output variable env_vars
1 parent ce061a0 commit 3ae201a

File tree

3 files changed

+31
-5
lines changed

3 files changed

+31
-5
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ module "pubsub" {
105105

106106
| Name | Description |
107107
|------|-------------|
108+
| env\_vars | Map of pull subscription IDs, keyed by project\_subscription name for environment variables. |
108109
| id | The ID of the Pub/Sub topic |
109110
| subscription\_names | The name list of Pub/Sub subscriptions |
110111
| subscription\_paths | The path list of Pub/Sub subscriptions |

metadata.yaml

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,22 @@ spec:
8383
source: github.com/GoogleCloudPlatform/terraform-google-cloud-run//modules/v2
8484
version: ">= 0.13"
8585
spec:
86-
outputExpr: "{ \"name\": service_name, \"push_endpoint\": service_uri, \"oidc_service_account_email\": service_account_id.email }"
86+
outputExpr: "{ \"name\": apphub_service_uri.service_id, \"push_endpoint\": service_uri, \"oidc_service_account_email\": service_account_id.email }"
8787
- name: pull_subscriptions
8888
description: The list of the pull subscriptions.
8989
varType: "list(object({\r\n name = string,\r\n ack_deadline_seconds = optional(number),\r\n expiration_policy = optional(string),\r\n dead_letter_topic = optional(string),\r\n max_delivery_attempts = optional(number),\r\n retain_acked_messages = optional(bool),\r\n message_retention_duration = optional(string),\r\n maximum_backoff = optional(string),\r\n minimum_backoff = optional(string),\r\n filter = optional(string),\r\n enable_message_ordering = optional(bool),\r\n service_account = optional(string),\r\n enable_exactly_once_delivery = optional(bool),\r\n }))"
9090
defaultValue: []
91+
connections:
92+
- source:
93+
source: github.com/GoogleCloudPlatform/terraform-google-cloud-run//modules/v2
94+
version: ">= 0.13"
95+
spec:
96+
outputExpr: "{ \"name\": service_name, \"service_account\": service_account_id.email }"
97+
- source:
98+
source: github.com/terraform-google-modules/terraform-google-service-accounts//modules/simple-sa
99+
version: ">= 4.4"
100+
spec:
101+
outputExpr: "{ \"name\": account_details.id, \"service_account\": account_details.email }"
91102
- name: bigquery_subscriptions
92103
description: The list of the Bigquery push subscriptions.
93104
varType: "list(object({\r\n name = string,\r\n table = string,\r\n use_topic_schema = optional(bool),\r\n use_table_schema = optional(bool),\r\n write_metadata = optional(bool),\r\n drop_unknown_fields = optional(bool),\r\n ack_deadline_seconds = optional(number),\r\n retain_acked_messages = optional(bool),\r\n message_retention_duration = optional(string),\r\n enable_message_ordering = optional(bool),\r\n expiration_policy = optional(string),\r\n filter = optional(string),\r\n dead_letter_topic = optional(string),\r\n max_delivery_attempts = optional(number),\r\n maximum_backoff = optional(string),\r\n minimum_backoff = optional(string)\r\n }))"
@@ -134,19 +145,24 @@ spec:
134145
description: Schema for the topic.
135146
varType: "object({\r\n name = string\r\n type = string\r\n definition = string\r\n encoding = string\r\n })"
136147
outputs:
148+
- name: env_vars
149+
description: Map of pull subscription IDs, keyed by project_subscription name for environment variables.
150+
type:
151+
- map
152+
- string
137153
- name: id
138154
description: The ID of the Pub/Sub topic
139155
type: string
140156
- name: subscription_names
141157
description: The name list of Pub/Sub subscriptions
142158
type:
143-
- tuple
144-
- - string
159+
- list
160+
- string
145161
- name: subscription_paths
146162
description: The path list of Pub/Sub subscriptions
147163
type:
148-
- tuple
149-
- - string
164+
- list
165+
- string
150166
- name: topic
151167
description: The name of the Pub/Sub topic
152168
type: string

outputs.tf

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,12 @@ output "subscription_paths" {
5656
description = "The path list of Pub/Sub subscriptions"
5757
}
5858

59+
output "env_vars" {
60+
value = merge(
61+
{ for k, v in google_pubsub_subscription.pull_subscriptions : replace(upper("SUB_ID_${v.project}_${v.name}"), "-", "_") => v.id },
62+
{ replace(upper("TOPIC_ID_${var.project_id}_${var.topic}"), "-", "_") : length(google_pubsub_topic.topic) > 0 ? google_pubsub_topic.topic[0].id : "" }
63+
)
64+
65+
description = "Map of pull subscription IDs, keyed by project_subscription name for environment variables."
66+
}
67+

0 commit comments

Comments
 (0)