Examples for creating and managing CloudFormation stacks with the Amazon CLI and PowerShell
The following command line examples demonstrate how to perform individual CloudFormation actions with the Amazon CLI and PowerShell. These examples include only the most commonly used actions. For a complete list, see the Amazon CloudFormation API Reference.
Use CancelUpdateStack
with the
Amazon CLI or PowerShell
The following code examples show how to use CancelUpdateStack
.
- CLI
-
- Amazon CLI
-
To cancel a stack update that is in progress
The following
cancel-update-stack
command cancels a stack update on themyteststack
stack:aws cloudformation cancel-update-stack --stack-name
myteststack
-
For API details, see CancelUpdateStack
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Cancels an update on the specified stack.
Stop-CFNUpdateStack -StackName "myStack"
-
For API details, see CancelUpdateStack
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use ContinueUpdateRollback
with the Amazon CLI or PowerShell
The following code examples show how to use ContinueUpdateRollback
.
- CLI
-
- Amazon CLI
-
To retry an update rollback
The following
continue-update-rollback
example resumes a rollback operation from a previously failed stack update.aws cloudformation continue-update-rollback \ --stack-name
my-stack
This command produces no output.
-
For API details, see ContinueUpdateRollback
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Continues rollback of the named stack, which should be in the state 'UPDATE_ROLLBACK_FAILED'. If the continued rollback is successful, the stack will enter state 'UPDATE_ROLLBACK_COMPLETE'.
Resume-CFNUpdateRollback -StackName "myStack"
-
For API details, see ContinueUpdateRollback
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use CreateStack
with the Amazon CLI or
PowerShell
The following code examples show how to use CreateStack
.
- CLI
-
- Amazon CLI
-
To create an Amazon CloudFormation stack
The following
create-stacks
command creates a stack with the namemyteststack
using thesampletemplate.json
template:aws cloudformation create-stack --stack-name
myteststack
--template-bodyfile://sampletemplate.json
--parametersParameterKey=KeyPairName,ParameterValue=TestKey
ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2Output:
{ "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896" }
For more information, see Stacks in the Amazon CloudFormation User Guide.
-
For API details, see CreateStack
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Creates a new stack with the specified name. The template is parsed from the supplied content with customization parameters ('PK1' and 'PK2' represent the names of parameters declared in the template content, 'PV1' and 'PV2' represent the values for those parameters. The customization parameters can also be specified using 'Key' and 'Value' instead of 'ParameterKey' and 'ParameterValue'. If creation of the stack fails, it will not be rolled back.
New-CFNStack -StackName "myStack" ` -TemplateBody "{TEMPLATE CONTENT HERE}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) ` -DisableRollback $true
Example 2: Creates a new stack with the specified name. The template is parsed from the supplied content with customization parameters ('PK1' and 'PK2' represent the names of parameters declared in the template content, 'PV1' and 'PV2' represent the values for those parameters. The customization parameters can also be specified using 'Key' and 'Value' instead of 'ParameterKey' and 'ParameterValue'. If creation of the stack fails, it will be rolled back.
$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"
Example 3: Creates a new stack with the specified name. The template is obtained from the Amazon S3 URL with customization parameters ('PK1' represents the name of a parameter declared in the template content, 'PV1' represents the value for the parameter. The customization parameters can also be specified using 'Key' and 'Value' instead of 'ParameterKey' and 'ParameterValue'. If creation of the stack fails, it will be rolled back (same as specifying -DisableRollback $false).
New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
Example 4: Creates a new stack with the specified name. The template is obtained from the Amazon S3 URL with customization parameters ('PK1' represents the name of a parameter declared in the template content, 'PV1' represents the value for the parameter. The customization parameters can also be specified using 'Key' and 'Value' instead of 'ParameterKey' and 'ParameterValue'. If creation of the stack fails, it will be rolled back (same as specifying -DisableRollback $false). The specified notification AENs will receive published stack-related events.
New-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } ` -NotificationARN @( "arn1", "arn2" )
-
For API details, see CreateStack
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use DeleteStack
with the Amazon CLI or
PowerShell
The following code examples show how to use DeleteStack
.
- CLI
-
- Amazon CLI
-
To delete a stack
The following
delete-stack
example deletes the specified stack.aws cloudformation delete-stack \ --stack-name
my-stack
This command produces no output.
-
For API details, see DeleteStack
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Deletes the specified stack.
Remove-CFNStack -StackName "myStack"
-
For API details, see DeleteStack
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use DescribeStackEvents
with the
Amazon CLI or PowerShell
The following code examples show how to use DescribeStackEvents
.
- CLI
-
- Amazon CLI
-
To describe stack events
The following
describe-stack-events
example displays the 2 most recent events for the specified stack.aws cloudformation describe-stack-events \ --stack-name
my-stack
\ --max-items2
{
"StackEvents":[
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "EventId": "4e1516d0-e4d6-xmpl-b94f-0a51958a168c", "StackName": "my-stack", "LogicalResourceId": "my-stack", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "ResourceType": "AWS::CloudFormation::Stack", "Timestamp": "2019-10-02T05:34:29.556Z", "ResourceStatus":"UPDATE_COMPLETE"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "EventId": "4dd3c810-e4d6-xmpl-bade-0aaf8b31ab7a", "StackName": "my-stack", "LogicalResourceId": "my-stack", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "ResourceType": "AWS::CloudFormation::Stack", "Timestamp": "2019-10-02T05:34:29.127Z", "ResourceStatus":"UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
}
],
"NextToken":"eyJOZXh0VG9XMPLiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ=="
}
-
For API details, see DescribeStackEvents
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Returns all stack related events for the specified stack.
Get-CFNStackEvent -StackName "myStack"
Example 2: Returns all stack related events for the specified stack using manual paging starting at the specified token. The starting token for the next page is retrieved after every call with $null indicating no more events remain to be retrieved.
$nextToken = $null do { Get-CFNStack -StackName "myStack" -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
-
For API details, see DescribeStackEvents
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use DescribeStackResource
with the Amazon CLI or PowerShell
The following code examples show how to use DescribeStackResource
.
- CLI
-
- Amazon CLI
-
To get information about a stack resource
The following
describe-stack-resource
example displays details for the resource namedMyFunction
in the specified stack.aws cloudformation describe-stack-resource \ --stack-name
MyStack
\ --logical-resource-idMyFunction
Output:
{ "StackResourceDetail": { "StackName": "MyStack", "StackId": "arn:aws:cloudformation:us-east-2:123456789012:stack/MyStack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "MyFunction", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z", "ResourceStatus": "UPDATE_COMPLETE", "Metadata": "{}", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } } }
-
For API details, see DescribeStackResource
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Returns the description of a resource identified in the template associated with the specified stack by the logical ID "MyDBInstance".
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
-
For API details, see DescribeStackResource
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use DescribeStackResources
with the Amazon CLI or PowerShell
The following code examples show how to use DescribeStackResources
.
- CLI
-
- Amazon CLI
-
To get information about a stack resource
The following
describe-stack-resources
example displays details for the resources in the specified stack.aws cloudformation describe-stack-resources \ --stack-name
my-stack
Output:
{ "StackResources": [ { "StackName": "my-stack", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "bucket", "PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf", "ResourceType": "AWS::S3::Bucket", "Timestamp": "2019-10-02T04:34:11.345Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "StackName": "my-stack", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "function", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "Timestamp": "2019-10-02T05:34:27.989Z", "ResourceStatus": "UPDATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "StackName": "my-stack", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "functionRole", "PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E", "ResourceType": "AWS::IAM::Role", "Timestamp": "2019-10-02T04:34:06.350Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } } ] }
-
For API details, see DescribeStackResources
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Returns the Amazon resource descriptions for up to 100 resources associated with the specified stack. To obtain details of all resources associated with a stack use the Get-CFNStackResourceSummary, which also supports manual paging of the results.
Get-CFNStackResourceList -StackName "myStack"
Example 2: Returns the description of the Amazon EC2 instance identified in the template associated with the specified stack by the logical ID "Ec2Instance".
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
Example 3: Returns the description of up to 100 resources associated with the stack containing an Amazon EC2 instance identified by instance ID "i-123456". To obtain details of all resources associated with a stack use the Get-CFNStackResourceSummary, which also supports manual paging of the results.
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
Example 4: Returns the description of the Amazon EC2 instance identified by the logical ID "Ec2Instance" in the template for a stack. The stack is identified using the physical resource ID of a resource it contains, in this case also an Amazon EC2 instance with instance ID "i-123456". A different physical resource could also be used to identify the stack depending on the template content, for example an Amazon S3 bucket.
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
-
For API details, see DescribeStackResources
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use DescribeStacks
with the Amazon CLI or
PowerShell
The following code examples show how to use DescribeStacks
.
- CLI
-
- Amazon CLI
-
To describe Amazon CloudFormation stacks
The following
describe-stacks
command shows summary information for themyteststack
stack:aws cloudformation describe-stacks --stack-name
myteststack
Output:
{ "Stacks": [ { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896", "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Tags": [], "Outputs": [ { "Description": "Name of S3 bucket to hold website content", "OutputKey": "BucketName", "OutputValue": "myteststack-s3bucket-jssofi1zie2w" } ], "StackStatusReason": null, "CreationTime": "2013-08-23T01:02:15.422Z", "Capabilities": [], "StackName": "myteststack", "StackStatus": "CREATE_COMPLETE", "DisableRollback": false } ] }
For more information, see Stacks in the Amazon CloudFormation User Guide.
-
For API details, see DescribeStacks
in Amazon CLI Command Reference.
-
- Go
-
- SDK for Go V2
-
Note
There's more on GitHub. Find the complete example and learn how to set up and run in the Amazon Code Examples Repository
. // StackOutputs defines a map of outputs from a specific stack. type StackOutputs map[string]string type CloudFormationActions struct { CfnClient *cloudformation.Client } // GetOutputs gets the outputs from a CloudFormation stack and puts them into a structured format. func (actor CloudFormationActions) GetOutputs(stackName string) StackOutputs { output, err := actor.CfnClient.DescribeStacks(context.TODO(), &cloudformation.DescribeStacksInput{ StackName: aws.String(stackName), }) if err != nil || len(output.Stacks) == 0 { log.Panicf("Couldn't find a CloudFormation stack named %v. Here's why: %v\n", stackName, err) } stackOutputs := StackOutputs{} for _, out := range output.Stacks[0].Outputs { stackOutputs[*out.OutputKey] = *out.OutputValue } return stackOutputs }
-
For API details, see DescribeStacks
in Amazon SDK for Go API Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Returns a collection of Stack instances describing all of the user's stacks.
Get-CFNStack
Example 2: Returns a Stack instance describing the specified stack
Get-CFNStack -StackName "myStack"
Example 3: Returns a collection of Stack instances describing all of the user's stacks using manual paging. The starting token for the next page is retrieved after every call with $null indicating no more details remain to be retrieved.
$nextToken = $null do { Get-CFNStack -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
-
For API details, see DescribeStacks
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use GetTemplate
with the Amazon CLI or
PowerShell
The following code examples show how to use GetTemplate
.
- CLI
-
- Amazon CLI
-
To view the template body for an Amazon CloudFormation stack
The following
get-template
command shows the template for themyteststack
stack:aws cloudformation get-template --stack-name
myteststack
Output:
{ "TemplateBody": { "AWSTemplateFormatVersion": "2010-09-09", "Outputs": { "BucketName": { "Description": "Name of S3 bucket to hold website content", "Value": { "Ref": "S3Bucket" } } }, "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": { "AccessControl": "PublicRead" } } } } }
-
For API details, see GetTemplate
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Returns the template associated with the specified stack.
Get-CFNTemplate -StackName "myStack"
-
For API details, see GetTemplate
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use ListStackResources
with the
Amazon CLI or PowerShell
The following code examples show how to use ListStackResources
.
- CLI
-
- Amazon CLI
-
To list resources in a stack
The following command displays the list of resources in the specified stack.
aws cloudformation list-stack-resources \ --stack-name
my-stack
Output:
{ "StackResourceSummaries": [ { "LogicalResourceId": "bucket", "PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf", "ResourceType": "AWS::S3::Bucket", "LastUpdatedTimestamp": "2019-10-02T04:34:11.345Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "LogicalResourceId": "function", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z", "ResourceStatus": "UPDATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "LogicalResourceId": "functionRole", "PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E", "ResourceType": "AWS::IAM::Role", "LastUpdatedTimestamp": "2019-10-02T04:34:06.350Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } } ] }
-
For API details, see ListStackResources
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Returns descriptions of all the resources associated with the specified stack.
Get-CFNStackResourceSummary -StackName "myStack"
Example 2: Returns descriptions of all the resources associated with the specified stack using manual paging of the results. The starting token for the next page is retrieved after every call with $null indicating no more details remain to be retrieved.
$nextToken = $null do { Get-CFNStackResourceSummary -StackName "myStack" -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
-
For API details, see ListStackResources
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use ListStacks
with the Amazon CLI or
PowerShell
The following code examples show how to use ListStacks
.
- CLI
-
- Amazon CLI
-
To list Amazon CloudFormation stacks
The following
list-stacks
command shows a summary of all stacks that have a status ofCREATE_COMPLETE
:aws cloudformation list-stacks --stack-status-filter
CREATE_COMPLETE
Output:
[ { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896", "TemplateDescription": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "StackStatusReason": null, "CreationTime": "2013-08-26T03:27:10.190Z", "StackName": "myteststack", "StackStatus": "CREATE_COMPLETE" } ]
-
For API details, see ListStacks
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Returns summary information for all stacks.
Get-CFNStackSummary
Example 2: Returns summary information for all stacks that are currently being created.
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
Example 3: Returns summary information for all stacks that are currently being created or updated.
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
Example 4: Returns summary information for all stacks that are currently being created or updated using manual paging of the results. The starting token for the next page is retrieved after every call with $null indicating no more details remain to be retrieved.
$nextToken = $null do { Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS") -NextToken $nextToken $nextToken = $AWSHistory.LastServiceResponse.NextToken } while ($nextToken -ne $null)
-
For API details, see ListStacks
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use UpdateStack
with the Amazon CLI or
PowerShell
The following code examples show how to use UpdateStack
.
- CLI
-
- Amazon CLI
-
To update Amazon CloudFormation stacks
The following
update-stack
command updates the template and input parameters for themystack
stack:aws cloudformation update-stack --stack-name
mystack
--template-urlhttps://s3.amazonaws.com/sample/updated.template
--parametersParameterKey=KeyPairName,ParameterValue=SampleKeyPair
ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2The following
update-stack
command updates just theSubnetIDs
parameter value for themystack
stack. If you don't specify a parameter value, the default value that is specified in the template is used:aws cloudformation update-stack --stack-name
mystack
--template-urlhttps://s3.amazonaws.com/sample/updated.template
--parametersParameterKey=KeyPairName,UsePreviousValue=true
ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2The following
update-stack
command adds two stack notification topics to themystack
stack:aws cloudformation update-stack --stack-name
mystack
--use-previous-template --notification-arns"arn:aws:sns:use-east-1:123456789012:mytopic1"
"arn:aws:sns:us-east-1:123456789012:mytopic2"
For more information, see Amazon CloudFormation stack updates
in the Amazon CloudFormation User Guide. -
For API details, see UpdateStack
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Updates the stack 'myStack' with the specified template and customization parameters. 'PK1' represents the name of a parameter declared in the template and 'PV1' represents its value. The customization parameters can also be specified using 'Key' and 'Value' instead of 'ParameterKey' and 'ParameterValue'.
Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
Example 2: Updates the stack 'myStack' with the specified template and customization parameters. 'PK1' and 'PK2' represent the names of parameters declared in the template, 'PV1' and 'PV2' represents their requested values. The customization parameters can also be specified using 'Key' and 'Value' instead of 'ParameterKey' and 'ParameterValue'.
Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
Example 3: Updates the stack 'myStack' with the specified template and customization parameters. 'PK1' represents the name of a parameter declared in the template and 'PV2' represents its value. The customization parameters can also be specified using 'Key' and 'Value' instead of 'ParameterKey' and 'ParameterValue'.
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
Example 4: Updates the stack 'myStack' with the specified template, obtained from Amazon S3, and customization parameters. 'PK1' and 'PK2' represent the names of parameters declared in the template, 'PV1' and 'PV2' represents their requested values. The customization parameters can also be specified using 'Key' and 'Value' instead of 'ParameterKey' and 'ParameterValue'.
Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
Example 5: Updates the stack 'myStack', which is assumed in this example to contain IAM resources, with the specified template, obtained from Amazon S3, and customization parameters. 'PK1' and 'PK2' represent the names of parameters declared in the template, 'PV1' and 'PV2' represents their requested values. The customization parameters can also be specified using 'Key' and 'Value' instead of 'ParameterKey' and 'ParameterValue'. Stacks containing IAM resources require you to specify the -Capabilities "CAPABILITY_IAM" parameter otherwise the update will fail with an 'InsufficientCapabilities' error.
Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM"
-
For API details, see UpdateStack
in Amazon Tools for PowerShell Cmdlet Reference.
-
Use ValidateTemplate
with the Amazon CLI
or PowerShell
The following code examples show how to use ValidateTemplate
.
- CLI
-
- Amazon CLI
-
To validate an Amazon CloudFormation template
The following
validate-template
command validates thesampletemplate.json
template:aws cloudformation validate-template --template-body
file://sampletemplate.json
Output:
{ "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Parameters": [], "Capabilities": [] }
For more information, see Working with Amazon CloudFormation Templates in the Amazon CloudFormation User Guide.
-
For API details, see ValidateTemplate
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell
-
Example 1: Validates the specified template content. The output details the capabilities, description and parameters of the template.
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
Example 2: Validates the specified template accessed via an Amazon S3 URL. The output details the capabilities, description and parameters of the template.
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/mytemplates/templatefile.template
-
For API details, see ValidateTemplate
in Amazon Tools for PowerShell Cmdlet Reference.
-