variable Environment {}

variable AR_MYSQL_DATABASE {}
variable AR_MYSQL_HOST {}
variable AR_MYSQL_PORT {}
variable AR_MYSQL_PASSWORD {}
variable AR_MYSQL_USER {}

variable BULK_SALES_SHEETS {}

variable IMAGE_BASE_URL {}

variable SS_MYSQL_DATABASE {}
variable SS_MYSQL_HOST {}
variable SS_MYSQL_PORT {}
variable SS_MYSQL_PASSWORD {}
variable SS_MYSQL_USER {}

variable SENTRY_DSN {}
variable LOGGER_DSN {}

variable vpc_id {
  default = "vpc-7f0e841a"
}

variable vpc_subnets {
  default = "subnet-cb4dbae0,subnet-5366ef24"
}

variable vpc_elb_subnets {
  default = "subnet-5366ef24"
}

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

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

  environment                        = "${var.Environment}"
  service_name                       = "daemon-sales-sheets"
  use_existing_application           = true
  existing_application_name          = "sales-sheets"
  launchconfiguration_instance_type  = "t2.small"
  update_max_batch                   = "1"
  vpc_subnets                        = "${var.vpc_subnets}"
  vpc_id                             = "${var.vpc_id}"
  aws_route53_zone_id                = "Z2RSKZ9M7TJ9Z"
  elb_v2_access_logs_s3_bucket       = "aws-logs-437795906767-us-east-1"
  environment_tier                   = "Worker"
  notification_endpoints             = "digital.distro.squad@theorchard.com"
  vpc_elb_subnets                    = "${var.vpc_elb_subnets}"
  process_instance_health_check_path = ""
  iam_managed_policy_attachments    = [
    "arn:aws:iam::437795906767:policy/SQS-prod-sales_sheets-RW",
    "arn:aws:iam::437795906767:policy/Dynamo-prod-sales-sheets-owsrequest",
    "arn:aws:iam::437795906767:policy/S3-prod-orcdbucket-sales_sheets-RW",
    "arn:aws:iam::437795906767:policy/SecretsManager-prod-datadog-policy"
  ]
  environment_variables = [
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "Environment"
      value = "${var.Environment}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "AR_MYSQL_DATABASE"
      value = "${var.AR_MYSQL_DATABASE}"
    },
    {
      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_PASSWORD"
      value = "${var.AR_MYSQL_PASSWORD}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "AR_MYSQL_USER"
      value = "${var.AR_MYSQL_USER}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "BULK_SALES_SHEETS"
      value = "${var.BULK_SALES_SHEETS}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "IMAGE_BASE_URL"
      value = "${var.IMAGE_BASE_URL}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "SS_MYSQL_DATABASE"
      value = "${var.SS_MYSQL_DATABASE}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "SS_MYSQL_HOST"
      value = "${var.SS_MYSQL_HOST}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "SS_MYSQL_PORT"
      value = "${var.SS_MYSQL_PORT}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "SS_MYSQL_PASSWORD"
      value = "${var.SS_MYSQL_PASSWORD}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "SS_MYSQL_USER"
      value = "${var.SS_MYSQL_USER}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "SENTRY_DSN"
      value = "${var.SENTRY_DSN}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "LOGGER_DSN"
      value = "${var.LOGGER_DSN}"
    }
  ]
}
