AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::CloudFormation::Stack

AWS::CloudFormation::Stack 类型在顶层模板中将堆栈作为资源进行嵌套。

您可以从该包含模板内的一个嵌套堆栈来添加输出值。您可以将 GetAtt 函数与该嵌套堆栈的逻辑名称以及嵌套堆栈中 Outputs.NestedStackOutputName 格式的输出值名称结合使用。

重要

我们强烈建议您从父堆栈运行对嵌套堆栈的更新。

当您应用模板更改来更新顶级堆栈时,AWS CloudFormation 会更新顶级堆栈,并启动对其嵌套堆栈的更新。AWS CloudFormation 更新已修改嵌套堆栈的资源,但不更新未修改嵌套堆栈的资源。有关更多信息,请参阅 AWS CloudFormation 堆栈更新

注意

您必须确认包含 IAM 资源的嵌套堆栈的 IAM 功能。另外还要确认您拥有取消更新堆栈权限,发生更新回滚时需要有此权限。有关 IAM 和 AWS CloudFormation 的更多信息,请参阅使用 AWS Identity and Access Management 控制访问

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::CloudFormation::Stack", "Properties" : { "NotificationARNs" : [ String, ... ], "Parameters" : { AWS CloudFormation 堆栈参数 }, "Tags" : [ Resource Tag, ... ], "TemplateURL" : String, "TimeoutInMinutes" : Integer } }

YAML

Type: "AWS::CloudFormation::Stack" Properties: NotificationARNs: - 字符串 Parameters: AWS CloudFormation 堆栈参数 Tags: - Resource Tag TemplateURL: String TimeoutInMinutes: Integer

属性

NotificationARNs

向其发送堆栈事件通知的现有 Amazon SNS 主题的列表。

Required: No

Type: List of String values

更新要求无需中断

Parameters

创建该嵌套堆栈时传递到 AWS CloudFormation 的参数集。

注意

如果您使用 Ref 函数将参数值传递到嵌套堆栈,则逗号分隔列表参数必须属于 String 类型。换言之,您不能将类型为 CommaDelimitedList 的值传递给嵌套堆栈。

必需:有条件(如果嵌套堆栈需要输入参数,则是必需的)。

Type: AWS CloudFormation 堆栈参数

更新要求:更新是否导致中断取决于所更新的资源。更新绝不会导致替换嵌套堆栈。

Tags

描述此堆栈的任意标签组(键/值对)。

Required: No

Type: AWS CloudFormation 资源标签

更新要求无需中断.

TemplateURL

模板的 URL 指定您要作为资源创建的堆栈。模板必须存储在 Amazon S3 存储桶上,因此 URL 必须采用以下格式:https://s3.amazonaws.com/.../TemplateName.template

Required: Yes

Type: String

更新要求:更新是否导致中断取决于所更新的资源。更新绝不会导致替换嵌套堆栈。

TimeoutInMinutes

AWS CloudFormation 等待嵌套堆栈达到 CREATE_COMPLETE 状态的时间长度,单位为分钟。默认值为无超时。当 AWS CloudFormation 检测到嵌套堆栈已达到 CREATE_COMPLETE 状态时,它会在父堆栈中将该嵌套堆栈资源标记为 CREATE_COMPLETE,然后继续创建父堆栈。如果在嵌套堆栈达到 CREATE_COMPLETE 之前超时结束,则 AWS CloudFormation 将嵌套堆栈标记为已失败,并回滚嵌套堆栈和父堆栈。

Required: No

Type: Integer

更新要求:不支持更新。

返回值

Ref

对于 AWS::CloudFormation::StackRef 将返回堆栈 ID。例如:

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

有关使用 Ref 功能的更多信息,请参阅参考

Fn::GetAtt

Outputs.NestedStackOutputName

返回:指定嵌套堆栈的输出值,其中NestedStackOutputName 是输出值的名称。

有关使用 Fn::GetAtt 的更多信息,请参见 Fn::GetAtt

相关信息