-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables.tf
235 lines (199 loc) · 7.79 KB
/
variables.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
##########################################################################
### SNS_TOPIC
##########################################################################
variable "create_sns_topic" {
default = true
description = "Determinate to create `sns_topic` resource or not"
type = bool
}
variable "sns_topic_name" {
default = null
description = "Required if `use_sns_topic_name_prefix` is set to `true`. The name of the topic. Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long. For a FIFO (first-in-first-out) topic, the name must end with the .fifo suffix. If omitted, Terraform will assign a random, unique name"
type = string
}
variable "use_sns_topic_name_prefix" {
default = false
description = "Determinate to use `name_prefix` or not"
type = bool
}
variable "sns_topic_display_name" {
default = null
description = "The display name for the topic"
type = string
}
variable "sns_topic_policy" {
default = null
description = "The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide."
type = string
}
variable "sns_topic_delivery_policy" {
default = null
description = "The SNS delivery policy"
type = string
}
variable "sns_topic_application_success_feedback_role_arn" {
default = null
description = "IAM role permitted to receive success feedback for this topic"
type = string
}
variable "sns_topic_application_success_feedback_sample_rate" {
default = null
description = "Percentage of success to sample"
type = string
}
variable "sns_topic_application_failure_feedback_role_arn" {
default = null
description = "IAM role for failure feedback"
type = string
}
variable "sns_topic_http_success_feedback_role_arn" {
default = null
description = "The IAM role permitted to receive success feedback for this topic"
type = string
}
variable "sns_topic_http_success_feedback_sample_rate" {
default = null
description = "Percentage of success to sample"
type = string
}
variable "sns_topic_http_failure_feedback_role_arn" {
default = null
description = "IAM role for failure feedback"
type = string
}
variable "sns_topic_kms_master_key_id" {
default = null
description = "The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK"
type = string
}
variable "sns_topic_fifo_topic" {
default = false
description = "Boolean indicating whether or not to create a FIFO (first-in-first-out) topic (default is false)"
type = bool
}
variable "sns_topic_content_based_deduplication" {
default = null
description = "Enables content-based deduplication for FIFO topics"
type = string
}
variable "sns_topic_lambda_success_feedback_role_arn" {
default = null
description = "The IAM role permitted to receive success feedback for this topic"
type = string
}
variable "sns_topic_lambda_success_feedback_sample_rate" {
default = null
description = "Percentage of success to sample"
type = string
}
variable "sns_topic_lambda_failure_feedback_role_arn" {
default = null
description = "IAM role for failure feedback"
type = string
}
variable "sns_topic_sqs_success_feedback_role_arn" {
default = null
description = "The IAM role permitted to receive success feedback for this topic"
type = string
}
variable "sns_topic_sqs_success_feedback_sample_rate" {
default = null
description = "Percentage of success to sample"
type = string
}
variable "sns_topic_sqs_failure_feedback_role_arn" {
default = null
description = "IAM role for failure feedback"
type = string
}
variable "sns_topic_firehose_success_feedback_role_arn" {
default = null
description = "The IAM role permitted to receive success feedback for this topic"
type = string
}
variable "sns_topic_firehose_success_feedback_sample_rate" {
default = null
description = "Percentage of success to sample"
type = string
}
variable "sns_topic_firehose_failure_feedback_role_arn" {
default = null
description = "IAM role for failure feedback"
type = string
}
variable "sns_topic_tags" {
default = {}
description = "Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level"
type = map(string)
}
##########################################################################
### SNS_SUBSCRIPTION
##########################################################################
variable "create_sns_subscription" {
default = true
description = "Determinate to create `sns_subscription` resource or not"
type = bool
}
variable "sns_subscription_endpoint" {
default = null
description = "Required if `create_sns_subscription` is set to `true`. Endpoint to send data to. The contents vary with the protocol"
type = string
}
variable "sns_subscription_protocol" {
default = null
description = "Required if `create_sns_subscription` is set to `true`. Protocol to use. Valid values are: sqs, sms, lambda, firehose, and application. Protocols email, email-json, http and https are also valid but partially supported"
type = string
}
variable "sns_subscription_role_arn" {
default = null
description = "Required if `create_sns_subscription` is set to `true`. ARN of the IAM role to publish to Kinesis Data Firehose delivery stream"
type = string
}
variable "sns_subscription_topic_arn" {
default = null
description = "Required if `create_sns_subscription` is set to `true` and `create_sns_topic` is set to `false`. ARN of the SNS topic to subscribe to"
type = string
}
variable "sns_subscription_confirmation_timeout_in_minutes" {
default = 1
description = "Integer indicating number of minutes to wait in retrying mode for fetching subscription arn before marking it as failure. Only applicable for http and https protocols. Default is 1"
type = number
}
variable "sns_subscription_delivery_policy" {
default = null
description = "JSON String with the delivery policy (retries, backoff, etc.) that will be used in the subscription - this only applies to HTTP/S subscriptions"
type = string
}
variable "sns_subscription_endpoint_auto_confirms" {
default = false
description = "Whether the endpoint is capable of auto confirming subscription (e.g., PagerDuty). Default is `false`"
type = bool
}
variable "sns_subscription_filter_policy" {
default = null
description = "JSON String with the filter policy that will be used in the subscription to filter messages seen by the target resource"
type = string
}
variable "sns_subscription_raw_message_delivery" {
default = false
description = "Whether to enable raw message delivery (the original message is directly passed, not wrapped in JSON with the original message in the message property). Default is false"
type = bool
}
variable "sns_subscription_redrive_policy" {
default = null
description = "JSON String with the redrive policy that will be used in the subscription"
type = string
}
##########################################################################
### SNS_TOPIC_POLICY
##########################################################################
variable "attach_sns_topic_policy" {
default = false
description = "Determinate to attach policy to `sns_topic` or not"
type = bool
}
variable "sns_topic_arn" {
default = null
description = "ARN of the SNS topic"
type = string
}