diff --git a/CHANGELOG.md b/CHANGELOG.md
index 06565d342..43d9ef75d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,7 @@
All notable changes to this project will be documented in this file.
## [Unreleased]
+ - Fix `message_retention_duration` variable type in `pubsub` module
## [4.9.0] - 2021-06-04
diff --git a/modules/pubsub/README.md b/modules/pubsub/README.md
index 868f693f0..938f27166 100644
--- a/modules/pubsub/README.md
+++ b/modules/pubsub/README.md
@@ -96,14 +96,14 @@ module "pubsub" {
| name | PubSub topic name. | string | ✓ | |
| project_id | Project used for resources. | string | ✓ | |
| *dead_letter_configs* | Per-subscription dead letter policy configuration. | map(object({...})) | | {} |
-| *defaults* | Subscription defaults for options. | object({...}) | | ... |
+| *defaults* | Subscription defaults for options. | object({...}) | | ... |
| *iam* | IAM bindings for topic in {ROLE => [MEMBERS]} format. | map(list(string)) | | {} |
| *kms_key* | KMS customer managed encryption key. | string | | null |
| *labels* | Labels. | map(string) | | {} |
| *push_configs* | Push subscription configurations. | map(object({...})) | | {} |
| *regions* | List of regions used to set persistence policy. | list(string) | | [] |
| *subscription_iam* | IAM bindings for subscriptions in {SUBSCRIPTION => {ROLE => [MEMBERS]}} format. | map(map(list(string))) | | {} |
-| *subscriptions* | Topic subscriptions. Also define push configs for push subscriptions. If options is set to null subscription defaults will be used. Labels default to topic labels if set to null. | map(object({...})) | | {} |
+| *subscriptions* | Topic subscriptions. Also define push configs for push subscriptions. If options is set to null subscription defaults will be used. Labels default to topic labels if set to null. | map(object({...})) | | {} |
## Outputs
diff --git a/modules/pubsub/variables.tf b/modules/pubsub/variables.tf
index b76d3c117..6657d4354 100644
--- a/modules/pubsub/variables.tf
+++ b/modules/pubsub/variables.tf
@@ -27,7 +27,7 @@ variable "defaults" {
description = "Subscription defaults for options."
type = object({
ack_deadline_seconds = number
- message_retention_duration = number
+ message_retention_duration = string
retain_acked_messages = bool
expiration_policy_ttl = string
})
@@ -93,7 +93,7 @@ variable "subscriptions" {
labels = map(string)
options = object({
ack_deadline_seconds = number
- message_retention_duration = number
+ message_retention_duration = string
retain_acked_messages = bool
expiration_policy_ttl = string
})