@@ -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
1112data "aws_iam_policy_document" "assume_role" {
@@ -26,6 +27,7 @@ data "aws_iam_policy_document" "assume_role" {
2627}
2728
2829resource "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
4850resource "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
7073resource "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
7680resource "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
8489resource "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
100106resource "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
108115resource "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 } "
0 commit comments