python-keystoneclient/README.rst

63 lines
2.4 KiB
ReStructuredText

========================
Team and repository tags
========================
.. image:: https://governance.openstack.org/tc/badges/python-keystoneclient.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html
.. Change things from this point on
Python bindings to the OpenStack Identity API (Keystone)
========================================================
.. image:: https://img.shields.io/pypi/v/python-keystoneclient.svg
:target: https://pypi.org/project/python-keystoneclient/
:alt: Latest Version
This is a client for the OpenStack Identity API, implemented by the Keystone
team; it contains a Python API (the ``keystoneclient`` module) for
OpenStack's Identity Service. For command line interface support, use
`OpenStackClient`_.
* `PyPi`_ - package installation
* `Online Documentation`_
* `Launchpad project`_ - release management
* `Blueprints`_ - feature specifications
* `Bugs`_ - issue tracking
* `Source`_
* `Specs`_
* `How to Contribute`_
* `Release Notes`_
.. _PyPi: https://pypi.org/project/python-keystoneclient
.. _Online Documentation: https://docs.openstack.org/python-keystoneclient/latest/
.. _Launchpad project: https://launchpad.net/python-keystoneclient
.. _Blueprints: https://blueprints.launchpad.net/python-keystoneclient
.. _Bugs: https://bugs.launchpad.net/python-keystoneclient
.. _Source: https://opendev.org/openstack/python-keystoneclient
.. _OpenStackClient: https://pypi.org/project/python-openstackclient
.. _How to Contribute: https://docs.openstack.org/infra/manual/developers.html
.. _Specs: https://specs.openstack.org/openstack/keystone-specs/
.. _Release Notes: https://docs.openstack.org/releasenotes/python-keystoneclient
.. contents:: Contents:
:local:
Python API
----------
By way of a quick-start::
>>> from keystoneauth1.identity import v3
>>> from keystoneauth1 import session
>>> from keystoneclient.v3 import client
>>> auth = v3.Password(auth_url="http://example.com:5000/v3", username="admin",
... password="password", project_name="admin",
... user_domain_id="default", project_domain_id="default")
>>> sess = session.Session(auth=auth)
>>> keystone = client.Client(session=sess)
>>> keystone.projects.list()
[...]
>>> project = keystone.projects.create(name="test", description="My new Project!", domain="default", enabled=True)
>>> project.delete()