%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/utils/openstack/pyrax/ |
Current File : //usr/lib/python2.7/site-packages/salt/utils/openstack/pyrax/queues.py |
# -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals, print_function # Import Python libs import logging log = logging.getLogger(__name__) # Import pyrax (SDK for Rackspace cloud) third party libs try: import pyrax import pyrax.exceptions except ImportError: raise # Import salt classes from salt.utils.openstack.pyrax import authenticate class RackspaceQueues(object): def __init__(self, username, password, region, **kwargs): self.auth = authenticate.Authenticate(username, password, region, **kwargs) self.conn = self.auth.conn.queues def create(self, qname): ''' Create RackSpace Queue. ''' try: if self.exists(qname): log.error('Queues "%s" already exists. Nothing done.', qname) return True self.conn.create(qname) return True except pyrax.exceptions as err_msg: log.error('RackSpace API got some problems during creation: %s', err_msg) return False def delete(self, qname): ''' Delete an existings RackSpace Queue. ''' try: q = self.exists(qname) if not q: return False queue = self.show(qname) if queue: queue.delete() except pyrax.exceptions as err_msg: log.error('RackSpace API got some problems during deletion: %s', err_msg) return False return True def exists(self, qname): ''' Check to see if a Queue exists. ''' try: # First if not exists() -> exit if self.conn.queue_exists(qname): return True return False except pyrax.exceptions as err_msg: log.error('RackSpace API got some problems during ' 'existing queue check: %s', err_msg) return False def show(self, qname): ''' Show information about Queue ''' try: # First if not exists() -> exit if not self.conn.queue_exists(qname): return {} # If exist, search the queue to return the Queue Object for queue in self.conn.list(): if queue.name == qname: return queue except pyrax.exceptions as err_msg: log.error('RackSpace API got some problems during existing' ' queue check: %s', err_msg) return {}