Difference between revisions of "Heat/BotoCli"
m (Text replace - "__NOTOC__" to "") |
|||
Line 1: | Line 1: | ||
− | + | ||
= Heat CLI Boto migration & API rework = | = Heat CLI Boto migration & API rework = | ||
Latest revision as of 23:29, 17 February 2013
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 = <key> aws_secret_access_key = <secret_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..)