resource "aws_default_route_table" "DIGSYS-D3-MAIN-RT" {
  default_route_table_id = aws_vpc.DIGSYS-D3.default_route_table_id
  tags                   = merge(var.tags, { Name = "DIGSYS-D3-MAIN-RT" })
}

resource "aws_route_table" "DIGSYS-D3-APP-RT" {
  #checkov:skip=CKV2_AWS_44: Ensure AWS route table with VPC peering does not contain routes overly permissive to all traffic
  route {
    destination_prefix_list_id = "pl-00b0c74f9eabf51c3"
    transit_gateway_id         = "tgw-02a16afd7350ee245"
  }

  route {
    cidr_block     = "0.0.0.0/0"
    nat_gateway_id = aws_nat_gateway.DIGSYS-D3-NGW.id
  }

  route {
    cidr_block         = "10.0.0.0/8"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block         = "162.49.0.0/16"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block         = "172.34.16.128/25"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block         = "172.34.20.0/24"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block         = "172.34.29.0/26"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block         = "172.34.25.0/24"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block         = "192.168.0.0/16"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block                = "192.168.248.0/21"
    vpc_peering_connection_id = "pcx-0e486d2ac86a59eae"
  }

  tags   = merge(var.tags, { Name = "DIGSYS-D3-APP-RT" })
  vpc_id = aws_vpc.DIGSYS-D3.id
}

resource "aws_route_table" "DIGSYS-D3-PUB-RT" {
  route {
    cidr_block      = "0.0.0.0/0"
    vpc_endpoint_id = "vpce-0d02e36c4c65ee87e"
  }

  tags   = merge(var.tags, { Name = "DIGSYS-D3-PUB-RT" })
  vpc_id = aws_vpc.DIGSYS-D3.id
}

resource "aws_route_table" "DIGSYS-D3-RDS-RT" {
  route {
    cidr_block         = "10.0.0.0/8"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block         = "162.49.0.0/16"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block         = "192.168.0.0/16"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block         = "172.34.25.0/24"
    transit_gateway_id = "tgw-0b89360b7d8b7e3d9"
  }

  route {
    cidr_block     = "0.0.0.0/0"
    nat_gateway_id = aws_nat_gateway.DIGSYS-D3-NGW.id
  }

  tags   = merge(var.tags, { Name = "DIGSYS-D3-RDS-RT" })
  vpc_id = aws_vpc.DIGSYS-D3.id
}

resource "aws_route_table" "DIGSYS-D3-INGRESS-RT" {
  route {
    cidr_block      = "10.250.242.0/27"
    vpc_endpoint_id = "vpce-0d02e36c4c65ee87e"
  }

  route {
    cidr_block      = "10.250.242.32/27"
    vpc_endpoint_id = "vpce-0d02e36c4c65ee87e"
  }

  tags = {
    Name = "DIGSYS-D3-INGRESS-RT"
  }

  tags_all = {
    Name = "DIGSYS-D3-INGRESS-RT"
  }

  vpc_id = aws_vpc.DIGSYS-D3.id
}

resource "aws_route_table" "DIGSYS-D3-FNET-RT" {
  route {
    cidr_block = "0.0.0.0/0"
    gateway_id = aws_internet_gateway.DIGSYS-D3-IGW.id
  }

  tags = {
    Name = "DIGSYS-D3-FNET-RT"
  }

  tags_all = {
    Name = "DIGSYS-D3-FNET-RT"
  }

  vpc_id = aws_vpc.DIGSYS-D3.id
}
