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 4 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.cloudformation.stack
  • variables referring 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 stacks, e.g. bamboo.custom.aws.cloudformation.stack.resources=SampleStack-42
  • relevant resource values for each affected stack, e.g. custom.aws.cloudformation.stack.resources.SampleStack-42.StackStatus=CREATE_COMPLETE

    • properties converted to variables: StackName, StackStatus, CreationTime, LastUpdatedTime
    • collection converted to variables: tags, parameters, resources, outputs
  • the collection of provided stack parameters, e.g. bamboo.custom.aws.cloudformation.stack.resources.SampleStack-42.parameters=NumberWithRange;StringWithLength...
    • the value of each provided stack parameter , e.g. bamboo.custom.aws.cloudformation.stack.resources.SampleStack-42.parameters.NumberWithRange=2
  • the collection of generated stack outputs, e.g. bamboo.custom.aws.cloudformation.stack.resources.SampleStack-42.outputs=sampleStackOutputKey;StringWithRegex;...
    • the value of each generated stack output, e.g. bamboo.custom.aws.cloudformation.stack.resources.SampleStack-42.outputs.StringWithRegex=Hello
  • the collection of affected stack resources, e.g. bamboo.custom.aws.cloudformation.stack.resources.SampleStack-42.resources=i-3280997f;vol-e1debbcd;test-stack-SecurityGroup-KZWPADIUPCL6
    • relevant resource values for each affected stack resource, e.g. custom.aws.cloudformation.stack.resources.SampleStack-42.resources.i-3280997f.ResourceStatus=CREATE_COMPLETE

      • properties converted to variables: ResourceStatus, LogicalResourceId, PhysicalResourceId, Timestamp
  • the status of each affected stack resource, e.g. bamboo.custom.aws.cloudformation.stack.i-3280997f=CREATE_COMPLETE

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-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 Elastic Beanstalk Environment

  • the collection of affected environments, e.g. bamboo.custom.aws.elasticbeanstalk.environment.resources=e-3rcffs78rn
  • relevant resource values for each affected environment, e.g. custom.aws.cloudformation.stack.resources.SampleStack-42.StackStatus=CREATE_COMPLETE

    • properties converted to variables: EnvironmentId, ApplicationName, CNAME, DateCreated, DateUpdated, Description, EndpointURL, EnvironmentName, Health, SolutionStackName, Status, TemplateName, VersionLabel

Amazon EC2 Instance

  • the collection of affected instances, e.g. bamboo.custom.aws.ec2.instance.resources=i-fa7b4596;i-080eec64
  • relevant resource values for each affected instance, e.g. custom.aws.ec2.image.resources.i-fa7b4596.State=running

    • properties converted to variables: InstanceId, State, PrivateDnsName, PrivateIpAddress, PublicDnsName, PublicIpAddress, LaunchTime
    • collection converted to variables: tags

Amazon EC2 Image

  • the collection of affected images, e.g. bamboo.custom.aws.ec2.image.resources=ami-985b21f1;ami-9a5b21f3
  • relevant resource values for each affected image, e.g. custom.aws.ec2.image.resources.ami-985b21f1.State=available
    • properties converted to variables: ImageId, State
    • collection converted to variables: tags

Amazon EBS Snapshots

  • the collection of affected snapshots, e.g. bamboo.custom.aws.ec2.snapshots.resources=snap-f4dc35a1
  • relevant resource values for each affected snapshot, e.g. custom.aws.ec2.snapshot.resources.snap-f4dc35a1.State=completed
    • properties converted to variables: SnapshotId, State, VolumeId, VolumeSize, StartTime
    • collection converted to variables: tags
  • No labels