OpenStack Identity (Keystone) Client
Find a file
Colleen Murphy 6c116ec084 Add support for app cred access rules
This change adds access_rules as a parameter for creating application
credentials, and also adds the ability to list access rules and to
retrieve and delete individual rules. Directly creating an access rule
or updating one is not supported.

bp whitelist-extension-for-app-creds

Depends-On: https://review.opendev.org/671374
Change-Id: I490f1e6b421d4f36f588f83a511ce39b9b4204e2
2019-08-21 08:21:42 -07:00
doc Bump the openstackdocstheme extension to 1.20 2019-08-01 09:44:54 +08:00
examples/pki Update json module to jsonutils 2019-02-25 11:35:14 +00:00
keystoneclient Add support for app cred access rules 2019-08-21 08:21:42 -07:00
playbooks Fix keystoneclient-devstack-functional job 2018-11-28 14:45:14 +00:00
releasenotes Add support for app cred access rules 2019-08-21 08:21:42 -07:00
.coveragerc Updated coverage configuration file 2016-10-19 12:38:55 +00:00
.gitignore Switch to stestr 2018-07-11 09:59:08 +07:00
.gitreview OpenDev Migration Patch 2019-04-19 19:39:43 +00:00
.mailmap Add mailmap entry 2014-05-07 12:12:43 -07:00
.stestr.conf Switch to stestr 2018-07-11 09:59:08 +07:00
.zuul.yaml Add Python 3 Train unit tests 2019-06-28 06:36:36 +00:00
babel.cfg enabling i18n with Babel 2012-09-29 16:03:23 -07:00
bindep.txt Use https for *.openstack.org references 2017-02-05 20:46:32 -08:00
CONTRIBUTING.rst Use https for *.openstack.org references 2017-02-05 20:46:32 -08:00
HACKING.rst Update URLs in documents according to document migration 2017-07-14 09:56:01 +08:00
LICENSE Initial commit. 2011-10-25 16:50:08 -07:00
lower-constraints.txt Switch to stestr 2018-07-11 09:59:08 +07:00
README.rst Replace git.openstack.org URLs with opendev.org URLs 2019-04-24 19:16:55 +08:00
requirements.txt Updated from global requirements 2018-03-15 07:58:00 +00:00
setup.cfg Drop py35 jobs 2019-03-01 11:35:16 +01:00
setup.py Updated from global requirements 2017-03-22 22:27:35 +00:00
test-requirements.txt Blacklist bandit 1.6.0 & cap sphinx for 2.7 2019-07-04 04:46:58 +00:00
tox.ini Update the constraints url 2019-07-03 14:54:09 +08:00

========================
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()