
provider "aws" {
  region = "us-east-1"
}

terraform {
  backend "s3" {
    bucket  = "dev-orcd-terraform-state"
    key     = "dev/bomgar/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

module "dev_bomgar_vpc" {
  source                         = "git@github.com:theorchard/terraform-vpc.git//modules/vpc"
  env                            = "dev"
  vpc_region                     = "us-east-1"
  vpc_cidr                       = "10.102.0.0/24"
  public_routetable_enabled      = false
  public_igw_enabled             = false
  public_gateway_enabled         = false
  public_netacl_enabled          = false
  public_routetable_propagation  = false
  private_routetable_propagation = true
  vpc_public_subnets             = {
  }
  vpc_private_subnets            = {
    us-east-1a = "10.102.0.0/28"
    us-east-1b = "10.102.0.16/28"
    us-east-1c = "10.102.0.32/28"
  }
}

resource "aws_customer_gateway" "avl-cg" {
  bgp_asn    = 65000
  ip_address = "${var.avl_ip_address}"
  type       = "ipsec.1"

  tags {
    Name = "avl-cg"
  }
}

resource "aws_customer_gateway" "ny-cg" {
  bgp_asn    = 65000
  ip_address = "${var.ny_ip_address}"
  type       = "ipsec.1"

  tags {
    Name = "ny-cg"
  }
}

resource "aws_vpn_connection" "avl-vpn" {
  vpn_gateway_id      = "${module.dev_bomgar_vpc.vpn_gateway_id}"
  customer_gateway_id = "${aws_customer_gateway.avl-cg.id}"
  type                = "ipsec.1"
  static_routes_only  = true

  tags {
    Name = "avl-to-aws-bomgar"
  }
}

resource "aws_vpn_connection" "ny-vpn" {
  vpn_gateway_id      = "${module.dev_bomgar_vpc.vpn_gateway_id}"
  customer_gateway_id = "${var.ny_cust_gw}"
  type                = "ipsec.1"
  static_routes_only  = true

  tags {
    Name = "ny-to-aws-bomgar"
  }
}
resource "aws_vpn_connection_route" "ny_tech_users" {
  destination_cidr_block = "${var.ny_routes["ny_tech_users"]}"
  vpn_connection_id      = "${aws_vpn_connection.ny-vpn.id}"
}

resource "aws_vpn_connection_route" "ny_users" {
  destination_cidr_block = "${var.ny_routes["ny_users"]}"
  vpn_connection_id      = "${aws_vpn_connection.ny-vpn.id}"
}

resource "aws_vpn_connection_route" "ny_vpn" {
  destination_cidr_block = "${var.ny_routes["ny_vpn"]}"
  vpn_connection_id      = "${aws_vpn_connection.ny-vpn.id}"
}
