Skip to content

Commit 0d3d38a

Browse files
authored
Add enabled flag to enable/disable creation of the resources (#2)
1 parent 5b75a93 commit 0d3d38a

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ module "dynamodb_autoscaler" {
4343
| `autoscale_max_read_capacity` | `20` | DynamoDB autoscaling max read capacity | No |
4444
| `autoscale_min_write_capacity` | `5` | DynamoDB autoscaling min write capacity | No |
4545
| `autoscale_max_write_capacity` | `20` | DynamoDB autoscaling max write capacity | No |
46+
| `enabled` | `true` | Set to false to prevent the module from creating any resources | No |
4647

4748

4849

main.tf

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ module "default_label" {
66
delimiter = "${var.delimiter}"
77
attributes = "${var.attributes}"
88
tags = "${var.tags}"
9+
enabled = "${var.enabled}"
910
}
1011

1112
data "aws_iam_policy_document" "assume_role" {
@@ -26,6 +27,7 @@ data "aws_iam_policy_document" "assume_role" {
2627
}
2728

2829
resource "aws_iam_role" "autoscaler" {
30+
count = "${var.enabled == "true" ? 1 : 0}"
2931
name = "${module.default_label.id}${var.delimiter}autoscaler"
3032
assume_role_policy = "${data.aws_iam_policy_document.assume_role.json}"
3133
}
@@ -46,6 +48,7 @@ data "aws_iam_policy_document" "autoscaler" {
4648
}
4749

4850
resource "aws_iam_role_policy" "autoscaler" {
51+
count = "${var.enabled == "true" ? 1 : 0}"
4952
name = "${module.default_label.id}${var.delimiter}autoscaler${var.delimiter}dynamodb"
5053
role = "${aws_iam_role.autoscaler.id}"
5154
policy = "${data.aws_iam_policy_document.autoscaler.json}"
@@ -68,12 +71,14 @@ data "aws_iam_policy_document" "autoscaler_cloudwatch" {
6871
}
6972

7073
resource "aws_iam_role_policy" "autoscaler_cloudwatch" {
74+
count = "${var.enabled == "true" ? 1 : 0}"
7175
name = "${module.default_label.id}${var.delimiter}autoscaler${var.delimiter}cloudwatch"
7276
role = "${aws_iam_role.autoscaler.id}"
7377
policy = "${data.aws_iam_policy_document.autoscaler_cloudwatch.json}"
7478
}
7579

7680
resource "aws_appautoscaling_target" "read_target" {
81+
count = "${var.enabled == "true" ? 1 : 0}"
7782
max_capacity = "${var.autoscale_max_read_capacity}"
7883
min_capacity = "${var.autoscale_min_read_capacity}"
7984
resource_id = "table/${var.dynamodb_table_name}"
@@ -82,6 +87,7 @@ resource "aws_appautoscaling_target" "read_target" {
8287
}
8388

8489
resource "aws_appautoscaling_policy" "read_policy" {
90+
count = "${var.enabled == "true" ? 1 : 0}"
8591
name = "DynamoDBReadCapacityUtilization:${aws_appautoscaling_target.read_target.resource_id}"
8692
policy_type = "TargetTrackingScaling"
8793
resource_id = "${aws_appautoscaling_target.read_target.resource_id}"
@@ -98,6 +104,7 @@ resource "aws_appautoscaling_policy" "read_policy" {
98104
}
99105

100106
resource "aws_appautoscaling_target" "write_target" {
107+
count = "${var.enabled == "true" ? 1 : 0}"
101108
max_capacity = "${var.autoscale_max_write_capacity}"
102109
min_capacity = "${var.autoscale_min_write_capacity}"
103110
resource_id = "table/${var.dynamodb_table_name}"
@@ -106,6 +113,7 @@ resource "aws_appautoscaling_target" "write_target" {
106113
}
107114

108115
resource "aws_appautoscaling_policy" "write_policy" {
116+
count = "${var.enabled == "true" ? 1 : 0}"
109117
name = "DynamoDBWriteCapacityUtilization:${aws_appautoscaling_target.write_target.resource_id}"
110118
policy_type = "TargetTrackingScaling"
111119
resource_id = "${aws_appautoscaling_target.write_target.resource_id}"

variables.tf

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,8 @@ variable "autoscale_max_write_capacity" {
7070
default = 20
7171
description = "DynamoDB autoscaling max write capacity"
7272
}
73+
74+
variable "enabled" {
75+
description = "Set to false to prevent the module from creating any resources"
76+
default = "true"
77+
}

0 commit comments

Comments
 (0)