variable "aws_stack_name" {}
variable "environment" {}

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

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket         = "terraform-state-bucket"
    key            = "env/appname/terraform.tfstate"
    region         = "us-east-1"
    encrypt        = "true"
    dynamodb_table = "terraform-env-appname"
  }
}

module "asg_stack" {
  source                  = "../modules/asg"

  aws_stack_name          = "${var.environment}-${var.aws_stack_name}"
  aws_key_name            = "orcd-dev-keypair"
  user_data               = "${module.terraform_chef_bootstrap.user_data_output}"
  aws_instance_type       = "t2.medium"
  az                      = "us-east-1b"
  vpc_id                  = "vpc-12345678"
  vpc_ssh_group           = "vpn_ssh"
  vpc_private_subnet_ids  = [
    "subnet-12345678"
  ]
  aws_elb_ssl_certificate = "arn:aws:acm:us-east-1:123456789012:certificate/0000-1111-0000-long-uuid-0000"
  aws_device_size         = "60"
  aws_elb_access_ips      = [
   "10.10.10.0/24"
  ]
  aws_route53_params      = {
    zone_id = "Z12345678Z"
  }
}

module "terraform_chef_bootstrap" {
  source            = "git@github.com:theorchard/terraform-chef-bootstrap.git"

  chef_version      = "12.19.36"
  chef_server       = "chef04.qaorch.com"
  chef_server_url   = "https://chef04.qaorch.com/organizations/orchard"
  s3_chef_bucket    = "s3-chef-validator-bucket"
  chef_environment  = "_default"
  chef_role         = "${var.environment}_chef_role"
  log_file          = "/var/log/chef/bootstrap.log"
  aws_instance_name = "${var.environment}-${var.aws_stack_name}"
  aws_iam_role_id   = "${module.asg_stack.aws_iam_role_id_output}"
  aws_asg_name      = "${module.asg_stack.aws_asg_name_output}"
}

output "Route53 record" {
  value = "${module.asg_stack.aws_route53_record}"
}
