Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix CIDR option #63

Merged
merged 12 commits into from
Aug 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 2.5.1
FIX:
* Fix creation additional networks for dynamic subnetting option

## 2.5.0
ENHANCEMENTS:
* Add support to multiple CIDRs in the a VPC
Expand All @@ -9,7 +13,7 @@ ENHANCEMENTS:
## 2.3.2

FIX:
* FIx Transit Gateway attachments ([#55](https://github.com/zoitech/terraform-aws-network/issues/55))
* Fix Transit Gateway attachments ([#55](https://github.com/zoitech/terraform-aws-network/issues/55))

## 2.3.1

Expand Down
24 changes: 12 additions & 12 deletions cidr.tf
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ resource "aws_vpc_ipv4_cidr_block_association" "additional_cidr" {
resource "aws_subnet" "additional_sn_private_a" {
count = local.additional_sn_private_a
vpc_id = aws_vpc.main.id
cidr_block = (local.enable_dynamic_subnets == true ? var.additional_private_subnets_a[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 0))
cidr_block = (local.enable_additional_dynamic_subnets == true ? var.additional_private_subnets_a[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 0))
availability_zone = local.az1

tags = merge(
Expand All @@ -25,7 +25,7 @@ resource "aws_subnet" "additional_sn_private_a" {
resource "aws_subnet" "additional_sn_private_b" {
count = local.additional_sn_private_b
vpc_id = aws_vpc.main.id
cidr_block = (local.enable_dynamic_subnets == true ? var.additional_private_subnets_b[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 1))
cidr_block = (local.enable_additional_dynamic_subnets == true ? var.additional_private_subnets_b[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 1))
availability_zone = local.az2

tags = merge(
Expand All @@ -41,7 +41,7 @@ resource "aws_subnet" "additional_sn_private_b" {
resource "aws_subnet" "additional_sn_private_c" {
count = local.additional_sn_private_c
vpc_id = aws_vpc.main.id
cidr_block = (local.enable_dynamic_subnets == true ? var.additional_private_subnets_c[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 2))
cidr_block = (local.enable_additional_dynamic_subnets == true ? var.additional_private_subnets_c[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 2))
availability_zone = local.az3

tags = merge(
Expand All @@ -59,7 +59,7 @@ resource "aws_subnet" "additional_sn_private_c" {
resource "aws_subnet" "additional_sn_public_a" {
count = local.additional_sn_public_a
vpc_id = aws_vpc.main.id
cidr_block = (local.enable_dynamic_subnets == true ? var.additional_public_subnets_a[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 4))
cidr_block = (local.enable_additional_dynamic_subnets == true ? var.additional_public_subnets_a[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 4))
availability_zone = local.az1

tags = merge(
Expand All @@ -76,7 +76,7 @@ resource "aws_subnet" "additional_sn_public_a" {
resource "aws_subnet" "additional_sn_public_b" {
count = local.additional_sn_public_b
vpc_id = aws_vpc.main.id
cidr_block = (local.enable_dynamic_subnets == true ? var.additional_public_subnets_b[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 5))
cidr_block = (local.enable_additional_dynamic_subnets == true ? var.additional_public_subnets_b[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 5))
availability_zone = local.az2

tags = merge(
Expand All @@ -93,7 +93,7 @@ resource "aws_subnet" "additional_sn_public_b" {
resource "aws_subnet" "additional_sn_public_c" {
count = local.additional_sn_public_c
vpc_id = aws_vpc.main.id
cidr_block = (local.enable_dynamic_subnets == true ? var.additional_public_subnets_c[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 6))
cidr_block = (local.enable_additional_dynamic_subnets == true ? var.additional_public_subnets_c[count.index] : cidrsubnet(var.vpc_additional_cidr[count.index], 3, 6))
availability_zone = local.az3

tags = merge(
Expand All @@ -108,36 +108,36 @@ resource "aws_subnet" "additional_sn_public_c" {

# route table associations
resource "aws_route_table_association" "additional_rt_private_a" {
count = (local.enable_dynamic_subnets == true ? local.additional_sn_private_a : 1)
count = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == true ? local.additional_sn_private_a : 1) : 0)
subnet_id = aws_subnet.additional_sn_private_a[count.index].id
route_table_id = aws_route_table.rt_private.id
}

resource "aws_route_table_association" "additional_rt_private_b" {
count = (local.enable_dynamic_subnets == true ? local.additional_sn_private_b : 1)
count = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == true ? local.additional_sn_private_b : 1) : 0)
subnet_id = aws_subnet.additional_sn_private_b[count.index].id
route_table_id = aws_route_table.rt_private.id
}

resource "aws_route_table_association" "additional_rt_private_c" {
count = (local.enable_dynamic_subnets == true ? local.additional_sn_private_c : 1)
count = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == true ? local.additional_sn_private_c : 1) : 0)
subnet_id = aws_subnet.additional_sn_private_c[count.index].id
route_table_id = aws_route_table.rt_private.id
}

resource "aws_route_table_association" "additional_rt_public_a" {
count = (local.enable_dynamic_subnets == true ? local.additional_sn_public_a : 1)
count = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == true ? local.additional_sn_public_a : 1) : 0)
subnet_id = aws_subnet.additional_sn_public_a[count.index].id
route_table_id = aws_route_table.rt_public.id
}
resource "aws_route_table_association" "additional_rt_public_b" {
count = (local.enable_dynamic_subnets == true ? local.additional_sn_public_b : 1)
count = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == true ? local.additional_sn_public_b : 1) : 0)
subnet_id = aws_subnet.additional_sn_public_b[count.index].id
route_table_id = aws_route_table.rt_public.id
}

resource "aws_route_table_association" "additional_rt_public_c" {
count = (local.enable_dynamic_subnets == true ? local.additional_sn_public_c : 1)
count = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == true ? local.additional_sn_public_c : 1) : 0)
subnet_id = aws_subnet.additional_sn_public_c[count.index].id
route_table_id = aws_route_table.rt_public.id
}
13 changes: 7 additions & 6 deletions locals.tf
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,12 @@ locals {

# Additional CIDRs to VPC
enable_additional_cidr = (length(var.vpc_additional_cidr) > 0 ? true : false)
additional_sn_private_a = (local.enable_dynamic_subnets == false ? 1 : (length(var.additional_private_subnets_a) > 0 ? length(var.additional_private_subnets_a) : 0))
additional_sn_private_b = (local.enable_dynamic_subnets == false ? 1 : (length(var.additional_private_subnets_b) > 0 ? length(var.additional_private_subnets_b) : 0))
additional_sn_private_c = (local.enable_dynamic_subnets == false ? 1 : (length(var.additional_private_subnets_c) > 0 ? length(var.additional_private_subnets_c) : 0))
additional_sn_public_a = (local.enable_dynamic_subnets == false ? 1 : (length(var.additional_public_subnets_a) > 0 ? length(var.additional_public_subnets_a) : 0))
additional_sn_public_b = (local.enable_dynamic_subnets == false ? 1 : (length(var.additional_public_subnets_b) > 0 ? length(var.additional_public_subnets_b) : 0))
additional_sn_public_c = (local.enable_dynamic_subnets == false ? 1 : (length(var.additional_public_subnets_c) > 0 ? length(var.additional_public_subnets_c) : 0))
enable_additional_dynamic_subnets = (length(var.additional_private_subnets_a) > 0 || length(var.additional_private_subnets_b) > 0 || length(var.additional_private_subnets_c) > 0 || length(var.additional_public_subnets_a) > 0 || length(var.additional_public_subnets_b) > 0 || length(var.additional_public_subnets_c) > 0 ? true : false)
additional_sn_private_a = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == false ? 1 : (length(var.additional_private_subnets_a) > 0 ? length(var.additional_private_subnets_a) : 0)) : 0)
additional_sn_private_b = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == false ? 1 : (length(var.additional_private_subnets_b) > 0 ? length(var.additional_private_subnets_b) : 0)) : 0)
additional_sn_private_c = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == false ? 1 : (length(var.additional_private_subnets_c) > 0 ? length(var.additional_private_subnets_c) : 0)) : 0)
additional_sn_public_a = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == false ? 1 : (length(var.additional_public_subnets_a) > 0 ? length(var.additional_public_subnets_a) : 0)) : 0)
additional_sn_public_b = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == false ? 1 : (length(var.additional_public_subnets_b) > 0 ? length(var.additional_public_subnets_b) : 0)) : 0)
additional_sn_public_c = (length(var.vpc_additional_cidr) > 0 ? (local.enable_additional_dynamic_subnets == false ? 1 : (length(var.additional_public_subnets_c) > 0 ? length(var.additional_public_subnets_c) : 0)) : 0)

}