CodeCommitSourceActionProps

class aws_cdk.aws_codepipeline_actions.CodeCommitSourceActionProps(*, action_name, run_order=None, variables_namespace=None, role=None, output, repository, branch=None, code_build_clone_output=None, custom_event_rule=None, event_role=None, trigger=None)

Bases: CommonAwsActionProps

Construction properties of the CodeCommitSourceAction CodeCommit source CodePipeline Action.

Parameters:
  • action_name (str) – The physical, human-readable name of the Action. Note that Action names must be unique within a single Stage.

  • run_order (Union[int, float, None]) – The runOrder property for this Action. RunOrder determines the relative order in which multiple Actions in the same Stage execute. Default: 1

  • variables_namespace (Optional[str]) – The name of the namespace to use for variables emitted by this action. Default: - a name will be generated, based on the stage and action names, if any of the action’s variables were referenced - otherwise, no namespace will be set

  • role (Optional[IRole]) – The Role in which context’s this Action will be executing in. The Pipeline’s Role will assume this Role (the required permissions for that will be granted automatically) right before executing this Action. This Action will be passed into your IAction.bind method in the ActionBindOptions.role property. Default: a new Role will be generated

  • output (Artifact) –

  • repository (IRepository) – The CodeCommit repository.

  • branch (Optional[str]) – Default: ‘master’

  • code_build_clone_output (Optional[bool]) – Whether the output should be the contents of the repository (which is the default), or a link that allows CodeBuild to clone the repository before building. Note: if this option is true, then only CodeBuild actions can use the resulting output. Default: false

  • custom_event_rule (Optional[ICustomEventRule]) – You can pass a customEventRule to set up a custom event rule for the CodeCommit source action. You must provide the eventPattern and target properties in the customEventRule object. Check which eventPattern to use: https://docs.aws.amazon.com/codecommit/latest/userguide/monitoring-events.html Default: Event rule which is triggered by CodeCommit repository on commit

  • event_role (Optional[IRole]) – Role to be used by on commit event rule. Used only when trigger value is CodeCommitTrigger.EVENTS. Default: a new role will be created.

  • trigger (Optional[CodeCommitTrigger]) – How should CodePipeline detect source changes for this Action. Default: CodeCommitTrigger.EVENTS

ExampleMetadata:

lit=aws-codepipeline-actions/test/integ.cfn-template-from-repo.lit.ts infused

Example:

# Source stage: read from repository
repo = codecommit.Repository(stack, "TemplateRepo",
    repository_name="template-repo"
)
source_output = codepipeline.Artifact("SourceArtifact")
source = cpactions.CodeCommitSourceAction(
    action_name="Source",
    repository=repo,
    output=source_output,
    trigger=cpactions.CodeCommitTrigger.POLL
)
source_stage = {
    "stage_name": "Source",
    "actions": [source]
}

# Deployment stage: create and deploy changeset with manual approval
stack_name = "OurStack"
change_set_name = "StagedChangeSet"

prod_stage = {
    "stage_name": "Deploy",
    "actions": [
        cpactions.CloudFormationCreateReplaceChangeSetAction(
            action_name="PrepareChanges",
            stack_name=stack_name,
            change_set_name=change_set_name,
            admin_permissions=True,
            template_path=source_output.at_path("template.yaml"),
            run_order=1
        ),
        cpactions.ManualApprovalAction(
            action_name="ApproveChanges",
            run_order=2
        ),
        cpactions.CloudFormationExecuteChangeSetAction(
            action_name="ExecuteChanges",
            stack_name=stack_name,
            change_set_name=change_set_name,
            run_order=3
        )
    ]
}

codepipeline.Pipeline(stack, "Pipeline",
    cross_account_keys=True,
    stages=[source_stage, prod_stage
    ]
)

Attributes

action_name

The physical, human-readable name of the Action.

Note that Action names must be unique within a single Stage.

branch

‘master’

Type:

default

code_build_clone_output

Whether the output should be the contents of the repository (which is the default), or a link that allows CodeBuild to clone the repository before building.

Note: if this option is true, then only CodeBuild actions can use the resulting output.

Default:

false

See:

https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodeCommit.html

custom_event_rule

You can pass a customEventRule to set up a custom event rule for the CodeCommit source action.

You must provide the eventPattern and target properties in the customEventRule object. Check which eventPattern to use: https://docs.aws.amazon.com/codecommit/latest/userguide/monitoring-events.html

Default:

Event rule which is triggered by CodeCommit repository on commit

event_role

Role to be used by on commit event rule.

Used only when trigger value is CodeCommitTrigger.EVENTS.

Default:

a new role will be created.

output
repository

The CodeCommit repository.

role

The Role in which context’s this Action will be executing in.

The Pipeline’s Role will assume this Role (the required permissions for that will be granted automatically) right before executing this Action. This Action will be passed into your IAction.bind method in the ActionBindOptions.role property.

Default:

a new Role will be generated

run_order

The runOrder property for this Action.

RunOrder determines the relative order in which multiple Actions in the same Stage execute.

Default:

1

See:

https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html

trigger

How should CodePipeline detect source changes for this Action.

Default:

CodeCommitTrigger.EVENTS

variables_namespace

The name of the namespace to use for variables emitted by this action.

Default:

  • a name will be generated, based on the stage and action names,

if any of the action’s variables were referenced - otherwise, no namespace will be set