Class NestedStack
A CloudFormation nested stack.
Implements
Inherited Members
Namespace: Amazon.CDK
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class NestedStack : Stack, ITaggable
Syntax (vb)
Public Class NestedStack
Inherits Stack
Implements ITaggable
Remarks
When you apply template changes to update a top-level stack, CloudFormation updates the top-level stack and initiates an update to its nested stacks. CloudFormation updates the resources of modified nested stacks, but does not update the resources of unmodified nested stacks.
Furthermore, this stack will not be treated as an independent deployment artifact (won't be listed in "cdk list" or deployable through "cdk deploy"), but rather only synthesized as a template and uploaded as an asset to S3.
Cross references of resource attributes between the parent stack and the nested stack will automatically be translated to stack parameters and outputs.
ExampleMetadata: infused
Examples
using Amazon.CDK;
using Amazon.CDK.CustomResources;
using Amazon.CDK.AWS.S3.Deployment;
var app = new App();
var stack = new Stack(app, "Stack");
CustomResourceConfig.Of(app).AddLogRetentionLifetime(RetentionDays.TEN_YEARS);
var nestedStackA = new NestedStack(stack, "NestedStackA");
var websiteBucketA = new Bucket(nestedStackA, "WebsiteBucketA", new BucketProps { });
new BucketDeployment(nestedStackA, "s3deployA", new BucketDeploymentProps {
Sources = new [] { Source.JsonData("file.json", new Dictionary<string, string> { { "a", "b" } }) },
DestinationBucket = websiteBucketA,
LogRetention = RetentionDays.ONE_DAY
});
var nestedStackB = new NestedStack(stack, "NestedStackB");
var websiteBucketB = new Bucket(nestedStackB, "WebsiteBucketB", new BucketProps { });
new BucketDeployment(nestedStackB, "s3deployB", new BucketDeploymentProps {
Sources = new [] { Source.JsonData("file.json", new Dictionary<string, string> { { "a", "b" } }) },
DestinationBucket = websiteBucketB,
LogRetention = RetentionDays.ONE_DAY
});
Synopsis
Constructors
NestedStack(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
NestedStack(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
NestedStack(Construct, String, INestedStackProps) |
Properties
NestedStackResource | If this is a nested stack, this represents its |
StackId | An attribute that represents the ID of the stack. |
StackName | An attribute that represents the name of the nested stack. |
TemplateFile | The name of the CloudFormation template file emitted to the output directory during synthesis. |
Methods
IsNestedStack(Object) | Checks if |
SetParameter(String, String) | Assign a value to one of the nested stack parameters. |
Constructors
NestedStack(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected NestedStack(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
NestedStack(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected NestedStack(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
NestedStack(Construct, String, INestedStackProps)
public NestedStack(Construct scope, string id, INestedStackProps props = null)
Parameters
- scope Constructs.Construct
- id System.String
- props INestedStackProps
Properties
NestedStackResource
If this is a nested stack, this represents its AWS::CloudFormation::Stack
resource.
public override CfnResource NestedStackResource { get; }
Property Value
Overrides
Remarks
undefined
for top-level (non-nested) stacks.
StackId
An attribute that represents the ID of the stack.
public override string StackId { get; }
Property Value
System.String
Overrides
Remarks
This is a context aware attribute:
Example value: arn:aws:cloudformation:us-east-2:123456789012:stack/mystack-mynestedstack-sggfrhxhum7w/f449b250-b969-11e0-a185-5081d0136786
Attribute: true
StackName
An attribute that represents the name of the nested stack.
public override string StackName { get; }
Property Value
System.String
Overrides
Remarks
This is a context aware attribute:
Example value: mystack-mynestedstack-sggfrhxhum7w
Attribute: true
TemplateFile
The name of the CloudFormation template file emitted to the output directory during synthesis.
public override string TemplateFile { get; }
Property Value
System.String
Overrides
Remarks
Example value: MyStack.template.json
Methods
IsNestedStack(Object)
Checks if x
is an object of type NestedStack
.
public static bool IsNestedStack(object x)
Parameters
- x System.Object
Returns
System.Boolean
SetParameter(String, String)
Assign a value to one of the nested stack parameters.
public virtual void SetParameter(string name, string value)
Parameters
- name System.String
The parameter name (ID).
- value System.String
The value to assign.