variable Environment {}
variable AR_MYSQL_HOST {}
variable AR_MYSQL_PORT {}
variable AR_MYSQL_USER {}
variable AR_MYSQL_PASSWORD {}
variable AR_MYSQL_DATABASE {}
variable AWS_REGION {}
variable LOGGER_DSN {}
variable SENTRY_DSN {}
variable NEW_RELIC_LICENSE_KEY {}
variable NEW_RELIC_APP_NAME {}
variable NEO4J_MAX_RETRY_TIME {}
variable NEO4J_SETUP_READY {}

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

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

module "ows_users_environment" {
  source = "git@github.com:theorchard/terraform-elasticbeanstalk.git//"

  environment                       = "dev"
  service_name                      = "ows-users"

  environment_variables = [
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "Environment"
      value = "${var.Environment}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "AR_MYSQL_HOST"
      value = "${var.AR_MYSQL_HOST}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "AR_MYSQL_PORT"
      value = "${var.AR_MYSQL_PORT}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "AR_MYSQL_USER"
      value = "${var.AR_MYSQL_USER}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "AR_MYSQL_PASSWORD"
      value = "${var.AR_MYSQL_PASSWORD}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "AWS_REGION"
      value = "${var.AWS_REGION}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "LOGGER_DSN"
      value = "${var.LOGGER_DSN}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "SENTRY_DSN"
      value = "${var.SENTRY_DSN}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "NEW_RELIC_LICENSE_KEY"
      value = "${var.NEW_RELIC_LICENSE_KEY}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "NEW_RELIC_APP_NAME"
      value = "${var.NEW_RELIC_APP_NAME}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "NEO4J_MAX_RETRY_TIME"
      value = "${var.NEO4J_MAX_RETRY_TIME}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "NEO4J_SETUP_READY"
      value = "${var.NEO4J_SETUP_READY}"
    }

  ]

}
