Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

To empower advanced build and automation scenarios, it his highly recommended to become acquainted with Using Global, Plan or Build-specific Variables.

All Tasks support Bamboo variables, both substituting them within parameters for AWS resource management and defining them from created AWS resources.


On this page:

 

Variable Substitution

Variables are substituted in all Task configuration text fields (e.g. Stack Name, Template URL, Instance ID, Volume ID etc.).

Please note the following feature:

  • if the variable key contains the phrase "password", the value will be masked with "********" in the build logs; e.g. if the key is "password", "awsAccessKeyPassword" or "awsSecretKeyPassword" the build log will show the substituted value as "********"

Variable Definition

Variables are defined by all Tasks for reuse in subsequent Tasks as follows:

  • variables have a dedicated prefix like bamboo.custom.aws.*, with * being a task specific prefix, e.g. bamboo.custom.aws.cfn.stack
  • variables refering to a collection of resources provide their ids in a semicolon separated list (i.e. the same format available on input), e.g. ${bamboo.custom.aws.ec2.image.resources} with values ami-985b21f1;ami-9a5b21f3
  • you can refer to these variables from subsequent tasks via something like ${bamboo.custom.aws.cfn.stack.sampleStackOutputKey}
  • these variables are also available as environment variables in the Script Task for example, albeit named slightly different, e.g. $bamboo_custom_aws_cfn_stack_StringWithRegex (Unix) or %bamboo_custom_aws_cfn_stack_StringWithRegex% (Windows)

 

Please note the following constraints:

  • variables are only reusable in subsequent tasks and not in other jobs/stages due to the implied concurrency, see the following discussion and workaround

Available Task Variables

The following variables are available in the various tasks:

AWS CloudFormation Stack

  • 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
    • Note: The variables with legacy naming without prefix remain available for compatibility (e.g. bamboo.StringWithRegex=Hello)

AWS EC2 Instance

  • the collection of affected instances, e.g. bamboo.custom.aws.ec2.instance.resources=i-fa7b4596;i-080eec64
  • the status of each affected instance, e.g. bamboo.custom.aws.ec2.instance.i-fa7b4596=started

AWS EC2 Image

  • the collection of affected images, e.g. bamboo.custom.aws.ec2.image.resources=ami-985b21f1;ami-9a5b21f3
  • the status of each affected instance, e.g. bamboo.custom.aws.ec2.image.ami-985b21f1=available

AWS EBS Snapshots

  • the collection of affected snapshots, e.g. bamboo.custom.aws.ec2.snapshots.resources=snap-f4dc35a1
  • the status of each affected snapshots, e.g. bamboo.custom.aws.ec2.snapshots.snap-f4dc35a1=completed
  • No labels