-
Notifications
You must be signed in to change notification settings - Fork 0
/
variables.tf
196 lines (180 loc) · 6.57 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
variable "alarm_enabled" {
type = bool
default = true
description = "Whether or not to create alarms"
}
variable "alarm_get_records" {
type = object({
create = optional(bool, true)
period = optional(number, 60)
evaluation_periods = optional(number, 15)
alarm_description = optional(string, "This metric monitors kinesis get records successful records (percent)")
datapoints_to_alarm = optional(number, 10)
threshold_percentage = optional(number, 99)
})
default = {
create = true
period = 60
evaluation_periods = 15
alarm_description = "This metric monitors kinesis get records successful records (percent)"
datapoints_to_alarm = 10
threshold_percentage = 99
}
description = "Settings for the get records alarm"
}
variable "alarm_iterator_age_high" {
type = object({
create = optional(bool, true)
period = optional(number, 60)
evaluation_periods = optional(number, 15)
alarm_description = optional(string, "This metric monitors kinesis iterator age")
datapoints_to_alarm = optional(number, 10)
threshold_seconds = optional(number, 60)
})
default = {
create = true
period = 60
evaluation_periods = 15
alarm_description = "This metric monitors kinesis iterator age"
datapoints_to_alarm = 10
threshold_seconds = 60
}
description = "Settings for the iterator age high alarm"
}
variable "alarm_put_records" {
type = object({
create = optional(bool, true)
period = optional(number, 60)
evaluation_periods = optional(number, 15)
alarm_description = optional(string, "This metric monitors kinesis put records successful records (percent)")
datapoints_to_alarm = optional(number, 10)
threshold_percentage = optional(number, 99)
})
default = {
create = true
period = 60
evaluation_periods = 15
alarm_description = "This metric monitors kinesis put records successful records (percent)"
datapoints_to_alarm = 10
threshold_percentage = 99
}
description = "Settings for the put records alarm"
}
variable "alarm_read_bytes_high" {
type = object({
create = optional(bool, true)
period = optional(number, 60)
evaluation_periods = optional(number, 15)
alarm_description = optional(string, "This metric monitors kinesis read bytes utilization")
datapoints_to_alarm = optional(number, 10)
threshold_percentage = optional(number, 80)
})
default = {
create = true
period = 60
evaluation_periods = 15
alarm_description = "This metric monitors kinesis read bytes utilization"
datapoints_to_alarm = 10
threshold_percentage = 80
}
description = "Settings for the read bytes high alarm"
}
variable "alarm_topic_arn" {
type = string
default = null
description = "ARN of the AWS SNS topic for the CloudWatch alarms"
}
variable "alarm_write_bytes_high" {
type = object({
create = optional(bool, true)
period = optional(number, 60)
evaluation_periods = optional(number, 15)
alarm_description = optional(string, "This metric monitors kinesis write bytes utilization")
datapoints_to_alarm = optional(number, 10)
threshold_percentage = optional(number, 80)
})
default = {
create = true
period = 60
evaluation_periods = 15
alarm_description = "This metric monitors kinesis write bytes utilization"
datapoints_to_alarm = 10
threshold_percentage = 80
}
description = "Settings for the write bytes high alarm"
}
variable "alarm_write_records_high" {
type = object({
create = optional(bool, true)
period = optional(number, 60)
evaluation_periods = optional(number, 15)
alarm_description = optional(string, "This metric monitors kinesis write records utilization")
datapoints_to_alarm = optional(number, 10)
threshold_percentage = optional(number, 80)
})
default = {
create = true
period = 60
evaluation_periods = 15
alarm_description = "This metric monitors kinesis write records utilization"
datapoints_to_alarm = 10
threshold_percentage = 80
}
description = "Settings for the write records high alarm"
}
variable "encryption_type" {
type = string
description = "The encryption type to use. The only acceptable values are NONE or KMS"
default = null
}
variable "enforce_consumer_deletion" {
type = bool
description = "A boolean that indicates all registered consumers should be deregistered from the stream so that the stream can be destroyed without error"
default = false
}
variable "kms_key_id" {
type = string
description = "The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias alias/aws/kinesis"
default = null
}
variable "label_orders" {
type = object({
cloudwatch = optional(list(string)),
kinesis = optional(list(string)),
})
default = {}
description = "Overrides the `labels_order` for the different labels to modify ID elements appear in the `id`"
}
variable "policy_allowed_principals" {
type = list(string)
description = "Which AWS principal to allow access to this stream"
default = []
}
variable "policy_allowed_actions" {
type = list(string)
description = "Which AWS Kinesis actions to allow on this stream"
default = [
"kinesis:DescribeStream",
"kinesis:DescribeStreamSummary",
"kinesis:GetRecords",
"kinesis:GetShardIterator",
"kinesis:PutRecord",
"kinesis:PutRecords",
"kinesis:ListShards"
]
}
variable "retention_period" {
type = number
description = "Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 8760 hours. Minimum value is 24"
default = null
}
variable "shard_count" {
type = number
description = "The number of shards that the stream will use. If the stream_mode is PROVISIONED, this field is required. Amazon has guidelines for specifying the Stream size that should be referenced when creating a Kinesis stream"
default = null
}
variable "shard_level_metrics" {
type = list(string)
description = "A list of shard-level CloudWatch metrics which can be enabled for the stream"
default = null
}