aws:createStack – 建立 AWS CloudFormation 堆疊。 - AWS Systems Manager

aws:createStack – 建立 AWS CloudFormation 堆疊。

從範本建立 AWS CloudFormation 堆疊。

如需建立 CloudFormation 堆疊的補充資訊,請參閱《AWS CloudFormation API 參考》中的 CreateStack

輸入

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}}" } } }
功能

在 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 之值,請指定此字符。藉由指定此字符,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 結構清單。如需詳細資訊,請參閱 Parameter (參數) 資料類型。

類型:Parameter (參數) 物件的陣列

必要:否

ResourceTypes

針對此建立堆疊的動作,您有許可使用的範本資源類型。例如,AWS::EC2::InstanceAWS::EC2::*Custom::MyCustomInstance。使用以下語法來描述範本資源類型。

  • 所有 AWS 資源:

    AWS::*
  • 用於所有自訂資源:

    Custom::*
  • 用於特定自訂資源:

    Custom::logical_ID
  • 用於特定 AWS 服務的所有資源:

    AWS::service_name::*
  • 用於特定的 AWS 資源:

    AWS::service_name::resource_logical_ID

如果資源類型的清單不包括您正在建立的資源,則堆疊建立會失敗。根據預設,CloudFormation 會授予所有資源類型的許可。IAM 針對 IAM 政策中的 CloudFormation 特定條件索引鍵使用此參數。如需詳細資訊,請參閱使用 AWS Identity and Access Management 控制存取

類型:字串的陣列

長度限制︰長度下限為 1。長度上限為 256。

必要:否

RoleARN

CloudFormation 假設建立堆疊之 IAM 角色的 Amazon Resource Name (ARN)。CloudFormation 會使用該角色的憑證代表您進行呼叫。CloudFormation 一律會將此角色用於堆疊上的所有未來操作。只要使用者擁有在堆疊上操作的許可,即使使用者沒有傳遞此角色的許可,CloudFormation 也會使用此角色。確保角色授予最少量的權限。

如果您不指定值,CloudFormation 會使用先前與堆疊關聯的角色。如果沒有可用的角色,CloudFormation 會使用從您的使用者登入資料產生的暫時工作階段。

類型:字串

長度限制︰長度下限為 20。長度上限為 2048。

必要:否

StackName

與堆疊關聯的名稱。在您建立堆疊的區域中,名稱必須是唯一的。

注意

堆疊名稱僅能使用英數字元 (區分大小寫) 和連字號。必須以字母字元開頭,且長度不可超過 128 個字元。

類型:字串

必要:是

StackPolicyBody

包含堆疊政策內文的結構。如需詳細資訊,請參閱避免更新堆疊資源

條件:您可以指定 StackPolicyBody 參數或 StackPolicyURL 參數,但不能同時指定兩者。

類型:字串

長度限制︰長度下限為 1。長度上限為 16384。

必要:否

StackPolicyURL

包含堆疊政策之檔案的位置。URL 指向的政策必須位於與堆疊在相同區域中的 S3 儲存貯體。堆疊政策允許的檔案大小上限為 16 KB。

條件:您可以指定 StackPolicyBody 參數或 StackPolicyURL 參數,但不能同時指定兩者。

類型:字串

長度限制︰長度下限為 1。長度上限為 1350。

必要:否

Tags (標籤)

要與此堆疊相關聯的索引鍵/值組。CloudFormation 也會將這些標籤散佈到堆疊中建立的資源。您最多可指定 10 個標籤。

類型:Tag (標籤) 物件的陣列

必要:否

TemplateBody

包含範本內文的結構,長度下限為 1 位元組,上限為 51,200 位元組。如需詳細資訊,請參閱範本剖析

條件:您可以指定 TemplateBody 參數或 TemplateURL 參數,但不能同時指定兩者。

類型:字串

長度限制︰長度下限為 1。

必要:否

TemplateURL

包含範本內文之檔案的位置。URL 必須指向位於 S3 儲存貯體的範本。範本允許的大小上限為 460,800 位元組。如需詳細資訊,請參閱範本剖析

條件:您可以指定 TemplateBody 參數或 TemplateURL 參數,但不能同時指定兩者。

類型:字串

長度限制︰長度下限為 1。長度上限為 1024。

必要:否

TimeoutInMinutes

在堆疊狀態成為 CREATE_FAILED 之前可經過的時間。如果 DisableRollback 未設定或設為 false,堆疊將會轉返。

類型:Integer

有效範圍:最小值為 1。

必要:否

輸出

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 自動化擔任角色。如需擔任角色的詳細資訊,請參閱 任務 1:建立自動化的服務角色

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