Skip to content

Commit bc0a43c

Browse files
committed
Fixed when private_ips is empty (fixed #103)
1 parent cbc3bb2 commit bc0a43c

File tree

2 files changed

+17
-24
lines changed

2 files changed

+17
-24
lines changed

examples/basic/main.tf

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,11 @@ module "ec2" {
6363

6464
instance_count = 2
6565

66-
name = "example-normal"
67-
ami = data.aws_ami.amazon_linux.id
68-
instance_type = "c5.large"
69-
subnet_id = tolist(data.aws_subnet_ids.all.ids)[0]
70-
private_ip = ["123.0.0.1", "123.0.0.2"]
66+
name = "example-normal"
67+
ami = data.aws_ami.amazon_linux.id
68+
instance_type = "c5.large"
69+
subnet_id = tolist(data.aws_subnet_ids.all.ids)[0]
70+
// private_ips = ["172.31.32.5", "172.31.46.20"]
7171
vpc_security_group_ids = [module.security_group.this_security_group_id]
7272
associate_public_ip_address = true
7373
placement_group = aws_placement_group.web.id
@@ -90,11 +90,12 @@ module "ec2_with_t2_unlimited" {
9090

9191
instance_count = 1
9292

93-
name = "example-t2-unlimited"
94-
ami = data.aws_ami.amazon_linux.id
95-
instance_type = "t2.micro"
96-
cpu_credits = "unlimited"
97-
subnet_id = tolist(data.aws_subnet_ids.all.ids)[0]
93+
name = "example-t2-unlimited"
94+
ami = data.aws_ami.amazon_linux.id
95+
instance_type = "t2.micro"
96+
cpu_credits = "unlimited"
97+
subnet_id = tolist(data.aws_subnet_ids.all.ids)[0]
98+
// private_ip = "172.31.32.10"
9899
vpc_security_group_ids = [module.security_group.this_security_group_id]
99100
associate_public_ip_address = true
100101
}

main.tf

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,9 @@ resource "aws_instance" "this" {
2424
iam_instance_profile = var.iam_instance_profile
2525

2626
associate_public_ip_address = var.associate_public_ip_address
27-
private_ip = element(
28-
distinct(compact(concat([var.private_ip], var.private_ips))),
29-
count.index,
30-
)
31-
ipv6_address_count = var.ipv6_address_count
32-
ipv6_addresses = var.ipv6_addresses
27+
private_ip = length(var.private_ips) > 0 ? element(var.private_ips, count.index) : var.private_ip
28+
ipv6_address_count = var.ipv6_address_count
29+
ipv6_addresses = var.ipv6_addresses
3330

3431
ebs_optimized = var.ebs_optimized
3532

@@ -90,7 +87,6 @@ resource "aws_instance" "this" {
9087
# (eg, https://github.com/terraform-providers/terraform-provider-aws/issues/2036)
9188
# we have to ignore changes in the following arguments
9289
ignore_changes = [
93-
private_ip,
9490
root_block_device,
9591
ebs_block_device,
9692
]
@@ -113,12 +109,9 @@ resource "aws_instance" "this_t2" {
113109
iam_instance_profile = var.iam_instance_profile
114110

115111
associate_public_ip_address = var.associate_public_ip_address
116-
private_ip = element(
117-
distinct(compact(concat([var.private_ip], var.private_ips))),
118-
count.index,
119-
)
120-
ipv6_address_count = var.ipv6_address_count
121-
ipv6_addresses = var.ipv6_addresses
112+
private_ip = length(var.private_ips) > 0 ? element(var.private_ips, count.index) : var.private_ip
113+
ipv6_address_count = var.ipv6_address_count
114+
ipv6_addresses = var.ipv6_addresses
122115

123116
ebs_optimized = var.ebs_optimized
124117

@@ -183,7 +176,6 @@ resource "aws_instance" "this_t2" {
183176
# (eg, https://github.com/terraform-providers/terraform-provider-aws/issues/2036)
184177
# we have to ignore changes in the following arguments
185178
ignore_changes = [
186-
private_ip,
187179
root_block_device,
188180
ebs_block_device,
189181
]

0 commit comments

Comments
 (0)