@@ -11,16 +11,19 @@ module "public_label" {
1111}
1212
1313locals {
14- public_subnet_count = var. max_subnet_count == 0 ? length (data. aws_availability_zones . available . names ) : var. max_subnet_count
14+ public_subnet_count = var. enabled && var. max_subnet_count == 0 ? length (flatten (data. aws_availability_zones . available . * . names )) : var. max_subnet_count
15+ public_route_expr_enabled = var. enabled && signum (length (var. vpc_default_route_table_id )) == 1
16+ public_network_acl_enabled = var. enabled && signum (length (var. public_network_acl_id )) == 0 ? 1 : 0
17+ vpc_default_route_table_id = var. enabled ? signum (length (var. vpc_default_route_table_id )) : 0
1518}
1619
1720resource "aws_subnet" "public" {
18- count = length (var . availability_zones )
19- vpc_id = data. aws_vpc . default . id
21+ count = local . availability_zones_count
22+ vpc_id = join ( " " , data. aws_vpc . default . * . id )
2023 availability_zone = element (var. availability_zones , count. index )
2124
2225 cidr_block = cidrsubnet (
23- signum (length (var. cidr_block )) == 1 ? var. cidr_block : data. aws_vpc . default . cidr_block ,
26+ signum (length (var. cidr_block )) == 1 ? var. cidr_block : join ( " " , data. aws_vpc . default . * . cidr_block ) ,
2427 ceil (log (local. public_subnet_count * 2 , 2 )),
2528 local. public_subnet_count + count. index
2629 )
@@ -49,33 +52,33 @@ resource "aws_subnet" "public" {
4952}
5053
5154resource "aws_route_table" "public" {
52- count = signum ( length (var . vpc_default_route_table_id )) == 1 ? 0 : 1
53- vpc_id = data. aws_vpc . default . id
55+ count = local . public_route_expr_enabled ? 0 : local . enabled
56+ vpc_id = join ( " " , data. aws_vpc . default . * . id )
5457
5558 tags = module. public_label . tags
5659}
5760
5861resource "aws_route" "public" {
59- count = signum ( length (var . vpc_default_route_table_id )) == 1 ? 0 : 1
62+ count = local . public_route_expr_enabled ? 0 : local . enabled
6063 route_table_id = join (" " , aws_route_table. public . * . id )
6164 destination_cidr_block = " 0.0.0.0/0"
6265 gateway_id = var. igw_id
6366}
6467
6568resource "aws_route_table_association" "public" {
66- count = signum ( length (var . vpc_default_route_table_id )) == 1 ? 0 : length (var . availability_zones )
69+ count = local . public_route_expr_enabled ? 0 : local . availability_zones_count
6770 subnet_id = element (aws_subnet. public . * . id , count. index )
6871 route_table_id = aws_route_table. public [0 ]. id
6972}
7073
7174resource "aws_route_table_association" "public_default" {
72- count = signum ( length (var . vpc_default_route_table_id )) == 1 ? length (var . availability_zones ) : 0
75+ count = local . public_route_expr_enabled ? local . availability_zones_count : 0
7376 subnet_id = element (aws_subnet. public . * . id , count. index )
7477 route_table_id = var. vpc_default_route_table_id
7578}
7679
7780resource "aws_network_acl" "public" {
78- count = signum ( length (var . public_network_acl_id )) == 0 ? 1 : 0
81+ count = local . public_network_acl_enabled
7982 vpc_id = var. vpc_id
8083 subnet_ids = aws_subnet. public . * . id
8184
@@ -99,4 +102,3 @@ resource "aws_network_acl" "public" {
99102
100103 tags = module. public_label . tags
101104}
102-
0 commit comments