Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ module "pubsub" {
| grant\_token\_creator | Specify true if you want to add token creator role to the default Pub/Sub SA. | `bool` | `true` | no |
| message\_storage\_policy | A map of storage policies. Default - inherit from organization's Resource Location Restriction policy. | `map(any)` | `{}` | no |
| project\_id | The project ID to manage the Pub/Sub resources. | `string` | n/a | yes |
| pull\_subscriptions | The list of the pull subscriptions. | <pre>list(object({<br> name = string,<br> ack_deadline_seconds = optional(number),<br> dead_letter_topic = optional(string),<br> max_delivery_attempts = optional(number),<br> retain_acked_messages = optional(bool),<br> message_retention_duration = optional(string),<br> maximum_backoff = optional(string),<br> minimum_backoff = optional(string),<br> filter = optional(string),<br> enable_message_ordering = optional(bool),<br> service_account = optional(string),<br> enable_exactly_once_delivery = optional(bool),<br> }))</pre> | `[]` | no |
| pull\_subscriptions | The list of the pull subscriptions. | <pre>list(object({<br> name = string,<br> ack_deadline_seconds = optional(number),<br> expiration_policy = optional(string),<br> dead_letter_topic = optional(string),<br> max_delivery_attempts = optional(number),<br> retain_acked_messages = optional(bool),<br> message_retention_duration = optional(string),<br> maximum_backoff = optional(string),<br> minimum_backoff = optional(string),<br> filter = optional(string),<br> enable_message_ordering = optional(bool),<br> service_account = optional(string),<br> enable_exactly_once_delivery = optional(bool),<br> }))</pre> | `[]` | no |
| push\_subscriptions | The list of the push subscriptions. | <pre>list(object({<br> name = string,<br> ack_deadline_seconds = optional(number),<br> push_endpoint = optional(string),<br> x-goog-version = optional(string),<br> oidc_service_account_email = optional(string),<br> audience = optional(string),<br> expiration_policy = optional(string),<br> dead_letter_topic = optional(string),<br> retain_acked_messages = optional(bool),<br> message_retention_duration = optional(string),<br> max_delivery_attempts = optional(number),<br> maximum_backoff = optional(string),<br> minimum_backoff = optional(string),<br> filter = optional(string),<br> enable_message_ordering = optional(bool),<br> }))</pre> | `[]` | no |
| schema | Schema for the topic. | <pre>object({<br> name = string<br> type = string<br> definition = string<br> encoding = string<br> })</pre> | `null` | no |
| subscription\_labels | A map of labels to assign to every Pub/Sub subscription. | `map(string)` | `{}` | no |
Expand Down
5 changes: 5 additions & 0 deletions examples/simple/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ module "pubsub" {
ack_deadline_seconds = 20
expiration_policy = "1209600s" // two weeks
},
{
name = "push-default-expiration"
push_endpoint = "https://${var.project_id}.appspot.com/"
x-goog-version = "v1beta1"
},
]

schema = {
Expand Down
4 changes: 2 additions & 2 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ resource "google_pubsub_subscription" "push_subscriptions" {
enable_message_ordering = each.value.enable_message_ordering
dynamic "expiration_policy" {
// check if the 'expiration_policy' key exists, if yes, return a list containing it.
for_each = contains(keys(each.value), "expiration_policy") ? [each.value.expiration_policy] : []
for_each = each.value.expiration_policy != null ? [each.value.expiration_policy] : []
content {
ttl = expiration_policy.value
}
Expand Down Expand Up @@ -240,7 +240,7 @@ resource "google_pubsub_subscription" "pull_subscriptions" {
enable_message_ordering = each.value.enable_message_ordering
dynamic "expiration_policy" {
// check if the 'expiration_policy' key exists, if yes, return a list containing it.
for_each = contains(keys(each.value), "expiration_policy") ? [each.value.expiration_policy] : []
for_each = each.value.expiration_policy != null ? [each.value.expiration_policy] : []
content {
ttl = expiration_policy.value
}
Expand Down
7 changes: 4 additions & 3 deletions metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ spec:
version: 8.0.1
actuationTool:
flavor: Terraform
version: ">= 0.13"
version: ">= 1.3"
description: {}
content:
examples:
Expand Down Expand Up @@ -96,12 +96,13 @@ spec:
list(object({
name = string,
ack_deadline_seconds = optional(number),
expiration_policy = optional(string),
dead_letter_topic = optional(string),
max_delivery_attempts = optional(number),
retain_acked_messages = optional(bool),
message_retention_duration = optional(string),
maximum_backoff = optional(number),
minimum_backoff = optional(number),
maximum_backoff = optional(string),
minimum_backoff = optional(string),
filter = optional(string),
enable_message_ordering = optional(bool),
service_account = optional(string),
Expand Down
1 change: 1 addition & 0 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ variable "pull_subscriptions" {
type = list(object({
name = string,
ack_deadline_seconds = optional(number),
expiration_policy = optional(string),
dead_letter_topic = optional(string),
max_delivery_attempts = optional(number),
retain_acked_messages = optional(bool),
Expand Down