provider "aws" {
  region = "${var.aws_region}"
}

module "ows_service_owsrequest" {
  source = "git@github.com:theorchard/terraform-owsrequest.git//"

  environment_name = "${var.Environment}"
  service_name     = "${var.service_name}"
}

module "ows_account_environment" {

  source           = "git@github.com:theorchard/terraform-elasticbeanstalk.git//"
  environment      = "${var.Environment}"
  service_name     = "${var.service_name}"

  iam_managed_policy_attachments = [
    "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly",
    "arn:aws:iam::aws:policy/CloudWatchFullAccess",
    "arn:aws:iam::aws:policy/AWSElasticBeanstalkWebTier",
    "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess",
    "${module.ows_service_owsrequest.policy_arn_output}"
  ]

  environment_variables = [
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "Environment"
      value = "${var.Environment}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "SENTRY_DSN"
      value = "${var.SENTRY_DSN}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "LOGGER_DSN"
      value = "${var.LOGGER_DSN}"
    },
    {
      namespace = "aws:elasticbeanstalk:application:environment"
      name = "DB_URL"
      value = "${var.DB_URL}"
    }
  ]
}
