2020-05-11 08:51:00 -07:00
/ * *
2022-01-01 06:52:31 -08:00
* Copyright 2022 Google LLC
2020-05-11 08:51:00 -07:00
*
* 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 .
* /
2022-11-21 08:43:17 -08:00
variable " bigquery_subscription_configs " {
description = " Configuration parameters for BigQuery subscriptions. "
type = map ( object ( {
table = string
use_topic_schema = bool
write_metadata = bool
drop_unknown_fields = bool
} ) )
default = { }
}
2020-05-11 08:51:00 -07:00
variable " dead_letter_configs " {
description = " Per-subscription dead letter policy configuration. "
type = map ( object ( {
2021-08-12 00:53:48 -07:00
topic = string
2021-08-11 14:48:38 -07:00
max_delivery_attempts = number
2020-05-11 08:51:00 -07:00
} ) )
default = { }
}
variable " defaults " {
description = " Subscription defaults for options. "
type = object ( {
ack_deadline_seconds = number
2021-06-10 09:46:14 -07:00
message_retention_duration = string
2020-05-11 08:51:00 -07:00
retain_acked_messages = bool
expiration_policy_ttl = string
2022-04-30 02:25:50 -07:00
filter = string
2020-05-11 08:51:00 -07:00
} )
default = {
ack_deadline_seconds = null
message_retention_duration = null
retain_acked_messages = null
expiration_policy_ttl = null
2022-04-30 02:25:50 -07:00
filter = null
2020-05-11 08:51:00 -07:00
}
}
2020-11-05 12:28:34 -08:00
variable " iam " {
description = " IAM bindings for topic in {ROLE => [MEMBERS]} format. "
type = map ( list ( string ) )
2020-05-11 08:51:00 -07:00
default = { }
}
variable " kms_key " {
description = " KMS customer managed encryption key. "
type = string
default = null
}
variable " labels " {
description = " Labels. "
type = map ( string )
default = { }
}
2022-07-12 00:23:23 -07:00
variable " message_retention_duration " {
description = " Minimum duration to retain a message after it is published to the topic. "
type = string
default = null
}
2020-05-11 08:51:00 -07:00
variable " name " {
description = " PubSub topic name. "
type = string
}
variable " project_id " {
description = " Project used for resources. "
type = string
}
variable " push_configs " {
description = " Push subscription configurations. "
type = map ( object ( {
attributes = map ( string )
endpoint = string
oidc_token = object ( {
audience = string
service_account_email = string
} )
} ) )
default = { }
}
2021-10-08 09:26:04 -07:00
variable " regions " {
description = " List of regions used to set persistence policy. "
type = list ( string )
default = [ ]
}
2022-11-20 07:32:37 -08:00
variable " schema " {
description = " Topic schema. If set, all messages in this topic should follow this schema. "
type = object ( {
definition = string
msg_encoding = optional ( string , " ENCODING_UNSPECIFIED " )
schema_type = string
} )
default = null
}
2021-10-08 09:26:04 -07:00
variable " subscription_iam " {
description = " IAM bindings for subscriptions in {SUBSCRIPTION => {ROLE => [MEMBERS]}} format. "
type = map ( map ( list ( string ) ) )
default = { }
}
2020-05-11 08:51:00 -07:00
variable " subscriptions " {
description = " 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. "
type = map ( object ( {
labels = map ( string )
options = object ( {
ack_deadline_seconds = number
2021-06-10 09:46:14 -07:00
message_retention_duration = string
2020-05-11 08:51:00 -07:00
retain_acked_messages = bool
expiration_policy_ttl = string
2022-04-30 02:25:50 -07:00
filter = string
2020-05-11 08:51:00 -07:00
} )
} ) )
default = { }
}