Skip to content
v2.274.0

Wave Class ​

Multiple stages that are deployed in parallel.

Example ​

ts
declare const pipeline: pipelines.CodePipeline;
const europeWave = pipeline.addWave('Europe');
europeWave.addStage(
  new MyApplicationStage(this, 'Ireland', {
    env: { region: 'eu-west-1' },
  })
);
europeWave.addStage(
  new MyApplicationStage(this, 'Germany', {
    env: { region: 'eu-central-1' },
  })
);
python
# pipeline: pipelines.CodePipeline

europe_wave = pipeline.add_wave("Europe")
europe_wave.add_stage(
    MyApplicationStage(self, "Ireland",
        env=cdk.Environment(region="eu-west-1")
    ))
europe_wave.add_stage(
    MyApplicationStage(self, "Germany",
        env=cdk.Environment(region="eu-central-1")
    ))
java
CodePipeline pipeline;

Wave europeWave = pipeline.addWave("Europe");
europeWave.addStage(
MyApplicationStage.Builder.create(this, "Ireland")
        .env(Environment.builder().region("eu-west-1").build())
        .build());
europeWave.addStage(
MyApplicationStage.Builder.create(this, "Germany")
        .env(Environment.builder().region("eu-central-1").build())
        .build());
csharp
// Install: dotnet add package Amazon.CDK.Lib
CodePipeline pipeline;

var europeWave = pipeline.AddWave("Europe");
europeWave.AddStage(
new MyApplicationStage(this, "Ireland", new StageProps {
    Env = new Environment { Region = "eu-west-1" }
}));
europeWave.AddStage(
new MyApplicationStage(this, "Germany", new StageProps {
    Env = new Environment { Region = "eu-central-1" }
}));
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
var pipeline CodePipeline

europeWave := pipeline.AddWave(jsii.String("Europe"))
europeWave.AddStage(
NewMyApplicationStage(this, jsii.String("Ireland"), &StageProps{
	Env: &Environment{
		Region: jsii.String("eu-west-1"),
	},
}))
europeWave.AddStage(
NewMyApplicationStage(this, jsii.String("Germany"), &StageProps{
	Env: &Environment{
		Region: jsii.String("eu-central-1"),
	},
}))

Initializer ​

ts
new Wave(id: string, props?: WaveProps)
python
Wave(id: str, props: typing.Optional[WaveProps] = None)
java
new Wave(String id, WaveProps props)
csharp
new Wave(string id, WaveProps? props = null)
go
NewWave(Id *string, Props WaveProps)

Properties ​

idstringidstridStringIdstringId*stringrequired#
Identifier for this Wave.
postStep[]posttyping.List[Step]postList<Step>PostStep[]Post*[]Steprequired#
Additional steps that are run after all of the stages in the wave.
preStep[]pretyping.List[Step]preList<Step>PreStep[]Pre*[]Steprequired#
Additional steps that are run before any of the stages in the wave.
stagesStageDeployment[]stagestyping.List[StageDeployment]stagesList<StageDeployment>StagesStageDeployment[]Stages*[]StageDeploymentrequired#
The stages that are deployed in this wave.

Methods ​

addPost(...steps: Step[]): voiddef add_post(self, steps: Step) -> Nonepublic void addPost(Step steps)public void AddPost(Step steps)func AddPost(Steps Step)#
Add an additional step to run after all of the stages in this wave.
addPre(...steps: Step[]): voiddef add_pre(self, steps: Step) -> Nonepublic void addPre(Step steps)public void AddPre(Step steps)func AddPre(Steps Step)#
Add an additional step to run before any of the stages in this wave.
addStage(stage: Stage, options?: AddStageOpts): StageDeploymentdef add_stage(self, stage: Stage, options: typing.Optional[AddStageOpts] = None) -> StageDeploymentpublic StageDeployment addStage(Stage stage, AddStageOpts options)public StageDeployment AddStage(Stage stage, AddStageOpts? options = null)func AddStage(Stage Stage, Options AddStageOpts) StageDeployment#
Add a Stage to this wave.

It will be deployed in parallel with all other stages in this wave.