@@ -83,7 +83,7 @@ resource "aws_instance" "default" {
83
83
# Module : EIP
84
84
# Description : Provides an Elastic IP resource.
85
85
resource "aws_eip" "default" {
86
- count = var. assign_eip_address == true ? var. instance_count : 0
86
+ count = var. instance_enabled == true && var . assign_eip_address == true ? var. instance_count : 0
87
87
88
88
network_interface = element (aws_instance. default . * . primary_network_interface_id , count. index )
89
89
vpc = true
@@ -99,7 +99,7 @@ resource "aws_eip" "default" {
99
99
# Module : EBS VOLUME
100
100
# Description : Manages a single EBS volume.
101
101
resource "aws_ebs_volume" "default" {
102
- count = var. ebs_volume_enabled == true ? var. instance_count : 0
102
+ count = var. instance_enabled == true && var . ebs_volume_enabled == true ? var. instance_count : 0
103
103
104
104
availability_zone = element (aws_instance. default . * . availability_zone , count. index )
105
105
size = var. ebs_volume_size
@@ -117,7 +117,7 @@ resource "aws_ebs_volume" "default" {
117
117
# Module : VOLUME ATTACHMENT
118
118
# Description : Provides an AWS EBS Volume Attachment as a top level resource, to attach and detach volumes from AWS Instances.
119
119
resource "aws_volume_attachment" "default" {
120
- count = var. ebs_volume_enabled == true ? var. instance_count : 0
120
+ count = var. instance_enabled == true && var . ebs_volume_enabled == true ? var. instance_count : 0
121
121
122
122
device_name = element (var. ebs_device_name , count. index )
123
123
volume_id = element (aws_ebs_volume. default . * . id , count. index )
@@ -127,15 +127,15 @@ resource "aws_volume_attachment" "default" {
127
127
# Module : IAM INSTANCE PROFILE
128
128
# Description : Provides an IAM instance profile.
129
129
resource "aws_iam_instance_profile" "default" {
130
- count = var. instance_profile_enabled ? 1 : 0
130
+ count = var. instance_enabled == true && var . instance_profile_enabled ? 1 : 0
131
131
name = format (" %s%sinstance-profile" , module. labels . id , var. delimiter )
132
132
role = var. iam_instance_profile
133
133
}
134
134
135
135
# Module : ROUTE53
136
136
# Description : Provides a Route53 record resource.
137
137
resource "aws_route53_record" "default" {
138
- count = var. dns_enabled ? var. instance_count : 0
138
+ count = var. instance_enabled == true && var . dns_enabled ? var. instance_count : 0
139
139
zone_id = var. dns_zone_id
140
140
name = format (" %s%s%s" , var. hostname , var. delimiter , (count. index ))
141
141
type = var. type
0 commit comments