def create_queue(self, queue_name, queue=None, fail_on_exist=False):
_validate_not_none('<STR_LIT>', queue_name)<EOL>request = HTTPRequest()<EOL>request.method = '<STR_LIT>'<EOL>request.host = self._get_host()<EOL>request.path = '<STR_LIT:/>' + _str(queue_name) + '<STR_LIT>'<EOL>request.body = _get_request_body(_convert_queue_to_xml(queue))<EOL>request.path, request.query = self._httpclient._update_request_uri_query(request)  <EOL>request.headers = self._update_service_bus_header(request)<EOL>if not fail_on_exist:<EOL><INDENT>try:<EOL><INDENT>self._perform_request(request)<EOL>return True<EOL><DEDENT>except AzureHttpError as ex:<EOL><INDENT>_dont_fail_on_exist(ex)<EOL>return False<EOL><DEDENT><DEDENT>else:<EOL><INDENT>self._perform_request(request)<EOL>return True<EOL><DEDENT>
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.