1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
|
Python bindings to the OpenStack Cinder API
===========================================
.. image:: https://img.shields.io/pypi/v/python-cinderclient.svg
:target: https://pypi.python.org/pypi/python-cinderclient/
:alt: Latest Version
.. image:: https://img.shields.io/pypi/dm/python-cinderclient.svg
:target: https://pypi.python.org/pypi/python-cinderclient/
:alt: Downloads
This is a client for the OpenStack Cinder API. There's a Python API (the
``cinderclient`` module), and a command-line script (``cinder``). Each
implements 100% of the OpenStack Cinder API.
See the `OpenStack CLI Reference`_ for information on how to use the ``cinder``
command-line tool. You may also want to look at the
`OpenStack API documentation`_.
.. _OpenStack CLI Reference: http://docs.openstack.org/cli-reference/overview.html
.. _OpenStack API documentation: http://developer.openstack.org/api-ref.html
The project is hosted on `Launchpad`_, where bugs can be filed. The code is
hosted on `OpenStack`_. Patches must be submitted using `Gerrit`_.
.. _OpenStack: https://git.openstack.org/cgit/openstack/python-cinderclient
.. _Launchpad: https://launchpad.net/python-cinderclient
.. _Gerrit: http://docs.openstack.org/infra/manual/developers.html#development-workflow
This code is a fork of `Jacobian's python-cloudservers`__. If you need API support
for the Rackspace API solely or the BSD license, you should use that repository.
python-cinderclient is licensed under the Apache License like the rest of OpenStack.
__ https://github.com/jacobian-archive/python-cloudservers
* License: Apache License, Version 2.0
* `PyPi`_ - package installation
* `Online Documentation`_
* `Blueprints`_ - feature specifications
* `Bugs`_ - issue tracking
* `Source`_
* `Specs`_
* `How to Contribute`_
.. _PyPi: https://pypi.python.org/pypi/python-cinderclient
.. _Online Documentation: http://docs.openstack.org/developer/python-cinderclient
.. _Blueprints: https://blueprints.launchpad.net/python-cinderclient
.. _Bugs: https://bugs.launchpad.net/python-cinderclient
.. _Source: https://git.openstack.org/cgit/openstack/python-cinderclient
.. _How to Contribute: http://docs.openstack.org/infra/manual/developers.html
.. _Specs: http://specs.openstack.org/openstack/cinder-specs/
.. contents:: Contents:
:local:
Command-line API
----------------
Installing this package gets you a shell command, ``cinder``, that you
can use to interact with any Rackspace compatible API (including OpenStack).
You'll need to provide your OpenStack username and password. You can do this
with the ``--os-username``, ``--os-password`` and ``--os-tenant-name``
params, but it's easier to just set them as environment variables::
export OS_USERNAME=openstack
export OS_PASSWORD=yadayada
export OS_TENANT_NAME=myproject
You will also need to define the authentication url with ``--os-auth-url``
and the version of the API with ``--os-volume-api-version``. Or set them as
environment variables as well::
export OS_AUTH_URL=http://example.com:8774/v1.1/
export OS_VOLUME_API_VERSION=1
If you are using Keystone, you need to set the OS_AUTH_URL to the keystone
endpoint::
export OS_AUTH_URL=http://example.com:5000/v2.0/
Since Keystone can return multiple regions in the Service Catalog, you
can specify the one you want with ``--os-region-name`` (or
``export OS_REGION_NAME``). It defaults to the first in the list returned.
You'll find complete documentation on the shell by running
``cinder help``::
usage: cinder [--debug] [--os-username <auth-user-name>]
[--os-password <auth-password>]
[--os-tenant-name <auth-tenant-name>] [--os-auth-url <auth-url>]
[--os-region-name <region-name>] [--service-type <service-type>]
[--service-name <service-name>]
[--volume-service-name <volume-service-name>]
[--endpoint-type <endpoint-type>]
[--os-volume-api-version <compute-api-ver>]
[--os-cacert <ca-certificate>] [--retries <retries>]
<subcommand> ...
Command-line interface to the OpenStack Cinder API.
Positional arguments:
<subcommand>
absolute-limits Print a list of absolute limits for a user
create Add a new volume.
credentials Show user credentials returned from auth
delete Remove a volume.
endpoints Discover endpoints that get returned from the
authenticate services
extra-specs-list Print a list of current 'volume types and extra specs'
(Admin Only).
list List all the volumes.
quota-class-show List the quotas for a quota class.
quota-class-update Update the quotas for a quota class.
quota-defaults List the default quotas for a tenant.
quota-show List the quotas for a tenant.
quota-update Update the quotas for a tenant.
rate-limits Print a list of rate limits for a user
rename Rename a volume.
show Show details about a volume.
snapshot-create Add a new snapshot.
snapshot-delete Remove a snapshot.
snapshot-list List all the snapshots.
snapshot-rename Rename a snapshot.
snapshot-show Show details about a snapshot.
type-create Create a new volume type.
type-delete Delete a specific volume type
type-key Set or unset extra_spec for a volume type.
type-list Print a list of available 'volume types'.
bash-completion Prints all of the commands and options to stdout so
that the
help Display help about this program or one of its
subcommands.
list-extensions List all the os-api extensions that are available.
Optional arguments:
-d, --debug Print debugging output
--os-username <auth-user-name>
Defaults to env[OS_USERNAME].
--os-password <auth-password>
Defaults to env[OS_PASSWORD].
--os-tenant-name <auth-tenant-name>
Defaults to env[OS_TENANT_NAME].
--os-auth-url <auth-url>
Defaults to env[OS_AUTH_URL].
--os-region-name <region-name>
Defaults to env[OS_REGION_NAME].
--service-type <service-type>
Defaults to compute for most actions
--service-name <service-name>
Defaults to env[CINDER_SERVICE_NAME]
--volume-service-name <volume-service-name>
Defaults to env[CINDER_VOLUME_SERVICE_NAME]
--endpoint-type <endpoint-type>
Defaults to env[CINDER_ENDPOINT_TYPE] or publicURL.
--os-volume-api-version <compute-api-ver>
Accepts 1,defaults to env[OS_VOLUME_API_VERSION].
--os-cacert <ca-certificate>
Specify a CA bundle file to use in verifying a TLS
(https) server certificate. Defaults to env[OS_CACERT]
--retries <retries> Number of retries.
Python API
----------
There's also a complete Python API, but it has not yet been documented.
Quick-start using keystone::
# use v2.0 auth with http://example.com:5000/v2.0/
>>> from cinderclient.v1 import client
>>> nt = client.Client(USER, PASS, TENANT, AUTH_URL, service_type="volume")
>>> nt.volumes.list()
[...]
See release notes and more at `<http://docs.openstack.org/developer/python-cinderclient/>`_.
|