AWS CloudFormation
User Guide (API Version 2010-05-15)
Did this page help you?  Yes | No |  Tell us about it...
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Go to the Kindle Store to download this guide in Kindle format.

AWS::CloudFormation::Stack

The AWS::CloudFormation::Stack type nests a stack as a resource in a top-level template.

You can add output values from a nested stack within the containing template. You use the GetAtt function with the nested stack's logical name and the name of the output value in the nested stack in the format Outputs.NestedStackOutputName.

When you apply template changes to update a top-level stack, AWS CloudFormation updates the top-level stack and initiates an update to its nested stacks. AWS CloudFormation updates the resources of modified nested stacks, but does not update the resources of unmodified nested stacks. For more information, see AWS CloudFormation Stacks Updates.

AWS::CloudFormation::Stack Snippets: Stack Resource Snippets.

Note

Nested stacks require that you acknowledge IAM capabilities even if the nested stack doesn't contain any IAM resources. For more information about acknowledging IAM capabilities, see IAM Resources in AWS CloudFormation Templates in Controlling Access with AWS Identity and Access Management.

Syntax

{
   "Type" : "AWS::CloudFormation::Stack",
   "Properties" : {
      "NotificationARNs" : [ String, ... ],
      "Parameters" : { CloudFormation Stack Parameters Property Type },
      "TemplateURL" : String,
      "TimeoutInMinutes" : String
   }
}
     

Properties

NotificationARNs

A list of existing Amazon SNS topics where notifications about stack events are sent.

Required: No

Type: A list of strings

Update requires: No interruption

Parameters

The set of parameters passed to AWS CloudFormation when this nested stack is created.

Note

If you use the ref function to pass a parameter value to a nested stack, comma-delimited list parameters must be of type String. In other words, you cannot pass values that are of type CommaDelimitedList to nested stacks.

Required: Conditional (required if the nested stack requires input parameters).

Type: CloudFormation Stack Parameters Property Type

Update requires: Whether an update causes interruptions depends on the resources that are being update. An update never causes a nested stack to be replaced.

TemplateURL

The URL of a template that specifies the stack that you want to create as a resource. The template must be stored on an Amazon S3 bucket, so the URL must have the form: https://s3.amazonaws.com/.../TemplateName.template

Required: Yes

Type: String

Update requires: Whether an update causes interruptions depends on the resources that are being update. An update never causes a nested stack to be replaced.

TimeoutInMinutes

The length of time, in minutes, that AWS CloudFormation waits for the nested stack to reach the CREATE_COMPLETE state. The default is no timeout. When AWS CloudFormation detects that the nested stack has reached the CREATE_COMPLETE state, it marks the nested stack resource as CREATE_COMPLETE in the parent stack and resumes creating the parent stack. If the timeout period expires before the nested stack reaches CREATE_COMPLETE, AWS CloudFormation marks the nested stack as failed and rolls back both the nested stack and parent stack.

Required: No

Type: String

Update requires: Updates are not supported.

Return Values

Ref

For AWS::CloudFormation::Stack, Ref returns the Stack ID. For example:

arn:aws:cloudformation:us-east-1:123456789012:stack/mystack-mynestedstack-sggfrhxhum7w/f449b250-b969-11e0-a185-5081d0136786

For more information about using the Ref function, see Ref.

Fn::GetAtt

Outputs.NestedStackOutputName

Returns: The output value from the specified nested stack where NestedStackOutputName is the name of the output value.

For more information about using Fn:GetAtt, see Fn::GetAtt.