Пример #1
0
def meta(adapter_id):
    """Provides the metadata for a certain adapter."""
    adapter = get_adapter(adapter_id)

    if not adapter:
        return output.failure("That adapter doesn't (yet) exist. Please check the adapter name and try again.", 501)

    return output.success(adapter.do_meta())
Пример #2
0
def usage(adapter_id):
    """Provides usage info for a certain adapter, and how to use it, in a more specific sense."""
    adapter = get_adapter(adapter_id)

    if not adapter:
        return output.failure("That adapter doesn't (yet) exist. Please check the adapter name and try again.", 501)

    return render_template("usage.html", adapter=adapter)
Пример #3
0
def verify(adapter_id):
    """Verifies user credentials for a certain adapter."""
    adapter = get_adapter(adapter_id)

    if not adapter:
        return output.failure("That adapter doesn't (yet) exist. Please check the adapter name and try again.", 501)

    result = adapter.do_verify(request.headers)
    if result is not True:
        return output.failure("Credential verification failed. Please check your credentials and try again. (Error %s)" % (result), 401)

    return ""
Пример #4
0
def catalog(adapter_id):
    """Provides the catalog data for a certain adapter."""
    adapter = get_adapter(adapter_id)

    if not adapter:
        return output.failure("That adapter doesn't (yet) exist. Please check the adapter name and try again.", 501)

    result = adapter.do_catalog()
    if not isinstance(result, list):
        return output.failure(result.message if hasattr(result, 'message') else repr(result), 500)

    return output.success(result)
def server_create(adapter_id):
    """Creates a server using a certain adapter."""
    adapter = get_adapter(adapter_id)

    if not adapter:
        return output.failure(
            "That adapter doesn't (yet) exist. Please check the adapter name and try again.",
            501)

    if not adapter.do_verify(request.headers):
        return output.failure(
            "Credential verification failed. Please check your credentials and try again.",
            401)

    result = adapter.do_server_create(request.headers, request.json)

    if 'error' in result:
        return output.failure(result['error'], result['status'])

    return output.success(result['data'], result['status'])
def server_cancel(adapter_id, server_id):
    """Cancels a server using a certain adapter."""
    adapter = get_adapter(adapter_id)

    if not adapter:
        return output.failure(
            "That adapter doesn't (yet) exist. Please check the adapter name and try again.",
            501)

    if not adapter.do_verify(request.headers):
        return output.failure(
            "Credential verification failed. Please check your credentials and try again.",
            401)

    result = adapter.do_server_cancel(request.headers, server_id)

    if isinstance(result, dict) and 'error' in result:
        return output.failure(result['error'], result['status'])

    return ""
def server_install_key(adapter_id, server_id):
    """Installs an SSH key on a server using a certain adapter, if that adapter supports key installation."""
    adapter = get_adapter(adapter_id)

    if not adapter:
        return output.failure(
            "That adapter doesn't (yet) exist. Please check the adapter name and try again.",
            501)

    if not adapter.can_install_key():
        return output.failure(
            "This adapter doesn't support installing keys on servers.", 501)

    if not adapter.do_verify(request.headers):
        return output.failure(
            "Credential verification failed. Please check your credentials and try again.",
            401)

    result = adapter.do_install_key(request.headers, server_id, request.json)

    if isinstance(result, dict) and 'error' in result:
        return output.failure(result['error'], result['status'])

    return ""