variable "environment" {}

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

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

module "wowza" {
  source = "../modules/wowza"

  environment             = "prod"
  aws_stack_name          = "${var.environment}-aws-wowza"
  aws_key_name            = "orchard_admin"
  aws_instance_type       = "c5.large"
  aws_asg_min_instance    = "2"
  aws_asg_max_instance    = "2"
  aws_asg_desire_instance = "2"
  user_data               = module.chef_bootstrap_wowza.user_data_output
  vpc_id                  = "vpc-7f0e841a"
  asg_vpc_subnet_ids      = [
    "subnet-cb4dbae0",
    "subnet-5366ef24"
  ]
  elb_scheme              = ""
  elb_vpc_subnet_ids      = [
    "subnet-0f4dba24",
    "subnet-30e29047"
  ]
  aws_elb_ssl_certificate = "arn:aws:acm:us-east-1:437795906767:certificate/3d8658e4-d479-4e69-81bf-a8fedead008a"
  aws_elb_access_ips      = [
    "0.0.0.0/0"
  ]
  aws_route53_params      = {
    zone_id = "Z2RSKZ9M7TJ9Z"
  }
}

module "chef_bootstrap_wowza" {
  source            = "git@github.com:theorchard/terraform-chef-bootstrap.git//?ref=1.1.0"

  chef_version      = "15.11.8"
  chef_server       = "chef04.theorchard.local"
  chef_server_url   = "https://chef04.theorchard.local/organizations/orchard"
  s3_chef_bucket    = "orcd-chef-validator-keys"
  chef_environment  = "_default"
  chef_role         = "${var.environment}_aws_wowza"
  log_file          = "/var/log/chef/bootstrap.log"
  aws_instance_name = "${var.environment}-wowza"
  aws_iam_role_id   = module.wowza.aws_iam_role_id_output
}

output "Route53_record" {
  value = module.wowza.aws_route53_record_output
}
