API
API Reference
Constructs
AuditGlobalStack
Initializers
import { AuditGlobalStack } from 'aws-data-landing-zone'
new AuditGlobalStack(scope: Construct, stackProps: DlzStackProps, props: DataLandingZoneProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
securityHubNotifications | No description. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
Create unique ResourceNames.
resourceId
Required
- Type: string
securityHubNotifications
public securityHubNotifications(): void
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
import { AuditGlobalStack } from 'aws-data-landing-zone'
AuditGlobalStack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { AuditGlobalStack } from 'aws-data-landing-zone'
AuditGlobalStack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { AuditGlobalStack } from 'aws-data-landing-zone'
AuditGlobalStack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
AuditRegionalStack
Initializers
import { AuditRegionalStack } from 'aws-data-landing-zone'
new AuditRegionalStack(scope: Construct, props: DlzStackProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { AuditRegionalStack } from 'aws-data-landing-zone'
AuditRegionalStack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { AuditRegionalStack } from 'aws-data-landing-zone'
AuditRegionalStack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { AuditRegionalStack } from 'aws-data-landing-zone'
AuditRegionalStack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
DlzStack
Initializers
import { DlzStack } from 'aws-data-landing-zone'
new DlzStack(scope: Construct, props: DlzStackProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { DlzStack } from 'aws-data-landing-zone'
DlzStack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { DlzStack } from 'aws-data-landing-zone'
DlzStack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { DlzStack } from 'aws-data-landing-zone'
DlzStack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
IamAccountAlias
- Implements: IReportResource
Set the IAM Account Alias.
Initializers
import { IamAccountAlias } from 'aws-data-landing-zone'
new IamAccountAlias(scope: Construct, id: string, props: IamAccountAliasProps)
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
props | IamAccountAliasProps | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
props
Required
- Type: IamAccountAliasProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
toString
public toString(): string
Returns a string representation of this construct.
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
fetchCodeDirectory | No description. |
isConstruct
isConstruct
import { IamAccountAlias } from 'aws-data-landing-zone'
IamAccountAlias.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
fetchCodeDirectory
import { IamAccountAlias } from 'aws-data-landing-zone'
IamAccountAlias.fetchCodeDirectory()
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
reportResource | ReportResource | No description. |
node
Required
public readonly node: Node;
- Type: constructs.Node
The tree node.
reportResource
Required
public readonly reportResource: ReportResource;
- Type: ReportResource
IamIdentityCenterGroup
A group of users in the IAM Identity Center.
Initializers
import { IamIdentityCenterGroup } from 'aws-data-landing-zone'
new IamIdentityCenterGroup(scope: Construct, id: string, props: IamIdentityCenterGroupProps)
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
public toString(): string
Returns a string representation of this construct.
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isConstruct
isConstruct
import { IamIdentityCenterGroup } from 'aws-data-landing-zone'
IamIdentityCenterGroup.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
node
Required
public readonly node: Node;
- Type: constructs.Node
The tree node.
IamPasswordPolicy
- Implements: IReportResource
Set the IAM Password Policy.
Initializers
import { IamPasswordPolicy } from 'aws-data-landing-zone'
new IamPasswordPolicy(scope: Construct, id: string, props: IamPasswordPolicyProps)
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
props | IamPasswordPolicyProps | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
props
Required
- Type: IamPasswordPolicyProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
toString
public toString(): string
Returns a string representation of this construct.
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
isConstruct
isConstruct
import { IamPasswordPolicy } from 'aws-data-landing-zone'
IamPasswordPolicy.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
reportResource | ReportResource | No description. |
node
Required
public readonly node: Node;
- Type: constructs.Node
The tree node.
reportResource
Required
public readonly reportResource: ReportResource;
- Type: ReportResource
IdentityStoreUser
A user in the IAM Identity Center.
Initializers
import { IdentityStoreUser } from 'aws-data-landing-zone'
new IdentityStoreUser(scope: Construct, id: string, props: IdentityStoreUserPropsExt)
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
public toString(): string
Returns a string representation of this construct.
Static Functions
Name | Description |
---|---|
isConstruct | Checks if x is a construct. |
fetchCodeDirectory | No description. |
isConstruct
isConstruct
import { IdentityStoreUser } from 'aws-data-landing-zone'
IdentityStoreUser.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
fetchCodeDirectory
import { IdentityStoreUser } from 'aws-data-landing-zone'
IdentityStoreUser.fetchCodeDirectory()
Properties
Name | Type | Description |
---|---|---|
node | constructs.Node | The tree node. |
userId | string | No description. |
node
Required
public readonly node: Node;
- Type: constructs.Node
The tree node.
userId
Required
public readonly userId: string;
- Type: string
LogGlobalStack
Initializers
import { LogGlobalStack } from 'aws-data-landing-zone'
new LogGlobalStack(scope: Construct, props: DlzStackProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { LogGlobalStack } from 'aws-data-landing-zone'
LogGlobalStack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { LogGlobalStack } from 'aws-data-landing-zone'
LogGlobalStack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { LogGlobalStack } from 'aws-data-landing-zone'
LogGlobalStack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
LogRegionalStack
Initializers
import { LogRegionalStack } from 'aws-data-landing-zone'
new LogRegionalStack(scope: Construct, props: DlzStackProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { LogRegionalStack } from 'aws-data-landing-zone'
LogRegionalStack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { LogRegionalStack } from 'aws-data-landing-zone'
LogRegionalStack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { LogRegionalStack } from 'aws-data-landing-zone'
LogRegionalStack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
ManagementGlobalIamIdentityCenterStack
Initializers
import { ManagementGlobalIamIdentityCenterStack } from 'aws-data-landing-zone'
new ManagementGlobalIamIdentityCenterStack(scope: Construct, stackProps: DlzStackProps, props: DataLandingZoneProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { ManagementGlobalIamIdentityCenterStack } from 'aws-data-landing-zone'
ManagementGlobalIamIdentityCenterStack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { ManagementGlobalIamIdentityCenterStack } from 'aws-data-landing-zone'
ManagementGlobalIamIdentityCenterStack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { ManagementGlobalIamIdentityCenterStack } from 'aws-data-landing-zone'
ManagementGlobalIamIdentityCenterStack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
ManagementGlobalStack
Initializers
import { ManagementGlobalStack } from 'aws-data-landing-zone'
new ManagementGlobalStack(scope: Construct, stackProps: ManagementGlobalStackProps, props: DataLandingZoneProps)
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
stackProps | ManagementGlobalStackProps | No description. |
props | DataLandingZoneProps | No description. |
scope
Required
- Type: constructs.Construct
stackProps
Required
props
Required
- Type: DataLandingZoneProps
Methods
Name | Description |
---|---|
toString | Returns a string representation of this construct. |
addDependency | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
budgets | No description. |
deploymentPlatformGitHub | No description. |
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
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
Create unique ResourceNames.
resourceId
Required
- Type: string
budgets
public budgets(): void
deploymentPlatformGitHub
public deploymentPlatformGitHub(): void
iamPermissionBoundary
public iamPermissionBoundary(): void
IAM Policy Permission Boundary.
suspendedOuPolicies
public suspendedOuPolicies(): void
Service Control Policies and Tag Policies applied at the OU level because we won’t need any customizations per account.
workloadAccountsOrgPolicies
public workloadAccountsOrgPolicies(): void
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
import { ManagementGlobalStack } from 'aws-data-landing-zone'
ManagementGlobalStack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { ManagementGlobalStack } from 'aws-data-landing-zone'
ManagementGlobalStack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { ManagementGlobalStack } from 'aws-data-landing-zone'
ManagementGlobalStack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
WorkloadGlobalDataServicesPhase1Stack
Initializers
import { WorkloadGlobalDataServicesPhase1Stack } from 'aws-data-landing-zone'
new WorkloadGlobalDataServicesPhase1Stack(scope: Construct, workloadAccountProps: WorkloadAccountProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { WorkloadGlobalDataServicesPhase1Stack } from 'aws-data-landing-zone'
WorkloadGlobalDataServicesPhase1Stack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { WorkloadGlobalDataServicesPhase1Stack } from 'aws-data-landing-zone'
WorkloadGlobalDataServicesPhase1Stack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { WorkloadGlobalDataServicesPhase1Stack } from 'aws-data-landing-zone'
WorkloadGlobalDataServicesPhase1Stack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
WorkloadGlobalNetworkConnectionsPhase1Stack
Initializers
import { WorkloadGlobalNetworkConnectionsPhase1Stack } from 'aws-data-landing-zone'
new WorkloadGlobalNetworkConnectionsPhase1Stack(scope: Construct, workloadAccountProps: WorkloadAccountProps, props: DataLandingZoneProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
createPeeringRole | No description. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
Create unique ResourceNames.
resourceId
Required
- Type: string
createPeeringRole
public createPeeringRole(from: DlzAccountNetwork, to: DlzAccountNetwork): void
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
import { WorkloadGlobalNetworkConnectionsPhase1Stack } from 'aws-data-landing-zone'
WorkloadGlobalNetworkConnectionsPhase1Stack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { WorkloadGlobalNetworkConnectionsPhase1Stack } from 'aws-data-landing-zone'
WorkloadGlobalNetworkConnectionsPhase1Stack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { WorkloadGlobalNetworkConnectionsPhase1Stack } from 'aws-data-landing-zone'
WorkloadGlobalNetworkConnectionsPhase1Stack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
WorkloadGlobalNetworkConnectionsPhase2Stack
Initializers
import { WorkloadGlobalNetworkConnectionsPhase2Stack } from 'aws-data-landing-zone'
new WorkloadGlobalNetworkConnectionsPhase2Stack(scope: Construct, workloadAccountProps: WorkloadAccountProps, props: DataLandingZoneProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { WorkloadGlobalNetworkConnectionsPhase2Stack } from 'aws-data-landing-zone'
WorkloadGlobalNetworkConnectionsPhase2Stack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { WorkloadGlobalNetworkConnectionsPhase2Stack } from 'aws-data-landing-zone'
WorkloadGlobalNetworkConnectionsPhase2Stack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { WorkloadGlobalNetworkConnectionsPhase2Stack } from 'aws-data-landing-zone'
WorkloadGlobalNetworkConnectionsPhase2Stack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
WorkloadGlobalNetworkConnectionsPhase3Stack
Initializers
import { WorkloadGlobalNetworkConnectionsPhase3Stack } from 'aws-data-landing-zone'
new WorkloadGlobalNetworkConnectionsPhase3Stack(scope: Construct, workloadAccountProps: WorkloadAccountProps, props: DataLandingZoneProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { WorkloadGlobalNetworkConnectionsPhase3Stack } from 'aws-data-landing-zone'
WorkloadGlobalNetworkConnectionsPhase3Stack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { WorkloadGlobalNetworkConnectionsPhase3Stack } from 'aws-data-landing-zone'
WorkloadGlobalNetworkConnectionsPhase3Stack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { WorkloadGlobalNetworkConnectionsPhase3Stack } from 'aws-data-landing-zone'
WorkloadGlobalNetworkConnectionsPhase3Stack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
WorkloadGlobalStack
Initializers
import { WorkloadGlobalStack } from 'aws-data-landing-zone'
new WorkloadGlobalStack(scope: Construct, workloadAccountProps: WorkloadAccountProps, props: DataLandingZoneProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { WorkloadGlobalStack } from 'aws-data-landing-zone'
WorkloadGlobalStack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { WorkloadGlobalStack } from 'aws-data-landing-zone'
WorkloadGlobalStack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { WorkloadGlobalStack } from 'aws-data-landing-zone'
WorkloadGlobalStack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
WorkloadRegionalDataServicesPhase1Stack
Initializers
import { WorkloadRegionalDataServicesPhase1Stack } from 'aws-data-landing-zone'
new WorkloadRegionalDataServicesPhase1Stack(scope: Construct, workloadAccountProps: WorkloadAccountProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { WorkloadRegionalDataServicesPhase1Stack } from 'aws-data-landing-zone'
WorkloadRegionalDataServicesPhase1Stack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { WorkloadRegionalDataServicesPhase1Stack } from 'aws-data-landing-zone'
WorkloadRegionalDataServicesPhase1Stack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { WorkloadRegionalDataServicesPhase1Stack } from 'aws-data-landing-zone'
WorkloadRegionalDataServicesPhase1Stack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
WorkloadRegionalNetworkConnectionsPhase2Stack
Initializers
import { WorkloadRegionalNetworkConnectionsPhase2Stack } from 'aws-data-landing-zone'
new WorkloadRegionalNetworkConnectionsPhase2Stack(scope: Construct, workloadAccountProps: WorkloadAccountProps, props: DataLandingZoneProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { WorkloadRegionalNetworkConnectionsPhase2Stack } from 'aws-data-landing-zone'
WorkloadRegionalNetworkConnectionsPhase2Stack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { WorkloadRegionalNetworkConnectionsPhase2Stack } from 'aws-data-landing-zone'
WorkloadRegionalNetworkConnectionsPhase2Stack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { WorkloadRegionalNetworkConnectionsPhase2Stack } from 'aws-data-landing-zone'
WorkloadRegionalNetworkConnectionsPhase2Stack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
WorkloadRegionalNetworkConnectionsPhase3Stack
Initializers
import { WorkloadRegionalNetworkConnectionsPhase3Stack } from 'aws-data-landing-zone'
new WorkloadRegionalNetworkConnectionsPhase3Stack(scope: Construct, workloadAccountProps: WorkloadAccountProps, props: DataLandingZoneProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { WorkloadRegionalNetworkConnectionsPhase3Stack } from 'aws-data-landing-zone'
WorkloadRegionalNetworkConnectionsPhase3Stack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { WorkloadRegionalNetworkConnectionsPhase3Stack } from 'aws-data-landing-zone'
WorkloadRegionalNetworkConnectionsPhase3Stack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { WorkloadRegionalNetworkConnectionsPhase3Stack } from 'aws-data-landing-zone'
WorkloadRegionalNetworkConnectionsPhase3Stack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
WorkloadRegionalStack
Initializers
import { WorkloadRegionalStack } from 'aws-data-landing-zone'
new WorkloadRegionalStack(scope: Construct, workloadAccountProps: WorkloadAccountProps, props: DataLandingZoneProps)
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 | Use addDependency for dependencies between stacks in an ExpressStage. |
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 | Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible. |
expressDependencies | The ExpressStack dependencies of the stack. |
resourceName | Create unique ResourceNames. |
toString
public toString(): string
Returns a string representation of this construct.
addDependency
public addDependency(target: Stack, reason?: string): void
Use addDependency
for dependencies between stacks in an ExpressStage.
Otherwise, use addExpressDependency
to construct the Pipeline of stacks between Waves and Stages.
target
Required
- Type: aws-cdk-lib.Stack
reason
Optional
- Type: string
addMetadata
public addMetadata(key: string, value: any): void
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
public addTransform(transform: string): void
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
declare const stack: Stack;
stack.addTransform('AWS::Serverless-2016-10-31')
transform
Required
- Type: string
The transform to add.
exportStringListValue
public exportStringListValue(exportedValue: any, options?: ExportValueOptions): string[]
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
public exportValue(exportedValue: any, options?: ExportValueOptions): string
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
public formatArn(components: ArnComponents): string
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
public getLogicalId(element: CfnElement): string
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
public regionalFact(factName: string, defaultValue?: string): string
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
public renameLogicalId(oldId: string, newId: string): void
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
public reportMissingContextKey(report: MissingContext): void
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
public resolve(obj: any): any
Resolve a tokenized value in the context of the current stack.
obj
Required
- Type: any
splitArn
public splitArn(arn: string, arnFormat: ArnFormat): ArnComponents
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
public toJsonString(obj: any, space?: number): string
Convert an object, potentially containing tokens, to a JSON string.
obj
Required
- Type: any
space
Optional
- Type: number
toYamlString
public toYamlString(obj: any): string
Convert an object, potentially containing tokens, to a YAML string.
obj
Required
- Type: any
addExpressDependency
public addExpressDependency(target: ExpressStack, reason?: string): void
Only use to create dependencies between Stacks in Waves and Stages for building the Pipeline, where having cyclic dependencies is not possible.
If the addExpressDependency
is used outside the Pipeline construction,
it will not be safe. Use addDependency
to create stack dependency within the same Stage.
target
Required
- Type: cdk-express-pipeline.ExpressStack
reason
Optional
- Type: string
expressDependencies
public expressDependencies(): ExpressStack[]
The ExpressStack dependencies of the stack.
resourceName
public resourceName(resourceId: string): string
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
import { WorkloadRegionalStack } from 'aws-data-landing-zone'
WorkloadRegionalStack.isConstruct(x: any)
Checks if x
is a construct.
x
Required
- Type: any
Any object.
isStack
import { WorkloadRegionalStack } from 'aws-data-landing-zone'
WorkloadRegionalStack.isStack(x: any)
Return whether the given object is a Stack.
We do attribute detection since we can’t reliably use ‘instanceof’.
x
Required
- Type: any
of
import { WorkloadRegionalStack } from 'aws-data-landing-zone'
WorkloadRegionalStack.of(construct: IConstruct)
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
public readonly node: Node;
- Type: constructs.Node
The tree node.
account
Required
public readonly account: string;
- 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
public readonly artifactId: string;
- Type: string
The ID of the cloud assembly artifact for this stack.
availabilityZones
Required
public readonly availabilityZones: string[];
- 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
public readonly bundlingRequired: boolean;
- Type: boolean
Indicates whether the stack requires bundling or not.
dependencies
Required
public readonly dependencies: Stack[];
- Type: aws-cdk-lib.Stack[]
Return the stacks this stack depends on.
environment
Required
public readonly environment: string;
- 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
public readonly nested: boolean;
- Type: boolean
Indicates if this is a nested stack, in which case parentStack
will include a reference to it’s parent.
notificationArns
Required
public readonly notificationArns: string[];
- Type: string[]
Returns the list of notification Amazon Resource Names (ARNs) for the current stack.
partition
Required
public readonly partition: string;
- Type: string
The partition in which this stack is defined.
region
Required
public readonly region: string;
- 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
public readonly stackId: string;
- Type: string
The ID of the stack.
Example
// After resolving, looks like'arn:aws:cloudformation:us-west-2:123456789012:stack/teststack/51af3dc0-da77-11e4-872e-1234567db123'
stackName
Required
public readonly stackName: string;
- 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
public readonly synthesizer: IStackSynthesizer;
- Type: aws-cdk-lib.IStackSynthesizer
Synthesis method for this stack.
tags
Required
public readonly tags: TagManager;
- Type: aws-cdk-lib.TagManager
Tags to be applied to the stack.
templateFile
Required
public readonly templateFile: string;
- Type: string
The name of the CloudFormation template file emitted to the output directory during synthesis.
Example value: MyStack.template.json
templateOptions
Required
public readonly templateOptions: ITemplateOptions;
- Type: aws-cdk-lib.ITemplateOptions
Options for CloudFormation template (like version, transform, description).
urlSuffix
Required
public readonly urlSuffix: string;
- Type: string
The Amazon domain suffix for the region in which this stack is defined.
nestedStackParent
Optional
public readonly nestedStackParent: Stack;
- Type: aws-cdk-lib.Stack
If this is a nested stack, returns it’s parent stack.
nestedStackResource
Optional
public readonly nestedStackResource: CfnResource;
- 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
public readonly terminationProtection: boolean;
- Type: boolean
Whether termination protection is enabled for this stack.
id
Required
public readonly id: string;
- Type: string
The stack identifier which is a combination of the wave, stage and stack id.
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
The stage that the stack belongs to.
accountId
Required
public readonly accountId: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
Structs
AuditStacks
Initializer
import { AuditStacks } from 'aws-data-landing-zone'
const auditStacks: AuditStacks = { ... }
Properties
Name | Type | Description |
---|---|---|
global | AuditGlobalStack | No description. |
global
Required
public readonly global: AuditGlobalStack;
- Type: AuditGlobalStack
BaseSharedTagProps
Initializer
import { BaseSharedTagProps } from 'aws-data-landing-zone'
const baseSharedTagProps: BaseSharedTagProps = { ... }
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
public readonly principals: string[];
- Type: string[]
A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to.
specificValues
Optional
public readonly specificValues: string[];
- Type: string[]
OPTIONAL - A list of specific values of the tag that can be shared.
All possible values if omitted.
BastionHost
Initializer
import { BastionHost } from 'aws-data-landing-zone'
const bastionHost: BastionHost = { ... }
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
public readonly instanceType: InstanceType;
- Type: aws-cdk-lib.aws_ec2.InstanceType
The bastion instance EC2 type.
location
Required
public readonly location: NetworkAddress;
- Type: NetworkAddress
The location where the Bastion will exist.
The network address must target a specific subnet
name
Optional
public readonly name: string;
- Type: string
The name of the Bastion, defaults to ‘default’, specify the name if there are more than one per account.
BudgetSubscribers
Initializer
import { BudgetSubscribers } from 'aws-data-landing-zone'
const budgetSubscribers: BudgetSubscribers = { ... }
Properties
Name | Type | Description |
---|---|---|
emails | string[] | No description. |
slacks | SlackChannel[] | No description. |
snsTopicName | string | Optional, specify to reuse the same SNS topic for multiple budgets. |
emails
Optional
public readonly emails: string[];
- Type: string[]
slacks
Optional
public readonly slacks: SlackChannel[];
- Type: SlackChannel[]
snsTopicName
Optional
public readonly snsTopicName: string;
- Type: string
Optional, specify to reuse the same SNS topic for multiple budgets.
DataLandingZoneClientBastionProps
Initializer
import { DataLandingZoneClientBastionProps } from 'aws-data-landing-zone'
const dataLandingZoneClientBastionProps: DataLandingZoneClientBastionProps = { ... }
Properties
Name | Type | Description |
---|---|---|
accountName | string | No description. |
region | string | No description. |
bastionName | string | No description. |
accountName
Required
public readonly accountName: string;
- Type: string
region
Required
public readonly region: string;
- Type: string
bastionName
Optional
public readonly bastionName: string;
- Type: string
DataLandingZoneClientProps
Initializer
import { DataLandingZoneClientProps } from 'aws-data-landing-zone'
const dataLandingZoneClientProps: DataLandingZoneClientProps = { ... }
Properties
Name | Type | Description |
---|---|---|
accountName | string | No description. |
region | string | No description. |
accountName
Required
public readonly accountName: string;
- Type: string
region
Required
public readonly region: string;
- Type: string
DataLandingZoneClientRouteTableIdProps
Initializer
import { DataLandingZoneClientRouteTableIdProps } from 'aws-data-landing-zone'
const dataLandingZoneClientRouteTableIdProps: DataLandingZoneClientRouteTableIdProps = { ... }
Properties
Name | Type | Description |
---|---|---|
accountName | string | No description. |
region | string | No description. |
routeTable | string | No description. |
vpcName | string | No description. |
accountName
Required
public readonly accountName: string;
- Type: string
region
Required
public readonly region: string;
- Type: string
routeTable
Required
public readonly routeTable: string;
- Type: string
vpcName
Required
public readonly vpcName: string;
- Type: string
DataLandingZoneClientSubnetIdProps
Initializer
import { DataLandingZoneClientSubnetIdProps } from 'aws-data-landing-zone'
const dataLandingZoneClientSubnetIdProps: DataLandingZoneClientSubnetIdProps = { ... }
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
public readonly accountName: string;
- Type: string
region
Required
public readonly region: string;
- Type: string
routeTable
Required
public readonly routeTable: string;
- Type: string
subnetName
Required
public readonly subnetName: string;
- Type: string
vpcName
Required
public readonly vpcName: string;
- Type: string
DataLandingZoneClientVpcIdProps
Initializer
import { DataLandingZoneClientVpcIdProps } from 'aws-data-landing-zone'
const dataLandingZoneClientVpcIdProps: DataLandingZoneClientVpcIdProps = { ... }
Properties
Name | Type | Description |
---|---|---|
accountName | string | No description. |
region | string | No description. |
vpcName | string | No description. |
accountName
Required
public readonly accountName: string;
- Type: string
region
Required
public readonly region: string;
- Type: string
vpcName
Required
public readonly vpcName: string;
- Type: string
DataLandingZoneProps
Initializer
import { DataLandingZoneProps } from 'aws-data-landing-zone'
const dataLandingZoneProps: DataLandingZoneProps = { ... }
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
public readonly budgets: DlzBudgetProps[];
- Type: DlzBudgetProps[]
localProfile
Required
public readonly localProfile: string;
- 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
public readonly mandatoryTags: MandatoryTags;
- 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
public readonly organization: DLzOrganization;
- Type: DLzOrganization
regions
Required
public readonly regions: DlzRegions;
- Type: DlzRegions
securityHubNotifications
Required
public readonly securityHubNotifications: SecurityHubNotification[];
- Type: SecurityHubNotification[]
additionalMandatoryTags
Optional
public readonly additionalMandatoryTags: DlzTag[];
- 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
public readonly defaultNotification: NotificationDetailsProps;
- 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
public readonly denyServiceList: string[];
- Type: string[]
- Default: DataLandingZone.defaultDenyServiceList()
List of services to deny in the organization SCP.
If not specified, the default defined by
deploymentPlatform
Optional
public readonly deploymentPlatform: DeploymentPlatform;
- Type: DeploymentPlatform
iamIdentityCenter
Optional
public readonly iamIdentityCenter: IamIdentityCenterProps;
- Type: IamIdentityCenterProps
IAM Identity Center configuration.
iamPolicyPermissionBoundary
Optional
public readonly iamPolicyPermissionBoundary: IamPolicyPermissionsBoundaryProps;
IAM Policy Permission Boundary.
network
Optional
public readonly network: Network;
- Type: Network
printDeploymentOrder
Optional
public readonly printDeploymentOrder: boolean;
- Type: boolean
- Default: true
Print the deployment order to the console.
printReport
Optional
public readonly printReport: boolean;
- Type: boolean
- Default: true
Print the report grouped by account, type and aggregated regions to the console.
saveReport
Optional
public readonly saveReport: boolean;
- Type: boolean
- Default: true
Save the raw report items and the reports grouped by account to a ./.dlz-reports
folder.
DeploymentPlatform
Initializer
import { DeploymentPlatform } from 'aws-data-landing-zone'
const deploymentPlatform: DeploymentPlatform = { ... }
Properties
Name | Type | Description |
---|---|---|
gitHub | DeploymentPlatformGitHub | No description. |
gitHub
Optional
public readonly gitHub: DeploymentPlatformGitHub;
- Type: DeploymentPlatformGitHub
DeploymentPlatformGitHub
Initializer
import { DeploymentPlatformGitHub } from 'aws-data-landing-zone'
const deploymentPlatformGitHub: DeploymentPlatformGitHub = { ... }
Properties
Name | Type | Description |
---|---|---|
references | GitHubReference[] | No description. |
references
Required
public readonly references: GitHubReference[];
- Type: GitHubReference[]
DLzAccount
Initializer
import { DLzAccount } from 'aws-data-landing-zone'
const dLzAccount: DLzAccount = { ... }
Properties
Name | Type | Description |
---|---|---|
accountId | string | No description. |
name | string | No description. |
type | DlzAccountType | No description. |
defaultNotification | NotificationDetailsProps | Default notifications settings for the account. |
iam | DLzIamProps | IAM configuration for the account. |
lakeFormation | DlzLakeFormationProps[] | LakeFormation settings and tags. |
vpcs | DlzVpcProps[] | No description. |
accountId
Required
public readonly accountId: string;
- Type: string
name
Required
public readonly name: string;
- Type: string
type
Required
public readonly type: DlzAccountType;
- Type: DlzAccountType
defaultNotification
Optional
public readonly defaultNotification: NotificationDetailsProps;
- 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.
iam
Optional
public readonly iam: DLzIamProps;
- Type: DLzIamProps
IAM configuration for the account.
lakeFormation
Optional
public readonly lakeFormation: DlzLakeFormationProps[];
- Type: DlzLakeFormationProps[]
LakeFormation settings and tags.
vpcs
Optional
public readonly vpcs: DlzVpcProps[];
- Type: DlzVpcProps[]
DlzAccountNetwork
Initializer
import { DlzAccountNetwork } from 'aws-data-landing-zone'
const dlzAccountNetwork: DlzAccountNetwork = { ... }
Properties
Name | Type | Description |
---|---|---|
dlzAccount | DLzAccount | No description. |
vpcs | NetworkEntityVpc[] | No description. |
dlzAccount
Required
public readonly dlzAccount: DLzAccount;
- Type: DLzAccount
vpcs
Required
public readonly vpcs: NetworkEntityVpc[];
- Type: NetworkEntityVpc[]
DLzAccountSuspended
Initializer
import { DLzAccountSuspended } from 'aws-data-landing-zone'
const dLzAccountSuspended: DLzAccountSuspended = { ... }
Properties
Name | Type | Description |
---|---|---|
accountId | string | No description. |
name | string | No description. |
accountId
Required
public readonly accountId: string;
- Type: string
name
Required
public readonly name: string;
- Type: string
DlzBudgetProps
Initializer
import { DlzBudgetProps } from 'aws-data-landing-zone'
const dlzBudgetProps: DlzBudgetProps = { ... }
Properties
Name | Type | Description |
---|---|---|
amount | number | No description. |
name | string | No description. |
subscribers | BudgetSubscribers | No description. |
forTags | {[ key: string ]: string} | No description. |
amount
Required
public readonly amount: number;
- Type: number
name
Required
public readonly name: string;
- Type: string
subscribers
Required
public readonly subscribers: BudgetSubscribers;
- Type: BudgetSubscribers
forTags
Optional
public readonly forTags: {[ key: string ]: string};
- 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
import { DlzControlTowerControlIdNameProps } from 'aws-data-landing-zone'
const dlzControlTowerControlIdNameProps: DlzControlTowerControlIdNameProps = { ... }
Properties
Name | Type | Description |
---|---|---|
euWest1 | string | No description. |
usEast1 | string | No description. |
euWest1
Required
public readonly euWest1: string;
- Type: string
usEast1
Required
public readonly usEast1: string;
- Type: string
DlzControlTowerEnabledControlProps
Initializer
import { DlzControlTowerEnabledControlProps } from 'aws-data-landing-zone'
const dlzControlTowerEnabledControlProps: DlzControlTowerEnabledControlProps = { ... }
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
public readonly appliedOu: string;
- Type: string
control
Required
public readonly control: IDlzControlTowerControl;
- Type: IDlzControlTowerControl
controlTowerAccountId
Required
public readonly controlTowerAccountId: string;
- Type: string
controlTowerRegion
Required
public readonly controlTowerRegion: Region;
- Type: Region
organizationId
Required
public readonly organizationId: string;
- Type: string
tags
Optional
public readonly tags: CfnTag[];
- Type: aws-cdk-lib.CfnTag[]
DlzIamPolicy
Initializer
import { DlzIamPolicy } from 'aws-data-landing-zone'
const dlzIamPolicy: DlzIamPolicy = { ... }
Properties
Name | Type | Description |
---|---|---|
policyName | string | The name of the policy. |
document | aws-cdk-lib.aws_iam.PolicyDocument | Initial PolicyDocument to use for this Policy. |
statements | aws-cdk-lib.aws_iam.PolicyStatement[] | Initial set of permissions to add to this policy document. |
policyName
Required
public readonly policyName: string;
- Type: string
The name of the policy.
Differs from Policy
, now required.
document
Optional
public readonly document: PolicyDocument;
- Type: aws-cdk-lib.aws_iam.PolicyDocument
- Default: An empty policy.
Initial PolicyDocument to use for this Policy.
If omited, any
PolicyStatement
provided in the statements
property will be applied
against the empty default PolicyDocument
.
statements
Optional
public readonly statements: PolicyStatement[];
- Type: aws-cdk-lib.aws_iam.PolicyStatement[]
- Default: No statements.
Initial set of permissions to add to this policy document.
You can also use addStatements(...statement)
to add permissions later.
DLzIamProps
Initializer
import { DLzIamProps } from 'aws-data-landing-zone'
const dLzIamProps: DLzIamProps = { ... }
Properties
Name | Type | Description |
---|---|---|
accountAlias | string | The account alias to set for this account. |
passwordPolicy | IamPasswordPolicyProps | The password policy for this account If not set the default AWS IAM policy is applied, use this to customize the password policy. |
policies | DlzIamPolicy[] | IAM policies to create in this account. |
roles | DlzIamRole[] | IAM roles to create in this account. |
userGroups | DLzIamUserGroup[] | IAM groups to create in this account with their associated users. |
users | DlzIamUser[] | IAM users to create in this account. |
accountAlias
Optional
public readonly accountAlias: string;
- Type: string
The account alias to set for this account.
passwordPolicy
Optional
public readonly passwordPolicy: IamPasswordPolicyProps;
- Type: IamPasswordPolicyProps
The password policy for this account If not set the default AWS IAM policy is applied, use this to customize the password policy.
policies
Optional
public readonly policies: DlzIamPolicy[];
- Type: DlzIamPolicy[]
IAM policies to create in this account.
roles
Optional
public readonly roles: DlzIamRole[];
- Type: DlzIamRole[]
IAM roles to create in this account.
userGroups
Optional
public readonly userGroups: DLzIamUserGroup[];
- Type: DLzIamUserGroup[]
IAM groups to create in this account with their associated users.
users
Optional
public readonly users: DlzIamUser[];
- Type: DlzIamUser[]
IAM users to create in this account.
DlzIamRole
Initializer
import { DlzIamRole } from 'aws-data-landing-zone'
const dlzIamRole: DlzIamRole = { ... }
Properties
Name | Type | Description |
---|---|---|
assumedBy | aws-cdk-lib.aws_iam.IPrincipal | The IAM principal (i.e. new ServicePrincipal('sns.amazonaws.com') ) which can assume this role. |
roleName | string | A name for the IAM role. |
description | string | A description of the role. |
externalIds | string[] | List of IDs that the role assumer needs to provide one of when assuming this role. |
inlinePolicies | {[ key: string ]: aws-cdk-lib.aws_iam.PolicyDocument} | A list of named policies to inline into this role. |
managedPolicyNames | string[] | A list of managed policies associated with this role. |
maxSessionDuration | aws-cdk-lib.Duration | The maximum session duration that you want to set for the specified role. |
permissionsBoundary | aws-cdk-lib.aws_iam.IManagedPolicy | AWS supports permissions boundaries for IAM entities (users or roles). |
assumedBy
Required
public readonly assumedBy: IPrincipal;
- Type: aws-cdk-lib.aws_iam.IPrincipal
The IAM principal (i.e. new ServicePrincipal('sns.amazonaws.com')
) which can assume this role.
You can later modify the assume role policy document by accessing it via
the assumeRolePolicy
property.
roleName
Required
public readonly roleName: string;
- Type: string
A name for the IAM role.
For valid values, see the RoleName parameter for the CreateRole action in the IAM API Reference.
Differs from Role
, now required.
description
Optional
public readonly description: string;
- Type: string
A description of the role.
It can be up to 1000 characters long.
externalIds
Optional
public readonly externalIds: string[];
- Type: string[]
List of IDs that the role assumer needs to provide one of when assuming this role.
If the configured and provided external IDs do not match, the AssumeRole operation will fail.
inlinePolicies
Optional
public readonly inlinePolicies: {[ key: string ]: PolicyDocument};
- Type: {[ key: string ]: aws-cdk-lib.aws_iam.PolicyDocument}
A list of named policies to inline into this role.
These policies will be
created with the role, whereas those added by addToPolicy
are added
using a separate CloudFormation resource (allowing a way around circular
dependencies that could otherwise be introduced)..
managedPolicyNames
Optional
public readonly managedPolicyNames: string[];
- Type: string[]
A list of managed policies associated with this role.
Differs from Role
that accepts IManagedPolicy[]
. This is to not expose the scope of the stack and make
it difficult to pass new iam.ManagedPolicy.fromAwsManagedPolicyName...
that gets defined as a construct
maxSessionDuration
Optional
public readonly maxSessionDuration: Duration;
- Type: aws-cdk-lib.Duration
- Default: Duration.hours(1)
The maximum session duration that you want to set for the specified role.
This setting can have a value from 1 hour (3600sec) to 12 (43200sec) hours.
Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter.
If users don’t specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL.
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
permissionsBoundary
Optional
public readonly permissionsBoundary: IManagedPolicy;
- Type: aws-cdk-lib.aws_iam.IManagedPolicy
- Default: No permissions boundary.
AWS supports permissions boundaries for IAM entities (users or roles).
A permissions boundary is an advanced feature for using a managed policy to set the maximum permissions that an identity-based policy can grant to an IAM entity. An entity’s permissions boundary allows it to perform only the actions that are allowed by both its identity-based policies and its permissions boundaries.
https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
DlzIamUser
Initializer
import { DlzIamUser } from 'aws-data-landing-zone'
const dlzIamUser: DlzIamUser = { ... }
Properties
Name | Type | Description |
---|---|---|
userName | string | A name for the IAM user. |
managedPolicyNames | string[] | A list of managed policies associated with this role. |
password | aws-cdk-lib.SecretValue | The password for the user. This is required so the user can access the AWS Management Console. |
passwordResetRequired | boolean | Specifies whether the user is required to set a new password the next time the user logs in to the AWS Management Console. |
permissionsBoundary | aws-cdk-lib.aws_iam.IManagedPolicy | AWS supports permissions boundaries for IAM entities (users or roles). |
userName
Required
public readonly userName: string;
- Type: string
A name for the IAM user.
Differs from User
, now required.
managedPolicyNames
Optional
public readonly managedPolicyNames: string[];
- Type: string[]
A list of managed policies associated with this role.
Differs from User
that accepts IManagedPolicy[]
. This is to not expose the scope of the stack and make
it difficult to pass new iam.ManagedPolicy.fromAwsManagedPolicyName...
that gets defined as a construct
password
Optional
public readonly password: SecretValue;
- Type: aws-cdk-lib.SecretValue
- Default: User won’t be able to access the management console without a password.
The password for the user. This is required so the user can access the AWS Management Console.
You can use SecretValue.unsafePlainText
to specify a password in plain text or
use secretsmanager.Secret.fromSecretAttributes
to reference a secret in
Secrets Manager.
passwordResetRequired
Optional
public readonly passwordResetRequired: boolean;
- Type: boolean
- Default: false
Specifies whether the user is required to set a new password the next time the user logs in to the AWS Management Console.
If this is set to ‘true’, you must also specify “initialPassword”.
permissionsBoundary
Optional
public readonly permissionsBoundary: IManagedPolicy;
- Type: aws-cdk-lib.aws_iam.IManagedPolicy
AWS supports permissions boundaries for IAM entities (users or roles).
A permissions boundary is an advanced feature for using a managed policy to set the maximum permissions that an identity-based policy can grant to an IAM entity. An entity’s permissions boundary allows it to perform only the actions that are allowed by both its identity-based policies and its permissions boundaries.
https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html
DLzIamUserGroup
Initializer
import { DLzIamUserGroup } from 'aws-data-landing-zone'
const dLzIamUserGroup: DLzIamUserGroup = { ... }
Properties
Name | Type | Description |
---|---|---|
groupName | string | A name for the IAM group. |
users | string[] | List of usernames that should be added to this group. |
managedPolicyNames | string[] | A list of managed policies associated with this role. |
groupName
Required
public readonly groupName: string;
- Type: string
A name for the IAM group.
Differs from Group
, now required.
users
Required
public readonly users: string[];
- Type: string[]
List of usernames that should be added to this group.
Differs from Group
, does not exist
managedPolicyNames
Optional
public readonly managedPolicyNames: string[];
- Type: string[]
A list of managed policies associated with this role.
Differs from Group
that accepts IManagedPolicy[]
. This is to not expose the scope of the stack and make
it difficult to pass new iam.ManagedPolicy.fromAwsManagedPolicyName...
that gets defined as a construct
DlzLakeFormationProps
Initializer
import { DlzLakeFormationProps } from 'aws-data-landing-zone'
const dlzLakeFormationProps: DlzLakeFormationProps = { ... }
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
public readonly admins: string[];
- Type: string[]
A list of strings representing the IAM role ARNs.
permissions
Required
public readonly permissions: LakePermission[];
- Type: LakePermission[]
A list of permission settings, specifying which Lake Formation permissions apply to which principals.
region
Required
public readonly region: Region;
- Type: Region
The region where LakeFormation will be created in.
tags
Required
public readonly tags: LFTagSharable[];
- Type: LFTagSharable[]
A list of Lake Formation tags that can be shared across accounts and principals.
crossAccountVersion
Optional
public readonly crossAccountVersion: number;
- 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
public readonly hybridMode: boolean;
- 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
import { DLzManagementAccount } from 'aws-data-landing-zone'
const dLzManagementAccount: DLzManagementAccount = { ... }
Properties
Name | Type | Description |
---|---|---|
accountId | string | No description. |
accountId
Required
public readonly accountId: string;
- Type: string
DLzOrganization
Initializer
import { DLzOrganization } from 'aws-data-landing-zone'
const dLzOrganization: DLzOrganization = { ... }
Properties
Name | Type | Description |
---|---|---|
organizationId | string | No description. |
ous | OrgOus | No description. |
root | RootOptions | No description. |
organizationId
Required
public readonly organizationId: string;
- Type: string
ous
Required
public readonly ous: OrgOus;
- Type: OrgOus
root
Required
public readonly root: RootOptions;
- Type: RootOptions
DlzRegions
Initializer
import { DlzRegions } from 'aws-data-landing-zone'
const dlzRegions: DlzRegions = { ... }
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
public readonly global: Region;
- Type: Region
Also known as the Home region for Control Tower.
regional
Required
public readonly regional: Region[];
- Type: Region[]
The other regions to support (do not specify the global region again).
DlzRouteTableProps
Initializer
import { DlzRouteTableProps } from 'aws-data-landing-zone'
const dlzRouteTableProps: DlzRouteTableProps = { ... }
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
subnets | DlzSubnetProps[] | No description. |
name
Required
public readonly name: string;
- Type: string
subnets
Required
public readonly subnets: DlzSubnetProps[];
- Type: DlzSubnetProps[]
DlzServiceControlPolicyProps
Initializer
import { DlzServiceControlPolicyProps } from 'aws-data-landing-zone'
const dlzServiceControlPolicyProps: DlzServiceControlPolicyProps = { ... }
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
public readonly name: string;
- Type: string
statements
Required
public readonly statements: PolicyStatement[];
- Type: aws-cdk-lib.aws_iam.PolicyStatement[]
description
Optional
public readonly description: string;
- Type: string
tags
Optional
public readonly tags: CfnTag[];
- Type: aws-cdk-lib.CfnTag[]
targetIds
Optional
public readonly targetIds: string[];
- Type: string[]
DlzStackNameProps
Initializer
import { DlzStackNameProps } from 'aws-data-landing-zone'
const dlzStackNameProps: DlzStackNameProps = { ... }
Properties
Name | Type | Description |
---|---|---|
region | string | No description. |
stack | string | No description. |
account | string | No description. |
ou | string | No description. |
region
Required
public readonly region: string;
- Type: string
stack
Required
public readonly stack: string;
- Type: string
account
Optional
public readonly account: string;
- Type: string
ou
Optional
public readonly ou: string;
- Type: string
DlzStackProps
Initializer
import { DlzStackProps } from 'aws-data-landing-zone'
const dlzStackProps: DlzStackProps = { ... }
Properties
Name | Type | Description |
---|---|---|
env | aws-cdk-lib.Environment | No description. |
name | DlzStackNameProps | No description. |
stage | cdk-express-pipeline.ExpressStage | No description. |
env
Required
public readonly env: Environment;
- Type: aws-cdk-lib.Environment
name
Required
public readonly name: DlzStackNameProps;
- Type: DlzStackNameProps
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
DlzSubnetProps
Initializer
import { DlzSubnetProps } from 'aws-data-landing-zone'
const dlzSubnetProps: DlzSubnetProps = { ... }
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
public readonly cidr: string;
- Type: string
The CIDR block of the subnet.
name
Required
public readonly name: string;
- Type: string
The name of the subnet, must be unique within the routeTable.
az
Optional
public readonly az: string;
- Type: string
Optional.
The Availability Zone of the subnet, if not specified a random AZ will be selected
DlzTag
Initializer
import { DlzTag } from 'aws-data-landing-zone'
const dlzTag: DlzTag = { ... }
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
values | string[] | Specifying an empty array or undefined still enforces the tag presence but does not enforce the value. |
name
Required
public readonly name: string;
- Type: string
values
Optional
public readonly values: string[];
- Type: string[]
Specifying an empty array or undefined still enforces the tag presence but does not enforce the value.
DlzTagPolicyProps
Initializer
import { DlzTagPolicyProps } from 'aws-data-landing-zone'
const dlzTagPolicyProps: DlzTagPolicyProps = { ... }
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
public readonly name: string;
- Type: string
policyTags
Required
public readonly policyTags: DlzTag[];
- Type: DlzTag[]
description
Optional
public readonly description: string;
- Type: string
tags
Optional
public readonly tags: CfnTag[];
- Type: aws-cdk-lib.CfnTag[]
targetIds
Optional
public readonly targetIds: string[];
- Type: string[]
DlzVpcProps
Initializer
import { DlzVpcProps } from 'aws-data-landing-zone'
const dlzVpcProps: DlzVpcProps = { ... }
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
public readonly cidr: string;
- Type: string
The CIDR block of the VPC.
name
Required
public readonly name: string;
- Type: string
The name of the VPC, must be unique within the region.
region
Required
public readonly region: Region;
- Type: Region
The region where the VPC will be created.
routeTables
Required
public readonly routeTables: DlzRouteTableProps[];
- 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:
public async diffAll(props: DataLandingZoneProps, _: ForceNoPythonArgumentLifting = {})
export class DataLandingZone { constructor(app: App, props: DataLandingZoneProps, _: ForceNoPythonArgumentLifting = {}) {
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
import { ForceNoPythonArgumentLifting } from 'aws-data-landing-zone'
const forceNoPythonArgumentLifting: ForceNoPythonArgumentLifting = { ... }
GitHubReference
Initializer
import { GitHubReference } from 'aws-data-landing-zone'
const gitHubReference: GitHubReference = { ... }
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
public readonly owner: string;
- Type: string
The owner of the GitHub repository.
repo
Required
public readonly repo: string;
- Type: string
The repository name.
filter
Optional
public readonly filter: string;
- 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
import { GlobalVariables } from 'aws-data-landing-zone'
const globalVariables: GlobalVariables = { ... }
Properties
Name | Type | Description |
---|---|---|
budgetSnsCache | {[ key: string ]: GlobalVariablesBudgetSnsCacheRecord} | No description. |
dlzAccountNetworks | DlzAccountNetworks | No description. |
ncp1 | GlobalVariablesNcp1 | No description. |
ncp2 | GlobalVariablesNcp2 | No description. |
ncp3 | GlobalVariablesNcp3 | No description. |
budgetSnsCache
Required
public readonly budgetSnsCache: {[ key: string ]: GlobalVariablesBudgetSnsCacheRecord};
- Type: {[ key: string ]: GlobalVariablesBudgetSnsCacheRecord}
dlzAccountNetworks
Required
public readonly dlzAccountNetworks: DlzAccountNetworks;
- Type: DlzAccountNetworks
ncp1
Required
public readonly ncp1: GlobalVariablesNcp1;
- Type: GlobalVariablesNcp1
ncp2
Required
public readonly ncp2: GlobalVariablesNcp2;
- Type: GlobalVariablesNcp2
ncp3
Required
public readonly ncp3: GlobalVariablesNcp3;
- Type: GlobalVariablesNcp3
GlobalVariablesBudgetSnsCacheRecord
Initializer
import { GlobalVariablesBudgetSnsCacheRecord } from 'aws-data-landing-zone'
const globalVariablesBudgetSnsCacheRecord: GlobalVariablesBudgetSnsCacheRecord = { ... }
Properties
Name | Type | Description |
---|---|---|
subscribers | BudgetSubscribers | No description. |
topic | aws-cdk-lib.aws_sns.Topic | No description. |
subscribers
Required
public readonly subscribers: BudgetSubscribers;
- Type: BudgetSubscribers
topic
Required
public readonly topic: Topic;
- Type: aws-cdk-lib.aws_sns.Topic
GlobalVariablesNcp1
Initializer
import { GlobalVariablesNcp1 } from 'aws-data-landing-zone'
const globalVariablesNcp1: GlobalVariablesNcp1 = { ... }
Properties
Name | Type | Description |
---|---|---|
vpcPeeringRoleKeys | string[] | No description. |
vpcPeeringRoleKeys
Required
public readonly vpcPeeringRoleKeys: string[];
- Type: string[]
GlobalVariablesNcp2
Initializer
import { GlobalVariablesNcp2 } from 'aws-data-landing-zone'
const globalVariablesNcp2: GlobalVariablesNcp2 = { ... }
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
public readonly ownerVpcIds: DlzSsmReaderStackCache;
- Type: DlzSsmReaderStackCache
peeringConnections
Required
public readonly peeringConnections: {[ key: string ]: CfnVPCPeeringConnection};
- Type: {[ key: string ]: aws-cdk-lib.aws_ec2.CfnVPCPeeringConnection}
peeringRoleArns
Required
public readonly peeringRoleArns: DlzSsmReaderStackCache;
- Type: DlzSsmReaderStackCache
GlobalVariablesNcp3
Initializer
import { GlobalVariablesNcp3 } from 'aws-data-landing-zone'
const globalVariablesNcp3: GlobalVariablesNcp3 = { ... }
Properties
Name | Type | Description |
---|---|---|
routeTablesSsmCache | DlzSsmReaderStackCache | No description. |
vpcPeeringConnectionIds | DlzSsmReaderStackCache | No description. |
routeTablesSsmCache
Required
public readonly routeTablesSsmCache: DlzSsmReaderStackCache;
- Type: DlzSsmReaderStackCache
vpcPeeringConnectionIds
Required
public readonly vpcPeeringConnectionIds: DlzSsmReaderStackCache;
- Type: DlzSsmReaderStackCache
IamAccountAliasProps
Initializer
import { IamAccountAliasProps } from 'aws-data-landing-zone'
const iamAccountAliasProps: IamAccountAliasProps = { ... }
Properties
Name | Type | Description |
---|---|---|
accountAlias | string | Must be not more than 63 characters. |
accountAlias
Required
public readonly accountAlias: string;
- Type: string
Must be not more than 63 characters.
Valid characters are a-z, 0-9, and - (hyphen).
IamIdentityCenterAccessGroupProps
An access group in the IAM Identity Center.
Initializer
import { IamIdentityCenterAccessGroupProps } from 'aws-data-landing-zone'
const iamIdentityCenterAccessGroupProps: IamIdentityCenterAccessGroupProps = { ... }
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
public readonly accountNames: string[];
- Type: string[]
name
Required
public readonly name: string;
- Type: string
permissionSetName
Required
public readonly permissionSetName: string;
- Type: string
description
Optional
public readonly description: string;
- Type: string
userNames
Optional
public readonly userNames: string[];
- Type: string[]
IamIdentityCenterGroupProps
A group of users in the IAM Identity Center.
Initializer
import { IamIdentityCenterGroupProps } from 'aws-data-landing-zone'
const iamIdentityCenterGroupProps: IamIdentityCenterGroupProps = { ... }
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
public readonly accounts: string[];
- Type: string[]
identityStoreId
Required
public readonly identityStoreId: string;
- Type: string
name
Required
public readonly name: string;
- Type: string
permissionSet
Required
public readonly permissionSet: CfnPermissionSet;
- Type: aws-cdk-lib.aws_sso.CfnPermissionSet
ssoArn
Required
public readonly ssoArn: string;
- Type: string
users
Required
public readonly users: IamIdentityCenterGroupUser[];
- Type: IamIdentityCenterGroupUser[]
description
Optional
public readonly description: string;
- Type: string
IamIdentityCenterGroupUser
A user in the IAM Identity Center.
Initializer
import { IamIdentityCenterGroupUser } from 'aws-data-landing-zone'
const iamIdentityCenterGroupUser: IamIdentityCenterGroupUser = { ... }
Properties
Name | Type | Description |
---|---|---|
userId | string | No description. |
userName | string | No description. |
userId
Required
public readonly userId: string;
- Type: string
userName
Required
public readonly userName: string;
- Type: string
IamIdentityCenterPermissionSetProps
A permission set in the IAM Identity Center.
Initializer
import { IamIdentityCenterPermissionSetProps } from 'aws-data-landing-zone'
const iamIdentityCenterPermissionSetProps: IamIdentityCenterPermissionSetProps = { ... }
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
description | string | No description. |
inlinePolicyDocument | aws-cdk-lib.aws_iam.PolicyDocument | 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
public readonly name: string;
- Type: string
description
Optional
public readonly description: string;
- Type: string
inlinePolicyDocument
Optional
public readonly inlinePolicyDocument: PolicyDocument;
- Type: aws-cdk-lib.aws_iam.PolicyDocument
managedPolicyArns
Optional
public readonly managedPolicyArns: string[];
- Type: string[]
permissionsBoundary
Optional
public readonly permissionsBoundary: IResolvable | PermissionsBoundaryProperty;
- Type: aws-cdk-lib.IResolvable | aws-cdk-lib.aws_sso.CfnPermissionSet.PermissionsBoundaryProperty
sessionDuration
Optional
public readonly sessionDuration: Duration;
- Type: aws-cdk-lib.Duration
IamIdentityCenterProps
Initializer
import { IamIdentityCenterProps } from 'aws-data-landing-zone'
const iamIdentityCenterProps: IamIdentityCenterProps = { ... }
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
public readonly arn: string;
- Type: string
id
Required
public readonly id: string;
- Type: string
storeId
Required
public readonly storeId: string;
- Type: string
accessGroups
Optional
public readonly accessGroups: IamIdentityCenterAccessGroupProps[];
permissionSets
Optional
public readonly permissionSets: IamIdentityCenterPermissionSetProps[];
users
Optional
public readonly users: IdentityStoreUserProps[];
- Type: IdentityStoreUserProps[]
IamPasswordPolicyProps
Initializer
import { IamPasswordPolicyProps } from 'aws-data-landing-zone'
const iamPasswordPolicyProps: IamPasswordPolicyProps = { ... }
Properties
Name | Type | Description |
---|---|---|
allowUsersToChangePassword | boolean | No description. |
hardExpiry | boolean | Prevents IAM users who are accessing the account via the AWS Management Console from setting a new console password after their password has expired. |
maxPasswordAge | number | The number of days that an IAM user password is valid. |
minimumPasswordLength | number | No description. |
passwordReusePrevention | number | Specifies the number of previous passwords that IAM users are prevented from reusing. |
requireLowercaseCharacters | boolean | No description. |
requireNumbers | boolean | No description. |
requireSymbols | boolean | Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters: ! |
requireUppercaseCharacters | boolean | No description. |
allowUsersToChangePassword
Optional
public readonly allowUsersToChangePassword: boolean;
- Type: boolean
hardExpiry
Optional
public readonly hardExpiry: boolean;
- Type: boolean
Prevents IAM users who are accessing the account via the AWS Management Console from setting a new console password after their password has expired.
The IAM user cannot access the console until an administrator resets the password.
If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users can change their passwords after they expire and continue to sign in as the user.
maxPasswordAge
Optional
public readonly maxPasswordAge: number;
- Type: number
The number of days that an IAM user password is valid.
If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM user passwords never expire.
Valid Range: Minimum value of 1. Maximum value of 1095.
minimumPasswordLength
Optional
public readonly minimumPasswordLength: number;
- Type: number
passwordReusePrevention
Optional
public readonly passwordReusePrevention: number;
- Type: number
Specifies the number of previous passwords that IAM users are prevented from reusing.
If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM users are not prevented from reusing previous passwords.
Valid Range: Minimum value of 1. Maximum value of 24.
requireLowercaseCharacters
Optional
public readonly requireLowercaseCharacters: boolean;
- Type: boolean
requireNumbers
Optional
public readonly requireNumbers: boolean;
- Type: boolean
requireSymbols
Optional
public readonly requireSymbols: boolean;
- Type: boolean
Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters: !
@ # $ % ^ & * ( ) _ + - = [ ] { } | ‘
requireUppercaseCharacters
Optional
public readonly requireUppercaseCharacters: boolean;
- Type: boolean
IamPolicyPermissionsBoundaryProps
Initializer
import { IamPolicyPermissionsBoundaryProps } from 'aws-data-landing-zone'
const iamPolicyPermissionsBoundaryProps: IamPolicyPermissionsBoundaryProps = { ... }
Properties
Name | Type | Description |
---|---|---|
policyStatement | aws-cdk-lib.aws_iam.PolicyStatementProps | No description. |
policyStatement
Required
public readonly policyStatement: PolicyStatementProps;
- Type: aws-cdk-lib.aws_iam.PolicyStatementProps
IdentityStoreUserEmailsProps
The email of a user in the IAM Identity Center.
Initializer
import { IdentityStoreUserEmailsProps } from 'aws-data-landing-zone'
const identityStoreUserEmailsProps: IdentityStoreUserEmailsProps = { ... }
Properties
Name | Type | Description |
---|---|---|
type | string | No description. |
value | string | No description. |
primary | boolean | No description. |
type
Required
public readonly type: string;
- Type: string
value
Required
public readonly value: string;
- Type: string
primary
Optional
public readonly primary: boolean;
- Type: boolean
IdentityStoreUserNameProps
The name of a user in the IAM Identity Center.
Initializer
import { IdentityStoreUserNameProps } from 'aws-data-landing-zone'
const identityStoreUserNameProps: IdentityStoreUserNameProps = { ... }
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
public readonly familyName: string;
- Type: string
formatted
Required
public readonly formatted: string;
- Type: string
givenName
Required
public readonly givenName: string;
- Type: string
honorificPrefix
Optional
public readonly honorificPrefix: string;
- Type: string
honorificSuffix
Optional
public readonly honorificSuffix: string;
- Type: string
middleName
Optional
public readonly middleName: string;
- Type: string
IdentityStoreUserProps
A user in the IAM Identity Center.
Initializer
import { IdentityStoreUserProps } from 'aws-data-landing-zone'
const identityStoreUserProps: IdentityStoreUserProps = { ... }
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
surname | string | No description. |
userName | string | No description. |
name
Required
public readonly name: string;
- Type: string
surname
Required
public readonly surname: string;
- Type: string
userName
Required
public readonly userName: string;
- Type: string
IdentityStoreUserPropsExt
A user in the IAM Identity Center.
Initializer
import { IdentityStoreUserPropsExt } from 'aws-data-landing-zone'
const identityStoreUserPropsExt: IdentityStoreUserPropsExt = { ... }
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
public readonly displayName: string;
- Type: string
email
Required
public readonly email: IdentityStoreUserEmailsProps;
identityStoreId
Required
public readonly identityStoreId: string;
- Type: string
name
Required
public readonly name: IdentityStoreUserNameProps;
userName
Required
public readonly userName: string;
- Type: string
LakePermission
Initializer
import { LakePermission } from 'aws-data-landing-zone'
const lakePermission: LakePermission = { ... }
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
public readonly databaseActions: DatabaseAction[];
- Type: DatabaseAction[]
Actions that can be performed on databases, using Lake Formation Tag Based Access Control.
principals
Required
public readonly principals: string[];
- Type: string[]
A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to.
tags
Required
public readonly tags: LFTag[];
- Type: LFTag[]
LF tags associated with the permissions, used to specify fine-grained access controls.
databaseActionsWithGrant
Optional
public readonly databaseActionsWithGrant: DatabaseAction[];
- Type: DatabaseAction[]
OPTIONAL - Actions on databases with grant option, allowing grantees to further grant these permissions.
tableActions
Optional
public readonly tableActions: TableAction[];
- Type: TableAction[]
OPTIONAL - Actions that can be performed on tables, using Lake Formation Lake Formation Tag Based Access Control.
tableActionsWithGrant
Optional
public readonly tableActionsWithGrant: TableAction[];
- Type: TableAction[]
OPTIONAL - Actions on tables with grant option, allowing grantees to further grant these permissions.
LFTag
Initializer
import { LFTag } from 'aws-data-landing-zone'
const lFTag: LFTag = { ... }
Properties
Name | Type | Description |
---|---|---|
tagKey | string | No description. |
tagValues | string[] | No description. |
tagKey
Required
public readonly tagKey: string;
- Type: string
tagValues
Required
public readonly tagValues: string[];
- Type: string[]
LFTagSharable
Initializer
import { LFTagSharable } from 'aws-data-landing-zone'
const lFTagSharable: LFTagSharable = { ... }
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
public readonly tagKey: string;
- Type: string
tagValues
Required
public readonly tagValues: string[];
- Type: string[]
share
Optional
public readonly share: ShareProps;
- Type: ShareProps
OPTIONAL - Configuration detailing how the tag can be shared with specified principals.
LogStacks
Initializer
import { LogStacks } from 'aws-data-landing-zone'
const logStacks: LogStacks = { ... }
ManagementGlobalStackProps
Initializer
import { ManagementGlobalStackProps } from 'aws-data-landing-zone'
const managementGlobalStackProps: ManagementGlobalStackProps = { ... }
Properties
Name | Type | Description |
---|---|---|
env | aws-cdk-lib.Environment | No description. |
name | DlzStackNameProps | No description. |
stage | cdk-express-pipeline.ExpressStage | No description. |
globalVariables | GlobalVariables | No description. |
env
Required
public readonly env: Environment;
- Type: aws-cdk-lib.Environment
name
Required
public readonly name: DlzStackNameProps;
- Type: DlzStackNameProps
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
globalVariables
Required
public readonly globalVariables: GlobalVariables;
- Type: GlobalVariables
ManagementStacks
Initializer
import { ManagementStacks } from 'aws-data-landing-zone'
const managementStacks: ManagementStacks = { ... }
Properties
Name | Type | Description |
---|---|---|
global | ManagementGlobalStack | No description. |
globalIamIdentityCenter | ManagementGlobalIamIdentityCenterStack | No description. |
global
Required
public readonly global: ManagementGlobalStack;
- Type: ManagementGlobalStack
globalIamIdentityCenter
Optional
public readonly globalIamIdentityCenter: ManagementGlobalIamIdentityCenterStack;
MandatoryTags
Initializer
import { MandatoryTags } from 'aws-data-landing-zone'
const mandatoryTags: MandatoryTags = { ... }
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
Optional
public readonly environment: string[];
- Type: string[]
The values of the mandatory Environment
tag that all resources must have.
Specifying an empty array or undefined still enforces the tag presence but does not enforce the value.
owner
Optional
public readonly owner: string[];
- Type: string[]
The values of the mandatory Owner
tag that all resources must have.
Specifying an empty array or undefined still enforces the tag presence but does not enforce the value.
project
Optional
public readonly project: string[];
- Type: string[]
The values of the mandatory Project
tag that all resources must have.
Specifying an empty array or undefined still enforces the tag presence but does not enforce the value.
Network
Initializer
import { Network } from 'aws-data-landing-zone'
const network: Network = { ... }
Properties
Name | Type | Description |
---|---|---|
bastionHosts | BastionHost[] | No description. |
connections | NetworkConnection | No description. |
nats | NetworkNat[] | No description. |
bastionHosts
Optional
public readonly bastionHosts: BastionHost[];
- Type: BastionHost[]
connections
Optional
public readonly connections: NetworkConnection;
- Type: NetworkConnection
nats
Optional
public readonly nats: NetworkNat[];
- Type: NetworkNat[]
NetworkConnection
Initializer
import { NetworkConnection } from 'aws-data-landing-zone'
const networkConnection: NetworkConnection = { ... }
Properties
Name | Type | Description |
---|---|---|
vpcPeering | NetworkConnectionVpcPeering[] | No description. |
vpcPeering
Required
public readonly vpcPeering: NetworkConnectionVpcPeering[];
- Type: NetworkConnectionVpcPeering[]
NetworkConnectionVpcPeering
Initializer
import { NetworkConnectionVpcPeering } from 'aws-data-landing-zone'
const networkConnectionVpcPeering: NetworkConnectionVpcPeering = { ... }
Properties
Name | Type | Description |
---|---|---|
destination | NetworkAddress | No description. |
source | NetworkAddress | No description. |
destination
Required
public readonly destination: NetworkAddress;
- Type: NetworkAddress
source
Required
public readonly source: NetworkAddress;
- Type: NetworkAddress
NetworkEntityRouteTable
Initializer
import { NetworkEntityRouteTable } from 'aws-data-landing-zone'
const networkEntityRouteTable: NetworkEntityRouteTable = { ... }
Properties
Name | Type | Description |
---|---|---|
address | NetworkAddress | No description. |
routeTable | aws-cdk-lib.aws_ec2.CfnRouteTable | No description. |
subnets | NetworkEntitySubnet[] | No description. |
address
Required
public readonly address: NetworkAddress;
- Type: NetworkAddress
routeTable
Required
public readonly routeTable: CfnRouteTable;
- Type: aws-cdk-lib.aws_ec2.CfnRouteTable
subnets
Required
public readonly subnets: NetworkEntitySubnet[];
- Type: NetworkEntitySubnet[]
NetworkEntitySubnet
Initializer
import { NetworkEntitySubnet } from 'aws-data-landing-zone'
const networkEntitySubnet: NetworkEntitySubnet = { ... }
Properties
Name | Type | Description |
---|---|---|
address | NetworkAddress | No description. |
subnet | aws-cdk-lib.aws_ec2.CfnSubnet | No description. |
address
Required
public readonly address: NetworkAddress;
- Type: NetworkAddress
subnet
Required
public readonly subnet: CfnSubnet;
- Type: aws-cdk-lib.aws_ec2.CfnSubnet
NetworkEntityVpc
Initializer
import { NetworkEntityVpc } from 'aws-data-landing-zone'
const networkEntityVpc: NetworkEntityVpc = { ... }
Properties
Name | Type | Description |
---|---|---|
address | NetworkAddress | No description. |
routeTables | NetworkEntityRouteTable[] | No description. |
vpc | aws-cdk-lib.aws_ec2.CfnVPC | No description. |
address
Required
public readonly address: NetworkAddress;
- Type: NetworkAddress
routeTables
Required
public readonly routeTables: NetworkEntityRouteTable[];
- Type: NetworkEntityRouteTable[]
vpc
Required
public readonly vpc: CfnVPC;
- Type: aws-cdk-lib.aws_ec2.CfnVPC
NetworkNat
Initializer
import { NetworkNat } from 'aws-data-landing-zone'
const networkNat: NetworkNat = { ... }
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
public readonly allowAccessFrom: NetworkAddress[];
- 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
public readonly location: NetworkAddress;
- Type: NetworkAddress
The location where the NAT will exist.
The network address must target a specific subnet
name
Required
public readonly name: string;
- Type: string
The name of the NAT Gateway to easily identify it.
type
Required
public readonly type: NetworkNatType;
- Type: NetworkNatType
The type of NAT to create.
NetworkNatGateway
Initializer
import { NetworkNatGateway } from 'aws-data-landing-zone'
const networkNatGateway: NetworkNatGateway = { ... }
Properties
Name | Type | Description |
---|---|---|
eip | aws-cdk-lib.aws_ec2.CfnEIPProps | No description. |
eip
Optional
public readonly eip: CfnEIPProps;
- Type: aws-cdk-lib.aws_ec2.CfnEIPProps
NetworkNatInstance
Initializer
import { NetworkNatInstance } from 'aws-data-landing-zone'
const networkNatInstance: NetworkNatInstance = { ... }
Properties
Name | Type | Description |
---|---|---|
instanceType | aws-cdk-lib.aws_ec2.InstanceType | No description. |
eip | aws-cdk-lib.aws_ec2.CfnEIPProps | No description. |
instanceType
Required
public readonly instanceType: InstanceType;
- Type: aws-cdk-lib.aws_ec2.InstanceType
eip
Optional
public readonly eip: CfnEIPProps;
- Type: aws-cdk-lib.aws_ec2.CfnEIPProps
NetworkNatType
Initializer
import { NetworkNatType } from 'aws-data-landing-zone'
const networkNatType: NetworkNatType = { ... }
Properties
Name | Type | Description |
---|---|---|
gateway | NetworkNatGateway | No description. |
instance | NetworkNatInstance | No description. |
gateway
Optional
public readonly gateway: NetworkNatGateway;
- Type: NetworkNatGateway
instance
Optional
public readonly instance: NetworkNatInstance;
- Type: NetworkNatInstance
NotificationDetailsProps
Initializer
import { NotificationDetailsProps } from 'aws-data-landing-zone'
const notificationDetailsProps: NotificationDetailsProps = { ... }
Properties
Name | Type | Description |
---|---|---|
emails | string[] | No description. |
slack | SlackChannel | No description. |
emails
Optional
public readonly emails: string[];
- Type: string[]
slack
Optional
public readonly slack: SlackChannel;
- Type: SlackChannel
OrgOus
Initializer
import { OrgOus } from 'aws-data-landing-zone'
const orgOus: OrgOus = { ... }
Properties
Name | Type | Description |
---|---|---|
security | OrgOuSecurity | No description. |
suspended | OrgOuSuspended | No description. |
workloads | OrgOuWorkloads | No description. |
security
Required
public readonly security: OrgOuSecurity;
- Type: OrgOuSecurity
suspended
Required
public readonly suspended: OrgOuSuspended;
- Type: OrgOuSuspended
workloads
Required
public readonly workloads: OrgOuWorkloads;
- Type: OrgOuWorkloads
OrgOuSecurity
Initializer
import { OrgOuSecurity } from 'aws-data-landing-zone'
const orgOuSecurity: OrgOuSecurity = { ... }
Properties
Name | Type | Description |
---|---|---|
accounts | OrgOuSecurityAccounts | No description. |
ouId | string | No description. |
accounts
Required
public readonly accounts: OrgOuSecurityAccounts;
- Type: OrgOuSecurityAccounts
ouId
Required
public readonly ouId: string;
- Type: string
OrgOuSecurityAccounts
Initializer
import { OrgOuSecurityAccounts } from 'aws-data-landing-zone'
const orgOuSecurityAccounts: OrgOuSecurityAccounts = { ... }
Properties
Name | Type | Description |
---|---|---|
audit | DLzManagementAccount | No description. |
log | DLzManagementAccount | No description. |
audit
Required
public readonly audit: DLzManagementAccount;
- Type: DLzManagementAccount
log
Required
public readonly log: DLzManagementAccount;
- Type: DLzManagementAccount
OrgOuSuspended
Initializer
import { OrgOuSuspended } from 'aws-data-landing-zone'
const orgOuSuspended: OrgOuSuspended = { ... }
Properties
Name | Type | Description |
---|---|---|
ouId | string | No description. |
accounts | DLzAccountSuspended[] | No description. |
ouId
Required
public readonly ouId: string;
- Type: string
accounts
Optional
public readonly accounts: DLzAccountSuspended[];
- Type: DLzAccountSuspended[]
OrgOuWorkloads
Initializer
import { OrgOuWorkloads } from 'aws-data-landing-zone'
const orgOuWorkloads: OrgOuWorkloads = { ... }
Properties
Name | Type | Description |
---|---|---|
accounts | DLzAccount[] | No description. |
ouId | string | No description. |
accounts
Required
public readonly accounts: DLzAccount[];
- Type: DLzAccount[]
ouId
Required
public readonly ouId: string;
- Type: string
OrgRootAccounts
Initializer
import { OrgRootAccounts } from 'aws-data-landing-zone'
const orgRootAccounts: OrgRootAccounts = { ... }
Properties
Name | Type | Description |
---|---|---|
management | DLzManagementAccount | No description. |
management
Required
public readonly management: DLzManagementAccount;
- Type: DLzManagementAccount
PartialAccount
Initializer
import { PartialAccount } from 'aws-data-landing-zone'
const partialAccount: PartialAccount = { ... }
Properties
Name | Type | Description |
---|---|---|
name | string | No description. |
name
Required
public readonly name: string;
- Type: string
PartialOu
Initializer
import { PartialOu } from 'aws-data-landing-zone'
const partialOu: PartialOu = { ... }
Properties
Name | Type | Description |
---|---|---|
ouId | string | No description. |
accounts | PartialAccount[] | No description. |
ouId
Required
public readonly ouId: string;
- Type: string
accounts
Optional
public readonly accounts: PartialAccount[];
- Type: PartialAccount[]
ReportItem
Initializer
import { ReportItem } from 'aws-data-landing-zone'
const reportItem: ReportItem = { ... }
Properties
Name | Type | Description |
---|---|---|
description | string | No description. |
name | string | No description. |
type | ReportType | No description. |
externalLink | string | No description. |
accountName | string | No description. |
appliedFrom | string | No description. |
region | string | No description. |
description
Required
public readonly description: string;
- Type: string
name
Required
public readonly name: string;
- Type: string
type
Required
public readonly type: ReportType;
- Type: ReportType
externalLink
Optional
public readonly externalLink: string;
- Type: string
accountName
Required
public readonly accountName: string;
- Type: string
appliedFrom
Required
public readonly appliedFrom: string;
- Type: string
region
Required
public readonly region: string;
- Type: string
ReportResource
Initializer
import { ReportResource } from 'aws-data-landing-zone'
const reportResource: ReportResource = { ... }
Properties
Name | Type | Description |
---|---|---|
description | string | No description. |
name | string | No description. |
type | ReportType | No description. |
externalLink | string | No description. |
description
Required
public readonly description: string;
- Type: string
name
Required
public readonly name: string;
- Type: string
type
Required
public readonly type: ReportType;
- Type: ReportType
externalLink
Optional
public readonly externalLink: string;
- Type: string
RootOptions
Initializer
import { RootOptions } from 'aws-data-landing-zone'
const rootOptions: RootOptions = { ... }
Properties
Name | Type | Description |
---|---|---|
accounts | OrgRootAccounts | No description. |
controls | DlzControlTowerStandardControls[] | Control Tower Controls applied to all the OUs in the organization. |
accounts
Required
public readonly accounts: OrgRootAccounts;
- Type: OrgRootAccounts
controls
Optional
public readonly controls: DlzControlTowerStandardControls[];
- Type: DlzControlTowerStandardControls[]
Control Tower Controls applied to all the OUs in the organization.
SecurityHubNotification
Initializer
import { SecurityHubNotification } from 'aws-data-landing-zone'
const securityHubNotification: SecurityHubNotification = { ... }
Properties
Name | Type | Description |
---|---|---|
id | string | No description. |
notification | SecurityHubNotificationProps | No description. |
severity | SecurityHubNotificationSeverity[] | No description. |
workflowStatus | SecurityHubNotificationSWorkflowStatus[] | No description. |
id
Required
public readonly id: string;
- Type: string
notification
Required
public readonly notification: SecurityHubNotificationProps;
severity
Optional
public readonly severity: SecurityHubNotificationSeverity[];
- Type: SecurityHubNotificationSeverity[]
workflowStatus
Optional
public readonly workflowStatus: SecurityHubNotificationSWorkflowStatus[];
SecurityHubNotificationProps
Initializer
import { SecurityHubNotificationProps } from 'aws-data-landing-zone'
const securityHubNotificationProps: SecurityHubNotificationProps = { ... }
Properties
Name | Type | Description |
---|---|---|
emails | string[] | No description. |
slack | SlackChannel | No description. |
emails
Optional
public readonly emails: string[];
- Type: string[]
slack
Optional
public readonly slack: SlackChannel;
- Type: SlackChannel
SharedExternal
Initializer
import { SharedExternal } from 'aws-data-landing-zone'
const sharedExternal: SharedExternal = { ... }
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
public readonly principals: string[];
- Type: string[]
A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to.
specificValues
Optional
public readonly specificValues: string[];
- Type: string[]
OPTIONAL - A list of specific values of the tag that can be shared.
All possible values if omitted.
tagActions
Required
public readonly tagActions: TagAction[];
- Type: TagAction[]
A list of actions that can be performed on the tag.
Only TagAction.DESCRIBE
and TagAction.ASSOCIATE
are allowed.
tagActionsWithGrant
Optional
public readonly tagActionsWithGrant: TagAction[];
- Type: TagAction[]
A list of actions on the tag with grant option, allowing grantees to further grant these permissions.
SharedInternal
Initializer
import { SharedInternal } from 'aws-data-landing-zone'
const sharedInternal: SharedInternal = { ... }
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
public readonly principals: string[];
- Type: string[]
A list of principal identity ARNs (e.g., AWS accounts, IAM roles/users) that the permissions apply to.
specificValues
Optional
public readonly specificValues: string[];
- Type: string[]
OPTIONAL - A list of specific values of the tag that can be shared.
All possible values if omitted.
tagActions
Required
public readonly tagActions: TagAction[];
- Type: TagAction[]
A list of actions that can be performed on the tag.
tagActionsWithGrant
Optional
public readonly tagActionsWithGrant: TagAction[];
- Type: TagAction[]
A list of actions on the tag with grant option, allowing grantees to further grant these permissions.
ShareProps
Initializer
import { ShareProps } from 'aws-data-landing-zone'
const shareProps: ShareProps = { ... }
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
public readonly withExternalAccount: SharedExternal[];
- Type: SharedExternal[]
Configurations for sharing LF-Tags with external AWS accounts.
withinAccount
Optional
public readonly withinAccount: SharedInternal[];
- Type: SharedInternal[]
Configurations for sharing LF-Tags with principals within the same AWS account.
SlackChannel
Initializer
import { SlackChannel } from 'aws-data-landing-zone'
const slackChannel: SlackChannel = { ... }
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
public readonly slackChannelConfigurationName: string;
- Type: string
The name of Slack channel configuration.
slackChannelId
Required
public readonly slackChannelId: string;
- 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
public readonly slackWorkspaceId: string;
- 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
import { WorkloadAccountProps } from 'aws-data-landing-zone'
const workloadAccountProps: WorkloadAccountProps = { ... }
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
public readonly env: Environment;
- Type: aws-cdk-lib.Environment
name
Required
public readonly name: DlzStackNameProps;
- Type: DlzStackNameProps
stage
Required
public readonly stage: ExpressStage;
- Type: cdk-express-pipeline.ExpressStage
dlzAccount
Required
public readonly dlzAccount: DLzAccount;
- Type: DLzAccount
globalVariables
Required
public readonly globalVariables: GlobalVariables;
- Type: GlobalVariables
Classes
AccountChatbots
Initializers
import { AccountChatbots } from 'aws-data-landing-zone'
new AccountChatbots()
Name | Type | Description |
---|
Static Functions
Name | Description |
---|---|
addSlackChannel | No description. |
existsSlackChannel | No description. |
findSlackChannel | No description. |
addSlackChannel
import { AccountChatbots } from 'aws-data-landing-zone'
AccountChatbots.addSlackChannel(scope: Construct, id: string, chatbotProps: SlackChannelConfigurationProps)
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
chatbotProps
Required
- Type: aws-cdk-lib.aws_chatbot.SlackChannelConfigurationProps
existsSlackChannel
import { AccountChatbots } from 'aws-data-landing-zone'
AccountChatbots.existsSlackChannel(scope: Construct, chatbotProps: SlackChannel)
scope
Required
- Type: constructs.Construct
chatbotProps
Required
- Type: SlackChannel
findSlackChannel
import { AccountChatbots } from 'aws-data-landing-zone'
AccountChatbots.findSlackChannel(scope: Construct, chatbotProps: SlackChannel)
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
public readonly slackChatBots: {[ key: string ]: SlackChannelConfiguration};
- Type: {[ key: string ]: aws-cdk-lib.aws_chatbot.SlackChannelConfiguration}
DataLandingZone
Initializers
import { DataLandingZone } from 'aws-data-landing-zone'
new DataLandingZone(app: App, props: DataLandingZoneProps, _?: ForceNoPythonArgumentLifting)
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
public stageManagement(): ManagementStacks
Properties
Name | Type | Description |
---|---|---|
auditStacks | AuditStacks | No description. |
logStacks | LogStacks | No description. |
managementStacks | ManagementStacks | 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
public readonly auditStacks: AuditStacks;
- Type: AuditStacks
logStacks
Required
public readonly logStacks: LogStacks;
- Type: LogStacks
managementStacks
Required
public readonly managementStacks: ManagementStacks;
- Type: ManagementStacks
workloadGlobalDataServicesPhase1Stacks
Required
public readonly workloadGlobalDataServicesPhase1Stacks: WorkloadGlobalDataServicesPhase1Stack[];
workloadGlobalNetworkConnectionsPhase1Stacks
Required
public readonly workloadGlobalNetworkConnectionsPhase1Stacks: WorkloadGlobalNetworkConnectionsPhase1Stack[];
workloadGlobalNetworkConnectionsPhase2Stacks
Required
public readonly workloadGlobalNetworkConnectionsPhase2Stacks: WorkloadGlobalNetworkConnectionsPhase2Stack[];
workloadGlobalNetworkConnectionsPhase3Stacks
Required
public readonly workloadGlobalNetworkConnectionsPhase3Stacks: WorkloadGlobalNetworkConnectionsPhase3Stack[];
workloadGlobalStacks
Required
public readonly workloadGlobalStacks: WorkloadGlobalStack[];
- Type: WorkloadGlobalStack[]
workloadRegionalDataServicesPhase1Stacks
Required
public readonly workloadRegionalDataServicesPhase1Stacks: WorkloadRegionalDataServicesPhase1Stack[];
workloadRegionalNetworkConnectionsPhase2Stacks
Required
public readonly workloadRegionalNetworkConnectionsPhase2Stacks: WorkloadRegionalNetworkConnectionsPhase2Stack[];
workloadRegionalNetworkConnectionsPhase3Stacks
Required
public readonly workloadRegionalNetworkConnectionsPhase3Stacks: WorkloadRegionalNetworkConnectionsPhase3Stack[];
workloadRegionalStacks
Required
public readonly workloadRegionalStacks: WorkloadRegionalStack[];
- Type: WorkloadRegionalStack[]
DataLandingZoneClient
Initializers
import { DataLandingZoneClient } from 'aws-data-landing-zone'
new DataLandingZoneClient()
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
import { DataLandingZoneClient } from 'aws-data-landing-zone'
DataLandingZoneClient.bastionSecurityGroupId(scope: Construct, id: string, props: DataLandingZoneClientBastionProps)
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
import { DataLandingZoneClient } from 'aws-data-landing-zone'
DataLandingZoneClient.notificationTopicArn(scope: Construct, id: string)
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
import { DataLandingZoneClient } from 'aws-data-landing-zone'
DataLandingZoneClient.permissionsBoundaryArn(scope: Construct, id: string)
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
import { DataLandingZoneClient } from 'aws-data-landing-zone'
DataLandingZoneClient.routeTableId(scope: Construct, id: string, props: DataLandingZoneClientRouteTableIdProps)
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
import { DataLandingZoneClient } from 'aws-data-landing-zone'
DataLandingZoneClient.subnetId(scope: Construct, id: string, props: DataLandingZoneClientSubnetIdProps)
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
import { DataLandingZoneClient } from 'aws-data-landing-zone'
DataLandingZoneClient.vpcId(scope: Construct, id: string, props: DataLandingZoneClientVpcIdProps)
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
import { Defaults } from 'aws-data-landing-zone'
new Defaults()
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
import { Defaults } from 'aws-data-landing-zone'
Defaults.budgets(orgTotal: number, infraDlz: number, subscribers: BudgetSubscribers, _?: ForceNoPythonArgumentLifting)
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.
_
Optional
Ignore this parameter, it is used to force a consistent interface across TS and Python usage.
denyServiceList
import { Defaults } from 'aws-data-landing-zone'
Defaults.denyServiceList()
- List of services that are denied in the organization.
iamIdentityCenterPermissionSets
import { Defaults } from 'aws-data-landing-zone'
Defaults.iamIdentityCenterPermissionSets()
Provides the AWS managed policy AdministratorAccess
and ReadOnlyAccess
as permission sets.
mandatoryTags
import { Defaults } from 'aws-data-landing-zone'
Defaults.mandatoryTags(props: DataLandingZoneProps)
- Mandatory tags for the organization.
props
Required
- Type: DataLandingZoneProps
rootControls
import { Defaults } from 'aws-data-landing-zone'
Defaults.rootControls()
Control Tower Controls applied to all the OUs in the organization.
vpcClassB3Private3Public
import { Defaults } from 'aws-data-landing-zone'
Defaults.vpcClassB3Private3Public(thirdOctetMask: number, region: Region)
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
import { DlzAccountNetworks } from 'aws-data-landing-zone'
new DlzAccountNetworks()
Name | Type | Description |
---|
Methods
Name | Description |
---|---|
add | No description. |
getEntitiesForAddress | Get NetworkEntities for the given networkAddress and match on the given matchOnAddress . |
add
public add(dlzAccount: DLzAccount, networkEntityVpc: NetworkEntityVpc): void
dlzAccount
Required
- Type: DLzAccount
networkEntityVpc
Required
- Type: NetworkEntityVpc
getEntitiesForAddress
public getEntitiesForAddress(networkAddress: NetworkAddress, matchOnAddress?: string): DlzAccountNetwork[]
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
import { DlzBudget } from 'aws-data-landing-zone'
new DlzBudget(scope: Construct, id: string, props: DlzBudgetProps, budgetSnsCache: {[ key: string ]: GlobalVariablesBudgetSnsCacheRecord})
Name | Type | Description |
---|---|---|
scope | constructs.Construct | No description. |
id | string | No description. |
props | DlzBudgetProps | No description. |
budgetSnsCache | {[ key: string ]: GlobalVariablesBudgetSnsCacheRecord} | No description. |
scope
Required
- Type: constructs.Construct
id
Required
- Type: string
props
Required
- Type: DlzBudgetProps
budgetSnsCache
Required
- Type: {[ key: string ]: GlobalVariablesBudgetSnsCacheRecord}
Properties
Name | Type | Description |
---|---|---|
cfnBudget | aws-cdk-lib.aws_budgets.CfnBudget | No description. |
cfnBudget
Required
public readonly cfnBudget: CfnBudget;
- Type: aws-cdk-lib.aws_budgets.CfnBudget
DlzControlTowerEnabledControl
- Implements: IReportResource
Initializers
import { DlzControlTowerEnabledControl } from 'aws-data-landing-zone'
new DlzControlTowerEnabledControl(scope: Construct, id: string, props: DlzControlTowerEnabledControlProps)
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
import { DlzControlTowerEnabledControl } from 'aws-data-landing-zone'
DlzControlTowerEnabledControl.canBeAppliedToSecurityOU(control: IDlzControlTowerControl)
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
public readonly control: CfnEnabledControl;
- Type: aws-cdk-lib.aws_controltower.CfnEnabledControl
reportResource
Required
public readonly reportResource: ReportResource;
- Type: ReportResource
DlzLakeFormation
Initializers
import { DlzLakeFormation } from 'aws-data-landing-zone'
new DlzLakeFormation(scope: Construct, id: string, lfProps: DlzLakeFormationProps)
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
import { DlzServiceControlPolicy } from 'aws-data-landing-zone'
new DlzServiceControlPolicy(scope: Construct, id: string, props: DlzServiceControlPolicyProps)
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
import { DlzServiceControlPolicy } from 'aws-data-landing-zone'
DlzServiceControlPolicy.denyCfnStacksWithoutStandardTags(tags: DlzTag[])
tags
Required
- Type: DlzTag[]
denyIamPolicyActionStatements
import { DlzServiceControlPolicy } from 'aws-data-landing-zone'
DlzServiceControlPolicy.denyIamPolicyActionStatements()
denyServiceActionStatements
import { DlzServiceControlPolicy } from 'aws-data-landing-zone'
DlzServiceControlPolicy.denyServiceActionStatements(serviceActions: string[])
serviceActions
Required
- Type: string[]
Properties
Name | Type | Description |
---|---|---|
policy | aws-cdk-lib.aws_organizations.CfnPolicy | No description. |
reportResource | ReportResource | No description. |
policy
Required
public readonly policy: CfnPolicy;
- Type: aws-cdk-lib.aws_organizations.CfnPolicy
reportResource
Required
public readonly reportResource: ReportResource;
- Type: ReportResource
DlzSsmReader
Initializers
import { DlzSsmReader } from 'aws-data-landing-zone'
new DlzSsmReader()
Name | Type | Description |
---|
Static Functions
Name | Description |
---|---|
getValue | Get the value of an SSM Parameter Store value. |
getValue
import { DlzSsmReader } from 'aws-data-landing-zone'
DlzSsmReader.getValue(scope: Construct, id: string, accountId: string, region: string, name: string, fetchType?: string, withDecryption?: boolean)
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
import { DlzSsmReaderStackCache } from 'aws-data-landing-zone'
new DlzSsmReaderStackCache()
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
public getValue(scope: Construct, id: string, accountId: string, region: string, name: string, fetchType?: string, withDecryption?: boolean): string
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
import { DlzTagPolicy } from 'aws-data-landing-zone'
new DlzTagPolicy(scope: Construct, id: string, props: DlzTagPolicyProps)
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
public readonly policy: CfnPolicy;
- Type: aws-cdk-lib.aws_organizations.CfnPolicy
reportResource
Required
public readonly reportResource: ReportResource;
- Type: ReportResource
DlzVpc
Initializers
import { DlzVpc } from 'aws-data-landing-zone'
new DlzVpc(dlzAccount: DLzAccount, dlzStack: DlzStack, dlzVpc: DlzVpcProps, networkNats?: NetworkNat[])
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
public readonly networkEntityVpc: NetworkEntityVpc;
- Type: NetworkEntityVpc
IamIdentityCenter
The IAM Identity Center.
Initializers
import { IamIdentityCenter } from 'aws-data-landing-zone'
new IamIdentityCenter(dlzStack: DlzStack, organization: DLzOrganization, iamIdentityCenter: IamIdentityCenterProps)
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
import { NetworkAddress } from 'aws-data-landing-zone'
new NetworkAddress(account: string, region?: string, vpc?: string, routeTable?: string, subnet?: string)
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
public isAccountAddress(): boolean
isRegionAddress
public isRegionAddress(): boolean
isRouteTableAddress
public isRouteTableAddress(): boolean
isSubnetAddress
public isSubnetAddress(): boolean
isVpcAddress
public isVpcAddress(): boolean
matches
public matches(other: NetworkAddress): boolean
other
Required
- Type: NetworkAddress
toString
public toString(): string
Static Functions
Name | Description |
---|---|
fromString | No description. |
fromString
import { NetworkAddress } from 'aws-data-landing-zone'
NetworkAddress.fromString(props: string)
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
public readonly account: string;
- Type: string
region
Optional
public readonly region: string;
- Type: string
routeTable
Optional
public readonly routeTable: string;
- Type: string
subnet
Optional
public readonly subnet: string;
- Type: string
vpc
Optional
public readonly vpc: string;
- Type: string
Report
Initializers
import { Report } from 'aws-data-landing-zone'
new Report()
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
import { Report } from 'aws-data-landing-zone'
Report.addReportForAccountRegion(accountName: string, region: string, reportResource: ReportResource)
accountName
Required
- Type: string
region
Required
- Type: string
reportResource
Required
- Type: ReportResource
addReportForAccountRegions
import { Report } from 'aws-data-landing-zone'
Report.addReportForAccountRegions(accountName: string, regions: DlzRegions, reportResource: ReportResource)
accountName
Required
- Type: string
regions
Required
- Type: DlzRegions
reportResource
Required
- Type: ReportResource
addReportForOuAccountRegions
import { Report } from 'aws-data-landing-zone'
Report.addReportForOuAccountRegions(partialOu: PartialOu, regions: DlzRegions, reportResource: ReportResource)
partialOu
Required
- Type: PartialOu
regions
Required
- Type: DlzRegions
reportResource
Required
- Type: ReportResource
addReportForSecurityOuAccountRegions
import { Report } from 'aws-data-landing-zone'
Report.addReportForSecurityOuAccountRegions(securityOu: OrgOuSecurity, regions: DlzRegions, reportResource: ReportResource)
securityOu
Required
- Type: OrgOuSecurity
regions
Required
- Type: DlzRegions
reportResource
Required
- Type: ReportResource
printConsoleReport
import { Report } from 'aws-data-landing-zone'
Report.printConsoleReport()
saveConsoleReport
import { Report } from 'aws-data-landing-zone'
Report.saveConsoleReport()
Properties
Name | Type | Description |
---|---|---|
reports | ReportItem[] | No description. |
reports
Required
public readonly reports: ReportItem[];
- Type: ReportItem[]
Scripts
Initializers
import { Scripts } from 'aws-data-landing-zone'
new Scripts()
Name | Type | Description |
---|
Methods
Name | Description |
---|---|
awsNuke | Runs AWS Nuke on the account. |
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. |
warnSuspendedAccountResources | Warns about suspended account resources by finding stacks that starts with dlz- . |
awsNuke
public awsNuke(props: DataLandingZoneProps, relativeDir: string, awsNukeBinary: string, accountName: string, dryRun?: boolean): void
Runs AWS Nuke on the account.
If the account is in the Workloads OU, it will delete all resources but exclude the ControlTower, CDK Bootstrap and DLZ resources. If the account is in the Suspended OU, it will delete all resources but exclude the ControlTower and CDK Bootstrap resources.
props
Required
- Type: DataLandingZoneProps
relativeDir
Required
- Type: string
Path to the binary.
awsNukeBinary
Required
- Type: string
Path to the binary.
accountName
Required
- Type: string
Account name as in the props.
dryRun
Optional
- Type: boolean
If true (default), it will not delete resources but only list them.
boostrapAll
public boostrapAll(props: DataLandingZoneProps, bootstrapRoleName?: string): void
Bootstraps all accounts in all regions as defined by the config.
props
Required
- Type: DataLandingZoneProps
bootstrapRoleName
Optional
- Type: string
configureCostAllocationTags
public configureCostAllocationTags(props: DataLandingZoneProps, _?: ForceNoPythonArgumentLifting): void
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
public deployAll(props: DataLandingZoneProps, _?: ForceNoPythonArgumentLifting): void
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
public deploySelect(props: DataLandingZoneProps, id: string): void
CDK deploy stacks identified by the id.
props
Required
- Type: DataLandingZoneProps
id
Required
- Type: string
diffAll
public diffAll(props: DataLandingZoneProps, _?: ForceNoPythonArgumentLifting): void
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
public diffSelect(props: DataLandingZoneProps, id: string): void
CDK diff stacks identified by the id.
props
Required
- Type: DataLandingZoneProps
id
Required
- Type: string
warnSuspendedAccountResources
public warnSuspendedAccountResources(props: DataLandingZoneProps, _?: ForceNoPythonArgumentLifting): void
Warns about suspended account resources by finding stacks that starts with dlz-
.
props
Required
- Type: DataLandingZoneProps
_
Optional
Ignore this parameter, it is used to force a consistent interface across TS and Python usage.
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
public readonly controlFriendlyName: DlzControlTowerStandardControls | DlzControlTowerSpecializedControls;
The short name of the control, example: AWS-GR_ENCRYPTED_VOLUMES.
controlIdName
Required
public readonly 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
Required
public readonly description: string;
- Type: string
Description of the control.
externalLink
Required
public readonly externalLink: string;
- Type: string
External link to the control documentation.
format
Required
public readonly 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
Optional
public readonly parameters: {[ key: string ]: any};
- Type: {[ key: string ]: any}
Optional parameters for the control.
IReportResource
- Implemented By: DlzControlTowerEnabledControl, DlzServiceControlPolicy, DlzTagPolicy, IamAccountAlias, IamPasswordPolicy, IReportResource
Behavioral, used with Inheritance.
Properties
Name | Type | Description |
---|---|---|
reportResource | ReportResource | No description. |
reportResource
Required
public readonly reportResource: ReportResource;
- 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. |
IAM_ACCOUNT_ALIAS | No description. |
IAM_PASSWORD_POLICY | No description. |
IAM_PERMISSION_BOUNDARY | No description. |
IAM_POLICY | No description. |
IAM_ROLE | No description. |
IAM_USER | No description. |
IAM_USER_GROUP | No description. |
CONTROL_TOWER_CONTROL
CONFIG_RULE
SECURITY_HUB_STANDARD
TAG_POLICY
SERVICE_CONTROL_POLICY
IAM_ACCOUNT_ALIAS
IAM_PASSWORD_POLICY
IAM_PERMISSION_BOUNDARY
IAM_POLICY
IAM_ROLE
IAM_USER
IAM_USER_GROUP
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. |