Skip to content

Commit d8d7883

Browse files
Merge pull request #10 from deliveryhero/terraform12
Upgrade module to support Terraform 0.12
2 parents 8176851 + 710cc3c commit d8d7883

File tree

5 files changed

+260
-205
lines changed

5 files changed

+260
-205
lines changed

cloudwatch.tf

Lines changed: 132 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -8,205 +8,246 @@ locals {
88
"swap_usage" = 100000000
99
}
1010

11-
cloudwatch_create_alarms = "${var.create_resources && var.cloudwatch_create_alarms == 1 ? 1 : 0}"
11+
cloudwatch_create_alarms = var.create_resources && var.cloudwatch_create_alarms ? true : false
1212
}
1313

1414
resource "aws_cloudwatch_metric_alarm" "disk_queue_depth" {
15-
count = "${local.cloudwatch_create_alarms}"
16-
alarm_name = "rds-${aws_rds_cluster.main.id}-writer-DiskQueueDepth"
15+
count = local.cloudwatch_create_alarms ? 1 : 0
16+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-writer-DiskQueueDepth"
1717
comparison_operator = "GreaterThanOrEqualToThreshold"
1818
evaluation_periods = "1"
1919
metric_name = "DiskQueueDepth"
2020
namespace = "AWS/RDS"
2121
period = "60"
2222
statistic = "Maximum"
23-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "disk_queue_depth", local.cloudwatch_alarm_default_thresholds["disk_queue_depth"])}"
24-
alarm_description = "RDS Maximum DiskQueueDepth for RDS aurora cluster ${aws_rds_cluster.main.id} writer"
25-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
26-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
27-
28-
dimensions {
29-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
23+
threshold = lookup(
24+
var.cloudwatch_alarm_default_thresholds,
25+
"disk_queue_depth",
26+
local.cloudwatch_alarm_default_thresholds["disk_queue_depth"],
27+
)
28+
alarm_description = "RDS Maximum DiskQueueDepth for RDS aurora cluster ${aws_rds_cluster.main[0].id} writer"
29+
alarm_actions = var.cloudwatch_alarm_actions
30+
ok_actions = var.cloudwatch_alarm_actions
31+
32+
dimensions = {
33+
DBClusterIdentifier = aws_rds_cluster.main[0].id
3034
Role = "WRITER"
3135
}
3236
}
3337

3438
resource "aws_cloudwatch_metric_alarm" "database_connections_writer" {
35-
count = "${local.cloudwatch_create_alarms}"
36-
alarm_name = "rds-${aws_rds_cluster.main.id}-writer-DatabaseConnections"
39+
count = local.cloudwatch_create_alarms ? 1 : 0
40+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-writer-DatabaseConnections"
3741
comparison_operator = "GreaterThanOrEqualToThreshold"
3842
evaluation_periods = "1"
3943
metric_name = "DatabaseConnections"
4044
namespace = "AWS/RDS"
4145
period = "60"
4246
statistic = "Sum"
43-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "database_connections", local.cloudwatch_alarm_default_thresholds["database_connections"])}"
44-
alarm_description = "RDS Maximum connection for RDS aurora cluster ${aws_rds_cluster.main.id} writer"
45-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
46-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
47-
48-
dimensions {
49-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
47+
threshold = lookup(
48+
var.cloudwatch_alarm_default_thresholds,
49+
"database_connections",
50+
local.cloudwatch_alarm_default_thresholds["database_connections"],
51+
)
52+
alarm_description = "RDS Maximum connection for RDS aurora cluster ${aws_rds_cluster.main[0].id} writer"
53+
alarm_actions = var.cloudwatch_alarm_actions
54+
ok_actions = var.cloudwatch_alarm_actions
55+
56+
dimensions = {
57+
DBClusterIdentifier = aws_rds_cluster.main[0].id
5058
Role = "WRITER"
5159
}
5260
}
5361

5462
resource "aws_cloudwatch_metric_alarm" "database_connections_reader" {
55-
count = "${local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0}"
56-
alarm_name = "rds-${aws_rds_cluster.main.id}-reader-DatabaseConnections"
63+
count = local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0
64+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-reader-DatabaseConnections"
5765
comparison_operator = "GreaterThanOrEqualToThreshold"
5866
evaluation_periods = "1"
5967
metric_name = "DatabaseConnections"
6068
namespace = "AWS/RDS"
6169
period = "60"
6270
statistic = "Maximum"
63-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "database_connections", local.cloudwatch_alarm_default_thresholds["database_connections"])}"
64-
alarm_description = "RDS Maximum connection for RDS aurora cluster ${aws_rds_cluster.main.id} reader(s)"
65-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
66-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
67-
68-
dimensions {
69-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
71+
threshold = lookup(
72+
var.cloudwatch_alarm_default_thresholds,
73+
"database_connections",
74+
local.cloudwatch_alarm_default_thresholds["database_connections"],
75+
)
76+
alarm_description = "RDS Maximum connection for RDS aurora cluster ${aws_rds_cluster.main[0].id} reader(s)"
77+
alarm_actions = var.cloudwatch_alarm_actions
78+
ok_actions = var.cloudwatch_alarm_actions
79+
80+
dimensions = {
81+
DBClusterIdentifier = aws_rds_cluster.main[0].id
7082
Role = "READER"
7183
}
7284
}
7385

7486
resource "aws_cloudwatch_metric_alarm" "cpu_utilization_writer" {
75-
count = "${local.cloudwatch_create_alarms}"
76-
alarm_name = "rds-${aws_rds_cluster.main.id}-writer-CPU"
87+
count = local.cloudwatch_create_alarms ? 1 : 0
88+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-writer-CPU"
7789
comparison_operator = "GreaterThanOrEqualToThreshold"
7890
evaluation_periods = "2"
7991
metric_name = "CPUUtilization"
8092
namespace = "AWS/RDS"
8193
period = "60"
8294
statistic = "Maximum"
83-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "cpu_utilization", local.cloudwatch_alarm_default_thresholds["cpu_utilization"])}"
84-
alarm_description = "RDS CPU for RDS aurora cluster ${aws_rds_cluster.main.id} writer"
85-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
86-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
87-
88-
dimensions {
89-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
95+
threshold = lookup(
96+
var.cloudwatch_alarm_default_thresholds,
97+
"cpu_utilization",
98+
local.cloudwatch_alarm_default_thresholds["cpu_utilization"],
99+
)
100+
alarm_description = "RDS CPU for RDS aurora cluster ${aws_rds_cluster.main[0].id} writer"
101+
alarm_actions = var.cloudwatch_alarm_actions
102+
ok_actions = var.cloudwatch_alarm_actions
103+
104+
dimensions = {
105+
DBClusterIdentifier = aws_rds_cluster.main[0].id
90106
Role = "WRITER"
91107
}
92108
}
93109

94110
resource "aws_cloudwatch_metric_alarm" "cpu_utilization_reader" {
95-
count = "${local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0}"
96-
alarm_name = "rds-${aws_rds_cluster.main.id}-reader-CPU"
111+
count = local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0
112+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-reader-CPU"
97113
comparison_operator = "GreaterThanOrEqualToThreshold"
98114
evaluation_periods = "2"
99115
metric_name = "CPUUtilization"
100116
namespace = "AWS/RDS"
101117
period = "60"
102118
statistic = "Maximum"
103-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "cpu_utilization", local.cloudwatch_alarm_default_thresholds["cpu_utilization"])}"
104-
alarm_description = "RDS CPU for RDS aurora cluster ${aws_rds_cluster.main.id} reader(s)"
105-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
106-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
107-
108-
dimensions {
109-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
119+
threshold = lookup(
120+
var.cloudwatch_alarm_default_thresholds,
121+
"cpu_utilization",
122+
local.cloudwatch_alarm_default_thresholds["cpu_utilization"],
123+
)
124+
alarm_description = "RDS CPU for RDS aurora cluster ${aws_rds_cluster.main[0].id} reader(s)"
125+
alarm_actions = var.cloudwatch_alarm_actions
126+
ok_actions = var.cloudwatch_alarm_actions
127+
128+
dimensions = {
129+
DBClusterIdentifier = aws_rds_cluster.main[0].id
110130
Role = "READER"
111131
}
112132
}
113133

114134
resource "aws_cloudwatch_metric_alarm" "aurora_replica_lag" {
115-
count = "${local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0}"
116-
alarm_name = "rds-${aws_rds_cluster.main.id}-reader-AuroraReplicaLag"
135+
count = local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0
136+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-reader-AuroraReplicaLag"
117137
comparison_operator = "GreaterThanOrEqualToThreshold"
118138
evaluation_periods = "5"
119139
metric_name = "AuroraReplicaLag"
120140
namespace = "AWS/RDS"
121141
period = "60"
122142
statistic = "Maximum"
123-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "aurora_replica_lag", local.cloudwatch_alarm_default_thresholds["aurora_replica_lag"])}"
124-
alarm_description = "RDS CPU for RDS aurora cluster ${aws_rds_cluster.main.id}"
125-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
126-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
127-
128-
dimensions {
129-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
143+
threshold = lookup(
144+
var.cloudwatch_alarm_default_thresholds,
145+
"aurora_replica_lag",
146+
local.cloudwatch_alarm_default_thresholds["aurora_replica_lag"],
147+
)
148+
alarm_description = "RDS CPU for RDS aurora cluster ${aws_rds_cluster.main[0].id}"
149+
alarm_actions = var.cloudwatch_alarm_actions
150+
ok_actions = var.cloudwatch_alarm_actions
151+
152+
dimensions = {
153+
DBClusterIdentifier = aws_rds_cluster.main[0].id
130154
Role = "READER"
131155
}
132156
}
133157

134158
resource "aws_cloudwatch_metric_alarm" "swap_usage_writer" {
135-
count = "${local.cloudwatch_create_alarms}"
136-
alarm_name = "rds-${aws_rds_cluster.main.id}-writer-SwapUsage"
159+
count = local.cloudwatch_create_alarms ? 1 : 0
160+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-writer-SwapUsage"
137161
comparison_operator = "GreaterThanOrEqualToThreshold"
138162
evaluation_periods = "2"
139163
metric_name = "SwapUsage"
140164
namespace = "AWS/RDS"
141165
period = "60"
142166
statistic = "Maximum"
143-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "swap_usage", local.cloudwatch_alarm_default_thresholds["swap_usage"])}"
144-
alarm_description = "RDS swap usage for RDS aurora cluster ${aws_rds_cluster.main.id} writer"
145-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
146-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
147-
148-
dimensions {
149-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
167+
threshold = lookup(
168+
var.cloudwatch_alarm_default_thresholds,
169+
"swap_usage",
170+
local.cloudwatch_alarm_default_thresholds["swap_usage"],
171+
)
172+
alarm_description = "RDS swap usage for RDS aurora cluster ${aws_rds_cluster.main[0].id} writer"
173+
alarm_actions = var.cloudwatch_alarm_actions
174+
ok_actions = var.cloudwatch_alarm_actions
175+
176+
dimensions = {
177+
DBClusterIdentifier = aws_rds_cluster.main[0].id
150178
Role = "WRITER"
151179
}
152180
}
153181

154182
resource "aws_cloudwatch_metric_alarm" "swap_usage_reader" {
155-
count = "${local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0}"
156-
alarm_name = "rds-${aws_rds_cluster.main.id}-reader-SwapUsage"
183+
count = local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0
184+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-reader-SwapUsage"
157185
comparison_operator = "GreaterThanOrEqualToThreshold"
158186
evaluation_periods = "2"
159187
metric_name = "SwapUsage"
160188
namespace = "AWS/RDS"
161189
period = "60"
162190
statistic = "Maximum"
163-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "swap_usage", local.cloudwatch_alarm_default_thresholds["swap_usage"])}"
164-
alarm_description = "RDS swap usage for RDS aurora cluster ${aws_rds_cluster.main.id} reader(s)"
165-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
166-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
167-
168-
dimensions {
169-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
191+
threshold = lookup(
192+
var.cloudwatch_alarm_default_thresholds,
193+
"swap_usage",
194+
local.cloudwatch_alarm_default_thresholds["swap_usage"],
195+
)
196+
alarm_description = "RDS swap usage for RDS aurora cluster ${aws_rds_cluster.main[0].id} reader(s)"
197+
alarm_actions = var.cloudwatch_alarm_actions
198+
ok_actions = var.cloudwatch_alarm_actions
199+
200+
dimensions = {
201+
DBClusterIdentifier = aws_rds_cluster.main[0].id
170202
Role = "READER"
171203
}
172204
}
173205

174206
resource "aws_cloudwatch_metric_alarm" "freeable_memory_writer" {
175-
count = "${local.cloudwatch_create_alarms}"
176-
alarm_name = "rds-${aws_rds_cluster.main.id}-writer-FreeableMemory"
207+
count = local.cloudwatch_create_alarms ? 1 : 0
208+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-writer-FreeableMemory"
177209
comparison_operator = "LessThanOrEqualToThreshold"
178210
evaluation_periods = "2"
179211
metric_name = "FreeableMemory"
180212
namespace = "AWS/RDS"
181213
period = "60"
182214
statistic = "Minimum"
183-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "freeable_memory", local.cloudwatch_alarm_default_thresholds["freeable_memory"])}"
184-
alarm_description = "RDS freeable memory for RDS aurora cluster ${aws_rds_cluster.main.id} writer"
185-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
186-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
187-
188-
dimensions {
189-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
215+
threshold = lookup(
216+
var.cloudwatch_alarm_default_thresholds,
217+
"freeable_memory",
218+
local.cloudwatch_alarm_default_thresholds["freeable_memory"],
219+
)
220+
alarm_description = "RDS freeable memory for RDS aurora cluster ${aws_rds_cluster.main[0].id} writer"
221+
alarm_actions = var.cloudwatch_alarm_actions
222+
ok_actions = var.cloudwatch_alarm_actions
223+
224+
dimensions = {
225+
DBClusterIdentifier = aws_rds_cluster.main[0].id
190226
Role = "WRITER"
191227
}
192228
}
193229

194230
resource "aws_cloudwatch_metric_alarm" "freeable_memory_reader" {
195-
count = "${local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0}"
196-
alarm_name = "rds-${aws_rds_cluster.main.id}-reader-FreeableMemory"
231+
count = local.cloudwatch_create_alarms && var.replica_count > 0 ? 1 : 0
232+
alarm_name = "rds-${aws_rds_cluster.main[0].id}-reader-FreeableMemory"
197233
comparison_operator = "LessThanOrEqualToThreshold"
198234
evaluation_periods = "2"
199235
metric_name = "FreeableMemory"
200236
namespace = "AWS/RDS"
201237
period = "60"
202238
statistic = "Minimum"
203-
threshold = "${lookup(var.cloudwatch_alarm_default_thresholds, "freeable_memory", local.cloudwatch_alarm_default_thresholds["freeable_memory"])}"
204-
alarm_description = "RDS freeable memory for RDS aurora cluster ${aws_rds_cluster.main.id} reader(s)"
205-
alarm_actions = ["${var.cloudwatch_alarm_actions}"]
206-
ok_actions = ["${var.cloudwatch_alarm_actions}"]
207-
208-
dimensions {
209-
DBClusterIdentifier = "${aws_rds_cluster.main.id}"
239+
threshold = lookup(
240+
var.cloudwatch_alarm_default_thresholds,
241+
"freeable_memory",
242+
local.cloudwatch_alarm_default_thresholds["freeable_memory"],
243+
)
244+
alarm_description = "RDS freeable memory for RDS aurora cluster ${aws_rds_cluster.main[0].id} reader(s)"
245+
alarm_actions = var.cloudwatch_alarm_actions
246+
ok_actions = var.cloudwatch_alarm_actions
247+
248+
dimensions = {
249+
DBClusterIdentifier = aws_rds_cluster.main[0].id
210250
Role = "READER"
211251
}
212252
}
253+

0 commit comments

Comments
 (0)