Add use_table_schema parameter for PubSub subscription to BigQuery (#2357)
This commit is contained in:
parent
330fe0096b
commit
bbf81752a4
|
@ -174,7 +174,7 @@ module "pubsub" {
|
|||
| [message_retention_duration](variables.tf#L67) | Minimum duration to retain a message after it is published to the topic. | <code>string</code> | | <code>null</code> |
|
||||
| [regions](variables.tf#L83) | List of regions used to set persistence policy. | <code>list(string)</code> | | <code>[]</code> |
|
||||
| [schema](variables.tf#L90) | Topic schema. If set, all messages in this topic should follow this schema. | <code title="object({ definition = string msg_encoding = optional(string, "ENCODING_UNSPECIFIED") schema_type = string })">object({…})</code> | | <code>null</code> |
|
||||
| [subscriptions](variables.tf#L100) | 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. | <code title="map(object({ labels = optional(map(string)) ack_deadline_seconds = optional(number) message_retention_duration = optional(string) retain_acked_messages = optional(bool, false) expiration_policy_ttl = optional(string) filter = optional(string) enable_message_ordering = optional(bool, false) enable_exactly_once_delivery = optional(bool, false) dead_letter_policy = optional(object({ topic = string max_delivery_attempts = optional(number) })) retry_policy = optional(object({ minimum_backoff = optional(number) maximum_backoff = optional(number) })) bigquery = optional(object({ table = string use_topic_schema = optional(bool, false) write_metadata = optional(bool, false) drop_unknown_fields = optional(bool, false) })) cloud_storage = optional(object({ bucket = string filename_prefix = optional(string) filename_suffix = optional(string) max_duration = optional(string) max_bytes = optional(number) avro_config = optional(object({ write_metadata = optional(bool, false) })) })) push = optional(object({ endpoint = string attributes = optional(map(string)) no_wrapper = optional(bool, false) oidc_token = optional(object({ audience = optional(string) service_account_email = string })) })) iam = optional(map(list(string)), {}) iam_bindings = optional(map(object({ members = list(string) role = string condition = optional(object({ expression = string title = string description = optional(string) })) })), {}) iam_bindings_additive = optional(map(object({ member = string role = string condition = optional(object({ expression = string title = string description = optional(string) })) })), {}) }))">map(object({…}))</code> | | <code>{}</code> |
|
||||
| [subscriptions](variables.tf#L100) | 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. | <code title="map(object({ labels = optional(map(string)) ack_deadline_seconds = optional(number) message_retention_duration = optional(string) retain_acked_messages = optional(bool, false) expiration_policy_ttl = optional(string) filter = optional(string) enable_message_ordering = optional(bool, false) enable_exactly_once_delivery = optional(bool, false) dead_letter_policy = optional(object({ topic = string max_delivery_attempts = optional(number) })) retry_policy = optional(object({ minimum_backoff = optional(number) maximum_backoff = optional(number) })) bigquery = optional(object({ table = string use_table_schema = optional(bool, false) use_topic_schema = optional(bool, false) write_metadata = optional(bool, false) drop_unknown_fields = optional(bool, false) })) cloud_storage = optional(object({ bucket = string filename_prefix = optional(string) filename_suffix = optional(string) max_duration = optional(string) max_bytes = optional(number) avro_config = optional(object({ write_metadata = optional(bool, false) })) })) push = optional(object({ endpoint = string attributes = optional(map(string)) no_wrapper = optional(bool, false) oidc_token = optional(object({ audience = optional(string) service_account_email = string })) })) iam = optional(map(list(string)), {}) iam_bindings = optional(map(object({ members = list(string) role = string condition = optional(object({ expression = string title = string description = optional(string) })) })), {}) iam_bindings_additive = optional(map(object({ member = string role = string condition = optional(object({ expression = string title = string description = optional(string) })) })), {}) }))">map(object({…}))</code> | | <code>{}</code> |
|
||||
|
||||
## Outputs
|
||||
|
||||
|
|
|
@ -104,6 +104,7 @@ resource "google_pubsub_subscription" "default" {
|
|||
for_each = each.value.bigquery == null ? [] : [""]
|
||||
content {
|
||||
table = each.value.bigquery.table
|
||||
use_table_schema = each.value.bigquery.use_table_schema
|
||||
use_topic_schema = each.value.bigquery.use_topic_schema
|
||||
write_metadata = each.value.bigquery.write_metadata
|
||||
drop_unknown_fields = each.value.bigquery.drop_unknown_fields
|
||||
|
|
|
@ -118,6 +118,7 @@ variable "subscriptions" {
|
|||
}))
|
||||
bigquery = optional(object({
|
||||
table = string
|
||||
use_table_schema = optional(bool, false)
|
||||
use_topic_schema = optional(bool, false)
|
||||
write_metadata = optional(bool, false)
|
||||
drop_unknown_fields = optional(bool, false)
|
||||
|
|
Loading…
Reference in New Issue