'Ensure a queue with given name exists in SQS.'

def _new_queue(self, queue, **kwargs):

    if (not isinstance(queue, string_t)):
        return queue
    queue = self.canonical_queue_name(queue)
    if (queue not in self._queue_cache):
        self._update_queue_cache(queue)
    try:
        return self._queue_cache[queue]
    except KeyError:
        attributes = {u'VisibilityTimeout': str(self.visibility_timeout)}
        if queue.endswith(u'.fifo'):
            attributes[u'FifoQueue'] = u'true'
        resp = self._queue_cache[queue] = self.sqs.create_queue(QueueName=queue, Attributes=attributes)
        self._queue_cache[queue] = resp[u'QueueUrl']
        return resp[u'QueueUrl']
