infra/batch_pipeline_construct.py [341:388]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        )

        events.Rule(
            self,
            "CodeCommitRule",
            rule_name=f"sagemaker-{project_name}-codecommit-{construct_id}",
            description="Rule to trigger a build when code is updated in CodeCommit.",
            event_pattern=events.EventPattern(
                source=["aws.codecommit"],
                detail_type=["CodeCommit Repository State Change"],
                detail={
                    "event": ["referenceCreated", "referenceUpdated"],
                    "referenceType": ["branch"],
                    "referenceName": [branch_name],
                },
                resources=[code.repository_arn],
            ),
            targets=[
                targets.CodePipeline(
                    pipeline=code_pipeline,
                    event_role=event_role,
                )
            ],
        )

    def add_sagemaker_pipeline_target(
        self,
        rule: events.CfnRule,
        event_role: iam.Role,
        sagemaker_pipeline_arn: str,
    ) -> None:
        """Use events.CfnRule instead of events.Rule to accommodate
        [custom target](https://github.com/aws/aws-cdk/issues/14887)

        Args:
            rule (events.IRule): The event rule to add Target
            event_role (iam.Role): The event role
            sagemaker_pipeline_arn (str): The SageMaker Pipeline ARN
        """
        sagemaker_pipeline_target = {
            "Arn": sagemaker_pipeline_arn,
            "Id": "Target0",
            "RoleArn": event_role.role_arn,
            "SageMakerPipelineParameters": {
                "PipelineParameterList": [{"Name": "InputSource", "Value": rule.name}]
            },
        }
        rule.add_property_override("Targets", [sagemaker_pipeline_target])
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



infra/build_pipeline_construct.py [360:407]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        )

        events.Rule(
            self,
            "CodeCommitRule",
            rule_name=f"sagemaker-{project_name}-codecommit-{construct_id}",
            description="Rule to trigger a build when code is updated in CodeCommit.",
            event_pattern=events.EventPattern(
                source=["aws.codecommit"],
                detail_type=["CodeCommit Repository State Change"],
                detail={
                    "event": ["referenceCreated", "referenceUpdated"],
                    "referenceType": ["branch"],
                    "referenceName": [branch_name],
                },
                resources=[code.repository_arn],
            ),
            targets=[
                targets.CodePipeline(
                    pipeline=code_pipeline,
                    event_role=event_role,
                )
            ],
        )

    def add_sagemaker_pipeline_target(
        self,
        rule: events.CfnRule,
        event_role: iam.Role,
        sagemaker_pipeline_arn: str,
    ) -> None:
        """Use events.CfnRule instead of events.Rule to accommodate
        [custom target](https://github.com/aws/aws-cdk/issues/14887)

        Args:
            rule (events.IRule): The event rule to add Target
            event_role (iam.Role): The event role
            sagemaker_pipeline_arn (str): The SageMaker Pipeline ARN
        """
        sagemaker_pipeline_target = {
            "Arn": sagemaker_pipeline_arn,
            "Id": "Target0",
            "RoleArn": event_role.role_arn,
            "SageMakerPipelineParameters": {
                "PipelineParameterList": [{"Name": "InputSource", "Value": rule.name}]
            },
        }
        rule.add_property_override("Targets", [sagemaker_pipeline_target])
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



