Metadata-Version: 2.1
Name: nectarallocationclient
Version: 2.0.0
Summary: Client for the Nectar Allocation system
Home-page: https://github.com/NeCTAR-RC/python-nectarallocationclient
Author: ARDC Nectar Cloud Services
Author-email: coreservices@ardc.edu.au
License: Apache-2.0
Keywords: nectarallocation
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.12
License-File: LICENSE
Requires-Dist: oslo.utils
Requires-Dist: requests
Requires-Dist: keystoneauth1
Requires-Dist: osc-lib
Requires-Dist: pbr

========================================
 The `nectarallocationclient` Python API
========================================

A client for the Nectar Allocation API.


Usage
-----

First create a client instance using the keystoneauth session API::

    >>> from keystoneauth1 import loading
    >>> from keystoneauth1 import session
    >>> from nectarallocationclient import client
    >>> loader = loading.get_plugin_loader('password')
    >>> auth = loader.load_from_options(auth_url=AUTH_URL,
    ...                                 username=USERNAME,
    ...                                 password=PASSWORD,
    ...                                 project_name=PROJECT_NAME,
    ...                                 user_domain_id='default',
    ...                                 project_domain_id='default'
    )
    >>> sess = session.Session(auth=auth)
    >>> nectar = client.Client(VERSION, session=sess)

Here ``VERSION`` can currently only be ``1``.

If you have PROJECT_ID instead of a PROJECT_NAME, use the project_id
parameter. Similarly, if your cloud uses keystone v3 and you have a DOMAIN_NAME
or DOMAIN_ID, provide it as `user_domain_(name|id)` and if you are using a
PROJECT_NAME also provide the domain information as `project_domain_(name|id)`.

nectarallocationclient adds 'python-nectarallocationclient' and its version to
the user-agent string that keystoneauth produces. If you are creating an
application using nectarallocationclient and want to register a name and
version in the user-agent string, pass those to the Session::

    >>> sess = session.Session(
    ...     auth=auth, app_name'nodepool', app_version'1.2.3')

If you are making a library that consumes nectarallocationclient but is not an
end-user application, you can append a (name, version) tuple to the session's
`additional_user_agent` property::

    >>> sess = session.Session(auth=auth)
    >>> sess.additional_user_agent.append(('shade', '1.2.3'))

For more information on this keystoneauth API, see `Using Sessions`_.

.. _Using Sessions: https://docs.openstack.org/keystoneauth/latest/using-sessions.html


Then call methods on its managers::

    >>> nectar.allocations.list()
    [<Allocation: 1 (my-cool-project)>]

    >>> nectar.allocations.create("new-project",....)
    <Allocation: 2 (new-project)>

