locals { account_id = data.aws_caller_identity.current.account_id region = data.aws_region.current.id } module "codepipeline_kms" { source = "../../terraform-modules/kms" codepipeline_role_arn = module.codepipeline_iam_role.role_arn tags = { Project_Name = var.project_name Environment = var.environment Account_ID = local.account_id Region = local.region } } module "s3_artifacts_bucket" { source = "../../terraform-modules/s3" project_name = var.project_name kms_key_arn = module.codepipeline_kms.arn codepipeline_role_arn = module.codepipeline_iam_role.role_arn tags = { Project_Name = var.project_name Environment = var.environment Account_ID = local.account_id Region = local.region } } module "codepipeline_iam_role" { source = "../../terraform-modules/iam-role" project_name = var.project_name codepipeline_iam_role_name = var.create_new_role == true ? "${var.project_name}-codepipeline-role" : var.codepipeline_iam_role_name source_repository_name = var.source_repo_name kms_key_arn = module.codepipeline_kms.arn s3_bucket_arn = module.s3_artifacts_bucket.arn tags = { Project_Name = var.project_name Environment = var.environment Account_ID = local.account_id Region = local.region } } module "validate" { source = "../../terraform-modules/codebuild" project_name = var.project_name role_arn = module.codepipeline_iam_role.role_arn s3_bucket_name = module.s3_artifacts_bucket.bucket build_projects = var.build_projects build_project_source = var.build_project_source buildspecyaml_directory = var.buildspecyaml_directory builder_compute_type = var.builder_compute_type builder_image = var.builder_image builder_image_pull_credentials_type = var.builder_image_pull_credentials_type builder_type = var.builder_type kms_key_arn = module.codepipeline_kms.arn tags = { Project_Name = var.project_name Environment = var.environment Account_ID = local.account_id Region = local.region } }