Files
python-heatclient/doc/source/index.rst
Clenimar Filemon bd9008ed5b Add an example on keystoneauth Sessions to the doc
keystoneauth Session object brings an unified interface of
authentication to a variety of OpenStack services. Some components (e.g.
Nova, Glance) already have an example on their Python API docs. This
patch adds an example on how to create a heat Client instance using
keystoneauth Session API.

Change-Id: Iaa51052ccb4c66aafa11e9bfd6befbd831715110
2016-03-07 01:10:30 -03:00

3.0 KiB

Python bindings to the OpenStack Heat API

This is a client for OpenStack Heat API. There's a Python API (the heatclient module), and a command-line script (installed as heat).

Python API

In order to use the python api directly, you must first obtain an auth token and identify which endpoint you wish to speak to:

>>> tenant_id = 'b363706f891f48019483f8bd6503c54b'
>>> heat_url = 'http://heat.example.org:8004/v1/%s' % tenant_id
>>> auth_token = '3bcc3d3a03f44e3d8377f9247b0ad155'

Once you have done so, you can use the API like so:

>>> from heatclient.client import Client
>>> heat = Client('1', endpoint=heat_url, token=auth_token)

Alternatively, you can create a client instance using the keystoneauth session API:

>>> from keystoneauth1 import session
>>> from keystoneauth1.identity import v3
>>> from heatclient import client
>>> password = v3.PasswordMethod(username=USERNAME,
...                              password=PASSWORD,
...                              user_domain_name=DEFAULT)
>>> auth = v3.Auth(auth_url=AUTH_URL, auth_methods=[password],
...                project_id=PROJECT_ID)
>>> sess = session.Session(auth=auth)
>>> heat = client.Client('1', endpoint=heat_url, session=sess)
>>> heat.stacks.list()

For more information on keystoneauth API, see Using Sessions.

Reference

ref/index ref/v1/index

Command-line Tool

In order to use the CLI, you must provide your OpenStack username, password, tenant, and auth endpoint. Use the corresponding configuration options (--os-username, --os-password, --os-tenant-id, and --os-auth-url) or set them in environment variables:

export OS_USERNAME=user
export OS_PASSWORD=pass
export OS_TENANT_ID=b363706f891f48019483f8bd6503c54b
export OS_AUTH_URL=http://auth.example.com:5000/v2.0

The command line tool will attempt to reauthenticate using your provided credentials for every request. You can override this behavior by manually supplying an auth token using --heat-url and --os-auth-token. You can alternatively set these environment variables:

export HEAT_URL=http://heat.example.org:8004/v1/b363706f891f48019483f8bd6503c54b
export OS_AUTH_TOKEN=3bcc3d3a03f44e3d8377f9247b0ad155

Once you've configured your authentication parameters, you can run heat help to see a complete listing of available commands.

Man Pages

man/heat

Contributing

Code is hosted on GitHub. Submit bugs to the Heat project on Launchpad. Submit code to the openstack/python-heatclient project using Gerrit.