resource "aws_codecommit_repository" "awsomerepo" { repository_name = var.repository_name description = "This is the Sample IaC Repository for Infrastructure Resources" default_branch = var.default_branch } data "template_file" "cloudwatchevent_policy_template" { template = file("${path.module}/templates/cloud_watch_event_policy.tpl") vars = { pipeline_arn = jsonencode([for tag in var.tag_prefix_list : aws_codepipeline.infra_pipeline[tag].arn]) codebuildproj_arn = jsonencode([for tag in var.tag_prefix_list : aws_codebuild_project.build_upon_tag_creation[tag].arn]) } } data aws_iam_role cloudwatch_event_role { name = "cloudwatch-event-role" } resource "aws_iam_role_policy" "attach_cwe_policy" { name_prefix = "cwe-policy" role = data.aws_iam_role.cloudwatch_event_role.name policy = data.template_file.cloudwatchevent_policy_template.rendered } // CodeBuild as Target for git tag push resource "aws_cloudwatch_event_rule" "trigger_build_on_tag_updates" { for_each = toset(var.tag_prefix_list) name = "trigger_codebuild_on_tag_update_${each.key}" description = "Trigger code build on ${each.key} tag update" event_pattern = < } ]}" } } resource "aws_cloudwatch_event_rule" "trigger_pipeline_on_s3_updates" { for_each = toset(var.tag_prefix_list) name = "trigger_pipeline_on_s3_updates_${each.key}" description = "Trigger code pipeline on s3 update" event_pattern = <