The following macros are not currently supported in the header:
  • unmigrated-wiki-markup

Documentation for Tasks for AWS 2.10 – other releases are available in the Tasks for AWS Documentation Directory.
View

Unknown macro: {spacejump}

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 (see Provisioning with AWS CloudFormation for an overview of the CloudFormation resource lifecycle and provisioning workflow).

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:

  1. Navigate to the Tasks configuration tab for the job (this will be the default job if creating a new plan).
  2. Click the name of an existing AWS CloudFormation task, or click Add Task and then AWS CloudFormation Task to create a new task.
  3. Complete the following settings:

    1. Common to all tasks

       Click here to expand...

      Task Description (Optional) Identify the purpose of the task.
      Disable this task

      Check, or clear, to selectively run this task.

      Action

      Each task supports one or more actions depending on the target AWS resource. Select the desired action and configure the action specific parameters below.

      RegionSelect the desired AWS Region. Alternatively, select [Use region variable ...] to supply the region dynamically via Bamboo variables (needs to be a region code such as ap-southeast-2) - refer to How to parametrize the AWS region via a Bamboo variable for details.
      ...Configure task/action specific parameters, see below ...
      AWS Security Credentials 
      SourceSelect the source for the required AWS Security Credentials - can be either Inline, an IAM Role for EC2 or a shared Identity Federation for AWS Connector.
      Connector(Conditional) Select the shared Identity Federation for AWS Connector. Alternatively, select [Use connector variable ...] to supply the connector dynamically via Bamboo variables (needs to be a connector id such as f24e81bc-7aff-42db-86a2-7cf82e24d871) - refer to How to parametrize the AWS connector via a Bamboo variable for details.

    2. Actions supported by this task:

      Create Stack

       
      Update stack, if it already existsCheck to apply the Update action, if the stack already exists. Clear to trigger a build failure otherwise.
      Stack Name

      Specify the 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.

      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 ARNs(Optional) Specify the Amazon SNS topic ARN(s) for publishing stack related events (either a single ARN, or a JSON array with up to five ARNs).
      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.

      • (info) 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 Stack

       
      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 updateCheck 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 stack name or ID.
      Stack Template Sourcesee Create above
      Parameterssee Create above
      Advanced Options 
      Tagssee Create above
      Notification ARNs
      see Create above
      Enable IAM
      see Create above 
      Stack Policy Sourcesee 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

       
      Stack Name or ID

      see Update above

      Don't fail for non existing stackCheck to not fail the build, if the stack does not exist (anymore). Clear to trigger a build failure otherwise.

      Validate Template(s)

      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

      Multiple Templates Validation

      As of Tasks for AWS 2.10.1, you can validate multiple templates at once by specifying a S3 virtual directory prefix, i.e. an S3 URL that ends in a '/' (e.g. https://downloads-example-com.s3.amazonaws.com/aws-cloudformation/templates/). This will validate all S3 objects with this prefix, no matter their file name, extension or virtual directory nesting level, excluding the legacy S3 virtual directory marker file *_$folder$ that has been used by e.g. Apache Hadoop's NativeS3FileSystem and other third party tools.

Variables

All tasks support Bamboo Variable Substitution/Definition - this task's actions generate variables as follows:

A task's generated variables might get amended with respective AWS API additions over time - a live build log will always provide the most current variable shape accordingly

Create Stack

Creating common variables for 1 resources affected by task:
... bamboo.custom.aws.cfn.stack.resources: SampleStack-TAWS-IT230-CFN2-24
Creating resource variables for stack 'SampleStack-TAWS-IT230-CFN2-24':
... bamboo.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
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.StackStatus: CREATE_COMPLETE
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.StackName: SampleStack-TAWS-IT230-CFN2-24
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.CreationTime: 20150721T230428Z
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.LastUpdatedTime: 20150721T230500Z
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags: Environment;Cost-Centre
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags.Environment: Test
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags.Cost-Centre: Development
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.parameters: QueueName
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.parameters.QueueName: Bamboo-24
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue: ResourceStatus;LogicalResourceId;PhysicalResourceId;Timestamp
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.ResourceStatus: CREATE_COMPLETE
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.LogicalResourceId: MyQueue
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.PhysicalResourceId: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.Timestamp: 20150721T230442Z
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources: MyQueue
Stack 'SampleStack-TAWS-IT230-CFN2-24' generated 2 outputs:
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.outputs: QueueURL;QueueARN
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.outputs.QueueURL: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24
... bamboo.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':
... bamboo.custom.aws.cfn.stack.first.StackId: arn:aws:cloudformation:us-east-1:309600995652:stack/SampleStack-TAWS-IT230-CFN2-24/d6620400-2ffc-11e5-b660-50e2415b5e18
... bamboo.custom.aws.cfn.stack.first.StackStatus: CREATE_COMPLETE
... bamboo.custom.aws.cfn.stack.first.StackName: SampleStack-TAWS-IT230-CFN2-24
... bamboo.custom.aws.cfn.stack.first.CreationTime: 20150721T230428Z
... bamboo.custom.aws.cfn.stack.first.LastUpdatedTime: 20150721T230500Z
... bamboo.custom.aws.cfn.stack.first.tags: Environment;Cost-Centre
... bamboo.custom.aws.cfn.stack.first.tags.Environment: Test
... bamboo.custom.aws.cfn.stack.first.tags.Cost-Centre: Development
... bamboo.custom.aws.cfn.stack.first.parameters: QueueName
... bamboo.custom.aws.cfn.stack.first.parameters.QueueName: Bamboo-24
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue: ResourceStatus;LogicalResourceId;PhysicalResourceId;Timestamp
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.ResourceStatus: CREATE_COMPLETE
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.LogicalResourceId: MyQueue
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.PhysicalResourceId: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.Timestamp: 20150721T230442Z
... bamboo.custom.aws.cfn.stack.first.resources: MyQueue
Stack 'SampleStack-TAWS-IT230-CFN2-24' generated 2 outputs:
... bamboo.custom.aws.cfn.stack.first.outputs: QueueURL;QueueARN
... bamboo.custom.aws.cfn.stack.first.outputs.QueueURL: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24
... bamboo.custom.aws.cfn.stack.first.outputs.QueueARN: arn:aws:sqs:us-east-1:309600995652:Bamboo-24

Update Stack

Creating common variables for 1 resources affected by task:
... bamboo.custom.aws.cfn.stack.resources: SampleStack-TAWS-IT230-CFN2-24
Creating resource variables for stack 'SampleStack-TAWS-IT230-CFN2-24':
... bamboo.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
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.StackStatus: UPDATE_COMPLETE
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.StackName: SampleStack-TAWS-IT230-CFN2-24
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.CreationTime: 20150721T230428Z
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.LastUpdatedTime: 20150721T230501Z
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags: Environment;Cost-Centre
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags.Environment: Test
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags.Cost-Centre: Development
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.parameters: QueueName
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.parameters.QueueName: Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue: ResourceStatus;LogicalResourceId;PhysicalResourceId;Timestamp
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.ResourceStatus: UPDATE_COMPLETE
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.LogicalResourceId: MyQueue
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.PhysicalResourceId: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.Timestamp: 20150721T230511Z
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources: MyQueue
Stack 'SampleStack-TAWS-IT230-CFN2-24' generated 2 outputs:
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.outputs: QueueURL;QueueARN
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.outputs.QueueURL: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.outputs.QueueARN: arn:aws:sqs:us-east-1:309600995652:Bamboo-24-updated
Creating common variables for first resource affected by task:
Creating resource variables for stack 'SampleStack-TAWS-IT230-CFN2-24':
... bamboo.custom.aws.cfn.stack.first.StackId: arn:aws:cloudformation:us-east-1:309600995652:stack/SampleStack-TAWS-IT230-CFN2-24/d6620400-2ffc-11e5-b660-50e2415b5e18
... bamboo.custom.aws.cfn.stack.first.StackStatus: UPDATE_COMPLETE
... bamboo.custom.aws.cfn.stack.first.StackName: SampleStack-TAWS-IT230-CFN2-24
... bamboo.custom.aws.cfn.stack.first.CreationTime: 20150721T230428Z
... bamboo.custom.aws.cfn.stack.first.LastUpdatedTime: 20150721T230501Z
... bamboo.custom.aws.cfn.stack.first.tags: Environment;Cost-Centre
... bamboo.custom.aws.cfn.stack.first.tags.Environment: Test
... bamboo.custom.aws.cfn.stack.first.tags.Cost-Centre: Development
... bamboo.custom.aws.cfn.stack.first.parameters: QueueName
... bamboo.custom.aws.cfn.stack.first.parameters.QueueName: Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue: ResourceStatus;LogicalResourceId;PhysicalResourceId;Timestamp
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.ResourceStatus: UPDATE_COMPLETE
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.LogicalResourceId: MyQueue
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.PhysicalResourceId: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.Timestamp: 20150721T230511Z
... bamboo.custom.aws.cfn.stack.first.resources: MyQueue
Stack 'SampleStack-TAWS-IT230-CFN2-24' generated 2 outputs:
... bamboo.custom.aws.cfn.stack.first.outputs: QueueURL;QueueARN
... bamboo.custom.aws.cfn.stack.first.outputs.QueueURL: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.first.outputs.QueueARN: arn:aws:sqs:us-east-1:309600995652:Bamboo-24-updated

Delete Stack

Creating common variables for 1 resources affected by task:
... bamboo.custom.aws.cfn.stack.resources: SampleStack-TAWS-IT230-CFN2-24
Creating resource variables for stack 'SampleStack-TAWS-IT230-CFN2-24':
... bamboo.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
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.StackStatus: DELETE_COMPLETE
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.StackName: SampleStack-TAWS-IT230-CFN2-24
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.CreationTime: 20150721T230428Z
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.LastUpdatedTime: 20150721T230501Z
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags: Environment;Cost-Centre
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags.Environment: Test
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.tags.Cost-Centre: Development
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.parameters: QueueName
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.parameters.QueueName: Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue:ResourceStatus;LogicalResourceId;PhysicalResourceId;Timestamp
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.ResourceStatus: DELETE_COMPLETE
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.LogicalResourceId: MyQueue
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.PhysicalResourceId: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources.MyQueue.Timestamp: 20150721T230557Z
... bamboo.custom.aws.cfn.stack.resources.SampleStack-TAWS-IT230-CFN2-24.resources: MyQueue
Creating common variables for first resource affected by task:
Creating resource variables for stack 'SampleStack-TAWS-IT230-CFN2-24':
... bamboo.custom.aws.cfn.stack.first.StackId: arn:aws:cloudformation:us-east-1:309600995652:stack/SampleStack-TAWS-IT230-CFN2-24/d6620400-2ffc-11e5-b660-50e2415b5e18
... bamboo.custom.aws.cfn.stack.first.StackStatus: DELETE_COMPLETE
... bamboo.custom.aws.cfn.stack.first.StackName: SampleStack-TAWS-IT230-CFN2-24
... bamboo.custom.aws.cfn.stack.first.CreationTime: 20150721T230428Z
... bamboo.custom.aws.cfn.stack.first.LastUpdatedTime: 20150721T230501Z
... bamboo.custom.aws.cfn.stack.first.tags: Environment;Cost-Centre
... bamboo.custom.aws.cfn.stack.first.tags.Environment: Test
... bamboo.custom.aws.cfn.stack.first.tags.Cost-Centre: Development
... bamboo.custom.aws.cfn.stack.first.parameters: QueueName
... bamboo.custom.aws.cfn.stack.first.parameters.QueueName: Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue: ResourceStatus;LogicalResourceId;PhysicalResourceId;Timestamp
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.ResourceStatus: DELETE_COMPLETE
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.LogicalResourceId: MyQueue
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.PhysicalResourceId: https://sqs.us-east-1.amazonaws.com/309600995652/Bamboo-24-updated
... bamboo.custom.aws.cfn.stack.first.resources.MyQueue.Timestamp: 20150721T230557Z
... bamboo.custom.aws.cfn.stack.first.resources: MyQueue

Validate Template(s)

N/A

Legacy Variable Naming

(warning) 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-KZWPADIUPCL6
  • the status of each affected stack resource, e.g. bamboo.custom.aws.cfn.stack.i-3280997f=CREATE_COMPLETE
  • the 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=Hello
    • (info) variables with legacy naming without prefix remain available for compatibility (e.g. bamboo.StringWithRegex=Hello)

How-to Articles

Frequently Asked Questions (FAQ)