示例#1
0
    def stop_capture(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        yield from node.stop_capture(port_number)
        response.set_status(204)
示例#2
0
    def show(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(
            request.match_info["node_id"],
            project_id=request.match_info["project_id"])
        response.json(node)
示例#3
0
    def delete_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        yield from node.remove_nio(port_number)
        response.set_status(204)
示例#4
0
    async def stream_pcap_file(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        nio = node.get_nio(port_number)
        await builtin_manager.stream_pcap_file(nio, node.project.id, request, response)
示例#5
0
    def start(request, response):

        node = Builtin.instance().get_node(
            request.match_info["node_id"],
            project_id=request.match_info["project_id"])
        yield from node.start()
        response.set_status(204)
示例#6
0
    async def stop_capture(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        await node.stop_capture(port_number)
        response.set_status(204)
示例#7
0
    def start_capture(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        pcap_file_path = os.path.join(node.project.capture_working_directory(), request.json["capture_file_name"])
        yield from node.start_capture(port_number, pcap_file_path, request.json["data_link_type"])
        response.json({"pcap_file_path": pcap_file_path})
示例#8
0
    async def start_capture(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        pcap_file_path = os.path.join(node.project.capture_working_directory(), request.json["capture_file_name"])
        await node.start_capture(port_number, pcap_file_path, request.json["data_link_type"])
        response.json({"pcap_file_path": pcap_file_path})
示例#9
0
    def create_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        nio = builtin_manager.create_nio(request.json)
        port_number = int(request.match_info["port_number"])
        yield from node.add_nio(nio, port_number)
        response.set_status(201)
        response.json(nio)
示例#10
0
    def update(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        for name, value in request.json.items():
            if hasattr(node, name) and getattr(node, name) != value:
                setattr(node, name, value)
        node.updated()
        response.json(node)
示例#11
0
    async def delete_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(
            request.match_info["node_id"],
            project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        await node.remove_nio(port_number)
        response.set_status(204)
示例#12
0
    def update(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        for name, value in request.json.items():
            if hasattr(node, name) and getattr(node, name) != value:
                setattr(node, name, value)
        node.updated()
        response.json(node)
示例#13
0
    async def create_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        nio = builtin_manager.create_nio(request.json)
        port_number = int(request.match_info["port_number"])
        await node.add_nio(nio, port_number)
        response.set_status(201)
        response.json(nio)
示例#14
0
    def create(request, response):

        builtin_manager = Builtin.instance()
        node = yield from builtin_manager.create_node(request.json.pop("name"),
                                                      request.match_info["project_id"],
                                                      request.json.get("node_id"),
                                                      node_type="nat",
                                                      ports=request.json.get("ports_mapping"))
        response.set_status(201)
        response.json(node)
示例#15
0
    async def create(request, response):

        builtin_manager = Builtin.instance()
        node = await builtin_manager.create_node(request.json.pop("name"),
                                                      request.match_info["project_id"],
                                                      request.json.get("node_id"),
                                                      node_type="nat",
                                                      ports=request.json.get("ports_mapping"))
        response.set_status(201)
        response.json(node)
示例#16
0
    def update_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        nio = node.nios[int(request.match_info["adapter_number"])]
        if "filters" in request.json and nio:
            nio.filters = request.json["filters"]
        yield from node.update_nio(int(request.match_info["port_number"]), nio)
        response.set_status(201)
        response.json(request.json)
示例#17
0
    async def stream_pcap_file(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(
            request.match_info["node_id"],
            project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        nio = node.get_nio(port_number)
        await builtin_manager.stream_pcap_file(nio, node.project.id, request,
                                               response)
示例#18
0
    async def update_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        nio = node.get_nio(port_number)
        if "filters" in request.json:
            nio.filters = request.json["filters"]
        await node.update_nio(port_number, nio)
        response.set_status(201)
        response.json(request.json)
示例#19
0
    def update_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(
            request.match_info["node_id"],
            project_id=request.match_info["project_id"])
        nio = node.nios[int(request.match_info["adapter_number"])]
        if "filters" in request.json and nio:
            nio.filters = request.json["filters"]
        yield from node.update_nio(int(request.match_info["port_number"]), nio)
        response.set_status(201)
        response.json(request.json)
示例#20
0
    async def update_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(
            request.match_info["node_id"],
            project_id=request.match_info["project_id"])
        port_number = int(request.match_info["port_number"])
        nio = node.get_nio(port_number)
        if "filters" in request.json:
            nio.filters = request.json["filters"]
        await node.update_nio(port_number, nio)
        response.set_status(201)
        response.json(request.json)
示例#21
0
    def update_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        adapter_number = int(request.match_info["adapter_number"])

        try:
            nio = node.nios[adapter_number]
        except KeyError:
            raise HTTPConflict(text="NIO `{}` doesn't exist".format(adapter_number))

        if "filters" in request.json and nio:
            nio.filters = request.json["filters"]
        yield from node.update_nio(int(request.match_info["port_number"]), nio)
        response.set_status(201)
        response.json(request.json)
示例#22
0
    async def create(request, response):

        builtin_manager = Builtin.instance()
        node = await builtin_manager.create_node(request.json.pop("name"),
                                                      request.match_info["project_id"],
                                                      request.json.get("node_id"),
                                                      node_type="cloud",
                                                      ports=request.json.get("ports_mapping"))

        # add the remote console settings
        node.remote_console_host = request.json.get("remote_console_host", node.remote_console_host)
        node.remote_console_port = request.json.get("remote_console_port", node.remote_console_port)
        node.remote_console_type = request.json.get("remote_console_type", node.remote_console_type)
        node.remote_console_http_path = request.json.get("remote_console_http_path", node.remote_console_http_path)

        response.set_status(201)
        response.json(node)
示例#23
0
    def update_nio(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(
            request.match_info["node_id"],
            project_id=request.match_info["project_id"])
        adapter_number = int(request.match_info["adapter_number"])

        try:
            nio = node.nios[adapter_number]
        except KeyError:
            raise HTTPConflict(
                text="NIO `{}` doesn't exist".format(adapter_number))

        if "filters" in request.json and nio:
            nio.filters = request.json["filters"]
        yield from node.update_nio(int(request.match_info["port_number"]), nio)
        response.set_status(201)
        response.json(request.json)
示例#24
0
    async def create(request, response):

        builtin_manager = Builtin.instance()
        node = await builtin_manager.create_node(
            request.json.pop("name"),
            request.match_info["project_id"],
            request.json.get("node_id"),
            node_type="cloud",
            ports=request.json.get("ports_mapping"))

        # add the remote console settings
        node.remote_console_host = request.json.get("remote_console_host",
                                                    node.remote_console_host)
        node.remote_console_port = request.json.get("remote_console_port",
                                                    node.remote_console_port)
        node.remote_console_type = request.json.get("remote_console_type",
                                                    node.remote_console_type)
        node.remote_console_http_path = request.json.get(
            "remote_console_http_path", node.remote_console_http_path)

        response.set_status(201)
        response.json(node)
示例#25
0
    async def delete(request, response):

        builtin_manager = Builtin.instance()
        await builtin_manager.delete_node(request.match_info["node_id"])
        response.set_status(204)
示例#26
0
    def suspend(request, response):

        Builtin.instance().get_node(
            request.match_info["node_id"],
            project_id=request.match_info["project_id"])
        response.set_status(204)
示例#27
0
    def delete(request, response):

        builtin_manager = Builtin.instance()
        yield from builtin_manager.delete_node(request.match_info["node_id"])
        response.set_status(204)
示例#28
0
    async def start(request, response):

        node = Builtin.instance().get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        await node.start()
        response.set_status(204)
示例#29
0
    def show(request, response):

        builtin_manager = Builtin.instance()
        node = builtin_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        response.json(node)
示例#30
0
    def suspend(request, response):

        Builtin.instance().get_node(request.match_info["node_id"], project_id=request.match_info["project_id"])
        response.set_status(204)