5-app-infra/8-data-domain-1-ingest/modules/pubsub/variables.tf (102 lines of code) (raw):
/**
* Copyright 2024 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
variable "project_id" {
type = string
description = "The project ID to manage the Pub/Sub resources."
}
variable "topic" {
type = string
description = "The Pub/Sub topic name."
}
variable "create_topic" {
type = bool
description = "Specify true if you want to create a topic."
default = true
}
variable "create_subscriptions" {
type = bool
description = "Specify true if you want to create subscriptions."
default = true
}
variable "topic_labels" {
type = map(string)
description = "A map of labels to assign to the Pub/Sub topic."
default = {}
}
variable "push_subscriptions" {
type = list(map(string))
description = "The list of the push subscriptions."
default = []
}
variable "pull_subscriptions" {
type = list(map(string))
description = "The list of the pull subscriptions."
default = []
}
variable "bigquery_subscriptions" {
type = list(map(string))
description = "The list of the Bigquery push subscriptions."
default = []
}
variable "cloud_storage_subscriptions" {
type = list(map(string))
description = "The list of the Cloud Storage push subscriptions."
default = []
}
variable "subscription_labels" {
type = map(string)
description = "A map of labels to assign to every Pub/Sub subscription."
default = {}
}
variable "topic_message_retention_duration" {
type = string
description = "The minimum duration in seconds to retain a message after it is published to the topic."
default = null
}
variable "message_storage_policy" {
type = map(any)
description = "A map of storage policies. Default - inherit from organization's Resource Location Restriction policy."
default = {}
}
variable "grant_token_creator" {
type = bool
description = "Specify true if you want to add token creator role to the default Pub/Sub SA."
default = true
}
variable "schema" {
type = object({
name = string
type = string
definition = string
encoding = string
})
description = "Schema for the topic."
default = null
}
variable "region" {
type = string
description = "The resource region"
default = "us-central1"
}
variable "keyring_name" {
type = string
description = "Name of the keyring"
default = "sample-keyring"
}
variable "kms_project_id" {
type = string
description = "Project id of the kms project."
}