-
Notifications
You must be signed in to change notification settings - Fork 20
ManagingCloudFormationStacks
Simple Deploy can create, destroy, clone, update and read information about Cloud Formation stacks.
Assuming we have the following Cloud Formation template save to ~/sqs.json:
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "SQS Queue",
"Parameters": {
"Description": {
"Type": "String",
"Description": "What is the purpose of this queue"
}
},
"Resources" : {
"Queue" : {
"Type" : "AWS::SQS::Queue"
}
},
"Outputs" : {
"QueueURL" : {
"Description" : "URL of newly created SQS Queue",
"Value" : { "Ref" : "Queue" }
}
}
}
Assuming you have setup credentials with a default account, Simple Deploy can be used to create the following stack:
# simple_deploy create -e default -n queue -t ~/sqs.json -a Description='My brand new SQS queue.'
2012-12-12 15:25:31 -0800 INFO : Read Description=My brand new SQS queue.
2012-12-12 15:25:32 -0800 INFO : Creating Cloud Formation stack queue.
2012-12-12 15:25:33 -0800 INFO : Cloud Formation stack creation completed.
This will create a stack named queue passing in the parameter Description using the ~/sqs.json template in the default environment.
We can view lots of information about this stack including:
- attributes
- outputs
- parameters
- resources
- status
- instances
- template
For example, to view the outputs of this template we can run the following:
# simple_deploy outputs -e default -n queue
QueueURL: https://sqs.us-west-1.amazonaws.com/660217303193/queue-Queue-17Z22UR72TQJF
We can clone this stack. By default clone will take the current running template and attributes. Both can be overridden when cloning. For example:
# simple_deploy clone -e default -s queue -n new-queue -a Description="My new queue"
QueueURL: https://sqs.us-west-1.amazonaws.com/660217303193/queue-Queue-17Z22UR72TQJF
This creates a replicate replacing the description. We can view the new stack attributes:
# simple_deploy attributes -e default -n new-queue
CreatedAt=2012-12-12 23:31:14 UTC
Description=My new queue
Name=new-queue-us-west-1
We can update the parameters for a given stack. For example:
# simple_deploy update -e default -n new-queue -a Description="My less new queue"
2012-12-12 15:33:17 -0800 INFO : Read Description=My less new queue
2012-12-12 15:33:19 -0800 INFO : Updating new-queue.
2012-12-12 15:33:22 -0800 INFO : Updating Cloud Formation stack new-queue.
2012-12-12 15:33:23 -0800 INFO : No updates are to be performed.
2012-12-12 15:33:24 -0800 INFO : Update complete for new-queue.
# simple_deploy attributes -e default -n new-queue
CreatedAt=2012-12-12 23:33:23 UTC
Description=My less new queue
Name=new-queue-us-west-1
When finished, we can destroy both stacks.
# simple_deploy destroy -e default -n new-queue
2012-12-12 15:38:38 -0800 INFO : Cloud Formation stack destroy completed.
2012-12-12 15:38:38 -0800 INFO : Delete from SimpleDB successful.
2012-12-12 15:38:38 -0800 INFO : new-queue destroyed.
# simple_deploy destroy -e default -n queue
2012-12-12 15:38:47 -0800 INFO : Cloud Formation stack destroy completed.
2012-12-12 15:38:47 -0800 INFO : Delete from SimpleDB successful.
2012-12-12 15:38:47 -0800 INFO : queue destroyed.
There are a ton more features, for a full list commands, run -h on simple_deploy and -h on any subcommand for full list of options.
# simple_deploy -h
simple_deploy [attributes|clone|create|deploy|destroy|environments|events|execute|instances|list|outputs|parameters|protect|resources|ssh|status|template|update] [options]
Append -h for help on specific subcommand.
# simple_deploy instances -h
List instances for stack.
simple_deploy instances -n STACK_NAME -e ENVIRONMENT
--help, -h: Display Help
--environment, -e <s>: Set the target environment
--name, -n <s>: Stack name to manage
--internal, -i: Use internal IP for ssh commands
--version, -v: Print version and exit