# General variables
provider "aws" {
  region = "us-east-1"
}

resource "aws_ecr_repository" "lambda_test_repository" {
  name                 = "lambda-${var.service_name}"
  image_tag_mutability = "MUTABLE"

  encryption_configuration {
    encryption_type = "KMS"
  }

  image_scanning_configuration {
    scan_on_push = true
  }
}

resource "null_resource" "ecr_upload" {
  provisioner "local-exec" {
    command = "/bin/bash ./ecr_upload.sh"

    environment = {
      SERVICE_NAME       = "${var.service_name}-with-ecr-source"
      ECR_REPOSITORY_URL = aws_ecr_repository.lambda_test_repository.repository_url
    }
  }
}

# The ECR_PREP_ID variable is only set to enforce dependency order, without forcing Terraform 13+
module "test_dev_lambda_with_ecr_source" {
  source = "../"

  environment         = var.environment
  lambda_name         = "jpenner-ecr-lambda"
  application_family  = "devex"
  use_container_image = true
  datadog_advanced_enabled = true

  lambda_function_environment_variables = {
    Environment   = var.environment
    ECR_UPLOAD_ID = null_resource.ecr_upload.id
  }
}