add escalator cli framework
[escalator.git] / client / doc / source / index.rst
1 Python API
2 ==========
3 In order to use the python api directly, you must first obtain an auth token and identify which endpoint you wish to speak to. Once you have done so, you can use the API like so::
4
5     >>> from escalatorclient import Client
6     >>> escalator = Client('1', endpoint=OS_IMAGE_ENDPOINT, token=OS_AUTH_TOKEN)
7     >>> image = escalator.images.create(name="My Test Image")
8     >>> print image.status
9     'queued'
10     >>> image.update(data=open('/tmp/myimage.iso', 'rb'))
11     >>> print image.status
12     'active'
13     >>> image.update(properties=dict(my_custom_property='value'))
14     >>> with open('/tmp/copyimage.iso', 'wb') as f:
15             for chunk in image.data:
16                 f.write(chunk)
17     >>> image.delete()
18
19 For an API v2 example see also :doc:`apiv2`.
20
21 Command-line Tool
22 =================
23 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::
24
25     export OS_USERNAME=user
26     export OS_PASSWORD=pass
27     export OS_TENANT_ID=b363706f891f48019483f8bd6503c54b
28     export OS_AUTH_URL=http://auth.example.com:5000/v2.0
29
30 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 ``--os-image-url`` and ``--os-auth-token``. You can alternatively set these environment variables::
31
32     export OS_IMAGE_URL=http://escalator.example.org:9292/
33     export OS_AUTH_TOKEN=3bcc3d3a03f44e3d8377f9247b0ad155
34
35 Once you've configured your authentication parameters, you can run ``escalator help`` to see a complete listing of available commands.
36
37 See also :doc:`/man/escalator`.