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())
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)
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 ""
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 ""