- unmigrated-wiki-markup
Documentation for Tasks for AWS 2.7 – other releases are available in the Tasks for AWS Documentation Directory.
View
or visit the current documentation home.
Using the AWS CloudFormation Stack task in Bamboo
You can use the AWS CloudFormation Stack task to create, update or delete an AWS CloudFormation stack defined by a template provided via URL or inline and specify template parameters and advanced options.
On this page:
Related Pages:
Configuration
To ease common scenarios, the Create action allows to Update [the] stack, if it already exists, similarly the Update action allows to Create [the] stack, if it does not already exist.
To configure an AWS CloudFormation task:
Navigate to the Tasks configuration tab for the job (this will be the default job if creating a new plan).
Click the name of an existing AWS CloudFormation task, or click Add Task and then AWS CloudFormation Task to create a new task.
Complete the following settings:
Common to all tasks
Actions supported by this task:
Create
Update stack, if it already exists
Check to apply the Update action, if the stack already exists. Clear to trigger a build failure otherwise.
Stack Name
Specify a stack name.
Template Source
Specify the stack template source as an S3 URL or inline in JSON format. Insert fragments from the inline Examples dialog to get started.
Refer to AWS CloudFormation Sample Templates for more examples and snippets.
Parameters
(Optional) Specify parameters in JSON format. Insert fragments from the inline Examples dialog to get started.
Advanced Options
Tags
(Optional) Tag the stack.
Notification ARN
(Optional) Specify the Amazon SNS topic ARN stack related events should be published to.
Creation Timeout (minutes)
Specify how much time can pass before the stack creation is considered failed.
On failure action
Select the action that will be taken if stack creation fails.
Stack Rollback
Stack rollback is currently handled as follows, hopefully covering the majority of use cases (please let us know otherwise):
A stack rolled back successfully by CloudFormation is treated as a failed build by Bamboo.
A stack not rolled back due to rollback being disabled explicitly is still treated as a failed build by Bamboo.
Enable IAM
(Optional) Check if the stack should be allowed to access IAM resources.
Enabling IAM requires the AWS Security Credentials source to be either 'Inline', or 'IAM Role for EC2 (Agent)', or a shared 'Identity Federation for AWS' connector with principal type 'Assume Role'.
Stack Policy Source
(Optional) Specify which update actions users can do and which resources they can take action on. See the Stack Policy Reference and Sample Stack Policies for details.
Update
Create stack, if it does not already exist
Check to apply the Create action, if the stack does not already exists. Clear to trigger a build failure otherwise.
Don't fail for no-op update
Check to not fail the build, if the update does not have affect any resource. Clear to trigger a build failure otherwise.
Stack Name or ID
Specify the target stack. You can use its name or ID.
Stack Template Source
see Create above
Parameters
see Create above
Advanced Options
Notification ARN
see Create above
Enable IAM
see Create above
Stack Policy Source
see Update above
Stack Policy During Update Source
(Optional) Override which update actions users can do and which resources they can take action on. See the Stack Policy Reference and Sample Stack Policies for details.
Delete
Stack Name or ID
see Update above
Don't fail for non existing stack
Check to not fail the build, if the stack does not exist (anymore). Clear to trigger a build failure otherwise.
Validate
The Validate action operates on a template rather than a stack. It has been included in this task for ease of use.
Stack Template Source
see Create above
Variables
Create
Creating common variables for 1 resources affected by task:
... custom.aws.cfn.stack.resources: SampleStack-TAWS-IT230-CFN2-24
Creating resource variables for stack 'SampleStack-TAWS-IT230-CFN2-24':
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.StackId: arn:aws:cloudformation:us-east-1:309600995652:stack/SampleStack-TAWS-IT230-CFN2-24/d6620400-2ffc-11e5-b660-50e2415b5e18
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.StackStatus: CREATE_COMPLETE
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.StackName: SampleStack-TAWS-IT230-CFN2-24
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.CreationTime: 20150721T230428Z
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.LastUpdatedTime: 20150721T230500Z
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags: Environment;Cost-Centre
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags.Environment: Test
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags.Cost-Centre: Development
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.parameters: QueueName
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.parameters.QueueName: Bamboo-24
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue: ResourceStatus;LogicalResourceId;PhysicalResourceId;Timestamp
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.ResourceStatus: CREATE_COMPLETE
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.LogicalResourceId: MyQueue
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.PhysicalResourceId: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.Timestamp: 20150721T230442Z
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources: MyQueue
Stack 'SampleStack-TAWS-IT230-CFN2-24' generated 2 outputs:
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.outputs: QueueURL;QueueARN
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.outputs.QueueURL: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24
... custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.outputs.QueueARN: arn:aws:sqs:us-east-1:309600995652:Bamboo-24
Creating common variables for first resource affected by task:
Creating resource variables for stack 'SampleStack-TAWS-IT230-CFN2-24':
... custom.aws.cfn.stack.first.StackId: arn:aws:cloudformation:us-east-1:309600995652:stack/SampleStack-TAWS-IT230-CFN2-24/d6620400-2ffc-11e5-b660-50e2415b5e18
... custom.aws.cfn.stack.first.StackStatus: CREATE_COMPLETE
... custom.aws.cfn.stack.first.StackName: SampleStack-TAWS-IT230-CFN2-24
... custom.aws.cfn.stack.first.CreationTime: 20150721T230428Z
... custom.aws.cfn.stack.first.LastUpdatedTime: 20150721T230500Z
... custom.aws.cfn.stack.first.tags: Environment;Cost-Centre
... custom.aws.cfn.stack.first.tags.Environment: Test
... custom.aws.cfn.stack.first.tags.Cost-Centre: Development
... custom.aws.cfn.stack.first.parameters: QueueName
... custom.aws.cfn.stack.first.parameters.QueueName: Bamboo-24
... custom.aws.cfn.stack.first.resources.MyQueue: ResourceStatus;LogicalResourceId;PhysicalResourceId;Timestamp
... custom.aws.cfn.stack.first.resources.MyQueue.ResourceStatus: CREATE_COMPLETE
... custom.aws.cfn.stack.first.resources.MyQueue.LogicalResourceId: MyQueue
... custom.aws.cfn.stack.first.resources.MyQueue.PhysicalResourceId: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24
... custom.aws.cfn.stack.first.resources.MyQueue.Timestamp: 20150721T230442Z
... custom.aws.cfn.stack.first.resources: MyQueue
Stack 'SampleStack-TAWS-IT230-CFN2-24' generated 2 outputs:
... custom.aws.cfn.stack.first.outputs: QueueURL;QueueARN
... custom.aws.cfn.stack.first.outputs.QueueURL: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24
... custom.aws.cfn.stack.first.outputs.QueueARN: arn:aws:sqs:us-east-1:309600995652:Bamboo-24
Update
Delete
Validate
N/A
Legacy Variable Naming
CloudFormation Variables had been named inconsistently in previous versions of this add-on - the following names are deprecated, but remain available for compatibility reasons for the time being:
the collection of affected stack resources, e.g.
bamboo.custom.aws.cfn.stack.resources=i-3280997f;vol-e1debbcd;test-stack-SecurityGroup-KZWPADIUPCL6the status of each affected stack resource, e.g.
bamboo.custom.aws.cfn.stack.i-3280997f=CREATE_COMPLETEthe collection of generated stack outputs, e.g.
bamboo.custom.aws.cfn.stack.outputs=sampleStackOutputKey;StringWithRegex;...the value of each generated stack output, e.g.
bamboo.custom.aws.cfn.stack.StringWithRegex=Hellovariables with legacy naming without prefix remain available for compatibility (e.g.
bamboo.StringWithRegex=Hello)