Jump to: navigation, search


Boto is a python AWS client library.

Using boto with heat

The boto cloudformation API can be used to interface with the heat cloudformation compatible orchestration API (heat-api-cfn)

You use the boto API directly, or make use of the heat-boto tool, which supports identical usage to the existing heat cli tool (note the output format is a bit different..)

Install boto

yum install python-boto

Note there are currently some restrictions on which boto versions will work:

 - must be >= 2.4.0 (because we need https://github.com/boto/boto/pull/742)
 - very recent versions break due to an AWS API version bump (ref https://bugs.launchpad.net/heat/+bug/1122472)
 - Version 2.5.2 (included in F17) is known to work, so it is suggested to install this version via pip if your distribution does not provide a suitable version

Boto configuration file(s)

You need a /etc/boto.cfg file (or per-user ~/.boto), which looks something like this (note the AWS keys are as returned from keystone ec2-credentials-list):

    aws_access_key_id = <key>
    aws_secret_access_key = <secret_key>

    debug = 0
    is_secure = 0 # Set this to 1 if you want https
    cfn_region_name = heat
    cfn_region_endpoint =

    cloudwatch_region_name = heat
    cloudwatch_region_endpoint =

    # Set the client retries to 1, or errors connecting to heat repeat
    # which is not useful when debugging API issues
    num_retries = 1

Note that heat installs a template boto.cfg, see heat/etc/boto.cfg - the Credentials section must be uncommented and populated with your keystone-ec2 login details, or copy the file to ~/.boto and chmod to keep your credentials private for non-development deployment.