class Stage (construct)
Language | Type name |
---|---|
.NET | Amazon.CDK.Stage |
Java | software.amazon.awscdk.core.Stage |
Python | aws_cdk.core.Stage |
TypeScript (source) | @aws-cdk/core » Stage |
Implements
IConstruct
, IConstruct
, IDependable
An abstract application modeling unit consisting of Stacks that should be deployed together.
Derive a subclass of Stage
and use it to model a single instance of your
application.
You can then instantiate your subclass multiple times to model multiple copies of your application which should be be deployed to different environments.
Example
class MyOutputStage extends Stage {
public readonly loadBalancerAddress: CfnOutput;
constructor(scope: Construct, id: string, props?: StageProps) {
super(scope, id, props);
this.loadBalancerAddress = new CfnOutput(this, 'Output', {value: 'value'});
}
}
const lbApp = new MyOutputStage(this, 'MyApp');
declare const pipeline: pipelines.CodePipeline;
pipeline.addStage(lbApp, {
post: [
new pipelines.ShellStep('HitEndpoint', {
envFromCfnOutputs: {
// Make the load balancer address available as $URL inside the commands
URL: lbApp.loadBalancerAddress,
},
commands: ['curl -Ssf $URL'],
}),
],
});
Initializer
new Stage(scope: Construct, id: string, props?: StageProps)
Parameters
- scope
Construct
- id
string
- props
Stage
Props
Construct Props
Name | Type | Description |
---|---|---|
env? | Environment | Default AWS environment (account/region) for Stack s in this Stage . |
outdir? | string | The output directory into which to emit synthesized artifacts. |
env?
Type:
Environment
(optional, default: The environments should be configured on the Stack
s.)
Default AWS environment (account/region) for Stack
s in this Stage
.
Stacks defined inside this Stage
with either region
or account
missing
from its env will use the corresponding field given here.
If either region
or account
is is not configured for Stack
(either on
the Stack
itself or on the containing Stage
), the Stack will be
environment-agnostic.
Environment-agnostic stacks can be deployed to any environment, may not be able to take advantage of all features of the CDK. For example, they will not be able to use environmental context lookups, will not automatically translate Service Principals to the right format based on the environment's AWS partition, and other such enhancements. Example
// Use a concrete account and region to deploy this Stage to
new Stage(app, 'Stage1', {
env: { account: '123456789012', region: 'us-east-1' },
});
// Use the CLI's current credentials to determine the target environment
new Stage(app, 'Stage2', {
env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION },
});
outdir?
Type:
string
(optional, default: for nested stages, outdir will be determined as a relative
directory to the outdir of the app. For apps, if outdir is not specified, a
temporary directory will be created.)
The output directory into which to emit synthesized artifacts.
Can only be specified if this stage is the root stage (the app). If this is specified and this stage is nested within another stage, an error will be thrown.
Properties
Name | Type | Description |
---|---|---|
artifact | string | Artifact ID of the assembly if it is a nested stage. The root stage (app) will return an empty string. |
asset | string | The cloud assembly asset output directory. |
node | Construct | The construct tree node associated with this construct. |
outdir | string | The cloud assembly output directory. |
stage | string | The name of the stage. |
account? | string | The default account for all resources defined within this stage. |
parent | Stage | The parent stage or undefined if this is the app. |
region? | string | The default region for all resources defined within this stage. |
artifactId
Type:
string
Artifact ID of the assembly if it is a nested stage. The root stage (app) will return an empty string.
Derived from the construct path.
assetOutdir
Type:
string
The cloud assembly asset output directory.
node
Type:
Construct
The construct tree node associated with this construct.
outdir
Type:
string
The cloud assembly output directory.
stageName
Type:
string
The name of the stage.
Based on names of the parent stages separated by hypens.
account?
Type:
string
(optional)
The default account for all resources defined within this stage.
parentStage?
Type:
Stage
(optional)
The parent stage or undefined
if this is the app.
region?
Type:
string
(optional)
The default region for all resources defined within this stage.
Methods
Name | Description |
---|---|
synth(options?) | Synthesize this stage into a cloud assembly. |
to | Returns a string representation of this construct. |
static is | Test whether the given construct is a stage. |
static of(construct) | Return the stage this construct is contained with, if available. |
synth(options?)
public synth(options?: StageSynthesisOptions): CloudAssembly
Parameters
- options
Stage
Synthesis Options
Returns
Synthesize this stage into a cloud assembly.
Once an assembly has been synthesized, it cannot be modified. Subsequent calls will return the same assembly.
String()
topublic toString(): string
Returns
string
Returns a string representation of this construct.
Stage(x)
static ispublic static isStage(x: any): boolean
Parameters
- x
any
Returns
boolean
Test whether the given construct is a stage.
static of(construct)
public static of(construct: IConstruct): Stage
Parameters
- construct
IConstruct
Returns
Return the stage this construct is contained with, if available.
If called on a nested stage, returns its parent.