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, event_role=None, trigger=None)

Bases: CommonAwsActionProps

Construction properties of the {@link 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 {@link IAction.bind} method in the {@link 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 {@link output}. Default: false

  • 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=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",
    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 {@link output}.

Default:

false

See:

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

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 {@link IAction.bind} method in the {@link 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