def generate_deployment_action_per_region()

in src/lambda_codebase/initial_commit/bootstrap_repository/adf-build/shared/cdk/cdk_stacks/adf_default_pipeline.py [0:0]


def generate_deployment_action_per_region(_actions,
                                          regions,
                                          stack_input,
                                          target,
                                          target_stage_override,
                                          top_level_action
                                          ):
    for region in regions:
        if "cloudformation" in target_stage_override:
            target_approval_mode = target.get("properties", {}).get(
                "change_set_approval", False
            )
            _target_action_mode = target.get("properties", {}).get("action")
            action_mode = _target_action_mode or top_level_action
            if action_mode:
                _actions.extend(
                    [
                        adf_codepipeline.Action(
                            name=f"{target['name']}-{region}",
                            provider="CloudFormation",
                            category="Deploy",
                            region=region,
                            target=target,
                            action_mode=action_mode,
                            run_order=1,
                            map_params=stack_input["input"],
                            action_name=f"{target['name']}-{region}",
                        ).config
                    ]
                )
                continue
            _actions.extend(
                adf_cloudformation.CloudFormation.generate_actions(
                    target, region, stack_input["input"], target_approval_mode
                )
            )
        elif "codedeploy" in target_stage_override:
            _actions.extend(
                [
                    adf_codepipeline.Action(
                        name=f"{target['name']}-{region}",
                        provider="CodeDeploy",
                        category="Deploy",
                        region=region,
                        target=target,
                        action_mode=top_level_action,
                        run_order=1,
                        map_params=stack_input["input"],
                        action_name=f"{target['name']}-{region}",
                    ).config
                ]
            )
        elif "s3" in target_stage_override:
            _actions.extend(
                [
                    adf_codepipeline.Action(
                        name=f"{target['name']}-{region}",
                        provider="S3",
                        category="Deploy",
                        region=region,
                        target=target,
                        action_mode=top_level_action,
                        run_order=1,
                        map_params=stack_input["input"],
                        action_name=f"{target['name']}-{region}",
                    ).config
                ]
            )
        elif "lambda" in target_stage_override:
            _actions.extend(
                [
                    adf_codepipeline.Action(
                        name=f"{target['name']}-{region}",
                        provider="Lambda",
                        category="Invoke",
                        region=region,
                        target=target,
                        action_mode=top_level_action,
                        run_order=1,
                        map_params=stack_input["input"],
                        action_name=f"{target['name']}-{region}",
                    ).config
                ]
            )
        elif "service_catalog" in target_stage_override:
            _actions.extend(
                [
                    adf_codepipeline.Action(
                        name=f"{target['name']}-{region}",
                        provider="ServiceCatalog",
                        category="Deploy",
                        region=region,
                        target=target,
                        action_mode=top_level_action,
                        run_order=1,
                        map_params=stack_input["input"],
                        action_name=f"{target['name']}-{region}",
                    ).config
                ]
            )