Client

A Client is a high-level abstraction on top of Zaqar features. It exposes the server features with an object-oriented interface, which encourages dot notation and automatic, but lazy, resources allocation. A Client allows you to control everything, from public interfaces to admin endpoints.

To create a Client instance, you supply an url pointing to the server and a version number:

from zaqarclient.queues import client

cli = client.Client('http://zaqar.example.com:8888/', version=2)

which will load the appropriate client based on the specified version. Optionally, you can also supply a config dictionary:

from zaqarclient.queues import client

cli = client.Client('http://zaqar.example.com:8888/',
                    version=2, conf={})

The arguments passed to this function will be passed to the client instances as well.

It’s recommended to use Client instances instead of accessing the lower level API as it has been designed to ease the interaction with the server and it gives enough control for the most common cases.

A simple example for accessing an existing queue through a client instance - based on the API v2 - would look like:

from zaqarclient.queues import client

cli = client.Client('http://zaqar.example.com:8888/', version=2)
queue = cli.queue('my_queue')

Through the queue instance will be then possible to access all the features associated with the queue itself like posting messages, getting message and deleting messages.

As mentioned previously in this documentation, a client instance allows you to also access admin endpoints, for example:

from zaqarclient.queues import client

cli = client.Client('http://zaqar.example.com:8888/', version=2)
flavor = cli.flavor('tasty',
                    pool='my-pool-group',
                    auto_create=True)
flavor.delete()

Client uses the lower-level API to access the server, which means anything you can do with this client instance can be done by accessing the underlying API, although not recommended.

Client Object Reference

This is the reference documentation for all API version.

API v1 and v1.1:

class Client(url=None, version=1, conf=None, session=None)

Client base class

Parameters
  • url (six.text_type) – Zaqar’s instance base url.

  • version (int) – API Version pointing to.

  • conf (oslo_config.cfg.CONF) – CONF object.

  • session – keystone session. But it’s just place holder, we wont’ support it in v1.

flavor(ref, **kwargs)

Returns a flavor instance

Parameters

ref (six.text_type) – Flavor’s reference name.

Returns

A flavor instance

Return type

flavor.Flavor

flavors(**params)

Gets a list of flavors from the server

Parameters

params (dict.) – Filters to use for getting flavors

Returns

A list of flavors

Return type

list

follow(ref)

Follows ref.

This method instanciates a new request instance and requests ref. It is intended to be used to follow a reference href gotten from links sections in responses like queues’ lists.

Params ref

The reference path.

health()

Gets the health status of Zaqar server.

pool(ref, **kwargs)

Returns a pool instance

Parameters

ref (six.text_type) – Pool’s reference name.

Returns

A pool instance

Return type

pool.Pool

pools(**params)

Gets a list of pools from the server

Parameters

params (dict.) – Filters to use for getting pools

Returns

A list of pools

Return type

list

queue(ref, **kwargs)

Returns a queue instance

Parameters

ref (six.text_type) – Queue’s reference id.

Returns

A queue instance

Return type

queues.Queue

queues(**params)

Gets a list of queues from the server

Returns

A list of queues

Return type

list

transport()

Gets a transport based the api url and version.

Return type

zaqarclient.transport.base.Transport

API v2.0:

class Client(url=None, version=2, conf=None, session=None)

Client base class

Parameters
  • url (six.text_type) – Zaqar’s instance base url.

  • version (int) – API Version pointing to.

  • conf (oslo_config.cfg.CONF) – CONF object.

health()

Gets the detailed health status of Zaqar server.

homedoc()

Get the detailed resource doc of Zaqar server

ping()

Gets the health status of Zaqar server.

queue(ref, **kwargs)

Returns a queue instance

Parameters

ref (six.text_type) – Queue’s reference id.

Returns

A queue instance

Return type

queues.Queue

subscription(queue_name, **kwargs)

Returns a subscription instance

Parameters

queue_name (six.text_type) – Name of the queue to subscribe to.

Returns

A subscription instance

Return type

subscription.Subscription

subscriptions(queue_name, **params)

Gets a list of subscriptions from the server

Parameters

params (dict.) – Filters to use for getting subscriptions

Returns

A list of subscriptions

Return type

list