def METHOD_NAME(self, name, url, type_name, parent_name,
                  storage_auth_name, streaming, **kwargs):
    """ Handle the creation of a new storage.
    """
    url = url[0]
    parent = None
    if type_name:
        handler = get_handler_class_by_name(type_name)
        if not handler:
            raise CommandError(
                'Storage type %r is not supported' % type_name
            )
    else:
        handler = get_handler_by_test(url)
        if handler:
            type_name = handler.name
        else:
            raise CommandError(
                'Could not determine type for storage location %r' % url
            )
    if parent_name:
        try:
            parent = backends.Storage.objects.get(name=parent_name)
        except backends.Storage.DoesNotExist:
            raise CommandError(
                'No such storage with name %r' % parent_name
            )
    if storage_auth_name:
        storage_auth = backends.StorageAuth.objects.get(
            name=storage_auth_name
        )
    else:
        storage_auth = None
    backends.Storage.objects.create(
        name=name, url=url, storage_type=type_name, parent=parent,
        storage_auth=storage_auth, streaming=streaming,
    )
    self.print_msg(
        'Successfully created storage %s (%s)' % (
            name or url, type_name
        )
    )