aws:createStack – Create an AWS CloudFormation stack - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

aws:createStack – Create an AWS CloudFormation stack

从模板创建新 AWS CloudFormation 堆栈。

关于创建的补充信息 AWS CloudFormation 堆栈,参见 创建内容AWS CloudFormation API Reference.

Input

YAML
name: makeStack action: aws:createStack maxAttempts: 1 onFailure: Abort inputs: Capabilities: - CAPABILITY_IAM StackName: myStack TemplateURL: http://s3.amazonaws.com/mybucket/myStackTemplate TimeoutInMinutes: 5
JSON
{ "name": "makeStack", "action": "aws:createStack", "maxAttempts": 1, "onFailure": "Abort", "inputs": { "Capabilities": [ "CAPABILITY_IAM" ], "StackName": "myStack", "TemplateURL": "http://s3.amazonaws.com/mybucket/myStackTemplate", "TimeoutInMinutes": 5 } }
Capabilities

必须在 AWS CloudFormation 可以创建某些堆栈之前指定的值列表。一些堆栈模板中包含的资源会影响您的 AWS 账户中的权限。例如,创建新 AWS Identity and Access Management (IAM) 用户会影响您账户中的权限。对于这些堆栈,您必须通过指定此参数来明确确认它们的功能。

有效值包括 CAPABILITY_IAMCAPABILITY_NAMED_IAMCAPABILITY_AUTO_EXPAND

CAPABILITY_IAM 和 CAPABILITY_NAMED_IAM

如果包含 IAM 资源,您可以指定任意一个功能。如果您有 IAM 具有自定义名称的资源,必须指定 CAPABILITY_NAMED_IAM。如果未指定此参数,此操作将返回 InsufficientCapabilities 错误。以下资源要求您指定 CAPABILITY_IAMCAPABILITY_NAMED_IAM

如果您的堆栈模板包含这些资源,我们建议您查看与之关联的所有权限并在必要时编辑其权限。

有关更多信息,请参阅确认 AWS CloudFormation 模板中的 IAM 资源

CAPABILITY_AUTO_EXPAND

某些模板包含宏。宏对模板执行自定义处理,包括查找并替换等简单操作,以及整个模板的大幅转换。因此,用户通常会从已处理的模板创建更改集,这样他们便能在实际创建堆栈之前查看宏导致的更改。如果堆栈模板包含一个或多个宏,并且您选择直接从已处理的模板创建堆栈,而不首先查看更改集中生成的更改,则必须确认此功能。

有关详细信息,请参阅 使用 AWS CloudFormation 宏在模板上执行自定义处理AWS CloudFormation 用户指南.

类型:字符串的数组

有效值:CAPABILITY_IAM | CAPABILITY_NAMED_IAM | CAPABILITY_AUTO_EXPAND

必填 否

ClientRequestToken

该 CreateStack 请求的唯一标识符。如果将此步骤中的 maxAttempts 设置为大于 1 的值,请指定此令牌。通过指定此令牌,AWS CloudFormation 知道您未在尝试使用相同的名称创建新堆栈。

Type :字符串

必填 否

长度限制: 最小长度为 1。最大长度为 128。

模式:[a-zA-Z0-9][-a-zA-Z0-9]*

DisableRollback

如果堆栈创建失败,请设置为 true 以禁用堆栈回滚。

条件 您可以指定 DisableRollback 参数或 OnFailure 参数,但并非两者。

默认值:false

Type 布尔型

必填 否

NotificationARNs

用于发布堆栈相关事件的 Amazon SNS 主题 ARN。您可以使用 Amazon SNS 控制台 (https://console.amazonaws.cn/sns/v3/home) 找到 SNS 主题 ARN。

类型:字符串的数组

阵列成员: 最多 5 项。

必填 否

:OnFailure

如果堆栈创建失败,确定要执行的操作。您必须指定 DO_NOTHINGROLLBACKDELETE

条件 您可以指定 OnFailure 参数或 DisableRollback 参数,但并非两者。

默认值:ROLLBACK

Type :字符串

有效值: DO_NOTHING | ROLLBACK | DELETE

必填 否

Parameters

指定堆栈输入参数的 Parameter 结构列表。有关更多信息,请参阅参数数据类型。

类型:参数对象数组

必填 否

ResourceTypes

您有权用于此创建堆栈操作的模板资源类型。例如:。AWS::EC2::InstanceAWS::EC2::*,或 Custom::MyCustomInstance。使用以下语法描述模板资源类型。

  • For all AWS resources:

    AWS::*
  • For all custom resources:

    Custom::*
  • For a specific custom resource:

    Custom::logical_ID
  • For all resources of a particular AWS service:

    AWS::service_name::*
  • For a specific AWS resource:

    AWS::service_name::resource_logical_ID

如果资源类型列表不包括您创建的资源,那么堆栈创建将会失败。默认情况下,AWS CloudFormation 对所有资源类型授予权限。IAM 将此参数用于 IAM 策略中 AWS CloudFormation 特定的条件键。有关更多信息,请参阅使用 AWS Identity and Access Management 控制访问权限

类型:字符串的数组

长度限制: 最小长度为 1。长度上限为 256。

必填 否

RoleARN

AWS CloudFormation 创建堆栈所担任的 IAM 角色的 Amazon 资源名称 (ARN)。AWS CloudFormation 使用该角色的凭证以您的名义进行调用。AWS CloudFormation 针对堆栈的所有未来操作始终使用此角色。只要用户有权对堆栈进行操作,AWS CloudFormation 会使用此角色,即使用户无权传递它。确保该角色授予最少的权限。

如果您不指定值,则 AWS CloudFormation 会使用之前与堆栈关联的角色。如果角色不可用,则 AWS CloudFormation 会使用您的用户凭证生成的一个临时会话。

Type :字符串

长度限制: 最小长度为 20。长度上限为 2048。

必填 否

StackName

与堆栈关联的名称。名称在您创建堆栈的区域中必须是唯一的。

注意

堆栈名称只能包含字母数字字符(区分大小写)和连字符。该名称必须以字母字符开头,且不得超过 128 个字符。

Type :字符串

必填 是

StackPolicyBody

包含堆栈策略正文的结构。有关更多信息,请参阅防止更新堆栈资源

条件 您可以指定 StackPolicyBody 参数或 StackPolicyURL 参数,但并非两者。

Type :字符串

长度限制: 最小长度为 1。长度上限为 16384。

必填 否

StackPolicyURL

包含堆栈策略的文件的位置。URL 指向的策略必须位于与堆栈处于同一区域的 S3 存储桶中。堆栈策略允许的最大文件大小为 16 KB。

条件 您可以指定 StackPolicyBody 参数或 StackPolicyURL 参数,但并非两者。

Type :字符串

长度限制: 最小长度为 1。长度上限为 1350。

必填 否

标签

与此堆栈关联的键值对。AWS CloudFormation 还可以将这些标签传播到堆栈中创建的资源。您可以指定最多 10 个标签。

类型:标签对象数组

必填 否

TemplateBody

包含最小长度为 1 字节、最大长度为 51200 字节的模板正文的结构。有关更多信息,请参阅模板剖析

条件 您可以指定 TemplateBody 参数或 TemplateURL 参数,但并非两者。

Type :字符串

长度限制: 最小长度为 1。

必填 否

TemplateURL

包含模板正文的文件的位置。URL 必须指向一个位于 S3 存储桶中的模板。模板允许的最大大小为 460800 字节。有关更多信息,请参阅模板剖析

条件 您可以指定 TemplateBody 参数或 TemplateURL 参数,但并非两者。

Type :字符串

长度限制: 最小长度为 1。长度上限为 1024。

必填 否

TimeoutInMinutes

堆栈状态变成之前可以通过的时间量 CREATE_FAILED。IFIFIF DisableRollback 未设置或设置为 false,将回滚堆栈。

Type :整数

有效范围 最小值为 1。

必填 否

Outputs

堆栈 ID

堆栈的唯一标识符。

Type :字符串

StackStatus

堆栈的当前状态。

Type :字符串

有效值:CREATE_IN_PROGRESS | CREATE_FAILED | CREATE_COMPLETE | ROLLBACK_IN_PROGRESS | ROLLBACK_FAILED | ROLLBACK_COMPLETE | DELETE_IN_PROGRESS | DELETE_FAILED | DELETE_COMPLETE | UPDATE_IN_PROGRESS | UPDATE_COMPLETE_CLEANUP_IN_PROGRESS | UPDATE_COMPLETE | UPDATE_ROLLBACK_IN_PROGRESS | UPDATE_ROLLBACK_FAILED | UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS | UPDATE_ROLLBACK_COMPLETE | REVIEW_IN_PROGRESS

必填 是

StackStatusReason

与堆栈状态相关联的成功或失败消息。

Type :字符串

必填 否

有关更多信息,请参阅 CreateStack

Security considerations

您必须将以下策略分配给 IAM Automation 担任角色,才可以使用 aws:createStack 操作。有关担任角色的更多信息,请参阅任务1: 创建服务角色 自动化

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "sqs:*", "cloudformation:CreateStack", "cloudformation:DescribeStacks" ], "Resource":"*" } ] }