locals {
  # If you want to use any of the variables in _this_ file, you have to load them here.
  # However, they will all be available as inputs to the module loaded in terraform.source
  # below.
  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
  partition_vars = read_terragrunt_config(find_in_parent_folders("partition.hcl"))
  region_vars = read_terragrunt_config(find_in_parent_folders("region.hcl"))
  account_vars = read_terragrunt_config(find_in_parent_folders("account.hcl"))
  global_vars = read_terragrunt_config(find_in_parent_folders("globals.hcl"))
}

# Terragrunt will copy the Terraform configurations specified by the source parameter, along with any files in the
# working directory, into a temporary folder, and execute your Terraform commands in that folder.
terraform {
  # Double slash is intentional and required to show root of modules
  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_ecr_customer_portal?ref=v1.10.10"
}

dependency "codebuild-ecr-base" {
  config_path = "../075-codebuild-ecr-base"
}

#Github specific provider
generate "required_providers" {
  path      = "required_provider.tf"
  if_exists = "overwrite_terragrunt"
  contents  = <<EOF
terraform {
  required_providers {
    aws = {
      source = "hashicorp/aws"
      version = "= 3.37.0" # 2021-04-29: upgrade from 2.66
    }
    template = {
      source = "hashicorp/template"
      version = "= 2.2.0" # 2021-04-29: ugprade from 2.1.0
    }
    vault = {
      source = "hashicorp/vault"
      version = "= 2.19.1" # 2021-04-29: upgrade from 2.18.0
    }
    sensu = {
      source = "jtopjian/sensu"
      version = "= 0.10.5"
    }
    github = {
      source = "integrations/github"
      version = "4.2.0"
    }
  }
}
EOF
}

generate "github-provider" {
  path      = "github-provider.tf"
  if_exists = "overwrite_terragrunt"
  contents  = <<EOF
#Provider block for Github engineering. 
#provider "github" {
#  organization = "mdr-engineering"
#  base_url     = "https://github.xdr.accenturefederalcyber.com/"
#}
#Provider block for Github MDR Content. 
provider "github" {
  organization = "MDR-Content"
  base_url     = "https://github.xdr.accenturefederalcyber.com/"
}
EOF
}

# Include all settings from the root terragrunt.hcl file
include {
  path = find_in_parent_folders()
}

# These are the variables we have to pass in to use the module specified in the terragrunt source above
inputs = {
  # All of the inputs from the inherited hcl files are available automatically
  # (via the `inputs` section of the root `terragrunt.hcl`). However, modules
  # will be more flexible if you specify particular input values.
  tags = {
    Purpose = "Build Docker Container with Codebuild"
    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
  }
  name                  = "customer_portal"
  service_role          = dependency.codebuild-ecr-base.outputs.service_role
  kms_key               = dependency.codebuild-ecr-base.outputs.kms_key
  codebuild_image       = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
  #codebuild_image      = dependency.codebuild-ecr-base.outputs.codebuild_image_centos7
  #codebuild_image      = dependency.codebuild-ecr-base.outputs.codebuild_image_rhel7
  artifact_s3_bucket    = ""
  #artifact_s3_bucket   = dependency.codebuild-ecr-base.outputs.artifact_s3_bucket
  webhook_branch_filter = "release/.*"
}
