|
1 | 1 | locals { |
2 | 2 | max_subnet_length = max( |
3 | 3 | length(var.private_subnets), |
| 4 | + length(var.ftp_subnets), |
4 | 5 | length(var.elasticache_subnets), |
5 | 6 | length(var.database_subnets), |
6 | 7 | length(var.redshift_subnets), |
@@ -32,12 +33,12 @@ resource "aws_vpc" "this" { |
32 | 33 | #tfsec:ignore:aws-ec2-require-vpc-flow-logs-for-all-vpcs |
33 | 34 | count = var.create_vpc ? 1 : 0 |
34 | 35 |
|
35 | | - cidr_block = var.cidr |
36 | | - instance_tenancy = var.instance_tenancy |
37 | | - enable_dns_hostnames = var.enable_dns_hostnames |
38 | | - enable_dns_support = var.enable_dns_support |
39 | | - # enable_classiclink = var.enable_classiclink |
40 | | - # enable_classiclink_dns_support = var.enable_classiclink_dns_support |
| 36 | + cidr_block = var.cidr |
| 37 | + instance_tenancy = var.instance_tenancy |
| 38 | + enable_dns_hostnames = var.enable_dns_hostnames |
| 39 | + enable_dns_support = var.enable_dns_support |
| 40 | + # enable_classiclink = var.enable_classiclink |
| 41 | + # enable_classiclink_dns_support = var.enable_classiclink_dns_support |
41 | 42 | assign_generated_ipv6_cidr_block = var.enable_ipv6 |
42 | 43 |
|
43 | 44 | tags = merge( |
@@ -264,6 +265,28 @@ resource "aws_route_table" "private" { |
264 | 265 | ) |
265 | 266 | } |
266 | 267 |
|
| 268 | +################# |
| 269 | +# Ftp routes |
| 270 | +# There are as many routing tables as the number of NAT gateways |
| 271 | +################# |
| 272 | +resource "aws_route_table" "ftp" { |
| 273 | + count = var.create_vpc && local.max_subnet_length > 0 ? local.nat_gateway_count : 0 |
| 274 | + |
| 275 | + vpc_id = local.vpc_id |
| 276 | + |
| 277 | + tags = merge( |
| 278 | + { |
| 279 | + "Name" = var.single_nat_gateway ? "${var.name}-${var.ftp_subnet_suffix}" : format( |
| 280 | + "%s-${var.ftp_subnet_suffix}-%s", |
| 281 | + var.name, |
| 282 | + element(var.azs, count.index), |
| 283 | + ) |
| 284 | + }, |
| 285 | + var.tags, |
| 286 | + var.ftp_route_table_tags, |
| 287 | + ) |
| 288 | +} |
| 289 | + |
267 | 290 | ################# |
268 | 291 | # Database routes |
269 | 292 | ################# |
@@ -455,7 +478,6 @@ resource "aws_subnet" "public_eks_green" { |
455 | 478 | ) |
456 | 479 | } |
457 | 480 |
|
458 | | - |
459 | 481 | ################# |
460 | 482 | # Private subnet |
461 | 483 | ################# |
@@ -483,6 +505,33 @@ resource "aws_subnet" "private" { |
483 | 505 | ) |
484 | 506 | } |
485 | 507 |
|
| 508 | +################# |
| 509 | +# Ftp subnet |
| 510 | +################# |
| 511 | +resource "aws_subnet" "ftp" { |
| 512 | + count = var.create_vpc && length(var.ftp_subnets) > 0 ? length(var.ftp_subnets) : 0 |
| 513 | + |
| 514 | + vpc_id = local.vpc_id |
| 515 | + cidr_block = var.ftp_subnets[count.index] |
| 516 | + availability_zone = length(regexall("^[a-z]{2}-", element(var.azs, count.index))) > 0 ? element(var.azs, count.index) : null |
| 517 | + availability_zone_id = length(regexall("^[a-z]{2}-", element(var.azs, count.index))) == 0 ? element(var.azs, count.index) : null |
| 518 | + assign_ipv6_address_on_creation = var.ftp_subnet_assign_ipv6_address_on_creation == null ? var.assign_ipv6_address_on_creation : var.ftp_subnet_assign_ipv6_address_on_creation |
| 519 | + |
| 520 | + ipv6_cidr_block = var.enable_ipv6 && length(var.ftp_subnet_ipv6_prefixes) > 0 ? cidrsubnet(aws_vpc.this[0].ipv6_cidr_block, 8, var.ftp_subnet_ipv6_prefixes[count.index]) : null |
| 521 | + |
| 522 | + tags = merge( |
| 523 | + { |
| 524 | + "Name" = format( |
| 525 | + "%s-${var.ftp_subnet_suffix}-%s", |
| 526 | + var.name, |
| 527 | + element(var.azs, count.index), |
| 528 | + ) |
| 529 | + }, |
| 530 | + var.tags, |
| 531 | + var.ftp_subnet_tags, |
| 532 | + ) |
| 533 | +} |
| 534 | + |
486 | 535 | ################## |
487 | 536 | ############################################################################### |
488 | 537 | # Private EKS subnet |
@@ -812,7 +861,7 @@ resource "aws_network_acl_rule" "public_outbound" { |
812 | 861 | } |
813 | 862 |
|
814 | 863 | ######################### |
815 | | -# Public eks Network ACLS |
| 864 | +# Public eks Network ACLS |
816 | 865 | ######################### |
817 | 866 |
|
818 | 867 | resource "aws_network_acl" "public_eks_blue" { |
@@ -967,7 +1016,7 @@ resource "aws_network_acl_rule" "private_outbound" { |
967 | 1016 |
|
968 | 1017 | ######################## |
969 | 1018 | ################################################################################ |
970 | | -# Private Networks ACLS for the eks |
| 1019 | +# Private Networks ACLS for the eks |
971 | 1020 | ################################################################################ |
972 | 1021 |
|
973 | 1022 | resource "aws_network_acl" "private_eks_blue" { |
@@ -1297,8 +1346,6 @@ locals { |
1297 | 1346 | resource "aws_eip" "nat" { |
1298 | 1347 | count = var.create_vpc && var.enable_nat_gateway && false == var.reuse_nat_ips ? local.nat_gateway_count : 0 |
1299 | 1348 |
|
1300 | | - vpc = true |
1301 | | - |
1302 | 1349 | tags = merge( |
1303 | 1350 | { |
1304 | 1351 | "Name" = format( |
@@ -1575,7 +1622,7 @@ resource "aws_default_vpc" "this" { |
1575 | 1622 |
|
1576 | 1623 | enable_dns_support = var.default_vpc_enable_dns_support |
1577 | 1624 | enable_dns_hostnames = var.default_vpc_enable_dns_hostnames |
1578 | | - # enable_classiclink = var.default_vpc_enable_classiclink |
| 1625 | + # enable_classiclink = var.default_vpc_enable_classiclink |
1579 | 1626 |
|
1580 | 1627 | tags = merge( |
1581 | 1628 | { |
|
0 commit comments