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/amzn-s3-demo-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/amzn-s3-demo-bucket/myStackTemplate", "TimeoutInMinutes": 5, "Parameters": [ { "ParameterKey": "LambdaRoleArn", "ParameterValue": "{{LambdaAssumeRole}}" }, { "ParameterKey": "createdResource", "ParameterValue": "createdResource-{{automation:EXECUTION_ID}}" } } }
功能

您之前指定的值清單 CloudFormation 可以建立特定堆疊。某些堆疊範本包含的資源可能會影響 AWS 帳戶. 對於這些堆疊,您必須藉由指定此參數明確地確認其功能。

有效值包括 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

某些範本包含巨集。宏對模板執行自定義處理; 這可以包括諸如 find-and-replace操作之類的簡單操作,一直到整個模板的廣泛轉換。因此,使用者通常會從已處理的範本建立變更集,以在實際建立堆疊前先檢閱巨集產生的變更。如果堆疊範本包含一或多個巨集,且您選擇直接從已處理的範本建立堆疊,而不先檢閱變更集中所產生的變更,則您必須認可此功能。

若要取得更多資訊,請參閱《使用指南》中的〈使用 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

類型:布林值

必要:否

N otificationARNs

ARNs用於發佈堆疊相關事件的 Amazon 簡易通知服務 (AmazonSNS) 主題。您可以ARNs使用 Amazon SNS 控制台 https://console.aws.amazon.com/sns/v3/ home 找到SNS主題。

類型:字串的陣列

陣列成員:最多 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。

必要:否

角色 ARN

CloudFormation 假定要建立堆疊的IAM角色的 Amazon 資源名稱 (ARN)。 CloudFormation 使用角色的認證代表您撥打電話。 CloudFormation 始終將此角色用於堆棧上的所有 future 操作。只要使用者具有在堆疊上作業的權限,即 CloudFormation 使使用者沒有通過此角色的權限,也會使用此角色。確保角色授予最少量的權限。

如果您未指定值,則 CloudFormation 會使用先前與堆疊相關聯的角色。如果沒有可用的角色,請 CloudFormation 使用從您的使用者認證產生的暫時工作階段。

類型:字串

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

必要:否

StackName

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

注意

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

類型:字串

必要:是

StackPolicyBody

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

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

類型:字串

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

必要:否

StackPolicyURL

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

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

類型:字串

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

必要:否

標籤

要與此堆疊相關聯的索引鍵值對。 CloudFormation 還將這些標籤傳播到堆棧中創建的資源。您最多可指定 10 個標籤。

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

必要:否

TemplateBody

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

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

類型:字串

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

必要:否

。模板 URL

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

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

類型:字串

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

必要:否

TimeoutInMinutes

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

類型:整數

有效範圍:最小值為 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

安全考量

您必須將下列原則指派給「IAM自aws:createStack動化」假設角色,才能使用動作。如需擔任角色的詳細資訊,請參閱 任務 1:建立自動化的服務角色

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