'Creates a new queue. Once created, this queue\'s resource manifest is
immutable.
queue_name:
Name of the queue to create.
queue:
Queue object to create.
fail_on_exist:
Specify whether to throw an exception when the queue exists.'

def create_queue(self, queue_name, queue=None, fail_on_exist=False):

    _validate_not_none('queue_name', queue_name)
    request = HTTPRequest()
    request.method = 'PUT'
    request.host = self._get_host()
    request.path = (('/' + _str(queue_name)) + '')
    request.body = _get_request_body(_convert_queue_to_xml(queue))
    (request.path, request.query) = self._httpclient._update_request_uri_query(request)
    request.headers = self._update_service_bus_header(request)
    if (not fail_on_exist):
        try:
            self._perform_request(request)
            return True
        except AzureHttpError as ex:
            _dont_fail_on_exist(ex)
            return False
    else:
        self._perform_request(request)
        return True
