AWS Fundamentals Logo
AWS Fundamentals
L2 Construct

Pipeline

An AWS CodePipeline pipeline with its associated IAM role and S3 bucket.

Import

import { Pipeline } from 'aws-cdk-lib/aws-codepipeline';

Or use the module namespace:

import * as codepipeline from 'aws-cdk-lib/aws-codepipeline';
// codepipeline.Pipeline

Properties

Configuration passed to the constructor as PipelineProps.

artifactBucketOptional
IBucket

The S3 bucket used by this Pipeline to store artifacts.

Default: - A new S3 bucket will be created.

crossAccountKeysOptional
boolean

Create KMS keys for cross-account deployments. This controls whether the pipeline is enabled for cross-account deployments. By default cross-account deployments are enabled, but this feature requires that KMS Customer Master Keys are created which have a cost of $1/month. If you do not need cross-account deployments, you can set this to `false` to not create those keys and save on that cost (the artifact bucket will be encrypted with an AWS-managed key). However, cross-account deployments will no longer be possible.

Default: false - false if the feature flag `CODEPIPELINE_CROSS_ACCOUNT_KEYS_DEFAULT_VALUE_TO_FALSE` is true, true otherwise

crossRegionReplicationBucketsOptional
{ [key: string]: IBucket }

A map of region to S3 bucket name used for cross-region CodePipeline. For every Action that you specify targeting a different region than the Pipeline itself, if you don't provide an explicit Bucket for that region using this property, the construct will automatically create a Stack containing an S3 Bucket in that region.

Default: - None.

enableKeyRotationOptional
boolean

Enable KMS key rotation for the generated KMS keys. By default KMS key rotation is disabled, but will add an additional $1/month for each year the key exists when enabled.

Default: - false (key rotation is disabled)

executionModeOptional
ExecutionMode

The method that the pipeline will use to handle multiple executions.

Default: - ExecutionMode.SUPERSEDED

pipelineNameOptional
string

Name of the pipeline.

Default: - AWS CloudFormation generates an ID and uses that for the pipeline name.

pipelineTypeOptional
PipelineType

Type of the pipeline.

Default: - PipelineType.V2 if the feature flag `CODEPIPELINE_DEFAULT_PIPELINE_TYPE_TO_V2` is true, PipelineType.V1 otherwise

restartExecutionOnUpdateOptional
boolean

Indicates whether to rerun the AWS CodePipeline pipeline after you update it.

Default: false

reuseCrossRegionSupportStacksOptional
boolean

Reuse the same cross region support stack for all pipelines in the App.

Default: - true (Use the same support stack for all pipelines in App)

roleOptional
IRole

The IAM role to be assumed by this Pipeline.

Default: a new IAM role will be created.

stagesOptional
StageProps[]

The list of Stages, in order, to create this Pipeline with. You can always add more Stages later by calling `Pipeline#addStage`.

Default: - None.

triggersOptional
TriggerProps[]

The trigger configuration specifying a type of event, such as Git tags, that starts the pipeline. When a trigger configuration is specified, default change detection for repository and branch commits is disabled. `triggers` can only be used when `pipelineType` is set to `PipelineType.V2`. You can always add more triggers later by calling `Pipeline#addTrigger`.

Default: - No triggers

usePipelineRoleForActionsOptional
boolean

Use pipeline service role for actions if no action role configured.

Default: - false

variablesOptional
Variable[]

A list that defines the pipeline variables for a pipeline resource. `variables` can only be used when `pipelineType` is set to `PipelineType.V2`. You can always add more variables later by calling `Pipeline#addVariable`.

Default: - No variables

Learn AWS the Practical Way

Our bi-weekly newsletter teaches hands-on AWS fundamentals. No certification fluff - just practical knowledge.

Subscribe to Newsletter