resource "aws_eip" "nat" {
  count = length(var.availability_zones)

  vpc = true
}

module "app_vpc" {
  source = "terraform-aws-modules/vpc/aws"
  version = "3.11.0"

  name = "website-vpc"
  cidr = var.app_cidr

  azs             = var.availability_zones
  private_subnets = var.app_private_subnets_cidr
  public_subnets  = var.app_public_subnets_cidr

  enable_nat_gateway = true
  enable_dns_hostnames = true
  reuse_nat_ips       = true
  external_nat_ip_ids = "${aws_eip.nat.*.id}"

  tags = {
    Context = "wordpress-app"
    "kubernetes.io/cluster/${var.k8s_cluster_name}" = "shared"
  }

  private_subnet_tags = {
    "kubernetes.io/cluster/${var.k8s_cluster_name}" = "shared"
  }

  public_subnet_tags = {
    "kubernetes.io/cluster/${var.k8s_cluster_name}" = "shared"
  }
}
