provider "aws" {
  region = var.aws_region
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "shared-orcd-terraform-state"
    key     = "shared/ecr/repos/orchard-datadog-agent/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

module "repository" {
  source   = "git@github.com:theorchard/terraform-ecr.git?ref=2.0.3"
  for_each = toset(var.repository_names)

  repository_name = each.value
}


# Additional configuration due to replication to eu-central-1
provider "aws" {
  alias  = "eu_central_1"
  region = "eu-central-1"
}

data "aws_ecr_repository" "replicated_eu_central_1" {
  for_each = toset(var.repository_names)
  provider = aws.eu_central_1

  name = each.value
}

resource "aws_ecr_repository_policy" "repository_policy_eu_central_1" {
  for_each = toset(var.repository_names)
  provider = aws.eu_central_1

  repository = data.aws_ecr_repository.replicated_eu_central_1[each.key].name
  policy     = module.repository[each.key].repository_policy_json
}
