@@ -28,22 +28,27 @@ module "label" {
28
28
tags = " ${ var . tags } "
29
29
}
30
30
31
+ locals {
32
+ instance_count = " ${ var . instance_enabled ? 1 : 0 } "
33
+ security_group_count = " ${ var . create_default_security_group ? 1 : 0 } "
34
+ }
35
+
31
36
resource "aws_iam_instance_profile" "default" {
32
- count = " ${ var . instance_enabled } "
37
+ count = " ${ local . instance_count } "
33
38
name = " ${ module . label . id } "
34
39
role = " ${ aws_iam_role . default . name } "
35
40
}
36
41
37
42
resource "aws_iam_role" "default" {
38
- count = " ${ var . instance_enabled } "
43
+ count = " ${ local . instance_count } "
39
44
name = " ${ module . label . id } "
40
45
path = " /"
41
46
42
47
assume_role_policy = " ${ data . aws_iam_policy_document . default . json } "
43
48
}
44
49
45
50
resource "aws_security_group" "default" {
46
- count = " ${ var . create_default_security_group } "
51
+ count = " ${ local . security_group_count } "
47
52
name = " ${ module . label . id } "
48
53
vpc_id = " ${ var . vpc_id } "
49
54
description = " Instance default security group (only egress access is allowed)"
@@ -88,7 +93,7 @@ data "template_file" "user_data" {
88
93
}
89
94
90
95
resource "aws_instance" "default" {
91
- count = " ${ var . instance_enabled } "
96
+ count = " ${ local . instance_count } "
92
97
ami = " ${ var . ec2_ami } "
93
98
instance_type = " ${ var . instance_type } "
94
99
@@ -135,15 +140,15 @@ data "aws_region" "default" {
135
140
data "aws_caller_identity" "default" {}
136
141
137
142
resource "null_resource" "check_alarm_action" {
138
- count = " ${ var . instance_enabled } "
143
+ count = " ${ local . instance_count } "
139
144
140
145
triggers = {
141
146
action = " arn:aws:swf:${ data . aws_region . default . name } :${ data . aws_caller_identity . default . account_id } :${ var . default_alarm_action } "
142
147
}
143
148
}
144
149
145
150
resource "aws_cloudwatch_metric_alarm" "default" {
146
- count = " ${ var . instance_enabled } "
151
+ count = " ${ local . instance_count } "
147
152
alarm_name = " ${ module . label . id } "
148
153
comparison_operator = " ${ var . comparison_operator } "
149
154
evaluation_periods = " ${ var . evaluation_periods } "
0 commit comments