provider "aws" {
  region  = var.aws_region
  profile = "gdb-apollo-prod"

  default_tags {
    tags = local.default_tags
  }
}

# ecr repo are hosted in dev account
provider "aws" {
  alias   = "gdb-apollo-dev"
  region  = var.aws_region
  profile = "gdb-apollo-dev"

  default_tags {
    tags = local.default_tags
  }
}

# we rely on a data from MySQL Aurora which is hosted in Delphi account
# we can export data into S3 bucket within the same account
provider "aws" {
  alias   = "gdb-delphi-prod"
  region  = var.aws_region
  profile = "gdb-delphi-prod"

  default_tags {
    tags = local.default_tags
  }
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "gdb-apollo-prod-tfstate"
    key     = "prod/apollo-aggregate-and-copy-data-from-snowflake-to-mysql-lambda/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
    profile = "gdb-apollo-prod"
  }
}

module "domains" {
  source = "git@github.com:theorchard/infrastructure.git//Terraform/modules/domains/apollo?ref=master"
}

data "aws_caller_identity" "current" {}

module "secrets" {
  source   = "git@github.com:theorchard/terraform-secrets-manager.git//?ref=1.0.6"
  for_each = toset(var.secrets_manager_secret_names)

  environment        = var.environment
  service_name       = var.lambda_name
  secret_name        = each.value
  application_family = var.application_family
}

data "aws_secretsmanager_secret" "datadog_secret" {
  name = "prod/datadog/DD_API_KEY"
}
