【发布时间】:2021-11-10 08:23:07
【问题描述】:
我需要在 GCP 中构建大约 30 个 pub sub topic,为一个 pub sub topic 创建每个模块是一个繁琐的过程,有没有更好的处理方法?
module "a" {
source = ""
project_id = var.project_id
topic = var.a["topic_name"]
topic_labels = var.a["topic_labels"]
pull_subscriptions = [
{
name = var.a["pull_subscription_name"]
ack_deadline_seconds = var.a["ack_deadline_seconds"]
max_delivery_attempts = var.a["max_delivery_attempts"]
maximum_backoff = var.maximum_backoff
minimum_backoff = var.minimum_backoff
expiration_policy = var.expiration_policy
enable_message_ordering = true
}
]
}
module "b" {
source = ""
project_id = var.project_id
topic = var.b["topic_name"]
topic_labels = var.b["topic_labels"]
pull_subscriptions = [
{
name = var.b["pull_subscription_name"]
ack_deadline_seconds = var.b["ack_deadline_seconds"]
max_delivery_attempts = var.b["max_delivery_attempts"]
maximum_backoff = var.maximum_backoff
minimum_backoff = var.minimum_backoff
expiration_policy = var.expiration_policy
enable_message_ordering = true
}
]
}
在 tfvars 中将值传递给上述模块,如下所示:
a = {
topic_name = "abc"
topic_labels = { env : "prod", purpose : "a" }
pull_subscription_name = "abc-sub"
ack_deadline_seconds = 600
max_delivery_attempts = 3
}
b = {
topic_name = "bcd"
topic_labels = { env : "prod", purpose : "b" }
pull_subscription_name = "bcd-sub"
ack_deadline_seconds = 600
max_delivery_attempts = 3
}
我们能否以某种方式组合 tfvars 中的变量并传递给单个模块?
我还想知道维护上述 terraform 脚本以单独保存它们或利用一个模块创建 50 个主题的最佳实践?
谢谢!
【问题讨论】:
标签: terraform terraform-provider-gcp