Heat/BotoCli

= Heat CLI Boto migration & API rework =

Introduction
As tracked in [Issue 92](https://github.com/heat-api/heat/issues/92), work has been completed to get [Boto](https://github.com/boto/boto) working with heat, with the following goals:


 * Test and where necessary rework the heat API implementation (so that it correctly implements the full [AWS Cloudformation API](http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/Welcome.html?r=6387) specification, which presumably boto works with...)
 * Migrate the heat CLI tool to use boto, such that we avoid implementing/maintaining a duplicate client AWS client library

Current status is that the API rework is essentially complete (all AWS actions which work with the existing heat CLI tool also work with the boto version of the tool).

A boto client tool, heat-boto has been merged into master, and implements all current functionality available in bin/heat. The only issue outstanding is gated on an upstream merge (see #175).

Using boto with heat
Ensure that boto is installed:

yum install python-boto

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

[Credentials] aws_access_key_id = aws_secret_access_key = 

[Boto] debug = 1 cfn_region_name = heat cfn_region_endpoint = 127.0.0.1

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

You can then 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..)