搭配使用 CreateStack 與 CLI - AWS SDK 程式碼範例

AWS文件開發套件範例 GitHub 儲存庫中有更多可用的 AWS SDK 範例。

搭配使用 CreateStack 與 CLI

下列程式碼範例示範如何使用 CreateStack

CLI
AWS CLI

刪除 AWS CloudFormation 堆疊

以下 create-stacks 命令使用 sampletemplate.json 範本建立名為 myteststack 的堆疊:

aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json --parameters ParameterKey=KeyPairName,ParameterValue=TestKey ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2

輸出:

{ "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896" }

如需詳細資訊,請參閱《AWS CloudFormation 使用者指南》中的堆疊。

  • 如需 API 詳細資訊,請參閱《AWS CLI 命令參考》中的 CreateStack

PowerShell
Tools for PowerShell V4

範例 1:使用指定的名稱建立新堆疊。範本是根據提供的內容和自訂參數 ('PK1' 和 'PK2' 代表範本內容中宣告的參數名稱,'PV1' 和 'PV2' 代表這些參數的值) 進行剖析。自訂參數也可以使用 'Key' 和 'Value' (而不是 'ParameterKey' 和 'ParameterValue') 來指定。如果堆疊建立失敗,則不會還原。

New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true

範例 2:使用指定的名稱建立新堆疊。範本是根據提供的內容和自訂參數 ('PK1' 和 'PK2' 代表範本內容中宣告的參數名稱,'PV1' 和 'PV2' 代表這些參數的值) 進行剖析。自訂參數也可以使用 'Key' 和 'Value' (而不是 'ParameterKey' 和 'ParameterValue') 來指定。如果堆疊建立失敗,則會還原。

$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "PK1" $p1.ParameterValue = "PV1" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "PK2" $p2.ParameterValue = "PV2" New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( $p1, $p2 ) ` -OnFailure "ROLLBACK"

範例 3:使用指定的名稱建立新堆疊。範本是從具有自訂參數 ('PK1' 代表範本內容中宣告的參數名稱,'PV1' 代表參數的值) 的 Amazon S3 URL 取得。自訂參數也可以使用 'Key' 和 'Value' (而不是 'ParameterKey' 和 'ParameterValue') 來指定。如果建立堆疊失敗,則會還原 (與指定 -DisableRollback $false 相同)。

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

範例 4:使用指定的名稱建立新堆疊。範本是從具有自訂參數 ('PK1' 代表範本內容中宣告的參數名稱,'PV1' 代表參數的值) 的 Amazon S3 URL 取得。自訂參數也可以使用 'Key' 和 'Value' (而不是 'ParameterKey' 和 'ParameterValue') 來指定。如果建立堆疊失敗,則會還原 (與指定 -DisableRollback $false 相同)。指定的通知 AEN 會收到已發佈的堆疊相關事件。

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V4)》中的 CreateStack

Tools for PowerShell V5

範例 1:使用指定的名稱建立新堆疊。範本是根據提供的內容和自訂參數 ('PK1' 和 'PK2' 代表範本內容中宣告的參數名稱,'PV1' 和 'PV2' 代表這些參數的值) 進行剖析。自訂參數也可以使用 'Key' 和 'Value' (而不是 'ParameterKey' 和 'ParameterValue') 來指定。如果堆疊建立失敗,則不會還原。

New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true

範例 2:使用指定的名稱建立新堆疊。範本是根據提供的內容和自訂參數 ('PK1' 和 'PK2' 代表範本內容中宣告的參數名稱,'PV1' 和 'PV2' 代表這些參數的值) 進行剖析。自訂參數也可以使用 'Key' 和 'Value' (而不是 'ParameterKey' 和 'ParameterValue') 來指定。如果堆疊建立失敗,則會還原。

$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p1.ParameterKey = "PK1" $p1.ParameterValue = "PV1" $p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter $p2.ParameterKey = "PK2" $p2.ParameterValue = "PV2" New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( $p1, $p2 ) ` -OnFailure "ROLLBACK"

範例 3:使用指定的名稱建立新堆疊。範本是從具有自訂參數 ('PK1' 代表範本內容中宣告的參數名稱,'PV1' 代表參數的值) 的 Amazon S3 URL 取得。自訂參數也可以使用 'Key' 和 'Value' (而不是 'ParameterKey' 和 'ParameterValue') 來指定。如果建立堆疊失敗,則會還原 (與指定 -DisableRollback $false 相同)。

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

範例 4:使用指定的名稱建立新堆疊。範本是從具有自訂參數 ('PK1' 代表範本內容中宣告的參數名稱,'PV1' 代表參數的值) 的 Amazon S3 URL 取得。自訂參數也可以使用 'Key' 和 'Value' (而不是 'ParameterKey' 和 'ParameterValue') 來指定。如果建立堆疊失敗,則會還原 (與指定 -DisableRollback $false 相同)。指定的通知 AEN 會收到已發佈的堆疊相關事件。

New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
  • 如需 API 詳細資訊,請參閱《AWS Tools for PowerShell Cmdlet 參考 (V5)》中的 CreateStack