resource "aws_default_network_acl" "DC-D-DEFAULT-NACL" {
  default_network_acl_id = aws_vpc.DC-D.default_network_acl_id
  tags                   = merge(var.tags, { Name = "DC-D-DEFAULT-NACL" })
}

resource "aws_network_acl" "DC-D-PUB-NACL" {
  # checkov:skip=CKV_AWS_231:Ignoring during migration
  # checkov:skip=CKV_AWS_232:Ignoring during migration
  egress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "1"
    to_port    = "0"
  }

  ingress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "udp"
    rule_no    = "2"
    to_port    = "65535"
  }

  ingress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "1024"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "tcp"
    rule_no    = "3"
    to_port    = "65535"
  }

  ingress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "443"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "tcp"
    rule_no    = "4"
    to_port    = "443"
  }

  ingress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "80"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "tcp"
    rule_no    = "5"
    to_port    = "80"
  }

  ingress {
    action     = "allow"
    cidr_block = "10.0.0.0/8"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "6"
    to_port    = "0"
  }

  ingress {
    action     = "allow"
    cidr_block = "162.49.0.0/16"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "7"
    to_port    = "0"
  }

  ingress {
    action     = "allow"
    cidr_block = "192.168.0.0/16"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "8"
    to_port    = "0"
  }

  ingress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "22"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "tcp"
    rule_no    = "9"
    to_port    = "22"
  }

  subnet_ids = [aws_subnet.DC-D-XDMZ-1A.id, aws_subnet.DC-D-XDMZ-1B.id, aws_subnet.DC-D-XDMZ-1C.id, aws_subnet.DC-D-FNET-1A.id]
  tags       = merge(var.tags, { Name = "DC-D-PUB-NACL" })
  vpc_id     = aws_vpc.DC-D.id
}

resource "aws_network_acl" "DC-D-APP-NACL" {
  # checkov:skip=CKV_AWS_231:Ignoring during migration
  egress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "1"
    to_port    = "0"
  }

  ingress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "udp"
    rule_no    = "2"
    to_port    = "65535"
  }
  ingress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "443"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "tcp"
    rule_no    = "9"
    to_port    = "443"
  }

  ingress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "1024"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "tcp"
    rule_no    = "3"
    to_port    = "65535"
  }

  ingress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "80"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "tcp"
    rule_no    = "5"
    to_port    = "80"
  }

  ingress {
    action     = "allow"
    cidr_block = "10.0.0.0/8"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "6"
    to_port    = "0"
  }

  ingress {
    action     = "allow"
    cidr_block = "162.49.0.0/16"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "7"
    to_port    = "0"
  }

  ingress {
    action     = "allow"
    cidr_block = "192.168.0.0/16"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "8"
    to_port    = "0"
  }

  subnet_ids = [aws_subnet.DC-D-XEMR-1A.id, aws_subnet.DC-D-XEMR-1B.id, aws_subnet.DC-D-XEMR-1C.id, aws_subnet.DC-D-XAPP-1A.id, aws_subnet.DC-D-XAPP-1B.id, aws_subnet.DC-D-XAPP-1C.id, aws_subnet.DC-D-RSRV-1A.id, aws_subnet.DC-D-RSRV-1B.id, aws_subnet.DC-D-IAPP-1A.id, aws_subnet.DC-D-IAPP-1B.id]
  tags       = merge(var.tags, { Name = "DC-D-APP-NACL" })
  vpc_id     = aws_vpc.DC-D.id
}

resource "aws_network_acl" "DC-D-RDS-NACL" {
  egress {
    action     = "allow"
    cidr_block = "0.0.0.0/0"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "1"
    to_port    = "0"
  }

  ingress {
    action     = "allow"
    cidr_block = "10.0.0.0/8"
    from_port  = "0"
    icmp_code  = "0"
    icmp_type  = "0"
    protocol   = "-1"
    rule_no    = "6"
    to_port    = "0"
  }

  subnet_ids = [aws_subnet.DC-D-XRDS-1A.id, aws_subnet.DC-D-XRDS-1B.id, aws_subnet.DC-D-XRDS-1C.id]
  tags       = merge(var.tags, { Name = "DC-D-RDS-NACL" })
  vpc_id     = aws_vpc.DC-D.id
}
