aws:createStack— 创建Amazon CloudFormation堆栈 - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

aws:createStack— 创建Amazon CloudFormation堆栈

创建Amazon CloudFormation堆栈。

有关创建 CloudFormation 堆栈的补充信息,请参阅CreateStack中的Amazon CloudFormationAPI 参考

输入

YAML
name: makeStack action: aws:createStack maxAttempts: 1 onFailure: Abort inputs: Capabilities: - CAPABILITY_IAM StackName: myStack TemplateURL: http://s3.amazonaws.com/doc-example-bucket/myStackTemplate TimeoutInMinutes: 5 Parameters: - ParameterKey: LambdaRoleArn ParameterValue: "{{LambdaAssumeRole}}" - ParameterKey: createdResource ParameterValue: createdResource-{{automation:EXECUTION_ID}}
JSON
{ "name": "makeStack", "action": "aws:createStack", "maxAttempts": 1, "onFailure": "Abort", "inputs": { "Capabilities": [ "CAPABILITY_IAM" ], "StackName": "myStack", "TemplateURL": "http://s3.amazonaws.com/doc-example-bucket/myStackTemplate", "TimeoutInMinutes": 5, "Parameters": [ { "ParameterKey": "LambdaRoleArn", "ParameterValue": "{{LambdaAssumeRole}}" }, { "ParameterKey": "createdResource", "ParameterValue": "createdResource-{{automation:EXECUTION_ID}}" } } }
Capabilities

CloudFormation 可以创建某些堆栈之前指定的值列表。一些堆栈模板中包含的资源会影响Amazon Web Services 账户。例如,创建新的 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

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

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

CAPABILITY_AUTO_EXPAND

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

有关更多信息,请参阅 。使用Amazon CloudFormation对模板执行自定义处理的宏中的Amazon CloudFormation用户指南

类型:字符串的数组

有效值:CAPABILITY_IAM | CAPABILITY_NAMED_IAM | CAPABILITY_AUTO_EXPAND

:必需 否

ClientRequestToken

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

类型: 字符串

:必需 否

长度约束:最小长度为 1。长度上限为 128。

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

DisableRollback

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

条件:您可指定DisableRollback参数或OnFailure参数,但不能同时使用。

默认值:false

类型: Boolean

:必需 否

NotificationARNs

Amazon Simple Notification Service (Amazon SNS) 主题 ARN,用于发布堆栈相关事件。您可以使用 Amazon SNS 控制台 () 找到 SNS 主题 ARN。https://console.aws.amazon.com/sns/v3/home

类型:字符串的数组

数组成员:最多 5 项。

:必需 否

OnFailure

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

条件:您可指定OnFailure参数或DisableRollback参数,但不能同时使用。

默认值:ROLLBACK

类型: 字符串

有效值: DO_NOTHING | ROLLBACK | DELETE

:必需 否

参数

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

类型:参数对象数组

:必需 否

ResourceTypes

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

  • 对于所有 Amazon 资源:

    AWS::*
  • 对于所有自定义资源:

    Custom::*
  • 对于指定自定义资源:

    Custom::logical_ID
  • 对于特定 Amazon 服务的所有资源:

    AWS::service_name::*
  • 对于特定的 Amazon 资源:

    AWS::service_name::resource_logical_ID

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

类型:字符串的数组

长度约束:最小长度为 1。长度上限为 256。

:必需 否

RoleARN

CloudFormation 为创建堆栈而担任的 IAM 角色的 Amazon 资源名称 (ARN)。CloudFormation 使用角色的凭证来代表您发出呼叫。CloudFormation 始终将此角色用于堆栈上的所有未来操作。只要用户有权对堆栈进行操作,CloudFormation 会使用此角色,即使用户无权传递它。确保该角色授予最少的权限。

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

类型: 字符串

长度约束:最小长度为 20。长度上限为 2048。

:必需 否

StackName

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

注意

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

类型: 字符串

:必需 是

StackPolicyBody

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

条件:您可指定StackPolicyBody参数或StackPolicyURL参数,但不能同时使用。

类型: 字符串

长度约束:最小长度为 1。长度上限为 16384。

:必需 否

StackPolicyURL

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

条件:您可指定StackPolicyBody参数或StackPolicyURL参数,但不能同时使用。

类型: 字符串

长度约束:最小长度为 1。长度上限为 1350。

:必需 否

标签

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

类型:标签对象数组

:必需 否

TemplateBody

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

条件:您可指定TemplateBody参数或TemplateURL参数,但不能同时使用。

类型: 字符串

长度约束:最小长度为 1。

:必需 否

TemplateURL

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

条件:您可指定TemplateBody参数或TemplateURL参数,但不能同时使用。

类型: 字符串

长度约束:最小长度为 1。长度上限为 1024。

:必需 否

TimeoutInMinutes

堆栈状态变为 CREATE_FAILED 前允许经过的时间。如果未设置 DisableRollback 或将其设置为 false,堆栈将被回滚。

类型: 整数

有效范围:最小值为 1。

:必需 否

Outputs

StackId

堆栈的唯一标识符。

类型: 字符串

StackStatus

堆栈的当前状态。

类型: 字符串

有效值: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

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

类型: 字符串

:必需 否

有关更多信息,请参阅 CreateStack

安全注意事项

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

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