API
API Reference
Constructs
AuditGlobalStack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
stackProps | DlzStackProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
stackProps
Required
- Type: DlzStackProps
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
securityHubNotifications | No description. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
securityHubNotifications
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
AuditRegionalStack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
props | DlzStackProps | No description. |
scope
Required
- Type: constructs.Construct
props
Required
- Type: DlzStackProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
DlzStack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
props | DlzStackProps | No description. |
scope
Required
- Type: constructs.Construct
props
Required
- Type: DlzStackProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
IamIdentityCenterGroup
A group of users in the IAM Identity Center.
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
props | IamIdentityCenterGroupProps | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
props
Required
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
toString
Returns a string representation of this construct.
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
node
Required
- Type: constructs.Node
The tree node.
IdentityStoreUser
A user in the IAM Identity Center.
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
props | IdentityStoreUserPropsExt | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
props
Required
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
toString
Returns a string representation of this construct.
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
fetchCodeDirectory | No description. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
fetchCodeDirectory
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
userId | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
userId
Required
- Type: string
LogGlobalStack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
props | DlzStackProps | No description. |
scope
Required
- Type: constructs.Construct
props
Required
- Type: DlzStackProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
LogRegionalStack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
props | DlzStackProps | No description. |
scope
Required
- Type: constructs.Construct
props
Required
- Type: DlzStackProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
ManagementStack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
stackProps | DlzStackProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
stackProps
Required
- Type: DlzStackProps
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
budgets | No description. |
deploymentPlatformGitHub | No description. |
iamIdentityCenter | IAM Identity Center. |
iamPermissionBoundary | IAM Policy Permission Boundary. |
suspendedOuPolicies | Service Control Policies and Tag Policies applied at the OU level because we won’t need any customizations per account. |
workloadAccountsOrgPolicies | Service Control Policies and Tag Policies applied at the account level to enable customization per account. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
budgets
deploymentPlatformGitHub
iamIdentityCenter
IAM Identity Center.
iamPermissionBoundary
IAM Policy Permission Boundary.
suspendedOuPolicies
Service Control Policies and Tag Policies applied at the OU level because we won’t need any customizations per account.
workloadAccountsOrgPolicies
Service Control Policies and Tag Policies applied at the account level to enable customization per account.
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
WorkloadGlobalDataServicesPhase1Stack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
workloadAccountProps | WorkloadAccountProps | No description. |
scope
Required
- Type: constructs.Construct
workloadAccountProps
Required
- Type: WorkloadAccountProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
WorkloadGlobalNetworkConnectionsPhase1Stack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
workloadAccountProps | WorkloadAccountProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
workloadAccountProps
Required
- Type: WorkloadAccountProps
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
createPeeringRole | No description. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
createPeeringRole
from
Required
- Type: DlzAccountNetwork
to
Required
- Type: DlzAccountNetwork
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
WorkloadGlobalNetworkConnectionsPhase2Stack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
workloadAccountProps | WorkloadAccountProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
workloadAccountProps
Required
- Type: WorkloadAccountProps
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
WorkloadGlobalNetworkConnectionsPhase3Stack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
workloadAccountProps | WorkloadAccountProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
workloadAccountProps
Required
- Type: WorkloadAccountProps
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
WorkloadGlobalStack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
workloadAccountProps | WorkloadAccountProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
workloadAccountProps
Required
- Type: WorkloadAccountProps
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
defaultNotifications | No description. |
ssmAssumeCrossAccountRole | No description. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
defaultNotifications
ssmAssumeCrossAccountRole
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
WorkloadRegionalDataServicesPhase1Stack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
workloadAccountProps | WorkloadAccountProps | No description. |
scope
Required
- Type: constructs.Construct
workloadAccountProps
Required
- Type: WorkloadAccountProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
WorkloadRegionalNetworkConnectionsPhase2Stack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
workloadAccountProps | WorkloadAccountProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
workloadAccountProps
Required
- Type: WorkloadAccountProps
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
WorkloadRegionalNetworkConnectionsPhase3Stack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
workloadAccountProps | WorkloadAccountProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
workloadAccountProps
Required
- Type: WorkloadAccountProps
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
WorkloadRegionalStack
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
workloadAccountProps | WorkloadAccountProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
workloadAccountProps
Required
- Type: WorkloadAccountProps
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Add a dependency between this stack and another stack. |
addMetadata | Adds an arbitary key-value pair, with information you want to record about the stack. |
addTransform | Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template. |
exportStringListValue | Create a CloudFormation Export for a string list value. |
exportValue | Create a CloudFormation Export for a string value. |
formatArn | Creates an ARN from components. |
getLogicalId | Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource. |
regionalFact | Look up a fact value for the given fact for the region of this stack. |
renameLogicalId | Rename a generated logical identities. |
reportMissingContextKey | Indicate that a context key was expected. |
resolve | Resolve a tokenized value in the context of the current stack. |
splitArn | Splits the provided ARN into its components. |
toJsonString | Convert an object, potentially containing tokens, to a JSON string. |
toYamlString | Convert an object, potentially containing tokens, to a YAML string. |
addExpressDependency | Add a dependency between this stack and another ExpressStack. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
Returns a string representation of this construct.
addDependency
addDependency
Add a dependency between this stack and another stack.
This can be used to define dependencies between any two stacks within an app, and also supports nested stacks.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
Adds an arbitary key-value pair, with information you want to record about the stack.
These get translated to the Metadata section of the generated template.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
key
Required
- Type: string
value
Required
- Type: any
addTransform
Add a Transform to this stack. A Transform is a macro that AWS CloudFormation uses to process your template.
Duplicate values are removed when stack is synthesized.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html
Example
transform
Required
- Type: string
The transform to add.
exportStringListValue
Create a CloudFormation Export for a string list value.
Returns a string list representing the corresponding Fn.importValue()
expression for this Export. The export expression is automatically wrapped with an
Fn::Join
and the import value with an Fn::Split
, since CloudFormation can only
export strings. You can control the name for the export by passing the name
option.
If you don’t supply a value for name
, the value you’re exporting must be
a Resource attribute (for example: bucket.bucketName
) and it will be
given the same name as the automatic cross-stack reference that would be created
if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
See exportValue
for an example of this process.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
exportValue
Create a CloudFormation Export for a string value.
Returns a string representing the corresponding Fn.importValue() expression for this Export. You can control the name for the export by passing the name option.
If you don’t supply a value for name, the value you’re exporting must be a Resource attribute (for example: bucket.bucketName) and it will be given the same name as the automatic cross-stack reference that would be created if you used the attribute in another Stack.
One of the uses for this method is to remove the relationship between two Stacks established by automatic cross-stack references. It will temporarily ensure that the CloudFormation Export still exists while you remove the reference from the consuming stack. After that, you can remove the resource and the manual export.
exportedValue
Required
- Type: any
options
Optional
- Type: aws-cdk-lib.ExportValueOptions
formatArn
Creates an ARN from components.
If partition
, region
or account
are not specified, the stack’s
partition, region and account will be used.
If any component is the empty string, an empty string will be inserted into the generated ARN at the location that component corresponds to.
The ARN will be formatted as follows:
arn:{partition}:{service}:{region}:{account}:{resource}{sep}{resource-name}
The required ARN pieces that are omitted will be taken from the stack that the ‘scope’ is attached to. If all ARN pieces are supplied, the supplied scope can be ‘undefined’.
components
Required
- Type: aws-cdk-lib.ArnComponents
getLogicalId
Allocates a stack-unique CloudFormation-compatible logical identity for a specific resource.
This method is called when a CfnElement
is created and used to render the
initial logical identity of resources. Logical ID renames are applied at
this stage.
This method uses the protected method allocateLogicalId
to render the
logical ID for an element. To modify the naming scheme, extend the Stack
class and override this method.
element
Required
- Type: aws-cdk-lib.CfnElement
The CloudFormation element for which a logical identity is needed.
regionalFact
Look up a fact value for the given fact for the region of this stack.
Will return a definite value only if the region of the current stack is resolved. If not, a lookup map will be added to the stack and the lookup will be done at CDK deployment time.
What regions will be included in the lookup map is controlled by the
@aws-cdk/core:target-partitions
context value: it must be set to a list
of partitions, and only regions from the given partitions will be included.
If no such context key is set, all regions will be included.
This function is intended to be used by construct library authors. Application builders can rely on the abstractions offered by construct libraries and do not have to worry about regional facts.
If defaultValue
is not given, it is an error if the fact is unknown for
the given region.
factName
Required
- Type: string
defaultValue
Optional
- Type: string
renameLogicalId
Rename a generated logical identities.
To modify the naming scheme strategy, extend the Stack
class and
override the allocateLogicalId
method.
oldId
Required
- Type: string
newId
Required
- Type: string
reportMissingContextKey
Indicate that a context key was expected.
Contains instructions which will be emitted into the cloud assembly on how the key should be supplied.
report
Required
- Type: aws-cdk-lib.cloud_assembly_schema.MissingContext
The set of parameters needed to obtain the context.
resolve
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
Splits the provided ARN into its components.
Works both if ‘arn’ is a string like ‘arn:aws:s3:::bucket’, and a Token representing a dynamic CloudFormation expression (in which case the returned components will also be dynamic CloudFormation expressions, encoded as Tokens).
arn
Required
- Type: string
the ARN to split into its components.
arnFormat
Required
- Type: aws-cdk-lib.ArnFormat
the expected format of ‘arn’ - depends on what format the service ‘arn’ represents uses.
toJsonString
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
Add a dependency between this stack and another ExpressStack.
This can be used to define dependencies between any two stacks within an
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
The ExpressStack dependencies of the stack.
resourceName
Create unique ResourceNames.
resourceId
Required
- Type: string
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isStack | Return whether the given object is a Stack. |
of | Looks up the first stack scope in which construct is defined. |
isConstruct
isConstruct
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
Looks up the first stack scope in which construct
is defined.
Fails if there is no stack up the tree.
construct
Required
- Type: constructs.IConstruct
The construct to start the search from.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
account | string | The AWS account into which this stack will be deployed. |
artifactId | string | The ID of the cloud assembly artifact for this stack. |
availabilityZones | string[] | Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack. |
bundlingRequired | boolean | Indicates whether the stack requires bundling or not. |
dependencies | aws-cdk-lib.Stack[] | Return the stacks this stack depends on. |
environment | string | The environment coordinates in which this stack is deployed. |
nested | boolean | Indicates if this is a nested stack, in which case parentStack will include a reference to it’s parent. |
notificationArns | string[] | Returns the list of notification Amazon Resource Names (ARNs) for the current stack. |
partition | string | The partition in which this stack is defined. |
region | string | The AWS region into which this stack will be deployed (e.g. us-west-2 ). |
stackId | string | The ID of the stack. |
stackName | string | The concrete CloudFormation physical stack name. |
synthesizer | aws-cdk-lib.IStackSynthesizer | Synthesis method for this stack. |
tags | aws-cdk-lib.TagManager | Tags to be applied to the stack. |
templateFile | string | The name of the CloudFormation template file emitted to the output directory during synthesis. |
templateOptions | aws-cdk-lib.ITemplateOptions | Options for CloudFormation template (like version, transform, description). |
urlSuffix | string | The Amazon domain suffix for the region in which this stack is defined. |
nestedStackParent | aws-cdk-lib.Stack | If this is a nested stack, returns it’s parent stack. |
nestedStackResource | aws-cdk-lib.CfnResource | If this is a nested stack, this represents its AWS::CloudFormation::Stack resource. |
terminationProtection | boolean | Whether termination protection is enabled for this stack. |
id | string | The stack identifier which is a combination of the wave, stage and stack id. |
stage | cdk-express-pipeline.ExpressStage | The stage that the stack belongs to. |
accountId | string | No description. |
accountName | string | No description. |
node
Required
- Type: constructs.Node
The tree node.
account
Required
- Type: string
The AWS account into which this stack will be deployed.
This value is resolved according to the following rules:
- The value provided to
env.account
when the stack is defined. This can either be a concrete account (e.g.585695031111
) or theAws.ACCOUNT_ID
token. Aws.ACCOUNT_ID
, which represents the CloudFormation intrinsic reference{ "Ref": "AWS::AccountId" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.account)
returns
true
), this implies that the user wishes that this stack will synthesize
into a account-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
artifactId
Required
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
- Type: string[]
Returns the list of AZs that are available in the AWS environment (account/region) associated with this stack.
If the stack is environment-agnostic (either account and/or region are
tokens), this property will return an array with 2 tokens that will resolve
at deploy-time to the first two availability zones returned from CloudFormation’s
Fn::GetAZs
intrinsic function.
If they are not available in the context, returns a set of dummy values and
reports them as missing, and let the CLI resolve them by calling EC2
DescribeAvailabilityZones
on the target environment.
To specify a different strategy for selecting availability zones override this method.
bundlingRequired
Required
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
dependencies
- Deprecated: Use
expressDependencies()
instead ofdependencies
to get the dependencies of anExpressStack
.
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
- Type: string
The environment coordinates in which this stack is deployed.
In the form
aws://account/region
. Use stack.account
and stack.region
to obtain
the specific values, no need to parse.
You can use this value to determine if two stacks are targeting the same environment.
If either stack.account
or stack.region
are not concrete values (e.g.
Aws.ACCOUNT_ID
or Aws.REGION
) the special strings unknown-account
and/or
unknown-region
will be used respectively to indicate this stack is
region/account-agnostic.
nested
Required
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
- Type: string
The partition in which this stack is defined.
region
Required
- Type: string
The AWS region into which this stack will be deployed (e.g. us-west-2
).
This value is resolved according to the following rules:
- The value provided to
env.region
when the stack is defined. This can either be a concrete region (e.g.us-west-2
) or theAws.REGION
token. Aws.REGION
, which is represents the CloudFormation intrinsic reference{ "Ref": "AWS::Region" }
encoded as a string token.
Preferably, you should use the return value as an opaque string and not
attempt to parse it to implement your logic. If you do, you must first
check that it is a concrete value an not an unresolved token. If this
value is an unresolved token (Token.isUnresolved(stack.region)
returns
true
), this implies that the user wishes that this stack will synthesize
into a region-agnostic template. In this case, your code should either
fail (throw an error, emit a synth error using Annotations.of(construct).addError()
) or
implement some other region-agnostic behavior.
stackId
Required
- Type: string
The ID of the stack.
Example
stackName
Required
- Type: string
The concrete CloudFormation physical stack name.
This is either the name defined explicitly in the stackName
prop or
allocated based on the stack’s location in the construct tree. Stacks that
are directly defined under the app use their construct id
as their stack
name. Stacks that are defined deeper within the tree will use a hashed naming
scheme based on the construct path to ensure uniqueness.
If you wish to obtain the deploy-time AWS::StackName intrinsic,
you can use Aws.STACK_NAME
directly.
synthesizer
Required
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
- Type: aws-cdk-lib.CfnResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
undefined
for top-level (non-nested) stacks.
terminationProtection
Required
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
- Type: string
accountName
Required
- Type: string
Structs
AuditStacks
Initializer
Properties
Name | Type | Description |
---|---|---|
global | AuditGlobalStack | No description. |
global
Required
- Type: AuditGlobalStack
BaseSharedTagProps
Initializer
Properties
Name | Type | Description |
---|---|---|
principals | string[] | A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to. |
specificValues | string[] | OPTIONAL - A list of specific values of the tag that can be shared. |
principals
Required
- Type: string[]
A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to.
specificValues
Optional
- Type: string[]
OPTIONAL - A list of specific values of the tag that can be shared.
All possible values if omitted.
BastionHost
Initializer
Properties
Name | Type | Description |
---|---|---|
instanceType | aws-cdk-lib.aws_ec2.InstanceType | The bastion instance EC2 type. |
location | NetworkAddress | The location where the Bastion will exist. |
name | string | The name of the Bastion, defaults to ‘default’, specify the name if there are more than one per account. |
instanceType
Required
- Type: aws-cdk-lib.aws_ec2.InstanceType
The bastion instance EC2 type.
location
Required
- Type: NetworkAddress
The location where the Bastion will exist.
The network address must target a specific subnet
name
Optional
- Type: string
The name of the Bastion, defaults to ‘default’, specify the name if there are more than one per account.
BudgetSubscribers
Initializer
Properties
Name | Type | Description |
---|---|---|
emails | string[] | No description. |
slack | SlackChannel | No description. |
emails
Optional
- Type: string[]
slack
Optional
- Type: SlackChannel
DataLandingZoneClientBastionProps
Initializer
Properties
Name | Type | Description |
---|---|---|
accountName | string | No description. |
region | string | No description. |
bastionName | string | No description. |
accountName
Required
- Type: string
region
Required
- Type: string
bastionName
Optional
- Type: string
DataLandingZoneClientProps
Initializer
Properties
Name | Type | Description |
---|---|---|
accountName | string | No description. |
region | string | No description. |
accountName
Required
- Type: string
region
Required
- Type: string
DataLandingZoneClientRouteTableIdProps
Initializer
Properties
Name | Type | Description |
---|---|---|
accountName | string | No description. |
region | string | No description. |
routeTable | string | No description. |
vpcName | string | No description. |
accountName
Required
- Type: string
region
Required
- Type: string
routeTable
Required
- Type: string
vpcName
Required
- Type: string
DataLandingZoneClientSubnetIdProps
Initializer
Properties
Name | Type | Description |
---|---|---|
accountName | string | No description. |
region | string | No description. |
routeTable | string | No description. |
subnetName | string | No description. |
vpcName | string | No description. |
accountName
Required
- Type: string
region
Required
- Type: string
routeTable
Required
- Type: string
subnetName
Required
- Type: string
vpcName
Required
- Type: string
DataLandingZoneClientVpcIdProps
Initializer
Properties
Name | Type | Description |
---|---|---|
accountName | string | No description. |
region | string | No description. |
vpcName | string | No description. |
accountName
Required
- Type: string
region
Required
- Type: string
vpcName
Required
- Type: string
DataLandingZoneProps
Initializer
Properties
Name | Type | Description |
---|---|---|
budgets | DlzBudgetProps[] | No description. |
localProfile | string | The the AWS CLI profile that will be used to run the Scripts. |
mandatoryTags | MandatoryTags | The values of the mandatory tags that all resources must have. |
organization | DLzOrganization | No description. |
regions | DlzRegions | No description. |
securityHubNotifications | SecurityHubNotification[] | No description. |
additionalMandatoryTags | DlzTag[] | List of additional mandatory tags that all resources must have. Not all resources support tags, this is a best-effort. |
defaultNotification | NotificationDetailsProps | Default notification settings for the organization. |
denyServiceList | string[] | List of services to deny in the organization SCP. |
deploymentPlatform | DeploymentPlatform | No description. |
iamIdentityCenter | IamIdentityCenterProps | IAM Identity Center configuration. |
iamPolicyPermissionBoundary | IamPolicyPermissionsBoundaryProps | IAM Policy Permission Boundary. |
network | Network | No description. |
printDeploymentOrder | boolean | Print the deployment order to the console. |
printReport | boolean | Print the report grouped by account, type and aggregated regions to the console. |
saveReport | boolean | Save the raw report items and the reports grouped by account to a ./.dlz-reports folder. |
budgets
Required
- Type: DlzBudgetProps[]
localProfile
Required
- Type: string
The the AWS CLI profile that will be used to run the Scripts.
For the bootstrap
script, this profile must be an Admin of the root management account and it must be able to assume
the AWSControlTowerExecution
role created by ControlTower. This is an extremely powerful set of credentials and
should be treated with care. The permissions can be reduced for the everyday use of the diff
and deploy
scripts
but the bootstrap
script requires full admin access.
mandatoryTags
Required
- Type: MandatoryTags
The values of the mandatory tags that all resources must have.
The following values are already specified and used by the DLZ constructs
- Owner: [infra]
- Project: [dlz]
- Environment: [dlz]
organization
Required
- Type: DLzOrganization
regions
Required
- Type: DlzRegions
securityHubNotifications
Required
- Type: SecurityHubNotification[]
additionalMandatoryTags
Optional
- Type: DlzTag[]
- Default: Defaults.mandatoryTags()
List of additional mandatory tags that all resources must have. Not all resources support tags, this is a best-effort.
Mandatory tags are defined in Defaults.mandatoryTags() which are:
- Owner, the team responsible for the resource
- Project, the project the resource is part of
- Environment, the environment the resource is part of
It creates:
- A tag policy in the organization
- An SCP on the organization that all CFN stacks must have these tags when created
- An AWS Config rule that checks for these tags on all CFN stacks and resources
For all stacks created by DLZ the following tags are applied:
- Owner: infra
- Project: dlz
- Environment: dlz
defaultNotification
Optional
- Type: NotificationDetailsProps
Default notification settings for the organization.
Allows you to define the email notfication settings or slack channel settings. If the account level defaultNotification is defined those will be used for the account instead of this defaultNotification which acts as the fallback.
denyServiceList
Optional
- Type: string[]
- Default: DataLandingZone.defaultDenyServiceList()
List of services to deny in the organization SCP.
If not specified, the default defined by
deploymentPlatform
Optional
- Type: DeploymentPlatform
iamIdentityCenter
Optional
- Type: IamIdentityCenterProps
IAM Identity Center configuration.
iamPolicyPermissionBoundary
Optional
IAM Policy Permission Boundary.
network
Optional
- Type: Network
printDeploymentOrder
Optional
- Type: boolean
- Default: true
Print the deployment order to the console.
printReport
Optional
- Type: boolean
- Default: true
Print the report grouped by account, type and aggregated regions to the console.
saveReport
Optional
- Type: boolean
- Default: true
Save the raw report items and the reports grouped by account to a ./.dlz-reports
folder.
DeploymentPlatform
Initializer
Properties
Name | Type | Description |
---|---|---|
gitHub | DeploymentPlatformGitHub | No description. |
gitHub
Optional
- Type: DeploymentPlatformGitHub
DeploymentPlatformGitHub
Initializer
Properties
Name | Type | Description |
---|---|---|
references | GitHubReference[] | No description. |
references
Required
- Type: GitHubReference[]
DLzAccount
Initializer
Properties
Name | Type | Description |
---|---|---|
accountId | string | No description. |
name | string | No description. |
type | DlzAccountType | No description. |
defaultNotification | NotificationDetailsProps | Default notifications settings for the account. |
lakeFormation | DlzLakeFormationProps[] | LakeFormation settings and tags. |
vpcs | DlzVpcProps[] | No description. |
accountId
Required
- Type: string
name
Required
- Type: string
type
Required
- Type: DlzAccountType
defaultNotification
Optional
- Type: NotificationDetailsProps
Default notifications settings for the account.
Defines settings for email notifications or the slack channel details. This will override the organization level defaultNotification.
lakeFormation
Optional
- Type: DlzLakeFormationProps[]
LakeFormation settings and tags.
vpcs
Optional
- Type: DlzVpcProps[]
DlzAccountNetwork
Initializer
Properties
Name | Type | Description |
---|---|---|
dlzAccount | DLzAccount | No description. |
vpcs | NetworkEntityVpc[] | No description. |
dlzAccount
Required
- Type: DLzAccount
vpcs
Required
- Type: NetworkEntityVpc[]
DlzBudgetProps
Initializer
Properties
Name | Type | Description |
---|---|---|
amount | number | No description. |
name | string | No description. |
subscribers | BudgetSubscribers | No description. |
forTags | {[ key: string ]: string} | No description. |
amount
Required
- Type: number
name
Required
- Type: string
subscribers
Required
- Type: BudgetSubscribers
forTags
Optional
- Type: {[ key: string ]: string}
DlzControlTowerControlIdNameProps
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Do not export any of the controls in the folders, they do not conform to JSII, class names are snake case caps and the controlIdName properties are also snake case caps. This will cause the JSII build to fail. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Initializer
Properties
Name | Type | Description |
---|---|---|
euWest1 | string | No description. |
usEast1 | string | No description. |
euWest1
Required
- Type: string
usEast1
Required
- Type: string
DlzControlTowerEnabledControlProps
Initializer
Properties
Name | Type | Description |
---|---|---|
appliedOu | string | No description. |
control | IDlzControlTowerControl | No description. |
controlTowerAccountId | string | No description. |
controlTowerRegion | Region | No description. |
organizationId | string | No description. |
tags | aws-cdk-lib.CfnTag[] | No description. |
appliedOu
Required
- Type: string
control
Required
- Type: IDlzControlTowerControl
controlTowerAccountId
Required
- Type: string
controlTowerRegion
Required
- Type: Region
organizationId
Required
- Type: string
tags
Optional
- Type: aws-cdk-lib.CfnTag[]
DlzLakeFormationProps
Initializer
Properties
Name | Type | Description |
---|---|---|
admins | string[] | A list of strings representing the IAM role ARNs. |
permissions | LakePermission[] | A list of permission settings, specifying which Lake Formation permissions apply to which principals. |
region | Region | The region where LakeFormation will be created in. |
tags | LFTagSharable[] | A list of Lake Formation tags that can be shared across accounts and principals. |
crossAccountVersion | number | OPTIONAL - Version for cross-account data sharing. |
hybridMode | boolean | OPTIONAL - Select true to use both IAM and Lake Formation for data access, or false to use Lake Formation only. |
admins
Required
- Type: string[]
A list of strings representing the IAM role ARNs.
permissions
Required
- Type: LakePermission[]
A list of permission settings, specifying which Lake Formation permissions apply to which principals.
region
Required
- Type: Region
The region where LakeFormation will be created in.
tags
Required
- Type: LFTagSharable[]
A list of Lake Formation tags that can be shared across accounts and principals.
crossAccountVersion
Optional
- Type: number
OPTIONAL - Version for cross-account data sharing.
Defaults to 4
. Read more {@link https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account.html here}.
hybridMode
Optional
- Type: boolean
OPTIONAL - Select true
to use both IAM and Lake Formation for data access, or false
to use Lake Formation only.
Defaults to false
.
DLzManagementAccount
Initializer
Properties
Name | Type | Description |
---|---|---|
accountId | string | No description. |
accountId
Required
- Type: string
DLzOrganization
Initializer
Properties
Name | Type | Description |
---|---|---|
organizationId | string | No description. |
ous | OrgOus | No description. |
root | RootOptions | No description. |
organizationId
Required
- Type: string
ous
Required
- Type: OrgOus
root
Required
- Type: RootOptions
DlzRegions
Initializer
Properties
Name | Type | Description |
---|---|---|
global | Region | Also known as the Home region for Control Tower. |
regional | Region[] | The other regions to support (do not specify the global region again). |
global
Required
- Type: Region
Also known as the Home region for Control Tower.
regional
Required
- Type: Region[]
The other regions to support (do not specify the global region again).
DlzRouteTableProps
Initializer
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
subnets | DlzSubnetProps[] | No description. |
name
Required
- Type: string
subnets
Required
- Type: DlzSubnetProps[]
DlzServiceControlPolicyProps
Initializer
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
statements | aws-cdk-lib.aws_iam.PolicyStatement[] | No description. |
description | string | No description. |
tags | aws-cdk-lib.CfnTag[] | No description. |
targetIds | string[] | No description. |
name
Required
- Type: string
statements
Required
- Type: aws-cdk-lib.aws_iam.PolicyStatement[]
description
Optional
- Type: string
tags
Optional
- Type: aws-cdk-lib.CfnTag[]
targetIds
Optional
- Type: string[]
DlzStackNameProps
Initializer
Properties
Name | Type | Description |
---|---|---|
region | string | No description. |
stack | string | No description. |
account | string | No description. |
ou | string | No description. |
region
Required
- Type: string
stack
Required
- Type: string
account
Optional
- Type: string
ou
Optional
- Type: string
DlzStackProps
Initializer
Properties
Name | Type | Description |
---|---|---|
env | aws-cdk-lib.Environment | No description. |
name | DlzStackNameProps | No description. |
stage | cdk-express-pipeline.ExpressStage | No description. |
env
Required
- Type: aws-cdk-lib.Environment
name
Required
- Type: DlzStackNameProps
stage
Required
- Type: cdk-express-pipeline.ExpressStage
DlzSubnetProps
Initializer
Properties
Name | Type | Description |
---|---|---|
cidr | string | The CIDR block of the subnet. |
name | string | The name of the subnet, must be unique within the routeTable. |
az | string | Optional. |
cidr
Required
- Type: string
The CIDR block of the subnet.
name
Required
- Type: string
The name of the subnet, must be unique within the routeTable.
az
Optional
- Type: string
Optional.
The Availability Zone of the subnet, if not specified a random AZ will be selected
DlzTag
Initializer
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
values | string[] | No description. |
name
Required
- Type: string
values
Optional
- Type: string[]
DlzTagPolicyProps
Initializer
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
policyTags | DlzTag[] | No description. |
description | string | No description. |
tags | aws-cdk-lib.CfnTag[] | No description. |
targetIds | string[] | No description. |
name
Required
- Type: string
policyTags
Required
- Type: DlzTag[]
description
Optional
- Type: string
tags
Optional
- Type: aws-cdk-lib.CfnTag[]
targetIds
Optional
- Type: string[]
DlzVpcProps
Initializer
Properties
Name | Type | Description |
---|---|---|
cidr | string | The CIDR block of the VPC. |
name | string | The name of the VPC, must be unique within the region. |
region | Region | The region where the VPC will be created. |
routeTables | DlzRouteTableProps[] | The route tables to be created in the VPC. |
cidr
Required
- Type: string
The CIDR block of the VPC.
name
Required
- Type: string
The name of the VPC, must be unique within the region.
region
Required
- Type: Region
The region where the VPC will be created.
routeTables
Required
- Type: DlzRouteTableProps[]
The route tables to be created in the VPC.
ForceNoPythonArgumentLifting
This is a type that is used to force JSII to not “argument lift” the arguments.
Use it as the last argument of user facing function that you want to prevent argument lifting on. Example:
Then just call the function/constructor and “forget about the last parameter”. It’s an ugly hack but acceptable for the time being. Tracking issue: https://github.com/aws/jsii/issues/4721
Initializer
GitHubReference
Initializer
Properties
Name | Type | Description |
---|---|---|
owner | string | The owner of the GitHub repository. |
repo | string | The repository name. |
filter | string | For a complete list of filters see https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token. |
owner
Required
- Type: string
The owner of the GitHub repository.
repo
Required
- Type: string
The repository name.
filter
Optional
- Type: string
For a complete list of filters see https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect#understanding-the-oidc-token.
Some common Examples:
- specific environment
environment:ENVIRONMENT-NAME
- specific branch
ref:refs/heads/BRANCH-NAME
- specific tag
ref:refs/tags/TAG-NAME
- only PRs
pull_request
A *
can be used for most parts like ENVIRONMENT-NAME
, BRANCH-NAME
, TAG-NAME
GlobalVariables
Initializer
Properties
Name | Type | Description |
---|---|---|
dlzAccountNetworks | DlzAccountNetworks | No description. |
ncp1 | GlobalVariablesNcp1 | No description. |
ncp2 | GlobalVariablesNcp2 | No description. |
ncp3 | GlobalVariablesNcp3 | No description. |
dlzAccountNetworks
Required
- Type: DlzAccountNetworks
ncp1
Required
- Type: GlobalVariablesNcp1
ncp2
Required
- Type: GlobalVariablesNcp2
ncp3
Required
- Type: GlobalVariablesNcp3
GlobalVariablesNcp1
Initializer
Properties
Name | Type | Description |
---|---|---|
vpcPeeringRoleKeys | string[] | No description. |
vpcPeeringRoleKeys
Required
- Type: string[]
GlobalVariablesNcp2
Initializer
Properties
Name | Type | Description |
---|---|---|
ownerVpcIds | DlzSsmReaderStackCache | No description. |
peeringConnections | {[ key: string ]: aws-cdk-lib.aws_ec2.CfnVPCPeeringConnection} | No description. |
peeringRoleArns | DlzSsmReaderStackCache | No description. |
ownerVpcIds
Required
- Type: DlzSsmReaderStackCache
peeringConnections
Required
- Type: {[ key: string ]: aws-cdk-lib.aws_ec2.CfnVPCPeeringConnection}
peeringRoleArns
Required
- Type: DlzSsmReaderStackCache
GlobalVariablesNcp3
Initializer
Properties
Name | Type | Description |
---|---|---|
routeTablesSsmCache | DlzSsmReaderStackCache | No description. |
vpcPeeringConnectionIds | DlzSsmReaderStackCache | No description. |
routeTablesSsmCache
Required
- Type: DlzSsmReaderStackCache
vpcPeeringConnectionIds
Required
- Type: DlzSsmReaderStackCache
IamIdentityCenterAccessGroupProps
An access group in the IAM Identity Center.
Initializer
Properties
Name | Type | Description |
---|---|---|
accountNames | string[] | No description. |
name | string | No description. |
permissionSetName | string | No description. |
description | string | No description. |
userNames | string[] | No description. |
accountNames
Required
- Type: string[]
name
Required
- Type: string
permissionSetName
Required
- Type: string
description
Optional
- Type: string
userNames
Optional
- Type: string[]
IamIdentityCenterGroupProps
A group of users in the IAM Identity Center.
Initializer
Properties
Name | Type | Description |
---|---|---|
accounts | string[] | No description. |
identityStoreId | string | No description. |
name | string | No description. |
permissionSet | aws-cdk-lib.aws_sso.CfnPermissionSet | No description. |
ssoArn | string | No description. |
users | IamIdentityCenterGroupUser[] | No description. |
description | string | No description. |
accounts
Required
- Type: string[]
identityStoreId
Required
- Type: string
name
Required
- Type: string
permissionSet
Required
- Type: aws-cdk-lib.aws_sso.CfnPermissionSet
ssoArn
Required
- Type: string
users
Required
- Type: IamIdentityCenterGroupUser[]
description
Optional
- Type: string
IamIdentityCenterGroupUser
A user in the IAM Identity Center.
Initializer
Properties
Name | Type | Description |
---|---|---|
userId | string | No description. |
userName | string | No description. |
userId
Required
- Type: string
userName
Required
- Type: string
IamIdentityCenterPermissionSetProps
A permission set in the IAM Identity Center.
Initializer
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
description | string | No description. |
inlinePolicyStatement | aws-cdk-lib.aws_iam.PolicyStatement | No description. |
managedPolicyArns | string[] | No description. |
permissionsBoundary | aws-cdk-lib.IResolvable | aws-cdk-lib.aws_sso.CfnPermissionSet.PermissionsBoundaryProperty | No description. |
sessionDuration | aws-cdk-lib.Duration | No description. |
name
Required
- Type: string
description
Optional
- Type: string
inlinePolicyStatement
Optional
- Type: aws-cdk-lib.aws_iam.PolicyStatement
managedPolicyArns
Optional
- Type: string[]
permissionsBoundary
Optional
- Type: aws-cdk-lib.IResolvable | aws-cdk-lib.aws_sso.CfnPermissionSet.PermissionsBoundaryProperty
sessionDuration
Optional
- Type: aws-cdk-lib.Duration
IamIdentityCenterProps
Initializer
Properties
Name | Type | Description |
---|---|---|
arn | string | No description. |
id | string | No description. |
storeId | string | No description. |
accessGroups | IamIdentityCenterAccessGroupProps[] | No description. |
permissionSets | IamIdentityCenterPermissionSetProps[] | No description. |
users | IdentityStoreUserProps[] | No description. |
arn
Required
- Type: string
id
Required
- Type: string
storeId
Required
- Type: string
accessGroups
Optional
permissionSets
Optional
users
Optional
- Type: IdentityStoreUserProps[]
IamPolicyPermissionsBoundaryProps
Initializer
Properties
Name | Type | Description |
---|---|---|
policyStatement | aws-cdk-lib.aws_iam.PolicyStatementProps | No description. |
policyStatement
Required
- Type: aws-cdk-lib.aws_iam.PolicyStatementProps
IdentityStoreUserEmailsProps
The email of a user in the IAM Identity Center.
Initializer
Properties
Name | Type | Description |
---|---|---|
type | string | No description. |
value | string | No description. |
primary | boolean | No description. |
type
Required
- Type: string
value
Required
- Type: string
primary
Optional
- Type: boolean
IdentityStoreUserNameProps
The name of a user in the IAM Identity Center.
Initializer
Properties
Name | Type | Description |
---|---|---|
familyName | string | No description. |
formatted | string | No description. |
givenName | string | No description. |
honorificPrefix | string | No description. |
honorificSuffix | string | No description. |
middleName | string | No description. |
familyName
Required
- Type: string
formatted
Required
- Type: string
givenName
Required
- Type: string
honorificPrefix
Optional
- Type: string
honorificSuffix
Optional
- Type: string
middleName
Optional
- Type: string
IdentityStoreUserProps
A user in the IAM Identity Center.
Initializer
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
surname | string | No description. |
userName | string | No description. |
name
Required
- Type: string
surname
Required
- Type: string
userName
Required
- Type: string
IdentityStoreUserPropsExt
A user in the IAM Identity Center.
Initializer
Properties
Name | Type | Description |
---|---|---|
displayName | string | No description. |
email | IdentityStoreUserEmailsProps | No description. |
identityStoreId | string | No description. |
name | IdentityStoreUserNameProps | No description. |
userName | string | No description. |
displayName
Required
- Type: string
email
Required
identityStoreId
Required
- Type: string
name
Required
userName
Required
- Type: string
LakePermission
Initializer
Properties
Name | Type | Description |
---|---|---|
databaseActions | DatabaseAction[] | Actions that can be performed on databases, using Lake Formation Tag Based Access Control. |
principals | string[] | A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to. |
tags | LFTag[] | LF tags associated with the permissions, used to specify fine-grained access controls. |
databaseActionsWithGrant | DatabaseAction[] | OPTIONAL - Actions on databases with grant option, allowing grantees to further grant these permissions. |
tableActions | TableAction[] | OPTIONAL - Actions that can be performed on tables, using Lake Formation Lake Formation Tag Based Access Control. |
tableActionsWithGrant | TableAction[] | OPTIONAL - Actions on tables with grant option, allowing grantees to further grant these permissions. |
databaseActions
Required
- Type: DatabaseAction[]
Actions that can be performed on databases, using Lake Formation Tag Based Access Control.
principals
Required
- Type: string[]
A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to.
tags
Required
- Type: LFTag[]
LF tags associated with the permissions, used to specify fine-grained access controls.
databaseActionsWithGrant
Optional
- Type: DatabaseAction[]
OPTIONAL - Actions on databases with grant option, allowing grantees to further grant these permissions.
tableActions
Optional
- Type: TableAction[]
OPTIONAL - Actions that can be performed on tables, using Lake Formation Lake Formation Tag Based Access Control.
tableActionsWithGrant
Optional
- Type: TableAction[]
OPTIONAL - Actions on tables with grant option, allowing grantees to further grant these permissions.
LFTag
Initializer
Properties
Name | Type | Description |
---|---|---|
tagKey | string | No description. |
tagValues | string[] | No description. |
tagKey
Required
- Type: string
tagValues
Required
- Type: string[]
LFTagSharable
Initializer
Properties
Name | Type | Description |
---|---|---|
tagKey | string | No description. |
tagValues | string[] | No description. |
share | ShareProps | OPTIONAL - Configuration detailing how the tag can be shared with specified principals. |
tagKey
Required
- Type: string
tagValues
Required
- Type: string[]
share
Optional
- Type: ShareProps
OPTIONAL - Configuration detailing how the tag can be shared with specified principals.
LogStacks
Initializer
MandatoryTags
Initializer
Properties
Name | Type | Description |
---|---|---|
environment | string[] | The values of the mandatory Environment tag that all resources must have. |
owner | string[] | The values of the mandatory Owner tag that all resources must have. |
project | string[] | The values of the mandatory Project tag that all resources must have. |
environment
Required
- Type: string[]
The values of the mandatory Environment
tag that all resources must have.
owner
Required
- Type: string[]
The values of the mandatory Owner
tag that all resources must have.
project
Required
- Type: string[]
The values of the mandatory Project
tag that all resources must have.
Network
Initializer
Properties
Name | Type | Description |
---|---|---|
bastionHosts | BastionHost[] | No description. |
connections | NetworkConnection | No description. |
nats | NetworkNat[] | No description. |
bastionHosts
Optional
- Type: BastionHost[]
connections
Optional
- Type: NetworkConnection
nats
Optional
- Type: NetworkNat[]
NetworkConnection
Initializer
Properties
Name | Type | Description |
---|---|---|
vpcPeering | NetworkConnectionVpcPeering[] | No description. |
vpcPeering
Required
- Type: NetworkConnectionVpcPeering[]
NetworkConnectionVpcPeering
Initializer
Properties
Name | Type | Description |
---|---|---|
destination | NetworkAddress | No description. |
source | NetworkAddress | No description. |
destination
Required
- Type: NetworkAddress
source
Required
- Type: NetworkAddress
NetworkEntityRouteTable
Initializer
Properties
Name | Type | Description |
---|---|---|
address | NetworkAddress | No description. |
routeTable | aws-cdk-lib.aws_ec2.CfnRouteTable | No description. |
subnets | NetworkEntitySubnet[] | No description. |
address
Required
- Type: NetworkAddress
routeTable
Required
- Type: aws-cdk-lib.aws_ec2.CfnRouteTable
subnets
Required
- Type: NetworkEntitySubnet[]
NetworkEntitySubnet
Initializer
Properties
Name | Type | Description |
---|---|---|
address | NetworkAddress | No description. |
subnet | aws-cdk-lib.aws_ec2.CfnSubnet | No description. |
address
Required
- Type: NetworkAddress
subnet
Required
- Type: aws-cdk-lib.aws_ec2.CfnSubnet
NetworkEntityVpc
Initializer
Properties
Name | Type | Description |
---|---|---|
address | NetworkAddress | No description. |
routeTables | NetworkEntityRouteTable[] | No description. |
vpc | aws-cdk-lib.aws_ec2.CfnVPC | No description. |
address
Required
- Type: NetworkAddress
routeTables
Required
- Type: NetworkEntityRouteTable[]
vpc
Required
- Type: aws-cdk-lib.aws_ec2.CfnVPC
NetworkNat
Initializer
Properties
Name | Type | Description |
---|---|---|
allowAccessFrom | NetworkAddress[] | The route tables that should route to the NAT. |
location | NetworkAddress | The location where the NAT will exist. |
name | string | The name of the NAT Gateway to easily identify it. |
type | NetworkNatType | The type of NAT to create. |
allowAccessFrom
Required
- Type: NetworkAddress[]
The route tables that should route to the NAT.
Must be in the same Account, Region and VPC as the NAT.
location
Required
- Type: NetworkAddress
The location where the NAT will exist.
The network address must target a specific subnet
name
Required
- Type: string
The name of the NAT Gateway to easily identify it.
type
Required
- Type: NetworkNatType
The type of NAT to create.
NetworkNatGateway
Initializer
Properties
Name | Type | Description |
---|---|---|
eip | aws-cdk-lib.aws_ec2.CfnEIPProps | No description. |
eip
Optional
- Type: aws-cdk-lib.aws_ec2.CfnEIPProps
NetworkNatInstance
Initializer
Properties
Name | Type | Description |
---|---|---|
instanceType | aws-cdk-lib.aws_ec2.InstanceType | No description. |
eip | aws-cdk-lib.aws_ec2.CfnEIPProps | No description. |
instanceType
Required
- Type: aws-cdk-lib.aws_ec2.InstanceType
eip
Optional
- Type: aws-cdk-lib.aws_ec2.CfnEIPProps
NetworkNatType
Initializer
Properties
Name | Type | Description |
---|---|---|
gateway | NetworkNatGateway | No description. |
instance | NetworkNatInstance | No description. |
gateway
Optional
- Type: NetworkNatGateway
instance
Optional
- Type: NetworkNatInstance
NotificationDetailsProps
Initializer
Properties
Name | Type | Description |
---|---|---|
emails | string[] | No description. |
slack | SlackChannel | No description. |
emails
Optional
- Type: string[]
slack
Optional
- Type: SlackChannel
OrgOus
Initializer
Properties
Name | Type | Description |
---|---|---|
security | OrgOuSecurity | No description. |
suspended | OrgOuSuspended | No description. |
workloads | OrgOuWorkloads | No description. |
security
Required
- Type: OrgOuSecurity
suspended
Required
- Type: OrgOuSuspended
workloads
Required
- Type: OrgOuWorkloads
OrgOuSecurity
Initializer
Properties
Name | Type | Description |
---|---|---|
accounts | OrgOuSecurityAccounts | No description. |
ouId | string | No description. |
accounts
Required
- Type: OrgOuSecurityAccounts
ouId
Required
- Type: string
OrgOuSecurityAccounts
Initializer
Properties
Name | Type | Description |
---|---|---|
audit | DLzManagementAccount | No description. |
log | DLzManagementAccount | No description. |
audit
Required
- Type: DLzManagementAccount
log
Required
- Type: DLzManagementAccount
OrgOuSuspended
Initializer
Properties
Name | Type | Description |
---|---|---|
ouId | string | No description. |
ouId
Required
- Type: string
OrgOuWorkloads
Initializer
Properties
Name | Type | Description |
---|---|---|
accounts | DLzAccount[] | No description. |
ouId | string | No description. |
accounts
Required
- Type: DLzAccount[]
ouId
Required
- Type: string
OrgRootAccounts
Initializer
Properties
Name | Type | Description |
---|---|---|
management | DLzManagementAccount | No description. |
management
Required
- Type: DLzManagementAccount
PartialOu
Initializer
Properties
Name | Type | Description |
---|---|---|
ouId | string | No description. |
accounts | DLzAccount[] | No description. |
ouId
Required
- Type: string
accounts
Optional
- Type: DLzAccount[]
ReportItem
Initializer
Properties
Name | Type | Description |
---|---|---|
description | string | No description. |
externalLink | string | No description. |
name | string | No description. |
type | ReportType | No description. |
accountName | string | No description. |
appliedFrom | string | No description. |
region | string | No description. |
description
Required
- Type: string
externalLink
Required
- Type: string
name
Required
- Type: string
type
Required
- Type: ReportType
accountName
Required
- Type: string
appliedFrom
Required
- Type: string
region
Required
- Type: string
ReportResource
Initializer
Properties
Name | Type | Description |
---|---|---|
description | string | No description. |
externalLink | string | No description. |
name | string | No description. |
type | ReportType | No description. |
description
Required
- Type: string
externalLink
Required
- Type: string
name
Required
- Type: string
type
Required
- Type: ReportType
RootOptions
Initializer
Properties
Name | Type | Description |
---|---|---|
accounts | OrgRootAccounts | No description. |
controls | DlzControlTowerStandardControls[] | Control Tower Controls applied to all the OUs in the organization. |
accounts
Required
- Type: OrgRootAccounts
controls
Optional
- Type: DlzControlTowerStandardControls[]
Control Tower Controls applied to all the OUs in the organization.
SecurityHubNotification
Initializer
Properties
Name | Type | Description |
---|---|---|
id | string | No description. |
notification | SecurityHubNotificationProps | No description. |
severity | SecurityHubNotificationSeverity[] | No description. |
workflowStatus | SecurityHubNotificationSWorkflowStatus[] | No description. |
id
Required
- Type: string
notification
Required
severity
Optional
- Type: SecurityHubNotificationSeverity[]
workflowStatus
Optional
SecurityHubNotificationProps
Initializer
Properties
Name | Type | Description |
---|---|---|
emails | string[] | No description. |
slack | SlackChannel | No description. |
emails
Optional
- Type: string[]
slack
Optional
- Type: SlackChannel
SharedExternal
Initializer
Properties
Name | Type | Description |
---|---|---|
principals | string[] | A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to. |
specificValues | string[] | OPTIONAL - A list of specific values of the tag that can be shared. |
tagActions | TagAction[] | A list of actions that can be performed on the tag. |
tagActionsWithGrant | TagAction[] | A list of actions on the tag with grant option, allowing grantees to further grant these permissions. |
principals
Required
- Type: string[]
A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to.
specificValues
Optional
- Type: string[]
OPTIONAL - A list of specific values of the tag that can be shared.
All possible values if omitted.
tagActions
Required
- Type: TagAction[]
A list of actions that can be performed on the tag.
Only TagAction.DESCRIBE
and TagAction.ASSOCIATE
are allowed.
tagActionsWithGrant
Optional
- Type: TagAction[]
A list of actions on the tag with grant option, allowing grantees to further grant these permissions.
SharedInternal
Initializer
Properties
Name | Type | Description |
---|---|---|
principals | string[] | A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to. |
specificValues | string[] | OPTIONAL - A list of specific values of the tag that can be shared. |
tagActions | TagAction[] | A list of actions that can be performed on the tag. |
tagActionsWithGrant | TagAction[] | A list of actions on the tag with grant option, allowing grantees to further grant these permissions. |
principals
Required
- Type: string[]
A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to.
specificValues
Optional
- Type: string[]
OPTIONAL - A list of specific values of the tag that can be shared.
All possible values if omitted.
tagActions
Required
- Type: TagAction[]
A list of actions that can be performed on the tag.
tagActionsWithGrant
Optional
- Type: TagAction[]
A list of actions on the tag with grant option, allowing grantees to further grant these permissions.
ShareProps
Initializer
Properties
Name | Type | Description |
---|---|---|
withExternalAccount | SharedExternal[] | Configurations for sharing LF-Tags with external AWS accounts. |
withinAccount | SharedInternal[] | Configurations for sharing LF-Tags with principals within the same AWS account. |
withExternalAccount
Optional
- Type: SharedExternal[]
Configurations for sharing LF-Tags with external AWS accounts.
withinAccount
Optional
- Type: SharedInternal[]
Configurations for sharing LF-Tags with principals within the same AWS account.
SlackChannel
Initializer
Properties
Name | Type | Description |
---|---|---|
slackChannelConfigurationName | string | The name of Slack channel configuration. |
slackChannelId | string | The ID of the Slack channel. |
slackWorkspaceId | string | The ID of the Slack workspace authorized with AWS Chatbot. |
slackChannelConfigurationName
Required
- Type: string
The name of Slack channel configuration.
slackChannelId
Required
- Type: string
The ID of the Slack channel.
To get the ID, open Slack, right click on the channel name in the left pane, then choose Copy Link. The channel ID is the 9-character string at the end of the URL. For example, ABCBBLZZZ.
slackWorkspaceId
Required
- Type: string
The ID of the Slack workspace authorized with AWS Chatbot.
To get the workspace ID, you must perform the initial authorization flow with Slack in the AWS Chatbot console. Then you can copy and paste the workspace ID from the console. For more details, see steps 1-4 in Setting Up AWS Chatbot with Slack in the AWS Chatbot User Guide.
https://docs.aws.amazon.com/chatbot/latest/adminguide/setting-up.html#Setup_intro
WorkloadAccountProps
Initializer
Properties
Name | Type | Description |
---|---|---|
env | aws-cdk-lib.Environment | No description. |
name | DlzStackNameProps | No description. |
stage | cdk-express-pipeline.ExpressStage | No description. |
dlzAccount | DLzAccount | No description. |
globalVariables | GlobalVariables | No description. |
env
Required
- Type: aws-cdk-lib.Environment
name
Required
- Type: DlzStackNameProps
stage
Required
- Type: cdk-express-pipeline.ExpressStage
dlzAccount
Required
- Type: DLzAccount
globalVariables
Required
- Type: GlobalVariables
Classes
AccountChatbots
Initializers
Name | Type | Description |
---|
Static Functions
Name | Description |
---|---|
addSlackChannel | No description. |
existsSlackChannel | No description. |
findSlackChannel | No description. |
addSlackChannel
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
chatbotProps
Required
- Type: aws-cdk-lib.aws_chatbot.SlackChannelConfigurationProps
existsSlackChannel
scope
Required
- Type: constructs.Construct
chatbotProps
Required
- Type: SlackChannel
findSlackChannel
scope
Required
- Type: constructs.Construct
chatbotProps
Required
- Type: SlackChannel
Properties
Name | Type | Description |
---|---|---|
slackChatBots | {[ key: string ]: aws-cdk-lib.aws_chatbot.SlackChannelConfiguration} | No description. |
slackChatBots
Required
- Type: {[ key: string ]: aws-cdk-lib.aws_chatbot.SlackChannelConfiguration}
DataLandingZone
Initializers
Name | Type | Description |
---|---|---|
app | aws-cdk-lib.App | The CDK App. |
props | DataLandingZoneProps | The DataLandingZoneProps. |
_ | ForceNoPythonArgumentLifting | Ignore this parameter, it is used to force a consistent interface across TS and Python usage. |
app
Required
- Type: aws-cdk-lib.App
The CDK App.
props
Required
- Type: DataLandingZoneProps
The DataLandingZoneProps.
_
Optional
Ignore this parameter, it is used to force a consistent interface across TS and Python usage.
Methods
Name | Description |
---|---|
stageManagement | No description. |
stageManagement
Properties
Name | Type | Description |
---|---|---|
auditStacks | AuditStacks | No description. |
logStacks | LogStacks | No description. |
managementStack | ManagementStack | No description. |
workloadGlobalDataServicesPhase1Stacks | WorkloadGlobalDataServicesPhase1Stack[] | No description. |
workloadGlobalNetworkConnectionsPhase1Stacks | WorkloadGlobalNetworkConnectionsPhase1Stack[] | No description. |
workloadGlobalNetworkConnectionsPhase2Stacks | WorkloadGlobalNetworkConnectionsPhase2Stack[] | No description. |
workloadGlobalNetworkConnectionsPhase3Stacks | WorkloadGlobalNetworkConnectionsPhase3Stack[] | No description. |
workloadGlobalStacks | WorkloadGlobalStack[] | No description. |
workloadRegionalDataServicesPhase1Stacks | WorkloadRegionalDataServicesPhase1Stack[] | No description. |
workloadRegionalNetworkConnectionsPhase2Stacks | WorkloadRegionalNetworkConnectionsPhase2Stack[] | No description. |
workloadRegionalNetworkConnectionsPhase3Stacks | WorkloadRegionalNetworkConnectionsPhase3Stack[] | No description. |
workloadRegionalStacks | WorkloadRegionalStack[] | No description. |
auditStacks
Required
- Type: AuditStacks
logStacks
Required
- Type: LogStacks
managementStack
Required
- Type: ManagementStack
workloadGlobalDataServicesPhase1Stacks
Required
workloadGlobalNetworkConnectionsPhase1Stacks
Required
workloadGlobalNetworkConnectionsPhase2Stacks
Required
workloadGlobalNetworkConnectionsPhase3Stacks
Required
workloadGlobalStacks
Required
- Type: WorkloadGlobalStack[]
workloadRegionalDataServicesPhase1Stacks
Required
workloadRegionalNetworkConnectionsPhase2Stacks
Required
workloadRegionalNetworkConnectionsPhase3Stacks
Required
workloadRegionalStacks
Required
- Type: WorkloadRegionalStack[]
DataLandingZoneClient
Initializers
Name | Type | Description |
---|
Static Functions
Name | Description |
---|---|
bastionSecurityGroupId | Fetches the bastion security group ID from the SSM Parameter Store. |
notificationTopicArn | Fetches the notification topic ARN from the SSM Parameter Store. |
permissionsBoundaryArn | Fetches the permissions boundary ARN from the SSM Parameter Store. |
routeTableId | Fetches the route table ID from the SSM Parameter Store. |
subnetId | Fetches the subnet ID from the SSM Parameter Store. |
vpcId | Fetches the VPC ID from the SSM Parameter Store. |
bastionSecurityGroupId
Fetches the bastion security group ID from the SSM Parameter Store.
scope
Required
- Type: constructs.Construct
The scope of the construct.
id
Required
- Type: string
The id of the construct.
props
Required
The props of the construct.
notificationTopicArn
Fetches the notification topic ARN from the SSM Parameter Store.
scope
Required
- Type: constructs.Construct
The scope of the construct.
id
Required
- Type: string
The id of the construct.
permissionsBoundaryArn
Fetches the permissions boundary ARN from the SSM Parameter Store.
scope
Required
- Type: constructs.Construct
The scope of the construct.
id
Required
- Type: string
The id of the construct.
routeTableId
Fetches the route table ID from the SSM Parameter Store.
scope
Required
- Type: constructs.Construct
The scope of the construct.
id
Required
- Type: string
The id of the construct.
props
Required
The props of the construct.
subnetId
Fetches the subnet ID from the SSM Parameter Store.
scope
Required
- Type: constructs.Construct
The scope of the construct.
id
Required
- Type: string
The id of the construct.
props
Required
The props of the construct.
vpcId
Fetches the VPC ID from the SSM Parameter Store.
scope
Required
- Type: constructs.Construct
The scope of the construct.
id
Required
- Type: string
The id of the construct.
props
Required
The props of the construct.
Defaults
Initializers
Name | Type | Description |
---|
Static Functions
Name | Description |
---|---|
budgets | Budgets for the organization. |
denyServiceList | * List of services that are denied in the organization. |
iamIdentityCenterPermissionSets | Provides the AWS managed policy AdministratorAccess and ReadOnlyAccess as permission sets. |
mandatoryTags | * Mandatory tags for the organization. |
rootControls | Control Tower Controls applied to all the OUs in the organization. |
vpcClassB3Private3Public | Creates a VPC configuration with 2 route tables, one used as public and the other private, each with 3 subnets. |
budgets
Budgets for the organization.
orgTotal
Required
- Type: number
Total budget for the organization in USD.
infraDlz
Required
- Type: number
Budget for this DLZ project identified by tags Owner=infra, Project=dlz in USD.
subscribers
Required
- Type: BudgetSubscribers
Subscribers for the budget.
denyServiceList
- List of services that are denied in the organization.
iamIdentityCenterPermissionSets
Provides the AWS managed policy AdministratorAccess
and ReadOnlyAccess
as permission sets.
mandatoryTags
- Mandatory tags for the organization.
props
Required
- Type: DataLandingZoneProps
rootControls
Control Tower Controls applied to all the OUs in the organization.
vpcClassB3Private3Public
Creates a VPC configuration with 2 route tables, one used as public and the other private, each with 3 subnets.
Each subnet has a /19 CIDR block. The VPC CIDR is 10.${thirdOctetMask}.0.0/16
There will be remaining space:
- 10.x.192.0/19
- 10.x.224.0/19
thirdOctetMask
Required
- Type: number
the third octet of the VPC CIDR.
region
Required
- Type: Region
the region where the VPC will be created.
DlzAccountNetworks
Initializers
Name | Type | Description |
---|
Methods
Name | Description |
---|---|
add | No description. |
getEntitiesForAddress | Get NetworkEntities for the given networkAddress and match on the given matchOnAddress . |
add
dlzAccount
Required
- Type: DLzAccount
networkEntityVpc
Required
- Type: NetworkEntityVpc
getEntitiesForAddress
Get NetworkEntities for the given networkAddress
and match on the given matchOnAddress
.
For example, if the
networkAddress
is a routeTable address and matchOnAddress
has a value of vpc
then it will return all
NetworkEntities that have the same VPC as the networkAddress
. Or, if the matchOnAddress
has a value of
region
then it will return all NetworkEntities that have the same VPC region as the networkAddress
.
If the matchOnAddress
is account
then the complete NetworkEntity will be returned.
Else, if matchOnAddress
is region
, vpc
, routeTable
or subnet
then a partial NetworkEntity will be returned.
The vpcs
routeTables
and subnets
will be filtered to only include those that match the networkAddress
. A value of
undefined
will automatically detect the level of the networkAddress
and use that as the matchOnAddress
.
Example:
Given we have these NetworkEntity[]:
- project-1-develop.us-east-1.default.private
- project-1-develop.eu-west-1.default.private
- project-1-production.eu-west-1.default.private
-
If the
networkAddress
has arouteTable
address of:project-1-develop.us-east-1.default.private
and thematchOnAddress
value isrouteTable
. Then it will only match the first entry ofproject-1-develop.us-east-1.default.private
and return a partial NetworkEntity with the VPC, and only the routeTables and subnets that have the same routeTable address. -
If the
networkAddress
has the samerouteTable
address of:project-1-develop.us-east-1.default.private
and thematchOnAddress
value is changed tovpc
. Then it will match the first and second entries and return the complete NetworkEntity for each.
networkAddress
Required
- Type: NetworkAddress
matchOnAddress
Optional
- Type: string
DlzBudget
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
props | DlzBudgetProps | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
props
Required
- Type: DlzBudgetProps
Properties
Name | Type | Description |
---|---|---|
cfnBudget | aws-cdk-lib.aws_budgets.CfnBudget | No description. |
notificationTopic | aws-cdk-lib.aws_sns.Topic | No description. |
cfnBudget
Required
- Type: aws-cdk-lib.aws_budgets.CfnBudget
notificationTopic
Required
- Type: aws-cdk-lib.aws_sns.Topic
DlzControlTowerEnabledControl
- Implements: IReportResource
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
props | DlzControlTowerEnabledControlProps | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
props
Required
Static Functions
Name | Description |
---|---|
canBeAppliedToSecurityOU | Check if the control can be applied to the Security OU. |
canBeAppliedToSecurityOU
Check if the control can be applied to the Security OU.
Only LEGACY controls can be applied to the Security OU.
control
Required
- Type: IDlzControlTowerControl
Properties
Name | Type | Description |
---|---|---|
control | aws-cdk-lib.aws_controltower.CfnEnabledControl | No description. |
reportResource | ReportResource | No description. |
control
Required
- Type: aws-cdk-lib.aws_controltower.CfnEnabledControl
reportResource
Required
- Type: ReportResource
DlzLakeFormation
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
lfProps | DlzLakeFormationProps | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
lfProps
Required
- Type: DlzLakeFormationProps
DlzServiceControlPolicy
- Implements: IReportResource
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
props | DlzServiceControlPolicyProps | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
props
Required
Static Functions
Name | Description |
---|---|
denyCfnStacksWithoutStandardTags | No description. |
denyIamPolicyActionStatements | No description. |
denyServiceActionStatements | No description. |
denyCfnStacksWithoutStandardTags
tags
Required
- Type: DlzTag[]
denyIamPolicyActionStatements
denyServiceActionStatements
serviceActions
Required
- Type: string[]
Properties
Name | Type | Description |
---|---|---|
policy | aws-cdk-lib.aws_organizations.CfnPolicy | No description. |
reportResource | ReportResource | No description. |
policy
Required
- Type: aws-cdk-lib.aws_organizations.CfnPolicy
reportResource
Required
- Type: ReportResource
DlzSsmReader
Initializers
Name | Type | Description |
---|
Static Functions
Name | Description |
---|---|
getValue | Get the value of an SSM Parameter Store value. |
getValue
Get the value of an SSM Parameter Store value.
Fetch type always
will always fetch the value from SSM Parameter Store, this will produce a CDK diff every time.
Fetch type value-change
will fetch the value from SSM Parameter Store only when the value changes, this will not
produce a CDK diff every time.
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
accountId
Required
- Type: string
region
Required
- Type: string
name
Required
- Type: string
fetchType
Optional
- Type: string
withDecryption
Optional
- Type: boolean
DlzSsmReaderStackCache
Get the value of an SSM Parameter Store value.
This method will reuse the same CustomResource, reducing the number of lookups to the same resource within a stack.
Initializers
Name | Type | Description |
---|
Methods
Name | Description |
---|---|
getValue | Fetch type always will always fetch the value from SSM Parameter Store, this will produce a CDK diff every time. |
getValue
Fetch type always
will always fetch the value from SSM Parameter Store, this will produce a CDK diff every time.
Fetch type value-change
will fetch the value from SSM Parameter Store only when the value changes, this will not
produce a CDK diff every time.
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
accountId
Required
- Type: string
region
Required
- Type: string
name
Required
- Type: string
fetchType
Optional
- Type: string
withDecryption
Optional
- Type: boolean
DlzTagPolicy
- Implements: IReportResource
Initializers
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
props | DlzTagPolicyProps | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
props
Required
- Type: DlzTagPolicyProps
Properties
Name | Type | Description |
---|---|---|
policy | aws-cdk-lib.aws_organizations.CfnPolicy | No description. |
reportResource | ReportResource | No description. |
policy
Required
- Type: aws-cdk-lib.aws_organizations.CfnPolicy
reportResource
Required
- Type: ReportResource
DlzVpc
Initializers
Name | Type | Description |
---|---|---|
dlzAccount | DLzAccount | No description. |
dlzStack | DlzStack | No description. |
dlzVpc | DlzVpcProps | No description. |
networkNats | NetworkNat[] | No description. |
dlzAccount
Required
- Type: DLzAccount
dlzStack
Required
- Type: DlzStack
dlzVpc
Required
- Type: DlzVpcProps
networkNats
Optional
- Type: NetworkNat[]
Properties
Name | Type | Description |
---|---|---|
networkEntityVpc | NetworkEntityVpc | No description. |
networkEntityVpc
Required
- Type: NetworkEntityVpc
IamIdentityCenter
The IAM Identity Center.
Initializers
Name | Type | Description |
---|---|---|
dlzStack | DlzStack | No description. |
organization | DLzOrganization | No description. |
iamIdentityCenter | IamIdentityCenterProps | No description. |
dlzStack
Required
- Type: DlzStack
organization
Required
- Type: DLzOrganization
iamIdentityCenter
Required
- Type: IamIdentityCenterProps
NetworkAddress
Initializers
Name | Type | Description |
---|---|---|
account | string | No description. |
region | string | No description. |
vpc | string | No description. |
routeTable | string | No description. |
subnet | string | No description. |
account
Required
- Type: string
region
Optional
- Type: string
vpc
Optional
- Type: string
routeTable
Optional
- Type: string
subnet
Optional
- Type: string
Methods
Name | Description |
---|---|
isAccountAddress | No description. |
isRegionAddress | No description. |
isRouteTableAddress | No description. |
isSubnetAddress | No description. |
isVpcAddress | No description. |
matches | No description. |
toString | No description. |
isAccountAddress
isRegionAddress
isRouteTableAddress
isSubnetAddress
isVpcAddress
matches
other
Required
- Type: NetworkAddress
toString
Static Functions
Name | Description |
---|---|
fromString | No description. |
fromString
props
Required
- Type: string
Properties
Name | Type | Description |
---|---|---|
account | string | No description. |
region | string | No description. |
routeTable | string | No description. |
subnet | string | No description. |
vpc | string | No description. |
account
Required
- Type: string
region
Optional
- Type: string
routeTable
Optional
- Type: string
subnet
Optional
- Type: string
vpc
Optional
- Type: string
Report
Initializers
Name | Type | Description |
---|
Static Functions
Name | Description |
---|---|
addReportForAccountRegion | No description. |
addReportForAccountRegions | No description. |
addReportForOuAccountRegions | No description. |
addReportForSecurityOuAccountRegions | No description. |
printConsoleReport | No description. |
saveConsoleReport | No description. |
addReportForAccountRegion
accountName
Required
- Type: string
region
Required
- Type: string
reportResource
Required
- Type: ReportResource
addReportForAccountRegions
accountName
Required
- Type: string
regions
Required
- Type: DlzRegions
reportResource
Required
- Type: ReportResource
addReportForOuAccountRegions
partialOu
Required
- Type: PartialOu
regions
Required
- Type: DlzRegions
reportResource
Required
- Type: ReportResource
addReportForSecurityOuAccountRegions
securityOu
Required
- Type: OrgOuSecurity
regions
Required
- Type: DlzRegions
reportResource
Required
- Type: ReportResource
printConsoleReport
saveConsoleReport
Properties
Name | Type | Description |
---|---|---|
reports | ReportItem[] | No description. |
reports
Required
- Type: ReportItem[]
Scripts
Initializers
Name | Type | Description |
---|
Methods
Name | Description |
---|---|
boostrapAll | Bootstraps all accounts in all regions as defined by the config. |
configureCostAllocationTags | Sets the Cost Allocation Tags for the organization. |
deployAll | CDK deploy all stacks. |
deploySelect | CDK deploy stacks identified by the id. |
diffAll | CDK diff all stacks. |
diffSelect | CDK diff stacks identified by the id. |
boostrapAll
Bootstraps all accounts in all regions as defined by the config.
props
Required
- Type: DataLandingZoneProps
bootstrapRoleName
Optional
- Type: string
configureCostAllocationTags
Sets the Cost Allocation Tags for the organization.
props
Required
- Type: DataLandingZoneProps
_
Optional
Ignore this parameter, it is used to force a consistent interface across TS and Python usage.
deployAll
CDK deploy all stacks.
props
Required
- Type: DataLandingZoneProps
_
Optional
Ignore this parameter, it is used to force a consistent interface across TS and Python usage.
deploySelect
CDK deploy stacks identified by the id.
props
Required
- Type: DataLandingZoneProps
id
Required
- Type: string
diffAll
CDK diff all stacks.
props
Required
- Type: DataLandingZoneProps
_
Optional
Ignore this parameter, it is used to force a consistent interface across TS and Python usage.
diffSelect
CDK diff stacks identified by the id.
props
Required
- Type: DataLandingZoneProps
id
Required
- Type: string
Protocols
IDlzControlTowerControl
- Implemented By: IDlzControlTowerControl
Properties
Name | Type | Description |
---|---|---|
controlFriendlyName | DlzControlTowerStandardControls | DlzControlTowerSpecializedControls | The short name of the control, example: AWS-GR_ENCRYPTED_VOLUMES. |
controlIdName | DlzControlTowerControlIdNameProps | The control ID name used to construct the controlIdentifier, example: AWS-GR_ENCRYPTED_VOLUMES This can differ from the controlFriendlyName for newer controls. |
description | string | Description of the control. |
externalLink | string | External link to the control documentation. |
format | DlzControlTowerControlFormat | The format of the control, LEGACY or STANDARD LEGACY controls include the control name in the controlIdentifier STANDARD controls do not include the control name in the controlIdentifier and can not be applied to the Security OU. |
parameters | {[ key: string ]: any} | Optional parameters for the control. |
controlFriendlyName
Required
The short name of the control, example: AWS-GR_ENCRYPTED_VOLUMES.
controlIdName
Required
The control ID name used to construct the controlIdentifier, example: AWS-GR_ENCRYPTED_VOLUMES This can differ from the controlFriendlyName for newer controls.
description
Required
- Type: string
Description of the control.
externalLink
Required
- Type: string
External link to the control documentation.
format
Required
The format of the control, LEGACY or STANDARD LEGACY controls include the control name in the controlIdentifier STANDARD controls do not include the control name in the controlIdentifier and can not be applied to the Security OU.
parameters
Optional
- Type: {[ key: string ]: any}
Optional parameters for the control.
IReportResource
- Implemented By: DlzControlTowerEnabledControl, DlzServiceControlPolicy, DlzTagPolicy, IReportResource
Behavioral, used with Inheritance.
Properties
Name | Type | Description |
---|---|---|
reportResource | ReportResource | No description. |
reportResource
Required
- Type: ReportResource
Enums
DatabaseAction
Members
Name | Description |
---|---|
DESCRIBE | No description. |
ALTER | No description. |
DROP | No description. |
CREATE_TABLE | No description. |
DESCRIBE
ALTER
DROP
CREATE_TABLE
DlzAccountType
Members
Name | Description |
---|---|
DEVELOP | No description. |
PRODUCTION | No description. |
DEVELOP
PRODUCTION
DlzControlTowerControlFormat
Members
Name | Description |
---|---|
LEGACY | No description. |
STANDARD | No description. |
LEGACY
STANDARD
DlzControlTowerSpecializedControls
Controls that take parameters.
Members
Name | Description |
---|---|
CT_MULTISERVICE_PV_1 | No description. |
CT_MULTISERVICE_PV_1
DlzControlTowerStandardControls
Controls that do not take parameters.
Members
Name | Description |
---|---|
AWS_GR_MFA_ENABLED_FOR_IAM_CONSOLE_ACCESS | No description. |
AWS_GR_ENCRYPTED_VOLUMES | No description. |
AWS_GR_RDS_INSTANCE_PUBLIC_ACCESS_CHECK | No description. |
AWS_GR_RDS_SNAPSHOTS_PUBLIC_PROHIBITED | No description. |
AWS_GR_RDS_STORAGE_ENCRYPTED | No description. |
AWS_GR_RESTRICTED_SSH | No description. |
AWS_GR_RESTRICT_ROOT_USER | No description. |
AWS_GR_RESTRICT_ROOT_USER_ACCESS_KEYS | No description. |
AWS_GR_ROOT_ACCOUNT_MFA_ENABLED | No description. |
AWS_GR_S3_BUCKET_PUBLIC_READ_PROHIBITED | No description. |
AWS_GR_S3_BUCKET_PUBLIC_WRITE_PROHIBITED | No description. |
SH_SECRETS_MANAGER_3 | No description. |
AWS_GR_MFA_ENABLED_FOR_IAM_CONSOLE_ACCESS
AWS_GR_ENCRYPTED_VOLUMES
AWS_GR_RDS_INSTANCE_PUBLIC_ACCESS_CHECK
AWS_GR_RDS_SNAPSHOTS_PUBLIC_PROHIBITED
AWS_GR_RDS_STORAGE_ENCRYPTED
AWS_GR_RESTRICTED_SSH
AWS_GR_RESTRICT_ROOT_USER
AWS_GR_RESTRICT_ROOT_USER_ACCESS_KEYS
AWS_GR_ROOT_ACCOUNT_MFA_ENABLED
AWS_GR_S3_BUCKET_PUBLIC_READ_PROHIBITED
AWS_GR_S3_BUCKET_PUBLIC_WRITE_PROHIBITED
SH_SECRETS_MANAGER_3
IamIdentityAccounts
Members
Name | Description |
---|---|
ROOT | No description. |
SECURITY_LOG | No description. |
SECURITY_AUDIT | No description. |
ROOT
SECURITY_LOG
SECURITY_AUDIT
IamIdentityPermissionSets
Members
Name | Description |
---|---|
ADMIN | No description. |
READ_ONLY | No description. |
CATALOG | No description. |
ADMIN
READ_ONLY
CATALOG
Ou
Members
Name | Description |
---|---|
SECURITY | No description. |
WORKLOADS | No description. |
SUSPENDED | No description. |
SECURITY
WORKLOADS
SUSPENDED
Region
Control Tower Supported Regions as listed here https://docs.aws.amazon.com/controltower/latest/userguide/region-how.html with the regions that might have partial or no support for SecurityHub Standard mentioned in the comment https://docs.aws.amazon.com/controltower/latest/userguide/security-hub-controls.html#sh-unsupported-regions Last updated: 22 Mar 2024.
Members
Name | Description |
---|---|
US_EAST_1 | N. |
US_EAST_2 | Ohio. |
US_WEST_1 | N. |
US_WEST_2 | Oregon. |
CA_CENTRAL_1 | Canada (Central). |
EU_WEST_1 | Ireland. |
EU_WEST_2 | London. |
EU_WEST_3 | Paris. |
EU_CENTRAL_1 | Frankfurt. |
EU_CENTRAL_2 | Zurich. |
EU_NORTH_1 | Stockholm. |
EU_SOUTH_1 | Milan. |
EU_SOUTH_2 | Spain. |
AP_NORTHEAST_1 | Tokyo. |
AP_NORTHEAST_2 | Seoul. |
AP_NORTHEAST_3 | Osaka. |
AP_SOUTHEAST_1 | Singapore. |
AP_SOUTHEAST_2 | Sydney, Melbourne. |
AP_SOUTHEAST_3 | Jakarta No Control Tower SecurityHub Standard support. |
AP_SOUTHEAST_4 | Melbourne No Control Tower SecurityHub Standard support. |
AP_EAST_1 | Hong Kong No Control Tower SecurityHub Standard support. |
SA_EAST_1 | Sao Paulo. |
AF_SOUTH_1 | Cape Town No Control Tower SecurityHub Standard support. |
ME_SOUTH_1 | Bahrain, UAE, Tel Aviv No Control Tower SecurityHub Standard support. |
ME_CENTRAL_1 | UAE No Control Tower SecurityHub Standard support. |
IL_CENTRAL_1 | Israel No Control Tower SecurityHub Standard support. |
AP_SOUTH_2 | Hyderabad No Control Tower SecurityHub Standard support. |
US_EAST_1
N.
Virginia
US_EAST_2
Ohio.
US_WEST_1
N.
California
US_WEST_2
Oregon.
CA_CENTRAL_1
Canada (Central).
EU_WEST_1
Ireland.
EU_WEST_2
London.
EU_WEST_3
Paris.
EU_CENTRAL_1
Frankfurt.
EU_CENTRAL_2
Zurich.
EU_NORTH_1
Stockholm.
EU_SOUTH_1
Milan.
EU_SOUTH_2
Spain.
AP_NORTHEAST_1
Tokyo.
AP_NORTHEAST_2
Seoul.
AP_NORTHEAST_3
Osaka.
AP_SOUTHEAST_1
Singapore.
AP_SOUTHEAST_2
Sydney, Melbourne.
AP_SOUTHEAST_3
Jakarta No Control Tower SecurityHub Standard support.
AP_SOUTHEAST_4
Melbourne No Control Tower SecurityHub Standard support.
AP_EAST_1
Hong Kong No Control Tower SecurityHub Standard support.
SA_EAST_1
Sao Paulo.
AF_SOUTH_1
Cape Town No Control Tower SecurityHub Standard support.
ME_SOUTH_1
Bahrain, UAE, Tel Aviv No Control Tower SecurityHub Standard support.
ME_CENTRAL_1
UAE No Control Tower SecurityHub Standard support.
IL_CENTRAL_1
Israel No Control Tower SecurityHub Standard support.
AP_SOUTH_2
Hyderabad No Control Tower SecurityHub Standard support.
ReportType
Members
Name | Description |
---|---|
CONTROL_TOWER_CONTROL | No description. |
CONFIG_RULE | No description. |
SECURITY_HUB_STANDARD | No description. |
TAG_POLICY | No description. |
SERVICE_CONTROL_POLICY | No description. |
CONTROL_TOWER_CONTROL
CONFIG_RULE
SECURITY_HUB_STANDARD
TAG_POLICY
SERVICE_CONTROL_POLICY
SecurityHubNotificationSeverity
https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_Severity.html.
Members
Name | Description |
---|---|
INFORMATIONAL | No description. |
LOW | No description. |
MEDIUM | No description. |
HIGH | No description. |
CRITICAL | No description. |
INFORMATIONAL
LOW
MEDIUM
HIGH
CRITICAL
SecurityHubNotificationSWorkflowStatus
https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_Workflow.html.
Members
Name | Description |
---|---|
NEW | No description. |
NOTIFIED | No description. |
SUPPRESSED | No description. |
RESOLVED | No description. |
NEW
NOTIFIED
SUPPRESSED
RESOLVED
TableAction
Members
Name | Description |
---|---|
DESCRIBE | No description. |
SELECT | No description. |
DELETE | No description. |
INSERT | No description. |
DROP | No description. |
ALTER | No description. |
DESCRIBE
SELECT
DELETE
INSERT
DROP
ALTER
TagAction
Members
Name | Description |
---|---|
DESCRIBE | No description. |
ASSOCIATE | No description. |
ALTER | No description. |
DROP | No description. |