class aws_cdk.aws_codepipeline_actions.Action(*, action_name, artifact_bounds, category, provider, account=None, inputs=None, outputs=None, owner=None, region=None, resource=None, role=None, run_order=None, variables_namespace=None, version=None)

Bases: aws_cdk.aws_codepipeline.Action

Low-level class for generic CodePipeline Actions.

If you’re implementing your own IAction, prefer to use the Action class from the codepipeline module.

  • action_name (str) –

  • artifact_bounds (Union[ActionArtifactBounds, Dict[str, Any]]) –

  • category (ActionCategory) – The category of the action. The category defines which action type the owner (the entity that performs the action) performs.

  • provider (str) – The service provider that the action calls.

  • account (Optional[str]) – The account the Action is supposed to live in. For Actions backed by resources, this is inferred from the Stack {@link resource} is part of. However, some Actions, like the CloudFormation ones, are not backed by any resource, and they still might want to be cross-account. In general, a concrete Action class should specify either {@link resource}, or {@link account} - but not both.

  • inputs (Optional[Sequence[Artifact]]) –

  • outputs (Optional[Sequence[Artifact]]) –

  • owner (Optional[str]) –

  • region (Optional[str]) – The AWS region the given Action resides in. Note that a cross-region Pipeline requires replication buckets to function correctly. You can provide their names with the {@link PipelineProps#crossRegionReplicationBuckets} property. If you don’t, the CodePipeline Construct will create new Stacks in your CDK app containing those buckets, that you will need to cdk deploy before deploying the main, Pipeline-containing Stack. Default: the Action resides in the same region as the Pipeline

  • resource (Optional[IResource]) – The optional resource that is backing this Action. This is used for automatically handling Actions backed by resources from a different account and/or region.

  • role (Optional[IRole]) –

  • run_order (Union[int, float, None]) – The order in which AWS CodePipeline runs this action. For more information, see the AWS CodePipeline User Guide.

  • 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

  • version (Optional[str]) –


bind(scope, stage, *, bucket, role)

The callback invoked when this Action is added to a Pipeline.

Return type


on_state_change(name, target=None, *, description=None, enabled=None, event_bus=None, event_pattern=None, rule_name=None, schedule=None, targets=None)

Creates an Event that will be triggered whenever the state of this Action changes.

  • name (str) –

  • target (Optional[IRuleTarget]) –

  • description (Optional[str]) – A description of the rule’s purpose. Default: - No description.

  • enabled (Optional[bool]) – Indicates whether the rule is enabled. Default: true

  • event_bus (Optional[IEventBus]) – The event bus to associate with this rule. Default: - The default event bus.

  • event_pattern (Union[EventPattern, Dict[str, Any], None]) – Describes which events EventBridge routes to the specified target. These routed events are matched events. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide. Default: - None.

  • rule_name (Optional[str]) – A name for the rule. Default: - AWS CloudFormation generates a unique physical ID and uses that ID for the rule name. For more information, see Name Type.

  • schedule (Optional[Schedule]) – The schedule or rate (frequency) that determines when EventBridge runs the rule. For more information, see Schedule Expression Syntax for Rules in the Amazon EventBridge User Guide. Default: - None.

  • targets (Optional[Sequence[IRuleTarget]]) – Targets to invoke when this rule matches an event. Input will be the full matched event. If you wish to specify custom target input, use addTarget(target[, inputOptions]). Default: - No targets.

Return type




The simple properties of the Action, like its Owner, name, etc.

Note that this accessor will be called before the {@link bind} callback.

Return type