Browse Source

Merge pull request #598 from mdr-engineering/feature/ftd_MSOCI-2103_CodeBuildForCustSH

Updates Codebuild Splunk Apps and C2 Account Standards to Latest
Frederick Damstra 3 years ago
parent
commit
82fa1a0506

+ 70 - 1
000-skeleton/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,6 +7,17 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # Terragrunt will copy the Terraform configurations specified by the source parameter, along with any files in the
@@ -16,6 +27,64 @@ terraform {
   source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v1.00.00"
 }
 
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
+}
+
 #Github specific provider
 generate "required_providers" {
   path      = "required_provider.tf"
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 71 - 2
prod/aws-us-gov/mdr-prod-afs/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 71 - 2
prod/aws-us-gov/mdr-prod-bas/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 1 - 1
prod/aws-us-gov/mdr-prod-c2/005-account-standards-c2/terragrunt.hcl

@@ -15,7 +15,7 @@ locals {
 # 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/account_standards_c2?ref=v4.0.4"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/account_standards_c2?ref=v4.1.0"
 }
 
 # Include all settings from the root terragrunt.hcl file

+ 71 - 2
prod/aws-us-gov/mdr-prod-c2/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 1 - 1
prod/aws-us-gov/mdr-prod-c2/380-codebuild-portal-lambda/terragrunt.hcl

@@ -34,7 +34,7 @@ locals {
 # 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_portal_lambda?ref=v4.0.3"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_portal_lambda?ref=v4.1.0"
 }
 
 # ---------------------------------------------------------------------------------------------------------------------

+ 71 - 2
prod/aws-us-gov/mdr-prod-ca-c19/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 71 - 2
prod/aws-us-gov/mdr-prod-dc-c19/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 71 - 2
prod/aws-us-gov/mdr-prod-dgi/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 71 - 2
prod/aws-us-gov/mdr-prod-frtib/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 71 - 2
prod/aws-us-gov/mdr-prod-la-c19/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 71 - 2
prod/aws-us-gov/mdr-prod-nga/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 1 - 1
prod/aws/mdr-prod-c2/005-account-standards-c2/terragrunt.hcl

@@ -15,7 +15,7 @@ locals {
 # 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/account_standards_c2?ref=v4.0.4"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/account_standards_c2?ref=v4.1.0"
 }
 
 # Include all settings from the root terragrunt.hcl file

+ 1 - 1
test/aws-us-gov/mdr-test-c2/005-account-standards-c2/terragrunt.hcl

@@ -15,7 +15,7 @@ locals {
 # 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/account_standards_c2?ref=v4.0.4"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/account_standards_c2?ref=v4.1.0"
 }
 
 # Include all settings from the root terragrunt.hcl file

+ 71 - 2
test/aws-us-gov/mdr-test-c2/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 1 - 1
test/aws-us-gov/mdr-test-c2/380-codebuild-portal-lambda/terragrunt.hcl

@@ -34,7 +34,7 @@ locals {
 # 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_portal_lambda?ref=v4.0.3"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_portal_lambda?ref=v4.1.0"
 }
 
 # ---------------------------------------------------------------------------------------------------------------------

+ 71 - 2
test/aws-us-gov/mdr-test-modelclient/360-codebuild-splunk-apps/terragrunt.hcl

@@ -7,13 +7,82 @@ locals {
   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"))
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
 }
 
 # 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_splunk_apps?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_splunk_apps?ref=v4.0.13"
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+provider "aws" {
+  region = "${local.aws_region}"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+  profile = "${local.common_profile}"
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
 }
 
 #Github specific provider
@@ -25,7 +94,7 @@ terraform {
   required_providers {
     aws = {
       source = "hashicorp/aws"
-      version = "= 4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
     }
     vault = {
       source = "hashicorp/vault"

+ 1 - 1
test/aws/mdr-test-c2/005-account-standards-c2/terragrunt.hcl

@@ -15,7 +15,7 @@ locals {
 # 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/account_standards_c2?ref=v4.0.4"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/account_standards_c2?ref=v4.1.0"
 }
 
 # Include all settings from the root terragrunt.hcl file