# Path: zaqarclient/common/decorators.py
# def version(min_version, max_version=None):
#     def method(meth):
#         def wrapper(self, *args, **kwargs):
# def lazy_property(write=False, delete=True):
#     def wrapper(fn):
#         def getter(self):
#         def setter(self, value):
#         def deleter(self):
# 
# Path: zaqarclient/queues/v1/client.py
# class Client(object):
#     def __init__(self, url=None, version=1, conf=None, session=None):
#     def _get_transport(self, request):
#     def _request_and_transport(self):
#     def transport(self):
#     def queue(self, ref, **kwargs):
#     def queues(self, **params):
#     def follow(self, ref):
#     def pool(self, ref, **kwargs):
#     def pools(self, **params):
#     def flavor(self, ref, **kwargs):
#     def flavors(self, **params):
#     def health(self):
# 
# Path: zaqarclient/queues/v1/iterator.py
# class _Iterator(object):
#     def __init__(self, client, listing_response, iter_key, create_function):
#     def __iter__(self):
#     def get_iterables(self, iterables):
#     def stream(self, enabled=True):
#     def _next_page(self):
#     def __next__(self):
# 
# Path: zaqarclient/queues/v2/core.py
# def queue_update(transport, request, name, metadata, callback=None):
# def queue_purge(transport, request, name, resource_types=None):
# def signed_url_create(transport, request, queue_name, paths=None,
#                       ttl_seconds=None, project_id=None, methods=None):
# def subscription_create(transport, request, queue_name, subscription_data):
# def subscription_get(transport, request, queue_name, subscription_id):
# def subscription_update(transport, request, queue_name, subscription_id,
#                         subscription_data):
# def subscription_delete(transport, request, queue_name, subscription_id):
# def subscription_list(transport, request, queue_name, **kwargs):
# def ping(transport, request, callback=None):
# def health(transport, request, callback=None):
# def homedoc(transport, request, callback=None):
# 
# Path: zaqarclient/queues/v2/queues.py
# class Queue(queues.Queue):
#     def signed_url(self, paths=None, ttl_seconds=None, methods=None):
#     def subscriptions(self, detailed=False, marker=None, limit=20):
#     def metadata(self, new_meta=None, force_reload=False):
#     def purge(self, resource_types=None):
#     def claim(self, id=None, ttl=None, grace=None,
#               limit=None):
# def create_object(parent):
# 
# Path: zaqarclient/queues/v2/subscription.py
# class Subscription(object):
#     def __init__(self, client, queue_name, subscriber=None, ttl=60, id=None,
#                  auto_create=True, **kwargs):
#     def ensure_exists(self):
#     def update(self, subscription_data):
#     def delete(self):
# def create_object(parent):


from oslo_utils import uuidutils
from zaqarclient.common import decorators
from zaqarclient.queues.v1 import client
from zaqarclient.queues.v1 import iterator
from zaqarclient.queues.v2 import core
from zaqarclient.queues.v2 import queues
from zaqarclient.queues.v2 import subscription

    :param url: Zaqar's instance base url.
    :type url: `six.text_type`
    :param version: API Version pointing to.
    :type version: `int`
    :param conf: CONF object.
    :type conf: `oslo_config.cfg.CONF`
    """

    queues_module = queues

    def __init__(self, url=None, version=2, conf=None, session=None):
        self.conf = conf or {}

        self.api_url = url
        self.api_version = version
        self.auth_opts = self.conf.get('auth_opts', {})
        self.client_uuid = self.conf.get('client_uuid',
                                         uuidutils.generate_uuid(dashed=False))
        self.session = session

    def queue(self, ref, **kwargs):
        """Returns a queue instance

        :param ref: Queue's reference id.
        :type ref: `six.text_type`

        :returns: A queue instance
        :rtype: `queues.Queue`
        """

# Path: zaqarclient/common/decorators.py
# def version(min_version, max_version=None):
#     def method(meth):
#         def wrapper(self, *args, **kwargs):
# def lazy_property(write=False, delete=True):
#     def wrapper(fn):
#         def getter(self):
#         def setter(self, value):
#         def deleter(self):
# 
# Path: zaqarclient/queues/v1/client.py
# class Client(object):
#     def __init__(self, url=None, version=1, conf=None, session=None):
#     def _get_transport(self, request):
#     def _request_and_transport(self):
#     def transport(self):
#     def queue(self, ref, **kwargs):
#     def queues(self, **params):
#     def follow(self, ref):
#     def pool(self, ref, **kwargs):
#     def pools(self, **params):
#     def flavor(self, ref, **kwargs):
#     def flavors(self, **params):
#     def health(self):
# 
# Path: zaqarclient/queues/v1/iterator.py
# class _Iterator(object):
#     def __init__(self, client, listing_response, iter_key, create_function):
#     def __iter__(self):
#     def get_iterables(self, iterables):
#     def stream(self, enabled=True):
#     def _next_page(self):
#     def __next__(self):
# 
# Path: zaqarclient/queues/v2/core.py
# def queue_update(transport, request, name, metadata, callback=None):
# def queue_purge(transport, request, name, resource_types=None):
# def signed_url_create(transport, request, queue_name, paths=None,
#                       ttl_seconds=None, project_id=None, methods=None):
# def subscription_create(transport, request, queue_name, subscription_data):
# def subscription_get(transport, request, queue_name, subscription_id):
# def subscription_update(transport, request, queue_name, subscription_id,
#                         subscription_data):
# def subscription_delete(transport, request, queue_name, subscription_id):
# def subscription_list(transport, request, queue_name, **kwargs):
# def ping(transport, request, callback=None):
# def health(transport, request, callback=None):
# def homedoc(transport, request, callback=None):
# 
# Path: zaqarclient/queues/v2/queues.py
# class Queue(queues.Queue):
#     def signed_url(self, paths=None, ttl_seconds=None, methods=None):
#     def subscriptions(self, detailed=False, marker=None, limit=20):
#     def metadata(self, new_meta=None, force_reload=False):
#     def purge(self, resource_types=None):
#     def claim(self, id=None, ttl=None, grace=None,
#               limit=None):
# def create_object(parent):
# 
# Path: zaqarclient/queues/v2/subscription.py
# class Subscription(object):
#     def __init__(self, client, queue_name, subscriber=None, ttl=60, id=None,
#                  auto_create=True, **kwargs):
#     def ensure_exists(self):
#     def update(self, subscription_data):
#     def delete(self):
# def create_object(parent):


# Path: zaqarclient/queues/v2/client.py
from oslo_utils import uuidutils
from zaqarclient.common import decorators
from zaqarclient.queues.v1 import client
from zaqarclient.queues.v1 import iterator
from zaqarclient.queues.v2 import core
from zaqarclient.queues.v2 import queues
from zaqarclient.queues.v2 import subscription


    :param url: Zaqar's instance base url.
    :type url: `six.text_type`
    :param version: API Version pointing to.
    :type version: `int`
    :param conf: CONF object.
    :type conf: `oslo_config.cfg.CONF`
    """

    queues_module = queues

    def __init__(self, url=None, version=2, conf=None, session=None):
        self.conf = conf or {}

        self.api_url = url
        self.api_version = version
        self.auth_opts = self.conf.get('auth_opts', {})
        self.client_uuid = self.conf.get('client_uuid',
                                         uuidutils.generate_uuid(dashed=False))
        self.session = session

    def queue(self, ref, **kwargs):
        """Returns a queue instance

        :param ref: Queue's reference id.
        :type ref: `six.text_type`

        :returns: A queue instance
        :rtype: `queues.Queue`
        """

        return queues.Queue(self, ref, **kwargs)