Welcome to API documentation!

Warning

This documentation is intended for developers. The user documentation is available on https://gns3.com/

This documentation describe the GNS3 API and provide information for GNS3 developers.

For a quick demo on how to use the API read: Sample sessions using curl

API

General

Architecture

GNS3 can be divided in four part:

  • the user interface or GUI (gns3-gui or gns3-web projects)
  • the controller (gns3-server project)
  • the compute (part of the gns3-server project)
  • the emulators (Qemu, Dynamips, VirtualBox…)

The controller pilots everything, it manages the state of each project. Only one controller should run.

The GUI displays a topology representing a project on a canvas and allow to perform actions on given project, sending API requests to the controller.

The compute controls emulators to run nodes. A compute that is on the same server as the controller is the same process.

The compute usually starts an emulator instance for each node.

A small schema:

+---------------+                  +----------+     +------+
|               |                  | COMPUTE  +-----> QEMU |
|  GNS3 GUI     |              +---> SERVER 1 |     +------+
|  QT interface +-----+        |   +----------+
|               |     |        |                    +---+
+---------------+    +v--------++               +--->IOU|
                     |CONTROLLER|               |   +---+
      +---------+    +^--------++  +---------+  |
      | GNS3 WEB+-----+        |   | COMPUTE +--+
      +---------+              +---> SERVER 2+--+   +--------+
                                   +---------+  +--->DYNAMIPS|
                                                    +--------+

Use the controller API to work with the GNS3 backend

Communications

All communication are done over HTTP using the JSON format.

Errors

A standard HTTP error is sent in case of an error:

{
    "status": 409,
    "message": "Conflict"
}

Limitations

Concurrency

A node cannot processes multiple requests at the same time. However, multiple requests on multiple nodes can be executed concurrently. This should be transparent for clients since internal locks are used inside the server, so it is safe to send multiple requests at the same time and let the server manage the concurrency.

Authentication

HTTP basic authentication can be used to prevent unauthorized API requests. It is recommended to set up a VPN if the communication between clients and the server must be encrypted.

Notifications

Notifications can be received from the server by listening to a HTTP stream or via a Websocket.

Read Notifications for more information

Previous versions

API version 1

Shipped with GNS3 1.3, 1.4 and 1.5. This API doesn’t support the controller architecture.

Glossary

Topology

Contains everything to represent a virtual network (nodes, visual elements, links…)

Node

A Virtual Machine (Dynamips, IOU, Qemu, VPCS…) or builtin node (cloud, switch, hub…) that run on a compute.

Appliance

A model for a node used to create a node. When you drag an appliance to the topology a node is created.

Appliance template

A file (.gns3a) used to create a new node.

Drawing

A Drawing is a visual element like annotations, images, rectangles etc. There are pure SVG elements.

Adapter

A physical network interface, like a PCI card. The adapter can contain multiple ports.

Port

A port is an opening on a network adapter where can be plugged into.

For example a VM can have a serial and an Ethernet adapter. The Ethernet adapter itself can have 4 ports.

Controller

The central server managing everything in GNS3. A GNS3 controller will manage multiple GNS3 compute node.

Compute

The process running on each server with GNS3. The GNS3 compute node is controlled by the GNS3 controller.

Symbol

A symbol is an icon used to represent a node on a scene.

Scene

A scene is the drawing area or canvas.

Filter

Packet filter, for instance to add latency on a link or drop packets

Sample sessions using curl

Read the Glossary, and General pages first.

A list of all endpoints is available in Endpoints

Warning

Note that the output of the samples can be truncated in order to simplify their understanding. Please read the documentation for the exact output meaning.

Server version

Check the server version with a simple curl command:

# curl "http://localhost:3080/v2/version"
{
    "local": false,
    "version": "2.1.4"
}

List computes

List all the compute servers:

# curl "http://localhost:3080/v2/computes"
[
    {
        "compute_id": "local",
        "connected": true,
        "host": "127.0.0.1",
        "name": "local",
        "port": 3080,
        "protocol": "http",
        "user": "admin"
    }
]

There is only one compute server where nodes can be run in this example. This compute as a special id: local, this is the local server which is embedded in the GNS3 controller.

Create a project

The next step is to create a project:

# curl -X POST "http://localhost:3080/v2/projects" -d '{"name": "test"}'
{
    "name": "test",
    "project_id": "b8c070f7-f34c-4b7b-ba6f-be3d26ed073f",
}

Create nodes

Using the project id, it is now possible to create two VPCS nodes:

# curl -X POST "http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/nodes" -d '{"name": "VPCS 1", "node_type": "vpcs", "compute_id": "local"}'
{
    "compute_id": "local",
    "console": 5000,
    "console_host": "127.0.0.1",
    "console_type": "telnet",
    "name": "VPCS 1",
    "node_id": "f124dec0-830a-451e-a314-be50bbd58a00",
    "node_type": "vpcs",
    "project_id": "b8c070f7-f34c-4b7b-ba6f-be3d26ed073f",
    "status": "stopped"
}

# curl -X POST "http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/nodes" -d '{"name": "VPCS 2", "node_type": "vpcs", "compute_id": "local"}'
{
    "compute_id": "local",
    "console": 5001,
    "console_host": "127.0.0.1",
    "console_type": "telnet",
    "name": "VPCS 2",
    "node_id": "83892a4d-aea0-4350-8b3e-d0af3713da74",
    "node_type": "vpcs",
    "project_id": "b8c070f7-f34c-4b7b-ba6f-be3d26ed073f",
    "properties": {},
    "status": "stopped"
}

Start nodes

Start the two nodes:

# curl -X POST "http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/nodes/f124dec0-830a-451e-a314-be50bbd58a00/start" -d "{}"
# curl -X POST "http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/nodes/83892a4d-aea0-4350-8b3e-d0af3713da74/start" -d "{}"

Connect to nodes

Use a Telnet client to connect to the nodes once they have been started. The port number can be found in the output when the nodes have been created above.

# telnet 127.0.0.1 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Welcome to Virtual PC Simulator, version 0.6
Dedicated to Daling.
Build time: Dec 29 2014 12:51:46
Copyright (c) 2007-2014, Paul Meng (mirnshi@gmail.com)
All rights reserved.

VPCS is free software, distributed under the terms of the "BSD" licence.
Source code and license can be found at vpcs.sf.net.
For more information, please visit wiki.freecode.com.cn.

Press '?' to get help.

VPCS> ip 192.168.1.1
Checking for duplicate address...
PC1 : 192.168.1.1 255.255.255.0

VPCS> disconnect

Good-bye
Connection closed by foreign host.

# telnet 127.0.0.1 5001
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Welcome to Virtual PC Simulator, version 0.6
Dedicated to Daling.
Build time: Dec 29 2014 12:51:46
Copyright (c) 2007-2014, Paul Meng (mirnshi@gmail.com)
All rights reserved.

VPCS is free software, distributed under the terms of the "BSD" licence.
Source code and license can be found at vpcs.sf.net.
For more information, please visit wiki.freecode.com.cn.

Press '?' to get help.

VPCS> ip 192.168.1.2
Checking for duplicate address...
PC1 : 192.168.1.2 255.255.255.0

VPCS> ping 192.168.1.1
84 bytes from 192.168.1.1 icmp_seq=1 ttl=64 time=0.179 ms
84 bytes from 192.168.1.1 icmp_seq=2 ttl=64 time=0.218 ms
84 bytes from 192.168.1.1 icmp_seq=3 ttl=64 time=0.190 ms
84 bytes from 192.168.1.1 icmp_seq=4 ttl=64 time=0.198 ms
84 bytes from 192.168.1.1 icmp_seq=5 ttl=64 time=0.185 ms

VPCS> disconnect
Good-bye
Connection closed by foreign host.

Stop nodes

Stop the two nodes:

# curl -X POST "http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/nodes/f124dec0-830a-451e-a314-be50bbd58a00/stop" -d "{}"
# curl -X POST "http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/nodes/83892a4d-aea0-4350-8b3e-d0af3713da74/stop" -d "{}"

Add visual elements

Visual elements like rectangle, ellipses or images in the form of raw SVG can be added to a project.

This will display a red square in the middle of your canvas:

# curl -X POST "http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/drawings" -d '{"x":0, "y": 12, "svg": "<svg width=\"50\" height=\"50\"><rect width=\"50\" height=\"50\" style=\"fill: #ff0000\"></rect></svg>"}'

Tip: embed PNG, JPEG etc. images using base64 encoding in the SVG.

Add a packet filter

Packet filters allow to filter packet on a given link. Here to drop a packet every 5 packets:

Node creation

There are two ways to add nodes.

  1. Manually by passing all the information required to create a new node.
  2. Using an appliance template stored on your server.
Using an appliance template

List all the available appliance templates:

# curl "http://localhost:3080/v2/appliances"

[
    {
        "appliance_id": "5fa8a8ca-0f80-4ac4-8104-2b32c7755443",
        "category": "guest",
        "compute_id": "vm",
        "default_name_format": "{name}-{0}",
        "name": "MicroCore",
        "node_type": "qemu",
        "symbol": ":/symbols/qemu_guest.svg"
    },
    {
        "appliance_id": "9cd59d5a-c70f-4454-8313-6a9e81a8278f",
        "category": "guest",
        "compute_id": "vm",
        "default_name_format": "{name}-{0}",
        "name": "Chromium",
        "node_type": "docker",
        "symbol": ":/symbols/docker_guest.svg"
    }
]

Use the appliance template and add coordinates to select where the node will be put on the canvas:

# curl -X POST http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/appliances/9cd59d5a-c70f-4454-8313-6a9e81a8278f -d '{"x": 12, "y": 42}'
Manual creation of a Qemu node
# curl -X POST http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/nodes -d '{"node_type": "qemu", "compute_id": "local", "name": "Microcore1", "properties": {"hda_disk_image": "linux-microcore-6.4.img", "ram": 256, "qemu_path": "qemu-system-x86_64"}}'

{
    "command_line": "",
    "compute_id": "local",
    "console": 5001,
    "console_host": "127.0.0.1",
    "console_type": "telnet",
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-family: TypeWriter;font-size: 10;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
        "text": "Microcore1",
        "x": null,
        "y": -40
    },
    "name": "Microcore1",
    "node_directory": "/Users/noplay/GNS3/projects/untitled/project-files/qemu/9e4eb45b-22f5-450d-8277-2934fbd0aa20",
    "node_id": "9e4eb45b-22f5-450d-8277-2934fbd0aa20",
    "node_type": "qemu",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0/0"
        }
    ],
    "project_id": "b8c070f7-f34c-4b7b-ba6f-be3d26ed073f",
    "properties": {
        "acpi_shutdown": false,
        "adapter_type": "e1000",
        "adapters": 1,
        "boot_priority": "c",
        "cdrom_image": "",
        "cdrom_image_md5sum": null,
        "cpu_throttling": 0,
        "cpus": 1,
        "hda_disk_image": "linux-microcore-6.4.img",
        "hda_disk_image_md5sum": "877419f975c4891c019947ceead5c696",
        "hda_disk_interface": "ide",
        "hdb_disk_image": "",
        "hdb_disk_image_md5sum": null,
        "hdb_disk_interface": "ide",
        "hdc_disk_image": "",
        "hdc_disk_image_md5sum": null,
        "hdc_disk_interface": "ide",
        "hdd_disk_image": "",
        "hdd_disk_image_md5sum": null,
        "hdd_disk_interface": "ide",
        "initrd": "",
        "initrd_md5sum": null,
        "kernel_command_line": "",
        "kernel_image": "",
        "kernel_image_md5sum": null,
        "legacy_networking": false,
        "mac_address": "00:af:69:aa:20:00",
        "options": "",
        "platform": "x86_64",
        "process_priority": "low",
        "qemu_path": "/usr/local/bin/qemu-system-x86_64",
        "ram": 256,
        "usage": ""
    },
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": 0,
    "y": 0,
    "z": 0
}
Manual creation of a Dynamips node
# curl http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/nodes -d '{"symbol": ":/symbols/router.svg", "name": "R1", "properties": {"platform": "c7200", "nvram": 512, "image": "c7200-adventerprisek9-mz.124-24.T8.image", "ram": 512, "slot3": "PA-GE", "system_id": "FTX0945W0MY", "slot0": "C7200-IO-FE", "slot2": "PA-GE", "slot1": "PA-GE",  "idlepc": "0x606e0538", "startup_config_content": "hostname %h\n"}, "compute_id": "local", "node_type": "dynamips"}'

{
    "command_line": null,
    "compute_id": "local",
    "console": 5002,
    "console_host": "127.0.0.1",
    "console_type": "telnet",
    "first_port_name": null,
    "height": 45,
    "label": {
        "rotation": 0,
        "style": "font-family: TypeWriter;font-size: 10;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
        "text": "R1",
        "x": null,
        "y": -32
    },
    "name": "R1",
    "node_directory": "/Users/noplay/GNS3/projects/untitled/project-files/dynamips",
    "node_id": "f7367e7e-804e-48be-9037-284d4d9b059e",
    "node_type": "dynamips",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "FastEthernet0/0",
            "port_number": 0,
            "short_name": "f0/0"
        },
        {
            "adapter_number": 1,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "GigabitEthernet0/0",
            "port_number": 0,
            "short_name": "g0/0"
        },
        {
            "adapter_number": 2,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "GigabitEthernet1/0",
            "port_number": 0,
            "short_name": "g1/0"
        },
        {
            "adapter_number": 3,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "GigabitEthernet2/0",
            "port_number": 0,
            "short_name": "g2/0"
        }
    ],
    "project_id": "b8c070f7-f34c-4b7b-ba6f-be3d26ed073f",
    "properties": {
        "auto_delete_disks": false,
        "aux": null,
        "clock_divisor": 4,
        "disk0": 64,
        "disk1": 0,
        "dynamips_id": 2,
        "exec_area": 64,
        "idlemax": 500,
        "idlepc": "0x606e0538",
        "idlesleep": 30,
        "image": "c7200-adventerprisek9-mz.124-24.T8.image",
        "image_md5sum": "b89d30823cbbda460364991ed18449c7",
        "mac_addr": "ca02.dcbb.0000",
        "midplane": "vxr",
        "mmap": true,
        "npe": "npe-400",
        "nvram": 512,
        "platform": "c7200",
        "power_supplies": [
            1,
            1
        ],
        "private_config": "",
        "private_config_content": "",
        "ram": 512,
        "sensors": [
            22,
            22,
            22,
            22
        ],
        "slot0": "C7200-IO-FE",
        "slot1": "PA-GE",
        "slot2": "PA-GE",
        "slot3": "PA-GE",
        "slot4": null,
        "slot5": null,
        "slot6": null,
        "sparsemem": true,
        "startup_config": "configs/i2_startup-config.cfg",
        "startup_config_content": "!\nhostname R1\n",
        "system_id": "FTX0945W0MY"
    },
    "status": "stopped",
    "symbol": ":/symbols/router.svg",
    "width": 66,
    "x": 0,
    "y": 0,
    "z": 0
}

Notifications

Notifications can be seen by connection to the notification feed:

# curl "http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/notifications"
{"action": "ping", "event": {"compute_id": "local", "cpu_usage_percent": 35.7, "memory_usage_percent": 80.7}}
{"action": "node.updated", "event": {"command_line": "/usr/local/bin/vpcs -p 5001 -m 1 -i 1 -F -R -s 10001 -c 10000 -t 127.0.0.1", "compute_id": "local", "console": 5001, "console_host": "127.0.0.1", "console_type": "telnet", "name": "VPCS 2", "node_id": "83892a4d-aea0-4350-8b3e-d0af3713da74", "node_type": "vpcs", "project_id": "b8c070f7-f34c-4b7b-ba6f-be3d26ed073f", "properties": {"startup_script": null, "startup_script_path": null}, "status": "started"}}

A Websocket notification stream is also available on http://localhost:3080/v2/projects/b8c070f7-f34c-4b7b-ba6f-be3d26ed073f/notifications/ws

Read Notifications for more information.

Where to find the endpoints?

A list of all endpoints is available: Endpoints

Tip: requests made by a client and by a controller to the computes nodes can been seen if the server is started with the –debug parameter.

Notifications

Notifications can be received from the controller, they can be used to update your local data.

Notification endpoints

Listen to the HTTP stream endpoint or to the Websocket endpoint.

It is recommended to use the Websocket endpoint.

Available notifications

ping

Keep-alive between client and controller. Also used to receive the current CPU and memory usage.

{
    "compute_id": 12
}
compute.created

A compute has been created.

{
    "capabilities": {
        "node_types": [],
        "version": null
    },
    "compute_id": "my_compute",
    "connected": false,
    "cpu_usage_percent": null,
    "host": "localhost",
    "memory_usage_percent": null,
    "name": "http://julien@localhost:84",
    "port": 84,
    "protocol": "http",
    "user": "julien"
}
compute.updated

A compute has been updated.

{
    "capabilities": {
        "node_types": [],
        "version": null
    },
    "compute_id": "my_compute_id",
    "connected": false,
    "cpu_usage_percent": null,
    "host": "localhost",
    "memory_usage_percent": null,
    "name": "http://julien@localhost:84",
    "port": 84,
    "protocol": "https",
    "user": "julien"
}
compute.deleted

A compute has been deleted.

{
    "capabilities": {
        "node_types": [],
        "version": null
    },
    "compute_id": "my_compute_id",
    "connected": false,
    "cpu_usage_percent": null,
    "host": "localhost",
    "memory_usage_percent": null,
    "name": "http://julien@localhost:84",
    "port": 84,
    "protocol": "http",
    "user": "julien"
}
node.created

A node has been created.

{
    "a": "b"
}
node.updated

A node has been updated.

{
    "command_line": "",
    "compute_id": "local",
    "console": 5006,
    "console_host": "127.0.0.1",
    "console_type": "telnet",
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-family: TypeWriter;font-size: 10;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
        "text": "PC2",
        "x": 18,
        "y": -25
    },
    "name": "PC2",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-23/test_load_project0/project-files/vpcs/748bcd89-624a-40eb-a8d3-1d2e85c99b51",
    "node_id": "748bcd89-624a-40eb-a8d3-1d2e85c99b51",
    "node_type": "vpcs",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0"
        }
    ],
    "project_id": "3c1be6f9-b4ba-4737-b209-63c47c23359f",
    "properties": {},
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": -71,
    "y": -98,
    "z": 1
}
node.deleted

A node has been deleted.

drawing.created

A drawing has been created.

{
    "drawing_id": "510703c2-6ba8-47d5-bcbf-20a3fe6790af",
    "project_id": "972df51a-85cc-4762-bb3f-f03bd52d7b2c",
    "rotation": 0,
    "svg": "<svg height=\"210\" width=\"500\"><line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"200\" style=\"stroke:rgb(255,0,0);stroke-width:2\" /></svg>",
    "x": 10,
    "y": 20,
    "z": 0
}
drawing.updated

A drawing has been updated. The svg field is only included if it has changed in order to reduce data transfer.

{
    "drawing_id": "5f9c48be-d144-4666-a66f-5bc6d93e2f32",
    "project_id": "600de23c-5af1-44a1-8c67-3023ceb6e6c7",
    "rotation": 0,
    "x": 42,
    "y": 20,
    "z": 0
}
drawing.deleted

A drawing has been deleted.

{
    "drawing_id": "7447cc2c-18fb-4db7-87a7-11b81ebd036d",
    "project_id": "74c2978e-03fe-4873-ac04-433fb93cb2b0",
    "rotation": 0,
    "svg": "<svg></svg>",
    "x": 0,
    "y": 0,
    "z": 0
}
project.updated

A project has been updated.

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "grid_size": 0,
    "name": "test2",
    "path": "/tmp/tmpos2k9l46/projects/10010203-0405-0607-0809-0a0b0c0d0e0f",
    "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "opened",
    "supplier": null,
    "variables": [
        {
            "name": "TEST1"
        },
        {
            "name": "TEST2",
            "value": "value1"
        }
    ],
    "zoom": 100
}
project.closed

A project has been closed.

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "grid_size": 0,
    "name": "test",
    "path": "/tmp/tmpirgd0q7l/projects/2010428c-85a1-4416-b018-69ae822e297b",
    "project_id": "2010428c-85a1-4416-b018-69ae822e297b",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "closed",
    "supplier": null,
    "variables": null,
    "zoom": 100
}
snapshot.restored

A snapshot has been restored

log.error

Sends an error

{
    "message": "Permission denied on /tmp"
}
log.warning

Sends a warning

{
    "message": "Warning ASA 8 is not officialy supported by GNS3"
}
log.info

Sends an information

{
    "message": "Image uploaded"
}
settings.updated

GUI settings have been updated. Will be removed in a later release.

{
    "modification_uuid": "c8a68ba6-b99c-491d-b12b-9ff4089f04ac",
    "test": true
}

Positions

A project object contains the scene_height and scene_width properties. This defines the size of the drawing area in px.

The position of the nodes are relative with 0,0 as center of the area.

Endpoints

GNS3 exposes two type of endpoints:

  • Controller endpoints
  • Compute endpoints

Controller endpoints

The controller manages everything, it is the central decision point and has a complete view of your network topologies, what nodes run on which compute server, the links between them etc.

This is the high level API which can be used by users to manually control the GNS3 backend. The controller will call the compute endpoints when needed.

A standard GNS3 setup is to have one controller and one or many computes.

Appliance
/v2/appliances
GET /v2/appliances

List of appliance

Response status codes
  • 200: Appliance list returned
Sample session
curl -i -X GET 'http://localhost:3080/v2/appliances'

GET /v2/appliances HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 2690
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/appliances

[
    {
        "appliance_id": "dd0f6f3a-ba58-3249-81cb-a1dd88407a47",
        "builtin": true,
        "category": "switch",
        "compute_id": null,
        "default_name_format": "{name}-{0}",
        "name": "Frame Relay switch",
        "node_type": "frame_relay_switch",
        "platform": null,
        "symbol": ":/symbols/frame_relay_switch.svg"
    },
    {
        "appliance_id": "df8f4ea9-33b7-3e96-86a2-c39bc9bb649c",
        "builtin": true,
        "category": "guest",
        "compute_id": null,
        "default_name_format": "{name}-{0}",
        "name": "NAT",
        "node_type": "nat",
        "platform": null,
        "symbol": ":/symbols/cloud.svg"
    },
    {
        "appliance_id": "19021f99-e36f-394d-b4a1-8aaa902ab9cc",
        "builtin": true,
        "category": "guest",
        "compute_id": null,
        "default_name_format": "PC-{0}",
        "name": "VPCS",
        "node_type": "vpcs",
        "platform": null,
        "symbol": ":/symbols/vpcs_guest.svg"
    },
    {
        "appliance_id": "b4503ea9-d6b6-3695-9fe4-1db3b39290b0",
        "builtin": true,
        "category": "switch",
        "compute_id": null,
        "default_name_format": "{name}-{0}",
        "name": "Ethernet hub",
        "node_type": "ethernet_hub",
        "platform": null,
        "symbol": ":/symbols/hub.svg"
    },
    {
        "appliance_id": "39e257dc-8412-3174-b6b3-0ee3ed6a43e9",
        "builtin": true,
        "category": "guest",
        "compute_id": null,
        "default_name_format": "{name}-{0}",
        "name": "Cloud",
        "node_type": "cloud",
        "platform": null,
        "symbol": ":/symbols/cloud.svg"
    },
    {
        "appliance_id": "1966b864-93e7-32d5-965f-001384eec461",
        "builtin": true,
        "category": "switch",
        "compute_id": null,
        "default_name_format": "{name}-{0}",
        "name": "Ethernet switch",
        "node_type": "ethernet_switch",
        "platform": null,
        "symbol": ":/symbols/ethernet_switch.svg"
    },
    {
        "appliance_id": "882691e1-9fc0-4bf5-9711-46309a4e66f7",
        "builtin": false,
        "category": "router",
        "compute_id": "local",
        "default_name_format": "{name}-{0}",
        "name": "test",
        "node_type": "qemu",
        "platform": null,
        "symbol": "guest.svg"
    },
    {
        "appliance_id": "aaa764e2-b383-300f-8a0e-3493bbfdb7d2",
        "builtin": true,
        "category": "switch",
        "compute_id": null,
        "default_name_format": "{name}-{0}",
        "name": "ATM switch",
        "node_type": "atm_switch",
        "platform": null,
        "symbol": ":/symbols/atm_switch.svg"
    }
]
/v2/appliances/templates
GET /v2/appliances/templates

List of appliance templates

Response status codes
  • 200: Appliance template list returned
Sample session
curl -i -X GET 'http://localhost:3080/v2/appliances/templates'

GET /v2/appliances/templates HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 508688
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/appliances/templates

[
    {
        "builtin": true,
        "category": "guest",
        "description": "Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox.",
        "docker": {
            "adapters": 1,
            "console_type": "telnet",
            "image": "alpine"
        },
        "documentation_url": "http://wiki.alpinelinux.org",
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Alpine Linux",
        "product_name": "Alpine Linux",
        "registry_version": 3,
        "status": "stable",
        "symbol": "linux_guest.svg",
        "vendor_name": "Alpine Linux Development Team",
        "vendor_url": "http://alpinelinux.org"
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "Protect your network from viruses, malware and malicious activity with Kerio Control, the easy-to-administer yet powerful all-in-one security solution.\nKerio Control brings together next-generation firewall capabilities - including a network firewall and router, intrusion detection and prevention (IPS), gateway anti-virus, VPN, and web content and application filtering. These comprehensive capabilities and unmatched deployment flexibility make Kerio Control the ideal choice for small and mid-sized businesses.",
        "documentation_url": "http://kb.kerio.com/product/kerio-control/",
        "images": [
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/control/control-9.2.4-2223/kerio-control-appliance-9.2.4-2223-vmware-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-control",
                "filename": "kerio-control-appliance-9.2.4-2223-vmware-disk1.vmdk",
                "filesize": 191687168,
                "md5sum": "20970f3638c7ca5603c2afbe56e89421",
                "version": "9.2.4"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/control/control-9.2.3-2219/kerio-control-appliance-9.2.3-2219-vmware-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-control",
                "filename": "kerio-control-appliance-9.2.3-2219-vmware-disk1.vmdk",
                "filesize": 191716352,
                "md5sum": "767d5b25bdca2b45c2ba269189ea9bd0",
                "version": "9.2.3"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/control/control-9.2.2-2172/kerio-control-appliance-9.2.2-2172-vmware-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-control",
                "filename": "kerio-control-appliance-9.2.2-2172-vmware-disk1.vmdk",
                "filesize": 190841856,
                "md5sum": "4efeacbc39db1b3e53ef96af1338cf52",
                "version": "9.2.2"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/control/control-9.2.1-2019/kerio-control-appliance-9.2.1-2019-vmware-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-control",
                "filename": "kerio-control-appliance-9.2.1-2019-vmware-disk1.vmdk",
                "filesize": 254364160,
                "md5sum": "0405890e323e29a4808ec288600875ba",
                "version": "9.2.1"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/control/control-9.1.4-1535/kerio-control-appliance-9.1.4-1535-vmware.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-control",
                "filename": "kerio-control-appliance-9.1.4-1535-vmware.vmdk",
                "filesize": 483459072,
                "md5sum": "5ea5a7f103b1f008d4c24444400333ec",
                "version": "9.1.4"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Kerio Control",
        "port_name_format": "eth{0}",
        "product_name": "Kerio Control",
        "product_url": "http://www.kerio.com/products/kerio-control",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 2,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "Kerio Technologies Inc.",
        "vendor_url": "http://www.kerio.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "kerio-control-appliance-9.2.4-2223-vmware-disk1.vmdk"
                },
                "name": "9.2.4"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-control-appliance-9.2.3-2219-vmware-disk1.vmdk"
                },
                "name": "9.2.3"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-control-appliance-9.2.2-2172-vmware-disk1.vmdk"
                },
                "name": "9.2.2"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-control-appliance-9.2.1-2019-vmware-disk1.vmdk"
                },
                "name": "9.2.1"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-control-appliance-9.1.4-1535-vmware.vmdk"
                },
                "name": "9.1.4"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "AsteriskNOW makes it easy to create custom telephony solutions by automatically installing the 'plumbing'. It's a complete Linux distribution with Asterisk, the DAHDI driver framework, and, the FreePBX administrative GUI. Much of the complexity of Asterisk and Linux is handled by the installer, the yum package management utility and the administrative GUI. With AsteriskNOW, application developers and integrators can concentrate on building solutions, not maintaining the plumbing.",
        "documentation_url": "https://wiki.asterisk.org/wiki/display/AST/Installing+AsteriskNOW",
        "images": [
            {
                "direct_download_url": "http://downloads.asterisk.org/pub/telephony/asterisk-now/AsteriskNow-1013-current-64.iso",
                "download_url": "http://downloads.asterisk.org/pub/telephony/asterisk-now/",
                "filename": "AsteriskNow-1013-current-64.iso",
                "filesize": 1343909888,
                "md5sum": "1badc6d68b59b57406e1b9ae69acf2e2",
                "version": "10.13"
            },
            {
                "direct_download_url": "http://downloads.asterisk.org/pub/telephony/asterisk-now/AsteriskNOW-612-current-64.iso",
                "download_url": "http://downloads.asterisk.org/pub/telephony/asterisk-now/",
                "filename": "AsteriskNOW-612-current-64.iso",
                "filesize": 1135714304,
                "md5sum": "cc31e6d9b88d49e8eb182f1e2fb85479",
                "version": "6.12"
            },
            {
                "direct_download_url": "http://downloads.asterisk.org/pub/telephony/asterisk-now/AsteriskNOW-5211-current-64.iso",
                "download_url": "http://downloads.asterisk.org/pub/telephony/asterisk-now/",
                "filename": "AsteriskNOW-5211-current-64.iso",
                "filesize": 1124741120,
                "md5sum": "aef2b0fffd637b9c666e8ce904bbd714",
                "version": "5.211"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "AsteriskNOW",
        "port_name_format": "eth{0}",
        "product_name": "AsteriskNOW",
        "product_url": "http://www.asterisk.org/downloads/asterisknow",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Select 'No RAID' option when installing the appliance using the VNC console. Installing the freepbx package takes a lot of time (15+ minutes).",
        "vendor_name": "Digium",
        "vendor_url": "http://www.asterisk.org/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "AsteriskNow-1013-current-64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "10.13"
            },
            {
                "images": {
                    "cdrom_image": "AsteriskNOW-612-current-64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "6.12"
            },
            {
                "images": {
                    "cdrom_image": "AsteriskNOW-5211-current-64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "5.211"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "Sophos Free Home Use Firewall is a fully equipped software version of the Sophos UTM firewall, available at no cost for home users \u2013 no strings attached. It features full Network, Web, Mail and Web Application Security with VPN functionality and protects up to 50 IP addresses. The Sophos UTM Free Home Use firewall contains its own operating system and will overwrite all data on the computer during the installation process. Therefore, a separate, dedicated computer or VM is needed, which will change into a fully functional security appliance.",
        "documentation_url": "https://community.sophos.com/products/unified-threat-management/",
        "images": [
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.506-2.1.iso",
                "filesize": 1006057472,
                "md5sum": "6b4374f8c5ee66ccdf9683f7349f59cb",
                "version": "9.506-2.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.500-9.1.iso",
                "filesize": 981612544,
                "md5sum": "8531349cdb7f07c94596b19f8e08081a",
                "version": "9.500-9.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.415-1.1.iso",
                "filesize": 961087488,
                "md5sum": "505004bf5a5d5f2234b2056ec7b553d8",
                "version": "9.415-1.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.413-4.1.iso",
                "filesize": 965146624,
                "md5sum": "decdccf0fbb1c809c0d3ad1dd322ca5d",
                "version": "9.413-4.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.411-3.1.iso",
                "filesize": 947019776,
                "md5sum": "0940197daccb5993a419b667c71fb341",
                "version": "9.411-3.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.409-9.1.iso",
                "filesize": 910178304,
                "md5sum": "71e9261ac77d230f85d8066f8efef710",
                "version": "9.409-9.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.408-4.1.iso",
                "filesize": 892516352,
                "md5sum": "b10aab2d3dd4d7f6424b9c64a075e550",
                "version": "9.408-4.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.407-3.1.iso",
                "filesize": 879738880,
                "md5sum": "19f736d0766a960a1d37edf98daaf01d",
                "version": "9.407-3.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.406-3.1.iso",
                "filesize": 873408512,
                "md5sum": "b79fb0fd04654068897961ab0594297c",
                "version": "9.406-3.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.405-5.1.iso",
                "filesize": 864020480,
                "md5sum": "cc1687ea73dd7363212c0db5ad784bc6",
                "version": "9.405-5.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.403-4.1.iso",
                "filesize": 850329600,
                "md5sum": "631f2a017deb284705d653905de51604",
                "version": "9.403-4.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.358-3.1.iso",
                "filesize": 868235264,
                "md5sum": "883176415be49e12ab63b46ca749c7b2",
                "version": "9.358-3.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.357-1.1.iso",
                "filesize": 848300032,
                "md5sum": "c34061e770f26a994b725b4b92fe56dc",
                "version": "9.357-1.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.356-3.1.iso",
                "filesize": 820531200,
                "md5sum": "bd155ed98a477d1182367b302bb480f3",
                "version": "9.356-3.1"
            },
            {
                "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx",
                "filename": "asg-9.217-3.1.iso",
                "filesize": 747606016,
                "md5sum": "77bae7dcad422dac428984417573acad",
                "version": "9.217-3.1"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Sophos UTM Home Edition",
        "port_name_format": "eth{0}",
        "product_name": "Sophos UTM Home Edition",
        "product_url": "https://www.sophos.com/en-us/products/free-tools/sophos-utm-home-edition.aspx",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Connect to VNC console for installation, everything else can be set on the WebUI.",
        "vendor_name": "Sophos Ltd.",
        "vendor_url": "https://www.sophos.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "asg-9.506-2.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.506-2.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.500-9.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.500-9.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.415-1.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.415-1.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.413-4.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.413-4.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.411-3.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.411-3.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.409-9.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.409-9.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.408-4.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.408-4.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.407-3.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.407-3.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.406-3.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.406-3.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.405-5.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.405-5.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.403-4.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.403-4.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.358-3.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.358-3.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.357-1.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.357-1.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.356-3.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.356-3.1"
            },
            {
                "images": {
                    "cdrom_image": "asg-9.217-3.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.217-3.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "webterm is a debian based networking toolbox.\nIt contains the firefox web browser plus the following utilities: net-tools, iproute2, ping, traceroute, curl, host, iperf3, mtr, socat, ssh client, tcpdump, ab(apache benchmark) and the multicast testing tools msend/mreceive.",
        "docker": {
            "adapters": 1,
            "console_type": "vnc",
            "image": "gns3/webterm:latest"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "webterm",
        "product_name": "webterm",
        "registry_version": 3,
        "status": "stable",
        "symbol": "firefox.svg",
        "usage": "The /root directory is persistent.",
        "vendor_name": "webterm",
        "vendor_url": "https://www.debian.org"
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Take control of your online applications with Brocade virtual Traffic Manager (Developer Edition). Enhance customer experience, inspect traffic in real-time, control service levels to differentiate users and services, and reduce your costs with an extensible delivery platform that can grow with your business using ADC-as-a-Service. A fully functional Developer Edition which needs no license key, is limited to 1 Mbps/100 SSL tps throughput, and has access to the Brocade Community support web pages.",
        "documentation_url": "http://www.brocade.com/en/products-services/software-networking/application-delivery-controllers/virtual-traffic-manager.html",
        "images": [
            {
                "download_url": "http://www1.brocade.com/forms/jsp/steelapp-traffic-manager-developer/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-TrafficManagerDeveloper&intcmp=lp_en_vTMdeveloper_eval_bn_00001",
                "filename": "VirtualTrafficManager-174.qcow2",
                "filesize": 2036465664,
                "md5sum": "3c44f385e5faf310ca8e3d46bf4e0564",
                "version": "17.4"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/steelapp-traffic-manager-developer/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-TrafficManagerDeveloper&intcmp=lp_en_vTMdeveloper_eval_bn_00001",
                "filename": "VirtualTrafficManager-173.qcow2",
                "filesize": 2022178816,
                "md5sum": "c3425d8ec3f8c7789c0a88b8ed6bdf3b",
                "version": "17.3"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/steelapp-traffic-manager-developer/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-TrafficManagerDeveloper&intcmp=lp_en_vTMdeveloper_eval_bn_00001",
                "filename": "VirtualTrafficManager-172.qcow2",
                "filesize": 2039742464,
                "md5sum": "00d3ab0422eb786bcbd77f5841220956",
                "version": "17.2"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/steelapp-traffic-manager-developer/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-TrafficManagerDeveloper&intcmp=lp_en_vTMdeveloper_eval_bn_00001",
                "filename": "VirtualTrafficManager-171.qcow2",
                "filesize": 1771175936,
                "md5sum": "397672218292e739bd33b203a91dbcf4",
                "version": "17.1"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/steelapp-traffic-manager-developer/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-TrafficManagerDeveloper&intcmp=lp_en_vTMdeveloper_eval_bn_00001",
                "filename": "VirtualTrafficManager-111.qcow2",
                "filesize": 12189564928,
                "md5sum": "3c9c63e2071d79c64cb4b17b355d2582",
                "version": "11.1"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/steelapp-traffic-manager-developer/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-TrafficManagerDeveloper&intcmp=lp_en_vTMdeveloper_eval_bn_00001",
                "filename": "VirtualTrafficManager-110.img",
                "filesize": 12191531008,
                "md5sum": "7fb0bab8e1cf09076e87270b1418ec81",
                "version": "11.0"
            },
            {
                "download_url": "http://my.brocade.com/",
                "filename": "VirtualTrafficManager-104R1.img",
                "filesize": 12193562624,
                "md5sum": "395542073d6afb9e62e7d5a7b339c3b3",
                "version": "10.4R1"
            },
            {
                "download_url": "http://my.brocade.com/",
                "filename": "VirtualTrafficManager-104.img",
                "filesize": 12190220288,
                "md5sum": "88e31b072e17de12e241ef442bb5faae",
                "version": "10.4"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "vTM DE",
        "port_name_format": "eth{0}",
        "product_name": "vTM DE",
        "product_url": "http://www.brocade.com/en/products-services/software-networking/application-delivery-controllers/virtual-traffic-manager.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 8,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "loadbalancer.svg",
        "usage": "Credentials: admin / admin. The device gets its initial IP address using DHCP. After getting an IP address, you can access the initial configuration using the WebUI at https://IP_ADDRESS:9090",
        "vendor_name": "Brocade",
        "vendor_url": "http://www.brocade.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "VirtualTrafficManager-174.qcow2"
                },
                "name": "17.4"
            },
            {
                "images": {
                    "hda_disk_image": "VirtualTrafficManager-173.qcow2"
                },
                "name": "17.3"
            },
            {
                "images": {
                    "hda_disk_image": "VirtualTrafficManager-172.qcow2"
                },
                "name": "17.2"
            },
            {
                "images": {
                    "hda_disk_image": "VirtualTrafficManager-171.qcow2"
                },
                "name": "17.1"
            },
            {
                "images": {
                    "hda_disk_image": "VirtualTrafficManager-111.qcow2"
                },
                "name": "11.1"
            },
            {
                "images": {
                    "hda_disk_image": "VirtualTrafficManager-110.img"
                },
                "name": "11.0"
            },
            {
                "images": {
                    "hda_disk_image": "VirtualTrafficManager-104R1.img"
                },
                "name": "10.4R1"
            },
            {
                "images": {
                    "hda_disk_image": "VirtualTrafficManager-104.img"
                },
                "name": "10.4"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "The Alcatel-Lucent 7750 Service Router (SR) portfolio is a suite of multiservice edge routing platforms that deliver high performance, service richness, and creates exceptional value for networking in the cloud era. It is designed for the concurrent delivery of advanced residential, business and wireless broadband IP services, and provides cloud, data center and branch office connectivity for enterprise networking on a common IP edge routing platform.",
        "documentation_url": "https://www.alcatel-lucent.com/support",
        "first_port_name": "A/1",
        "images": [
            {
                "compression": "zip",
                "download_url": "https://www.alcatel-lucent.com/support",
                "filename": "TiMOS-SR-13.0.R4-vm.qcow2",
                "filesize": 368508928,
                "md5sum": "d7a3609e506acdcb55f6db5328dba8ed",
                "version": "13.0.R4"
            },
            {
                "compression": "zip",
                "download_url": "https://www.alcatel-lucent.com/support",
                "filename": "TiMOS-SR-12.0.R6-vm.qcow2",
                "filesize": 221511680,
                "md5sum": "7d84d97a5664af2e3546bfa832fc1848",
                "version": "12.0.R6"
            },
            {
                "compression": "zip",
                "download_url": "https://www.alcatel-lucent.com/support",
                "filename": "TiMOS-SR-12.0.R18.qcow2",
                "filesize": 223870976,
                "md5sum": "d0bba5feaaf09fd02185f25898a6afc7",
                "version": "12.0.R18"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Alcatel 7750",
        "port_name_format": "1/1/{port1}",
        "product_name": "Alcatel 7750",
        "product_url": "https://www.alcatel-lucent.com/products/7750-service-router",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 6,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "options": "",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "experimental",
        "usage": "Login is admin and password is admin",
        "vendor_name": "Alcatel",
        "vendor_url": "https://www.alcatel-lucent.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "TiMOS-SR-13.0.R4-vm.qcow2"
                },
                "name": "13.0.R4"
            },
            {
                "images": {
                    "hda_disk_image": "TiMOS-SR-12.0.R6-vm.qcow2"
                },
                "name": "12.0.R6"
            },
            {
                "images": {
                    "hda_disk_image": "TiMOS-SR-12.0.R18.qcow2"
                },
                "name": "12.0.R18"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "Trend Micro InterScan Messaging Security stops email threats in the cloud with global threat intelligence, protects your data with data loss prevention and encryption, and identifies targeted email attacks,ransomware, and APTs as part of the Trend Micro Network Defense Solution. The hybrid SaaS deployment combines the privacy and control of an on-premises virtual appliance with the proactive protection of a cloud-based pre-filter service. It\u2019s the enterprise-level protection you need with the highest spam and phishing detection rates\u2014consistently #1 in quarterly Opus One competitive tests since 2011.",
        "documentation_url": "https://success.trendmicro.com/product-support/interscan-messaging-security",
        "images": [
            {
                "direct_download_url": "http://files.trendmicro.com/products/imsva/9.1/IMSVA-9.1-1600-x86_64-r1.iso",
                "download_url": "http://downloadcenter.trendmicro.com/index.php?regs=NABU&clk=latest&clkval=4913&lang_loc=1",
                "filename": "IMSVA-9.1-1600-x86-64-r1.iso",
                "filesize": 797560832,
                "md5sum": "581278e8ddb25486539dfe3ad0b3ac94",
                "version": "9.1"
            },
            {
                "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty200G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty200G.qcow2",
                "filesize": 200192,
                "md5sum": "d1686d2f25695dee32eab9a6f4652c7c",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "IMS VA",
        "port_name_format": "eth{0}",
        "product_name": "IMS VA",
        "product_url": "http://www.trendmicro.com/enterprise/network-security/interscan-message-security/index.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default credentials: admin / imsva",
        "vendor_name": "Trend Micro Inc.",
        "vendor_url": "http://www.trendmicro.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "IMSVA-9.1-1600-x86-64-r1.iso",
                    "hda_disk_image": "empty200G.qcow2"
                },
                "name": "9.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Junos Space Network Management Platform works with Juniper's management applications to simplify and automate management of Juniper's switching, routing, and security devices. As part of a complete solution, the platform provides broad fault, configuration, accounting, performance, and security management (FCAPS) capability, same day support for new devices and Junos OS releases, a task-specific user interface, and northbound APIs for integration with existing network management systems (NMS) or operations/business support systems (OSS/BSS).\n\nThe platform helps network operators at enterprises and service providers scale operations, reduce complexity, and enable new applications and services to be brought to market quickly, through multilayered network abstractions, operator-centric automation schemes, and a simple point-and-click UI.",
        "documentation_url": "http://www.juniper.net/techpubs/",
        "images": [
            {
                "download_url": "https://www.juniper.net/support/downloads/?p=space#sw",
                "filename": "space-17.2R1.4.qcow2",
                "filesize": 5150474240,
                "md5sum": "4124fa756c3a78be0619e876b8ee687e",
                "version": "17.2R1.4"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Junos Space",
        "port_name_format": "em{0}",
        "product_name": "Junos Space",
        "product_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "options": "-smp 4 -nographic",
            "ram": 16384
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "juniper-vqfx.svg",
        "usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production deplyments.\nDefault credentials:\n- CLI: admin / abc123\n- WebUI: super / juniper123",
        "vendor_name": "Juniper",
        "vendor_url": "https://www.juniper.net/us/en/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "space-17.2R1.4.qcow2"
                },
                "name": "17.2R1.4"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco 3620 Router",
        "documentation_url": "http://www.cisco.com/c/en/us/support/index.html",
        "dynamips": {
            "chassis": "3620",
            "nvram": 256,
            "platform": "c3600",
            "ram": 192,
            "startup_config": "ios_base_startup-config.txt"
        },
        "images": [
            {
                "filename": "c3620-a3jk8s-mz.122-26c.image",
                "filesize": 38947996,
                "md5sum": "37b444b29191630e5b688f002de2171c",
                "version": "122-26c"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco 3620",
        "product_name": "3620",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "idlepc": "0x603a8bac",
                "images": {
                    "image": "c3620-a3jk8s-mz.122-26c.image"
                },
                "name": "122-26c"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "ipterm is a debian based networking toolbox.\nIt contains the following utilities: net-tools, iproute2, ping, traceroute, curl, host, iperf3, mtr, socat, ssh client, tcpdump and the multicast testing tools msend/mreceive.",
        "docker": {
            "adapters": 1,
            "image": "gns3/ipterm:latest"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "ipterm",
        "product_name": "ipterm",
        "registry_version": 3,
        "status": "stable",
        "symbol": "linux_guest.svg",
        "usage": "The /root directory is persistent.",
        "vendor_name": "ipterm",
        "vendor_url": "https://www.debian.org"
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Fortinet ADC appliances optimize the availability, user experience, and scalability of enterprise application delivery. They deliver fast, secure, and intelligent acceleration and distribution of even the most demanding enterprise applications.",
        "documentation_url": "http://docs.fortinet.com/fortiadc-d-series/admin-guides",
        "images": [
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2",
                "filesize": 30998528,
                "md5sum": "b7500835594e62d8acb1c6ec43d597c1",
                "version": "4.x.x"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0989-FORTINET.out.kvm-boot.qcow2",
                "filesize": 72810496,
                "md5sum": "c1926d5979ef24d9d14d3394c0bb832b",
                "version": "4.8.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0983-FORTINET.out.kvm-boot.qcow2",
                "filesize": 72876032,
                "md5sum": "d4cfc3b215780b2fb4c9d8f55208e8be",
                "version": "4.8.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0977-FORTINET.out.kvm-boot.qcow2",
                "filesize": 72876032,
                "md5sum": "285ca7a601a0d06bb893ef91ad7748fd",
                "version": "4.8.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0970-FORTINET.out.kvm-boot.qcow2",
                "filesize": 72351744,
                "md5sum": "8f604b2a89ac3d9cc3d2d79d85b2d7ff",
                "version": "4.8.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0937-FORTINET.out.kvm-boot.qcow2",
                "filesize": 72089600,
                "md5sum": "448f5906c42dd7e535c3acb2adab253c",
                "version": "4.8.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0858-FORTINET.out.kvm-boot.qcow2",
                "filesize": 63700992,
                "md5sum": "6d81b1b3df55174e4db8526d6cfd8b0e",
                "version": "4.7.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0849-FORTINET.out.kvm-boot.qcow2",
                "filesize": 64028672,
                "md5sum": "c85f49cd320fdca36e71c0d7cdc26f8c",
                "version": "4.7.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0844-FORTINET.out.kvm-boot.qcow2",
                "filesize": 63963136,
                "md5sum": "6f035cda6138af993153ef322231a201",
                "version": "4.7.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0832-FORTINET.out.kvm-boot.qcow2",
                "filesize": 67960832,
                "md5sum": "70577d11ae77ce765cae944f3a7c3941",
                "version": "4.7.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0828-FORTINET.out.kvm-boot.qcow2",
                "filesize": 67960832,
                "md5sum": "4a0bf9d4ad29628ca08a1638662a43a6",
                "version": "4.7.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0679-FORTINET.out.kvm-boot.qcow2",
                "filesize": 82903040,
                "md5sum": "31147f42b54ce8e9c953dea519a4b9a6",
                "version": "4.6.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0677-FORTINET.out.kvm-boot.qcow2",
                "filesize": 82837504,
                "md5sum": "2a9c32c7b32807f4dc384ed6e2082802",
                "version": "4.6.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0660-FORTINET.out.kvm-boot.qcow2",
                "filesize": 82509824,
                "md5sum": "50cc9bc44409180f7106e4201b2dae2a",
                "version": "4.6.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-V400-build0605-FORTINET.out.kvm-boot.qcow2",
                "filesize": 48168960,
                "md5sum": "d415bc621bf0abc2b5aa32c03390e11f",
                "version": "4.5.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-v400-build0597-FORTINET.out.kvm-boot.qcow2",
                "filesize": 66584576,
                "md5sum": "47a905193e8f9ddc25be71aeccccc7b9",
                "version": "4.5.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-v400-build0581-FORTINET.out.kvm-boot.qcow2",
                "filesize": 67305472,
                "md5sum": "bfc93d5881dda3f0a3123f54665bdcf0",
                "version": "4.5.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAD_KVM-v400-build0560-FORTINET.out.kvm-boot.qcow2",
                "filesize": 68026368,
                "md5sum": "7a71f52bde93c0000b047626731b7aef",
                "version": "4.5.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiADC",
        "port_name_format": "Port{port1}",
        "product_name": "FortiADC",
        "product_url": "https://www.fortinet.com/products-services/products/application-delivery-controllers/fortiadc.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 10,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "Default username is admin, no password is set. Silent boot, it might take a while.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0989-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.8.4"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0983-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.8.3"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0977-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.8.2"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0970-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.8.1"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0937-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.8.0"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0858-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.7.4"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0849-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.7.3"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0844-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.7.2"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0832-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.7.1"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0828-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.7.0"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0679-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.6.2"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0677-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.6.1"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0660-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.6.0"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-V400-build0605-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.5.3"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-v400-build0597-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.5.2"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-v400-build0581-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.5.1"
            },
            {
                "images": {
                    "hda_disk_image": "FAD_KVM-v400-build0560-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FAD_KVM-v400-FORTINET.out.kvm-data.qcow2"
                },
                "name": "4.5.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco 3725 Router",
        "documentation_url": "http://www.cisco.com/c/en/us/support/index.html",
        "dynamips": {
            "nvram": 256,
            "platform": "c3725",
            "ram": 128,
            "slot0": "GT96100-FE",
            "startup_config": "ios_base_startup-config.txt"
        },
        "images": [
            {
                "filename": "c3725-adventerprisek9-mz.124-15.T14.image",
                "filesize": 97859480,
                "md5sum": "64f8c427ed48fd21bd02cf1ff254c4eb",
                "version": "124-25.T14"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco 3725",
        "product_name": "3725",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "idlepc": "0x60c09aa0",
                "images": {
                    "image": "c3725-adventerprisek9-mz.124-15.T14.image"
                },
                "name": "124-25.T14"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "From the creators of BackTrack comes Kali Linux, the most advanced and versatile penetration testing platform  ever created. We have a set of amazing features lined up in our security distribution geared at streamlining the penetration testing experience.",
        "documentation_url": "https://www.kali.org/kali-linux-documentation/",
        "images": [
            {
                "direct_download_url": "http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso",
                "download_url": "http://cdimage.kali.org/kali-2017.3/",
                "filename": "kali-linux-2017.3-amd64.iso",
                "filesize": 2886402048,
                "md5sum": "b465580c897e94675ac1daf031fa66b9",
                "version": "2017.3"
            },
            {
                "direct_download_url": "http://cdimage.kali.org/kali-2017.2/kali-linux-2017.2-amd64.iso",
                "download_url": "http://cdimage.kali.org/kali-2017.2/",
                "filename": "kali-linux-2017.2-amd64.iso",
                "filesize": 3020619776,
                "md5sum": "541654f8f818450dc0db866a0a0f6eec",
                "version": "2017.2"
            },
            {
                "direct_download_url": "http://cdimage.kali.org/kali-2017.1/kali-linux-2017.1-amd64.iso",
                "download_url": "http://cdimage.kali.org/kali-2017.1/",
                "filename": "kali-linux-2017.1-amd64.iso",
                "filesize": 2794307584,
                "md5sum": "c8e742283929d7a12dbe7c58e398ff08",
                "version": "2017.1"
            },
            {
                "direct_download_url": "http://cdimage.kali.org/kali-2016.2/kali-linux-2016.2-amd64.iso",
                "download_url": "http://cdimage.kali.org/kali-2016.2/",
                "filename": "kali-linux-2016.2-amd64.iso",
                "filesize": 3076767744,
                "md5sum": "3d163746bc5148e61ad689d94bc263f9",
                "version": "2016.2"
            },
            {
                "direct_download_url": "http://cdimage.kali.org/kali-2016.1/kali-linux-2016.1-amd64.iso",
                "download_url": "http://cdimage.kali.org/kali-2016.1/",
                "filename": "kali-linux-2016.1-amd64.iso",
                "filesize": 2945482752,
                "md5sum": "2e1230dc14036935b3279dfe3e49ad39",
                "version": "2016.1"
            },
            {
                "direct_download_url": "http://images.kali.org/Kali-Linux-2.0.0-vm-amd64.7z",
                "download_url": "https://www.offensive-security.com/kali-linux-vmware-arm-image-download/",
                "filename": "kali-linux-2.0-amd64.iso",
                "filesize": 3320512512,
                "md5sum": "ef192433017c5d99a156eaef51fd389d",
                "version": "2.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Kali Linux",
        "product_name": "Kali Linux",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 8,
            "arch": "x86_64",
            "console_type": "vnc",
            "kvm": "require",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default password is toor",
        "vendor_name": "Kali Linux",
        "vendor_url": "https://www.kali.org/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "kali-linux-2017.3-amd64.iso"
                },
                "name": "2017.3"
            },
            {
                "images": {
                    "cdrom_image": "kali-linux-2017.2-amd64.iso"
                },
                "name": "2017.2"
            },
            {
                "images": {
                    "cdrom_image": "kali-linux-2017.1-amd64.iso"
                },
                "name": "2017.1"
            },
            {
                "images": {
                    "cdrom_image": "kali-linux-2016.2-amd64.iso"
                },
                "name": "2016.2"
            },
            {
                "images": {
                    "cdrom_image": "kali-linux-2016.1-amd64.iso"
                },
                "name": "2016.1"
            },
            {
                "images": {
                    "cdrom_image": "kali-linux-2.0-amd64.iso"
                },
                "name": "2.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "OpenWrt is a highly extensible GNU/Linux distribution for embedded devices (typically wireless routers). Unlike many other distributions for these routers, OpenWrt is built from the ground up to be a full-featured, easily modifiable operating system for your router. In practice, this means that you can have all the features you need with none of the bloat, powered by a Linux kernel that's more recent than most other distributions.\n\nThe realview platform is meant for use with QEMU for emulating an ARM system.",
        "documentation_url": "http://wiki.openwrt.org/doc/",
        "images": [
            {
                "direct_download_url": "http://downloads.openwrt.org/chaos_calmer/15.05.1/realview/generic/openwrt-15.05.1-realview-vmlinux-initramfs.elf",
                "download_url": "http://downloads.openwrt.org/chaos_calmer/15.05.1/realview/generic/",
                "filename": "openwrt-15.05.1-realview-vmlinux-initramfs.elf",
                "filesize": 2278696,
                "md5sum": "3660b9de654cf03f2a50997ae89c2daf",
                "version": "15.05.1"
            },
            {
                "direct_download_url": "http://downloads.openwrt.org/barrier_breaker/14.07/realview/generic/openwrt-realview-vmlinux-initramfs.elf",
                "download_url": "http://downloads.openwrt.org/barrier_breaker/14.07/realview/generic/",
                "filename": "openwrt-realview-vmlinux-initramfs-14.07.elf",
                "filesize": 2183520,
                "md5sum": "2411307d0794baa618537c5dfcb19575",
                "version": "14.07"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "OpenWrt Realview",
        "product_name": "OpenWrt",
        "product_url": "http://openwrt.org",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 2,
            "arch": "arm",
            "console_type": "telnet",
            "kvm": "allow",
            "options": "-M realview-eb-mpcore",
            "ram": 128
        },
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "OpenWrt",
        "vendor_url": "http://openwrt.org",
        "versions": [
            {
                "images": {
                    "kernel_image": "openwrt-15.05.1-realview-vmlinux-initramfs.elf"
                },
                "name": "Chaos Calmer 15.05.1"
            },
            {
                "images": {
                    "kernel_image": "openwrt-realview-vmlinux-initramfs-14.07.elf"
                },
                "name": "Barrier Breaker 14.07"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "IOS XRv supports the control plane features introduced in Cisco IOS XR.",
        "documentation_url": "http://www.cisco.com/c/en/us/td/docs/ios_xr_sw/ios_xrv/release/notes/xrv-rn.html",
        "first_port_name": "MgmtEth0/0/CPU0/0",
        "images": [
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "iosxrv-k9-demo-6.1.3.qcow2",
                "filesize": 428588544,
                "md5sum": "1693b5d22a398587dd0fed2877d8dfac",
                "version": "6.1.3"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "iosxrv-k9-demo-6.0.1.qcow2",
                "filesize": 908132352,
                "md5sum": "0831ecf43628eccb752ebb275de9a62a",
                "version": "6.0.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco IOS XRv",
        "port_name_format": "Gi0/0/0/{0}",
        "product_name": "IOS XRv",
        "product_url": "http://virl.cisco.com/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 9,
            "arch": "i386",
            "console_type": "telnet",
            "kvm": "require",
            "ram": 3072
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "You can set admin username and password on first boot. Don't forget about the two-staged configuration, you have to commit your changes.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "iosxrv-k9-demo-6.1.3.qcow2"
                },
                "name": "6.1.3"
            },
            {
                "images": {
                    "hda_disk_image": "iosxrv-k9-demo-6.0.1.qcow2"
                },
                "name": "6.0.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "PacketFence is a fully supported, trusted, Free and Open Source network access control (NAC) solution. Boasting an impressive feature set including a captive-portal for registration and remediation, centralized wired and wireless management, 802.1X support, layer-2 isolation of problematic devices, integration with the Snort IDS and the Nessus vulnerability scanner; PacketFence can be used to effectively secure networks - from small to very large heterogeneous networks.",
        "documentation_url": "https://packetfence.org/support/index.html#/documentation",
        "images": [
            {
                "compression": "bzip2",
                "direct_download_url": "https://sourceforge.net/projects/packetfence/files/PacketFence%20ZEN/7.4.0/PacketFenceZEN_USB-7.4.0.tar.bz2/download",
                "download_url": "https://packetfence.org/download.html#/zen",
                "filename": "PacketFenceZEN_USB-7.4.0.img",
                "filesize": 3221225472,
                "md5sum": "83951211540f16dd5813c26955c52429",
                "version": "7.4.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/packetfence/files/PacketFence%20ZEN/7.3.0/PacketFenceZEN_USB-7.3.0.tar.bz2/download",
                "download_url": "https://packetfence.org/download.html#/zen",
                "filename": "PacketFenceZEN_USB-7.3.0.img",
                "filesize": 3221225472,
                "md5sum": "dfeb8a97bba2e475ce418b02327c0ea1",
                "version": "7.3.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "https://sourceforge.net/projects/packetfence/files/PacketFence%20ZEN/7.1.0/PacketFenceZEN_USB-7.1.0.tar.bz2/download",
                "download_url": "https://packetfence.org/download.html#/zen",
                "filename": "PacketFenceZEN_USB-7.1.0.img",
                "filesize": 3221225472,
                "md5sum": "3811099f4e1eba164245e94cfa09d26f",
                "version": "7.1.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "https://sourceforge.net/projects/packetfence/files/PacketFence%20ZEN/7.0.0/PacketFenceZEN_USB-7.0.0.tar.bz2/download",
                "download_url": "https://packetfence.org/download.html#/zen",
                "filename": "PacketFenceZEN_USB-7.0.0.img",
                "filesize": 3221225472,
                "md5sum": "f5d7f81b279ad286e09f3ddf29dd06c3",
                "version": "7.0.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/packetfence/files/PacketFence%20ZEN/6.5.1/PacketFenceZEN_USB-6.5.1.tar.bz2/download",
                "download_url": "https://packetfence.org/download.html#/zen",
                "filename": "PacketFenceZEN_USB-6.5.1.img",
                "filesize": 3221225472,
                "md5sum": "937c02640bd487889b7071e8f094a62a",
                "version": "6.5.1"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/packetfence/files/PacketFence%20ZEN/6.5.0/PacketFenceZEN_USB-6.5.0.tar.bz2/download",
                "download_url": "https://packetfence.org/download.html#/zen",
                "filename": "PacketFenceZEN_USB-6.5.0.img",
                "filesize": 3221225472,
                "md5sum": "5d5ff015f115e9dbcfd355f1bb22f5d9",
                "version": "6.5.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "https://sourceforge.net/projects/packetfence/files/PacketFence%20ZEN/6.4.0/PacketFenceZEN_USB-6.4.0.tar.bz2/download",
                "download_url": "https://packetfence.org/download.html#/zen",
                "filename": "PacketFenceZEN_USB-6.4.0.img",
                "filesize": 3221225472,
                "md5sum": "7f2bea58421d094152ea71f49cc3084a",
                "version": "6.4.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "https://sourceforge.net/projects/packetfence/files/PacketFence%20ZEN/6.3.0/PacketFenceZEN_USB-6.3.0.tar.bz2/download",
                "download_url": "https://packetfence.org/download.html#/zen",
                "filename": "PacketFenceZEN_USB-6.3.0.img",
                "filesize": 3221225472,
                "md5sum": "94e19349faedf292743fdc0ab48f8466",
                "version": "6.3.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/packetfence/files/PacketFence%20ZEN/6.2.1/PacketFenceZEN_USB-6.2.1.tar.bz2/download",
                "download_url": "https://packetfence.org/download.html#/zen",
                "filename": "PacketFenceZEN_USB-6.2.1.img",
                "filesize": 3221225472,
                "md5sum": "f212be7c8621b90d973f500f00ef1277",
                "version": "6.2.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "PacketFence ZEN",
        "product_name": "PacketFence ZEN",
        "product_url": "https://packetfence.org/about.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "x86_64",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 8192
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Boot the live CD",
        "vendor_name": "Inverse inc.",
        "vendor_url": "https://packetfence.org/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "PacketFenceZEN_USB-7.4.0.img"
                },
                "name": "7.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "PacketFenceZEN_USB-7.3.0.img"
                },
                "name": "7.3.0"
            },
            {
                "images": {
                    "hda_disk_image": "PacketFenceZEN_USB-7.1.0.img"
                },
                "name": "7.1.0"
            },
            {
                "images": {
                    "hda_disk_image": "PacketFenceZEN_USB-7.0.0.img"
                },
                "name": "7.0.0"
            },
            {
                "images": {
                    "hda_disk_image": "PacketFenceZEN_USB-6.5.1.img"
                },
                "name": "6.5.0"
            },
            {
                "images": {
                    "hda_disk_image": "PacketFenceZEN_USB-6.5.0.img"
                },
                "name": "6.5.0"
            },
            {
                "images": {
                    "hda_disk_image": "PacketFenceZEN_USB-6.4.0.img"
                },
                "name": "6.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "PacketFenceZEN_USB-6.3.0.img"
                },
                "name": "6.3.0"
            },
            {
                "images": {
                    "hda_disk_image": "PacketFenceZEN_USB-6.2.1.img"
                },
                "name": "6.2.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco 3745 Multiservice Access Router",
        "documentation_url": "http://www.cisco.com/c/en/us/support/routers/3745-multiservice-access-router/model.html",
        "dynamips": {
            "chassis": "",
            "nvram": 256,
            "platform": "c3745",
            "ram": 256,
            "slot0": "GT96100-FE",
            "slot1": "NM-1FE-TX",
            "slot2": "NM-4T",
            "slot3": "",
            "slot4": "",
            "startup_config": "ios_base_startup-config.txt",
            "wic0": "WIC-1T",
            "wic1": "WIC-1T",
            "wic2": "WIC-1T"
        },
        "images": [
            {
                "filename": "c3745-adventerprisek9-mz.124-25d.image",
                "filesize": 82053028,
                "md5sum": "ddbaf74274822b50fa9670e10c75b08f",
                "version": "124-25d"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco 3745",
        "product_name": "3745",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "idlepc": "0x60aa1da0",
                "images": {
                    "image": "c3745-adventerprisek9-mz.124-25d.image"
                },
                "name": "124-25d"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "DEFT (acronym for Digital Evidence & Forensics Toolkit) is a distribution made for Computer Forensics, with the purpose of running live on systems without tampering or corrupting devices (hard disks, pendrives, etc\u2026) connected to the PC where the boot process takes place.\nThe DEFT system is based on GNU Linux, it can run live (via DVDROM or USB pendrive), installed or run as a Virtual Appliance on VMware or Virtualbox. DEFT employs LXDE as desktop environment and WINE for executing Windows tools under Linux. It features a comfortable mount manager for device management.\nDEFT is paired with DART (acronym for Digital Advanced Response Toolkit), a Forensics System which can be run on Windows and contains the best tools for Forensics and Incident Response. DART features a GUI with logging and integrity check for the instruments here contained.\nBesides all this, the DEFT staff is devoted to implementing and developing applications which are released to Law Enforcement Officers, such as Autopsy 3 for Linux.",
        "documentation_url": "http://www.deftlinux.net/deft-manual/",
        "images": [
            {
                "direct_download_url": "http://na.mirror.garr.it/mirrors/deft/deft-8.2.iso",
                "download_url": "http://www.deftlinux.net/download/",
                "filename": "deft-8.2.iso",
                "filesize": 3317876736,
                "md5sum": "8a70f61507251355153cbe94809323dd",
                "version": "8.2"
            },
            {
                "direct_download_url": "http://na.mirror.garr.it/mirrors/deft/deft-8.1.iso",
                "download_url": "http://www.deftlinux.net/download/",
                "filename": "deft-8.1.iso",
                "filesize": 3267639296,
                "md5sum": "76bad80c7ea1552c9bd97bcca5de8d50",
                "version": "8.1"
            },
            {
                "direct_download_url": "http://na.mirror.garr.it/mirrors/deft/deft-8.0.iso",
                "download_url": "http://www.deftlinux.net/download/",
                "filename": "deft-8.0.iso",
                "filesize": 2898477056,
                "md5sum": "fcedb54176de7a3018adfa7571a3a626",
                "version": "8.0"
            },
            {
                "direct_download_url": "http://na.mirror.garr.it/mirrors/deft/deft-7.2.iso",
                "download_url": "http://www.deftlinux.net/download/",
                "filename": "deft-7.2.iso",
                "filesize": 2695090176,
                "md5sum": "1ea8ec6a2d333d0f0a64656bdf595a28",
                "version": "7.2"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "DEFT Linux",
        "product_name": "DEFT Linux",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "x86_64",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "You can run the LiveCD or install to the local disk. Default root password: deft",
        "vendor_name": "DEFT Association",
        "vendor_url": "http://www.deftlinux.net/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "deft-8.2.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "8.2"
            },
            {
                "images": {
                    "cdrom_image": "deft-8.1.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "8.1"
            },
            {
                "images": {
                    "cdrom_image": "deft-8.0.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "8.0"
            },
            {
                "images": {
                    "cdrom_image": "deft-7.2.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "7.2"
            }
        ]
    },
    {
        "availability": "free",
        "builtin": true,
        "category": "guest",
        "description": "openSUSE is a free and Linux-based operating system for PC, Laptop or Server. The openSUSE project is a community program sponsored by Novell. It is a general purpose operating system built on top of the Linux kernel, developed by the community-supported openSUSE Project and sponsored by SUSE and a number of other companies.",
        "documentation_url": "https://en.opensuse.org/Main_Page",
        "images": [
            {
                "download_url": "http://www.osboxes.org/opensuse/",
                "filename": "openSUSE_42.3-Leap-VM-64bit.vmdk",
                "filesize": 5891293184,
                "md5sum": "ab777cf90557460ff35aedfbf2befc5d",
                "version": "Leap 42.3"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "openSUSE",
        "port_name_format": "eth{0}",
        "product_name": "openSUSE",
        "product_url": "https://www.opensuse.org/#Leap",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "sata",
            "kvm": "require",
            "options": "-vga virtio",
            "ram": 1024
        },
        "registry_version": 4,
        "status": "stable",
        "usage": "Username: osboxes\nPassword: osboxes.org\n\nroot password: osboxes.org",
        "vendor_name": "SUSE LLC.",
        "vendor_url": "https://www.opensuse.org/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "openSUSE_42.3-Leap-VM-64bit.vmdk"
                },
                "name": "Leap 42.3"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "This container provides the popular tools used for network automation: Netmiko, NAPALM, Pyntc, and Ansible.",
        "docker": {
            "adapters": 1,
            "console_type": "telnet",
            "image": "gns3/network_automation:latest"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Network Automation",
        "product_name": "Network Automation",
        "registry_version": 3,
        "status": "stable",
        "symbol": "linux_guest.svg",
        "vendor_name": "GNS3",
        "vendor_url": "http://www.gns3.com"
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "The Adaptive Security Virtual Appliance is a virtualized network security solution based on the market-leading Cisco ASA 5500-X Series firewalls. It supports both traditional and next-generation software-defined network (SDN) and Cisco Application Centric Infrastructure (ACI) environments to provide policy enforcement and threat inspection across heterogeneous multisite environments.",
        "documentation_url": "http://www.cisco.com/c/en/us/support/security/virtual-adaptive-security-appliance-firewall/products-installation-guides-list.html",
        "first_port_name": "Management0/0",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/type.html?mdfid=286119613&flowid=50242",
                "filename": "asav981-5.qcow2",
                "filesize": 193069056,
                "md5sum": "77b3ca856dd2df476bcda34e218425ca",
                "version": "9.8.1-5"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286119613&flowid=50242&softwareid=280775065&release=9.8.1&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "asav981.qcow2",
                "filesize": 193069056,
                "md5sum": "8d3612fe22b1a7dec118010e17e29411",
                "version": "9.8.1"
            },
            {
                "download_url": "https://software.cisco.com/download/type.html?mdfid=286119613&flowid=50242",
                "filename": "asav971-8.qcow2",
                "filesize": 197066752,
                "md5sum": "b2486c8d0f6fda149ce877208b816818",
                "version": "9.7.1-8"
            },
            {
                "download_url": "https://software.cisco.com/download/type.html?mdfid=286119613&flowid=50242",
                "filename": "asav971-4.qcow2",
                "filesize": 197066752,
                "md5sum": "f9a671d1ceaf983f7241f19df15e787f",
                "version": "9.7.1-4"
            },
            {
                "download_url": "https://software.cisco.com/download/type.html?mdfid=286119613&flowid=50242",
                "filename": "asav971-2.qcow2",
                "filesize": 199753728,
                "md5sum": "ff036b23f5dbb2bcf1e6530476cc1989",
                "version": "9.7.1-2"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "asav971.qcow2",
                "filesize": 198443008,
                "md5sum": "07eef9b8ca489a8ad37448fadf45a673",
                "version": "9.7.1"
            },
            {
                "download_url": "https://software.cisco.com/download/type.html?mdfid=286119613&flowid=50242",
                "filename": "asav963-8.qcow2",
                "filesize": 168427520,
                "md5sum": "8b8a45b94a302dae8076e7ec90c7d4c2",
                "version": "9.6.3-8"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286119613&flowid=50242&softwareid=280775065&release=9.6.3&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "asav963-1.qcow2",
                "filesize": 172294144,
                "md5sum": "d6a5c8d7bff5e69c5987ca664a52dbd8",
                "version": "9.6.3-1"
            },
            {
                "download_url": "https://software.cisco.com/download/type.html?mdfid=286119613&flowid=50242",
                "filename": "asav962-13.qcow2",
                "filesize": 177668096,
                "md5sum": "2a6bec030fcaef31b611051180cc142c",
                "version": "9.6.2-13"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "asav962.qcow2",
                "filesize": 177274880,
                "md5sum": "dfb8110ce38da4588e994865d5a9656a",
                "version": "9.6.2"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco ASAv",
        "port_name_format": "Gi0/{0}",
        "product_name": "ASAv",
        "product_url": "http://www.cisco.com/c/en/us/products/security/virtual-adaptive-security-appliance-firewall/index.html",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 8,
            "arch": "x86_64",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": ":/symbols/asa.svg",
        "usage": "There is no default password and enable password. A default configuration is present. ASAv goes through a double-boot before becoming active. This is normal and expected.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "asav981-5.qcow2"
                },
                "name": "9.8.1-5"
            },
            {
                "images": {
                    "hda_disk_image": "asav981.qcow2"
                },
                "name": "9.8.1"
            },
            {
                "images": {
                    "hda_disk_image": "asav971-8.qcow2"
                },
                "name": "9.7.1-8"
            },
            {
                "images": {
                    "hda_disk_image": "asav971-4.qcow2"
                },
                "name": "9.7.1-4"
            },
            {
                "images": {
                    "hda_disk_image": "asav971-2.qcow2"
                },
                "name": "9.7.1-2"
            },
            {
                "images": {
                    "hda_disk_image": "asav971.qcow2"
                },
                "name": "9.7.1"
            },
            {
                "images": {
                    "hda_disk_image": "asav963-8.qcow2"
                },
                "name": "9.6.3-8"
            },
            {
                "images": {
                    "hda_disk_image": "asav963-1.qcow2"
                },
                "name": "9.6.3-1"
            },
            {
                "images": {
                    "hda_disk_image": "asav962-13.qcow2"
                },
                "name": "9.6.2-13"
            },
            {
                "images": {
                    "hda_disk_image": "asav962.qcow2"
                },
                "name": "9.6.2"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Core Linux is a smaller variant of Tiny Core without a graphical desktop.\n\nIt's provide a complete Linux system in few MB.",
        "documentation_url": "http://wiki.tinycorelinux.net/",
        "images": [
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-tinycore-linux-6.4-2.img",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "linux-tinycore-6.4-2.img",
                "filesize": 36503552,
                "md5sum": "dcbb5318c3e18ab085088d4474d8de85",
                "version": "6.4"
            },
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-tinycore-linux-6.4.img",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "linux-tinycore-6.4.img",
                "filesize": 22544384,
                "md5sum": "e3de478780c0acb76ef92f872fe734c4",
                "version": "6.4"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Tiny Core Linux",
        "product_name": "Tiny Core Linux",
        "product_url": "http://distro.ibiblio.org/tinycorelinux",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "i386",
            "console_type": "vnc",
            "kvm": "allow",
            "options": "-vga std -usbdevice tablet",
            "ram": 96
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "linux_guest.svg",
        "usage": "Login is gns3/gns3. sudo works without password",
        "vendor_name": "Team Tiny Core",
        "vendor_url": "http://distro.ibiblio.org/tinycorelinux",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "linux-tinycore-6.4-2.img"
                },
                "name": "6.4~2"
            },
            {
                "images": {
                    "hda_disk_image": "linux-tinycore-6.4.img"
                },
                "name": "6.4~1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Ubuntu is a Debian-based Linux operating system, with Unity as its default desktop environment. It is based on free software and named after the Southern African philosophy of ubuntu (literally, \"human-ness\"), which often is translated as \"humanity towards others\" or \"the belief in a universal bond of sharing that connects all humanity\".",
        "docker": {
            "adapters": 1,
            "console_type": "telnet",
            "image": "gns3/ubuntu:xenial"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Ubuntu Docker Guest",
        "product_name": "Ubuntu",
        "registry_version": 3,
        "status": "stable",
        "symbol": "linux_guest.svg",
        "vendor_name": "Canonical",
        "vendor_url": "http://www.ubuntu.com"
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license.  It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag).  In addition, it is designed to support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.",
        "docker": {
            "adapters": 16,
            "image": "gns3/openvswitch:latest"
        },
        "documentation_url": "http://openvswitch.org/support/",
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Open vSwitch",
        "product_name": "Open vSwitch",
        "product_url": "http://openvswitch.org/",
        "registry_version": 3,
        "status": "stable",
        "usage": "By default all interfaces are connected to the br0",
        "vendor_name": "Open vSwitch",
        "vendor_url": "http://openvswitch.org/"
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "CoreOS is designed for security, consistency, and reliability. Instead of installing packages via yum or apt, CoreOS uses Linux containers to manage your services at a higher level of abstraction. A single service's code and all dependencies are packaged within a container that can be run on one or many CoreOS machines.",
        "documentation_url": "https://coreos.com/docs/",
        "images": [
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1632.2.1/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1632.2.1/",
                "filename": "coreos_production_qemu_image.1632.2.1.img",
                "filesize": 885719040,
                "md5sum": "facd05ca85eb87e2dc6aefd6779f6806",
                "version": "1632.2.1"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1576.4.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1576.4.0/",
                "filename": "coreos_production_qemu_image.1576.4.0.img",
                "filesize": 849739776,
                "md5sum": "7d3c647807afe1f18fd0c76730e612b4",
                "version": "1576.4.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1520.8.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1520.8.0/",
                "filename": "coreos_production_qemu_image.1520.8.0.img",
                "filesize": 842661888,
                "md5sum": "a69fb2cd3ae475f9afbc268f7d391e83",
                "version": "1520.8.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1465.7.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1465.7.0/",
                "filename": "coreos_production_qemu_image.1465.7.0.img",
                "filesize": 796590080,
                "md5sum": "1db77d47e76d3d9082846584e0f4b4bc",
                "version": "1465.7.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1409.7.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1409.7.0/",
                "filename": "coreos_production_qemu_image.1409.7.0.img",
                "filesize": 812187648,
                "md5sum": "b8db4a07bac71468ed47bd09bedc1bdf",
                "version": "1409.7.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1353.8.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1353.8.0/",
                "filename": "coreos_production_qemu_image.1353.8.0.img",
                "filesize": 795934720,
                "md5sum": "f84bf924d7b30190539a14e14d94d4f8",
                "version": "1353.8.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1353.7.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1353.7.0/",
                "filename": "coreos_production_qemu_image.1353.7.0.img",
                "filesize": 796852224,
                "md5sum": "2d4ecc377b41ee5b1ffd90090548ebc0",
                "version": "1353.7.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1235.9.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1235.9.0/",
                "filename": "coreos_production_qemu_image.1235.9.0.img",
                "filesize": 795869184,
                "md5sum": "77a256ceaa0da6960391c03ebfe5388c",
                "version": "1235.9.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1235.8.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1235.8.0/",
                "filename": "coreos_production_qemu_image.1235.8.0.img",
                "filesize": 785252352,
                "md5sum": "0eec78690fd9f6d3b9e8d8ff41bc10b5",
                "version": "1235.8.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1235.6.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1235.6.0/",
                "filename": "coreos_production_qemu_image.1235.6.0.img",
                "filesize": 784990208,
                "md5sum": "2ff81c223be4bfa40c9ef765bb0d7f26",
                "version": "1235.6.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1235.5.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1235.5.0/",
                "filename": "coreos_production_qemu_image.1235.5.0.img",
                "filesize": 792592384,
                "md5sum": "11aa05a27654b66a4e6dfb1e9f1c7ff9",
                "version": "1235.5.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1235.4.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1235.4.0/",
                "filename": "coreos_production_qemu_image.1235.4.0.img",
                "filesize": 787415040,
                "md5sum": "c59930b3b1ad0716c91a62ac56234d97",
                "version": "1235.4.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1185.5.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1185.5.0/",
                "filename": "coreos_production_qemu_image.1185.5.0.img",
                "filesize": 754843648,
                "md5sum": "97b6eaa9857c68c67e56d7b742d43f5e",
                "version": "1185.5.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1185.3.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/1185.3.0/",
                "filename": "coreos_production_qemu_image.1185.3.0.img",
                "filesize": 753926144,
                "md5sum": "a1b6b69e5a58a1900b145b024340eff0",
                "version": "1185.3.0"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://stable.release.core-os.net/amd64-usr/835.9.0/coreos_production_qemu_image.img.bz2",
                "download_url": "http://stable.release.core-os.net/amd64-usr/835.9.0/",
                "filename": "coreos_production_qemu_image.835.9.img",
                "filesize": 635633664,
                "md5sum": "768a5df35784a014ba06609da88f5158",
                "version": "835.9.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "CoreOS",
        "product_name": "CoreOS",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 1,
            "arch": "x86_64",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdd_disk_interface": "ide",
            "kvm": "allow",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "CoreOS, Inc",
        "vendor_url": "https://coreos.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1576.4.0.img"
                },
                "name": "1632.2.1"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1576.4.0.img"
                },
                "name": "1576.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1520.8.0.img"
                },
                "name": "1520.8.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1465.7.0.img"
                },
                "name": "1465.7.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1409.7.0.img"
                },
                "name": "1409.7.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1353.8.0.img"
                },
                "name": "1353.8.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1353.7.0.img"
                },
                "name": "1353.7.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1235.9.0.img"
                },
                "name": "1235.9.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1235.8.0.img"
                },
                "name": "1235.8.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1235.6.0.img"
                },
                "name": "1235.6.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1235.5.0.img"
                },
                "name": "1235.5.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1235.4.0.img"
                },
                "name": "1235.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1185.5.0.img"
                },
                "name": "1185.5.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.1185.3.0.img"
                },
                "name": "1185.3.0"
            },
            {
                "images": {
                    "hda_disk_image": "coreos_production_qemu_image.835.9.img"
                },
                "name": "835.9.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "Cisco Virtual IOS L2 allows user to run a IOS switching image on a standard computer.",
        "images": [
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "vios_l2-adventerprisek9-m.03.2017.qcow2",
                "filesize": 41157632,
                "md5sum": "8f14b50083a14688dec2fc791706bb3e",
                "version": "15.2(20170321:233949)"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "vios_l2-adventerprisek9-m.vmdk.SSA.152-4.0.55.E",
                "filesize": 96862208,
                "md5sum": "1a3a21f5697cae64bb930895b986d71e",
                "version": "15.2.4055"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco IOSvL2",
        "port_name_format": "Gi{1}/{0}",
        "port_segment_size": 4,
        "product_name": "IOSvL2",
        "product_url": "http://virl.cisco.com/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 16,
            "arch": "x86_64",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 768
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "There is no default password and enable password. There is no default configuration present.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "vios_l2-adventerprisek9-m.03.2017.qcow2"
                },
                "name": "15.2(20170321:233949)"
            },
            {
                "images": {
                    "hda_disk_image": "vios_l2-adventerprisek9-m.vmdk.SSA.152-4.0.55.E"
                },
                "name": "15.2.4055"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "The vMX is a full-featured, carrier-grade virtual MX Series 3D Universal Edge Router that extends 15+ years of Juniper Networks edge routing expertise to the virtual realm. This appliance is for the Virtual Control Plane (vCP) VM and is meant to be paired with the Virtual Forwarding Plane (vFP) VM.",
        "documentation_url": "http://www.juniper.net/techpubs/",
        "first_port_name": "fxp0",
        "images": [
            {
                "filename": "vcp_17.1R1.8-disk1.vmdk",
                "filesize": 1065513984,
                "md5sum": "2dba6dff363c0619903f85c3dedce8d8",
                "version": "17.1R1.8-ESXi"
            },
            {
                "filename": "vcp_17.1R1.8-disk2.vmdk",
                "filesize": 5928448,
                "md5sum": "df7016f8b0fd456044425fa92566c129",
                "version": "17.1R1.8-ESXi"
            },
            {
                "filename": "vcp_17.1R1.8-disk3.vmdk",
                "filesize": 71680,
                "md5sum": "e9460158e6e27f7885981ab562e60944",
                "version": "17.1R1.8-ESXi"
            },
            {
                "filename": "junos-vmx-x86-64-17.1R1.8.qcow2",
                "filesize": 1192296448,
                "md5sum": "4434e70fedfec2ef205412236ae934a4",
                "version": "17.1R1.8-KVM"
            },
            {
                "filename": "vmxhdd-17.1R1.img",
                "filesize": 108986368,
                "md5sum": "3634fa16219852d0dba46b2fb77d5969",
                "version": "17.1R1.8-KVM"
            },
            {
                "filename": "metadata-usb-re-17.1R1.img",
                "filesize": 16777216,
                "md5sum": "e911911dc77e7fef1375e66ae98e41b8",
                "version": "17.1R1.8-KVM"
            },
            {
                "filename": "vcp_16.2R1.6-disk1.vmdk",
                "filesize": 1093272576,
                "md5sum": "6407f6b448de3b45b86fccb4d586a977",
                "version": "16.2R1.6-ESXi"
            },
            {
                "filename": "vcp_16.2R1.6-disk2.vmdk",
                "filesize": 5928960,
                "md5sum": "73db51629c009466d39f5d7fdf736224",
                "version": "16.2R1.6-ESXi"
            },
            {
                "filename": "vcp_16.2R1.6-disk3.vmdk",
                "filesize": 71680,
                "md5sum": "6df61c10f25ea6279562e5a13342100d",
                "version": "16.2R1.6-ESXi"
            },
            {
                "filename": "junos-vmx-x86-64-16.2R1.6.qcow2",
                "filesize": 1217462272,
                "md5sum": "61497595fb62a9d9805724a3e0a56fa0",
                "version": "16.2R1.6-KVM"
            },
            {
                "filename": "vmxhdd-16.2R1.img",
                "filesize": 108986368,
                "md5sum": "ce75a16cf130d8744652c8f23d1d13ef",
                "version": "16.2R1.6-KVM"
            },
            {
                "filename": "metadata-usb-re-16.2R1.img",
                "filesize": 16777216,
                "md5sum": "dded4a98c18ecc79daaa1d11dd0cfb2f",
                "version": "16.2R1.6-KVM"
            },
            {
                "filename": "vcp_16.1R4.7-disk1.vmdk",
                "filesize": 987702272,
                "md5sum": "e438f48a34d6b8047e36994fb323a97b",
                "version": "16.1R4.7-ESXi"
            },
            {
                "filename": "vcp_16.1R4.7-disk2.vmdk",
                "filesize": 5929472,
                "md5sum": "fb30d5afd182a03f36daaaf985e0d1ef",
                "version": "16.1R4.7-ESXi"
            },
            {
                "filename": "vcp_16.1R4.7-disk3.vmdk",
                "filesize": 71680,
                "md5sum": "c185a44561890a4b6e84cea6b86ad92a",
                "version": "16.1R4.7-ESXi"
            },
            {
                "filename": "junos-vmx-x86-64-16.1R4.7.qcow2",
                "filesize": 1115815936,
                "md5sum": "020db6733c158bd871bf28dcd7d039e9",
                "version": "16.1R4.7-KVM"
            },
            {
                "filename": "vmxhdd-16.1R4.img",
                "filesize": 108986368,
                "md5sum": "97b86d9d69f9615fb97d50a8d4aecd97",
                "version": "16.1R4.7-KVM"
            },
            {
                "filename": "metadata-usb-re-16.1R4.img",
                "filesize": 16777216,
                "md5sum": "fb200eec654e14201bfa0720b39a64f0",
                "version": "16.1R4.7-KVM"
            },
            {
                "filename": "vcp_16.1R3.10-disk1.vmdk",
                "filesize": 977419776,
                "md5sum": "532ab7d63c1873e6e6e9b9b057eb83ec",
                "version": "16.1R3.10-ESXi"
            },
            {
                "filename": "vcp_16.1R3.10-disk2.vmdk",
                "filesize": 5928448,
                "md5sum": "c563254a38c0d83c4bb9a866cae661f0",
                "version": "16.1R3.10-ESXi"
            },
            {
                "filename": "vcp_16.1R3.10-disk3.vmdk",
                "filesize": 71680,
                "md5sum": "9c8f3a8f26ff418eb6a5acd4803a3ca2",
                "version": "16.1R3.10-ESXi"
            },
            {
                "filename": "junos-vmx-x86-64-16.1R3.10.qcow2",
                "filesize": 1105526784,
                "md5sum": "f677c8235f579c54ee746daade5ee443",
                "version": "16.1R3.10-KVM"
            },
            {
                "filename": "vmxhdd-16.1R3.img",
                "filesize": 108986368,
                "md5sum": "28626ce47bea74b7d92bb4e28fa85c93",
                "version": "16.1R3.10-KVM"
            },
            {
                "filename": "metadata-usb-re-16.1R3.img",
                "filesize": 16777216,
                "md5sum": "b187253fa654a30a7dd0b331e2c6e6a4",
                "version": "16.1R3.10-KVM"
            },
            {
                "filename": "vcp_16.1R2.11-disk1.vmdk",
                "filesize": 970741248,
                "md5sum": "20945c0114fa4f88cdbedd0551f62d8f",
                "version": "16.1R2.11-ESXi"
            },
            {
                "filename": "vcp_16.1R2.11-disk2.vmdk",
                "filesize": 5930496,
                "md5sum": "904acd14a9eef0bdb60f18db63b8a653",
                "version": "16.1R2.11-ESXi"
            },
            {
                "filename": "vcp_16.1R2.11-disk3.vmdk",
                "filesize": 71680,
                "md5sum": "f6f6c24c0f991faf93c45f1fbc2ed0ae",
                "version": "16.1R2.11-ESXi"
            },
            {
                "filename": "junos-vmx-x86-64-16.1R2.11.qcow2",
                "filesize": 1194065920,
                "md5sum": "da443543eee6d7305a6851d38d0613ea",
                "version": "16.1R2.11-KVM"
            },
            {
                "filename": "vmxhdd-16.1R2.img",
                "filesize": 108986368,
                "md5sum": "962c04d00d2b3272f40f3571d1305d6d",
                "version": "16.1R2.11-KVM"
            },
            {
                "filename": "metadata-usb-re-16.1R2.img",
                "filesize": 16777216,
                "md5sum": "10f219a0b5d23553dbbf3a7ec1358a68",
                "version": "16.1R2.11-KVM"
            },
            {
                "filename": "vcp_16.1R1.7-disk1.vmdk",
                "filesize": 1067432448,
                "md5sum": "0a97d16b7014be8e3ae270cc2028d10d",
                "version": "16.1R1.7-ESXi"
            },
            {
                "filename": "vcp_16.1R1.7-disk2.vmdk",
                "filesize": 5930496,
                "md5sum": "e96972233a144b93aa9bcc321b2a215b",
                "version": "16.1R1.7-ESXi"
            },
            {
                "filename": "vcp_16.1R1.7-disk3.vmdk",
                "filesize": 71680,
                "md5sum": "815af90310e6681204ba511d9659d2ad",
                "version": "16.1R1.7-ESXi"
            },
            {
                "filename": "junos-vmx-x86-64-16.1R1.7.qcow2",
                "filesize": 1194065920,
                "md5sum": "f7b53cc04672a1abf7c0236a772cea51",
                "version": "16.1R1.7-KVM"
            },
            {
                "filename": "vmxhdd-16.1R1.img",
                "filesize": 108986368,
                "md5sum": "c239c4de2a4cf902747c8fc300f08493",
                "version": "16.1R1.7-KVM"
            },
            {
                "filename": "metadata-usb-re-16.1R1.img",
                "filesize": 16777216,
                "md5sum": "47e578bd41890272dcd5aa1e436068d4",
                "version": "16.1R1.7-KVM"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "jinstall64-vmx-15.1F4.15-domestic.img",
                "filesize": 1003945984,
                "md5sum": "e6b2e1ad9cba5220aa764ae4dd008952",
                "version": "15.1F4.15"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vmxhdd-15.1.img",
                "filesize": 108986368,
                "md5sum": "c3c7090ed3b1799e3de7579ac887e39d",
                "version": "15.1F4.15"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "metadata-usb-15.1.img",
                "filesize": 16777216,
                "md5sum": "af48f7e03f94ffcfeecd15a59a4f1567",
                "version": "15.1F4.15"
            }
        ],
        "maintainer": "none",
        "maintainer_email": "developers@gns3.net",
        "name": "Juniper vMX vCP",
        "port_name_format": "em{port1}",
        "product_name": "Juniper vMX vCP",
        "product_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 2,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "options": "-nographic -enable-kvm",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": "juniper-vmx.svg",
        "usage": "Initial username is root, no password.\n\nUSAGE INSTRUCTIONS\n\nConnect the first interface (fxp0) to your admin VLAN. Connect the second interface (em1) directly to the second interface (eth1) of the vFP.",
        "vendor_name": "Juniper",
        "vendor_url": "https://www.juniper.net/us/en/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "vcp_17.1R1.8-disk1.vmdk",
                    "hdb_disk_image": "vcp_17.1R1.8-disk2.vmdk",
                    "hdc_disk_image": "vcp_17.1R1.8-disk3.vmdk"
                },
                "name": "17.1R1.8-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vmx-x86-64-17.1R1.8.qcow2",
                    "hdb_disk_image": "vmxhdd-17.1R1.img",
                    "hdc_disk_image": "metadata-usb-re-17.1R1.img"
                },
                "name": "17.1R1.8-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vcp_16.2R1.6-disk1.vmdk",
                    "hdb_disk_image": "vcp_16.2R1.6-disk2.vmdk",
                    "hdc_disk_image": "vcp_16.2R1.6-disk3.vmdk"
                },
                "name": "16.2R1.6-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vmx-x86-64-16.2R1.6.qcow2",
                    "hdb_disk_image": "vmxhdd-16.2R1.img",
                    "hdc_disk_image": "metadata-usb-re-16.2R1.img"
                },
                "name": "16.2R1.6-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vcp_16.1R4.7-disk1.vmdk",
                    "hdb_disk_image": "vcp_16.1R4.7-disk2.vmdk",
                    "hdc_disk_image": "vcp_16.1R4.7-disk3.vmdk"
                },
                "name": "16.1R4.7-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vmx-x86-64-16.1R4.7.qcow2",
                    "hdb_disk_image": "vmxhdd-16.1R4.img",
                    "hdc_disk_image": "metadata-usb-re-16.1R4.img"
                },
                "name": "16.1R4.7-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vcp_16.1R3.10-disk1.vmdk",
                    "hdb_disk_image": "vcp_16.1R3.10-disk2.vmdk",
                    "hdc_disk_image": "vcp_16.1R3.10-disk3.vmdk"
                },
                "name": "16.1R3.10-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vmx-x86-64-16.1R3.10.qcow2",
                    "hdb_disk_image": "vmxhdd-16.1R3.img",
                    "hdc_disk_image": "metadata-usb-re-16.1R3.img"
                },
                "name": "16.1R3.10-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vcp_16.1R2.11-disk1.vmdk",
                    "hdb_disk_image": "vcp_16.1R2.11-disk2.vmdk",
                    "hdc_disk_image": "vcp_16.1R2.11-disk3.vmdk"
                },
                "name": "16.1R2.11-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vmx-x86-64-16.1R2.11.qcow2",
                    "hdb_disk_image": "vmxhdd-16.1R2.img",
                    "hdc_disk_image": "metadata-usb-re-16.1R2.img"
                },
                "name": "16.1R2.11-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vcp_16.1R1.7-disk1.vmdk",
                    "hdb_disk_image": "vcp_16.1R1.7-disk2.vmdk",
                    "hdc_disk_image": "vcp_16.1R1.7-disk3.vmdk"
                },
                "name": "16.1R1.7-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vmx-x86-64-16.1R1.7.qcow2",
                    "hdb_disk_image": "vmxhdd-16.1R1.img",
                    "hdc_disk_image": "metadata-usb-re-16.1R1.img"
                },
                "name": "16.1R1.7-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "jinstall64-vmx-15.1F4.15-domestic.img",
                    "hdb_disk_image": "vmxhdd-15.1.img",
                    "hdc_disk_image": "metadata-usb-15.1.img"
                },
                "name": "15.1F4.15"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Big Cloud Fabric\u2122 is the industry\u2019s first data center fabric built using whitebox or britebox switches and SDN controller technology. Embracing hyperscale data center design principles, Big Cloud Fabric solution enables rapid innovation, ease of provisioning and management, while reducing overall costs, making it ideal for current and next generation data centers. Big Cloud Fabric is designed from the ground up to satisfy the requirements of physical, virtual, containerized, or a combination of such workloads. Some of the typical OpenStack or VMware data center workloads include NFV, High Performance Computing, Big Data and Software Defined Storage deployments.",
        "documentation_url": "http://www.bigswitch.com/support",
        "images": [
            {
                "download_url": "http://www.bigswitch.com/community-edition",
                "filename": "BCF-Controller-BCF-CE-3.5.0-2016-01-22.qcow2",
                "filesize": 2860253184,
                "md5sum": "d1c2ecf0db8101f6b6d311470697545a",
                "version": "3.5.0-2016-01-22"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Big Cloud Fabric",
        "product_name": "Big Cloud Fabric",
        "product_url": "http://www.bigswitch.com/sdn-products/big-cloud-fabrictm",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 8,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "ram": 256
        },
        "registry_version": 3,
        "status": "experimental",
        "usage": "Login is admin",
        "vendor_name": "Big Switch Networks",
        "vendor_url": "http://www.bigswitch.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "BCF-Controller-BCF-CE-3.5.0-2016-01-22.qcow2"
                },
                "name": "3.5"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "The Brocade Virtual ADX (vADX\u2122) is a full-fledged Application Delivery Controller (ADC) platform with a virtual footprint that leverages Intel advanced technology to deliver remarkable performance. The software is designed to run on standardsbased hypervisors, hosted on Intel x86 COTS hardware. It offers a complete suite of Layer 4 and Layer 7 server load balancing capabilities and application security services with extensible management via rich SOAP/XML APIs.",
        "first_port_name": "mgmt1",
        "images": [
            {
                "download_url": "http://www1.brocade.com/forms/jsp/virtual-adx-download/index.jsp",
                "filename": "SSR03100KVM.qcow2",
                "filesize": 3327066112,
                "md5sum": "40e5717463fb2f5d1bb7c4de7df15c5c",
                "version": "03100"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Brocade Virtual ADX",
        "port_name_format": "Port {port1}",
        "product_name": "Virtual ADX",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 8,
            "arch": "x86_64",
            "console_type": "vnc",
            "kvm": "require",
            "options": "-smp 2",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "experimental",
        "usage": "Login is root, type vadx-console to access to the console",
        "vendor_name": "Brocade",
        "vendor_url": "https://www.brocade.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "SSR03100KVM.qcow2"
                },
                "name": "03100"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "vThunder, part of A10 Networks' award-winning A10 Thunder and AX Series Application Delivery Controller (ADC) family, is designed to meet the growing needs of organizations that require a flexible and easy-to-deploy application delivery and server load balancer solution running within a virtualized infrastructure.",
        "documentation_url": "https://www.a10networks.com/support",
        "first_port_name": "mgmt",
        "images": [
            {
                "download_url": "https://www.a10networks.com/vthunder-embed",
                "filename": "vThunder_410_P9.qcow2",
                "filesize": 6311706624,
                "md5sum": "6ef0f69ba7a099a7f43b5815c2abc691",
                "version": "4.1.0.P9"
            },
            {
                "download_url": "https://www.a10networks.com/vthunder-embed",
                "filename": "vThunder_410_P3.qcow2",
                "filesize": 6098780160,
                "md5sum": "daacefa4e0eb1cad9b253926624be4b9",
                "version": "4.1.0.P3"
            },
            {
                "download_url": "https://www.a10networks.com/vthunder-embed",
                "filename": "vth401.GA.12G_Disk.qcow2",
                "filesize": 4768464896,
                "md5sum": "311806ad414403359216da6119ddb823",
                "version": "4.0.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "A10 vThunder",
        "port_name_format": "ethernet {port1}",
        "product_name": "A10 vThunder",
        "product_url": "https://www.a10networks.com/products/thunder-series-appliances/vthunder-virtualized-application_delivery_controller/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "loadbalancer.svg",
        "usage": "Default credentials:\n- CLI: admin / a10.\n- Enable mode: <none>\n\nDefault management IP: 172.31.31.31/24",
        "vendor_name": "A10",
        "vendor_url": "https://www.a10networks.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "vThunder_410_P9.qcow2"
                },
                "name": "4.1.0.P9"
            },
            {
                "images": {
                    "hda_disk_image": "vThunder_410_P3.qcow2"
                },
                "name": "4.1.0.P3"
            },
            {
                "images": {
                    "hda_disk_image": "vth401.GA.12G_Disk.qcow2"
                },
                "name": "4.0.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Micro Core Linux is a smaller variant of Tiny Core without a graphical desktop.\n\nThis is complete Linux system needing few resources to run.",
        "documentation_url": "http://wiki.tinycorelinux.net/",
        "images": [
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-microcore-6.4.img",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "linux-microcore-6.4.img",
                "filesize": 16580608,
                "md5sum": "877419f975c4891c019947ceead5c696",
                "version": "6.4"
            },
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-microcore-4.0.2-clean.img",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "linux-microcore-4.0.2-clean.img",
                "filesize": 26411008,
                "md5sum": "e13d0d1c0b3999ae2386bba70417930c",
                "version": "4.0.2"
            },
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-microcore-3.4.1.img",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "linux-microcore-3.4.1.img",
                "filesize": 24969216,
                "md5sum": "fa2ec4b1fffad67d8103c3391bbf9df2",
                "version": "3.4.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Micro Core Linux",
        "product_name": "Micro Core Linux",
        "product_url": "http://distro.ibiblio.org/tinycorelinux",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "i386",
            "console_type": "telnet",
            "kvm": "allow",
            "ram": 64
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "linux_guest.svg",
        "usage": "For version >= 6.4, login/password is gns3. For older version it is tc. Note that sudo works without any password",
        "vendor_name": "Team Tiny Core",
        "vendor_url": "http://distro.ibiblio.org/tinycorelinux",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "linux-microcore-6.4.img"
                },
                "name": "6.4"
            },
            {
                "images": {
                    "hda_disk_image": "linux-microcore-4.0.2-clean.img"
                },
                "name": "4.0.2"
            },
            {
                "images": {
                    "hda_disk_image": "linux-microcore-3.4.1.img"
                },
                "name": "3.4.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "The vMX is a full-featured, carrier-grade virtual MX Series 3D Universal Edge Router that extends 15+ years of Juniper Networks edge routing expertise to the virtual realm. This appliance is for the Virtual Forwarding Plane (vFP) VM and is meant to be paired with the Virtual Control Plane (vCP) VM.",
        "documentation_url": "http://www.juniper.net/techpubs/",
        "first_port_name": "Eth0",
        "images": [
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vfpc_17.1R1.8-disk1.vmdk",
                "filesize": 102820352,
                "md5sum": "169dd487b8547d58b12b2918a5667360",
                "version": "17.1R1.8-ESXi"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vFPC-20170216.img",
                "filesize": 2313158656,
                "md5sum": "e838b8dd116a8b388d8dfd99575e7e98",
                "version": "17.1R1.8-KVM"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vfpc_16.2R1.6-disk1.vmdk",
                "filesize": 102430208,
                "md5sum": "abb15d485cd195b9a693a2f3f091564a",
                "version": "16.2R1.6-ESXi"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vFPC-20161025.img",
                "filesize": 2313158656,
                "md5sum": "3105a5af7d859fc24b686e71113413a9",
                "version": "16.2R1.6-KVM"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vfpc_16.1R4.7-disk1.vmdk",
                "filesize": 102431232,
                "md5sum": "c381a23038dc5d4f939b7b5c3d074ce2",
                "version": "16.1R4.7-ESXi"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vFPC-20170211.img",
                "filesize": 2313158656,
                "md5sum": "cdec45ecca1cd9bfefe318b066bd500b",
                "version": "16.1R4.7-KVM"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vfpc_16.1R3.10-disk1.vmdk",
                "filesize": 102437376,
                "md5sum": "03b9d23c0223d8078fa3830c23fcf144",
                "version": "16.1R3.10-ESXi"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vFPC-20161019.img",
                "filesize": 2313158656,
                "md5sum": "0fbba19da959c3e76b438128b28726f7",
                "version": "16.1R3.10-KVM"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vfpc_16.1R2.11-disk1.vmdk",
                "filesize": 102431232,
                "md5sum": "1a90e5dc0c02c8336b9084cbdf17f635",
                "version": "16.1R2.11-ESXi"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vFPC-20160902.img",
                "filesize": 2313158656,
                "md5sum": "09ee97c6c18b392b1b72f5e3e4743c2d",
                "version": "16.1R2.11-KVM"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vfpc_16.1R1.7-disk1.vmdk",
                "filesize": 63884800,
                "md5sum": "8475d8b065768f585659a49c50f1d7e1",
                "version": "16.1R1.7-ESXi"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vFPC-20160617.img",
                "filesize": 2313158656,
                "md5sum": "5ccf252002184a21413cad23fd239c3f",
                "version": "16.1R1.7-KVM"
            },
            {
                "download_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
                "filename": "vFPC-20151203.img",
                "filesize": 2313158656,
                "md5sum": "b3faa91b4d20836a9a6dd6bad2629dd1",
                "version": "15.1F4.15"
            }
        ],
        "maintainer": "none",
        "maintainer_email": "developers@gns3.net",
        "name": "Juniper vMX vFP",
        "port_name_format": "Eth{port1}",
        "product_name": "Juniper vMX vFP",
        "product_url": "http://www.juniper.net/us/en/products-services/routing/mx-series/vmx/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 12,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "options": "-nographic -enable-kvm -smp cpus=3",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": "juniper-vmx.svg",
        "usage": "Initial username is root, password is root.\n",
        "vendor_name": "Juniper",
        "vendor_url": "https://www.juniper.net/us/en/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "vfpc_17.1R1.8-disk1.vmdk"
                },
                "name": "17.1R1.8-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "vFPC-20170216.img"
                },
                "name": "17.1R1.8-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vfpc_16.2R1.6-disk1.vmdk"
                },
                "name": "16.2R1.6-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "vFPC-20161025.img"
                },
                "name": "16.2R1.6-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vfpc_16.1R4.7-disk1.vmdk"
                },
                "name": "16.1R4.7-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "vFPC-20170211.img"
                },
                "name": "16.1R4.7-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vfpc_16.1R3.10-disk1.vmdk"
                },
                "name": "16.1R3.10-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "vFPC-20161019.img"
                },
                "name": "16.1R3.10-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vfpc_16.1R2.11-disk1.vmdk"
                },
                "name": "16.1R2.11-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "vFPC-20160902.img"
                },
                "name": "16.1R2.11-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vfpc_16.1R1.7-disk1.vmdk"
                },
                "name": "16.1R1.7-ESXi"
            },
            {
                "images": {
                    "hda_disk_image": "vFPC-20160617.img"
                },
                "name": "16.1R1.7-KVM"
            },
            {
                "images": {
                    "hda_disk_image": "vFPC-20151203.img"
                },
                "name": "15.1F4.15"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography. As an example of the effect OpenBSD has, the popular OpenSSH software comes from OpenBSD.",
        "documentation_url": "http://www.openbsd.org/faq/index.html",
        "first_port_name": "fxp0",
        "images": [
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/openbsd-5.8.qcow2",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "openbsd-5.8.qcow2",
                "filesize": 517275648,
                "md5sum": "b2488d81bbe1328ae3d6072ccd7e0bc2",
                "version": "5.8"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "OpenBSD",
        "port_name_format": "em{0}",
        "product_name": "OpenBSD",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 8,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "allow",
            "ram": 256
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "User root, password gns3",
        "vendor_name": "OpenBSD",
        "vendor_url": "http://www.openbsd.org",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "openbsd-5.8.qcow2"
                },
                "name": "5.8"
            }
        ]
    },
    {
        "availability": "free-to-try",
        "builtin": true,
        "category": "guest",
        "description": "Microsoft Windows, or simply Windows, is a metafamily of graphical operating systems developed, marketed, and sold by Microsoft. It consists of several families of operating systems, each of which cater to a certain sector of the computing industry with the OS typically associated with IBM PC compatible architecture.",
        "documentation_url": "https://technet.microsoft.com/en-us/library/cc498727.aspx",
        "images": [
            {
                "download_url": "https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016",
                "filename": "Win2k16_14393.0.161119-1705.RS1_REFRESH_SERVER_EVAL_X64FRE_EN-US.ISO",
                "filesize": 6972221440,
                "md5sum": "70721288bbcdfe3239d8f8c0fae55f1f",
                "version": "2016"
            },
            {
                "download_url": "https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2012-r2",
                "filename": "Win2k12_9600.16415.amd64fre.winblue_refresh.130928-2229_server_serverdatacentereval_en-us.vhd",
                "filesize": 8024756224,
                "md5sum": "b0a988a2e1f401c99c7c18a00391c4cc",
                "version": "2012 R2"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty100G.qcow2",
                "filesize": 198656,
                "md5sum": "1e6409a4523ada212dea2ebc50e50a65",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Windows Server",
        "port_name_format": "NIC{port1}",
        "product_name": "Windows Server",
        "product_url": "https://www.microsoft.com/en-us/windows",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "sata",
            "kvm": "require",
            "options": "-usbdevice tablet",
            "ram": 2048
        },
        "registry_version": 4,
        "status": "stable",
        "symbol": "microsoft.svg",
        "vendor_name": "Microsoft",
        "vendor_url": "http://www.microsoft.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "Win2k16_14393.0.161119-1705.RS1_REFRESH_SERVER_EVAL_X64FRE_EN-US.ISO",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "2016"
            },
            {
                "images": {
                    "hda_disk_image": "Win2k12_9600.16415.amd64fre.winblue_refresh.130928-2229_server_serverdatacentereval_en-us.vhd"
                },
                "name": "2012 R2"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "FreeNAS is a Free and Open Source Network Attached Storage (NAS) software appliance. This means that you can use FreeNAS to share data over file-based sharing protocols, including CIFS for Windows users, NFS for Unix-like operating systems, and AFP for Mac OS X users. FreeNAS uses the ZFS file system to store, manage, and protect data. ZFS provides advanced features like snapshots to keep old versions of files, incremental remote backups to keep your data safe on another device without huge file transfers, and intelligent compression, which reduces the size of files so quickly and efficiently that it actually helps transfers happen faster.",
        "documentation_url": "https://doc.freenas.org/9.10/freenas.html",
        "images": [
            {
                "direct_download_url": "http://download.freenas.org/11/11.1-RELEASE/x64/FreeNAS-11.1-RELEASE.iso",
                "download_url": "http://www.freenas.org/download/",
                "filename": "FreeNAS-11.1-U1.iso",
                "filesize": 626601984,
                "md5sum": "ccbd9990a5878d35c6bc0cc6eea34b16",
                "version": "11.1 U1"
            },
            {
                "direct_download_url": "http://download.freenas.org/11/11.1-RELEASE/x64/FreeNAS-11.1-RELEASE.iso",
                "download_url": "http://www.freenas.org/download/",
                "filename": "FreeNAS-11.1-RELEASE.iso",
                "filesize": 626761728,
                "md5sum": "67bea5816bc889169e5e3054362b2053",
                "version": "11.1"
            },
            {
                "direct_download_url": "http://download.freenas.org/11/11.0-U4/x64/FreeNAS-11.0-U4.iso",
                "download_url": "http://www.freenas.org/download/",
                "filename": "FreeNAS-11.0-U4.iso",
                "filesize": 567312384,
                "md5sum": "4c210f1a6510d1fa95257d81ef569ff8",
                "version": "11.0 U4"
            },
            {
                "direct_download_url": "https://download.freenas.org/9.10/STABLE/latest/x64/FreeNAS-9.10.1-U4.iso",
                "download_url": "http://www.freenas.org/download/",
                "filename": "FreeNAS-9.10.1-U4.iso",
                "filesize": 533098496,
                "md5sum": "b4fb14513dcbb4eb4c5596c5911ca9cc",
                "version": "9.10 U4"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FreeNAS",
        "port_name_format": "eth{0}",
        "product_name": "FreeNAS",
        "product_url": "http://www.openfiler.com/products",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "ide",
            "hdb_disk_interface": "ide",
            "kvm": "require",
            "ram": 8192
        },
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "iXsystems",
        "vendor_url": "http://www.freenas.org",
        "versions": [
            {
                "images": {
                    "cdrom_image": "FreeNAS-11.1-U1.iso",
                    "hda_disk_image": "empty30G.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "11.1 U1"
            },
            {
                "images": {
                    "cdrom_image": "FreeNAS-11.1-RELEASE.iso",
                    "hda_disk_image": "empty30G.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "11.1"
            },
            {
                "images": {
                    "cdrom_image": "FreeNAS-11.0-U4.iso",
                    "hda_disk_image": "empty30G.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "11.0 U4"
            },
            {
                "images": {
                    "cdrom_image": "FreeNAS-9.10.1-U4.iso",
                    "hda_disk_image": "empty30G.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "9.10 U4"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "A light Linux based on TinyCore Linux with Firefox preinstalled",
        "documentation_url": "https://support.mozilla.org",
        "images": [
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-tinycore-linux-6.4-firefox-33.1.1-2.img",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "linux-tinycore-linux-6.4-firefox-33.1.1-2.img",
                "filesize": 93257728,
                "md5sum": "8db0d8dc890797cc335ceb8aaf2255f0",
                "version": "31.1.1~2"
            },
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/linux-tinycore-linux-6.4-firefox-33.1.1.img",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "linux-tinycore-linux-6.4-firefox-33.1.1.img",
                "filesize": 82313216,
                "md5sum": "9e51ad24dc25c4a26f7a8fb99bc77830",
                "version": "31.1.1~1"
            }
        ],
        "maintainer": "GNS3 team",
        "maintainer_email": "developers@gns3.net",
        "name": "Firefox",
        "product_name": "Firefox",
        "product_url": "https://www.mozilla.org/firefox",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "i386",
            "console_type": "vnc",
            "kvm": "allow",
            "options": "-vga std -usbdevice tablet",
            "ram": 256
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "firefox.svg",
        "vendor_name": "Mozilla Foundation",
        "vendor_url": "http://www.mozilla.org",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "linux-tinycore-linux-6.4-firefox-33.1.1-2.img"
                },
                "name": "31.1.1~2"
            },
            {
                "images": {
                    "hda_disk_image": "linux-tinycore-linux-6.4-firefox-33.1.1.img"
                },
                "name": "31.1.1~1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Kerio Connect makes email, calendars, contacts and task management easy and affordable. With Kerio Connect, you have immediate, secure access to your communications anytime, anywhere, on any device \u2014 without complexity or expensive overhead.",
        "documentation_url": "http://kb.kerio.com/product/kerio-connect/",
        "images": [
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/connect/connect-9.2.5-3336/kerio-connect-appliance-9.2.5-3336-p3-vmware-amd64-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-connect",
                "filename": "kerio-connect-appliance-9.2.5-3336-p3-vmware-amd64-disk1.vmdk",
                "filesize": 824496128,
                "md5sum": "f2a202f29e71dc6e8bebce4c05a9e44d",
                "version": "9.2.5p3"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/connect/connect-9.2.4-3252/kerio-connect-appliance-9.2.4-3252-vmware-amd64-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-connect",
                "filename": "kerio-connect-appliance-9.2.4-3252-vmware-amd64-disk1.vmdk",
                "filesize": 720217088,
                "md5sum": "c585587a8de878d3940e42cf389b0f06",
                "version": "9.2.4"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/connect/connect-9.2.3-2929/kerio-connect-appliance-9.2.3-2929-vmware-amd64-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-connect",
                "filename": "kerio-connect-appliance-9.2.3-2929-vmware-amd64-disk1.vmdk",
                "filesize": 676196352,
                "md5sum": "29ecf7ac72b32e576e1556af9a741ab2",
                "version": "9.2.3"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/connect/connect-9.2.2-2831/kerio-connect-appliance-9.2.2-2831-p1-vmware-amd64-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-connect",
                "filename": "kerio-connect-appliance-9.2.2-2831-p1-vmware-amd64-disk1.vmdk",
                "filesize": 673714688,
                "md5sum": "586ab9830602746e6a3438afaa6ee9b8",
                "version": "9.2.2p1"
            },
            {
                "compression": "zip",
                "direct_download_url": "http://download.kerio.com/dwn/kerio-connect-appliance-vmware-amd64.zip",
                "download_url": "http://www.kerio.com/support/kerio-connect",
                "filename": "kerio-connect-appliance-9.2.1-vmware-disk1.vmdk",
                "filesize": 1851523072,
                "md5sum": "f1d60094c237f55e6737b0da9b5912ce",
                "version": "9.2.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Kerio Connect",
        "port_name_format": "eth{0}",
        "product_name": "Kerio Connect",
        "product_url": "http://www.kerio.com/products/kerio-connect",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default ucredentials: root / kerio",
        "vendor_name": "Kerio Technologies Inc.",
        "vendor_url": "http://www.kerio.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "kerio-connect-appliance-9.2.5-3336-p3-vmware-amd64-disk1.vmdk"
                },
                "name": "9.2.5"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-connect-appliance-9.2.4-3252-vmware-amd64-disk1.vmdk"
                },
                "name": "9.2.4"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-connect-appliance-9.2.3-2929-vmware-amd64-disk1.vmdk"
                },
                "name": "9.2.3"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-connect-appliance-9.2.2-2831-p1-vmware-amd64-disk1.vmdk"
                },
                "name": "9.2.2p1"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-connect-appliance-9.2.1-vmware-disk1.vmdk"
                },
                "name": "9.2.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cloud Hosted Router (CHR) is a RouterOS version meant for running as a virtual machine. It supports x86 64-bit architecture and can be used on most of popular hypervisors such as VMWare, Hyper-V, VirtualBox, KVM and others. CHR has full RouterOS features enabled by default but has a different licensing model than other RouterOS versions.",
        "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
        "images": [
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.42/chr-6.42.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.42.img",
                "filesize": 134217728,
                "md5sum": "279bb518497b40f41c8585128916a2fb",
                "version": "6.42"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.41.4/chr-6.41.4.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.41.4.img",
                "filesize": 134217728,
                "md5sum": "63b555b2b7f0d78b79edb92f7e7d2ed7",
                "version": "6.41.4"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.40.7/chr-6.40.7.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.40.7.img",
                "filesize": 134217728,
                "md5sum": "424b897d631c4cac4324ca310e81b494",
                "version": "6.40.7"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.40.5/chr-6.40.5.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.40.5.img",
                "filesize": 134217728,
                "md5sum": "5d3bef219a859d417fea704ae7109eb7",
                "version": "6.40.5"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.40.3/chr-6.40.3.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.40.3.img",
                "filesize": 134217728,
                "md5sum": "1861df67e9bbf17433f11f33f7dedd1e",
                "version": "6.40.3"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.39.2/chr-6.39.2.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.39.2.img",
                "filesize": 134217728,
                "md5sum": "ecb37373dedfba04267a999d23b8e203",
                "version": "6.39.2"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.39.1/chr-6.39.1.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.39.1.img",
                "filesize": 134217728,
                "md5sum": "c53293bc41f76d85a8642005fd1cbd54",
                "version": "6.39.1"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.39/chr-6.39.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.39.img",
                "filesize": 134217728,
                "md5sum": "7e77c8ac4c9aeaf88f6ff15897f33163",
                "version": "6.39"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.38.7/chr-6.38.7.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.38.7.img",
                "filesize": 134217728,
                "md5sum": "69a51c96b1247bbaf1253d2873617122",
                "version": "6.38.7"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.38.5/chr-6.38.5.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.38.5.img",
                "filesize": 134217728,
                "md5sum": "8147f42ea1ee96f580a35a298b7f9354",
                "version": "6.38.5"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://download2.mikrotik.com/routeros/6.38.1/chr-6.38.1.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.38.1.img",
                "filesize": 134217728,
                "md5sum": "753ed7c86e0f54fd9e18d044db64538d",
                "version": "6.38.1"
            },
            {
                "compression": "zip",
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.38/chr-6.38.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.38.img",
                "filesize": 134217728,
                "md5sum": "37e2165112f8a9beccac06a9a6009000",
                "version": "6.38"
            },
            {
                "compression": "zip",
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.37.3/chr-6.37.3.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.37.3.img",
                "filesize": 134217728,
                "md5sum": "bda87db475f80debdf3181accf6b78e2",
                "version": "6.37.3"
            },
            {
                "compression": "zip",
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.37.1/chr-6.37.1.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.37.1.img",
                "filesize": 134217728,
                "md5sum": "713b14a5aba9f967f7bdd9029c8d85b6",
                "version": "6.37.1"
            },
            {
                "compression": "zip",
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.36.4/chr-6.36.4.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.36.4.img",
                "filesize": 134217728,
                "md5sum": "09527bde50697711926c08d545940c1e",
                "version": "6.36.4"
            },
            {
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.34.2/chr-6.34.2.vmdk",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.34.2.vmdk",
                "filesize": 30277632,
                "md5sum": "0360f121b76a8b491a05dc37640ca319",
                "version": "6.34.2 (.vmdk)"
            },
            {
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.34.2/chr-6.34.2.vdi",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.34.2.vdi",
                "filesize": 30409728,
                "md5sum": "e7e4021aeeee2eaabd024d48702bb2e1",
                "version": "6.34.2 (.vdi)"
            },
            {
                "compression": "zip",
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.34.2/chr-6.34.2.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.34.2.img",
                "filesize": 134217728,
                "md5sum": "984d4d11c2ff209fcdc21ac42895edbe",
                "version": "6.34.2 (.img)"
            },
            {
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.34/chr-6.34.vmdk",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.34.vmdk",
                "filesize": 30277632,
                "md5sum": "c5e6d192ae19d263a9a313d4b4bee7e4",
                "version": "6.34 (.vmdk)"
            },
            {
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.34/chr-6.34.vdi",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.34.vdi",
                "filesize": 30409728,
                "md5sum": "34b161f83a792c744c76a529afc094a8",
                "version": "6.34 (.vdi)"
            },
            {
                "compression": "zip",
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.34/chr-6.34.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.34.img",
                "filesize": 134217728,
                "md5sum": "32ffde7fb934c7bfee555c899ccd77b6",
                "version": "6.34 (.img)"
            },
            {
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.33.5/chr-6.33.5.vmdk",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.33.5.vmdk",
                "filesize": 23920640,
                "md5sum": "cd284e28aa02ae59f55ed8f43ff27fbf",
                "version": "6.33.5 (.vmdk)"
            },
            {
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.33.5/chr-6.33.5.vdi",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.33.5.vdi",
                "filesize": 24118272,
                "md5sum": "fa84e63a558e7c61d7d338386cfd08c9",
                "version": "6.33.5 (.vdi)"
            },
            {
                "compression": "zip",
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.33.5/chr-6.33.5.img.zip",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.33.5.img",
                "filesize": 67108864,
                "md5sum": "210cc8ad06f25c9f27b6b99f6e00bd91",
                "version": "6.33.5 (.img)"
            },
            {
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.33.3/chr-6.33.3.vmdk",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.33.3.vmdk",
                "filesize": 23920640,
                "md5sum": "08532a5af1a830182d65c416eab2b089",
                "version": "6.33.3 (.vmdk)"
            },
            {
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.33.2/chr-6.33.2.vmdk",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.33.2.vmdk",
                "filesize": 23920640,
                "md5sum": "6291893c2c9626603c6d38d23390a8be",
                "version": "6.33.2 (.vmdk)"
            },
            {
                "direct_download_url": "http://download2.mikrotik.com/routeros/6.33/chr-6.33.vmdk",
                "download_url": "http://www.mikrotik.com/download",
                "filename": "chr-6.33.vmdk",
                "filesize": 23920640,
                "md5sum": "63bee5405fa1e209388adc6b5f78bb70",
                "version": "6.33 (.vmdk)"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "MikroTik CHR",
        "port_name_format": "ether{port1}",
        "product_name": "MikroTik Cloud Hosted Router",
        "product_url": "http://www.mikrotik.com/download",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "allow",
            "options": "-nographic",
            "ram": 128
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": ":/symbols/router_firewall.svg",
        "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
        "vendor_name": "MikroTik",
        "vendor_url": "http://mikrotik.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "chr-6.41.4.img"
                },
                "name": "6.41.4"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.40.7.img"
                },
                "name": "6.40.7"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.40.5.img"
                },
                "name": "6.40.5"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.40.3.img"
                },
                "name": "6.40.3"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.39.2.img"
                },
                "name": "6.39.2"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.39.1.img"
                },
                "name": "6.39.1"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.39.img"
                },
                "name": "6.39"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.38.7.img"
                },
                "name": "6.38.7"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.38.5.img"
                },
                "name": "6.38.5"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.38.1.img"
                },
                "name": "6.38.1"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.38.img"
                },
                "name": "6.38"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.37.3.img"
                },
                "name": "6.37.3"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.37.1.img"
                },
                "name": "6.37.1"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.36.4.img"
                },
                "name": "6.36.4"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.34.2.vmdk"
                },
                "name": "6.34.2 (.vmdk)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.34.2.vdi"
                },
                "name": "6.34.2 (.vdi)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.34.2.img"
                },
                "name": "6.34.2 (.img)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.34.vmdk"
                },
                "name": "6.34 (.vmdk)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.34.vdi"
                },
                "name": "6.34 (.vdi)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.34.img"
                },
                "name": "6.34 (.img)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.33.5.vmdk"
                },
                "name": "6.33.5 (.vmdk)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.33.5.vdi"
                },
                "name": "6.33.5 (.vdi)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.33.5.img"
                },
                "name": "6.33.5 (.img)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.33.3.vmdk"
                },
                "name": "6.33.3 (.vmdk)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.33.2.vmdk"
                },
                "name": "6.33.2 (.vmdk)"
            },
            {
                "images": {
                    "hda_disk_image": "chr-6.33.vmdk"
                },
                "name": "6.33 (.vmdk)"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "The BIRD project aims to develop a fully functional dynamic IP routing daemon primarily targeted on (but not limited to) Linux, FreeBSD and other UNIX-like systems and distributed under the GNU General Public License.",
        "documentation_url": "http://bird.network.cz/?get_doc&f=bird.html",
        "images": [
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/bird-tinycore64-1.5.0.img",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "bird-tinycore64-1.5.0.img",
                "filesize": 22413312,
                "md5sum": "08d50ba2b1b262e2e03e4babf90abf69",
                "version": "1.5.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "BIRD",
        "product_name": "BIRD internet routing daemon",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "allow",
            "ram": 128
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Configure interfaces in /opt/bootlocal.sh, BIRD configuration is done in /usr/local/etc/bird",
        "vendor_name": "CZ.NIC Labs",
        "vendor_url": "http://bird.network.cz/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "bird-tinycore64-1.5.0.img"
                },
                "name": "1.5.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "OPNsense is an open source, easy-to-use and easy-to-build FreeBSD based firewall and routing platform. OPNsense includes most of the features available in expensive commercial firewalls, and more in many cases. It brings the rich feature set of commercial offerings with the benefits of open and verifiable sources.\n\nOPNsense started as a fork of pfSense\u00ae and m0n0wall in 2014, with its first official release in January 2015. The project has evolved very quickly while still retaining  familiar aspects of both m0n0wall and pfSense. A strong focus on security and code quality drives the development of the project.",
        "documentation_url": "https://wiki.opnsense.org/",
        "images": [
            {
                "download_url": "https://opnsense.org/download/",
                "filename": "OPNsense-17.7-OpenSSL-nano-amd64.img",
                "filesize": 3221233664,
                "md5sum": "14cde5c7a15b2298a242238ad3c3b65a",
                "version": "17.7"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "OPNsense",
        "port_name_format": "em{0}",
        "product_name": "OPNsense",
        "product_url": "https://opnsense.org/about/about-opnsense/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default credentials: root / opnsense\nDefault IP address: 192.168.1.1",
        "vendor_name": "Deciso B.V.",
        "vendor_url": "https://opnsense.org/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "OPNsense-17.7-OpenSSL-nano-amd64.img"
                },
                "name": "17.7"
            }
        ]
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "ExtremeXOS was designed from the ground up to meet the needs of large cloud and private data centers, service providers, intelligent, converged enterprise edge networks, and everything in between. It provides the high performance and rich features required by these diverse environments.",
        "documentation_url": "http://www.extremenetworks.com/support/documentation",
        "first_port_name": "Management",
        "images": [
            {
                "direct_download_url": "https://github.com/extremenetworks/Virtual_EXOS/raw/master/vm-22.4.1.4.iso",
                "download_url": "https://github.com/extremenetworks/Virtual_EXOS",
                "filename": "exosvm-22.4.1.4.iso",
                "filesize": 49993728,
                "md5sum": "2134a511084519a5f8ad00a6f7cd71a9",
                "version": "22.4.1.4"
            },
            {
                "direct_download_url": "https://github.com/extremenetworks/Virtual_EXOS/raw/master/vm-22.2.1.5.iso",
                "download_url": "https://github.com/extremenetworks/Virtual_EXOS",
                "filename": "exosvm-22.2.1.5.iso",
                "filesize": 44578816,
                "md5sum": "bf51fd5b3c5e9dab10a616055265bcf2",
                "version": "22.2.1.5"
            },
            {
                "direct_download_url": "https://github.com/extremenetworks/Virtual_EXOS/raw/master/vm-22.1.1.5.iso",
                "download_url": "https://github.com/extremenetworks/Virtual_EXOS",
                "filename": "exosvm-22.1.1.5.iso",
                "filesize": 44220416,
                "md5sum": "df3897ca2d7c7053582587ed120114fa",
                "version": "22.1.1.5"
            },
            {
                "direct_download_url": "https://github.com/extremenetworks/Virtual_EXOS/blob/master/vm-21.1.2.14.iso?raw=true",
                "download_url": "https://github.com/extremenetworks/Virtual_EXOS",
                "filename": "exosvm-21.1.2.14.iso",
                "filesize": 41101312,
                "md5sum": "de0752d56e41d92027ce1fccd604b14b",
                "version": "21.1.2.14"
            },
            {
                "direct_download_url": "https://github.com/extremenetworks/Virtual_EXOS/blob/master/vm-21.1.1.4.iso?raw=true",
                "download_url": "https://github.com/extremenetworks/Virtual_EXOS",
                "filename": "exosvm-21.1.1.4.iso",
                "filesize": 41046016,
                "md5sum": "4d5db0e01a39b08775ed6a3e2c8bf663",
                "version": "21.1.1.4"
            },
            {
                "direct_download_url": "https://github.com/extremenetworks/Virtual_EXOS/blob/master/exospc-16.2.1.6.iso?raw=true",
                "download_url": "https://github.com/extremenetworks/Virtual_EXOS",
                "filename": "exospc-16.2.1.6.iso",
                "filesize": 36306944,
                "md5sum": "b4be339afb02c03dcb4349630c1adb4f",
                "version": "16.2.1.6"
            },
            {
                "direct_download_url": "https://github.com/extremenetworks/Virtual_EXOS/blob/master/exospc-16.1.3.6.iso?raw=true",
                "download_url": "https://github.com/extremenetworks/Virtual_EXOS",
                "filename": "exospc-16.1.3.6.iso",
                "filesize": 35758080,
                "md5sum": "4c17b2bf2a4909527f6c866a68ba406e",
                "version": "16.1.3.6"
            },
            {
                "direct_download_url": "https://github.com/extremenetworks/Virtual_EXOS/blob/master/exospc-16.1.2.14.iso?raw=true",
                "download_url": "https://github.com/extremenetworks/Virtual_EXOS",
                "filename": "exospc-16.1.2.14.iso",
                "filesize": 35743744,
                "md5sum": "140cdc11f426156ffcbde150b2f46768",
                "version": "16.1.2.14"
            },
            {
                "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty8G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty8G.qcow2",
                "filesize": 197120,
                "md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "EXOS",
        "port_name_format": "Port{port1}",
        "product_name": "EXOS",
        "product_url": "http://www.extremenetworks.com/product/extremexos-network-operating-system",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 13,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "telnet",
            "hda_disk_interface": "ide",
            "kvm": "require",
            "options": "-smp 2 -cpu core2duo",
            "ram": 256
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "You can change the console to telnet after install. Default user: admin (no password set)",
        "vendor_name": "Extreme Networks",
        "vendor_url": "http://www.extremenetworks.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "exosvm-22.4.1.4.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "22.4.1.4"
            },
            {
                "images": {
                    "cdrom_image": "exosvm-22.2.1.5.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "22.2.1.5"
            },
            {
                "images": {
                    "cdrom_image": "exosvm-22.1.1.5.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "22.1.1.5"
            },
            {
                "images": {
                    "cdrom_image": "exosvm-21.1.2.14.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "21.1.2.14"
            },
            {
                "images": {
                    "cdrom_image": "exosvm-21.1.1.4.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "21.1.1.4"
            },
            {
                "images": {
                    "cdrom_image": "exospc-16.2.1.6.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "16.2.1.6"
            },
            {
                "images": {
                    "cdrom_image": "exospc-16.1.3.6.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "16.1.3.6"
            },
            {
                "images": {
                    "cdrom_image": "exospc-16.1.2.14.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "16.1.2.14"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "The on-premise Mail and Directory server. Native compatibility with Microsoft Active Directory. You can control your IT infrastructure from a single point of user management, regardless of the different offices and locations your business has. True Microsoft Outlook compatibility. Your users can continue using their favorite email clients, without any service interruptions and without having to install any plug-in or connector.",
        "documentation_url": "https://wiki.zentyal.org/wiki/Zentyal_Wiki",
        "images": [
            {
                "direct_download_url": "http://download.zentyal.com/zentyal-5.0.1-development-amd64.iso",
                "download_url": "http://download.zentyal.com/",
                "filename": "zentyal-5.0.1-development-amd64.iso",
                "filesize": 953155584,
                "md5sum": "1ac74be6563f0b21b337c274e62cdd32",
                "version": "5.0.1"
            },
            {
                "direct_download_url": "http://download.zentyal.com/zentyal-5.0-development-amd64.iso",
                "download_url": "http://download.zentyal.com/",
                "filename": "zentyal-5.0-development-amd64.iso",
                "filesize": 914565120,
                "md5sum": "ddaa3b2bf2cd6cae8bcfbcb88ca636a8",
                "version": "5.0"
            },
            {
                "direct_download_url": "http://download.zentyal.com/zentyal-4.2-development-amd64.iso",
                "download_url": "http://download.zentyal.com/",
                "filename": "zentyal-4.2-development-amd64.iso",
                "filesize": 629284864,
                "md5sum": "22b165a49adbc4eff033ced01e71fe3a",
                "version": "4.2"
            },
            {
                "direct_download_url": "http://download.zentyal.com/zentyal-4.1-development-amd64.iso",
                "download_url": "http://download.zentyal.com/",
                "filename": "zentyal-4.1-development-amd64.iso",
                "filesize": 612206592,
                "md5sum": "40a8ff15a60ff862a110a17f941edf2a",
                "version": "4.1"
            },
            {
                "direct_download_url": "http://download.zentyal.com/zentyal-4.0-amd64.iso",
                "download_url": "http://download.zentyal.com/",
                "filename": "zentyal-4.0-amd64.iso",
                "filesize": 666370048,
                "md5sum": "d63b15f1edcd2c3c03ab3a36e833e211",
                "version": "4.0"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty100G.qcow2",
                "filesize": 198656,
                "md5sum": "1e6409a4523ada212dea2ebc50e50a65",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Zentyal Server",
        "port_name_format": "eth{0}",
        "product_name": "Zentyal Server",
        "product_url": "http://www.zentyal.com/zentyal-server/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 3,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Follow installation instructions. Once the installation process is done, you can access the web interface using a web browser: https://<zentyal-ip-address>:8443/",
        "vendor_name": "Zentyal S.L.",
        "vendor_url": "http://www.zentyal.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "zentyal-5.0.1-development-amd64.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "5.0.1"
            },
            {
                "images": {
                    "cdrom_image": "zentyal-5.0-development-amd64.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "5.0"
            },
            {
                "images": {
                    "cdrom_image": "zentyal-4.2-development-amd64.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "4.2"
            },
            {
                "images": {
                    "cdrom_image": "zentyal-4.1-development-amd64.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "4.1"
            },
            {
                "images": {
                    "cdrom_image": "zentyal-4.0-amd64.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "4.0"
            }
        ]
    },
    {
        "availability": "free-to-try",
        "builtin": true,
        "category": "guest",
        "description": "Microsoft Windows, or simply Windows, is a metafamily of graphical operating systems developed, marketed, and sold by Microsoft. It consists of several families of operating systems, each of which cater to a certain sector of the computing industry with the OS typically associated with IBM PC compatible architecture.",
        "documentation_url": "https://technet.microsoft.com/en-us/library/cc498727.aspx",
        "images": [
            {
                "download_url": "https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/",
                "filename": "MSEdge-Win10-VMWare-disk1.vmdk",
                "filesize": 5636608512,
                "md5sum": "fef74c69e1949480d4e2095324a169af",
                "version": "10 w/ Edge"
            },
            {
                "download_url": "https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/",
                "filename": "MSEdge_-_Win10_preview.vmdk",
                "filesize": 10907287552,
                "md5sum": "e06d97b871581d91b7363bf72a81553d",
                "version": "10 w/ Edge"
            },
            {
                "download_url": "https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/",
                "filename": "IE11_-_Win8.1-disk1.vmdk",
                "filesize": 5704344064,
                "md5sum": "6c8691c7d58bf2c33f6ca242ace6b9bd",
                "version": "8.1 w/ IE11"
            },
            {
                "download_url": "https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/",
                "filename": "IE11_-_Win7-disk1.vmdk",
                "filesize": 4101495296,
                "md5sum": "5733cc93a6ed756c2358f0a383b411a8",
                "version": "7 w/ IE11"
            },
            {
                "download_url": "https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/",
                "filename": "IE10_-_Win7-disk1.vmdk",
                "filesize": 4062174208,
                "md5sum": "ed18b5903fb7d778b847c8d1cef807c4",
                "version": "7 w/ IE10"
            },
            {
                "download_url": "https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/",
                "filename": "IE9_-_Win7-disk1.vmdk",
                "filesize": 4040829440,
                "md5sum": "82370cfa215002a49651b773a3a569f2",
                "version": "7 w/ IE9"
            },
            {
                "download_url": "https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/",
                "filename": "IE8_-_Win7-disk1.vmdk",
                "filesize": 4228026368,
                "md5sum": "63456b42eb8e184b3e7c675645a3c32c",
                "version": "7 w/ IE8"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Windows",
        "port_name_format": "NIC{port1}",
        "product_name": "Windows",
        "product_url": "https://www.microsoft.com/en-us/windows",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "sata",
            "kvm": "require",
            "ram": 1024
        },
        "registry_version": 4,
        "status": "stable",
        "symbol": "microsoft.svg",
        "usage": "These virtual machines expire after 90 days; i.e. you have to re-create them in your project after this time but you don't have to re-import the appliance.\n\nDefault credentials: IEUser / Passw0rd!",
        "vendor_name": "Microsoft",
        "vendor_url": "http://www.microsoft.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "MSEdge-Win10-VMWare-disk1.vmdk"
                },
                "name": "10 w/ Edge"
            },
            {
                "images": {
                    "hda_disk_image": "MSEdge_-_Win10_preview.vmdk"
                },
                "name": "10 w/ Edge (Preview)"
            },
            {
                "images": {
                    "hda_disk_image": "IE11_-_Win8.1-disk1.vmdk"
                },
                "name": "8.1 w/ IE11"
            },
            {
                "images": {
                    "hda_disk_image": "IE11_-_Win7-disk1.vmdk"
                },
                "name": "7 w/ IE11"
            },
            {
                "images": {
                    "hda_disk_image": "IE10_-_Win7-disk1.vmdk"
                },
                "name": "7 w/ IE10"
            },
            {
                "images": {
                    "hda_disk_image": "IE9_-_Win7-disk1.vmdk"
                },
                "name": "7 w/ IE9"
            },
            {
                "images": {
                    "hda_disk_image": "IE8_-_Win7-disk1.vmdk"
                },
                "name": "7 w/ IE8"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "ClearOS is an operating system for your Server, Network, and Gateway systems. It is designed for homes, small to medium businesses, and distributed environments. ClearOS is commonly known as the Next Generation Small Business Server, while including indispensable Gateway and Networking functionality. It delivers a powerful IT solution with an elegant user interface that is completely web-based. Simply put.. ClearOS is the new way of delivering IT.",
        "documentation_url": "https://www.clearos.com/resources/documentation/clearos-7-documentation-overview",
        "images": [
            {
                "download_url": "https://www.clearos.com/clearfoundation/software/clearos-downloads",
                "filename": "ClearOS-7.4-DVD-x86_64.iso",
                "filesize": 1029701632,
                "md5sum": "826da592f9cd4b59f5fc996ff2d569f1",
                "version": "7.4"
            },
            {
                "download_url": "https://www.clearos.com/clearfoundation/software/clearos-downloads",
                "filename": "ClearOS-7.3-DVD-x86_64.iso",
                "filesize": 884998144,
                "md5sum": "1bae8b2d7abe1bc72665a270f10a5149",
                "version": "7.3"
            },
            {
                "download_url": "https://www.clearos.com/clearfoundation/software/clearos-downloads",
                "filename": "ClearOS-7.2-DVD-x86_64.iso",
                "filesize": 855638016,
                "md5sum": "a094763e6ed5d9b073fd4e651f9a48f1",
                "version": "7.2"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "ClearOS CE",
        "product_name": "ClearOS CE",
        "product_url": "https://www.clearos.com/clearfoundation/software/clearos-7-community",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 3,
            "arch": "x86_64",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Follow the installer.",
        "vendor_name": "ClearCenter, Corp.",
        "vendor_url": "https://www.clearos.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "ClearOS-7.4-DVD-x86_64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "7.4"
            },
            {
                "images": {
                    "cdrom_image": "ClearOS-7.3-DVD-x86_64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "7.3"
            },
            {
                "images": {
                    "cdrom_image": "ClearOS-7.2-DVD-x86_64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "7.2"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Zeroshell is a Linux distribution for servers and embedded devices aimed at providing the main network services a LAN requires. It is available in the form of Live CD or Compact Flash image and you can configure and administer it using your web browser.",
        "documentation_url": "http://www.zeroshell.org/documentation/",
        "images": [
            {
                "compression": "gzip",
                "direct_download_url": "http://www.zeroshell.net/listing/ZeroShell-3.8.2-X86-USB.img.gz",
                "download_url": "http://www.zeroshell.org/download/",
                "filename": "ZeroShell-3.8.2-X86-USB.img",
                "filesize": 1992294400,
                "md5sum": "bb8c7f24c86eb59e26ce36ff1979ecd4",
                "version": "3.8.2"
            },
            {
                "compression": "gzip",
                "direct_download_url": "http://www.zeroshell.net/listing/ZeroShell-3.8.1-X86-USB.img.gz",
                "download_url": "http://www.zeroshell.org/download/",
                "filename": "ZeroShell-3.8.1-X86-USB.img",
                "filesize": 1992294400,
                "md5sum": "49256e396d160e88fbc3a3889e172482",
                "version": "3.8.1"
            },
            {
                "compression": "gzip",
                "direct_download_url": "http://www.zeroshell.net/listing/ZeroShell-3.8.0-X86-USB.img.gz",
                "download_url": "http://www.zeroshell.org/download/",
                "filename": "ZeroShell-3.8.0-X86-USB.img",
                "filesize": 1992294400,
                "md5sum": "a16d584c831f3e88ea442a2343d71cfa",
                "version": "3.8.0"
            },
            {
                "compression": "gzip",
                "direct_download_url": "http://www.zeroshell.net/listing/ZeroShell-3.7.1-USB.img.gz",
                "download_url": "http://www.zeroshell.org/download/",
                "filename": "ZeroShell-3.7.1-USB.img",
                "filesize": 1992294400,
                "md5sum": "22e739a24dc1c233d3eca5d8fedc97c8",
                "version": "3.7.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "ZeroShell",
        "product_name": "ZeroShell",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "vnc",
            "kvm": "allow",
            "ram": 256
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default WebUI credentials: admin / zeroshell",
        "vendor_name": "Fulvio Ricciardi",
        "vendor_url": "http://www.zeroshell.org",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "ZeroShell-3.8.2-X86-USB.img"
                },
                "name": "3.8.2"
            },
            {
                "images": {
                    "hda_disk_image": "ZeroShell-3.8.1-X86-USB.img"
                },
                "name": "3.8.1"
            },
            {
                "images": {
                    "hda_disk_image": "ZeroShell-3.8.0-X86-USB.img"
                },
                "name": "3.8.0"
            },
            {
                "images": {
                    "hda_disk_image": "ZeroShell-3.7.1-USB.img"
                },
                "name": "3.7.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "The vQFX10000 makes it easy for you to try out our physical QFX10000 high-performance data center switch without the wait for physical delivery. Although the virtual version has limited performance relative to the physical switch, it lets you quickly emulate the same features for the control plane of the physical switch, or both its control and data planes.",
        "documentation_url": "http://www.juniper.net/techpubs/",
        "images": [
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/",
                "filename": "vqfx10k-re-15.1X53-D60.vmdk",
                "filesize": 355542528,
                "md5sum": "758669e88213fbd7943f5da7f6d7bd59",
                "version": "15.1X53-D60"
            }
        ],
        "maintainer": "none",
        "maintainer_email": "developers@gns3.net",
        "name": "Juniper vQFX RE",
        "port_name_format": "em{0}",
        "product_name": "Juniper vQFX RE",
        "product_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 12,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "options": "-nographic -smp 2",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": "juniper-vqfx.svg",
        "usage": "Initial username is root, password is Juniper (capitol J).\n\nUSAGE INSTRUCTIONS\n\nConnect the first interface (em0) to your admin VLAN. Connect the second interface (em1) directly to the second interface (em1) of the PFE. The switch ports connect here on the RE",
        "vendor_name": "Juniper",
        "vendor_url": "https://www.juniper.net/us/en/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "vqfx10k-re-15.1X53-D60.vmdk"
                },
                "name": "15.1X53-D60"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Breaches to network security continue to occur across all industry verticals, even to the most respected brands. The time it takes to discover, isolate, and remediate the incident continues to be measured in hundreds of days-having material impacts on security and compliance standards. It is no wonder that many organizations are struggling. As recent surveys have shown, enterprises have an average of 32 different vendors' devices in their network, with no automated ability to cross-correlate the data that each is collecting. It is also easy to see why organizations are strapped for the cyber security personnel they need to manage all the data in these complex environments.\n\nFrom its inception, FortiSIEM was built to reduce complexity in managing network and security operations. FortiSIEM provides organizations of all sizes with a comprehensive, holistic, and scalable solution for managing security, performance, and compliance from IoT to the cloud.",
        "documentation_url": "http://docs.fortinet.com/fortisiem/admin-guides",
        "images": [
            {
                "download_url": "https://www.fortinet.com/offers/fortisiem-free-trial.html",
                "filename": "FortiSIEM-VA-KVM-4.10.0.1102.qcow2",
                "filesize": 8622505984,
                "md5sum": "636d94c78ea02e5a39eadb9d44210dfb",
                "version": "4.10.0"
            },
            {
                "download_url": "https://www.fortinet.com/offers/fortisiem-free-trial.html",
                "filename": "FortiSIEM-VA-KVM-4.10.0.1102-1.qcow2",
                "filesize": 46858240,
                "md5sum": "52fee02e94fd220275b613a4ec5b46eb",
                "version": "4.10.0"
            },
            {
                "download_url": "https://www.fortinet.com/offers/fortisiem-free-trial.html",
                "filename": "FortiSIEM-VA-KVM-4.10.0.1102-2.qcow2",
                "filesize": 46858240,
                "md5sum": "088a34864e30abdb95385b089574baba",
                "version": "4.10.0"
            },
            {
                "download_url": "https://www.fortinet.com/offers/fortisiem-free-trial.html",
                "filename": "FortiSIEM-VA-KVM-4.9.0.1041.qcow2",
                "filesize": 8484487168,
                "md5sum": "c2db828b6985297b33833f376c5106b0",
                "version": "4.9.0"
            },
            {
                "download_url": "https://www.fortinet.com/offers/fortisiem-free-trial.html",
                "filename": "FortiSIEM-VA-KVM-4.9.0.1041-1.qcow2",
                "filesize": 46858240,
                "md5sum": "b3f0cd44995f37648aa429303eeeb455",
                "version": "4.9.0"
            },
            {
                "download_url": "https://www.fortinet.com/offers/fortisiem-free-trial.html",
                "filename": "FortiSIEM-VA-KVM-4.9.0.1041-2.qcow2",
                "filesize": 46858240,
                "md5sum": "70a8abb4253d5bb724ded3b33a8385c4",
                "version": "4.9.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiSIEM",
        "port_name_format": "Port{port1}",
        "product_name": "FortiSIEM",
        "product_url": "https://www.fortinet.com/products/siem/fortisiem.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "hdc_disk_interface": "virtio",
            "kvm": "require",
            "options": "-smp 4",
            "ram": 16384
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "This is the Super/Worker component. Default credentials:\n- admin / admin*1\n - root / ProspectHills\n\nIf you get a 503 error on the WebUI, run /opt/phoenix/deployment/jumpbox/phinitsuper as root.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FortiSIEM-VA-KVM-4.10.0.1102.qcow2",
                    "hdb_disk_image": "FortiSIEM-VA-KVM-4.10.0.1102-1.qcow2",
                    "hdc_disk_image": "FortiSIEM-VA-KVM-4.10.0.1102-2.qcow2"
                },
                "name": "4.10.0"
            },
            {
                "images": {
                    "hda_disk_image": "FortiSIEM-VA-KVM-4.9.0.1041.qcow2",
                    "hdb_disk_image": "FortiSIEM-VA-KVM-4.9.0.1041-1.qcow2",
                    "hdc_disk_image": "FortiSIEM-VA-KVM-4.9.0.1041-2.qcow2"
                },
                "name": "4.9.0"
            }
        ]
    },
    {
        "availability": "service-contract",
        "builtin": true,
        "category": "firewall",
        "description": "This is your administrative nerve center for managing critical Cisco network security solutions. It provides complete and unified management over firewalls, application control, intrusion prevention, URL filtering, and advanced malware protection. Easily go from managing a firewall to controlling applications to investigating and remediating malware outbreaks.",
        "documentation_url": "http://www.cisco.com/c/en/us/td/docs/security/firepower/quick_start/kvm/fmcv-kvm-qsg.html",
        "first_port_name": "eth0",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "Cisco_Firepower_Management_Center_Virtual-6.0.0-1005-disk1.vmdk",
                "filesize": 1681540608,
                "md5sum": "3fed60f1e7d6910c22d13e966acebd7f",
                "version": "6.0.0 (1005) vmdk"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "Cisco_Firepower_Management_Center_Virtual-6.1.0-330.qcow2",
                "filesize": 1909391360,
                "md5sum": "e3c64179ec46671caeb7ac3e4e58064f",
                "version": "6.1.0 (330)"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "Cisco_Firepower_Management_Center_Virtual_VMware-6.1.0-330-disk1.vmdk",
                "filesize": 1938142720,
                "md5sum": "8bc77b317cf0007dcbb0f187c1a0c01f",
                "version": "6.1.0 (330) vmdk"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "Cisco_Firepower_Management_Center_Virtual-6.2.0-362.qcow2",
                "filesize": 1949302784,
                "md5sum": "26e66882bf5f68adc0eca2f6bef7b613",
                "version": "6.2.0 (362)"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "Cisco_Firepower_Management_Center_Virtual_VMware-6.2.0-362-disk1.vmdk",
                "filesize": 1983376384,
                "md5sum": "772165cbda3c183bb0e77a1923dd4d09",
                "version": "6.2.0 (362) vmdk"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "Cisco_Firepower_Management_Center_Virtual-6.2.1-342.qcow2",
                "filesize": 2113732608,
                "md5sum": "29ebbbe71a6b766f6dea81e5ca32c275",
                "version": "6.2.1 (342)"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "Cisco_Firepower_Management_Center_Virtual_VMware-6.2.1-342-disk1.vmdk",
                "filesize": 2150017536,
                "md5sum": "4cf5b7fd68075b6f7ee0dd41a4029ca0",
                "version": "6.2.1 (342) vmdk"
            }
        ],
        "maintainer": "Community",
        "maintainer_email": "",
        "name": "Cisco FMCv",
        "port_name_format": "eth{port1}",
        "product_name": "Cisco Firepower Management Center Virtual",
        "product_url": "http://www.cisco.com/c/en/us/td/docs/security/firepower/quick_start/kvm/fmcv-kvm-qsg.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 1,
            "arch": "x86_64",
            "console_type": "telnet",
            "cpus": 4,
            "hda_disk_interface": "scsi",
            "kvm": "require",
            "options": "",
            "ram": 8192
        },
        "registry_version": 4,
        "status": "experimental",
        "symbol": "cisco-fmcv.svg",
        "usage": "BE PATIENT\nOn first boot FMCv generates about 6GB of data. This can take 30 minutes or more. Plan on a long wait after the following line in the boot up:\n\n    usbcore: registered new interface driver usb-storage\n\nInitial IP address: 192.168.45.45.\n\nDefault username/password: admin/Admin123.",
        "vendor_name": "Cisco Systems",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual-6.0.0-1005-disk1.vmdk"
                },
                "name": "6.0.0 (1005) vmdk"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual-6.1.0-330.qcow2"
                },
                "name": "6.1.0 (330)"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual_VMware-6.1.0-330-disk1.vmdk"
                },
                "name": "6.1.0 (330) vmdk"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual-6.2.0-362.qcow2"
                },
                "name": "6.2.0 (362)"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual_VMware-6.2.0-362-disk1.vmdk"
                },
                "name": "6.2.0 (362) vmdk"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual-6.2.1-342.qcow2"
                },
                "name": "6.2.1 (342)"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Management_Center_Virtual_VMware-6.2.1-342-disk1.vmdk"
                },
                "name": "6.2.1 (342) vmdk"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "The Cisco Cloud Services Router 1000V (CSR 1000V) is a router and network services platform in virtual form factor that is intended for deployment in cloud and virtual data centers. It is optimized to serve as a single-tenant or multitenant WAN gateway. Using proven, industry-leading Cisco IOS\u00ae XE Software networking and security features, the CSR 1000V enables enterprises to transparently extend their WANs into external provider-hosted clouds and cloud providers to offer their tenants enterprise-class networking services.",
        "documentation_url": "http://www.cisco.com/c/en/us/support/routers/cloud-services-router-1000v-series/products-installation-and-configuration-guides-list.html",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284364978&flowid=39582&softwareid=282046477&release=Fuji-16.7.1",
                "filename": "csr1000v-universalk9.16.07.01-serial.qcow2",
                "filesize": 884539392,
                "md5sum": "bad9000d4ae8317bbc99a34a8cdd2eb4",
                "version": "16.7.1"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284364978&flowid=39582&softwareid=282046477&release=Everest-16.6.2",
                "filename": "csr1000v-universalk9.16.06.02-serial.qcow2",
                "filesize": 1570242560,
                "md5sum": "11e393b31ab9d1ace8e5f7551c491ba2",
                "version": "16.6.2"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284364978&flowid=39582&softwareid=282046477&release=Everest-16.6.1",
                "filename": "csr1000v-universalk9.16.06.01-serial.qcow2",
                "filesize": 1566179328,
                "md5sum": "909e74446d3ff0b82c14327c0058fdc2",
                "version": "16.6.1"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284364978&flowid=39582&softwareid=282046477&release=Everest-16.5.2",
                "filename": "csr1000v-universalk9.16.05.02-serial.qcow2",
                "filesize": 1322385408,
                "md5sum": "59a84da28d59ee75176aa05ecde7f72a",
                "version": "16.5.2"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "csr1000v-universalk9.16.5.1b-serial.qcow2",
                "filesize": 1209543680,
                "md5sum": "ac11d33041b8ff6dc3553e324d02cccb",
                "version": "16.5.1b"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "csr1000v-universalk9.03.17.00.S.156-1.S-ext.qcow2",
                "filesize": 1346305024,
                "md5sum": "06cbfcd11f3557391db64fe2a6015a6e",
                "version": "3.17"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "csr1000v-universalk9.16.3.1-build2.qcow2",
                "filesize": 1280835584,
                "md5sum": "a770e96de928265515304c9c9d6b46b9",
                "version": "16.3.1-build2"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284364978&softwareid=282046477&release=Denali-16.3.1",
                "filename": "csr1000v-universalk9.16.03.01.qcow2",
                "filesize": 1351352320,
                "md5sum": "0a7f3a4b93d425c2dcb2df5505816fa5",
                "version": "16.3.1"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "csr1000v-universalk9.16.03.02.qcow2",
                "filesize": 1167720448,
                "md5sum": "2e5803d23cd52cba5d55fa8306be5f13",
                "version": "16.3.2"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "csr1000v-universalk9.16.4.1.qcow2",
                "filesize": 1261961216,
                "md5sum": "3428e0dcf5132a1b11ab7696d8c61b2e",
                "version": "16.4.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco CSR1000v",
        "port_name_format": "Gi{port1}",
        "product_name": "CSR1000v",
        "product_url": "http://www.cisco.com/c/en/us/support/routers/cloud-services-router-1000v-series/tsd-products-support-series-home.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "ram": 3072
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "There is no default password and enable password. A default configuration is present.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.16.07.01-serial.qcow2"
                },
                "name": "16.7.1"
            },
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.16.06.02-serial.qcow2"
                },
                "name": "16.6.2"
            },
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.16.06.01-serial.qcow2"
                },
                "name": "16.6.1"
            },
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.16.05.02-serial.qcow2"
                },
                "name": "16.5.2"
            },
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.16.5.1b-serial.qcow2"
                },
                "name": "16.5.1b"
            },
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.03.17.00.S.156-1.S-ext.qcow2"
                },
                "name": "3.17"
            },
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.16.03.01.qcow2"
                },
                "name": "16.3.1"
            },
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.16.3.1-build2.qcow2"
                },
                "name": "16.3.1-build2"
            },
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.16.03.02.qcow2"
                },
                "name": "16.3.2"
            },
            {
                "images": {
                    "hda_disk_image": "csr1000v-universalk9.16.4.1.qcow2"
                },
                "name": "16.4.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "The Virtual Wireless Controller can cost-effectively manage, secure, and optimize the performance of local and branch wireless networks. Ideal for small and medium-sized businesses, the Virtual Wireless Controller facilitates server consolidation and improves business continuity in the face of outages.",
        "documentation_url": "http://www.cisco.com/c/en/us/products/wireless/wireless-lan-controller/index.html",
        "first_port_name": "ServicePort",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=7.3.101.0",
                "filename": "Cisco-vWLC-AIR-CTVM-7-3-101-0-file1.iso",
                "filesize": 157900800,
                "md5sum": "6bf17dceaf46e57aab0fb0d43eb6ea06",
                "version": "7.3.101.0"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=7.6.110.0",
                "filename": "AIR-CTVM-7-6-110-0-file1.iso",
                "filesize": 185561088,
                "md5sum": "7acbd88120f008a25d849b72b7207e92",
                "version": "7.6.110.0"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.1.120.0",
                "filename": "AIR-CTVM-k9-8-1-120.0.iso",
                "filesize": 302104576,
                "md5sum": "477363f88f07f64499bb4ab80ffa9d2f",
                "version": "8.1.120.0"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.2.141.0",
                "filename": "MFG_CTVM_8_2_141_0.iso",
                "filesize": 351156224,
                "md5sum": "29483229ce7844df55a90564b077c958",
                "version": "8.2.141.0"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.3.102.0",
                "filename": "MFG_CTVM_8_3_102_0.iso",
                "filesize": 365996032,
                "md5sum": "7f6b7968b5bed04b5ecc119b6ba4e41c",
                "version": "8.3.102.0"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty8G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty8G.qcow2",
                "filesize": 197120,
                "md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco vWLC",
        "port_name_format": "Management{port1}",
        "product_name": "Virtual Wireless LAN Controller",
        "product_url": "http://www.cisco.com/c/en/us/support/wireless/virtual-wireless-controller/tsd-products-support-series-home.html",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 2,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "ide",
            "kvm": "require",
            "options": "",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": ":/symbols/wlan_controller.svg",
        "usage": "Starting vWLC will start an installation of vWLC onto a blank 8GB Drive.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "AIR-CTVM-k9-8-1-120.0.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "8.1.120.0"
            },
            {
                "images": {
                    "cdrom_image": "MFG_CTVM_8_2_141_0.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "8.2.141.0"
            },
            {
                "images": {
                    "cdrom_image": "MFG_CTVM_8_3_102_0.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "8.3.102.0"
            }
        ]
    },
    {
        "availability": "service-contract",
        "builtin": true,
        "category": "firewall",
        "description": "Cisco Firepower Threat Defense Virtual NGFW appliances combine Cisco's proven network firewall with the industry\u2019s most effective next-gen IPS and advanced malware protection. All so you can get more visibility, be more flexible, save more, and protect better.",
        "documentation_url": "http://www.cisco.com/c/en/us/td/docs/security/firepower/quick_start/kvm/ftdv-kvm-qsg.html",
        "first_port_name": "Gigabit0/0 (Mgmt)",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.2.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.2.0-363.qcow2",
                "filesize": 1022885888,
                "md5sum": "fafdae94ead07b23d6c8dc5f7a731e74",
                "version": "6.2.0 (363)"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.2.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.2.0-363.vmdk",
                "filesize": 1042470912,
                "md5sum": "10297ab20526a8b1586c6ce1cd3d9cbd",
                "version": "6.2.0 (363) vmdk"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.1.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.1.0-330.qcow2",
                "filesize": 1004601344,
                "md5sum": "386ab2b3d6d1d28fd2cd03a83df5e00f",
                "version": "6.1.0 (330)"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.1.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.1.0-330.vmdk",
                "filesize": 1024162816,
                "md5sum": "c1fa58448841b33d5eed6854dc608816",
                "version": "6.1.0 (330) vmdk"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286306503&catid=268438162&softwareid=286306337&release=6.0.1&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "Cisco_Firepower_Threat_Defense_Virtual-6.0.1-1213.vmdk",
                "filesize": 714577408,
                "md5sum": "bc53461e2ec344814e41a6a8d3a5f774",
                "version": "6.0.1 (1213) vmdk"
            }
        ],
        "maintainer": "Community",
        "maintainer_email": "",
        "name": "Cisco FTDv",
        "port_name_format": "Gigabit0/{port1}",
        "product_name": "Cisco FTDv",
        "product_url": "http://www.cisco.com/c/en/us/td/docs/security/firepower/quick_start/kvm/ftdv-kvm-qsg.html",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 10,
            "arch": "x86_64",
            "console_type": "telnet",
            "cpus": 4,
            "hda_disk_interface": "ide",
            "kvm": "require",
            "ram": 8192
        },
        "registry_version": 4,
        "status": "experimental",
        "symbol": ":/symbols/asa.svg",
        "usage": "Default username/password: admin/Admin123.",
        "vendor_name": "Cisco Systems",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.2.0-363.qcow2"
                },
                "name": "6.2.0 (363)"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.2.0-363.vmdk"
                },
                "name": "6.2.0 (363) vmdk"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.1.0-330.qcow2"
                },
                "name": "6.1.0 (330)"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.1.0-330.vmdk"
                },
                "name": "6.1.0 (330) vmdk"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_Threat_Defense_Virtual-6.0.1-1213.vmdk"
                },
                "name": "6.0.1 (1213) vmdk"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "The VM-Series combines next-generation firewall security and advanced threat prevention to protect your virtualized environments from advanced cyberthreats. The VM-Series natively analyzes all traffic in a single pass to determine the application identity, the content within, and the user identity.",
        "documentation_url": "https://www.paloaltonetworks.com/documentation/80/virtualization/virtualization",
        "first_port_name": "management",
        "images": [
            {
                "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/",
                "filename": "PA-VM-ESX-8.1.0-disk1.vmdk",
                "filesize": 2281454080,
                "md5sum": "49af8e8225c2e90414bde0be15eaf421",
                "version": "8.1.0"
            },
            {
                "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/",
                "filename": "PA-VM-KVM-8.1.0.qcow2",
                "filesize": 2260467712,
                "md5sum": "459558515b965b2e43fde2842abbae66",
                "version": "8.1.0"
            },
            {
                "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/",
                "filename": "PA-VM-ESX-8.0.0-disk1.vmdk",
                "filesize": 2002713088,
                "md5sum": "a505fb1dbcc855ecf98630fd5d329f9a",
                "version": "8.0.0"
            },
            {
                "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/",
                "filename": "PA-VM-KVM-8.0.0.qcow2",
                "filesize": 1987444736,
                "md5sum": "b6a1ddc8552aff87f05f9c0d4cb54dc3",
                "version": "8.0.0"
            },
            {
                "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/",
                "filename": "PA-VM-ESX-7.1.0-disk1.vmdk",
                "filesize": 1871149056,
                "md5sum": "e044dc649b7146ee4f619edb0e5f6675",
                "version": "7.1.0 (ESX)"
            },
            {
                "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/",
                "filename": "PA-VM-KVM-7.1.0.qcow2",
                "filesize": 1858797568,
                "md5sum": "da300253709740068927408239c2e321",
                "version": "7.1.0"
            },
            {
                "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/",
                "filename": "PA-VM-ESX-6.1.0-disk1.vmdk",
                "filesize": 2959736832,
                "md5sum": "64b1e81cd54008318235832ea6d71424",
                "version": "6.1.0 (ESX)"
            }
        ],
        "maintainer": "Community",
        "maintainer_email": "",
        "name": "PA-VM",
        "port_name_format": "ethernet1/{port1}",
        "product_name": "PAN VM-Series Firewall",
        "product_url": "https://www.paloaltonetworks.com/products/secure-the-network/virtualized-next-generation-firewall/vm-series",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 25,
            "arch": "x86_64",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "options": "-smp 2",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": "pan-vm-fw.svg",
        "usage": "Default Username: admin\r\nDefault Password: admin\r\nPAN-VM goes through several iterations of host prompts during boot. This is normal and expected.\r\nLogin is available when prompt is PA-VM login:\r\n\r\nGetting Started:\r\nTo configure a static IP address at the console enter the following commands:\r\n\r\nconfigure\r\nset deviceconfig system ip-address <Static IP> netmask <Netmask> default-gateway <Gateway IP> type static\r\nset deviceconfig system dns-setting servers primary <DNS Server IP> secondary <DNS Server IP>\r\ncommit\r\n",
        "vendor_name": "Palo Alto Networks",
        "vendor_url": "http://www.paloaltonetworks.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "PA-VM-ESX-8.1.0-disk1.vmdk"
                },
                "name": "8.1.0 (ESX)"
            },
            {
                "images": {
                    "hda_disk_image": "PA-VM-KVM-8.1.0.qcow2"
                },
                "name": "8.1.0"
            },
            {
                "images": {
                    "hda_disk_image": "PA-VM-ESX-8.0.0-disk1.vmdk2"
                },
                "name": "8.0.0 (ESX)"
            },
            {
                "images": {
                    "hda_disk_image": "PA-VM-KVM-8.0.0.qcow2"
                },
                "name": "8.0.0"
            },
            {
                "images": {
                    "hda_disk_image": "PA-VM-ESX-7.1.0-disk1.vmdk"
                },
                "name": "7.1.0 (ESX)"
            },
            {
                "images": {
                    "hda_disk_image": "PA-VM-KVM-7.1.0.qcow2"
                },
                "name": "7.1.0"
            },
            {
                "images": {
                    "hda_disk_image": "PA-VM-ESX-6.1.0-disk1.vmdk"
                },
                "name": "6.1.0 (ESX)"
            }
        ]
    },
    {
        "availability": "free",
        "builtin": true,
        "category": "guest",
        "description": "The CentOS Linux distribution is a stable, predictable, manageable and reproducible platform derived from the sources of Red Hat Enterprise Linux (RHEL). We are now looking to expand on that by creating the resources needed by other communities to come together and be able to build on the CentOS Linux platform. And today we start the process by delivering a clear governance model, increased transparency and access. In the coming weeks we aim to publish our own roadmap that includes variants of the core CentOS Linux.",
        "documentation_url": "https://wiki.centos.org/",
        "images": [
            {
                "download_url": "http://www.osboxes.org/centos/",
                "filename": "CentOS 7-1611 (64bit).vmdk",
                "filesize": 4365877248,
                "md5sum": "1da15f6144eab25c8546f81dd1c34092",
                "version": "7-1611"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Centos",
        "port_name_format": "eth{0}",
        "product_name": "Centos",
        "product_url": "https://www.centos.org/download/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "spice",
            "hda_disk_interface": "ide",
            "kvm": "require",
            "options": "-vga qxl",
            "ram": 2048
        },
        "registry_version": 5,
        "status": "stable",
        "usage": "Username: osboxes.org\nPassword: osboxes.org",
        "vendor_name": "CentOS Linux",
        "vendor_url": "https://www.centos.org/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "CentOS 7-1611 (64bit).vmdk"
                },
                "name": "7-1611"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "Today's threats are increasingly sophisticated and often bypass traditional malware security by masking their malicious activity. A sandbox augments your security architecture by validating threats in a separate, secure environment. FortiSandbox offers a powerful combination of advanced detection, automated mitigation, actionable insight, and flexible deployment to stop targeted attacks and subsequent data loss. It's also a key component of our Advanced Threat Protection solution.",
        "documentation_url": "http://docs.fortinet.com/fortisandbox/admin-guides",
        "images": [
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FSA_KVM-v200-build0329-FORTINET.out.kvm.qcow2",
                "filesize": 114491904,
                "md5sum": "782ba56a644d78da59b89f4ac91bd319",
                "version": "2.5.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FSA_KVM-v200-build0261-FORTINET.out.kvm.qcow2",
                "filesize": 98763264,
                "md5sum": "6551ccca8ffe6333742dad54770a01cd",
                "version": "2.4.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FSA_KVM-v200-build0252-FORTINET.out.kvm.qcow2",
                "filesize": 99811840,
                "md5sum": "47a4489e617f165b92fd8dda68e00bf2",
                "version": "2.4.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FSA_KVM-v200-build0205-FORTINET.out.kvm.qcow2",
                "filesize": 94962176,
                "md5sum": "1ecb0acf1604bdeee0beb1b75864ca99",
                "version": "2.3.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FSA_KVM-v200-build0195-FORTINET.out.kvm.qcow2",
                "filesize": 115868160,
                "md5sum": "00147d048c8002c98aa55d73f022204d",
                "version": "2.3.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FSA_VM-v200-build0183-FORTINET.out.kvm.qcow2",
                "filesize": 118226944,
                "md5sum": "2ff03862e33c8a826a0bce10be12f45e",
                "version": "2.3.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FSA_v200-datadrive.qcow2",
                "filesize": 200192,
                "md5sum": "f2dc0a8fc7591699c364aff400369157",
                "version": "2.x"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiSandbox",
        "port_name_format": "Port{port1}",
        "product_name": "FortiSandbox",
        "product_url": "https://www.fortinet.com/products/sandbox/fortisandbox.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 3,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "require",
            "options": "-smp 2",
            "ram": 8096
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "First boot will take some time without console output. Default username is admin, no password is set.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FSA_KVM-v200-build0329-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FSA_v200-datadrive.qcow2"
                },
                "name": "2.5.1"
            },
            {
                "images": {
                    "hda_disk_image": "FSA_KVM-v200-build0261-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FSA_v200-datadrive.qcow2"
                },
                "name": "2.4.1"
            },
            {
                "images": {
                    "hda_disk_image": "FSA_KVM-v200-build0252-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FSA_v200-datadrive.qcow2"
                },
                "name": "2.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "FSA_KVM-v200-build0205-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FSA_v200-datadrive.qcow2"
                },
                "name": "2.3.3"
            },
            {
                "images": {
                    "hda_disk_image": "FSA_KVM-v200-build0195-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FSA_v200-datadrive.qcow2"
                },
                "name": "2.3.2"
            },
            {
                "images": {
                    "hda_disk_image": "FSA_VM-v200-build0183-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FSA_v200-datadrive.qcow2"
                },
                "name": "2.3.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "The CloudRouter Project is a collaborative open source project focused on developing a powerful, easy to use router designed for the cloud.\nCompute resources are rapidly migrating from physical infrastructure to a combination of physical, virtual and cloud environments. A similar transition is emerging in the networking space, with network control logic shifting from proprietary hardware-based platforms to open source software-based platforms. CloudRouter is a software-based router distribution designed to run on physical, virtual and cloud environments, supporting software-defined networking infrastructure. It includes the features of traditional hardware routers, as well as support for emerging technologies such as containers and software-defined interconnection. CloudRouter aims to facilitate migration to the cloud without giving up control over network routing and governance.",
        "documentation_url": "https://cloudrouter.atlassian.net/wiki/display/CPD/CloudRouter+Project+Information",
        "images": [
            {
                "compression": "xz",
                "direct_download_url": "https://repo.cloudrouter.org/4/centos/7/images/cloudrouter-centos-cloud-full.raw.xz",
                "download_url": "https://cloudrouter.atlassian.net/wiki/display/CPD/CloudRouter+Downloads",
                "filename": "cloudrouter-centos-cloud-full.raw",
                "filesize": 10737418240,
                "md5sum": "d148288ecc0806e08f8347ef0ad755e8",
                "version": "4.0 Full"
            },
            {
                "compression": "xz",
                "direct_download_url": "https://repo.cloudrouter.org/4/centos/7/images/cloudrouter-centos-cloud-minimal.raw.xz",
                "download_url": "https://cloudrouter.atlassian.net/wiki/display/CPD/CloudRouter+Downloads",
                "filename": "cloudrouter-centos-cloud-minimal.raw",
                "filesize": 10737418240,
                "md5sum": "8d982a37a49bc446a0edc59cefcadcdb",
                "version": "4.0 Minimal"
            },
            {
                "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/cloudrouter-init-gns3.iso/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "cloudrouter-init-gns3.iso",
                "filesize": 374784,
                "md5sum": "8cfb7e338bf241cc64abc084243e9be1",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "CloudRouter",
        "port_name_format": "eth{0}",
        "product_name": "CloudRouter",
        "product_url": "https://cloudrouter.org/about/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 16,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default credentials: cloudrouter / gns3",
        "vendor_name": "CloudRouter Community",
        "vendor_url": "https://cloudrouter.org/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "cloudrouter-init-gns3.iso",
                    "hda_disk_image": "cloudrouter-centos-cloud-full.raw"
                },
                "name": "4.0 Full"
            },
            {
                "images": {
                    "cdrom_image": "cloudrouter-init-gns3.iso",
                    "hda_disk_image": "cloudrouter-centos-cloud-minimal.raw"
                },
                "name": "4.0 Minimal"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "The vSRX delivers core firewall, networking, advanced security, and automated lifecycle management capabilities for enterprises and service providers. The industry\u2019s fastest virtual security platform, the vSRX offers firewall speeds up to 17 Gbps using only two virtual CPUs, providing scalable, secure protection across private, public, and hybrid clouds.\n\nJuniper version 12 can support only 1GB of ram.",
        "documentation_url": "http://www.juniper.net/techpubs/",
        "first_port_name": "fxp0",
        "images": [
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "media-vsrx-vmdisk-17.4R1.16.qcow2",
                "filesize": 3965386752,
                "md5sum": "616c4742b09652318c73a7cc598468e7",
                "version": "17.4R1"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "media-vsrx-vmdisk-17.3R1.10.qcow2",
                "filesize": 3782541312,
                "md5sum": "49b276e9ccdd8588f9e2ff38cccc884a",
                "version": "17.3R1"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "media-vsrx-vmdisk-15.1X49-D120.3.qcow2",
                "filesize": 3280273408,
                "md5sum": "02cf4df3dc988a407ccd5ddc30ee5385",
                "version": "15.1X49-D120"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "media-vsrx-vmdisk-15.1X49-D110.4.qcow2",
                "filesize": 3280011264,
                "md5sum": "8d74641594eb036b2e2c6b462d541156",
                "version": "15.1X49-D110"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "media-vsrx-vmdisk-15.1X49-D100.6.qcow2",
                "filesize": 3279290368,
                "md5sum": "aa29686dd6f2d38f668f23cb4bc9f354",
                "version": "15.1X49-D100"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "media-vsrx-vmdisk-15.1X49-D90.7.qcow2",
                "filesize": 3189440512,
                "md5sum": "a64f3910054d461c4bbb32620008cba3",
                "version": "15.1X49-D90"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "media-vsrx-vmdisk-15.1X49-D80.4.qcow2",
                "filesize": 3186884608,
                "md5sum": "ceb9d06a827c8f8bfb4fd1c9065bdd20",
                "version": "15.1X49-D80"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "media-vsrx-vmdisk-15.1X49-D75.5.qcow2",
                "filesize": 3116236800,
                "md5sum": "197f167f338420d36a6db0f4e84ad376",
                "version": "15.1X49-D75"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "media-vsrx-vmdisk-15.1X49-D70.3.qcow2",
                "filesize": 3115450368,
                "md5sum": "7b11babaef0b775f36281ec1d16f1708",
                "version": "15.1X49-D70"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "junos-vsrx-vmdisk-15.1X49-D60.qcow2",
                "filesize": 3094478848,
                "md5sum": "d2ec79880f67e141c4dd662c656da278",
                "version": "15.1X49-D60"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "junos-vsrx-vmdisk-15.1X49-D50.qcow2",
                "filesize": 3063021568,
                "md5sum": "60e1b80603c2ecf8aa9920c384209863",
                "version": "15.1X49-D50"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "junos-vsrx-vmdisk-15.1X49-D40.qcow2",
                "filesize": 3054043136,
                "md5sum": "8d929c0262fd1eea3b3d02ef9e73c8c5",
                "version": "15.1X49-D40"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "junos-vsrx-vmdisk-15.1X49-D20.2.qcow2",
                "filesize": 2904096768,
                "md5sum": "43e8000870207db47c1382192319eb45",
                "version": "15.1X49-D20.2"
            },
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/",
                "filename": "junos-vsrx-12.1X47-D20.7-domestic-disk1.vmdk",
                "filesize": 235894272,
                "md5sum": "d22ed7a7eb131984e892a4430c5f4730",
                "version": "12.1X47-D20.7"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "vSRX",
        "port_name_format": "ge-0/0/{0}",
        "product_name": "Juniper vSRX",
        "product_url": "https://www.juniper.net/us/en/products-services/security/srx-series/vsrx/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 6,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "options": "-smp 2",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "experimental",
        "usage": "Initial username is root, no password.",
        "vendor_name": "Juniper",
        "vendor_url": "https://www.juniper.net/us/en/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "media-vsrx-vmdisk-17.4R1.16.qcow2"
                },
                "name": "17.4R1"
            },
            {
                "images": {
                    "hda_disk_image": "media-vsrx-vmdisk-17.3R1.10.qcow2"
                },
                "name": "17.3R1"
            },
            {
                "images": {
                    "hda_disk_image": "media-vsrx-vmdisk-15.1X49-D120.3.qcow2"
                },
                "name": "15.1X49-D120"
            },
            {
                "images": {
                    "hda_disk_image": "media-vsrx-vmdisk-15.1X49-D110.4.qcow2"
                },
                "name": "15.1X49-D110"
            },
            {
                "images": {
                    "hda_disk_image": "media-vsrx-vmdisk-15.1X49-D100.6.qcow2"
                },
                "name": "15.1X49-D100"
            },
            {
                "images": {
                    "hda_disk_image": "media-vsrx-vmdisk-15.1X49-D90.7.qcow2"
                },
                "name": "15.1X49-D90"
            },
            {
                "images": {
                    "hda_disk_image": "media-vsrx-vmdisk-15.1X49-D80.4.qcow2"
                },
                "name": "15.1X49-D80"
            },
            {
                "images": {
                    "hda_disk_image": "media-vsrx-vmdisk-15.1X49-D75.5.qcow2"
                },
                "name": "15.1X49-D75"
            },
            {
                "images": {
                    "hda_disk_image": "media-vsrx-vmdisk-15.1X49-D70.3.qcow2"
                },
                "name": "15.1X49-D70"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vsrx-vmdisk-15.1X49-D60.qcow2"
                },
                "name": "15.1X49-D60"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vsrx-vmdisk-15.1X49-D50.qcow2"
                },
                "name": "15.1X49-D50"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vsrx-vmdisk-15.1X49-D40.qcow2"
                },
                "name": "15.1X49-D40"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vsrx-vmdisk-15.1X49-D20.2.qcow2"
                },
                "name": "15.1X49-D20"
            },
            {
                "images": {
                    "hda_disk_image": "junos-vsrx-12.1X47-D20.7-domestic-disk1.vmdk"
                },
                "name": "12.1X47-D20"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "A Free firewall that includes its own security-hardened GNU/Linux operating system and an easy-to-use web interface.",
        "documentation_url": "https://sourceforge.net/projects/smoothwall/files/SmoothWall%20Manuals/",
        "images": [
            {
                "direct_download_url": "http://sourceforge.net/projects/smoothwall/files/SmoothWall/3.1/Express-3.1-x86_64.iso/download",
                "download_url": "http://www.smoothwall.org/download/",
                "filename": "Express-3.1-x86_64.iso",
                "filesize": 214206464,
                "md5sum": "cfaf7f11901a164cd00c07518c7311ba",
                "version": "3.1"
            },
            {
                "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty8G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty8G.qcow2",
                "filesize": 197120,
                "md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Smoothwall Express",
        "port_name_format": "eth{0}",
        "product_name": "Smoothwall Express",
        "product_url": "http://www.smoothwall.org/about/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "dc",
            "console_type": "vnc",
            "hda_disk_interface": "ide",
            "kvm": "allow",
            "ram": 256
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "WebUI can be accessed at https://GREEN_IP:441/ after installation. GREEN interface is used for the LAN, RED for the WAN connections. ORANGE and PURPLE can be used for DMZ.",
        "vendor_name": "Smoothwall Ltd.",
        "vendor_url": "http://www.smoothwall.org/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "Express-3.1-x86_64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "3.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco IOS on UNIX Layer 3 image.",
        "images": [
            {
                "filename": "i86bi-linux-l3-adventerprisek9-ms.155-2.T.bin",
                "filesize": 172982492,
                "md5sum": "45e99761a95cbd3ee3924ecf0f3d89e5",
                "version": "155-2T"
            },
            {
                "filename": "i86bi-linux-l3-adventerprisek9-15.4.1T.bin",
                "filesize": 152677848,
                "md5sum": "2eabae17778316c49cbc80e8e81262f9",
                "version": "15.4.1T"
            }
        ],
        "iou": {
            "ethernet_adapters": 2,
            "nvram": 128,
            "ram": 256,
            "serial_adapters": 2,
            "startup_config": "iou_l3_base_startup-config.txt"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco IOU L3",
        "product_name": "Cisco IOU L3",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "images": {
                    "image": "i86bi-linux-l3-adventerprisek9-ms.155-2.T.bin"
                },
                "name": "155-2T"
            },
            {
                "images": {
                    "image": "i86bi-linux-l3-adventerprisek9-15.4.1T.bin"
                },
                "name": "15.4.1T"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "ntopng is the next generation version of the original ntop, a network traffic probe that shows the network usage, similar to what the popular top Unix command does. ntopng is based on libpcap and it has been written in a portable way in order to virtually run on every Unix platform, MacOSX and on Windows as well. ntopng users can use a a web browser to navigate through ntop (that acts as a web server) traffic information and get a dump of the network status. In the latter case, ntopng can be seen as a simple RMON-like agent with an embedded web interface.",
        "docker": {
            "adapters": 1,
            "console_http_path": "/",
            "console_http_port": 3000,
            "console_type": "http",
            "image": "lucaderi/ntopng-docker:latest"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "ntopng",
        "product_name": "ntopng",
        "registry_version": 3,
        "status": "stable",
        "usage": "In the web interface login as admin/admin",
        "vendor_name": "ntop",
        "vendor_url": "http://www.ntop.org/"
    },
    {
        "builtin": true,
        "category": "router",
        "description": "KEMP Technologies free LoadMaster Application Load Balancer is a fully featured member of our award winning and industry leading Load Balancer family. It can be used without charge in production environments with throughput requirements that don\u2019t exceed 20 Mbps, and for services that do not directly generate revenue. It is an ideal choice for low traffic web sites and applications, DevOps testing environments, technical training environments, and for any other deployments that suit your non-commercial needs.",
        "documentation_url": "https://support.kemptechnologies.com/hc/en-us/articles/204427785",
        "images": [
            {
                "download_url": "http://freeloadbalancer.com/download/",
                "filename": "LoadMaster-VLM-7.2.40.0.15707.RELEASE-Linux-KVM-XEN-FREE.disk",
                "filesize": 17179869185,
                "md5sum": "4284a80141f7974d082a2eed91ec6216",
                "version": "7.2.40.0"
            },
            {
                "download_url": "http://freeloadbalancer.com/download/",
                "filename": "LoadMaster-VLM-7.2.38.0.14750.RELEASE-Linux-KVM-XEN.disk",
                "filesize": 17179869185,
                "md5sum": "f51f17640793b31a7eab70b53f6ae3ae",
                "version": "7.2.38.0"
            },
            {
                "download_url": "http://freeloadbalancer.com/download/",
                "filename": "LoadMaster-VLM-7.2.36.2.14271.RELEASE-Linux-KVM-XEN-FREE.disk",
                "filesize": 17179869185,
                "md5sum": "eebfc96bd6c1c50827d00647206b59dd",
                "version": "7.1.36.2"
            },
            {
                "download_url": "http://freeloadbalancer.com/download/",
                "filename": "LoadMaster-VLM-7.1.35.0.13244.RELEASE-Linux-KVM-XEN-FREE.disk",
                "filesize": 17179869185,
                "md5sum": "f72e8dffa201c8ec92767872593a52a1",
                "version": "7.1.35.0"
            },
            {
                "download_url": "http://freeloadbalancer.com/download/",
                "filename": "LoadMaster-VLM-7.1.34.1.12802.RELEASE-Linux-KVM-XEN-FREE.disk",
                "filesize": 17179869185,
                "md5sum": "157b36233bbd9d9dfa18363958b34fd1",
                "version": "7.1.34.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "KEMP Free VLM",
        "port_name_format": "eth{0}",
        "product_name": "KEMP Free VLM",
        "product_url": "http://freeloadbalancer.com/#about",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "allow",
            "options": "-smp 2",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "loadbalancer.svg",
        "usage": "Credentials: bal / 1fourall",
        "vendor_name": "KEMP",
        "vendor_url": "http://freeloadbalancer.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "LoadMaster-VLM-7.2.40.0.15707.RELEASE-Linux-KVM-XEN-FREE.disk"
                },
                "name": "7.2.40.0"
            },
            {
                "images": {
                    "hda_disk_image": "LoadMaster-VLM-7.2.38.0.14750.RELEASE-Linux-KVM-XEN.disk"
                },
                "name": "7.2.38.0"
            },
            {
                "images": {
                    "hda_disk_image": "LoadMaster-VLM-7.2.36.2.14271.RELEASE-Linux-KVM-XEN-FREE.disk"
                },
                "name": "7.2.36.2"
            },
            {
                "images": {
                    "hda_disk_image": "LoadMaster-VLM-7.1.35.0.13244.RELEASE-Linux-KVM-XEN-FREE.disk"
                },
                "name": "7.1.35.0"
            },
            {
                "images": {
                    "hda_disk_image": "LoadMaster-VLM-7.1.34.1.12802.RELEASE-Linux-KVM-XEN-FREE.disk"
                },
                "name": "7.1.34.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "When you go from managing a few boxes to managing a few dozen, your processes, logistics, and needs all change. BIG-IQ Centralized Management brings all of your devices together, so you can discover, track, upgrade, and deploy more efficiently. You can also monitor key metrics from one location, saving yourself both time and effort.\n\nCentrally manage up to 200 physical, virtual, or virtual clustered multiprocessing (vCMP) based BIG-IP devices. BIG-IQ Centralized Management also handles licensing for up to 5,000 unmanaged devices, so you can spin BIG-IP virtual editions (VEs) up or down as needed.",
        "documentation_url": "https://support.f5.com/csp/#/knowledge-center/software/BIG-IQ?module=BIG-IQ%20Centralized%20Management",
        "first_port_name": "mgmt",
        "images": [
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-iq/big-iq_cm/5.4.0/english/v5.4.0/&sw=BIG-IQ&pro=big-iq_CM&ver=5.4.0&container=v5.4.0&file=BIG-IQ-5.4.0.0.0.7437.qcow2.zip",
                "filename": "BIG-IQ-5.4.0.0.0.7437.qcow2",
                "filesize": 3300917248,
                "md5sum": "068b1f4d21048b9b2a082c0c27ef4d53",
                "version": "5.4.0"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-iq/big-iq_cm/5.3.0/english/v5.3.0/&sw=BIG-IQ&pro=big-iq_CM&ver=5.3.0&container=v5.3.0&file=BIG-IQ-5.3.0.0.0.1119.qcow2.zip",
                "filename": "BIG-IQ-5.3.0.0.0.1119.qcow2",
                "filesize": 3269263360,
                "md5sum": "75f06ba59f858c3828d47dcf8caf3775",
                "version": "5.3.0"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-iq/big-iq_cm/5.2.0/english/v5.2.0/&sw=BIG-IQ&pro=big-iq_CM&ver=5.2.0&container=v5.2.0&file=BIG-IQ-5.2.0.0.0.5741.qcow2.zip",
                "filename": "BIG-IQ-5.2.0.0.0.5741.qcow2",
                "filesize": 3256352768,
                "md5sum": "c40d9724fb6c15ef0ee949437a9558db",
                "version": "5.2.0"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-iq/big-iq_cm/5.1.0/english/v5.1.0/&sw=BIG-IQ&pro=big-iq_CM&ver=5.1.0&container=v5.1.0&file=BIG-IQ-5.1.0.0.0.631.qcow2.zip",
                "filename": "BIG-IQ-5.1.0.0.0.631.qcow2",
                "filesize": 2335440896,
                "md5sum": "f8f52d9ef56c6bdd0a0604f1b50b81c6",
                "version": "5.1.0"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-iq/big-iq_cm/5.0.0/english/v5.0.0/&sw=BIG-IQ&pro=big-iq_CM&ver=5.0.0&container=v5.0.0&file=BIG-IQ-5.0.0.0.0.3026.qcow2.zip",
                "filename": "BIG-IQ-5.0.0.0.0.3026.qcow2",
                "filesize": 2301820928,
                "md5sum": "072194d6eb052ee083cf8cef9e7a87d6",
                "version": "5.0.0"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-iq/big-iq_cm/5.0.0/english/v5.0.0/&sw=BIG-IQ&pro=big-iq_CM&ver=5.0.0&container=v5.0.0&file=BIG-IQ-5.0.0.0.0.3026.qcow2.zip",
                "filename": "BIG-IQ-5.x.DATASTOR.LTM.qcow2",
                "filesize": 393216,
                "md5sum": "c7f82b8834436eb67b7d619767ac7476",
                "version": "5.x"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty100G.qcow2",
                "filesize": 198656,
                "md5sum": "1e6409a4523ada212dea2ebc50e50a65",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "F5 BIG-IQ CM",
        "port_name_format": "1.{port1}",
        "product_name": "F5 BIG-IQ CM",
        "product_url": "https://f5.com/products/big-iq-centralized-management",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "hdd_disk_interface": "virtio",
            "kvm": "require",
            "options": "-smp 2 -cpu host",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "mgmt_station.svg",
        "usage": "Console credentials: root/default\nWebUI credentials: admin/admin\nThe boot process might take a few minutes without providing any output to the console. Please be patient (or set console to vnc to see tty outputs).",
        "vendor_name": "F5",
        "vendor_url": "http://www.f5.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "BIG-IQ-5.4.0.0.0.7437.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "5.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "BIG-IQ-5.3.0.0.0.1119.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "5.3.0"
            },
            {
                "images": {
                    "hda_disk_image": "BIG-IQ-5.2.0.0.0.5741.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "5.2.0"
            },
            {
                "images": {
                    "hda_disk_image": "BIG-IQ-5.1.0.0.0.631.qcow2",
                    "hdb_disk_image": "empty100G.qcow2",
                    "hdd_disk_image": "BIG-IQ-5.x.DATASTOR.LTM.qcow2"
                },
                "name": "5.1.0"
            },
            {
                "images": {
                    "hda_disk_image": "BIG-IQ-5.0.0.0.0.3026.qcow2",
                    "hdb_disk_image": "empty100G.qcow2",
                    "hdd_disk_image": "BIG-IQ-5.x.DATASTOR.LTM.qcow2"
                },
                "name": "5.0.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Ubuntu is a full-featured Linux operating system which is based on Debian distribution and freely available with both community and professional support, it comes with Unity as its default desktop environment. There are other flavors of Ubuntu available with other desktops as default like Ubuntu Gnome, Lubuntu, Xubuntu, and so on. A tightly-integrated selection of excellent applications is included, and an incredible variety of add-on software is just a few clicks away. A default installation of Ubuntu contains a wide range of software that includes LibreOffice, Firefox, Empathy, Transmission, etc.",
        "documentation_url": "https://help.ubuntu.com",
        "images": [
            {
                "download_url": "http://www.osboxes.org/ubuntu/",
                "filename": "Ubuntu_17.04-VM-64bit.vmdk",
                "filesize": 4792123392,
                "md5sum": "5c82d69c49ba08179e9a94901f67da1f",
                "version": "17.04"
            },
            {
                "download_url": "http://www.osboxes.org/ubuntu/",
                "filename": "Ubuntu_16.10_Yakkety-VM-64bit.vmdk",
                "filesize": 9133293568,
                "md5sum": "c835f24dbb86f5f61c78d992ed38b6b1",
                "version": "16.10"
            },
            {
                "download_url": "http://www.osboxes.org/ubuntu/",
                "filename": "Ubuntu_16.04.3-VM-64bit.vmdk",
                "filesize": 4302110720,
                "md5sum": "45bccf63f2777e492f022dbf025f67d0",
                "version": "16.04"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Ubuntu Desktop Guest",
        "port_name_format": "eth{0}",
        "product_name": "Ubuntu",
        "product_url": "https://www.ubuntu.com/desktop",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "options": "-vga virtio",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Username: osboxes\nPassword: osboxes.org",
        "vendor_name": "Canonical Inc.",
        "vendor_url": "https://www.ubuntu.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "Ubuntu_17.04-VM-64bit.vmdk"
                },
                "name": "17.04"
            },
            {
                "images": {
                    "hda_disk_image": "Ubuntu_16.10_Yakkety-VM-64bit.vmdk"
                },
                "name": "16.10"
            },
            {
                "images": {
                    "hda_disk_image": "Ubuntu_16.04.3-VM-64bit.vmdk"
                },
                "name": "16.04"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "With proven ultra-high performance and scalability, the Brocade vRouter is the networking industry leader in software innovation. The Brocade vRouter has set a the benchmark for all software-based routers, while offering easy scalability, a broad set of capabilities, and the peace of mind that comes with rock solid reliability.",
        "documentation_url": "http://www.brocade.com/en/products-services/software-networking/network-functions-virtualization/vrouter.html",
        "images": [
            {
                "download_url": "http://www1.brocade.com/forms/jsp/vrouter/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-Vrouter&intcmp=lp_en_softevaluations_vrouter_bn_00001",
                "filename": "vyatta-vrouter-17.1.1_B_amd64.iso",
                "filesize": 347078656,
                "md5sum": "914c9ca9d51a33fc54f718020f862df2",
                "version": "17.1.1"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/vrouter/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-Vrouter&intcmp=lp_en_softevaluations_vrouter_bn_00001",
                "filename": "vyatta-vrouter-17.1.0_B_amd64.iso",
                "filesize": 346030080,
                "md5sum": "ff524e06fda6d982b9b66f25940fe63b",
                "version": "17.1.0"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/vrouter/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-Vrouter&intcmp=lp_en_softevaluations_vrouter_bn_00001",
                "filename": "vyatta-vrouter-5.2R2_B_amd64.iso",
                "filesize": 344981504,
                "md5sum": "6b7dcc152a18187ad151483c139fb82c",
                "version": "5.2R2"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/vrouter/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-Vrouter&intcmp=lp_en_softevaluations_vrouter_bn_00001",
                "filename": "vyatta-vrouter-5.1R1_B_amd64.iso",
                "filesize": 344981504,
                "md5sum": "e374b8bae9eecd52ee841f5e262b3a16",
                "version": "5.1R1"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/vrouter/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-Vrouter&intcmp=lp_en_softevaluations_vrouter_bn_00001",
                "filename": "livecd-VR5600_5.0R2_B_amd64.iso",
                "filesize": 340787200,
                "md5sum": "ce47dba6f89ef1175ef8850110521104",
                "version": "5.0R2"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/vrouter/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-Vrouter&intcmp=lp_en_softevaluations_vrouter_bn_00001",
                "filename": "livecd-VR5600_4.2R1_B_amd64.iso",
                "filesize": 326107136,
                "md5sum": "5e3023c64dc409ae01d5bcb1b6732593",
                "version": "4.2R1"
            },
            {
                "download_url": "http://www1.brocade.com/forms/jsp/vrouter/index.jsp?src=WS&lsd=BRCD&lst=English&cn=PA-GDG-16Q1-EVAL-Vrouter&intcmp=lp_en_softevaluations_vrouter_bn_00001",
                "filename": "vyatta-livecd_3.5R3T60_amd64.iso",
                "filesize": 288358400,
                "md5sum": "90360273f818a3dba83fa93ef6da938b",
                "version": "3.5R3"
            },
            {
                "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty8G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty8G.qcow2",
                "filesize": 197120,
                "md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "vRouter",
        "port_name_format": "eth{0}",
        "product_name": "vRouter",
        "product_url": "http://www.brocade.com/en/products-services/software-networking/network-functions-virtualization/vrouter.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 8,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "options": "-smp 4 -cpu host",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "60 days evaluation. The Brocade vRouter must be on-line and have public connectivity in order to communicate with the Brocade licensing server for automated license key generation. Please note that the evaluation software will only run for 24 hours after installation without the activation code being entered into the system. You must enter your activation code in order to retrieve your licensing key after you install the Brocade vRouter software. Default credentials: vyatta / vyatta",
        "vendor_name": "Brocade",
        "vendor_url": "http://www.brocade.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "vyatta-vrouter-17.1.1_B_amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "17.1.1"
            },
            {
                "images": {
                    "cdrom_image": "vyatta-vrouter-17.1.0_B_amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "17.1.0"
            },
            {
                "images": {
                    "cdrom_image": "vyatta-vrouter-5.2R2_B_amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "5.2R2"
            },
            {
                "images": {
                    "cdrom_image": "vyatta-vrouter-5.1R1_B_amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "5.1R1"
            },
            {
                "images": {
                    "cdrom_image": "livecd-VR5600_5.0R2_B_amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "5.0R2"
            },
            {
                "images": {
                    "cdrom_image": "livecd-VR5600_4.2R1_B_amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "4.2R1"
            },
            {
                "images": {
                    "cdrom_image": "vyatta-livecd_3.5R3T60_amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "3.5R3"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "FortiAnalyzer Network Security Logging, Analysis, and Reporting Appliances securely aggregate log data from Fortinet Security Appliances. A comprehensive suite of easily customable reports allows you to quickly analyze and visualize network threats, inefficiencies and usage.",
        "documentation_url": "http://docs.fortinet.com/fortianalyzer/",
        "images": [
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build1619-FORTINET.out.kvm.qcow2",
                "filesize": 105705472,
                "md5sum": "1bd94c920f8747de671832ef92e8dfbc",
                "version": "5.6.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build1557-FORTINET.out.kvm.qcow2",
                "filesize": 106905600,
                "md5sum": "6aa0a185723efcab464aa298b364d12b",
                "version": "5.6.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build1225-FORTINET.out.kvm.qcow2",
                "filesize": 88715264,
                "md5sum": "69cddb5c3e49bab3dc287353d8600b45",
                "version": "5.4.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build1187-FORTINET.out.kvm.qcow2",
                "filesize": 86036480,
                "md5sum": "4f9fa1e7dbfa9187a4cb479458144596",
                "version": "5.4.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build1151-FORTINET.out.kvm.qcow2",
                "filesize": 85651456,
                "md5sum": "c4f7bf355c7483f23edd4f6bf34bc602",
                "version": "5.4.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build1082-FORTINET.out.kvm.qcow2",
                "filesize": 81580032,
                "md5sum": "e9bae3fc7195200f659178060968c7c4",
                "version": "5.4.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build1019-FORTINET.out.kvm.qcow2",
                "filesize": 66256896,
                "md5sum": "72530309422616a1a1478fa0c78fbb08",
                "version": "5.4.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build0786-FORTINET.out.kvm.qcow2",
                "filesize": 55238656,
                "md5sum": "b9553e0f1cfc875d2121c840a1fafebc",
                "version": "5.2.10"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build0780-FORTINET.out.kvm.qcow2",
                "filesize": 55042048,
                "md5sum": "e79581adb9ac36913823f0119a1c8da8",
                "version": "5.2.9"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build0777-FORTINET.out.kvm.qcow2",
                "filesize": 55361536,
                "md5sum": "9a061657c3fdac9e9b631621a100cdc8",
                "version": "5.2.8"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAZ_VM64_KVM-v5-build0760-FORTINET.out.kvm.qcow2",
                "filesize": 55070720,
                "md5sum": "a349f4d9f4f12e8963e3b471357dcbb6",
                "version": "5.2.7"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiAnalyzer",
        "port_name_format": "Port{port1}",
        "product_name": "FortiAnalyzer",
        "product_url": "https://www.fortinet.com/products-services/products/management-reporting/fortianalyzer.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "Default username is admin, no password is set.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build1619-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.6.1"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build1557-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.6.0"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build1225-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.4"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build1187-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.3"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build1151-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.2"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build1082-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.1"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build1019-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build0786-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.10"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build0780-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.9"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build0777-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.8"
            },
            {
                "images": {
                    "hda_disk_image": "FAZ_VM64_KVM-v5-build0760-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.7"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "This appliance simulate a domestic modem. It provide an IP via DHCP and will nat all connection to the internet without the need of using a cloud interface in your topologies. IP will be in the subnet 172.16.0.0/16. Multiple internet will have different IP range from 172.16.1.0/24 to 172.16.253.0/24 .\n\nWARNING USE IT ONLY WITH THE GNS3 VM.",
        "documentation_url": "http://www.gns3.com",
        "images": [
            {
                "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/core-linux-6.4-internet-0.1.img",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
                "filename": "core-linux-6.4-internet-0.1.img",
                "filesize": 16711680,
                "md5sum": "8ebc5a6ec53a1c05b7aa101b5ceefe31",
                "version": "0.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Internet",
        "product_name": "Internet",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "i386",
            "console_type": "telnet",
            "kvm": "allow",
            "options": "-device e1000,netdev=internet0 -netdev vde,sock=/var/run/vde2/qemu0.ctl,id=internet0",
            "ram": 64
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": ":/symbols/cloud.svg",
        "usage": "Just connect stuff to the appliance. Everything is automated.",
        "vendor_name": "GNS3",
        "vendor_url": "http://www.gns3.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "core-linux-6.4-internet-0.1.img"
                },
                "name": "0.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "Untangle\u2019s NG Firewall enables you to quickly and easily create the network policies that deliver the perfect balance between security and productivity. Untangle combines Unified Threat Management (UTM)\u2014to address all of the key network threats\u2014with policy management tools that enable you to define access and control by individuals, groups or company-wide. And with industry-leading reports, you\u2019ll have complete visibility into and control over everything that\u2019s happening on your network.",
        "documentation_url": "http://wiki.untangle.com/index.php/Main_Page",
        "images": [
            {
                "download_url": "https://www.untangle.com/get-untangle/",
                "filename": "untangle_1320_x64.iso",
                "filesize": 768000000,
                "md5sum": "0ce2293acec0f37f1339e703653727f8",
                "version": "13.2.0"
            },
            {
                "download_url": "https://www.untangle.com/get-untangle/",
                "filename": "untangle_1310_x64.iso",
                "filesize": 588251136,
                "md5sum": "dc35aa96e954992e53a8cb244a932ae6",
                "version": "13.1.0"
            },
            {
                "download_url": "https://www.untangle.com/get-untangle/",
                "filename": "untangle_1300_x64.iso",
                "filesize": 576716800,
                "md5sum": "74dcb5c8e0fb400dbd3a9582fc472033",
                "version": "13.0.0"
            },
            {
                "download_url": "https://www.untangle.com/get-untangle/",
                "filename": "untangle_1221_x64.iso",
                "filesize": 580911104,
                "md5sum": "6735942441d487d339b92c1499b0052b",
                "version": "12.2.1"
            },
            {
                "download_url": "https://www.untangle.com/get-untangle/",
                "filename": "untangle_1220_x64.iso",
                "filesize": 585105408,
                "md5sum": "56947f059774f2f0015b6326cf5c63ac",
                "version": "12.2.0"
            },
            {
                "download_url": "https://www.untangle.com/get-untangle/",
                "filename": "untangle_1212_x64.iso",
                "filesize": 575668224,
                "md5sum": "2f48873316725b1f709015dfeb73d666",
                "version": "12.1.2"
            },
            {
                "download_url": "https://www.untangle.com/get-untangle/",
                "filename": "untangle_1211_x64.iso",
                "filesize": 574619648,
                "md5sum": "c7f38df4cbba72fa472a49454e476522",
                "version": "12.1.1"
            },
            {
                "download_url": "https://www.untangle.com/get-untangle/",
                "filename": "untangle_1210_x64.iso",
                "filesize": 573571072,
                "md5sum": "d511cbbd34aac7678c34a111c791806f",
                "version": "12.1.0"
            },
            {
                "download_url": "https://www.untangle.com/get-untangle/",
                "filename": "untangle_1201_x64.iso",
                "filesize": 611319808,
                "md5sum": "905171d04d2f029b193fe76b02ef9e11",
                "version": "12.0.1"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Untangle NG",
        "port_name_format": "eth{0}",
        "product_name": "Untangle NG",
        "product_url": "https://www.untangle.com/untangle-ng-firewall/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "dc",
            "console_type": "vnc",
            "hda_disk_interface": "ide",
            "kvm": "allow",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Run the graphical or text based installer using VNC. The installer warns about insufficient memory but the provided 1G is enough, the installation will be successful.",
        "vendor_name": "Untangle",
        "vendor_url": "https://www.untangle.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "untangle_1320_x64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "13.2.0"
            },
            {
                "images": {
                    "cdrom_image": "untangle_1310_x64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "13.1.0"
            },
            {
                "images": {
                    "cdrom_image": "untangle_1300_x64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "13.0.0"
            },
            {
                "images": {
                    "cdrom_image": "untangle_1221_x64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "12.2.1"
            },
            {
                "images": {
                    "cdrom_image": "untangle_1220_x64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "12.2.0"
            },
            {
                "images": {
                    "cdrom_image": "untangle_1212_x64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "12.1.2"
            },
            {
                "images": {
                    "cdrom_image": "untangle_1211_x64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "12.1.1"
            },
            {
                "images": {
                    "cdrom_image": "untangle_1210_x64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "12.1.0"
            },
            {
                "images": {
                    "cdrom_image": "untangle_1201_x64.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "12.0.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "FortiGate Virtual Appliance offers the same level of advanced threat prevention features like the physical appliances in private, hybrid and public cloud deployment.",
        "documentation_url": "http://docs.fortinet.com/p/inside-fortios",
        "images": [
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1547-FORTINET.out.kvm.qcow2",
                "filesize": 40939520,
                "md5sum": "a908f8620e8bbccce8794733f3637e13",
                "version": "5.6.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1486-FORTINET.out.kvm.qcow2",
                "filesize": 39231488,
                "md5sum": "afb9f237de2545db8663f4a2c5805355",
                "version": "5.6.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1484-FORTINET.out.kvm.qcow2",
                "filesize": 39227392,
                "md5sum": "6f76d1207b9f6cb724f8034f57711705",
                "version": "5.6.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1449-FORTINET.out.kvm.qcow2",
                "filesize": 38760448,
                "md5sum": "17ee2cc8c76c4928a68a2d016aa83ace",
                "version": "5.6.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1183-FORTINET.out.kvm.qcow2",
                "filesize": 38608896,
                "md5sum": "c1eb02996a0919c934785d5f48df9507",
                "version": "5.4.8"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build6446-FORTINET.out.kvm.qcow2",
                "filesize": 38715392,
                "md5sum": "17d3dfebd4b222569cf10cfab83e0e56",
                "version": "5.4.7"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1165-FORTINET.out.kvm.qcow2",
                "filesize": 38457344,
                "md5sum": "4429f1f0f2cce4a8781354a9eb745c61",
                "version": "5.4.6"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1138-FORTINET.out.kvm.qcow2",
                "filesize": 38096896,
                "md5sum": "66c6f6a4b12f0223dd2997b199067e67",
                "version": "5.4.5"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build7605-FORTINET.out.kvm.qcow2",
                "filesize": 37761024,
                "md5sum": "2602fd0c79dd1a69c14b0b46121c875e",
                "version": "5.4.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1111-FORTINET.out.kvm.qcow2",
                "filesize": 38141952,
                "md5sum": "576f95dd7809dd24440fee147252177f",
                "version": "5.4.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1100-FORTINET.out.kvm.qcow2",
                "filesize": 37789696,
                "md5sum": "9ec360c4ffc0811cdecf3d74b152bc14",
                "version": "5.4.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1064-FORTINET.out.kvm.qcow2",
                "filesize": 37715968,
                "md5sum": "441ca5fae1aff9a42fdcaaf8aceb731c",
                "version": "5.4.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build1011-FORTINET.out.kvm.qcow2",
                "filesize": 35373056,
                "md5sum": "22fc2bdca456dfe3027ad48dff370352",
                "version": "5.4.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build0762-FORTINET.out.kvm.qcow2",
                "filesize": 38776832,
                "md5sum": "78df232e516a863f233de88ffba5bc4b",
                "version": "5.2.13"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build0760-FORTINET.out.kvm.qcow2",
                "filesize": 38363136,
                "md5sum": "2efa0c110abed83b71927145d1e87805",
                "version": "5.2.12"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build0754-FORTINET.out.kvm.qcow2",
                "filesize": 35069952,
                "md5sum": "b6cdab6a8240e89f50c0448cf0b711ea",
                "version": "5.2.11"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build0742-FORTINET.out.kvm.qcow2",
                "filesize": 34779136,
                "md5sum": "21fc2bab23a42faa9dc6dcb1a4b180aa",
                "version": "5.2.10"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build0736-FORTINET.out.kvm.qcow2",
                "filesize": 34590720,
                "md5sum": "89cd0883798beed4841dd300f69e462a",
                "version": "5.2.9"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build0727-FORTINET.out.kvm.qcow2",
                "filesize": 34508800,
                "md5sum": "ae7597450893bc60722ef7a787f0a925",
                "version": "5.2.8"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build0718-FORTINET.out.kvm.qcow2",
                "filesize": 34439168,
                "md5sum": "1c59a521885c465004456f74d003726c",
                "version": "5.2.7"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FGT_VM64_KVM-v5-build0701-FORTINET.out.kvm.qcow2",
                "filesize": 33902592,
                "md5sum": "c4d2cbe51669796e48623e006782f7dc",
                "version": "5.2.5"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiGate",
        "port_name_format": "Port{port1}",
        "product_name": "FortiGate",
        "product_url": "http://www.fortinet.com/products/fortigate/virtual-appliances.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 10,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "Default username is admin, no password is set.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1547-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.6.3"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1486-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.6.2"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1484-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.6.1"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1449-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.6.0"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1183-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.8"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build6446-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.7"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1165-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.6"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1138-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.5"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build7605-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.4"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1111-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.3"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1100-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.2"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1064-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.1"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build1011-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build0762-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.13"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build0760-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.12"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build0754-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.11"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build0742-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.10"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build0736-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.9"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build0727-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.8"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build0718-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.7"
            },
            {
                "images": {
                    "hda_disk_image": "FGT_VM64_KVM-v5-build0701-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.5"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "vRIN is a VM appliance capable to inject high number of routes into a network. It was tested on GNS3 topologies using VirtualBox and Qemu with up to 1M BGP routes. Runs Quagga. Supported protocols: BGP (IPv4/6), OSPF, OSPFv3, RIP v2, RIPng",
        "images": [
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/vrin/files/vRIN-0.9.2.qcow2.bz2/download",
                "download_url": "https://sourceforge.net/projects/vrin/files",
                "filename": "vRIN-0.9.2.qcow2",
                "filesize": 957087744,
                "md5sum": "40afad2f5136e56f0cb45466847eae63",
                "version": "0.9.2"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/vrin/files/vRIN-0.9.1.qcow2.bz2/download",
                "download_url": "https://sourceforge.net/projects/vrin/files",
                "filename": "vRIN-0.9.1.qcow2",
                "filesize": 1008926720,
                "md5sum": "9f09f104917e19649598d9e2a5a3476b",
                "version": "0.9.1"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/vrin/files/vRIN-0.9.qcow2.bz2/download",
                "download_url": "https://sourceforge.net/projects/vrin/files",
                "filename": "vRIN-0.9.qcow2",
                "filesize": 922943488,
                "md5sum": "b9ec187d7a4743bb02339cf262767959",
                "version": "0.9"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/vrin/files/vRIN-0.8.qcow2.bz2/download",
                "download_url": "https://sourceforge.net/projects/vrin/files",
                "filename": "vRIN-0.8.qcow2",
                "filesize": 625999872,
                "md5sum": "38eb48d098d3e465422347f7983b9d86",
                "version": "0.8"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/vrin/files/vRIN-0.7.qcow2.bz2/download",
                "download_url": "https://sourceforge.net/projects/vrin/files",
                "filename": "vRIN-0.7.qcow2",
                "filesize": 614268928,
                "md5sum": "2e9802c403e34a91871922b9a26592ad",
                "version": "0.7"
            },
            {
                "compression": "bzip2",
                "direct_download_url": "http://sourceforge.net/projects/vrin/files/vRIN-0.6.qcow2.bz2/download",
                "download_url": "https://sourceforge.net/projects/vrin/files",
                "filename": "vRIN-0.6.qcow2",
                "filesize": 609681408,
                "md5sum": "6c763f609c05b5b9a3b1d422ab89dbac",
                "version": "0.6"
            }
        ],
        "maintainer": "Andras Dosztal",
        "maintainer_email": "developers@gns3.net",
        "name": "vRIN",
        "product_name": "vRIN",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "allow",
            "ram": 256
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "vRIN.svg",
        "usage": "Connect eth0 to the network where you want vRIN to inject routes into then start the VM. You can either run the VM in normal or headless mode; in the latter case you can access vRIN through serial console. User input is not checked; it's your responsibility to enter valid information.\n\nAfter generating the routes, each Quagga process can be reached through eth0 using their default ports:\n - zebra: 2601\n - rip: 2602\n - ripng: 2603\n - ospf: 2604\n - bgp: 2605\n - ospf6d: 2606\nVTY password: vrin\n\nNotes:\n\n - Route generation may take a while when creating lots of routes (i.e. 10k+).\n - Login (serial / VM window): root / vrin",
        "vendor_name": "Andras Dosztal",
        "vendor_url": "https://sourceforge.net/projects/vrin/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "vRIN-0.9.2.qcow2"
                },
                "name": "0.9.2"
            },
            {
                "images": {
                    "hda_disk_image": "vRIN-0.9.1.qcow2"
                },
                "name": "0.9.1"
            },
            {
                "images": {
                    "hda_disk_image": "vRIN-0.9.qcow2"
                },
                "name": "0.9"
            },
            {
                "images": {
                    "hda_disk_image": "vRIN-0.8.qcow2"
                },
                "name": "0.8"
            },
            {
                "images": {
                    "hda_disk_image": "vRIN-0.7.qcow2"
                },
                "name": "0.7"
            },
            {
                "images": {
                    "hda_disk_image": "vRIN-0.6.qcow2"
                },
                "name": "0.6"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "The BIG-IP family of products offers the application intelligence that network managers need to ensure applications are fast, secure, and available. All BIG-IP products share a common underlying architecture, F5's Traffic Management Operating System (TMOS), which provides unified intelligence, flexibility, and programmability. Together, BIG-IP's powerful platforms, advanced modules, and centralized management system make up the most comprehensive set of application delivery tools in the industry. BIG-IP Virtual Edition (VE) is a version of the BIG-IP system that runs as a virtual machine in specifically-supported hypervisors. BIG-IP VE emulates a hardware-based BIG-IP system running a VE-compatible version of BIG-IP software.",
        "documentation_url": "https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-ve-kvm-setup-11-3-0.html",
        "images": [
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v13.x/13.1.0/english/13.1.0.2_virtual-edition/&sw=BIG-IP&pro=big-ip_v13.x&ver=13.1.0&container=13.1.0.2_Virtual-Edition&file=BIGIP-13.1.0.2.0.0.6.ALL.qcow2.zip",
                "filename": "BIGIP-13.1.0.2.0.0.6.qcow2",
                "filesize": 4363649024,
                "md5sum": "d29eb861d8906fc36f88d9861a0055f4",
                "version": "13.1.0 HF2"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v13.x/13.1.0/english/13.1.0.1_virtual-edition/&sw=BIG-IP&pro=big-ip_v13.x&ver=13.1.0&container=13.1.0.1_Virtual-Edition&file=BIGIP-13.1.0.1.0.0.8.ALL.qcow2.zip",
                "filename": "BIGIP-13.1.0.1.0.0.8.qcow2",
                "filesize": 4352966656,
                "md5sum": "70f92192e66a82cb8f47bdae0cb267d8",
                "version": "13.1.0 HF1"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v13.x/13.0.0/english/virtual-edition_base-plus-hf2/&sw=BIG-IP&pro=big-ip_v13.x&ver=13.0.0&container=Virtual-Edition_Base-Plus-HF2&file=BIGIP-13.0.0.2.0.1671.LTM.qcow2.zip",
                "filename": "BIGIP-13.0.0.2.0.1671.qcow2",
                "filesize": 4435476480,
                "md5sum": "62d27f37c66118710c69c07a2ee78d67",
                "version": "13.0.0 HF2"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v13.x/13.0.0/english/virtual-edition/&sw=BIG-IP&pro=big-ip_v13.x&ver=13.0.0&container=Virtual-Edition&file=BIGIP-13.0.0.0.0.1645.ALL.qcow2.zip",
                "filename": "BIGIP-13.0.0.0.0.1645.qcow2",
                "filesize": 3833135104,
                "md5sum": "4ec417477c44cdf84edc825a631990e3",
                "version": "13.0.0"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v12.x/12.1.2/english/virtual-edition_base-plus-hf1/&sw=BIG-IP&pro=big-ip_v12.x&ver=12.1.2&container=Virtual-Edition_Base-Plus-HF1&file=BIGIP-12.1.2.1.0.271.LTM.qcow2.zip",
                "filename": "BIGIP-12.1.2.1.0.271.LTM.qcow2",
                "filesize": 3764846592,
                "md5sum": "b34301c3945b7ddb88f41195efef1104",
                "version": "12.1.2 HF1"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v12.x/12.1.2/english/virtual-edition/&sw=BIG-IP&pro=big-ip_v12.x&ver=12.1.2&container=Virtual-Edition&file=BIGIP-12.1.2.0.0.249.LTM.qcow2.zip",
                "filename": "BIGIP-12.1.2.0.0.249.qcow2",
                "filesize": 3196649472,
                "md5sum": "f3aa2d51d82fa3f5a4fa10005a378e16",
                "version": "12.1.2"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v12.x/12.1.1/english/virtual-edition_base-plus-hf2/&sw=BIG-IP&pro=big-ip_v12.x&ver=12.1.1&container=Virtual-Edition_Base-Plus-HF2&file=BIGIP-12.1.1.2.0.204.LTM.qcow2.zip",
                "filename": "BIGIP-12.1.1.2.0.204.qcow2",
                "filesize": 3563716608,
                "md5sum": "74d4d21db3579efb9011a1829a2124b7",
                "version": "12.1.1 HF2"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v12.x/12.1.0/english/virtual-edition_base-plus-hf1/&sw=BIG-IP&pro=big-ip_v12.x&ver=12.1.0&container=Virtual-Edition_Base-Plus-HF1&file=BIGIP-12.1.0.1.0.1447.ALL.qcow2.zip",
                "filename": "BIGIP-12.1.0.1.0.1447.qcow2",
                "filesize": 3503226880,
                "md5sum": "15725ba2c72a0fe932985e695f0f3f1f",
                "version": "12.1.0 HF1"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v12.x/12.0.0/english/virtual-edition/&sw=BIG-IP&pro=big-ip_v12.x&ver=12.0.0&container=Virtual-Edition&file=BIGIP-12.0.0.0.0.606.ALL.qcow2.zip",
                "filename": "BIGIP-12.0.0.0.0.606.qcow2",
                "filesize": 3152609280,
                "md5sum": "8f578d697554841f003afd1e2965df7e",
                "version": "12.0.0"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v11.x/11.6.1/english/virtual-edition/&sw=BIG-IP&pro=big-ip_v11.x&ver=11.6.1&container=Virtual-Edition&file=BIGIP-11.6.1.0.0.317.ALL.qcow2.zip",
                "filename": "BIGIP-11.6.1.0.0.317.qcow2",
                "filesize": 2824273920,
                "md5sum": "01a2939840d81458bfef0a5c53fb74be",
                "version": "11.6.1"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v11.x/11.6.0/english/virtual-edition/&sw=BIG-IP&pro=big-ip_v11.x&ver=11.6.0&container=Virtual-Edition&file=BIGIP-11.6.0.0.0.401.ALL.qcow2.zip",
                "filename": "BIGIP-11.6.0.0.0.401.qcow2",
                "filesize": 2851733504,
                "md5sum": "87723dc8c9713a36bde9a650b94205e3",
                "version": "11.6.0"
            },
            {
                "download_url": "https://downloads.f5.com/esd/serveDownload.jsp?path=/big-ip/big-ip_v11.x/11.3.0/english/virtual-edition-trial/&sw=BIG-IP&pro=big-ip_v11.x&ver=11.3.0&container=Virtual-Edition-Trial&file=BIGIP-11.3.0.39.0.qcow2.zip",
                "filename": "BIGIP-11.3.0.39.0.qcow2",
                "filesize": 1842020352,
                "md5sum": "f3dec4565484fe81233077ab2ce426ae",
                "version": "11.3.0"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty100G.qcow2",
                "filesize": 198656,
                "md5sum": "1e6409a4523ada212dea2ebc50e50a65",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "F5 BIG-IP LTM VE",
        "port_name_format": "1.{port1}",
        "product_name": "F5 BIG-IP LTM VE",
        "product_url": "https://f5.com/products/modules/local-traffic-manager",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 8,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "require",
            "options": "-smp 2 -cpu host",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "loadbalancer.svg",
        "usage": "Console credentials: root/default. WebUI credentials: admin/admin. The boot process might take a few minutes without providing any output to the console. Please be patient (or set console to vnc to see tty outputs).\n\nIn case the 'localhost emerg logger: Re-starting chmand' log appears on the console, you can find the solution here: https://devcentral.f5.com/questions/big-ip-ltm-ve-on-kvm",
        "vendor_name": "F5",
        "vendor_url": "http://www.f5.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "BIGIP-13.1.0.2.0.0.6.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "13.1.0 HF2"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-13.1.0.1.0.0.8.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "13.1.0 HF1"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-13.0.0.2.0.1671.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "13.0.0 HF2"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-13.0.0.0.0.1645.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "13.0.0"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-12.1.2.1.0.271.LTM.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "12.1.2 HF1"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-12.1.2.0.0.249.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "12.1.2"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-12.1.1.2.0.204.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "12.1.1 HF2"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-12.1.0.1.0.1447.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "12.1.0 HF1"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-12.0.0.0.0.606.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "12.0.0"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-11.6.1.0.0.317.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "11.6.1"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-11.6.0.0.0.401.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "11.6.0"
            },
            {
                "images": {
                    "hda_disk_image": "BIGIP-11.3.0.39.0.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "11.3.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco 2691 Router",
        "documentation_url": "http://www.cisco.com/c/en/us/support/index.html",
        "dynamips": {
            "nvram": 256,
            "platform": "c3600",
            "ram": 192,
            "slot0": "GT96100-FE",
            "startup_config": "ios_base_startup-config.txt"
        },
        "images": [
            {
                "filename": "c2691-adventerprisek9-mz.124-15.T14.image",
                "filesize": 95976624,
                "md5sum": "e7ee5a4a57ed1433e5f73ba6e7695c90",
                "version": "124-15.T14"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco 2691",
        "product_name": "2691",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "idlepc": "0x60bcf9f8",
                "images": {
                    "image": "c2691-adventerprisek9-mz.124-15.T14.image"
                },
                "name": "124-15.T14"
            }
        ]
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "Arista EOS\u00ae is the core of Arista cloud networking solutions for next-generation data centers and cloud networks. Cloud architectures built with Arista EOS scale to tens of thousands of compute and storage nodes with management and provisioning capabilities that work at scale. Through its programmability, EOS enables a set of software applications that deliver workflow automation, high availability, unprecedented network visibility and analytics and rapid integration with a wide range of third-party applications for virtualization, management, automation and orchestration services.\n\nArista Extensible Operating System (EOS) is a fully programmable and highly modular, Linux-based network operation system, using familiar industry standard CLI and runs a single binary software image across the Arista switching family. Architected for resiliency and programmability, EOS has a unique multi-process state sharing architecture that separates state information and packet forwarding from protocol processing and application logic.",
        "documentation_url": "https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.2F-Manual.pdf",
        "first_port_name": "Management1",
        "images": [
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "vEOS-lab-4.20.1F.vmdk",
                "filesize": 662044672,
                "md5sum": "aadb6f3dbff28317f68cb4c4502d0db8",
                "version": "4.20.1F"
            },
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "vEOS-lab-4.18.5M.vmdk",
                "filesize": 623116288,
                "md5sum": "b1ee6268dbaf2b2276fd7a5286c7ce2b",
                "version": "4.18.5M"
            },
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "vEOS-lab-4.18.1F.vmdk",
                "filesize": 620625920,
                "md5sum": "9648c63185f3b793b47528a858ca4364",
                "version": "4.18.1F"
            },
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "vEOS-lab-4.17.2F.vmdk",
                "filesize": 609615872,
                "md5sum": "3b4845edfa77cf9aaeb9c0a005d3e277",
                "version": "4.17.2F"
            },
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "vEOS-lab-4.16.6M.vmdk",
                "filesize": 519962624,
                "md5sum": "b3f7b7cee17f2e66bb38b453a4939fef",
                "version": "4.16.6M"
            },
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "vEOS-lab-4.15.5M.vmdk",
                "filesize": 516030464,
                "md5sum": "cd74bb69c7ee905ac3d33c4d109f3ab7",
                "version": "4.15.5M"
            },
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "vEOS-lab-4.14.14M.vmdk",
                "filesize": 422641664,
                "md5sum": "d81ba0522f4d7838d96f7985e41cdc47",
                "version": "4.14.14M"
            },
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "vEOS-lab-4.13.16M.vmdk",
                "filesize": 404684800,
                "md5sum": "5763b2c043830c341c8b1009f4ea9a49",
                "version": "4.13.16M"
            },
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "vEOS-lab-4.13.8M.vmdk",
                "filesize": 409010176,
                "md5sum": "a47145b9e6e7a24171c0850f8755535e",
                "version": "4.13.8M"
            },
            {
                "download_url": "https://www.arista.com/en/support/software-download",
                "filename": "Aboot-veos-serial-8.0.0.iso",
                "filesize": 5242880,
                "md5sum": "488ad1c435d18c69bb8d69c7806457c9",
                "version": "8.0.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Arista vEOS",
        "port_name_format": "Ethernet{port1}",
        "product_name": "vEOS",
        "product_url": "https://eos.arista.com/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 13,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": ":/symbols/multilayer_switch.svg",
        "usage": "The login is admin, with no password by default",
        "vendor_name": "Arista",
        "vendor_url": "http://www.arista.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
                    "hdb_disk_image": "vEOS-lab-4.20.1F.vmdk"
                },
                "name": "4.20.1F"
            },
            {
                "images": {
                    "hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
                    "hdb_disk_image": "vEOS-lab-4.18.5M.vmdk"
                },
                "name": "4.18.5M"
            },
            {
                "images": {
                    "hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
                    "hdb_disk_image": "vEOS-lab-4.18.1F.vmdk"
                },
                "name": "4.18.1F"
            },
            {
                "images": {
                    "hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
                    "hdb_disk_image": "vEOS-lab-4.17.2F.vmdk"
                },
                "name": "4.17.2F"
            },
            {
                "images": {
                    "hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
                    "hdb_disk_image": "vEOS-lab-4.16.6M.vmdk"
                },
                "name": "4.16.6M"
            },
            {
                "images": {
                    "hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
                    "hdb_disk_image": "vEOS-lab-4.15.5M.vmdk"
                },
                "name": "4.15.5M"
            },
            {
                "images": {
                    "hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
                    "hdb_disk_image": "vEOS-lab-4.14.14M.vmdk"
                },
                "name": "4.14.14M"
            },
            {
                "images": {
                    "hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
                    "hdb_disk_image": "vEOS-lab-4.13.16M.vmdk"
                },
                "name": "4.13.16M"
            },
            {
                "images": {
                    "hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
                    "hdb_disk_image": "vEOS-lab-4.13.8M.vmdk"
                },
                "name": "4.13.8M"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco 3640 Router",
        "documentation_url": "http://www.cisco.com/c/en/us/support/index.html",
        "dynamips": {
            "chassis": "3640",
            "nvram": 256,
            "platform": "c3600",
            "ram": 192,
            "startup_config": "ios_base_startup-config.txt"
        },
        "images": [
            {
                "filename": "c3640-a3js-mz.124-25d.image",
                "filesize": 65688632,
                "md5sum": "493c4ef6578801d74d715e7d11596964",
                "version": "124-25d"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco 3640",
        "product_name": "3640",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "idlepc": "0x6050b114",
                "images": {
                    "image": "c3640-a3js-mz.124-25d.image"
                },
                "name": "124-25d"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "FortiManager Security Management appliances allow you to centrally manage any number of Fortinet Network Security devices, from several to thousands, including FortiGate, FortiWiFi, and FortiCarrier.",
        "documentation_url": "http://docs.fortinet.com/p/inside-fortios",
        "images": [
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build1619-FORTINET.out.kvm.qcow2",
                "filesize": 106831872,
                "md5sum": "8cc553842564d232af295d6a0c784c1f",
                "version": "5.6.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build1557-FORTINET.out.kvm.qcow2",
                "filesize": 108363776,
                "md5sum": "f8bd600796f894f4ca1ea2d6b4066d3d",
                "version": "5.6.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build1225-FORTINET.out.kvm.qcow2",
                "filesize": 89911296,
                "md5sum": "53bc6e320fe7bde5d2b636bde95a910c",
                "version": "5.4.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build1187-FORTINET.out.kvm.qcow2",
                "filesize": 87425024,
                "md5sum": "53602c776d215d98e32163a10804fc49",
                "version": "5.4.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build1151-FORTINET.out.kvm.qcow2",
                "filesize": 86437888,
                "md5sum": "8e131ad40009c740f3efdee6dc3a0ac3",
                "version": "5.4.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build1082-FORTINET.out.kvm.qcow2",
                "filesize": 83124224,
                "md5sum": "fc1815410f3f0536e2e3a9c1c5c07f41",
                "version": "5.4.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build1019-FORTINET.out.kvm.qcow2",
                "filesize": 77541376,
                "md5sum": "1cfb22671cb372d8bf3e47b9c3c55ded",
                "version": "5.4.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build0786-FORTINET.out.kvm.qcow2",
                "filesize": 64962560,
                "md5sum": "377fe38bf07bc2435608e5b65f780f07",
                "version": "5.2.10"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build0780-FORTINET.out.kvm.qcow2",
                "filesize": 65007616,
                "md5sum": "04268e779d3d5e6c928c6fd638423c52",
                "version": "5.2.9"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build0777-FORTINET.out.kvm.qcow2",
                "filesize": 65011712,
                "md5sum": "6dbf148ace9bf309ad383757afd75fad",
                "version": "5.2.8"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FMG_VM64_KVM-v5-build0757-FORTINET.out.kvm.qcow2",
                "filesize": 65056768,
                "md5sum": "d37dbaa49d7522324681eeba19f7699b",
                "version": "5.2.7"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiManager",
        "port_name_format": "Port{port1}",
        "product_name": "FortiManager",
        "product_url": "http://www.fortinet.com/products/fortimanager/virtual-security-management.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "Default username is admin, no password is set.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build1619-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.6.1"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build1557-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.6.0"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build1225-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.4"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build1187-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.3"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build1151-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.2"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build1082-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.1"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build1019-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build0786-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.10"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build0780-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.9"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build0777-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.8"
            },
            {
                "images": {
                    "hda_disk_image": "FMG_VM64_KVM-v5-build0757-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.2.7"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Riverbed SteelHead delivers not only best-in-class optimization \u2013 but essential visibility and control as companies transition to the Hybrid WAN. SteelHead CX for Virtual is available as a virtual solution on most major hypervisors including VMware vSphere, Microsoft Hyper-V and KVM. It accelerates the performance of all applications including on-premises, cloud, and SaaS across the hybrid enterprise for organizations that want to deliver the best end user experience \u2013 while leveraging the scalability and cost benefits of virtualization.\n\nSteelHead CX for Virtual uniquely delivers the best application performance along with application, network and end user visibility, and simplified control management of users, applications and networks based on business requirements and decisions.",
        "documentation_url": "https://support.riverbed.com/content/support/software/steelhead/cx-appliance.html",
        "images": [
            {
                "download_url": "http://www.riverbed.com/products/steelhead/Free-90-day-Evaluation-SteelHead-CX-Virtual-Edition.html",
                "filename": "mgmt-9.2.0.img",
                "filesize": 2555772928,
                "md5sum": "ca20a76b2556c0cd313d0b0de528e94d",
                "version": "9.2.0"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty100G.qcow2",
                "filesize": 198656,
                "md5sum": "1e6409a4523ada212dea2ebc50e50a65",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "SteelHead CX 555V",
        "product_name": "SteelHead CX 555V",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "You don't need to run the installer script when using GNS3 VM. Uncompress the downloaded archive using this command: tar xzSf <image_file>\nDefault credentials: admin / password",
        "vendor_name": "Riverbed Technology",
        "vendor_url": "http://www.riverbed.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "mgmt-9.2.0.img",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "9.2.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "OpenWrt is a highly extensible GNU/Linux distribution for embedded devices (typically wireless routers). Unlike many other distributions for these routers, OpenWrt is built from the ground up to be a full-featured, easily modifiable operating system for your router. In practice, this means that you can have all the features you need with none of the bloat, powered by a Linux kernel that's more recent than most other distributions.",
        "documentation_url": "http://wiki.openwrt.org/doc/",
        "images": [
            {
                "compression": "gzip",
                "direct_download_url": "https://downloads.openwrt.org/chaos_calmer/15.05.1/x86/kvm_guest/openwrt-15.05.1-x86-kvm_guest-combined-ext4.img.gz",
                "download_url": "http://downloads.openwrt.org/chaos_calmer/15.05.1/x86/kvm_guest/",
                "filename": "openwrt-15.05.1-x86-kvm_guest-combined-ext4.img",
                "filesize": 55050240,
                "md5sum": "d02f5224b7fbe929efa4d3f10f4dc996",
                "version": "15.05.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "OpenWrt",
        "product_name": "OpenWrt",
        "product_url": "http://openwrt.org",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "i386",
            "console_type": "telnet",
            "kvm": "allow",
            "ram": 64
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Ethernet0 is the LAN link, Ethernet1 the WAN link.",
        "vendor_name": "OpenWrt",
        "vendor_url": "http://openwrt.org",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "openwrt-15.05.1-x86-kvm_guest-combined-ext4.img"
                },
                "name": "Chaos Calmer 15.05.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "NETem emulates a network link, typically a WAN link. It supports bandwidth limitation, delay, jitter and packet loss. All this functionality is already build in the linux kernel, NETem is just a menu system to make the configuration user-friendly.",
        "documentation_url": "http://www.cs.unm.edu/~crandall/netsfall13/TCtutorial.pdf",
        "images": [
            {
                "direct_download_url": "http://bernhard-ehlers.de/projects/netem/NETem-v4.qcow2",
                "download_url": "http://bernhard-ehlers.de/projects/netem/index.html",
                "filename": "NETem-v4.qcow2",
                "filesize": 26476544,
                "md5sum": "e678698c97804901c7a53f6b68c8b861",
                "version": "0.4"
            }
        ],
        "maintainer": "Bernhard Ehlers",
        "maintainer_email": "be@bernhard-ehlers.de",
        "name": "NETem",
        "port_name_format": "eth{0}",
        "product_name": "netem",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 2,
            "arch": "i386",
            "console_type": "telnet",
            "kvm": "allow",
            "options": "-nographic",
            "ram": 96
        },
        "registry_version": 3,
        "status": "experimental",
        "usage": "Insert the NETem VM between two network elements and connect it to them. NETem is fully transparent, it bridges the traffic from one interface to the other one. As NETem only bridges, it needs no IP addresses. On start a menu on the console allows a user-friendy configuration of the line parameters.",
        "vendor_name": "Linux",
        "vendor_url": "http://www.linuxfoundation.org/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "NETem-v4.qcow2"
                },
                "name": "0.4"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Ostinato is an open-source, cross-platform network packet crafter/traffic generator and analyzer with a friendly GUI. Craft and send packets of several streams with different protocols at different rates.",
        "documentation_url": "http://ostinato.org/docs.html",
        "images": [
            {
                "direct_download_url": "http://www.bernhard-ehlers.de/projects/ostinato4gns3/ostinato-0.9-1.qcow2",
                "download_url": "http://www.bernhard-ehlers.de/projects/ostinato4gns3/index.html",
                "filename": "ostinato-0.9-1.qcow2",
                "filesize": 101646336,
                "md5sum": "00b4856ec9fffbcbcab7a8f757355d69",
                "version": "0.9"
            },
            {
                "direct_download_url": "http://www.bernhard-ehlers.de/projects/ostinato4gns3/ostinato-0.8-1.qcow2",
                "download_url": "http://www.bernhard-ehlers.de/projects/ostinato4gns3/index.html",
                "filename": "ostinato-0.8-1.qcow2",
                "filesize": 57344000,
                "md5sum": "12e990ba695103cfac82f8771b8015d4",
                "version": "0.8"
            }
        ],
        "maintainer": "Bernhard Ehlers",
        "maintainer_email": "be@bernhard-ehlers.de",
        "name": "Ostinato",
        "port_name_format": "eth{0}",
        "product_name": "Ostinato",
        "product_url": "http://ostinato.org/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 4,
            "arch": "i386",
            "console_type": "vnc",
            "kvm": "allow",
            "options": "-vga std -usbdevice tablet",
            "ram": 256
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": "ostinato-3d-icon.svg",
        "usage": "Use interfaces starting with eth1 as traffic interfaces, eth0 is only for the (optional) management of the server/drone.",
        "vendor_name": "Ostinato",
        "vendor_url": "http://ostinato.org/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "ostinato-0.9-1.qcow2"
                },
                "name": "0.9"
            },
            {
                "images": {
                    "hda_disk_image": "ostinato-0.8-1.qcow2"
                },
                "name": "0.8"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "BSD Router Project (BSDRP) is an embedded free and open source router distribution based on FreeBSD with Quagga and Bird.",
        "images": [
            {
                "compression": "xz",
                "direct_download_url": "https://sourceforge.net/projects/bsdrp/files/BSD_Router_Project/1.80/amd64/BSDRP-1.80-full-amd64-serial.img.xz/download",
                "download_url": "https://bsdrp.net/downloads",
                "filename": "BSDRP-1.80-full-amd64-serial.img",
                "filesize": 1000000000,
                "md5sum": "a4285be15ac85f67b3c7f044872a54b6",
                "version": "1.80"
            },
            {
                "compression": "xz",
                "direct_download_url": "https://sourceforge.net/projects/bsdrp/files/BSD_Router_Project/1.70/amd64/BSDRP-1.70-full-amd64-serial.img.xz/download",
                "download_url": "https://bsdrp.net/downloads",
                "filename": "BSDRP-1.70-full-amd64-serial.img",
                "filesize": 1000000000,
                "md5sum": "9c11f61ddf03ee9a9ae4149676175821",
                "version": "1.70"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "BSDRP",
        "product_name": "BSDRP",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "allow",
            "ram": 256
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default user: root (no password set)",
        "vendor_name": "Olivier Cochard-Labbe",
        "vendor_url": "https://bsdrp.net/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "BSDRP-1.80-full-amd64-serial.img"
                },
                "name": "1.80"
            },
            {
                "images": {
                    "hda_disk_image": "BSDRP-1.70-full-amd64-serial.img"
                },
                "name": "1.70"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "This appliance contains server side software for secondary management of network devices:\n- www (nginx) \n- ftp (vsftpd)\n- tftp (tftpd)\n- syslog (rsyslog)\n- dhcp (isc-dhcpd)\n- snmp server (snmpd + snmptrapd)",
        "docker": {
            "adapters": 1,
            "console_type": "telnet",
            "image": "adosztal/net_toolbox:latest"
        },
        "maintainer": "Andras Dosztal",
        "maintainer_email": "developers@gns3.net",
        "name": "Toolbox",
        "product_name": "Networkers' toolbox",
        "registry_version": 3,
        "status": "stable",
        "symbol": "linux_guest.svg",
        "usage": "Root password: gns3",
        "vendor_name": "Ubuntu",
        "vendor_url": "https://www.ubuntu.com/"
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Security Onion is a Linux distro for intrusion detection, network security monitoring, and log management. It\u2019s based on Ubuntu and contains Snort, Suricata, Bro, OSSEC, Sguil, Squert, ELSA, Xplico, NetworkMiner, and many other security tools. The easy-to-use Setup wizard allows you to build an army of distributed sensors for your enterprise in minutes!",
        "documentation_url": "https://github.com/Security-Onion-Solutions/security-onion/wiki",
        "images": [
            {
                "direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.4.iso",
                "download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.4.iso",
                "filename": "securityonion-14.04.5.4.iso",
                "filesize": 1874853888,
                "md5sum": "9c7cab756b675beb10de4274a3ad3bc6",
                "version": "14.04.5.4"
            },
            {
                "direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.3.iso",
                "download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.3.iso",
                "filename": "securityonion-14.04.5.3.iso",
                "filesize": 1889533952,
                "md5sum": "fb80ccb2d3c0f3f511823fa5858f87d1",
                "version": "14.04.5.3"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%30disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "Brent Stewart",
        "maintainer_email": "brent@stewart.tc",
        "name": "Security Onion",
        "product_name": "Security Onion",
        "product_url": "https://securityonion.net/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 2,
            "arch": "i386",
            "console_type": "telnet",
            "kvm": "allow",
            "ram": 3072
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "securityonion-logo.png",
        "usage": "Your default account will have sudo priviledges.  Squil and Squert username and password are configured in the Setup wizard.  MySQL root is set to null.  For more info see https://github.com/Security-Onion-Solutions/security-onion/wiki/Passwords.",
        "vendor_name": "Security Onion Solutions, LLC",
        "vendor_url": "https://securityonion.net/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "securityonion-14.04.5.4.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "14.04.5.4"
            },
            {
                "images": {
                    "cdrom_image": "securityonion-14.04.5.3.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "14.04.5.3"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco 2600 Router",
        "documentation_url": "http://www.cisco.com/c/en/us/support/index.html",
        "dynamips": {
            "chassis": "2610",
            "nvram": 128,
            "platform": "c2600",
            "ram": 160,
            "startup_config": "ios_base_startup-config.txt"
        },
        "images": [
            {
                "filename": "c2600-adventerprisek9-mz.124-15.T14.image",
                "filesize": 87256400,
                "md5sum": "483e3a579a5144ec23f2f160d4b0c0e2",
                "version": "124-15.T14"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco 2600",
        "product_name": "2600",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "idlepc": "0x8027ec88",
                "images": {
                    "image": "c2600-adventerprisek9-mz.124-15.T14.image"
                },
                "name": "124-15.T14"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "The Cisco WSA was one of the first secure web gateways to combine leading protections to help organizations address the growing challenges of securing and controlling web traffic. It enables simpler, faster deployment with fewer maintenance requirements, reduced latency, and lower operating costs. \u201cSet and forget\u201d technology frees staff after initial automated policy settings go live, and automatic security updates are pushed to network devices every 3 to 5 minutes. Flexible deployment options and integration with your existing security infrastructure help you meet quickly evolving security requirements.",
        "documentation_url": "http://www.cisco.com/c/en/us/support/security/web-security-appliance/tsd-products-support-series-home.html",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=284806698&flowid=41610&softwareid=282975114&release=9.0.1&relind=AVAILABLE&rellifecycle=LD&reltype=latest",
                "filename": "coeus-9-0-1-162-S000V.qcow2",
                "filesize": 4753719296,
                "md5sum": "3561a6dd9e1b0481e6e68f7e0235fa9b",
                "version": "9.0.1"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Web Security Virtual Appliance",
        "port_name_format": "nic{0}",
        "product_name": "Web Security Virtual Appliance",
        "product_url": "http://www.cisco.com/c/en/us/products/security/web-security-appliance/index.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 5,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Boot takes some time. NIC0 is the management port, it gets its initial address using DHCP. Default credentials: admin / ironport",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "coeus-9-0-1-162-S000V.qcow2"
                },
                "name": "9.0.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "From the creators of BackTrack comes Kali Linux, the most advanced and versatile penetration testing platform  ever created. We have a set of amazing features lined up in our security distribution geared at streamlining the penetration testing experience. This version has no GUI.Include packages:\n* nmap\n* metasploit\n* sqlmap\n* hydra\n* telnet client\n* dnsutils (dig)",
        "docker": {
            "adapters": 2,
            "image": "gns3/kalilinux:v2"
        },
        "documentation_url": "https://www.kali.org/kali-linux-documentation/",
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Kali Linux CLI",
        "product_name": "Kali Linux",
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "Kali Linux",
        "vendor_url": "https://www.kali.org/"
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "The Cisco ISE platform is a comprehensive, next-generation, contextually-based access control solution. Cisco ISE offers authenticated network access, profiling, posture, guest management, and security group access services along with monitoring, reporting, and troubleshooting capabilities on a single physical or virtual appliance.",
        "documentation_url": "http://www.cisco.com/c/en/us/support/security/identity-services-engine/tsd-products-support-series-home.html",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=283801620&flowid=&softwareid=283802505&release=2.1.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "ise-2.1.0.474.SPA.x86_64.iso",
                "filesize": 6161475584,
                "md5sum": "8dc844696790f2f5f37054899fab3e2a",
                "version": "2.1.0.474"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=283801620&flowid=&softwareid=283802505&release=2.1.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "ise-2.0.1.130.SPA.x86_64.iso",
                "filesize": 5129990144,
                "md5sum": "25ac842fdbb61f6e75f2f8b26beea28e",
                "version": "2.0.1.130"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=283801620&flowid=&softwareid=283802505&release=2.0.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "ise-2.0.0.306.SPA.x86_64.iso",
                "filesize": 5088827392,
                "md5sum": "b7a454ee235db29b5c208b19bfd1fbd1",
                "version": "2.0.0.306"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty200G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty200G.qcow2",
                "filesize": 200192,
                "md5sum": "d1686d2f25695dee32eab9a6f4652c7c",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco ISE",
        "port_name_format": "GigabitEthernet{0}",
        "product_name": "Identity Services Engine",
        "product_url": "http://www.cisco.com/c/en/us/products/security/identity-services-engine/index.html",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 2,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "ide",
            "kvm": "require",
            "options": "-smp 2",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": "cisco-ise.svg",
        "usage": "Starting ISE will start an installation of ISE onto a blank 200GB Drive. This will take time. The intial username is setup.\n\nThis appliance requires KVM. You may try it on a system without KVM, but it will run really slow, if at all.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "ise-2.1.0.474.SPA.x86_64.iso",
                    "hda_disk_image": "empty200G.qcow2"
                },
                "name": "2.1.0.474"
            },
            {
                "images": {
                    "cdrom_image": "ise-2.0.1.130.SPA.x86_64.iso",
                    "hda_disk_image": "empty200G.qcow2"
                },
                "name": "2.0.1.130"
            },
            {
                "images": {
                    "cdrom_image": "ise-2.0.0.306.SPA.x86_64.iso",
                    "hda_disk_image": "empty200G.qcow2"
                },
                "name": "2.0.0.306"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "WordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability. It is one of the worlds most popular blog publishing applications, includes tons of powerful core functionality, extendable via literally thousands of plugins, and supports full theming. This appliance includes all the standard features in TurnKey Core too.",
        "docker": {
            "adapters": 1,
            "console_type": "telnet",
            "image": "turnkeylinux/wordpress-14.2:latest"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "WordPress",
        "product_name": "TurnKey Linux WordPress",
        "product_url": "https://www.turnkeylinux.org/wordpress",
        "registry_version": 3,
        "status": "stable",
        "usage": "For security reasons there are no default passwords. All passwords are set at system initialization time.",
        "vendor_name": "Turnkey Linux",
        "vendor_url": "https://www.turnkeylinux.org/"
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco Virtual IOS allows user to run IOS on a standard computer.",
        "images": [
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Qemu Appliances/IOSv_startup_config.img/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files",
                "filename": "IOSv_startup_config.img",
                "filesize": 1048576,
                "md5sum": "bc605651c4688276f81fd59dcf5cc786",
                "version": "1"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "vios-adventerprisek9-m.vmdk.SPA.156-2.T",
                "filesize": 128450560,
                "md5sum": "83707e3cc93646da58ee6563a68002b5",
                "version": "15.6(2)T"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "vios-adventerprisek9-m.vmdk.SPA.156-1.T",
                "filesize": 128122880,
                "md5sum": "e7cb1bbd0c59280dd946feefa68fa270",
                "version": "15.6(1)T"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "vios-adventerprisek9-m.vmdk.SPA.155-3.M",
                "filesize": 127926272,
                "md5sum": "79f613ac3b179d5a64520730925130b2",
                "version": "15.5(3)M"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco IOSv",
        "port_name_format": "Gi0/{0}",
        "product_name": "IOSv",
        "product_url": "http://virl.cisco.com/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "require",
            "ram": 512
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "There is no default password and enable password. There is no default configuration present.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "vios-adventerprisek9-m.vmdk.SPA.156-2.T",
                    "hdb_disk_image": "IOSv_startup_config.img"
                },
                "name": "15.6(2)T"
            },
            {
                "images": {
                    "hda_disk_image": "vios-adventerprisek9-m.vmdk.SPA.156-1.T",
                    "hdb_disk_image": "IOSv_startup_config.img"
                },
                "name": "15.6(1)T"
            },
            {
                "images": {
                    "hda_disk_image": "vios-adventerprisek9-m.vmdk.SPA.155-3.M",
                    "hdb_disk_image": "IOSv_startup_config.img"
                },
                "name": "15.5(3)M"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco 7200 Router",
        "documentation_url": "http://www.cisco.com/c/en/us/products/routers/7200-series-routers/index.html",
        "dynamips": {
            "midplane": "vxr",
            "npe": "npe-400",
            "nvram": 512,
            "platform": "c7200",
            "ram": 512,
            "slot0": "C7200-IO-FE",
            "startup_config": "ios_base_startup-config.txt"
        },
        "images": [
            {
                "filename": "c7200-adventerprisek9-mz.124-24.T5.image",
                "filesize": 102345240,
                "md5sum": "6b89d0d804e1f2bb5b8bda66b5692047",
                "version": "124-24.T5"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco 7200",
        "product_name": "7200",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "idlepc": "0x606df838",
                "images": {
                    "image": "c7200-adventerprisek9-mz.124-24.T5.image"
                },
                "name": "124-24.T5"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Over 200,000 IT staff across medium to large enterprises worldwide are currently using OP5 Monitor as their preferred network monitoring software.\nOP5 Monitor allows you to take control of your IT, enabling your network to be more responsive, more reliable and even faster than ever before. With unparalleled scalability, OP5 Monitor grows as your company grows, so you\u2019ll understand why we say this is the last network monitor you\u2019ll ever need to purchase.",
        "documentation_url": "https://kb.op5.com/display/MAN/Documentation+Home#sthash.pohb5bis.dpbs",
        "images": [
            {
                "download_url": "https://www.op5.com/download/",
                "filename": "op5-Monitor-Virtual-Appliance-7.3.15.x86_64.vmdk",
                "filesize": 779687424,
                "md5sum": "634acc6266237d99bf1bfbcf9284beca",
                "version": "7.3.15"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "OP5 Monitor",
        "port_name_format": "eth{0}",
        "product_name": "OP5 Monitor",
        "product_url": "https://www.op5.com/op5-monitor/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "mgmt_station.svg",
        "usage": "Interface eth0 is set to DHCP. Default credentials:\n- CLI: root / monitor\n- Web access: admin / monitor\n- Logserver Extension: admin / admin",
        "vendor_name": "OP5",
        "vendor_url": "https://www.op5.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "op5-Monitor-Virtual-Appliance-7.3.15.x86_64.vmdk"
                },
                "name": "7.3.15"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Container with integrated Python 2 & 3, Perl, PHP, and PHP7.0 interpreters, and a Go compiler.",
        "docker": {
            "adapters": 1,
            "image": "gns3/python-go-perl-php:latest"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Python, Go, Perl, PHP",
        "product_name": "Python, Go, Perl, PHP",
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "GNS3 Team",
        "vendor_url": "https://www.gns3.com"
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "The chromium browser",
        "docker": {
            "adapters": 1,
            "console_type": "vnc",
            "image": "gns3/chromium:latest"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Chromium",
        "product_name": "Chromium",
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "Chromium",
        "vendor_url": "https://www.chromium.org/"
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "Cumulus VX is a community-supported virtual appliance that enables cloud admins and network engineers to preview and test Cumulus Networks technology at zero cost. You can build sandbox environments to learn Open Networking concepts, prototype network operations and script & develop applications risk-free. With Cumulus VX, you can get started with Open Networking at your pace, on your time, and in your environment!",
        "documentation_url": "http://docs.cumulusnetworks.com/",
        "first_port_name": "eth0",
        "images": [
            {
                "direct_download_url": "http://cumulusfiles.s3.amazonaws.com/cumulus-linux-3.5.0-vx-amd64.qcow2",
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.5.2-vx-amd64.qcow2",
                "filesize": 996605952,
                "md5sum": "87d1d8b297e5ebd77924669dfb7e4c9f",
                "version": "3.5.2"
            },
            {
                "direct_download_url": "http://cumulusfiles.s3.amazonaws.com/cumulus-linux-3.5.0-vx-amd64.qcow2",
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.5.0-vx-amd64.qcow2",
                "filesize": 1044250624,
                "md5sum": "9ad1f352d0603becf4bcc749b77c99dd",
                "version": "3.5.0"
            },
            {
                "direct_download_url": "http://cumulusfiles.s3.amazonaws.com/cumulus-linux-3.4.3-vx-amd64.qcow2",
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.4.3-vx-amd64.qcow2",
                "filesize": 988872704,
                "md5sum": "fd9144cdab7cac66cf421a13c6f50ac8",
                "version": "3.4.3"
            },
            {
                "direct_download_url": "http://cumulusfiles.s3.amazonaws.com/cumulus-linux-3.4.2-vx-amd64.qcow2",
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.4.2-vx-amd64.qcow2",
                "filesize": 1060700160,
                "md5sum": "ca844684784ceeee893d0cd76dc44e3b",
                "version": "3.4.2"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.4.1-vx-amd64.qcow2",
                "filesize": 975503360,
                "md5sum": "38319aa04533d91b1121a02f6ed99993",
                "version": "3.4.1"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.4.0-vx-amd64.qcow2",
                "filesize": 918355968,
                "md5sum": "d93a15072bc7f8d15268f5e43f735a5e",
                "version": "3.4.0"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.3.2-vx-amd64.qcow2",
                "filesize": 980090880,
                "md5sum": "8364f93cabaa442c13c8c6752a248a5d",
                "version": "3.3.2"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.2.1-vx-amd64-1486153138.ac46c24zd00d13e.qcow2",
                "filesize": 1232601088,
                "md5sum": "145519af273d7f21ee1845780de7dce3",
                "version": "3.2.1"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.2.0-vx-amd64-1481684769.ac46c24z090952a.qcow2",
                "filesize": 1217593344,
                "md5sum": "4cd6cee606483d4403d3329a72697ca4",
                "version": "3.2.0"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.1.2-vx-amd64-1478059878.e1f18b3zacdc5c1.qcow2",
                "filesize": 1291911168,
                "md5sum": "e25d4dde0d2d5378a469380bd1d8d082",
                "version": "3.1.2"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.1.1-vx-amd64-1474681409.bd4e10cz3c4e23f.qcow2",
                "filesize": 1230372864,
                "md5sum": "ad7688721417f167ea3537e60feac3da",
                "version": "3.1.1"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.1.0-vx-amd64-1471979027.dc7e2adza017cfb.qcow2",
                "filesize": 1190789120,
                "md5sum": "6a68b8c8ef45c7227e80009e9920729c",
                "version": "3.1.0"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.0.1-vx-amd64-1468215109.5d83176z20fa23d.qcow2",
                "filesize": 1284112384,
                "md5sum": "9f312bf4de1b410ce48e26b38f3bef48",
                "version": "3.0.1"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "cumulus-linux-3.0.0-vx-amd64-1464279382.a8e7985zf0f5ad5.qcow2",
                "filesize": 1237581824,
                "md5sum": "ef23948870b77bb1373b9f06de4e7742",
                "version": "3.0.0"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "CumulusVX-2.5.5-cc665123486ac43d.qcow2",
                "filesize": 1092550656,
                "md5sum": "e0cad2491d47f859828703a0b50cf633",
                "version": "2.5.5"
            },
            {
                "download_url": "https://cumulusnetworks.com/cumulus-vx/download/",
                "filename": "CumulusVX-2.5.3-4eb681f3df86c478.qcow2",
                "filesize": 1040973824,
                "md5sum": "5128aec2568991ea0586293cb85f7a97",
                "version": "2.5.3"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cumulus VX",
        "port_name_format": "swp{port1}",
        "product_name": "Cumulus VX",
        "product_url": "https://cumulusnetworks.com/cumulus-vx/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 7,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "ram": 512
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default username is cumulus and password is CumulusLinux!",
        "vendor_name": "Cumulus Network",
        "vendor_url": "https://www.cumulusnetworks.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.5.2-vx-amd64.qcow2"
                },
                "name": "3.5.2"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.5.0-vx-amd64.qcow2"
                },
                "name": "3.5.0"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.4.3-vx-amd64.qcow2"
                },
                "name": "3.4.3"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.4.2-vx-amd64.qcow2"
                },
                "name": "3.4.2"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.4.1-vx-amd64.qcow2"
                },
                "name": "3.4.1"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.4.0-vx-amd64.qcow2"
                },
                "name": "3.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.3.2-vx-amd64.qcow2"
                },
                "name": "3.3.2"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.2.1-vx-amd64-1486153138.ac46c24zd00d13e.qcow2"
                },
                "name": "3.2.1"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.2.0-vx-amd64-1481684769.ac46c24z090952a.qcow2"
                },
                "name": "3.2.0"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.1.2-vx-amd64-1478059878.e1f18b3zacdc5c1.qcow2"
                },
                "name": "3.1.2"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.1.1-vx-amd64-1474681409.bd4e10cz3c4e23f.qcow2"
                },
                "name": "3.1.1"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.1.0-vx-amd64-1471979027.dc7e2adza017cfb.qcow2"
                },
                "name": "3.1.0"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.0.1-vx-amd64-1468215109.5d83176z20fa23d.qcow2"
                },
                "name": "3.0.1"
            },
            {
                "images": {
                    "hda_disk_image": "cumulus-linux-3.0.0-vx-amd64-1464279382.a8e7985zf0f5ad5.qcow2"
                },
                "name": "3.0.0"
            },
            {
                "images": {
                    "hda_disk_image": "CumulusVX-2.5.5-cc665123486ac43d.qcow2"
                },
                "name": "2.5.5"
            },
            {
                "images": {
                    "hda_disk_image": "CumulusVX-2.5.3-4eb681f3df86c478.qcow2"
                },
                "name": "2.5.3"
            }
        ]
    },
    {
        "availability": "service-contract",
        "builtin": true,
        "category": "multilayer_switch",
        "description": "The NX-OSv 9000 is a virtual platform that is designed to simulate the control plane aspects of a network element running Cisco Nexus 9000 software. The NX-OSv 9000 shares the same software image running on Cisco Nexus 9000 hardware platform although no specific hardware emulation is implemented. When the software runs as a virtual machine, line card (LC) ASIC provisioning or any interaction from the control plane to hardware ASIC is handled by the NX-OSv 9000 software data plane.\nThe NX-OSv 9000 for the Cisco Nexus 9000 Series provides a useful tool to enable the devops model and rapidly test changes to the infrastructure or to infrastructure automation tools. This enables network simulations in large scale for customers to validate configuration changes on a simulated network prior to applying them on a production network. Some users have also expressed interest in using the simulation system for feature test ,verification, and automation tooling development and test simualtion prior to deployment. NX-OSv 9000 can be used as a programmability vehicle to validate software defined networks (SDNs) and Network Function Virtualization (NFV) based solutions.",
        "documentation_url": "http://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/nx-osv/configuration/guide/b_NX-OSv_9000/b_NX-OSv_chapter_01.html",
        "first_port_name": "mgmt0",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "nxosv-final.7.0.3.I7.3.qcow2",
                "filesize": 983629824,
                "md5sum": "9d7a20367bf681a239f14097bbce470a",
                "version": "7.0.3.I7.3"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "nxosv-final.7.0.3.I7.2.qcow2",
                "filesize": 906231808,
                "md5sum": "17295efb13e83b24a439148449bfd5ab",
                "version": "7.0.3.I7.2"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "nxosv-final.7.0.3.I7.1.qcow2",
                "filesize": 903151616,
                "md5sum": "3c122f27d0c3684c63657207eadf4d06",
                "version": "7.0.3.I7.1"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "nxosv-final.7.0.3.I6.1.qcow2",
                "filesize": 780402688,
                "md5sum": "18bb991b814a508d1190575f99deed99",
                "version": "7.0.3.I6.1"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "nxosv-final.7.0.3.I5.2.qcow2",
                "filesize": 777715712,
                "md5sum": "c06aaa02f758a64fd8fee9406756f1da",
                "version": "7.0.3.I5.2"
            },
            {
                "download_url": "https://software.cisco.com/download/",
                "filename": "nxosv-final.7.0.3.I5.1.qcow2",
                "filesize": 784990208,
                "md5sum": "201ea658fa4c57452ee4b2aa4f5262a7",
                "version": "7.0.3.I5.1"
            },
            {
                "compression": "zip",
                "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/OVMF-20160813.fd.zip/download",
                "download_url": "",
                "filename": "OVMF-20160813.fd",
                "filesize": 2097152,
                "md5sum": "8ff0ef1ec56345db5b6bda1a8630e3c6",
                "version": "16.08.13"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco NX-OSv 9000",
        "port_name_format": "Ethernet1/{port1}",
        "product_name": "NX-OSv 9000",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 10,
            "arch": "x86_64",
            "console_type": "telnet",
            "cpus": 2,
            "hda_disk_interface": "sata",
            "kvm": "require",
            "ram": 8096
        },
        "registry_version": 4,
        "status": "stable",
        "usage": "The old (I5) versions might require 8192 MB of RAM; adjust it if necessary.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "bios_image": "OVMF-20160813.fd",
                    "hda_disk_image": "nxosv-final.7.0.3.I7.3.qcow2"
                },
                "name": "7.0.3.I7.3"
            },
            {
                "images": {
                    "bios_image": "OVMF-20160813.fd",
                    "hda_disk_image": "nxosv-final.7.0.3.I7.2.qcow2"
                },
                "name": "7.0.3.I7.2"
            },
            {
                "images": {
                    "bios_image": "OVMF-20160813.fd",
                    "hda_disk_image": "nxosv-final.7.0.3.I7.1.qcow2"
                },
                "name": "7.0.3.I7.1"
            },
            {
                "images": {
                    "bios_image": "OVMF-20160813.fd",
                    "hda_disk_image": "nxosv-final.7.0.3.I6.1.qcow2"
                },
                "name": "7.0.3.I6.1"
            },
            {
                "images": {
                    "bios_image": "OVMF-20160813.fd",
                    "hda_disk_image": "nxosv-final.7.0.3.I5.2.qcow2"
                },
                "name": "7.0.3.I5.2"
            },
            {
                "images": {
                    "bios_image": "OVMF-20160813.fd",
                    "hda_disk_image": "nxosv-final.7.0.3.I5.1.qcow2"
                },
                "name": "7.0.3.I5.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "IPFire was designed with both modularity and a high-level of flexibility in mind. You can easily deploy many variations of it, such as a firewall, a proxy server or a VPN gateway. The modular design ensures that it runs exactly what you've configured it for and nothing more. Everything is simple to manage and update through the package manager, making maintenance a breeze.",
        "documentation_url": "http://wiki.ipfire.org/en/start",
        "images": [
            {
                "compression": "gzip",
                "direct_download_url": "https://downloads.ipfire.org/releases/ipfire-2.x/2.19-core117/ipfire-2.19.1gb-ext4-scon.x86_64-full-core117.img.gz",
                "download_url": "http://www.ipfire.org/download",
                "filename": "ipfire-2.19.1gb-ext4-scon.x86_64-full-core117.img",
                "filesize": 1063256064,
                "md5sum": "657673d88b94ed7d22332aebe817bc86",
                "version": "2.19.117"
            },
            {
                "compression": "gzip",
                "direct_download_url": "https://downloads.ipfire.org/releases/ipfire-2.x/2.19-core116/ipfire-2.19.1gb-ext4-scon.x86_64-full-core116.img.gz",
                "download_url": "http://www.ipfire.org/download",
                "filename": "ipfire-2.19.1gb-ext4-scon.x86_64-full-core116.img",
                "filesize": 1063256064,
                "md5sum": "2a8df99d117a0dbfb67870494c0c67cd",
                "version": "2.19.116"
            },
            {
                "compression": "gzip",
                "direct_download_url": "http://downloads.ipfire.org/releases/ipfire-2.x/2.19-core110/ipfire-2.19.1gb-ext4-scon.x86_64-full-core110.img.gz",
                "download_url": "http://www.ipfire.org/download",
                "filename": "ipfire-2.19.1gb-ext4-scon.x86_64-full-core111.img",
                "filesize": 1063256064,
                "md5sum": "741ab771cadd2f6a1fc4a85b3478ae5f",
                "version": "2.19.111"
            },
            {
                "compression": "gzip",
                "direct_download_url": "http://downloads.ipfire.org/releases/ipfire-2.x/2.19-core110/ipfire-2.19.1gb-ext4-scon.x86_64-full-core110.img.gz",
                "download_url": "http://www.ipfire.org/download",
                "filename": "ipfire-2.19.1gb-ext4-scon.x86_64-full-core110.img",
                "filesize": 958398464,
                "md5sum": "d91bdabee5db83d0f93573f88ea542b1",
                "version": "2.19.110"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "IPFire",
        "port_name_format": "eth{0}",
        "product_name": "IPFire",
        "product_url": "http://www.ipfire.org/features",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "A config wizard will be started at first boot.",
        "vendor_name": "IPFire Project",
        "vendor_url": "http://www.ipfire.org/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "ipfire-2.19.1gb-ext4-scon.x86_64-full-core117.img"
                },
                "name": "2.19.117"
            },
            {
                "images": {
                    "hda_disk_image": "ipfire-2.19.1gb-ext4-scon.x86_64-full-core116.img"
                },
                "name": "2.19.116"
            },
            {
                "images": {
                    "hda_disk_image": "ipfire-2.19.1gb-ext4-scon.x86_64-full-core111.img"
                },
                "name": "2.19.111"
            },
            {
                "images": {
                    "hda_disk_image": "ipfire-2.19.1gb-ext4-scon.x86_64-full-core110.img"
                },
                "name": "2.19.110"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "LEDE is a highly extensible GNU/Linux distribution for embedded devices (typically wireless routers). Unlike many other distributions for these routers, OpenWrt is built from the ground up to be a full-featured, easily modifiable operating system for your router. In practice, this means that you can have all the features you need with none of the bloat, powered by a Linux kernel that's more recent than most other distributions.",
        "documentation_url": "http://wiki.openwrt.org/doc/",
        "images": [
            {
                "direct_download_url": "https://downloads.lede-project.org/releases/17.01.4/targets/x86/generic/lede-17.01.4-x86-generic-combined-squashfs.img",
                "download_url": "https://downloads.lede-project.org/releases/17.01.4/targets/x86/generic/",
                "filename": "lede-17.01.4-x86-generic-combined-squashfs.img",
                "filesize": 19779546,
                "md5sum": "ae5d8d3fcab109565fe337d28e51c4b4",
                "version": "17.01.4"
            },
            {
                "direct_download_url": "https://downloads.lede-project.org/releases/17.01.3/targets/x86/generic/lede-17.01.3-x86-generic-combined-squashfs.img",
                "download_url": "https://downloads.lede-project.org/releases/17.01.3/targets/x86/generic/",
                "filename": "lede-17.01.3-x86-generic-combined-squashfs.img",
                "filesize": 19775618,
                "md5sum": "d315fc638160a9aec0966d58828bfccf",
                "version": "17.01.3"
            },
            {
                "direct_download_url": "https://downloads.lede-project.org/releases/17.01.2/targets/x86/generic/lede-17.01.2-x86-generic-combined-squashfs.img",
                "download_url": "https://downloads.lede-project.org/releases/17.01.2/targets/x86/generic/",
                "filename": "lede-17.01.2-x86-generic-combined-squashfs.img",
                "filesize": 19774794,
                "md5sum": "a466e493ef12935dad5e0c622b1a7859",
                "version": "17.01.2"
            },
            {
                "direct_download_url": "https://downloads.lede-project.org/releases/17.01.1/targets/x86/generic/lede-17.01.1-x86-generic-combined-squashfs.img",
                "download_url": "https://downloads.lede-project.org/releases/17.01.1/targets/x86/generic/",
                "filename": "lede-17.01.1-x86-generic-combined-squashfs.img",
                "filesize": 19771166,
                "md5sum": "b050e734c605a34a429389c752ae7c30",
                "version": "17.01.1"
            },
            {
                "direct_download_url": "https://downloads.lede-project.org/releases/17.01.0/targets/x86/generic/lede-17.01.0-r3205-59508e3-x86-generic-combined-squashfs.img",
                "download_url": "https://downloads.lede-project.org/releases/17.01.0/targets/x86/generic/",
                "filename": "lede-17.01.0-r3205-59508e3-x86-generic-combined-squashfs.img",
                "filesize": 19755118,
                "md5sum": "3c5e068d50a377d4e26b548ab1ca7b1e",
                "version": "17.01.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "LEDE",
        "product_name": "LEDE",
        "product_url": "https://lede-project.org/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "i386",
            "console_type": "telnet",
            "kvm": "allow",
            "ram": 64
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Ethernet0 is the LAN link, Ethernet1 the WAN link.",
        "vendor_name": "LEDE Project",
        "vendor_url": "https://lede-project.org/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "lede-17.01.4-x86-generic-combined-squashfs.img"
                },
                "name": "lede 17.01.4"
            },
            {
                "images": {
                    "hda_disk_image": "lede-17.01.3-x86-generic-combined-squashfs.img"
                },
                "name": "lede 17.01.3"
            },
            {
                "images": {
                    "hda_disk_image": "lede-17.01.2-x86-generic-combined-squashfs.img"
                },
                "name": "lede 17.01.2"
            },
            {
                "images": {
                    "hda_disk_image": "lede-17.01.1-x86-generic-combined-squashfs.img"
                },
                "name": "lede 17.01.1"
            },
            {
                "images": {
                    "hda_disk_image": "lede-17.01.0-r3205-59508e3-x86-generic-combined-squashfs.img"
                },
                "name": "lede 17.01.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "FortiAuthenticator user identity management appliances strengthen enterprise security by simplifying and centralizing the management and storage of user identity information.",
        "documentation_url": "http://docs.fortinet.com/fortiauthenticator/admin-guides",
        "images": [
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAC_VM_KVM-v5-build0155-FORTINET.out.kvm.qcow2",
                "filesize": 71782400,
                "md5sum": "69b55ce7c8094ccd736bbfe8a3262b31",
                "version": "5.2.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAC_VM_KVM-v500-build0091-FORTINET.out.kvm.qcow2",
                "filesize": 71135232,
                "md5sum": "7bdafd32db552954c4c7fe60296fc600",
                "version": "5.1.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAC_VM_KVM-v500-build0086-FORTINET.out.kvm.qcow2",
                "filesize": 71819264,
                "md5sum": "960017582fe16e7ce7ab9602600e65fe",
                "version": "5.1.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAC_VM_KVM-v500-build0083-FORTINET.out.kvm.qcow2",
                "filesize": 72495104,
                "md5sum": "eec53c2dbe5d00c8ce2a7ca50226325a",
                "version": "5.1.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAC_VM_KVM-v500-build0012-FORTINET.out.kvm.qcow2",
                "filesize": 62771200,
                "md5sum": "2af90bdad68a37f38fda39ee04cf2fba",
                "version": "5.0.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FAC_VM_KVM-v500-DATADRIVE.qcow2",
                "filesize": 258048,
                "md5sum": "09bad6cfe6301930adbc829eb8a67149",
                "version": "5.x.x"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiAuthenticator",
        "port_name_format": "Port{port1}",
        "product_name": "FortiAuthenticator",
        "product_url": "https://www.fortinet.com/products/identity-access-management/fortiauthenticator.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "Default username is admin, no password is set. First book takes longer.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FAC_VM_KVM-v5-build0155-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FAC_VM_KVM-v500-DATADRIVE.qcow2"
                },
                "name": "5.2.0"
            },
            {
                "images": {
                    "hda_disk_image": "FAC_VM_KVM-v500-build0091-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FAC_VM_KVM-v500-DATADRIVE.qcow2"
                },
                "name": "5.1.2"
            },
            {
                "images": {
                    "hda_disk_image": "FAC_VM_KVM-v500-build0086-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FAC_VM_KVM-v500-DATADRIVE.qcow2"
                },
                "name": "5.1.1"
            },
            {
                "images": {
                    "hda_disk_image": "FAC_VM_KVM-v500-build0083-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FAC_VM_KVM-v500-DATADRIVE.qcow2"
                },
                "name": "5.1.0"
            },
            {
                "images": {
                    "hda_disk_image": "FAC_VM_KVM-v500-build0012-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "FAC_VM_KVM-v500-DATADRIVE.qcow2"
                },
                "name": "5.0.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "The pfSense project is a free network firewall distribution, based on the FreeBSD operating system with a custom kernel and including third party free software packages for additional functionality. pfSense software, with the help of the package system, is able to provide the same functionality or more of common commercial firewalls, without any of the artificial limitations. It has successfully replaced every big name commercial firewall you can imagine in numerous installations around the world, including Check Point, Cisco PIX, Cisco ASA, Juniper, Sonicwall, Netgear, Watchguard, Astaro, and more.",
        "documentation_url": "https://doc.pfsense.org/index.php/Main_Page",
        "images": [
            {
                "download_url": "https://www.pfsense.org/download/mirror.php?section=downloads",
                "filename": "pfSense-CE-2.3.5-RELEASE-2g-amd64-nanobsd.img",
                "filesize": 1989969408,
                "md5sum": "b6cb76adba3e1113892f84ea01894228",
                "version": "2.3.5"
            },
            {
                "download_url": "https://www.pfsense.org/download/mirror.php?section=downloads",
                "filename": "pfSense-CE-2.3.4-RELEASE-2g-amd64-nanobsd.img",
                "filesize": 1989969408,
                "md5sum": "0c9871b54f932be2d550908f7c23b302",
                "version": "2.3.4"
            },
            {
                "download_url": "https://www.pfsense.org/download/mirror.php?section=downloads",
                "filename": "pfSense-CE-2.3.3-RELEASE-2g-amd64-nanobsd.img",
                "filesize": 1989969408,
                "md5sum": "200f073c4f0a4ba6690920079f23d5dd",
                "version": "2.3.3"
            },
            {
                "download_url": "https://www.pfsense.org/download/mirror.php?section=downloads",
                "filename": "pfSense-CE-2.3.2-RELEASE-2g-amd64-nanobsd.img",
                "filesize": 1989969408,
                "md5sum": "c91f2c8e287f4930695e65a6793cb8fe",
                "version": "2.3.2"
            },
            {
                "download_url": "https://www.pfsense.org/download/mirror.php?section=downloads",
                "filename": "pfSense-CE-2.3.1-RELEASE-2g-amd64-nanobsd.img",
                "filesize": 1989969408,
                "md5sum": "719149eed51e03872a8cfd235d958d2e",
                "version": "2.3.1"
            },
            {
                "download_url": "https://www.pfsense.org/download/mirror.php?section=downloads",
                "filename": "pfSense-CE-2.3-RELEASE-2g-amd64-nanobsd.img",
                "filesize": 1989969408,
                "md5sum": "8ab5047bd4c5bbabf71055fb75177d85",
                "version": "2.3"
            },
            {
                "download_url": "https://www.pfsense.org/download/mirror.php?section=downloads",
                "filename": "pfSense-2.2.6-RELEASE-1g-amd64-nanobsd.img",
                "filesize": 997097472,
                "md5sum": "7bbe39c4ec698685c9f9b615926820a9",
                "version": "2.2.6"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "pfSense",
        "port_name_format": "em{0}",
        "product_name": "pfSense",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 6,
            "arch": "x86_64",
            "boot_priority": "dc",
            "console_type": "telnet",
            "kvm": "allow",
            "process_priority": "normal",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "Electric Sheep Fencing LLC",
        "vendor_url": "https://www.pfsense.org",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "pfSense-CE-2.3.5-RELEASE-2g-amd64-nanobsd.img"
                },
                "name": "2.3.5"
            },
            {
                "images": {
                    "hda_disk_image": "pfSense-CE-2.3.4-RELEASE-2g-amd64-nanobsd.img"
                },
                "name": "2.3.4"
            },
            {
                "images": {
                    "hda_disk_image": "pfSense-CE-2.3.3-RELEASE-2g-amd64-nanobsd.img"
                },
                "name": "2.3.3"
            },
            {
                "images": {
                    "hda_disk_image": "pfSense-CE-2.3.2-RELEASE-2g-amd64-nanobsd.img"
                },
                "name": "2.3.2"
            },
            {
                "images": {
                    "hda_disk_image": "pfSense-CE-2.3.1-RELEASE-2g-amd64-nanobsd.img"
                },
                "name": "2.3.1"
            },
            {
                "images": {
                    "hda_disk_image": "pfSense-CE-2.3-RELEASE-2g-amd64-nanobsd.img"
                },
                "name": "2.3"
            },
            {
                "images": {
                    "hda_disk_image": "pfSense-2.2.6-RELEASE-1g-amd64-nanobsd.img"
                },
                "name": "2.2.6"
            }
        ]
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "The Open Network Operating System (ONOS) is a software defined networking (SDN) OS for service providers that has scalability, high availability, high performance and abstractions to make it easy to create apps and services. The platform is based on a solid architecture and has quickly matured to be feature rich and production ready. The community has grown to include over 50 partners and collaborators that contribute to all aspects of the project including interesting use cases such as CORD",
        "docker": {
            "adapters": 1,
            "image": "onosproject/onos:latest"
        },
        "documentation_url": "https://wiki.onosproject.org",
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Onos",
        "product_name": "Onos",
        "product_url": "http://onosproject.org/",
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "Onos",
        "vendor_url": "http://onosproject.org/"
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning and much more.",
        "docker": {
            "adapters": 1,
            "console_http_path": "/",
            "console_http_port": 8888,
            "console_type": "http",
            "image": "gns3/jupyter:v2"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Jupyter",
        "product_name": "Jupyter",
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "Project Jupyter",
        "vendor_url": "http://jupyter.org/"
    },
    {
        "builtin": true,
        "category": "router",
        "description": "VyOS is a community fork of Vyatta, a Linux-based network operating system that provides software-based network routing, firewall, and VPN functionality.",
        "documentation_url": "http://vyos.net/wiki/User_Guide",
        "images": [
            {
                "direct_download_url": "http://dev.packages.vyos.net/iso/preview/1.2.0-beta1/vyos-1.2.0-beta1-amd64.iso",
                "download_url": "http://dev.packages.vyos.net/iso/preview/1.2.0-beta1/",
                "filename": "vyos-1.2.0-beta1-amd64.iso",
                "filesize": 243269632,
                "md5sum": "c2906532d4c7a0d29b61e8eab326d6c7",
                "version": "1.2.0-beta1"
            },
            {
                "direct_download_url": "https://downloads.vyos.io/release/1.1.8/vyos-1.1.8-amd64.iso",
                "download_url": "https://downloads.vyos.io/?dir=release/1.1.8",
                "filename": "vyos-1.1.8-amd64.iso",
                "filesize": 241172480,
                "md5sum": "95a141d4b592b81c803cdf7e9b11d8ea",
                "version": "1.1.8"
            },
            {
                "direct_download_url": "https://downloads.vyos.io/release/1.1.7/vyos-1.1.7-amd64.iso",
                "download_url": "https://downloads.vyos.io/?dir=release/1.1.7/",
                "filename": "vyos-1.1.7-amd64.iso",
                "filesize": 245366784,
                "md5sum": "9a7f745a0b0db0d4f1d9eee2a437fb54",
                "version": "1.1.7"
            },
            {
                "direct_download_url": "https://downloads.vyos.io/release/1.1.6/vyos-1.1.6-amd64.iso",
                "download_url": "hhttps://downloads.vyos.io/?dir=release/1.1.6/",
                "filename": "vyos-1.1.6-amd64.iso",
                "filesize": 245366784,
                "md5sum": "3128954d026e567402a924c2424ce2bf",
                "version": "1.1.6"
            },
            {
                "direct_download_url": "https://downloads.vyos.io/release/1.1.5/vyos-1.1.5-amd64.iso",
                "download_url": "https://downloads.vyos.io/?dir=release/1.1.5/",
                "filename": "vyos-1.1.5-amd64.iso",
                "filesize": 247463936,
                "md5sum": "193179532011ceaa87ee725bd8f22022",
                "version": "1.1.5"
            },
            {
                "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty8G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty8G.qcow2",
                "filesize": 197120,
                "md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "VyOS",
        "port_name_format": "eth{0}",
        "product_name": "VyOS",
        "product_url": "http://vyos.net/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 3,
            "arch": "x86_64",
            "boot_priority": "dc",
            "console_type": "telnet",
            "kvm": "allow",
            "ram": 512
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default username/password is vyos/vyos. At first boot the router will start from the cdrom, login and then type install system and follow the instructions.",
        "vendor_name": "Linux",
        "vendor_url": "http://vyos.net/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "vyos-1.2.0-beta1-amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "1.2.0-beta1"
            },
            {
                "images": {
                    "cdrom_image": "vyos-1.1.8-amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "1.1.8"
            },
            {
                "images": {
                    "cdrom_image": "vyos-1.1.7-amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "1.1.7"
            },
            {
                "images": {
                    "cdrom_image": "vyos-1.1.6-amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "1.1.6"
            },
            {
                "images": {
                    "cdrom_image": "vyos-1.1.5-amd64.iso",
                    "hda_disk_image": "empty8G.qcow2"
                },
                "name": "1.1.5"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Stay connected to your customers and colleagues without being chained to your desk.\nKerio Operator is a VoIP based phone system that provides powerful yet affordable enterprise-class voice and video communication capabilities for small and mid-sized businesses globally.",
        "documentation_url": "http://kb.kerio.com/product/kerio-operator/",
        "images": [
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/operator/operator-2.6.0-8413/kerio-operator-appliance-2.6.0-8413-vmware-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-operator",
                "filename": "kerio-operator-appliance-2.6.0-8413-vmware-disk1.vmdk",
                "filesize": 291227136,
                "md5sum": "3eddbb73d685ac4666841f5df2c6bec9",
                "version": "2.6.0"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/operator/operator-2.5.5-8309/kerio-operator-appliance-2.5.5-8309-p2-vmware-disk1.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-operator",
                "filename": "kerio-operator-appliance-2.5.5-8309-p2-vmware-disk1.vmdk",
                "filesize": 291217408,
                "md5sum": "dc0b4d0b264eb39c8c73289b6c8de749",
                "version": "2.5.5p2"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/operator/operator-2.5.4-6916/kerio-operator-appliance-2.5.4-6916-p1-vmware.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-operator",
                "filename": "kerio-operator-appliance-2.5.4-6916-p1-vmware.vmdk",
                "filesize": 276318720,
                "md5sum": "6737b36bd36635b8a5ba21816938f0d6",
                "version": "2.5.4p1"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/operator/operator-2.5.3-6630/kerio-operator-appliance-2.5.3-6630-vmware.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-operator",
                "filename": "kerio-operator-appliance-2.5.3-6630-vmware.vmdk",
                "filesize": 276422144,
                "md5sum": "ae9f45606900dba05f353a94d4fc14fc",
                "version": "2.5.3"
            },
            {
                "direct_download_url": "http://cdn.kerio.com/dwn/operator/operator-2.5.2-6404/kerio-operator-appliance-2.5.2-6404-vmware.vmdk",
                "download_url": "http://www.kerio.com/support/kerio-operator",
                "filename": "kerio-operator-appliance-2.5.2-6404-vmware.vmdk",
                "filesize": 561512448,
                "md5sum": "0279baebe587b17f32bfc3302df9352c",
                "version": "2.5.2"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Kerio Operator",
        "port_name_format": "eth{0}",
        "product_name": "Kerio Operator",
        "product_url": "http://www.kerio.com/products/kerio-operator",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Default credentials: root (no password set)",
        "vendor_name": "Kerio Technologies Inc.",
        "vendor_url": "http://www.kerio.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "kerio-operator-appliance-2.6.0-8413-vmware-disk1.vmdk"
                },
                "name": "2.6.0"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-operator-appliance-2.5.5-8309-p2-vmware-disk1.vmdk"
                },
                "name": "2.5.5p2"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-operator-appliance-2.5.4-6916-p1-vmware.vmdk"
                },
                "name": "2.5.4p1"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-operator-appliance-2.5.3-6630-vmware.vmdk"
                },
                "name": "2.5.3"
            },
            {
                "images": {
                    "hda_disk_image": "kerio-operator-appliance-2.5.2-6404-vmware.vmdk"
                },
                "name": "2.5.2"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Dell Networking OS10 combines the best of Linux, open computing and networking to advance open networking disaggregation. Dell Networking OS10 is a transformational software platform that provides networking hardware abstraction through a common set of APIs. Enable consistency across compute and network resources for your system operators (SysOps) groups that require server-like manageability. Easily leverage your existing network configuration. Dell Networking OS10 incorporates traditional networking integration. Enhance the integration and control you allow your development and operations (DevOps) teams, down to identifying an object as an individual, manageable entity within the platform.",
        "first_port_name": "Management0/0",
        "images": [
            {
                "compression": "zip",
                "download_url": "https://www.force10networks.com/csportal20/Software/Downloads.aspx",
                "filename": "FTOS-SI-9.8.0.0.iso",
                "filesize": 108115968,
                "md5sum": "b9b50eda0a73407dc381792ff7975e24",
                "version": "9.8.0"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Dell FTOS",
        "port_name_format": "fortyGigE0/{0}",
        "product_name": "Dell FTOS",
        "product_url": "http://www.dell.com/us/business/p/open-platform-software/pd",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 6,
            "arch": "i386",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "ide",
            "kvm": "require",
            "ram": 512
        },
        "registry_version": 3,
        "status": "experimental",
        "usage": "Abort the BCM process and format the flash after first boot by entering these commands:\nen\nformat flash:\n\nSometimes the flash device is not available after boot.",
        "vendor_name": "Dell Inc.",
        "vendor_url": "http://www.dell.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "FTOS-SI-9.8.0.0.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "9.8.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco 3660 Router",
        "documentation_url": "http://www.cisco.com/c/en/us/support/index.html",
        "dynamips": {
            "chassis": "3660",
            "nvram": 256,
            "platform": "c3600",
            "ram": 192,
            "startup_config": "ios_base_startup-config.txt"
        },
        "images": [
            {
                "filename": "c3660-a3jk9s-mz.124-15.T14.image",
                "filesize": 90181268,
                "md5sum": "daed99f508fd42dbaacf711e560643ed",
                "version": "124-15.T14"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco 3660",
        "product_name": "3660",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "idlepc": "0x6076e0b4",
                "images": {
                    "image": "c3660-a3jk9s-mz.124-15.T14.image"
                },
                "name": "124-15.T14"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "The term 'Ubuntu Cloud Guest' refers to the Official Ubuntu images that are available at http://cloud-images.ubuntu.com . These images are built by Canonical. They are then registered on EC2, and compressed tarfiles are made also available for download. For using those images on a public cloud such as Amazon EC2, you simply choose an image and launch it. To use those images on a private cloud, or to run the image on a local hypervisor (such as KVM) you would need to download those images and either publish them to your private cloud, or launch them directly on a hypervisor. The following sections explain in more details how to perform each of those actions",
        "documentation_url": "https://help.ubuntu.com/community/UEC/Images",
        "images": [
            {
                "download_url": "https://cloud-images.ubuntu.com/releases/17.10/release-20180404/ubuntu-17.10-server-cloudimg-amd64.img",
                "filename": "ubuntu-17.10-server-cloudimg-amd64.img",
                "filesize": 320405504,
                "md5sum": "331b44f2b05858c251b3ea92c8b65152",
                "version": "17.10"
            },
            {
                "download_url": "https://cloud-images.ubuntu.com/releases/16.04/release-20180405/ubuntu-16.04-server-cloudimg-amd64-disk1.img",
                "filename": "ubuntu-16.04-server-cloudimg-amd64-disk1.img",
                "filesize": 290193408,
                "md5sum": "22c124ba65ea096cdef8b0a197dd613a",
                "version": "16.04"
            },
            {
                "download_url": "https://cloud-images.ubuntu.com/releases/14.04/release-20180404/ubuntu-14.04-server-cloudimg-amd64-disk1.img",
                "filename": "ubuntu-14.04-server-cloudimg-amd64-disk1.img",
                "filesize": 262668800,
                "md5sum": "d11b89321d41d0eeddcacf73bf0d2262",
                "version": "14.04"
            },
            {
                "download_url": "https://github.com/asenci/gns3-ubuntu-cloud-init-data/raw/master/ubuntu-cloud-init-data.iso",
                "filename": "ubuntu-cloud-init-data.iso",
                "filesize": 131072,
                "md5sum": "328469100156ae8dbf262daa319c27ff",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Ubuntu Cloud Guest",
        "port_name_format": "Ethernet{0}",
        "product_name": "Ubuntu Cloud Guest",
        "product_url": "https://www.ubuntu.com/cloud",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 1,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "options": "-nographic",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "Username: ubuntu\nPassword: ubuntu",
        "vendor_name": "Canonical Inc.",
        "vendor_url": "https://www.ubuntu.com",
        "versions": [
            {
                "images": {
                    "cdrom_image": "ubuntu-cloud-init-data.iso",
                    "hda_disk_image": "ubuntu-17.10-server-cloudimg-amd64.img"
                },
                "name": "17.10"
            },
            {
                "images": {
                    "cdrom_image": "ubuntu-cloud-init-data.iso",
                    "hda_disk_image": "ubuntu-16.04-server-cloudimg-amd64-disk1.img"
                },
                "name": "16.04 (LTS)"
            },
            {
                "images": {
                    "cdrom_image": "ubuntu-cloud-init-data.iso",
                    "hda_disk_image": "ubuntu-14.04-server-cloudimg-amd64-disk1.img"
                },
                "name": "14.04 (LTS)"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "The HP VSR1000 Virtual Services Router Series is a software application, running on a server, which provides functionality similar to that of a physical router: robust routing between networked devices using a number of popular routing protocols. It also delivers the critical network services associated with today's enterprise routers such as VPN gateway, firewall and other security and traffic management functions.\n\nThe virtual services router (VSR) application runs on a hypervqcor on the server, and supports VMware vSphere and Linux KVM hypervqcors. From one to eight virtual CPUs are supported, depending on license.\n\nBecause the VSR1000 Series application runs the same HP Comware version 7 operating system as HP switches and routers, it enables significant operational savings. And being virtual, additional agility and ease of deployment is realized, as resources on the VSR can be dynamically allocated and upgraded upon demand as performance requirements grow.\n\nA variety of deployment models are supported including enterprise branch CPE routing, and cloud offload for small to medium workloads.",
        "documentation_url": "http://h20195.www2.hpe.com/v2/default.aspx?cc=us&lc=en&oid=5443878",
        "images": [
            {
                "download_url": "https://h10145.www1.hp.com/Downloads/DownloadSoftware.aspx?SoftwareReleaseUId=22702&ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&SaidNumber=",
                "filename": "VSR1000_HPE-CMW710-R0327L01-X64.qco",
                "filesize": 138739712,
                "md5sum": "907de5140a4a029afe1c517cfc27ecde",
                "version": "7.10.R0327L01"
            },
            {
                "download_url": "https://h10145.www1.hp.com/Downloads/SoftwareReleases.aspx?ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&SoftwareReleaseUId=11832&SerialNumber=&PurchaseDate=",
                "filename": "VSR1000_HPE-CMW710-R0326-X64.qco",
                "filesize": 138412032,
                "md5sum": "4153d638bfa72ca72a957ea8682ad0e2",
                "version": "7.10.R0326"
            },
            {
                "download_url": "https://h10145.www1.hp.com/Downloads/SoftwareReleases.aspx?ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&SoftwareReleaseUId=11832&SerialNumber=&PurchaseDate=",
                "filename": "VSR1000_HPE-CMW710-E0325-X64.qco",
                "filesize": 111738880,
                "md5sum": "a6731f3af86bee9b209a8b342be6bf75",
                "version": "7.10.E0325"
            },
            {
                "download_url": "https://h10145.www1.hp.com/Downloads/SoftwareReleases.aspx?ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&SoftwareReleaseUId=11832&SerialNumber=&PurchaseDate=",
                "filename": "VSR1000_HPE-CMW710-E0518-X64.qco",
                "filesize": 201588736,
                "md5sum": "4991436442ae706df8041c69778a48df",
                "version": "7.10.E0518"
            },
            {
                "download_url": "https://h10145.www1.hp.com/Downloads/SoftwareReleases.aspx?ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&SoftwareReleaseUId=11832&SerialNumber=&PurchaseDate=",
                "filename": "VSR1000_HPE-CMW710-E0324-X64.qco",
                "filesize": 111411200,
                "md5sum": "7a0ff32281284c042591c6181426effd",
                "version": "7.10.E0324"
            },
            {
                "download_url": "https://h10145.www1.hp.com/Downloads/SoftwareReleases.aspx?ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&SoftwareReleaseUId=11832&SerialNumber=&PurchaseDate=",
                "filename": "VSR1000_HPE-CMW710-E0322P01-X64.qco",
                "filesize": 110428160,
                "md5sum": "0aa2dbe5910fa64eb8c623e083b21a5e",
                "version": "7.10.E0322P01"
            },
            {
                "download_url": "https://h10145.www1.hp.com/Downloads/SoftwareReleases.aspx?ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&SoftwareReleaseUId=11832&SerialNumber=&PurchaseDate=",
                "filename": "VSR1000_HPE-CMW710-E0322-X64.qco",
                "filesize": 113770496,
                "md5sum": "05e0dab6b7aa489f627448b4d79b1f50",
                "version": "7.10.E0322"
            },
            {
                "download_url": "https://h10145.www1.hp.com/Downloads/SoftwareReleases.aspx?ProductNumber=JG811AAE&lang=en&cc=us&prodSeriesId=5443163&SoftwareReleaseUId=11832&SerialNumber=&PurchaseDate=",
                "filename": "VSR1000_HPE-CMW710-E0321P01-X64.qco",
                "filesize": 113639424,
                "md5sum": "26d4375fafeedc81f298f29f593de252",
                "version": "7.10.E0321P01"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "HPE VSR1001",
        "port_name_format": "GE{port1}/0",
        "product_name": "VSR1001",
        "product_url": "https://www.hpe.com/us/en/product-catalog/networking/networking-routers/pip.hpe-flexnetwork-vsr1000-virtual-services-router-series.5443163.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 16,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "HPE",
        "vendor_url": "http://www.hpe.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "VSR1000_HPE-CMW710-R0327L01-X64.qco"
                },
                "name": "7.10.R0327L01"
            },
            {
                "images": {
                    "hda_disk_image": "VSR1000_HPE-CMW710-R0326-X64.qco"
                },
                "name": "7.10.R0326"
            },
            {
                "images": {
                    "hda_disk_image": "VSR1000_HPE-CMW710-E0325-X64.qco"
                },
                "name": "7.10.E0325"
            },
            {
                "images": {
                    "hda_disk_image": "VSR1000_HPE-CMW710-E0518-X64.qco"
                },
                "name": "7.10.E0518"
            },
            {
                "images": {
                    "hda_disk_image": "VSR1000_HPE-CMW710-E0324-X64.qco"
                },
                "name": "7.10.E0324"
            },
            {
                "images": {
                    "hda_disk_image": "VSR1000_HPE-CMW710-E0322P01-X64.qco"
                },
                "name": "7.10.E0322P01"
            },
            {
                "images": {
                    "hda_disk_image": "VSR1000_HPE-CMW710-E0322-X64.qco"
                },
                "name": "7.10.E0322"
            },
            {
                "images": {
                    "hda_disk_image": "VSR1000_HPE-CMW710-E0321P01-X64.qco"
                },
                "name": "7.10.E0321P01"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "Trend Micro InterScan Web Security Virtual Appliance is a secure web gateway that combines application control with zero-day exploit detection, advanced anti-malware and ransomware scanning, real-time web reputation, and flexible URL filtering to provide superior Internet threat protection.",
        "documentation_url": "https://success.trendmicro.com/product-support/interscan-web-security-virtual-appliance",
        "images": [
            {
                "direct_download_url": "http://files.trendmicro.com/products/iwsva/IWSVA-6.5-1200-x86_64.iso",
                "download_url": "http://downloadcenter.trendmicro.com/index.php?regs=NABU&clk=latest&clkval=4599&lang_loc=1",
                "filename": "IWSVA-6.5-1200-x86_64.iso",
                "filesize": 1004965888,
                "md5sum": "7eb0d2a44e20b69ae0c3ce73d6cc1182",
                "version": "6.5"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty100G.qcow2",
                "filesize": 198656,
                "md5sum": "1e6409a4523ada212dea2ebc50e50a65",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "IWS VA",
        "port_name_format": "eth{0}",
        "product_name": "IWS VA",
        "product_url": "http://www.trendmicro.com/enterprise/network-security/interscan-web-security/virtual-appliance/index.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "Trend Micro Inc.",
        "vendor_url": "http://www.trendmicro.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "IWSVA-6.5-1200-x86_64.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "6.5"
            }
        ]
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "The vQFX10000 makes it easy for you to try out our physical QFX10000 high-performance data center switch without the wait for physical delivery. Although the virtual version has limited performance relative to the physical switch, it lets you quickly emulate the same features for the control plane of the physical switch, or both its control and data planes.",
        "documentation_url": "http://www.juniper.net/techpubs/",
        "images": [
            {
                "download_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/",
                "filename": "vqfx10k-pfe-20160609-2.vmdk",
                "filesize": 584086528,
                "md5sum": "faa6905fd8e935c6e97859191143e8c3",
                "version": "15.1X53-D60"
            }
        ],
        "maintainer": "none",
        "maintainer_email": "developers@gns3.net",
        "name": "Juniper vQFX PFE",
        "port_name_format": "em{0}",
        "product_name": "Juniper vQFX PFE",
        "product_url": "https://www.juniper.net/us/en/dm/free-vqfx-trial/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 2,
            "arch": "x86_64",
            "console_type": "vnc",
            "kvm": "require",
            "options": "-nographic",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": "juniper-vqfx.svg",
        "usage": "\n\nUSAGE INSTRUCTIONS\n\nConnect the first interface (em0) to your admin VLAN. Connect the second interface (em1) directly to the second interface (em1) of the RE. The switch ports do not connect here, but on the RE",
        "vendor_name": "Juniper",
        "vendor_url": "https://www.juniper.net/us/en/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "vqfx10k-pfe-20160609-2.vmdk"
                },
                "name": "15.1X53-D60"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "FortiWeb Web Application Firewalls provide specialized, layered web application threat protection for medium/large enterprises, application service providers, and SaaS providers.",
        "documentation_url": "http://docs.fortinet.com/fortiweb",
        "images": [
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FWB_KVM-v500-build0739-FORTINET.out.kvm-log.qcow2",
                "filesize": 7602176,
                "md5sum": "d42225723d2e2ee0160f101c5b9663d5",
                "version": "5.5.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FWB_KVM-v500-FORTINET.out.kvm-log.qcow2",
                "filesize": 7602176,
                "md5sum": "b90cd0a382cb09db31cef1d0cdf7d6e9",
                "version": "5.5.2 - 5.5.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FWB_KVM-v500-build0739-FORTINET.out.kvm-boot.qcow2",
                "filesize": 87228416,
                "md5sum": "a11b91efacce70212b6b9e1f9916cc3e",
                "version": "5.5.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FWB_KVM-v500-build0730-FORTINET.out.kvm-boot.qcow2",
                "filesize": 87228416,
                "md5sum": "12ebec432a54900e6c63540af8ebfbb4",
                "version": "5.5.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FWB_KVM-v500-build0723-FORTINET.out.kvm-boot.qcow2",
                "filesize": 87162880,
                "md5sum": "0a613191948d3618ae16cd9f11988448",
                "version": "5.5.2"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiWeb",
        "port_name_format": "Port{port1}",
        "product_name": "FortiWeb",
        "product_url": "http://www.fortinet.com/products/fortiweb/index.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "Default username is admin, no password is set. Console keeps sending 'access uuid file failed, error number 2' messages; ignore it.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FWB_KVM-v500-build0739-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FWB_KVM-v500-build0739-FORTINET.out.kvm-log.qcow2"
                },
                "name": "5.5.4"
            },
            {
                "images": {
                    "hda_disk_image": "FWB_KVM-v500-build0730-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FWB_KVM-v500-FORTINET.out.kvm-log.qcow2"
                },
                "name": "5.5.3"
            },
            {
                "images": {
                    "hda_disk_image": "FWB_KVM-v500-build0723-FORTINET.out.kvm-boot.qcow2",
                    "hdb_disk_image": "FWB_KVM-v500-FORTINET.out.kvm-log.qcow2"
                },
                "name": "5.5.2"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning and much more. This appliance provide python 2.7.",
        "docker": {
            "adapters": 1,
            "console_http_path": "/",
            "console_http_port": 8888,
            "console_type": "http",
            "image": "gns3/jupyter27:v2"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Jupyter 2.7",
        "product_name": "Jupyter",
        "registry_version": 3,
        "status": "stable",
        "vendor_name": "Project Jupyter",
        "vendor_url": "http://jupyter.org/"
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "FortiCache VM high performance Web Caching virtual appliances address bandwidth saturation, high latency, and poor performance caused by caching popular internet content locally for carriers, service providers, enterprises and educational networks. FortiCache VM appliances reduce the cost and impact of cached content on the network, while increasing performance and end- user satisfaction by improving the speed of delivery of popular repeated content.",
        "documentation_url": "http://docs.fortinet.com/forticache/admin-guides",
        "images": [
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FCHKVM-v400-build0216-FORTINET.out.kvm.qcow2",
                "filesize": 27553792,
                "md5sum": "867e0569b8466db744547422a1d6f17a",
                "version": "4.2.6"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FCHKVM-v400-build0213-FORTINET.out.kvm.qcow2",
                "filesize": 27508736,
                "md5sum": "78db88447f29f363b4ba8e4833474637",
                "version": "4.2.5"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FCHKVM-v400-build0204-FORTINET.out.kvm.qcow2",
                "filesize": 27623424,
                "md5sum": "8f0aad31131add43ac6bf709dd708970",
                "version": "4.2.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FCHKVM-v400-build0200-FORTINET.out.kvm.qcow2",
                "filesize": 27467776,
                "md5sum": "7ec6c4c4e4ba7976793769422550fc30",
                "version": "4.2.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FCHKVM-v400-build0127-FORTINET.out.kvm.qcow2",
                "filesize": 26087424,
                "md5sum": "c607391c3aaaa014e9cec8c61354485b",
                "version": "4.1.6"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FCHKVM-v400-build0123-FORTINET.out.kvm.qcow2",
                "filesize": 25845760,
                "md5sum": "f6d161636528ecee87243174c51e56e7",
                "version": "4.1.5"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FCHKVM-v400-build0119-FORTINET.out.kvm.qcow2",
                "filesize": 25825280,
                "md5sum": "d2c8236768e795eb80114e5c5f4dfac9",
                "version": "4.1.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FCHKVM-v400-build0112-FORTINET.out.kvm.qcow2",
                "filesize": 25812992,
                "md5sum": "554ebdf8874753b275c2f1ed9104e081",
                "version": "4.1.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FCHKVM-v400-build0109-FORTINET.out.kvm.qcow2",
                "filesize": 25829376,
                "md5sum": "c54246365b3d3f03c9ff2184127695ea",
                "version": "4.1.2"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty100G.qcow2",
                "filesize": 198656,
                "md5sum": "1e6409a4523ada212dea2ebc50e50a65",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiCache",
        "port_name_format": "Port{port1}",
        "product_name": "FortiCache",
        "product_url": "https://www.fortinet.com/products-services/products/wan-appliances/forticache.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 3,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "ide",
            "hdb_disk_interface": "ide",
            "kvm": "require",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "Default username is admin, no password is set.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FCHKVM-v400-build0216-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "4.2.6"
            },
            {
                "images": {
                    "hda_disk_image": "FCHKVM-v400-build0213-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "4.2.5"
            },
            {
                "images": {
                    "hda_disk_image": "FCHKVM-v400-build0204-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "4.2.4"
            },
            {
                "images": {
                    "hda_disk_image": "FCHKVM-v400-build0200-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "4.2.3"
            },
            {
                "images": {
                    "hda_disk_image": "FCHKVM-v400-build0127-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "4.1.6"
            },
            {
                "images": {
                    "hda_disk_image": "FCHKVM-v400-build0123-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "4.1.5"
            },
            {
                "images": {
                    "hda_disk_image": "FCHKVM-v400-build0119-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "4.1.4"
            },
            {
                "images": {
                    "hda_disk_image": "FCHKVM-v400-build0112-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "4.1.3"
            },
            {
                "images": {
                    "hda_disk_image": "FCHKVM-v400-build0109-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty100G.qcow2"
                },
                "name": "4.1.2"
            }
        ]
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "NXOSv is a reference platform for an implementation of the Cisco Nexus operating system, based on the Nexus 7000-series platforms, running as a full virtual machine on a hypervisor. This includes NXAPI and MPLS LDP support.",
        "first_port_name": "mgmt0",
        "images": [
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "titanium-final.7.3.0.D1.1.qcow2",
                "filesize": 214368256,
                "md5sum": "b4cd6edf15ab4c6bce53c3f6c1e3a742",
                "version": "7.3.0"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "titanium-d1.7.2.0.D1.1.vmdk",
                "filesize": 361103360,
                "md5sum": "0ee38c7d717840cb4ca822f4870671d0",
                "version": "7.2.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco NX-OSv",
        "port_name_format": "Ethernet2/{port1}",
        "product_name": "NX-OSv",
        "product_url": "http://virl.cisco.com/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 16,
            "arch": "x86_64",
            "console_type": "telnet",
            "kvm": "require",
            "ram": 3072
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "The default username/password is admin/admin. A default configuration is present.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "titanium-final.7.3.0.D1.1.qcow2"
                },
                "name": "7.3.0"
            },
            {
                "images": {
                    "hda_disk_image": "titanium-d1.7.2.0.D1.1.vmdk"
                },
                "name": "7.2.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "To ensure efficient email communication and business continuity, IT professionals depend on reliable spam and virus blocking software. With Proxmox Mail Gateway you get the job done.\n\nProxmox Mail Gateway helps you protect your business against all email threats like spam, viruses, phishing and trojans at the moment they emerge. The flexible architecture combined with the userfriendly, web-based management make it simple for you to control all incoming and outgoing emails. You maintain a professional email workflow and gain high business reputation as well as customer satisfaction.",
        "documentation_url": "http://www.proxmox.com/en/downloads/category/documentation-pmg",
        "images": [
            {
                "direct_download_url": "http://www.proxmox.com/en/downloads?task=callelement&format=raw&item_id=201&element=f85c494b-2b32-4109-b8c1-083cca2b7db6&method=download&args[0]=1f39333ff32bef6001584670e439c842",
                "download_url": "http://www.proxmox.com/en/downloads",
                "filename": "proxmox-mailgateway_4.1-5.iso",
                "filesize": 746586112,
                "md5sum": "f0b90f525b6f0fd51889ee48e44980b7",
                "version": "4.1-5"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Proxmox MG",
        "port_name_format": "eth{0}",
        "product_name": "Proxmox MG",
        "product_url": "http://www.proxmox.com/en/proxmox-mail-gateway",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 3,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "User: root\nPassword: admin",
        "vendor_name": "Proxmox Server Solutions GmbH",
        "vendor_url": "http://www.proxmox.com/en/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "proxmox-mailgateway_4.1-5.iso",
                    "hda_disk_image": "empty30G.qcow2"
                },
                "name": "4.1-5"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Monitoring a distributed network across multiple locations can be a challenge. That\u2019s where Sophos iView can help. It provides you with an intelligent, uninterrupted view of your network from a single pane of glass. If you have multiple appliances, need consolidated reporting, or could just use help with log management or compliance, Sophos iView is the ideal solution.",
        "documentation_url": "https://www.sophos.com/en-us/support/documentation/sophos-iview.aspx",
        "images": [
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SIVOS_02.00.0_MR-2.KVM-776-PRIMARY.qcow2",
                "filesize": 493289472,
                "md5sum": "d78c6f0c42186a4c606d7e57f2f3a6d7",
                "version": "2.0.0 MR2"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SIVOS_02.00.0_MR-2.KVM-776-AUXILARY.qcow2",
                "filesize": 204800,
                "md5sum": "a52d8cedb1ccd4b5b9f2723dfb41588b",
                "version": "2.0.0 MR2"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Sophos iView",
        "product_name": "Sophos iView",
        "product_url": "https://www.sophos.com/en-us/products/next-gen-firewall.aspx",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "require",
            "ram": 4096
        },
        "registry_version": 3,
        "status": "experimental",
        "symbol": "mgmt_station.svg",
        "usage": "Default CLI password: admin\nDefault WebUI address: http://172.16.16.18\nDefault WebUI credentials: admin / admin",
        "vendor_name": "Sophos",
        "vendor_url": "https://www.sophos.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "VI-SIVOS_02.00.0_MR-2.KVM-776-PRIMARY.qcow2",
                    "hdb_disk_image": "VI-SIVOS_02.00.0_MR-2.KVM-776-AUXILARY.qcow2"
                },
                "name": "2.0.0 MR2"
            }
        ]
    },
    {
        "availability": "service-contract",
        "builtin": true,
        "category": "firewall",
        "description": "Cisco Firepower Next-Generation IPS (NGIPS) threat appliances combine superior visibility, embedded security intelligence, automated analysis, and industry-leading threat effectiveness.",
        "documentation_url": "http://www.cisco.com/c/en/us/support/security/ngips-virtual-appliance/tsd-products-support-series-home.html",
        "first_port_name": "eth0 (Mgmt)",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286259690&softwareid=286271056&release=6.0.0.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "Cisco_Firepower_NGIPSv_VMware-6.0.0-1005-disk1.vmdk",
                "filesize": 804301312,
                "md5sum": "72ed34d39c58a9d5ad1c6197d1ff9a62",
                "version": "6.0.0 (1005) vmdk"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286259690&softwareid=286271056&release=6.1.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "Cisco_Firepower_NGIPSv_VMware-6.1.0-330-disk1.vmdk",
                "filesize": 860411392,
                "md5sum": "7a771cc8c37a0371285f24c25f9886f0",
                "version": "6.1.0 (330) vmdk"
            },
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=286259690&softwareid=286271056&release=6.2.0&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "Cisco_Firepower_NGIPSv_VMware-6.2.0-362-disk1.vmdk",
                "filesize": 877626368,
                "md5sum": "46f629149e11ac5c224bae0486c7e406",
                "version": "6.2.0 (362) vmdk"
            }
        ],
        "maintainer": "Community",
        "maintainer_email": "",
        "name": "Cisco NGIPSv",
        "port_name_format": "eth{port1}",
        "product_name": "Cisco Firepower NGIPS Virtual",
        "product_url": "http://www.cisco.com/c/en/us/support/security/ngips-virtual-appliance/tsd-products-support-series-home.html",
        "qemu": {
            "adapter_type": "vmxnet3",
            "adapters": 10,
            "arch": "x86_64",
            "console_type": "telnet",
            "cpus": 4,
            "hda_disk_interface": "scsi",
            "kvm": "require",
            "ram": 8192
        },
        "registry_version": 4,
        "status": "experimental",
        "symbol": ":/symbols/ids.svg",
        "usage": "Default username/password: admin/Admin123.",
        "vendor_name": "Cisco Systems",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_NGIPSv_VMware-6.2.0-362-disk1.vmdk"
                },
                "name": "6.2.0 (362) vmdk"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_NGIPSv_VMware-6.1.0-330-disk1.vmdk"
                },
                "name": "6.1.0 (330) vmdk"
            },
            {
                "images": {
                    "hda_disk_image": "Cisco_Firepower_NGIPSv_VMware-6.0.0-1005-disk1.vmdk"
                },
                "name": "6.0.0 (1005) vmdk"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "FreeBSD is an advanced computer operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.",
        "documentation_url": "https://www.freebsd.org/docs.html",
        "images": [
            {
                "compression": "xz",
                "direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/11.1-RELEASE/amd64/Latest/FreeBSD-11.1-RELEASE-amd64.qcow2.xz",
                "download_url": "https://www.freebsd.org/where.html",
                "filename": "FreeBSD-11.1-RELEASE-amd64.qcow2",
                "filesize": 1533345792,
                "md5sum": "d78b2a7d05ec62f799e14ded4817ea69",
                "version": "11.1"
            },
            {
                "compression": "xz",
                "direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/11.0-RELEASE/amd64/Latest/FreeBSD-11.0-RELEASE-amd64.qcow2.xz",
                "download_url": "https://www.freebsd.org/where.html",
                "filename": "FreeBSD-11.0-RELEASE-amd64.qcow2",
                "filesize": 1384382464,
                "md5sum": "1b04999198f492afd6dc4935b8c7cc22",
                "version": "11.0"
            },
            {
                "compression": "xz",
                "direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/10.4-RELEASE/amd64/Latest/FreeBSD-10.4-RELEASE-amd64.qcow2.xz",
                "download_url": "https://www.freebsd.org/where.html",
                "filename": "FreeBSD-10.4-RELEASE-amd64.qcow2",
                "filesize": 1013448704,
                "md5sum": "ad498873733c57d1f6d890d587a11e3c",
                "version": "10.4"
            },
            {
                "compression": "xz",
                "direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/10.3-RELEASE/amd64/Latest/FreeBSD-10.3-RELEASE-amd64.qcow2.xz",
                "download_url": "https://www.freebsd.org/where.html",
                "filename": "FreeBSD-10.3-RELEASE-amd64.qcow2",
                "filesize": 974651392,
                "md5sum": "1a00cebef520dfac8d2bda10ea16a951",
                "version": "10.3"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FreeBSD",
        "port_name_format": "em{0}",
        "product_name": "FreeBSD",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "vnc",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 256
        },
        "registry_version": 3,
        "status": "stable",
        "usage": "User: root, not password is set.",
        "vendor_name": "FreeBSD",
        "vendor_url": "http://www.freebsd.org",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FreeBSD-11.1-RELEASE-amd64.qcow2"
                },
                "name": "11.1"
            },
            {
                "images": {
                    "hda_disk_image": "FreeBSD-11.0-RELEASE-amd64.qcow2"
                },
                "name": "11.0"
            },
            {
                "images": {
                    "hda_disk_image": "FreeBSD-10.4-RELEASE-amd64.qcow2"
                },
                "name": "10.4"
            },
            {
                "images": {
                    "hda_disk_image": "FreeBSD-10.3-RELEASE-amd64.qcow2"
                },
                "name": "10.3"
            }
        ]
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "Cisco Data Center Network Manager (DCNM) 10 unifies and automates Cisco Nexus and Cisco MDS 9000 Family multitenant infrastructure for data center management across Cisco Nexus 5000, 6000, 7000, and 9000 Series Switches in NX\u2011OS mode using Cisco NX-OS Software as well as across Cisco MDS 9100 and 9300 Series Multilayer Fabric Switches, 9200 Series Multiservice Switches, and 9500 and 9700 Series Multilayer Directors. Data Center Network Manager 10 lets you manage very large numbers of devices while providing ready-to-use management and automation capabilities plus Virtual Extensible LAN (VXLAN) overlay visibility into Cisco Nexus LAN fabrics.",
        "documentation_url": "http://www.cisco.com/c/en/us/support/cloud-systems-management/data-center-network-manager-10/model.html",
        "images": [
            {
                "download_url": "https://software.cisco.com/download/release.html?mdfid=281722751&softwareid=282088134&release=10.1(1)&relind=AVAILABLE&rellifecycle=&reltype=latest",
                "filename": "dcnm-va.10.1.1.iso",
                "filesize": 2927532032,
                "md5sum": "4eca14506decaf166251c64e67adb110",
                "version": "10.1.1"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty100G.qcow2",
                "filesize": 198656,
                "md5sum": "1e6409a4523ada212dea2ebc50e50a65",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco DCNM",
        "port_name_format": "eth{0}",
        "product_name": "DCNM",
        "product_url": "http://www.cisco.com/c/en/us/products/cloud-systems-management/prime-data-center-network-manager/index.html",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 2,
            "arch": "x86_64",
            "console_type": "vnc",
            "hda_disk_interface": "ide",
            "kvm": "require",
            "options": "-smp 2",
            "ram": 8192
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "mgmt_station.svg",
        "usage": "Default credentials: root / cisco123",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "cdrom_image": "dcnm-va.10.1.1.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "10.1.1"
            }
        ]
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license.  It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag).  In addition, it is designed to support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. This is a version of the appliance with a management interface on eth0.",
        "docker": {
            "adapters": 16,
            "environment": "MANAGEMENT_INTERFACE=1",
            "image": "gns3/openvswitch:latest"
        },
        "documentation_url": "http://openvswitch.org/support/",
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Open vSwitch management",
        "product_name": "Open vSwitch",
        "registry_version": 3,
        "status": "stable",
        "symbol": "mgmt_station_docker.svg",
        "usage": "The eth0 is the management interface. By default all other interfaces are connected to the br0",
        "vendor_name": "Open vSwitch",
        "vendor_url": "http://openvswitch.org/"
    },
    {
        "builtin": true,
        "category": "guest",
        "description": "FortiMail is a complete Secure Email Gateway offering suitable for any size organization. It provides a single solution to protect against inbound attacks - including advanced malware -, as well as outbound threats and data loss with a wide range of top-rated security capabilities.",
        "documentation_url": "http://docs.fortinet.com/fortimail/admin-guides",
        "images": [
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v54-build0712-FORTINET.out.kvm.qcow2",
                "filesize": 93454336,
                "md5sum": "977effe7b885ca5cedec7740a2a637aa",
                "version": "5.4.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v54-build0707-FORTINET.out.kvm.qcow2",
                "filesize": 92864512,
                "md5sum": "b51260cc3e408bf1352a204b8370254b",
                "version": "5.4.2"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v54-build0704-FORTINET.out.kvm.qcow2",
                "filesize": 94568448,
                "md5sum": "1f6553e182512cc87e20f47cc2b65abf",
                "version": "5.4.1"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v54-build0692-FORTINET.out.kvm.qcow2",
                "filesize": 101253120,
                "md5sum": "c9e0885cab65e52ab01d8143ed466b01",
                "version": "5.4.0"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0648-FORTINET.out.kvm.qcow2",
                "filesize": 88670208,
                "md5sum": "bd34a81c1bb6772c7e4919620027a5d4",
                "version": "5.3.11"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0643-FORTINET.out.kvm.qcow2",
                "filesize": 88801280,
                "md5sum": "08f3258533ac2b4f15e86ca3973be17e",
                "version": "5.3.10"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0634-FORTINET.out.kvm.qcow2",
                "filesize": 86376448,
                "md5sum": "a66b82f0713ba4ea418bd959d0cb5732",
                "version": "5.3.9"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0627-FORTINET.out.kvm.qcow2",
                "filesize": 86769664,
                "md5sum": "83108e5cb68bad681b68ec1ef7e29f25",
                "version": "5.3.8"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0623-FORTINET.out.kvm.qcow2",
                "filesize": 86573056,
                "md5sum": "7e208d04c3f9bc4dedcf6d45e8d99a76",
                "version": "5.3.7"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0621-FORTINET.out.kvm.qcow2",
                "filesize": 86638592,
                "md5sum": "3fe1521b73af886359d78eb4c1509466",
                "version": "5.3.6"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0618-FORTINET.out.kvm.qcow2",
                "filesize": 86376448,
                "md5sum": "5f4159956b87538c008654c030e00e37",
                "version": "5.3.5"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0608-FORTINET.out.kvm.qcow2",
                "filesize": 86048768,
                "md5sum": "b78f647148923e1bddfa2dcfbcc0c85c",
                "version": "5.3.4"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0599-FORTINET.out.kvm.qcow2",
                "filesize": 84606976,
                "md5sum": "f1f3ae5593029d4fc0a5024bcf786cc7",
                "version": "5.3.3"
            },
            {
                "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx",
                "filename": "FML_VMKV-64-v53-build0593-FORTINET.out.kvm.qcow2",
                "filesize": 84541440,
                "md5sum": "0447819ed4aa382ea6871c0cb913b592",
                "version": "5.3.2"
            },
            {
                "direct_download_url": "http://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty30G.qcow2",
                "filesize": 197120,
                "md5sum": "3411a599e822f2ac6be560a26405821a",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "FortiMail",
        "port_name_format": "Port{port1}",
        "product_name": "FortiMail",
        "product_url": "http://www.fortinet.com/products/fortimail/index.html",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "c",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "allow",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "fortinet.svg",
        "usage": "First boot takes a few minutes. Admin URL is https://x.x.x.x/admin, default username is admin, no password is set.",
        "vendor_name": "Fortinet",
        "vendor_url": "http://www.fortinet.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v54-build0712-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.3"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v54-build0707-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.2"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v54-build0704-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.1"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v54-build0692-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.4.0"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0648-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.11"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0643-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.10"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0634-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.9"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0627-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.8"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0623-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.7"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0621-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.6"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0618-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.5"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0608-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.4"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0599-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.3"
            },
            {
                "images": {
                    "hda_disk_image": "FML_VMKV-64-v53-build0593-FORTINET.out.kvm.qcow2",
                    "hdb_disk_image": "empty30G.qcow2"
                },
                "name": "5.3.2"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Today\u2019s enterprises face more demands than ever, from cloud computing to 24/7 availability to increasing security threats. NetScaler ADC, an advanced software-defined application delivery controller, is your networking power player. It provides outstanding delivery of business applications\u2014to any device and any location\u2014with unmatched security, superior L4-7 load balancing, reliable GSLB, and 100 percent uptime. In fact, NetScaler ADC offers up to five times the performance of our closest competitor. Plus our TriScale technology saves you money by allowing your network to scale up or down without additional hardware costs.",
        "documentation_url": "https://www.citrix.com/products/netscaler-adc/support.html",
        "images": [
            {
                "download_url": "https://www.citrix.com/lp/try/netscaler-vpx-express.html",
                "filename": "NSVPX-KVM-12.0-56.20_nc_32.qcow2",
                "filesize": 739704832,
                "md5sum": "0ea1c23e3b8eb8451037d46ee472cfa6",
                "version": "12.0-56.20"
            },
            {
                "download_url": "https://www.citrix.com/downloads/netscaler-adc/virtual-appliances/netscaler-vpx-express.html",
                "filename": "NSVPX-KVM-11.1-47.14_nc.raw",
                "filesize": 21474836480,
                "md5sum": "f7100f8b6588e152ce6f64e45b1e99fc",
                "version": "11.1-47.14 F"
            },
            {
                "download_url": "https://www.citrix.com/downloads/netscaler-adc/virtual-appliances/netscaler-vpx-express.html",
                "filename": "NSVPX-KVM-10.5-56.22_nc.raw",
                "filesize": 21474836480,
                "md5sum": "b7569f09d4c348c5cf825627169131e7",
                "version": "10.5-56.22"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "NetScaler VPX",
        "port_name_format": "1/{0}",
        "product_name": "NetScaler VPX",
        "product_url": "https://www.citrix.com/products/netscaler-adc/",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "boot_priority": "cd",
            "console_type": "telnet",
            "hda_disk_interface": "ide",
            "kvm": "require",
            "options": "-smp 2 -cpu host",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "loadbalancer.svg",
        "usage": "The image file is large (21.5 GB), make sure you have enough space. Default credentials: nsroot / nsroot",
        "vendor_name": "Citrix",
        "vendor_url": "http://www.citrix.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "NSVPX-KVM-12.0-56.20_nc_32.qcow2"
                },
                "name": "12.0-56.20"
            },
            {
                "images": {
                    "hda_disk_image": "NSVPX-KVM-11.1-47.14_nc.raw"
                },
                "name": "11.1-47.14 F"
            },
            {
                "images": {
                    "hda_disk_image": "NSVPX-KVM-10.5-56.22_nc.raw"
                },
                "name": "10.5-56.22"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "Check Point Gaia is the next generation Secure Operating System for all Check Point Appliances, Open Servers and Virtualized Gateways.\n\nGaia combines the best features from IPSO and SecurePlatform (SPLAT) into a single unified OS providing greater efficiency and robust performance. By upgrading to Gaia, customers will benefit from improved appliance connection capacity and reduced operating costs. With Gaia, IP Appliance customers will gain the ability to leverage the full breadth and power of all Check Point Software Blades.\n\nGaia secures IPv6 networks utilizing the Check Point Acceleration & Clustering technology and it protects the most dynamic network and virtualized environments by supporting 5 different dynamic routing protocols. As a 64-Bit OS, Gaia increases the connection capacity of existing appliances supporting up-to 10M concurrent connections for select 2012 Models.\n\nGaia simplifies management with segregation of duties by enabling role-based administrative access. Furthermore, Gaia greatly increases operation efficiency by offering Automatic Software Update.\n\nThe feature-rich Web interface allows for search of any command or property in a second.\n\nGaia provides backward compatibility with IPSO and SPLAT CLI-style commands making it an easy transition for existing Check Point customers.",
        "documentation_url": "http://downloads.checkpoint.com/dc/download.htm?ID=26770",
        "images": [
            {
                "download_url": "https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk104859",
                "filename": "Check_Point_R80.10_T421_Gaia.iso",
                "filesize": 3420127232,
                "md5sum": "12d9723fadb89bb722e20ca3f89012ce",
                "version": "80.10"
            },
            {
                "download_url": "https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk104859",
                "filename": "Check_Point_R77.30_T204_Install_and_Upgrade.Gaia.iso",
                "filesize": 2799271936,
                "md5sum": "6fa7586bbb6832fa965d3173276c5b87",
                "version": "77.30"
            },
            {
                "download_url": "https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk104859",
                "filename": "Check_Point_R77.20_T124_Install.Gaia.iso",
                "filesize": 2632974336,
                "md5sum": "7552fa2ad3e1f0ac31615b60b736969c",
                "version": "77.20"
            },
            {
                "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty100G.qcow2/download",
                "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
                "filename": "empty100G.qcow2",
                "filesize": 197120,
                "md5sum": "1e6409a4523ada212dea2ebc50e50a65",
                "version": "1.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Checkpoint GAiA",
        "product_name": "Gaia",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 8,
            "arch": "x86_64",
            "boot_priority": "dc",
            "console_type": "telnet",
            "cpus": 2,
            "kvm": "require",
            "process_priority": "normal",
            "ram": 4096
        },
        "registry_version": 4,
        "status": "experimental",
        "usage": "At boot choose the install on disk options. You need to open quickly the terminal after launching the appliance if you want to see the menu. You need a web browser in order to finalize the installation. You can use the firefox appliance for this.",
        "vendor_name": "Checkpoint",
        "vendor_url": "https://www.checkpoint.com",
        "versions": [
            {
                "images": {
                    "cdrom_image": "Check_Point_R80.10_T421_Gaia.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "80.10"
            },
            {
                "images": {
                    "cdrom_image": "Check_Point_R77.30_T204_Install_and_Upgrade.Gaia.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "77.30"
            },
            {
                "images": {
                    "cdrom_image": "Check_Point_R77.20_T124_Install.Gaia.iso",
                    "hda_disk_image": "empty100G.qcow2"
                },
                "name": "77.20"
            }
        ]
    },
    {
        "builtin": true,
        "category": "multilayer_switch",
        "description": "Cisco IOS on UNIX Layer 2 image.",
        "images": [
            {
                "filename": "i86bi-linux-l2-ipbasek9-15.1g.bin",
                "filesize": 62137336,
                "md5sum": "0b8b9e14ca99b68c654e44c4296857ba",
                "version": "15.1g"
            },
            {
                "filename": "i86bi-linux-l2-adventerprisek9-15.1a.bin",
                "filesize": 72726092,
                "md5sum": "9549a20a7391fb849da32caa77a0d254",
                "version": "15.1a"
            },
            {
                "filename": "i86bi-linux-l2-adventerprisek9-15.2d.bin",
                "filesize": 105036380,
                "md5sum": "f16db44433beb3e8c828db5ddad1de8a",
                "version": "15.2d"
            }
        ],
        "iou": {
            "ethernet_adapters": 4,
            "nvram": 128,
            "ram": 256,
            "serial_adapters": 0,
            "startup_config": "iou_l2_base_startup-config.txt"
        },
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco IOU L2",
        "product_name": "Cisco IOU L2",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "images": {
                    "image": "i86bi-linux-l2-ipbasek9-15.1g.bin"
                },
                "name": "15.1g"
            },
            {
                "images": {
                    "image": "i86bi-linux-l2-adventerprisek9-15.1a.bin"
                },
                "name": "15.1a"
            },
            {
                "images": {
                    "image": "i86bi-linux-l2-adventerprisek9-15.2d.bin"
                },
                "name": "15.2d"
            }
        ]
    },
    {
        "builtin": true,
        "category": "firewall",
        "description": "Sophos XG Firewall delivers the ultimate enterprise firewall performance, security, and control.\n\nFastpath packet optimization technology with up to 140Gbps throughput\nRevolutionary Security Heartbeat\u2122 for improved Advanced Threat Protection (ATP) and response\nPatented Layer-8 user identity control and visibility\nUnified App, Web, QoS, and IPS Policy simplifies management\nApp risk factor and user threat quotient monitors risk levels",
        "documentation_url": "https://www.sophos.com/en-us/support/documentation/sophos-xg-firewall.aspx",
        "images": [
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_17.0.2_MR-2.KVM-116-PRIMARY.qcow2",
                "filesize": 324599808,
                "md5sum": "2555fa6dcdcecad02c9f02dcb1c0c5e5",
                "version": "17.0.2 MR2"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_17.0.2_MR-2.KVM-116-AUXILARY.qcow2",
                "filesize": 59441152,
                "md5sum": "c3ef795423dbfc01771348b0daa75125",
                "version": "16.05.1 MR1"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_16.05.4_MR-4.KVM-215-PRIMARY.qcow2",
                "filesize": 287113216,
                "md5sum": "20535c9e624f42e1977f1e407fbc565e",
                "version": "16.05.4 MR4"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_16.05.4_MR-4.KVM-215-AUXILARY.qcow2",
                "filesize": 59441152,
                "md5sum": "cafac2d997a3ead087d5823b86ce6cb4",
                "version": "16.05.1 MR1"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_16.05.1_MR-1.KVM-139-PRIMARY.qcow2",
                "filesize": 285671424,
                "md5sum": "3d81cf163fb0f4c5c9ba26e92a0ddc13",
                "version": "16.05.1 MR1"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_16.05.1_MR-1.KVM-139-AUXILARY.qcow2",
                "filesize": 59441152,
                "md5sum": "499541728460331a6b68b9e60c8207a3",
                "version": "16.05.1 MR1"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_16.05.0_RC-1.KVM-098-PRIMARY.qcow2",
                "filesize": 285736960,
                "md5sum": "1826ca8a34945de5251876dc3fc7fe63",
                "version": "16.05.1 RC1"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_16.05.0_RC-1.KVM-098-AUXILARY.qcow2",
                "filesize": 59441152,
                "md5sum": "a9c60a65c1e7b5be8369e5ceaeb358f9",
                "version": "16.05.1 RC1"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_16.01.1.KVM-202-PRIMARY.qcow2",
                "filesize": 277479424,
                "md5sum": "818d9f973b7a32c50d9b84814c6f1ee3",
                "version": "16.01.1"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFOS_16.01.1.KVM-202-AUXILARY.qcow2",
                "filesize": 59441152,
                "md5sum": "1f6fc0b751aaec9bfd4401b0e0cbc6dc",
                "version": "16.01.1"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFMOS_15.01.0.KVM-301-PRIMARY.qcow2",
                "filesize": 706412544,
                "md5sum": "a2cb14ed93de1550afef49984b11b56f",
                "version": "15.01"
            },
            {
                "download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx",
                "filename": "VI-SFMOS_15.01.0.KVM-301-AUXILARY.qcow2",
                "filesize": 199168,
                "md5sum": "43cf82ac1f7b0eb6550f0e203daa6b96",
                "version": "15.01"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Sophos XG Firewall",
        "product_name": "Sophos XG Firewall",
        "product_url": "https://www.sophos.com/en-us/products/next-gen-firewall.aspx",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 4,
            "arch": "x86_64",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "hdb_disk_interface": "virtio",
            "kvm": "require",
            "ram": 1024
        },
        "registry_version": 3,
        "status": "experimental",
        "usage": "Port 0 => You computer for the configurtation\nPort 1 => WAN\n\n1. You need a serial number. You can get a trial from Sophos for free.\nUpon starting for the first time, access the setup screen at https://172.16.16.16 (Note: it may take a few minutes for the necessary services to start before the setup screen is ready).\n3. When you are prompted the default administrator credentials are:\nUsername: admin\nPassword: admin\n\n4. Make sure the device is setup for internet access (required for activation): change the network settings from the Basic Setup screen if necessary.\n5. Enter your serial number (provided below) into the setup screen and click \"Activate Device\".\n6. Then register your device with your MySophos ID by clicking \"Register Device\" and entering your MySophos ID and password that you used to download the software.\\\n7. Once the device is registered, you can initiate License Synchronization and proceed with the rest of the configuration.",
        "vendor_name": "Sophos",
        "vendor_url": "https://www.sophos.com",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "VI-SFOS_17.0.2_MR-2.KVM-116-PRIMARY.qcow2",
                    "hdb_disk_image": "VI-SFOS_17.0.2_MR-2.KVM-116-AUXILARY.qcow2"
                },
                "name": "17.0.2 MR2"
            },
            {
                "images": {
                    "hda_disk_image": "VI-SFOS_16.05.4_MR-4.KVM-215-PRIMARY.qcow2",
                    "hdb_disk_image": "VI-SFOS_16.05.4_MR-4.KVM-215-AUXILARY.qcow2"
                },
                "name": "16.05.4 MR4"
            },
            {
                "images": {
                    "hda_disk_image": "VI-SFOS_16.05.1_MR-1.KVM-139-PRIMARY.qcow2",
                    "hdb_disk_image": "VI-SFOS_16.05.1_MR-1.KVM-139-AUXILARY.qcow2"
                },
                "name": "16.05.1 MR1"
            },
            {
                "images": {
                    "hda_disk_image": "VI-SFOS_16.05.0_RC-1.KVM-098-PRIMARY.qcow2",
                    "hdb_disk_image": "VI-SFOS_16.05.0_RC-1.KVM-098-AUXILARY.qcow2"
                },
                "name": "16.05.1 MR1"
            },
            {
                "images": {
                    "hda_disk_image": "VI-SFOS_16.01.1.KVM-202-PRIMARY.qcow2",
                    "hdb_disk_image": "VI-SFOS_16.01.1.KVM-202-AUXILARY.qcow2"
                },
                "name": "16.01.1"
            },
            {
                "images": {
                    "hda_disk_image": "VI-SFMOS_15.01.0.KVM-301-PRIMARY.qcow2",
                    "hdb_disk_image": "VI-SFMOS_15.01.0.KVM-301-AUXILARY.qcow2"
                },
                "name": "15.01"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "IOS XRv 9000 (aka Sunstone) is the 1st VM released running the 64-bit IOS XR operating system as used on the NCS-6xxx platform. This appliance requires 4 vCPUs and 16GB of memory to run!",
        "documentation_url": "http://www.cisco.com/c/en/us/td/docs/ios_xr_sw/ios_xrv/release/notes/xrv-rn.html",
        "first_port_name": "MgmtEth0/0/CPU0/0",
        "images": [
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "xrv9k-fullk9-x-6.2.25.qcow2",
                "filesize": 1190723584,
                "md5sum": "3f54e62b6f7cedfb2607233e5e465766",
                "version": "6.2.25"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "xrv9k-fullk9-x.qcow2-6.0.1",
                "filesize": 2109210624,
                "md5sum": "e20d046807075046c35b6ce7d6766a7f",
                "version": "6.0.1"
            },
            {
                "download_url": "https://virl.mediuscorp.com/my-account/",
                "filename": "xrv9k-fullk9-x.qcow2-6.0.0",
                "filesize": 2572943360,
                "md5sum": "64c538c34252aaeb4ed1ddb93d6803fd",
                "version": "6.0.0"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco IOS XRv 9000",
        "port_name_format": "GigabitEthernet0/0/0/{0}",
        "product_name": "IOS XRv 9000",
        "product_url": "http://virl.cisco.com/",
        "qemu": {
            "adapter_type": "e1000",
            "adapters": 4,
            "arch": "i386",
            "console_type": "telnet",
            "kvm": "require",
            "options": "-smp 4",
            "ram": 16384
        },
        "registry_version": 3,
        "status": "experimental",
        "usage": "Default username/password: admin/admin, cisco/cisco and lab/lab. There is no default configuration present.",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "xrv9k-fullk9-x-6.2.25.qcow2"
                },
                "name": "6.2.25"
            },
            {
                "images": {
                    "hda_disk_image": "xrv9k-fullk9-x.qcow2-6.0.1"
                },
                "name": "6.0.1"
            },
            {
                "images": {
                    "hda_disk_image": "xrv9k-fullk9-x.qcow2-6.0.0"
                },
                "name": "6.0.0"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Don't you hate it when companies artificially cripple performance? We just give you two simple choices - Now isn't that a refreshing change?",
        "documentation_url": "https://loadbalancer.org/support/support-resources",
        "images": [
            {
                "download_url": "https://loadbalancer.org/resources/free-trial",
                "filename": "Loadbalancer.org_Enterprise_VA-8.3-disk1.qcow2",
                "filesize": 368332288,
                "md5sum": "f0e41f39a5cab47990edc0509c579bac",
                "version": "8.3"
            },
            {
                "download_url": "https://loadbalancer.org/resources/free-trial",
                "filename": "Loadbalancer.org_Enterprise_VA-8.2-disk1.qcow2",
                "filesize": 8430419968,
                "md5sum": "8b74b330a6f629a081f3b36a5d64605b",
                "version": "8.2"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Loadbalancer.org Enterprise VA",
        "product_name": "Loadbalancer.org Enterprise VA",
        "product_url": "https://loadbalancer.org/products/virtual",
        "qemu": {
            "adapter_type": "virtio-net-pci",
            "adapters": 2,
            "arch": "x86_64",
            "console_type": "telnet",
            "hda_disk_interface": "virtio",
            "kvm": "require",
            "ram": 2048
        },
        "registry_version": 3,
        "status": "stable",
        "symbol": "loadbalancer.svg",
        "usage": "Default credentials:\n Network config CLI: setup / setup\n CLI: root / loadbalancer\n WebUI: loadbalancer / loadbalancer",
        "vendor_name": "Loadbalancer.org",
        "vendor_url": "https://loadbalancer.org/",
        "versions": [
            {
                "images": {
                    "hda_disk_image": "Loadbalancer.org_Enterprise_VA-8.3-disk1.qcow2"
                },
                "name": "8.3"
            },
            {
                "images": {
                    "hda_disk_image": "Loadbalancer.org_Enterprise_VA-8.2-disk1.qcow2"
                },
                "name": "8.2"
            }
        ]
    },
    {
        "builtin": true,
        "category": "router",
        "description": "Cisco 1700 Router",
        "documentation_url": "http://www.cisco.com/c/en/us/support/index.html",
        "dynamips": {
            "chassis": "1720",
            "nvram": 128,
            "platform": "c1700",
            "ram": 160,
            "slot0": "C1700-MB-1FE",
            "startup_config": "ios_base_startup-config.txt"
        },
        "images": [
            {
                "filename": "c1700-adventerprisek9-mz.124-25d.image",
                "filesize": 57475320,
                "md5sum": "7f4ae12a098391bc0edcaf4f44caaf9d",
                "version": "124-25d"
            }
        ],
        "maintainer": "GNS3 Team",
        "maintainer_email": "developers@gns3.net",
        "name": "Cisco 1700",
        "product_name": "1700",
        "registry_version": 3,
        "status": "experimental",
        "vendor_name": "Cisco",
        "vendor_url": "http://www.cisco.com",
        "versions": [
            {
                "idlepc": "0x80358a60",
                "images": {
                    "image": "c1700-adventerprisek9-mz.124-25d.image"
                },
                "name": "124-25d"
            }
        ]
    }
]
/v2/projects/{project_id}/appliances/{appliance_id}
POST /v2/projects/{project_id}/appliances/{appliance_id}

Create a node from an appliance

Parameters
  • appliance_id: Appliance template UUID
  • project_id: Project UUID
Response status codes
  • 201: Node created
  • 404: The project or template doesn’t exist
Input
Name Mandatory Type Description
compute_id ['null', 'string'] If the appliance don't have a default compute use this compute
x integer X position
y integer Y position
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Compute
/v2/computes
POST /v2/computes

Register a compute server

Response status codes
  • 201: Compute server added
Input
Name Mandatory Type Description
compute_id string Server identifier
host string Server host
name string Server name
password ['string', 'null'] Password for authentication
port integer Server port
protocol enum Possible values: http, https
user ['string', 'null'] User for authentication
Output
Name Mandatory Type Description
capabilities object Get what a server support
compute_id string Server identifier
connected boolean Whether the controller is connected to the compute server or not
cpu_usage_percent ['number', 'null'] CPU usage of the compute. Read only
host string Server host
memory_usage_percent ['number', 'null'] RAM usage of the compute. Read only
name string Server name
port integer Server port
protocol enum Possible values: http, https
user ['string', 'null'] User for authentication
GET /v2/computes

List of compute servers

Response status codes
  • 200: Compute servers list returned
/v2/computes/endpoint/{compute_id}/{emulator}/{action:.+}
GET /v2/computes/endpoint/{compute_id}/{emulator}/{action:.+}

Returns the endpoint for particular compute to specific action. WARNING: This is experimental feature and may change anytime. Please don’t rely on this endpoint.

Parameters
  • compute_id: Compute UUID
Response status codes
  • 200: OK
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
endpoint string URL to endpoint on specific compute and to particular action
/v2/computes/{compute_id}
PUT /v2/computes/{compute_id}

Get a compute server information

Response status codes
  • 200: Compute server updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
compute_id string Server identifier
host string Server host
name string Server name
password ['string', 'null'] Password for authentication
port integer Server port
protocol enum Possible values: http, https
user ['string', 'null'] User for authentication
Output
Name Mandatory Type Description
capabilities object Get what a server support
compute_id string Server identifier
connected boolean Whether the controller is connected to the compute server or not
cpu_usage_percent ['number', 'null'] CPU usage of the compute. Read only
host string Server host
memory_usage_percent ['number', 'null'] RAM usage of the compute. Read only
name string Server name
port integer Server port
protocol enum Possible values: http, https
user ['string', 'null'] User for authentication
GET /v2/computes/{compute_id}

Get a compute server information

Response status codes
  • 200: Compute server information returned
Output
Name Mandatory Type Description
capabilities object Get what a server support
compute_id string Server identifier
connected boolean Whether the controller is connected to the compute server or not
cpu_usage_percent ['number', 'null'] CPU usage of the compute. Read only
host string Server host
memory_usage_percent ['number', 'null'] RAM usage of the compute. Read only
name string Server name
port integer Server port
protocol enum Possible values: http, https
user ['string', 'null'] User for authentication
DELETE /v2/computes/{compute_id}

Delete a compute instance

Parameters
  • compute_id: Compute UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
/v2/computes/{compute_id}/{emulator}/{action:.+}
GET /v2/computes/{compute_id}/{emulator}/{action:.+}

Forward call specific to compute node. Read the full compute API for available actions

Parameters
  • compute_id: Compute UUID
Response status codes
  • 200: OK
  • 404: Instance doesn’t exist
POST /v2/computes/{compute_id}/{emulator}/{action:.+}

Forward call specific to compute node. Read the full compute API for available actions

Parameters
  • compute_id: Compute UUID
Response status codes
  • 200: OK
  • 404: Instance doesn’t exist
Drawing
/v2/projects/{project_id}/drawings
GET /v2/projects/{project_id}/drawings

List drawings of a project

Parameters
  • project_id: Project UUID
Response status codes
  • 200: List of drawings returned
Sample session
curl -i -X GET 'http://localhost:3080/v2/projects/972df51a-85cc-4762-bb3f-f03bd52d7b2c/drawings'

GET /v2/projects/972df51a-85cc-4762-bb3f-f03bd52d7b2c/drawings HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 363
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:13 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/drawings

[
    {
        "drawing_id": "510703c2-6ba8-47d5-bcbf-20a3fe6790af",
        "project_id": "972df51a-85cc-4762-bb3f-f03bd52d7b2c",
        "rotation": 0,
        "svg": "<svg height=\"210\" width=\"500\"><line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"200\" style=\"stroke:rgb(255,0,0);stroke-width:2\" /></svg>",
        "x": 10,
        "y": 20,
        "z": 0
    }
]
POST /v2/projects/{project_id}/drawings

Create a new drawing instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Drawing created
Input
Name Mandatory Type Description
drawing_id string Drawing UUID
project_id string Project UUID
rotation integer Rotation of the element
svg string SVG content of the drawing
x integer X property
y integer Y property
z integer Z property
Output
Name Mandatory Type Description
drawing_id string Drawing UUID
project_id string Project UUID
rotation integer Rotation of the element
svg string SVG content of the drawing
x integer X property
y integer Y property
z integer Z property
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/d38cc3dd-4fdc-4371-8c16-d668bd8c823f/drawings' -d '{"svg": "<svg height=\"210\" width=\"500\"><line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"200\" style=\"stroke:rgb(255,0,0);stroke-width:2\" /></svg>", "x": 10, "y": 20, "z": 0}'

POST /v2/projects/d38cc3dd-4fdc-4371-8c16-d668bd8c823f/drawings HTTP/1.1
{
    "svg": "<svg height=\"210\" width=\"500\"><line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"200\" style=\"stroke:rgb(255,0,0);stroke-width:2\" /></svg>",
    "x": 10,
    "y": 20,
    "z": 0
}


HTTP/1.1 201
Connection: close
Content-Length: 323
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:13 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/drawings

{
    "drawing_id": "56416446-bbe6-42c9-ba11-abaab62d8c54",
    "project_id": "d38cc3dd-4fdc-4371-8c16-d668bd8c823f",
    "rotation": 0,
    "svg": "<svg height=\"210\" width=\"500\"><line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"200\" style=\"stroke:rgb(255,0,0);stroke-width:2\" /></svg>",
    "x": 10,
    "y": 20,
    "z": 0
}
/v2/projects/{project_id}/drawings/{drawing_id}
GET /v2/projects/{project_id}/drawings/{drawing_id}

Get a drawing instance

Parameters
  • project_id: Project UUID
  • drawing_id: Drawing UUID
Response status codes
  • 200: Drawing found
  • 400: Invalid request
  • 404: Drawing doesn’t exist
Output
Name Mandatory Type Description
drawing_id string Drawing UUID
project_id string Project UUID
rotation integer Rotation of the element
svg string SVG content of the drawing
x integer X property
y integer Y property
z integer Z property
Sample session
curl -i -X GET 'http://localhost:3080/v2/projects/e45e88b7-4fe3-46c8-9daf-1a60461b6380/drawings/3348ce13-01f1-49ef-9582-057b820fff1f'

GET /v2/projects/e45e88b7-4fe3-46c8-9daf-1a60461b6380/drawings/3348ce13-01f1-49ef-9582-057b820fff1f HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 323
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:13 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/drawings/{drawing_id}

{
    "drawing_id": "3348ce13-01f1-49ef-9582-057b820fff1f",
    "project_id": "e45e88b7-4fe3-46c8-9daf-1a60461b6380",
    "rotation": 0,
    "svg": "<svg height=\"210\" width=\"500\"><line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"200\" style=\"stroke:rgb(255,0,0);stroke-width:2\" /></svg>",
    "x": 10,
    "y": 20,
    "z": 0
}
PUT /v2/projects/{project_id}/drawings/{drawing_id}

Update a drawing instance

Parameters
  • project_id: Project UUID
  • drawing_id: Drawing UUID
Response status codes
  • 400: Invalid request
  • 201: Drawing updated
Input
Name Mandatory Type Description
drawing_id string Drawing UUID
project_id string Project UUID
rotation integer Rotation of the element
svg string SVG content of the drawing
x integer X property
y integer Y property
z integer Z property
Output
Name Mandatory Type Description
drawing_id string Drawing UUID
project_id string Project UUID
rotation integer Rotation of the element
svg string SVG content of the drawing
x integer X property
y integer Y property
z integer Z property
Sample session
curl -i -X PUT 'http://localhost:3080/v2/projects/600de23c-5af1-44a1-8c67-3023ceb6e6c7/drawings/5f9c48be-d144-4666-a66f-5bc6d93e2f32' -d '{"x": 42}'

PUT /v2/projects/600de23c-5af1-44a1-8c67-3023ceb6e6c7/drawings/5f9c48be-d144-4666-a66f-5bc6d93e2f32 HTTP/1.1
{
    "x": 42
}


HTTP/1.1 201
Connection: close
Content-Length: 323
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:13 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/drawings/{drawing_id}

{
    "drawing_id": "5f9c48be-d144-4666-a66f-5bc6d93e2f32",
    "project_id": "600de23c-5af1-44a1-8c67-3023ceb6e6c7",
    "rotation": 0,
    "svg": "<svg height=\"210\" width=\"500\"><line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"200\" style=\"stroke:rgb(255,0,0);stroke-width:2\" /></svg>",
    "x": 42,
    "y": 20,
    "z": 0
}
DELETE /v2/projects/{project_id}/drawings/{drawing_id}

Delete a drawing instance

Parameters
  • project_id: Project UUID
  • drawing_id: Drawing UUID
Response status codes
  • 400: Invalid request
  • 204: Drawing deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/projects/74c2978e-03fe-4873-ac04-433fb93cb2b0/drawings/7447cc2c-18fb-4db7-87a7-11b81ebd036d'

DELETE /v2/projects/74c2978e-03fe-4873-ac04-433fb93cb2b0/drawings/7447cc2c-18fb-4db7-87a7-11b81ebd036d HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:13 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/drawings/{drawing_id}

Gns3 vm
/v2/gns3vm
GET /v2/gns3vm

Get GNS3 VM settings

Response status codes
  • 200: GNS3 VM settings returned
Sample session
curl -i -X GET 'http://localhost:3080/v2/gns3vm'

GET /v2/gns3vm HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 148
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:14 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/gns3vm

{
    "enable": false,
    "engine": "vmware",
    "headless": false,
    "ram": 2048,
    "vcpus": 1,
    "vmname": null,
    "when_exit": "stop"
}
PUT /v2/gns3vm

Update GNS3 VM settings

Response status codes
  • 201: GNS3 VM updated
Sample session
curl -i -X PUT 'http://localhost:3080/v2/gns3vm' -d '{"vmname": "TEST VM"}'

PUT /v2/gns3vm HTTP/1.1
{
    "vmname": "TEST VM"
}


HTTP/1.1 201
Connection: close
Content-Length: 27
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:14 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/gns3vm

{
    "vmname": "TEST VM"
}
/v2/gns3vm/engines
GET /v2/gns3vm/engines

Return the list of engines supported for the GNS3VM

Sample session
curl -i -X GET 'http://localhost:3080/v2/gns3vm/engines'

GET /v2/gns3vm/engines HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 1120
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:14 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/gns3vm/engines

[
    {
        "description": "VMware is the recommended choice for best performances.<br>The GNS3 VM can be <a href=\"https://github.com/GNS3/gns3-gui/releases/download/v2.1.8dev1/GNS3.VM.VMware.Workstation.2.1.8dev1.zip\">downloaded here</a>.",
        "engine_id": "vmware",
        "name": "VMware Workstation / Player",
        "support_headless": true,
        "support_ram": true,
        "support_when_exit": true
    },
    {
        "description": "VirtualBox doesn't support nested virtualization, this means running Qemu based VM could be very slow.<br>The GNS3 VM can be <a href=\"https://github.com/GNS3/gns3-gui/releases/download/v2.1.8dev1/GNS3.VM.VirtualBox.2.1.8dev1.zip\">downloaded here</a>",
        "engine_id": "virtualbox",
        "name": "VirtualBox",
        "support_headless": true,
        "support_ram": true,
        "support_when_exit": true
    },
    {
        "description": "Use a remote GNS3 server as the GNS3 VM.",
        "engine_id": "remote",
        "name": "Remote",
        "support_headless": false,
        "support_ram": false,
        "support_when_exit": false
    }
]
/v2/gns3vm/engines/{engine}/vms
GET /v2/gns3vm/engines/{engine}/vms

Get all the available VMs for a specific virtualization engine

Parameters
  • engine: Virtualization engine name
Response status codes
  • 200: Success
  • 400: Invalid request
Sample session
curl -i -X GET 'http://localhost:3080/v2/gns3vm/engines/vmware/vms'

GET /v2/gns3vm/engines/vmware/vms HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 40
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:14 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/gns3vm/engines/{engine}/vms

[
    {
        "vmname": "test"
    }
]
Node
/v2/projects/{project_id}/nodes
POST /v2/projects/{project_id}/nodes

Create a new node instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
Input
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/fe1bef67-c60d-47ba-84b6-9b23b2c07f9b/nodes' -d '{"compute_id": "example.com", "name": "test", "node_type": "vpcs", "properties": {"startup_script": "echo test"}}'

POST /v2/projects/fe1bef67-c60d-47ba-84b6-9b23b2c07f9b/nodes HTTP/1.1
{
    "compute_id": "example.com",
    "name": "test",
    "node_type": "vpcs",
    "properties": {
        "startup_script": "echo test"
    }
}


HTTP/1.1 201
Connection: close
Content-Length: 1128
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:15 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes

{
    "command_line": null,
    "compute_id": "example.com",
    "console": 2048,
    "console_host": "<MagicMock name='mock.console_host' id='140064615775256'>",
    "console_type": null,
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-size: 10;font-familly: Verdana",
        "text": "test",
        "x": null,
        "y": -40
    },
    "name": "test",
    "node_directory": null,
    "node_id": "5578aa5a-47db-443a-87df-ee21984a4bef",
    "node_type": "vpcs",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0"
        }
    ],
    "project_id": "fe1bef67-c60d-47ba-84b6-9b23b2c07f9b",
    "properties": {
        "startup_script": "echo test"
    },
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": 0,
    "y": 0,
    "z": 0
}
GET /v2/projects/{project_id}/nodes

List nodes of a project

Parameters
  • project_id: Project UUID
Response status codes
  • 200: List of nodes returned
Sample session
curl -i -X GET 'http://localhost:3080/v2/projects/132da055-0a8a-43d4-a743-5a88516ae705/nodes'

GET /v2/projects/132da055-0a8a-43d4-a743-5a88516ae705/nodes HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 1308
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:15 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes

[
    {
        "command_line": null,
        "compute_id": "example.com",
        "console": 2048,
        "console_host": "<MagicMock name='mock.console_host' id='140064616278168'>",
        "console_type": null,
        "first_port_name": null,
        "height": 59,
        "label": {
            "rotation": 0,
            "style": "font-size: 10;font-familly: Verdana",
            "text": "test",
            "x": null,
            "y": -40
        },
        "name": "test",
        "node_directory": null,
        "node_id": "2986c282-e260-4ca2-bfb8-7fdb1124fb18",
        "node_type": "vpcs",
        "port_name_format": "Ethernet{0}",
        "port_segment_size": 0,
        "ports": [
            {
                "adapter_number": 0,
                "data_link_types": {
                    "Ethernet": "DLT_EN10MB"
                },
                "link_type": "ethernet",
                "name": "Ethernet0",
                "port_number": 0,
                "short_name": "e0"
            }
        ],
        "project_id": "132da055-0a8a-43d4-a743-5a88516ae705",
        "properties": {
            "startup_script": "echo test"
        },
        "status": "stopped",
        "symbol": ":/symbols/computer.svg",
        "width": 65,
        "x": 0,
        "y": 0,
        "z": 0
    }
]
/v2/projects/{project_id}/nodes/{node_id}
GET /v2/projects/{project_id}/nodes/{node_id}

Update a node instance

Response status codes
  • 200: Node found
  • 400: Invalid request
  • 404: Node doesn’t exist
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X GET 'http://localhost:3080/v2/projects/c6fa61ac-4e7d-4212-b113-adcaa9366fbf/nodes/3e1232fb-023f-41c6-af7c-975c0cb4efb4'

GET /v2/projects/c6fa61ac-4e7d-4212-b113-adcaa9366fbf/nodes/3e1232fb-023f-41c6-af7c-975c0cb4efb4 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 1128
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:15 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}

{
    "command_line": null,
    "compute_id": "example.com",
    "console": 2048,
    "console_host": "<MagicMock name='mock.console_host' id='140064666486432'>",
    "console_type": null,
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-size: 10;font-familly: Verdana",
        "text": "test",
        "x": null,
        "y": -40
    },
    "name": "test",
    "node_directory": null,
    "node_id": "3e1232fb-023f-41c6-af7c-975c0cb4efb4",
    "node_type": "vpcs",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0"
        }
    ],
    "project_id": "c6fa61ac-4e7d-4212-b113-adcaa9366fbf",
    "properties": {
        "startup_script": "echo test"
    },
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": 0,
    "y": 0,
    "z": 0
}
PUT /v2/projects/{project_id}/nodes/{node_id}

Update a node instance

Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X PUT 'http://localhost:3080/v2/projects/13218acd-e860-4b30-a037-d22248a6e9a4/nodes/84cf3670-98ea-4899-a1e7-6b77bab3ceba' -d '{"compute_id": "example.com", "name": "test", "node_type": "vpcs", "properties": {"startup_script": "echo test"}}'

PUT /v2/projects/13218acd-e860-4b30-a037-d22248a6e9a4/nodes/84cf3670-98ea-4899-a1e7-6b77bab3ceba HTTP/1.1
{
    "compute_id": "example.com",
    "name": "test",
    "node_type": "vpcs",
    "properties": {
        "startup_script": "echo test"
    }
}


HTTP/1.1 200
Connection: close
Content-Length: 1085
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:15 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}

{
    "command_line": null,
    "compute_id": "example.com",
    "console": 2048,
    "console_host": "<MagicMock name='mock.console_host' id='140064577545496'>",
    "console_type": null,
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-size: 10;font-familly: Verdana",
        "text": "test",
        "x": null,
        "y": -40
    },
    "name": "test",
    "node_directory": null,
    "node_id": "84cf3670-98ea-4899-a1e7-6b77bab3ceba",
    "node_type": "vpcs",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0"
        }
    ],
    "project_id": "13218acd-e860-4b30-a037-d22248a6e9a4",
    "properties": {},
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": 0,
    "y": 0,
    "z": 0
}
DELETE /v2/projects/{project_id}/nodes/{node_id}

Delete a node instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/projects/737be072-cd9f-4e13-a008-c0bee1499e3e/nodes/4f450ace-7a8d-4571-9bd0-85cebe831015'

DELETE /v2/projects/737be072-cd9f-4e13-a008-c0bee1499e3e/nodes/4f450ace-7a8d-4571-9bd0-85cebe831015 HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}

/v2/projects/{project_id}/nodes/{node_id}/duplicate
POST /v2/projects/{project_id}/nodes/{node_id}/duplicate

Duplicate a node instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance duplicated
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/7a2e464c-1aa5-4bc9-988b-36b73cbd9ed7/nodes/3cb45937-864f-44cc-8500-c347ff15dc48/duplicate' -d '{"x": 10, "y": 5, "z": 0}'

POST /v2/projects/7a2e464c-1aa5-4bc9-988b-36b73cbd9ed7/nodes/3cb45937-864f-44cc-8500-c347ff15dc48/duplicate HTTP/1.1
{
    "x": 10,
    "y": 5,
    "z": 0
}


HTTP/1.1 201
Connection: close
Content-Length: 1088
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}/duplicate

{
    "command_line": null,
    "compute_id": "example.com",
    "console": null,
    "console_host": "<MagicMock name='mock.console_host' id='140064615197552'>",
    "console_type": null,
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-size: 10;font-familly: Verdana",
        "text": "test1",
        "x": null,
        "y": -40
    },
    "name": "test1",
    "node_directory": null,
    "node_id": "ee0b6a58-5c7e-4a0f-9432-b1d8bb12b5a9",
    "node_type": "vpcs",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0"
        }
    ],
    "project_id": "7a2e464c-1aa5-4bc9-988b-36b73cbd9ed7",
    "properties": {},
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": 10,
    "y": 5,
    "z": 0
}
/v2/projects/{project_id}/nodes/{node_id}/dynamips/auto_idlepc
GET /v2/projects/{project_id}/nodes/{node_id}/dynamips/auto_idlepc

Compute the IDLE PC for a Dynamips node

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance reloaded
Sample session
curl -i -X GET 'http://localhost:3080/v2/projects/78ecd424-b47a-48dc-8a16-ffb886abcd76/nodes/0cf380bd-6629-4d07-a36f-1fcb1f8bfe0e/dynamips/auto_idlepc'

GET /v2/projects/78ecd424-b47a-48dc-8a16-ffb886abcd76/nodes/0cf380bd-6629-4d07-a36f-1fcb1f8bfe0e/dynamips/auto_idlepc HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 30
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}/dynamips/auto_idlepc

{
    "idlepc": "0x60606f54"
}
/v2/projects/{project_id}/nodes/{node_id}/dynamips/idlepc_proposals
GET /v2/projects/{project_id}/nodes/{node_id}/dynamips/idlepc_proposals

Compute a list of potential idle PC for a node

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance reloaded
Sample session
curl -i -X GET 'http://localhost:3080/v2/projects/0d9bf109-374a-404f-8799-9a8aa3234c15/nodes/c62a408c-250b-494c-a404-15af6b740f41/dynamips/idlepc_proposals'

GET /v2/projects/0d9bf109-374a-404f-8799-9a8aa3234c15/nodes/c62a408c-250b-494c-a404-15af6b740f41/dynamips/idlepc_proposals HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 38
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}/dynamips/idlepc_proposals

[
    "0x60606f54",
    "0x33805a22"
]
/v2/projects/{project_id}/nodes/{node_id}/reload
POST /v2/projects/{project_id}/nodes/{node_id}/reload

Reload a node instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance reloaded
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/ac836744-6453-4e8d-8b07-d23643b5a85a/nodes/d7ba3ea4-1d16-4be8-aa13-11aa750387b4/reload' -d '{}'

POST /v2/projects/ac836744-6453-4e8d-8b07-d23643b5a85a/nodes/d7ba3ea4-1d16-4be8-aa13-11aa750387b4/reload HTTP/1.1
{}


HTTP/1.1 200
Connection: close
Content-Length: 1085
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}/reload

{
    "command_line": null,
    "compute_id": "example.com",
    "console": null,
    "console_host": "<MagicMock name='mock.console_host' id='140064615557552'>",
    "console_type": null,
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-size: 10;font-familly: Verdana",
        "text": "test",
        "x": null,
        "y": -40
    },
    "name": "test",
    "node_directory": null,
    "node_id": "d7ba3ea4-1d16-4be8-aa13-11aa750387b4",
    "node_type": "vpcs",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0"
        }
    ],
    "project_id": "ac836744-6453-4e8d-8b07-d23643b5a85a",
    "properties": {},
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": 0,
    "y": 0,
    "z": 0
}
/v2/projects/{project_id}/nodes/{node_id}/start
POST /v2/projects/{project_id}/nodes/{node_id}/start

Start a node instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/35d8ba79-db65-46e0-81ee-109449cbde99/nodes/4b86a49a-770b-4893-a575-bfc3e584aab5/start' -d '{}'

POST /v2/projects/35d8ba79-db65-46e0-81ee-109449cbde99/nodes/4b86a49a-770b-4893-a575-bfc3e584aab5/start HTTP/1.1
{}


HTTP/1.1 200
Connection: close
Content-Length: 1085
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}/start

{
    "command_line": null,
    "compute_id": "example.com",
    "console": null,
    "console_host": "<MagicMock name='mock.console_host' id='140064575049400'>",
    "console_type": null,
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-size: 10;font-familly: Verdana",
        "text": "test",
        "x": null,
        "y": -40
    },
    "name": "test",
    "node_directory": null,
    "node_id": "4b86a49a-770b-4893-a575-bfc3e584aab5",
    "node_type": "vpcs",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0"
        }
    ],
    "project_id": "35d8ba79-db65-46e0-81ee-109449cbde99",
    "properties": {},
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": 0,
    "y": 0,
    "z": 0
}
/v2/projects/{project_id}/nodes/{node_id}/stop
POST /v2/projects/{project_id}/nodes/{node_id}/stop

Stop a node instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance stopped
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/5cf491b9-62e5-43fc-94f9-9654ceb9fc9f/nodes/35df34ca-8a36-4277-8c55-29d458e350c1/stop' -d '{}'

POST /v2/projects/5cf491b9-62e5-43fc-94f9-9654ceb9fc9f/nodes/35df34ca-8a36-4277-8c55-29d458e350c1/stop HTTP/1.1
{}


HTTP/1.1 200
Connection: close
Content-Length: 1085
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}/stop

{
    "command_line": null,
    "compute_id": "example.com",
    "console": null,
    "console_host": "<MagicMock name='mock.console_host' id='140064670639552'>",
    "console_type": null,
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-size: 10;font-familly: Verdana",
        "text": "test",
        "x": null,
        "y": -40
    },
    "name": "test",
    "node_directory": null,
    "node_id": "35df34ca-8a36-4277-8c55-29d458e350c1",
    "node_type": "vpcs",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0"
        }
    ],
    "project_id": "5cf491b9-62e5-43fc-94f9-9654ceb9fc9f",
    "properties": {},
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": 0,
    "y": 0,
    "z": 0
}
/v2/projects/{project_id}/nodes/{node_id}/suspend
POST /v2/projects/{project_id}/nodes/{node_id}/suspend

Suspend a node instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance suspended
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/9d198bf2-411e-4aa6-8e28-bd2c36f685f0/nodes/5cdb09d0-48c6-4d4f-8312-ab7af704ed61/suspend' -d '{}'

POST /v2/projects/9d198bf2-411e-4aa6-8e28-bd2c36f685f0/nodes/5cdb09d0-48c6-4d4f-8312-ab7af704ed61/suspend HTTP/1.1
{}


HTTP/1.1 200
Connection: close
Content-Length: 1085
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}/suspend

{
    "command_line": null,
    "compute_id": "example.com",
    "console": null,
    "console_host": "<MagicMock name='mock.console_host' id='140064615057112'>",
    "console_type": null,
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-size: 10;font-familly: Verdana",
        "text": "test",
        "x": null,
        "y": -40
    },
    "name": "test",
    "node_directory": null,
    "node_id": "5cdb09d0-48c6-4d4f-8312-ab7af704ed61",
    "node_type": "vpcs",
    "port_name_format": "Ethernet{0}",
    "port_segment_size": 0,
    "ports": [
        {
            "adapter_number": 0,
            "data_link_types": {
                "Ethernet": "DLT_EN10MB"
            },
            "link_type": "ethernet",
            "name": "Ethernet0",
            "port_number": 0,
            "short_name": "e0"
        }
    ],
    "project_id": "9d198bf2-411e-4aa6-8e28-bd2c36f685f0",
    "properties": {},
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": 0,
    "y": 0,
    "z": 0
}
/v2/projects/{project_id}/nodes/reload
POST /v2/projects/{project_id}/nodes/reload

Reload all nodes belonging to the project

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: All nodes successfully reloaded
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/1af5d401-e67c-4346-ad2b-ba7a657ecbb1/nodes/reload' -d '{}'

POST /v2/projects/1af5d401-e67c-4346-ad2b-ba7a657ecbb1/nodes/reload HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/reload

/v2/projects/{project_id}/nodes/start
POST /v2/projects/{project_id}/nodes/start

Start all nodes belonging to the project

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: All nodes successfully started
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/57f8aff8-92c7-4e2d-90b4-1bdf81d60f56/nodes/start' -d '{}'

POST /v2/projects/57f8aff8-92c7-4e2d-90b4-1bdf81d60f56/nodes/start HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:15 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/start

/v2/projects/{project_id}/nodes/stop
POST /v2/projects/{project_id}/nodes/stop

Stop all nodes belonging to the project

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: All nodes successfully stopped
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/e6010926-bd32-43c4-b917-d6fd6f67de91/nodes/stop' -d '{}'

POST /v2/projects/e6010926-bd32-43c4-b917-d6fd6f67de91/nodes/stop HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:15 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/stop

/v2/projects/{project_id}/nodes/suspend
POST /v2/projects/{project_id}/nodes/suspend

Suspend all nodes belonging to the project

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: All nodes successfully suspended
Output
Name Mandatory Type Description
command_line ['null', 'string'] Command line use to start the node
compute_id string Compute identifier
console ['integer', 'null'] Console TCP port
console_host string Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.
console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
project_id string Project UUID
properties object Properties specific to an emulator
status enum Possible values: stopped, started, suspended
symbol ['string', 'null'] Symbol of the node
width integer Width of the node (Read only)
x integer X position of the node
y integer Y position of the node
z integer Z position of the node
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/39f4ff28-0c99-40c1-997b-1f29c62b2661/nodes/suspend' -d '{}'

POST /v2/projects/39f4ff28-0c99-40c1-997b-1f29c62b2661/nodes/suspend HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:15 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/nodes/suspend

Project
/v2/projects
POST /v2/projects

Create a new project on the server

Response status codes
  • 201: Project created
  • 409: Project already created
Input
Name Mandatory Type Description
auto_close boolean Project auto close
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ['string', 'null'] Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects' -d '{"name": "test", "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"}'

POST /v2/projects HTTP/1.1
{
    "name": "test",
    "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"
}


HTTP/1.1 201
Connection: close
Content-Length: 530
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "grid_size": 0,
    "name": "test",
    "path": "/tmp/tmpwszmok4d/projects/10010203-0405-0607-0809-0a0b0c0d0e0f",
    "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "opened",
    "supplier": null,
    "variables": null,
    "zoom": 100
}
GET /v2/projects

List projects

Response status codes
  • 200: List of projects
Sample session
curl -i -X GET 'http://localhost:3080/v2/projects'

GET /v2/projects HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 604
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects

[
    {
        "auto_close": true,
        "auto_open": false,
        "auto_start": false,
        "filename": "test.gns3",
        "grid_size": 0,
        "name": "test",
        "path": "/tmp/pytest-of-grossmj/pytest-23/test_list_projects1",
        "project_id": "00010203-0405-0607-0809-0a0b0c0d0e0f",
        "scene_height": 1000,
        "scene_width": 2000,
        "show_grid": false,
        "show_interface_labels": false,
        "show_layers": false,
        "snap_to_grid": false,
        "status": "opened",
        "supplier": null,
        "variables": null,
        "zoom": 100
    }
]
/v2/projects/load
POST /v2/projects/load

Open a project (only local server)

Parameters
  • path: .gns3 path
Response status codes
  • 201: The project has been opened
  • 403: The server is not the local server
Input
Name Mandatory Type Description
path string .gns3 path
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/load' -d '{"path": "/tmp/test.gns3"}'

POST /v2/projects/load HTTP/1.1
{
    "path": "/tmp/test.gns3"
}


HTTP/1.1 201
Connection: close
Content-Length: 530
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:17 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/load

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "grid_size": 0,
    "name": "test",
    "path": "/tmp/tmp2sngc75f/projects/3e349315-a4b0-45a4-be24-44c07d6be18f",
    "project_id": "3e349315-a4b0-45a4-be24-44c07d6be18f",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "opened",
    "supplier": null,
    "variables": null,
    "zoom": 100
}
/v2/projects/{project_id}
GET /v2/projects/{project_id}

Get a project

Parameters
  • project_id: Project UUID
Response status codes
  • 200: Project information returned
  • 404: The project doesn’t exist
Sample session
curl -i -X GET 'http://localhost:3080/v2/projects/f8ac1d11-fb7c-46a6-bbf9-20192db31b10'

GET /v2/projects/f8ac1d11-fb7c-46a6-bbf9-20192db31b10 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 530
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "grid_size": 0,
    "name": "test",
    "path": "/tmp/tmpy4z1t054/projects/f8ac1d11-fb7c-46a6-bbf9-20192db31b10",
    "project_id": "f8ac1d11-fb7c-46a6-bbf9-20192db31b10",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "opened",
    "supplier": null,
    "variables": null,
    "zoom": 100
}
PUT /v2/projects/{project_id}

Update a project instance

Response status codes
  • 200: Node updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Path of the project on the server (work only with --local)
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X PUT 'http://localhost:3080/v2/projects/10010203-0405-0607-0809-0a0b0c0d0e0f' -d '{"name": "test2"}'

PUT /v2/projects/10010203-0405-0607-0809-0a0b0c0d0e0f HTTP/1.1
{
    "name": "test2"
}


HTTP/1.1 200
Connection: close
Content-Length: 662
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "grid_size": 0,
    "name": "test2",
    "path": "/tmp/tmpos2k9l46/projects/10010203-0405-0607-0809-0a0b0c0d0e0f",
    "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "opened",
    "supplier": null,
    "variables": [
        {
            "name": "TEST1"
        },
        {
            "name": "TEST2",
            "value": "value1"
        }
    ],
    "zoom": 100
}
DELETE /v2/projects/{project_id}

Delete a project from disk

Parameters
  • project_id: Project UUID
Response status codes
  • 404: The project doesn’t exist
  • 204: Changes have been written on disk
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/projects/09ce947d-d938-4575-886f-238abefb22f8'

DELETE /v2/projects/09ce947d-d938-4575-886f-238abefb22f8 HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}

/v2/projects/{project_id}/close
POST /v2/projects/{project_id}/close

Close a project

Parameters
  • project_id: Project UUID
Response status codes
  • 404: The project doesn’t exist
  • 204: The project has been closed
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/588d67c3-885b-437c-ae36-ce6950830d86/close' -d '{}'

POST /v2/projects/588d67c3-885b-437c-ae36-ce6950830d86/close HTTP/1.1
{}


HTTP/1.1 201
Connection: close
Content-Length: 530
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/close

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "grid_size": 0,
    "name": "test",
    "path": "/tmp/tmprbo2qfxf/projects/588d67c3-885b-437c-ae36-ce6950830d86",
    "project_id": "588d67c3-885b-437c-ae36-ce6950830d86",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "opened",
    "supplier": null,
    "variables": null,
    "zoom": 100
}
/v2/projects/{project_id}/duplicate
POST /v2/projects/{project_id}/duplicate

Duplicate a project

Parameters
  • project_id: Project UUID
Response status codes
  • 201: Project duplicate
  • 403: The server is not the local server
  • 404: The project doesn’t exist
Input
Name Mandatory Type Description
auto_close boolean Project auto close
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ['string', 'null'] Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/7b438af0-3276-47f7-a213-d0238838f49d/duplicate' -d '{"name": "hello"}'

POST /v2/projects/7b438af0-3276-47f7-a213-d0238838f49d/duplicate HTTP/1.1
{
    "name": "hello"
}


HTTP/1.1 201
Connection: close
Content-Length: 532
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:17 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/duplicate

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "hello.gns3",
    "grid_size": 0,
    "name": "hello",
    "path": "/tmp/tmpnll2ywz8/projects/1823edf6-594d-40e8-b4b4-2bd47870f976",
    "project_id": "1823edf6-594d-40e8-b4b4-2bd47870f976",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "closed",
    "supplier": null,
    "variables": null,
    "zoom": 100
}
/v2/projects/{project_id}/files/{path:.+}
GET /v2/projects/{project_id}/files/{path:.+}

Get a file from a project. Beware you have warranty to be able to access only to file global to the project (for example README.txt)

Parameters
  • project_id: Project UUID
Response status codes
  • 200: File returned
  • 403: Permission denied
  • 404: The file doesn’t exist
POST /v2/projects/{project_id}/files/{path:.+}

Write a file to a project

Parameters
  • project_id: Project UUID
Response status codes
  • 200: File returned
  • 403: Permission denied
  • 404: The path doesn’t exist
/v2/projects/{project_id}/import
POST /v2/projects/{project_id}/import

Import a project from a portable archive

Parameters
  • project_id: Project UUID
Response status codes
  • 200: Project imported
  • 403: Forbidden to import project
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
/v2/projects/{project_id}/open
POST /v2/projects/{project_id}/open

Open a project

Parameters
  • project_id: Project UUID
Response status codes
  • 201: The project has been opened
  • 404: The project doesn’t exist
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/b0c86c5d-c429-49b9-99cc-94b73137b9c3/open' -d '{}'

POST /v2/projects/b0c86c5d-c429-49b9-99cc-94b73137b9c3/open HTTP/1.1
{}


HTTP/1.1 201
Connection: close
Content-Length: 530
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:16 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/open

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "grid_size": 0,
    "name": "test",
    "path": "/tmp/tmp8c09ti6d/projects/b0c86c5d-c429-49b9-99cc-94b73137b9c3",
    "project_id": "b0c86c5d-c429-49b9-99cc-94b73137b9c3",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "opened",
    "supplier": null,
    "variables": null,
    "zoom": 100
}
Server
/v2/debug
POST /v2/debug

Dump debug information to disk (debug directory in config directory). Work only for local server

/v2/settings
GET /v2/settings

Retrieve gui settings from the server. Temporary will we removed in later release

Sample session
curl -i -X GET 'http://localhost:3080/v2/settings'

GET /v2/settings HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 85
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:18 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/settings

{
    "modification_uuid": "c8a68ba6-b99c-491d-b12b-9ff4089f04ac",
    "test": true
}
POST /v2/settings

Write gui settings on the server. Temporary will we removed in later releas

Sample session
curl -i -X POST 'http://localhost:3080/v2/settings' -d '{"test": true}'

POST /v2/settings HTTP/1.1
{
    "test": true
}


HTTP/1.1 201
Connection: close
Content-Length: 85
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:18 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/settings

{
    "modification_uuid": "c8a68ba6-b99c-491d-b12b-9ff4089f04ac",
    "test": true
}
/v2/shutdown
POST /v2/shutdown

Shutdown the local server

Response status codes
  • 201: Server is shutting down
  • 403: Server shutdown refused
Sample session
curl -i -X POST 'http://localhost:3080/v2/shutdown' -d '{}'

POST /v2/shutdown HTTP/1.1
{}


HTTP/1.1 201
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:18 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/shutdown

/v2/version
GET /v2/version

Retrieve the server version number

Output
Name Mandatory Type Description
local boolean Whether this is a local server or not
version string Version number
Sample session
curl -i -X GET 'http://localhost:3080/v2/version'

GET /v2/version HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 49
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:21 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/version

{
    "local": true,
    "version": "2.1.8dev1"
}
POST /v2/version

Check if version is the same as the server

Response status codes
  • 200: Same version
  • 409: Invalid version
Input
Name Mandatory Type Description
local boolean Whether this is a local server or not
version string Version number
Output
Name Mandatory Type Description
local boolean Whether this is a local server or not
version string Version number
Sample session
curl -i -X POST 'http://localhost:3080/v2/version' -d '{"version": "2.1.8dev1"}'

POST /v2/version HTTP/1.1
{
    "version": "2.1.8dev1"
}


HTTP/1.1 200
Connection: close
Content-Length: 30
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:21 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/version

{
    "version": "2.1.8dev1"
}
Snapshot
/v2/projects/{project_id}/snapshots
POST /v2/projects/{project_id}/snapshots

Create snapshot of a project

Parameters
  • project_id: Project UUID
Response status codes
  • 201: Snasphot created
  • 404: The project doesn’t exist
Input
Name Mandatory Type Description
name Snapshot name
Output
Name Mandatory Type Description
created_at integer Date of the snapshot (UTC timestamp)
name string Project name
project_id string Project UUID
snapshot_id string Snapshot UUID
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/8ad8d8bd-8179-4f60-8a59-e3031882b864/snapshots' -d '{"name": "snap1"}'

POST /v2/projects/8ad8d8bd-8179-4f60-8a59-e3031882b864/snapshots HTTP/1.1
{
    "name": "snap1"
}


HTTP/1.1 201
Connection: close
Content-Length: 170
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:21 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/snapshots

{
    "created_at": 1528965321,
    "name": "snap1",
    "project_id": "8ad8d8bd-8179-4f60-8a59-e3031882b864",
    "snapshot_id": "2494bd41-220d-452b-929d-d3d53be75f3d"
}
GET /v2/projects/{project_id}/snapshots

List snapshots of a project

Parameters
  • project_id: Project UUID
Response status codes
  • 200: Snasphot list returned
  • 404: The project doesn’t exist
Sample session
curl -i -X GET 'http://localhost:3080/v2/projects/6249277b-6f3c-4ee7-b380-ccaa517bcd73/snapshots'

GET /v2/projects/6249277b-6f3c-4ee7-b380-ccaa517bcd73/snapshots HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 197
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:18 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/snapshots

[
    {
        "created_at": 1528965318,
        "name": "test",
        "project_id": "6249277b-6f3c-4ee7-b380-ccaa517bcd73",
        "snapshot_id": "d9958ef7-315b-4a78-a32f-f58b4ccede5d"
    }
]
/v2/projects/{project_id}/snapshots/{snapshot_id}
DELETE /v2/projects/{project_id}/snapshots/{snapshot_id}

Delete a snapshot from disk

Parameters
  • snapshot_id: Snasphot UUID
  • project_id: Project UUID
Response status codes
  • 404: The project or snapshot doesn’t exist
  • 204: Changes have been written on disk
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/projects/c2dfa899-79ee-43da-9a03-2b2dfd18bb72/snapshots/0de2c303-0da2-465a-846b-110825af2ccc'

DELETE /v2/projects/c2dfa899-79ee-43da-9a03-2b2dfd18bb72/snapshots/0de2c303-0da2-465a-846b-110825af2ccc HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:18 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/snapshots/{snapshot_id}

/v2/projects/{project_id}/snapshots/{snapshot_id}/restore
POST /v2/projects/{project_id}/snapshots/{snapshot_id}/restore

Restore a snapshot from disk

Parameters
  • snapshot_id: Snasphot UUID
  • project_id: Project UUID
Response status codes
  • 201: The snapshot has been restored
  • 404: The project or snapshot doesn’t exist
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X POST 'http://localhost:3080/v2/projects/03938ba6-bad8-4cf9-825c-b3570b7a1318/snapshots/f62f4654-9547-4611-a065-e48143372958/restore' -d '{}'

POST /v2/projects/03938ba6-bad8-4cf9-825c-b3570b7a1318/snapshots/f62f4654-9547-4611-a065-e48143372958/restore HTTP/1.1
{}


HTTP/1.1 201
Connection: close
Content-Length: 530
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:19 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/projects/{project_id}/snapshots/{snapshot_id}/restore

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "grid_size": 0,
    "name": "test",
    "path": "/tmp/tmpdxyra45a/projects/03938ba6-bad8-4cf9-825c-b3570b7a1318",
    "project_id": "03938ba6-bad8-4cf9-825c-b3570b7a1318",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "opened",
    "supplier": null,
    "variables": null,
    "zoom": 100
}
Symbol
/v2/symbols
GET /v2/symbols

List of symbols

Response status codes
  • 200: Symbols list returned
Sample session
curl -i -X GET 'http://localhost:3080/v2/symbols'

GET /v2/symbols HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 5292
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:21 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/symbols

[
    {
        "builtin": true,
        "filename": "PBX.svg",
        "symbol_id": ":/symbols/PBX.svg"
    },
    {
        "builtin": true,
        "filename": "PIX_firewall.svg",
        "symbol_id": ":/symbols/PIX_firewall.svg"
    },
    {
        "builtin": true,
        "filename": "access_point.svg",
        "symbol_id": ":/symbols/access_point.svg"
    },
    {
        "builtin": true,
        "filename": "access_server.svg",
        "symbol_id": ":/symbols/access_server.svg"
    },
    {
        "builtin": true,
        "filename": "asa.svg",
        "symbol_id": ":/symbols/asa.svg"
    },
    {
        "builtin": true,
        "filename": "atm_bridge.svg",
        "symbol_id": ":/symbols/atm_bridge.svg"
    },
    {
        "builtin": true,
        "filename": "atm_switch.svg",
        "symbol_id": ":/symbols/atm_switch.svg"
    },
    {
        "builtin": true,
        "filename": "call_manager.svg",
        "symbol_id": ":/symbols/call_manager.svg"
    },
    {
        "builtin": true,
        "filename": "cloud.svg",
        "symbol_id": ":/symbols/cloud.svg"
    },
    {
        "builtin": true,
        "filename": "computer.svg",
        "symbol_id": ":/symbols/computer.svg"
    },
    {
        "builtin": true,
        "filename": "docker_guest.svg",
        "symbol_id": ":/symbols/docker_guest.svg"
    },
    {
        "builtin": true,
        "filename": "dslam.svg",
        "symbol_id": ":/symbols/dslam.svg"
    },
    {
        "builtin": true,
        "filename": "edge_label_switch_router.svg",
        "symbol_id": ":/symbols/edge_label_switch_router.svg"
    },
    {
        "builtin": true,
        "filename": "ethernet_switch.svg",
        "symbol_id": ":/symbols/ethernet_switch.svg"
    },
    {
        "builtin": true,
        "filename": "firewall.svg",
        "symbol_id": ":/symbols/firewall.svg"
    },
    {
        "builtin": true,
        "filename": "frame_relay_switch.svg",
        "symbol_id": ":/symbols/frame_relay_switch.svg"
    },
    {
        "builtin": true,
        "filename": "gateway.svg",
        "symbol_id": ":/symbols/gateway.svg"
    },
    {
        "builtin": true,
        "filename": "hub.svg",
        "symbol_id": ":/symbols/hub.svg"
    },
    {
        "builtin": true,
        "filename": "ids.svg",
        "symbol_id": ":/symbols/ids.svg"
    },
    {
        "builtin": true,
        "filename": "iosv_l2_virl.svg",
        "symbol_id": ":/symbols/iosv_l2_virl.svg"
    },
    {
        "builtin": true,
        "filename": "iosv_virl.svg",
        "symbol_id": ":/symbols/iosv_virl.svg"
    },
    {
        "builtin": true,
        "filename": "ip_phone.svg",
        "symbol_id": ":/symbols/ip_phone.svg"
    },
    {
        "builtin": true,
        "filename": "label_switch_router.svg",
        "symbol_id": ":/symbols/label_switch_router.svg"
    },
    {
        "builtin": true,
        "filename": "lightweight_ap.svg",
        "symbol_id": ":/symbols/lightweight_ap.svg"
    },
    {
        "builtin": true,
        "filename": "multilayer_switch.svg",
        "symbol_id": ":/symbols/multilayer_switch.svg"
    },
    {
        "builtin": true,
        "filename": "optical_router.svg",
        "symbol_id": ":/symbols/optical_router.svg"
    },
    {
        "builtin": true,
        "filename": "printer.svg",
        "symbol_id": ":/symbols/printer.svg"
    },
    {
        "builtin": true,
        "filename": "qemu_guest.svg",
        "symbol_id": ":/symbols/qemu_guest.svg"
    },
    {
        "builtin": true,
        "filename": "route_switch_processor.svg",
        "symbol_id": ":/symbols/route_switch_processor.svg"
    },
    {
        "builtin": true,
        "filename": "router.awp.svg",
        "symbol_id": ":/symbols/router.awp.svg"
    },
    {
        "builtin": true,
        "filename": "router.svg",
        "symbol_id": ":/symbols/router.svg"
    },
    {
        "builtin": true,
        "filename": "router_firewall.svg",
        "symbol_id": ":/symbols/router_firewall.svg"
    },
    {
        "builtin": true,
        "filename": "router_netflow.svg",
        "symbol_id": ":/symbols/router_netflow.svg"
    },
    {
        "builtin": true,
        "filename": "server.svg",
        "symbol_id": ":/symbols/server.svg"
    },
    {
        "builtin": true,
        "filename": "sip_server.svg",
        "symbol_id": ":/symbols/sip_server.svg"
    },
    {
        "builtin": true,
        "filename": "traceng.svg",
        "symbol_id": ":/symbols/traceng.svg"
    },
    {
        "builtin": true,
        "filename": "vbox_guest.svg",
        "symbol_id": ":/symbols/vbox_guest.svg"
    },
    {
        "builtin": true,
        "filename": "vmware_guest.svg",
        "symbol_id": ":/symbols/vmware_guest.svg"
    },
    {
        "builtin": true,
        "filename": "voice_access_server.svg",
        "symbol_id": ":/symbols/voice_access_server.svg"
    },
    {
        "builtin": true,
        "filename": "voice_router.svg",
        "symbol_id": ":/symbols/voice_router.svg"
    },
    {
        "builtin": true,
        "filename": "vpcs_guest.svg",
        "symbol_id": ":/symbols/vpcs_guest.svg"
    },
    {
        "builtin": true,
        "filename": "wlan_controller.svg",
        "symbol_id": ":/symbols/wlan_controller.svg"
    }
]

Compute Endpoints

A compute is the GNS3 process running on a host. It controls emulators in order to run nodes (e.g. VMware VMs with VMware Workstation, IOS routers with Dynamips etc.)

Warning

These endpoints should be considered low level and private. They should only be used by the controller or for debugging purposes.

Atm switch
/v2/compute/projects/{project_id}/atm_switch/nodes
POST /v2/compute/projects/{project_id}/atm_switch/nodes

Create a new ATM switch instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
mappings object ATM mappings
name string ATM switch name
node_id Node UUID
Output
Name Mandatory Type Description
mappings object ATM mappings
name string ATM switch name
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
/v2/compute/projects/{project_id}/atm_switch/nodes/{node_id}
GET /v2/compute/projects/{project_id}/atm_switch/nodes/{node_id}

Get an ATM switch instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
mappings object ATM mappings
name string ATM switch name
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
PUT /v2/compute/projects/{project_id}/atm_switch/nodes/{node_id}

Update an ATM switch instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
mappings object ATM mappings
name string ATM switch name
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Output
Name Mandatory Type Description
mappings object ATM mappings
name string ATM switch name
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
DELETE /v2/compute/projects/{project_id}/atm_switch/nodes/{node_id}

Delete an ATM switch instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
/v2/compute/projects/{project_id}/atm_switch/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/atm_switch/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on an ATM switch instance

Parameters
  • adapter_number: Adapter on the switch (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the switch
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
Capabilities
/v2/compute/capabilities
GET /v2/compute/capabilities

Retrieve the capabilities of the server

Output
Name Mandatory Type Description
node_types array Node type supported by the compute
platform string Platform where the compute is running
version ['string', 'null'] Version number
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/capabilities'

GET /v2/compute/capabilities HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 366
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:52 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/capabilities

{
    "node_types": [
        "cloud",
        "ethernet_hub",
        "ethernet_switch",
        "nat",
        "vpcs",
        "virtualbox",
        "dynamips",
        "frame_relay_switch",
        "atm_switch",
        "qemu",
        "vmware",
        "traceng",
        "docker",
        "iou"
    ],
    "platform": "linuxdebian",
    "version": "2.1.8dev1"
}
Cloud
/v2/compute/projects/{project_id}/cloud/nodes
POST /v2/compute/projects/{project_id}/cloud/nodes

Create a new cloud instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Types
HostInterfaces

Interfaces on this host

Name Mandatory Type Description
name string Interface name
special boolean If true the interface is non standard (firewire for example)
type enum Possible values: ethernet, tap
Body
Name Mandatory Type Description
interfaces array
name string Cloud name
node_id Node UUID
ports_mapping array
Output
Name Mandatory Type Description
interfaces array
name string Cloud name
node_directory string Path to the VM working directory
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes' -d '{"name": "Cloud 1"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes HTTP/1.1
{
    "name": "Cloud 1"
}


HTTP/1.1 201
Connection: close
Content-Length: 1608
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:52 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes

{
    "interfaces": [
        {
            "name": "docker0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "lo",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0-nic",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet1",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet2",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet3",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet4",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet8",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "wlp58s0",
            "special": false,
            "type": "ethernet"
        }
    ],
    "name": "Cloud 1",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-23/test_json4/project-files/builtin/6afa389a-7677-4c7c-9ba4-92c792d58254",
    "node_id": "6afa389a-7677-4c7c-9ba4-92c792d58254",
    "ports_mapping": [
        {
            "interface": "wlp58s0",
            "name": "wlp58s0",
            "port_number": 0,
            "type": "ethernet"
        }
    ],
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "started"
}
/v2/compute/projects/{project_id}/cloud/nodes/{node_id}
GET /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

Get a cloud instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
interfaces array
name string Cloud name
node_directory string Path to the VM working directory
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/b81b6f71-e77e-4b7b-8db9-916d4fa832e3'

GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/b81b6f71-e77e-4b7b-8db9-916d4fa832e3 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 1608
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:52 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

{
    "interfaces": [
        {
            "name": "docker0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "lo",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0-nic",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet1",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet2",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet3",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet4",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet8",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "wlp58s0",
            "special": false,
            "type": "ethernet"
        }
    ],
    "name": "Cloud 1",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-23/test_json4/project-files/builtin/b81b6f71-e77e-4b7b-8db9-916d4fa832e3",
    "node_id": "b81b6f71-e77e-4b7b-8db9-916d4fa832e3",
    "ports_mapping": [
        {
            "interface": "wlp58s0",
            "name": "wlp58s0",
            "port_number": 0,
            "type": "ethernet"
        }
    ],
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "started"
}
PUT /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

Update a cloud instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Types
HostInterfaces

Interfaces on this host

Name Mandatory Type Description
name string Interface name
special boolean If true the interface is non standard (firewire for example)
type enum Possible values: ethernet, tap
Body
Name Mandatory Type Description
interfaces array
name string Cloud name
node_directory string Path to the VM working directory
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Output
Name Mandatory Type Description
interfaces array
name string Cloud name
node_directory string Path to the VM working directory
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/f7f02c3a-77a4-4c7f-a36c-afa04af08e8f' -d '{"name": "test"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/f7f02c3a-77a4-4c7f-a36c-afa04af08e8f HTTP/1.1
{
    "name": "test"
}


HTTP/1.1 200
Connection: close
Content-Length: 1605
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:53 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

{
    "interfaces": [
        {
            "name": "docker0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "lo",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0-nic",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet1",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet2",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet3",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet4",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet8",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "wlp58s0",
            "special": false,
            "type": "ethernet"
        }
    ],
    "name": "test",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-23/test_json4/project-files/builtin/f7f02c3a-77a4-4c7f-a36c-afa04af08e8f",
    "node_id": "f7f02c3a-77a4-4c7f-a36c-afa04af08e8f",
    "ports_mapping": [
        {
            "interface": "wlp58s0",
            "name": "wlp58s0",
            "port_number": 0,
            "type": "ethernet"
        }
    ],
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "started"
}
DELETE /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

Delete a cloud instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/f95094c7-e60b-494a-9e2e-1029e8ba7520'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/f95094c7-e60b-494a-9e2e-1029e8ba7520 HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:53 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

/v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a cloud instance

Parameters
  • adapter_number: Adapter on the cloud (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the cloud
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/d65cf983-0042-48a7-866c-e14a2acb09b4/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/d65cf983-0042-48a7-866c-e14a2acb09b4/adapters/0/ports/0/nio HTTP/1.1
{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:52 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
PUT /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a Cloud instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be updated
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/6c8c9048-cce6-48dd-ba26-4cd02f323a97/adapters/0/ports/0/nio' -d '{"filters": {}, "lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/6c8c9048-cce6-48dd-ba26-4cd02f323a97/adapters/0/ports/0/nio HTTP/1.1
{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 108
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:52 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
DELETE /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a cloud instance

Parameters
  • adapter_number: Adapter on the cloud (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the cloud
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/cb9bad9b-ce54-4e3d-bfc8-ce71102679f3/adapters/0/ports/0/nio'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/cb9bad9b-ce54-4e3d-bfc8-ce71102679f3/adapters/0/ports/0/nio HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:52 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

/v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a cloud instance

Parameters
  • adapter_number: Adapter on the cloud (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the cloud
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
Docker
/v2/compute/projects/{project_id}/docker/nodes
POST /v2/compute/projects/{project_id}/docker/nodes

Create a new Docker container

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
adapters ['integer', 'null'] Number of adapters
aux ['integer', 'null'] Auxiliary TCP port
console ['integer', 'null'] Console TCP port
console_http_path string Path of the web interface
console_http_port integer Internal port in the container for the HTTP server
console_resolution ['string', 'null'] Console resolution for VNC
console_type enum Possible values: telnet, vnc, http, https
container_id string Docker container ID Read only
environment ['string', 'null'] Docker environment variables
extra_hosts ['string', 'null'] Docker extra hosts (added to /etc/hosts)
image string Docker image name
name string Docker container name
node_id string Node UUID
start_command ['string', 'null'] Docker CMD entry
usage string How to use the qemu VM
Output
Name Mandatory Type Description
adapters ['integer', 'null'] number of adapters
aux integer Auxiliary TCP port
console integer Console TCP port
console_http_path string Path of the web interface
console_http_port integer Internal port in the container for the HTTP server
console_resolution string Console resolution for VNC
console_type enum Possible values: telnet, vnc, http, https
container_id string Docker container ID Read only
environment ['string', 'null'] Docker environment
extra_hosts ['string', 'null'] Docker extra hosts (added to /etc/hosts)
image string Docker image name Read only
name string Docker container name
node_directory string Path to the node working directory Read only
node_id string Node UUID
project_id string Project UUID Read only
start_command ['string', 'null'] Docker CMD entry
status enum Possible values: started, stopped, suspended
usage string How to use the qemu VM
/v2/compute/projects/{project_id}/docker/nodes/{node_id}
DELETE /v2/compute/projects/{project_id}/docker/nodes/{node_id}

Delete a Docker container

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
PUT /v2/compute/projects/{project_id}/docker/nodes/{node_id}

Update a Docker instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
adapters ['integer', 'null'] number of adapters
aux integer Auxiliary TCP port
console integer Console TCP port
console_http_path string Path of the web interface
console_http_port integer Internal port in the container for the HTTP server
console_resolution string Console resolution for VNC
console_type enum Possible values: telnet, vnc, http, https
container_id string Docker container ID Read only
environment ['string', 'null'] Docker environment
extra_hosts ['string', 'null'] Docker extra hosts (added to /etc/hosts)
image string Docker image name Read only
name string Docker container name
node_directory string Path to the node working directory Read only
node_id string Node UUID
project_id string Project UUID Read only
start_command ['string', 'null'] Docker CMD entry
status enum Possible values: started, stopped, suspended
usage string How to use the qemu VM
Output
Name Mandatory Type Description
adapters ['integer', 'null'] number of adapters
aux integer Auxiliary TCP port
console integer Console TCP port
console_http_path string Path of the web interface
console_http_port integer Internal port in the container for the HTTP server
console_resolution string Console resolution for VNC
console_type enum Possible values: telnet, vnc, http, https
container_id string Docker container ID Read only
environment ['string', 'null'] Docker environment
extra_hosts ['string', 'null'] Docker extra hosts (added to /etc/hosts)
image string Docker image name Read only
name string Docker container name
node_directory string Path to the node working directory Read only
node_id string Node UUID
project_id string Project UUID Read only
start_command ['string', 'null'] Docker CMD entry
status enum Possible values: started, stopped, suspended
usage string How to use the qemu VM
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/be93d701-3fc7-444b-980f-8b87251f3b1a' -d '{"console": 5006, "environment": "GNS3=1\nGNS4=0", "extra_hosts": "test:127.0.0.1", "name": "test", "start_command": "yes"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/be93d701-3fc7-444b-980f-8b87251f3b1a HTTP/1.1
{
    "console": 5006,
    "environment": "GNS3=1\nGNS4=0",
    "extra_hosts": "test:127.0.0.1",
    "name": "test",
    "start_command": "yes"
}


HTTP/1.1 200
Connection: close
Content-Length: 639
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}

{
    "adapters": 2,
    "aux": 5005,
    "console": 5006,
    "console_http_path": "/",
    "console_http_port": 80,
    "console_resolution": "1280x1024",
    "console_type": "telnet",
    "container_id": "8bd8153ea8f5",
    "environment": "GNS3=1\nGNS4=0",
    "extra_hosts": "test:127.0.0.1",
    "image": "nginx:latest",
    "name": "test",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-23/test_json4/project-files/docker/be93d701-3fc7-444b-980f-8b87251f3b1a",
    "node_id": "be93d701-3fc7-444b-980f-8b87251f3b1a",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "start_command": "yes",
    "status": "stopped"
}
/v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a Docker container

Parameters
  • adapter_number: Adapter where the nio should be added
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/dff4edfe-a290-47c3-aa89-599e848cdffd/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/dff4edfe-a290-47c3-aa89-599e848cdffd/adapters/0/ports/0/nio HTTP/1.1
{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:53 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
PUT /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a Docker instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be updated
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/244e4d0a-8c9a-44c5-ba34-7432e9eef6ab/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/244e4d0a-8c9a-44c5-ba34-7432e9eef6ab/adapters/0/ports/0/nio HTTP/1.1
{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:53 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
DELETE /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a Docker container

Parameters
  • adapter_number: Adapter where the nio should be added
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/f1895cc9-b108-4d2d-9124-4dce48c1c129/adapters/0/ports/0/nio'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/f1895cc9-b108-4d2d-9124-4dce48c1c129/adapters/0/ports/0/nio HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

/v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a Docker container instance

Parameters
  • adapter_number: Adapter to start a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Node not started
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/b4be74c6-88ef-496b-b0d4-988282e777cb/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/b4be74c6-88ef-496b-b0d4-988282e777cb/adapters/0/ports/0/start_capture HTTP/1.1
{
    "capture_file_name": "test.pcap",
    "data_link_type": "DLT_EN10MB"
}


HTTP/1.1 200
Connection: close
Content-Length: 94
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture

{
    "pcap_file_path": "/tmp/pytest-of-grossmj/pytest-23/test_json4/tmp/captures/test.pcap"
}
/v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/stop_capture
POST /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/stop_capture

Stop a packet capture on a Docker container instance

Parameters
  • adapter_number: Adapter to stop a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Capture stopped
  • 409: Container not started
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/6dcbdc92-435a-4b17-beaf-8ec8ab75a2e3/adapters/0/ports/0/stop_capture' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/6dcbdc92-435a-4b17-beaf-8ec8ab75a2e3/adapters/0/ports/0/stop_capture HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture

/v2/compute/projects/{project_id}/docker/nodes/{node_id}/duplicate
POST /v2/compute/projects/{project_id}/docker/nodes/{node_id}/duplicate

Duplicate a Docker instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 201: Instance duplicated
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/321e9656-62f1-4e50-a390-4296f37c9f19/duplicate' -d '{"destination_node_id": "0c4fae0a-6712-4fb2-a85f-713c204de98f"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/321e9656-62f1-4e50-a390-4296f37c9f19/duplicate HTTP/1.1
{
    "destination_node_id": "0c4fae0a-6712-4fb2-a85f-713c204de98f"
}


HTTP/1.1 201
Connection: close
Content-Length: 4
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/duplicate

true
Dynamips vm
/v2/compute/projects/{project_id}/dynamips/nodes
POST /v2/compute/projects/{project_id}/dynamips/nodes

Create a new Dynamips VM instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
auto_delete_disks boolean Automatically delete nvram and disk files
aux ['null', 'integer'] Auxiliary console TCP port
chassis string Cisco router chassis model
clock_divisor integer Clock divisor
console integer Console TCP port
console_type enum Possible values: telnet
disk0 integer Disk0 size in MB
disk1 integer Disk1 size in MB
dynamips_id ['integer', 'null'] Dynamips ID
exec_area integer Exec area value
idlemax integer Idlemax value
idlepc string Idle-PC value
idlesleep integer Idlesleep value
image string Path to the IOS image
image_md5sum ['string', 'null'] Checksum of the IOS image
iomem integer I/O memory percentage
mac_addr string Base MAC address
midplane enum Possible values: std, vxr
mmap boolean MMAP feature
name string Dynamips VM instance name
node_id Node UUID
npe enum Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2
nvram integer Amount of NVRAM in KB
platform string Cisco router platform
power_supplies array Power supplies status
private_config_content string Content of IOS private configuration file
ram integer Amount of RAM in MB
sensors array Temperature sensors
slot0 Network module slot 0
slot1 Network module slot 1
slot2 Network module slot 2
slot3 Network module slot 3
slot4 Network module slot 4
slot5 Network module slot 5
slot6 Network module slot 6
sparsemem boolean Sparse memory feature
startup_config_content string Content of IOS startup configuration file
system_id string System ID
wic0 Network module WIC slot 0
wic1 Network module WIC slot 0
wic2 Network module WIC slot 0
Output
Name Mandatory Type Description
auto_delete_disks boolean Automatically delete nvram and disk files
aux ['integer', 'null'] Auxiliary console TCP port
chassis string Cisco router chassis model
clock_divisor integer Clock divisor
console integer Console TCP port
console_type enum Possible values: telnet
disk0 integer Disk0 size in MB
disk1 integer Disk1 size in MB
dynamips_id integer ID to use with Dynamips
exec_area integer Exec area value
idlemax integer Idlemax value
idlepc string Idle-PC value
idlesleep integer Idlesleep value
image string Path to the IOS image
image_md5sum ['string', 'null'] Checksum of the IOS image
iomem integer I/O memory percentage
mac_addr string Base MAC address
midplane enum Possible values: std, vxr
mmap boolean MMAP feature
name string Dynamips VM instance name
node_directory string Path to the vm working directory
node_id string Node UUID
npe enum Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2
nvram integer Amount of NVRAM in KB
platform string Cisco router platform
power_supplies array Power supplies status
project_id string Project UUID
ram integer Amount of RAM in MB
sensors array Temperature sensors
slot0 Network module slot 0
slot1 Network module slot 1
slot2 Network module slot 2
slot3 Network module slot 3
slot4 Network module slot 4
slot5 Network module slot 5
slot6 Network module slot 6
sparsemem boolean Sparse memory feature
status enum Possible values: started, stopped, suspended
system_id string System ID
wic0 Network module WIC slot 0
wic1 Network module WIC slot 0
wic2 Network module WIC slot 0
/v2/compute/projects/{project_id}/dynamips/nodes/{node_id}
GET /v2/compute/projects/{project_id}/dynamips/nodes/{node_id}

Get a Dynamips VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
auto_delete_disks boolean Automatically delete nvram and disk files
aux ['integer', 'null'] Auxiliary console TCP port
chassis string Cisco router chassis model
clock_divisor integer Clock divisor
console integer Console TCP port
console_type enum Possible values: telnet
disk0 integer Disk0 size in MB
disk1 integer Disk1 size in MB
dynamips_id integer ID to use with Dynamips
exec_area integer Exec area value
idlemax integer Idlemax value
idlepc string Idle-PC value
idlesleep integer Idlesleep value
image string Path to the IOS image
image_md5sum ['string', 'null'] Checksum of the IOS image
iomem integer I/O memory percentage
mac_addr string Base MAC address
midplane enum Possible values: std, vxr
mmap boolean MMAP feature
name string Dynamips VM instance name
node_directory string Path to the vm working directory
node_id string Node UUID
npe enum Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2
nvram integer Amount of NVRAM in KB
platform string Cisco router platform
power_supplies array Power supplies status
project_id string Project UUID
ram integer Amount of RAM in MB
sensors array Temperature sensors
slot0 Network module slot 0
slot1 Network module slot 1
slot2 Network module slot 2
slot3 Network module slot 3
slot4 Network module slot 4
slot5 Network module slot 5
slot6 Network module slot 6
sparsemem boolean Sparse memory feature
status enum Possible values: started, stopped, suspended
system_id string System ID
wic0 Network module WIC slot 0
wic1 Network module WIC slot 0
wic2 Network module WIC slot 0
PUT /v2/compute/projects/{project_id}/dynamips/nodes/{node_id}

Update a Dynamips VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
auto_delete_disks boolean Automatically delete nvram and disk files
aux integer Auxiliary console TCP port
chassis string Cisco router chassis model
clock_divisor integer Clock divisor
console integer Console TCP port
console_type enum Possible values: telnet
disk0 integer Disk0 size in MB
disk1 integer Disk1 size in MB
dynamips_id integer Dynamips ID
exec_area integer Exec area value
idlemax integer Idlemax value
idlepc string Idle-PC value
idlesleep integer Idlesleep value
image string Path to the IOS image
image_md5sum ['string', 'null'] Checksum of the IOS image
iomem integer I/O memory percentage
mac_addr string Base MAC address
midplane enum Possible values: std, vxr
mmap boolean MMAP feature
name string Dynamips VM instance name
npe enum Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2
nvram integer Amount of NVRAM in KB
platform string Cisco router platform
power_supplies array Power supplies status
ram integer Amount of RAM in MB
sensors array Temperature sensors
slot0 Network module slot 0
slot1 Network module slot 1
slot2 Network module slot 2
slot3 Network module slot 3
slot4 Network module slot 4
slot5 Network module slot 5
slot6 Network module slot 6
sparsemem boolean Sparse memory feature
system_id string System ID
wic0 Network module WIC slot 0
wic1 Network module WIC slot 0
wic2 Network module WIC slot 0
Output
Name Mandatory Type Description
auto_delete_disks boolean Automatically delete nvram and disk files
aux ['integer', 'null'] Auxiliary console TCP port
chassis string Cisco router chassis model
clock_divisor integer Clock divisor
console integer Console TCP port
console_type enum Possible values: telnet
disk0 integer Disk0 size in MB
disk1 integer Disk1 size in MB
dynamips_id integer ID to use with Dynamips
exec_area integer Exec area value
idlemax integer Idlemax value
idlepc string Idle-PC value
idlesleep integer Idlesleep value
image string Path to the IOS image
image_md5sum ['string', 'null'] Checksum of the IOS image
iomem integer I/O memory percentage
mac_addr string Base MAC address
midplane enum Possible values: std, vxr
mmap boolean MMAP feature
name string Dynamips VM instance name
node_directory string Path to the vm working directory
node_id string Node UUID
npe enum Possible values: npe-100, npe-150, npe-175, npe-200, npe-225, npe-300, npe-400, npe-g2
nvram integer Amount of NVRAM in KB
platform string Cisco router platform
power_supplies array Power supplies status
project_id string Project UUID
ram integer Amount of RAM in MB
sensors array Temperature sensors
slot0 Network module slot 0
slot1 Network module slot 1
slot2 Network module slot 2
slot3 Network module slot 3
slot4 Network module slot 4
slot5 Network module slot 5
slot6 Network module slot 6
sparsemem boolean Sparse memory feature
status enum Possible values: started, stopped, suspended
system_id string System ID
wic0 Network module WIC slot 0
wic1 Network module WIC slot 0
wic2 Network module WIC slot 0
DELETE /v2/compute/projects/{project_id}/dynamips/nodes/{node_id}

Delete a Dynamips VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
/v2/compute/projects/{project_id}/dynamips/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/dynamips/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a Dynamips VM instance

Parameters
  • adapter_number: Adapter where the nio should be added
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
PUT /v2/compute/projects/{project_id}/dynamips/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a Dynamips instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be updated
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
DELETE /v2/compute/projects/{project_id}/dynamips/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a Dynamips VM instance

Parameters
  • adapter_number: Adapter from where the nio should be removed
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
/v2/compute/projects/{project_id}/dynamips/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/dynamips/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a Dynamips VM instance

Parameters
  • adapter_number: Adapter to start a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
Ethernet hub
/v2/compute/projects/{project_id}/ethernet_hub/nodes
POST /v2/compute/projects/{project_id}/ethernet_hub/nodes

Create a new Ethernet hub instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Types
EthernetHubPort

Ethernet port

Name Mandatory Type Description
name string Port name
port_number integer Port number
Body
Name Mandatory Type Description
name string Ethernet hub name
node_id Node UUID
ports_mapping array
Output
Name Mandatory Type Description
name string Ethernet hub name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
/v2/compute/projects/{project_id}/ethernet_hub/nodes/{node_id}
GET /v2/compute/projects/{project_id}/ethernet_hub/nodes/{node_id}

Get an Ethernet hub instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
name string Ethernet hub name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
PUT /v2/compute/projects/{project_id}/ethernet_hub/nodes/{node_id}

Update an Ethernet hub instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Types
EthernetHubPort

Ethernet port

Name Mandatory Type Description
name string Port name
port_number integer Port number
Body
Name Mandatory Type Description
name string Ethernet hub name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Output
Name Mandatory Type Description
name string Ethernet hub name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
DELETE /v2/compute/projects/{project_id}/ethernet_hub/nodes/{node_id}

Delete an Ethernet hub instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
/v2/compute/projects/{project_id}/ethernet_hub/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/ethernet_hub/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on an Ethernet hub instance

Parameters
  • adapter_number: Adapter on the hub (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the hub
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
Ethernet switch
/v2/compute/projects/{project_id}/ethernet_switch/nodes
POST /v2/compute/projects/{project_id}/ethernet_switch/nodes

Create a new Ethernet switch instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Types
EthernetSwitchPort

Ethernet port

Name Mandatory Type Description
ethertype enum Possible values: null, 0x8100, 0x88A8, 0x9100, 0x9200
name string Port name
port_number integer Port number
type enum Possible values: access, dot1q, qinq
vlan integer VLAN number
Body
Name Mandatory Type Description
console integer Console TCP port
console_type enum Possible values: telnet
name string Ethernet switch name
node_id Node UUID
ports_mapping array
Output
Name Mandatory Type Description
console integer Console TCP port
console_type enum Possible values: telnet
name string Ethernet switch name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
/v2/compute/projects/{project_id}/ethernet_switch/nodes/{node_id}
GET /v2/compute/projects/{project_id}/ethernet_switch/nodes/{node_id}

Get an Ethernet switch instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
console integer Console TCP port
console_type enum Possible values: telnet
name string Ethernet switch name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
PUT /v2/compute/projects/{project_id}/ethernet_switch/nodes/{node_id}

Update an Ethernet switch instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Types
EthernetSwitchPort

Ethernet port

Name Mandatory Type Description
ethertype enum Possible values: null, 0x8100, 0x88A8, 0x9100, 0x9200
name string Port name
port_number integer Port number
type enum Possible values: access, dot1q, qinq
vlan integer VLAN number
Body
Name Mandatory Type Description
console integer Console TCP port
console_type enum Possible values: telnet
name string Ethernet switch name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Output
Name Mandatory Type Description
console integer Console TCP port
console_type enum Possible values: telnet
name string Ethernet switch name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
DELETE /v2/compute/projects/{project_id}/ethernet_switch/nodes/{node_id}

Delete an Ethernet switch instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
/v2/compute/projects/{project_id}/ethernet_switch/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/ethernet_switch/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on an Ethernet switch instance

Parameters
  • adapter_number: Adapter on the switch (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the switch
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
Frame relay switch
/v2/compute/projects/{project_id}/frame_relay_switch/nodes
POST /v2/compute/projects/{project_id}/frame_relay_switch/nodes

Create a new Frame Relay switch instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
mappings object Frame Relay mappings
name string Frame Relay switch name
node_id Node UUID
Output
Name Mandatory Type Description
mappings object Frame Relay mappings
name string Frame Relay switch name
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
/v2/compute/projects/{project_id}/frame_relay_switch/nodes/{node_id}
GET /v2/compute/projects/{project_id}/frame_relay_switch/nodes/{node_id}

Get a Frame Relay switch instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
mappings object Frame Relay mappings
name string Frame Relay switch name
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
PUT /v2/compute/projects/{project_id}/frame_relay_switch/nodes/{node_id}

Update a Frame Relay switch instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
mappings object Frame Relay mappings
name string Frame Relay switch name
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Output
Name Mandatory Type Description
mappings object Frame Relay mappings
name string Frame Relay switch name
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
DELETE /v2/compute/projects/{project_id}/frame_relay_switch/nodes/{node_id}

Delete a Frame Relay switch instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
/v2/compute/projects/{project_id}/frame_relay_switch/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/frame_relay_switch/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a Frame Relay switch instance

Parameters
  • adapter_number: Adapter on the switch (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the switch
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
Iou
/v2/compute/iou/images
GET /v2/compute/iou/images

Retrieve the list of IOU images

Response status codes
  • 200: List of IOU images
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/iou/images'

GET /v2/compute/iou/images HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 149
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/iou/images

[
    {
        "filename": "iou.bin",
        "filesize": 7,
        "md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
        "path": "iou.bin"
    }
]
/v2/compute/projects/{project_id}/iou/nodes
POST /v2/compute/projects/{project_id}/iou/nodes

Create a new IOU instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
application_id ['integer', 'null'] Application ID for running IOU image
console ['integer', 'null'] Console TCP port
console_type enum Possible values: telnet, null
ethernet_adapters integer How many ethernet adapters are connected to the IOU
l1_keepalives ['boolean', 'null'] Always up ethernet interface
md5sum ['string', 'null'] Checksum of iou binary
name string IOU VM name
node_id Node UUID
nvram ['integer', 'null'] Allocated NVRAM KB
path string Path of iou binary
private_config_content ['string', 'null'] Private-config of IOU
ram ['integer', 'null'] Allocated RAM MB
serial_adapters integer How many serial adapters are connected to the IOU
startup_config_content ['string', 'null'] Startup-config of IOU
use_default_iou_values ['boolean', 'null'] Use default IOU values
Output
Name Mandatory Type Description
application_id integer Application ID for running IOU image
command_line string Last command line used by GNS3 to start IOU
console integer Console TCP port
console_type enum Possible values: telnet
ethernet_adapters integer How many ethernet adapters are connected to the IOU
l1_keepalives boolean Always up ethernet interface
md5sum ['string', 'null'] Checksum of iou binary
name string IOU VM name
node_directory string Path to the node working directory
node_id string IOU VM UUID
nvram integer Allocated NVRAM KB
path string Path of iou binary
project_id string Project UUID
ram integer Allocated RAM MB
serial_adapters integer How many serial adapters are connected to the IOU
status enum Possible values: started, stopped, suspended
use_default_iou_values ['boolean', 'null'] Use default IOU values
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes' -d '{"name": "PC TEST 1", "node_id": "f327173c-2a79-4dee-b57f-eb60c907483b", "path": "iou.bin", "startup_config_content": "hostname test"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes HTTP/1.1
{
    "name": "PC TEST 1",
    "node_id": "f327173c-2a79-4dee-b57f-eb60c907483b",
    "path": "iou.bin",
    "startup_config_content": "hostname test"
}


HTTP/1.1 201
Connection: close
Content-Length: 614
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes

{
    "application_id": 1,
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "ethernet_adapters": 2,
    "l1_keepalives": false,
    "md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
    "name": "PC TEST 1",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-23/test_json4/project-files/iou/f327173c-2a79-4dee-b57f-eb60c907483b",
    "node_id": "f327173c-2a79-4dee-b57f-eb60c907483b",
    "nvram": 128,
    "path": "iou.bin",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "ram": 256,
    "serial_adapters": 2,
    "status": "stopped",
    "use_default_iou_values": true
}
/v2/compute/projects/{project_id}/iou/nodes/{node_id}
GET /v2/compute/projects/{project_id}/iou/nodes/{node_id}

Get an IOU instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
application_id integer Application ID for running IOU image
command_line string Last command line used by GNS3 to start IOU
console integer Console TCP port
console_type enum Possible values: telnet
ethernet_adapters integer How many ethernet adapters are connected to the IOU
l1_keepalives boolean Always up ethernet interface
md5sum ['string', 'null'] Checksum of iou binary
name string IOU VM name
node_directory string Path to the node working directory
node_id string IOU VM UUID
nvram integer Allocated NVRAM KB
path string Path of iou binary
project_id string Project UUID
ram integer Allocated RAM MB
serial_adapters integer How many serial adapters are connected to the IOU
status enum Possible values: started, stopped, suspended
use_default_iou_values ['boolean', 'null'] Use default IOU values
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/2e0bc10f-63ba-4eb6-92fb-9a0ae7b63604'

GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/2e0bc10f-63ba-4eb6-92fb-9a0ae7b63604 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 614
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}

{
    "application_id": 1,
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "ethernet_adapters": 2,
    "l1_keepalives": false,
    "md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
    "name": "PC TEST 1",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-23/test_json4/project-files/iou/2e0bc10f-63ba-4eb6-92fb-9a0ae7b63604",
    "node_id": "2e0bc10f-63ba-4eb6-92fb-9a0ae7b63604",
    "nvram": 128,
    "path": "iou.bin",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "ram": 256,
    "serial_adapters": 2,
    "status": "stopped",
    "use_default_iou_values": true
}
PUT /v2/compute/projects/{project_id}/iou/nodes/{node_id}

Update an IOU instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
application_id integer Application ID for running IOU image
command_line string Last command line used by GNS3 to start IOU
console integer Console TCP port
console_type enum Possible values: telnet
ethernet_adapters integer How many ethernet adapters are connected to the IOU
l1_keepalives boolean Always up ethernet interface
md5sum ['string', 'null'] Checksum of iou binary
name string IOU VM name
node_directory string Path to the node working directory
node_id string IOU VM UUID
nvram integer Allocated NVRAM KB
path string Path of iou binary
project_id string Project UUID
ram integer Allocated RAM MB
serial_adapters integer How many serial adapters are connected to the IOU
status enum Possible values: started, stopped, suspended
use_default_iou_values ['boolean', 'null'] Use default IOU values
Output
Name Mandatory Type Description
application_id integer Application ID for running IOU image
command_line string Last command line used by GNS3 to start IOU
console integer Console TCP port
console_type enum Possible values: telnet
ethernet_adapters integer How many ethernet adapters are connected to the IOU
l1_keepalives boolean Always up ethernet interface
md5sum ['string', 'null'] Checksum of iou binary
name string IOU VM name
node_directory string Path to the node working directory
node_id string IOU VM UUID
nvram integer Allocated NVRAM KB
path string Path of iou binary
project_id string Project UUID
ram integer Allocated RAM MB
serial_adapters integer How many serial adapters are connected to the IOU
status enum Possible values: started, stopped, suspended
use_default_iou_values ['boolean', 'null'] Use default IOU values
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/c0596699-5195-4264-9474-104e4f7fb78f' -d '{"console": 5005, "ethernet_adapters": 4, "l1_keepalives": true, "name": "test", "nvram": 2048, "ram": 512, "serial_adapters": 0, "use_default_iou_values": true}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/c0596699-5195-4264-9474-104e4f7fb78f HTTP/1.1
{
    "console": 5005,
    "ethernet_adapters": 4,
    "l1_keepalives": true,
    "name": "test",
    "nvram": 2048,
    "ram": 512,
    "serial_adapters": 0,
    "use_default_iou_values": true
}


HTTP/1.1 200
Connection: close
Content-Length: 609
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}

{
    "application_id": 1,
    "command_line": "",
    "console": 5005,
    "console_type": "telnet",
    "ethernet_adapters": 4,
    "l1_keepalives": true,
    "md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
    "name": "test",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-23/test_json4/project-files/iou/c0596699-5195-4264-9474-104e4f7fb78f",
    "node_id": "c0596699-5195-4264-9474-104e4f7fb78f",
    "nvram": 2048,
    "path": "iou.bin",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "ram": 512,
    "serial_adapters": 0,
    "status": "stopped",
    "use_default_iou_values": true
}
DELETE /v2/compute/projects/{project_id}/iou/nodes/{node_id}

Delete an IOU instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/66c8500b-f0d5-44c9-82c1-0d3da540244e'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/66c8500b-f0d5-44c9-82c1-0d3da540244e HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}

/v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a IOU instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port where the nio should be added
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/8df211ee-c604-4870-b13e-b175a3dff8d7/adapters/1/ports/0/nio' -d '{"ethernet_device": "docker0", "type": "nio_ethernet"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/8df211ee-c604-4870-b13e-b175a3dff8d7/adapters/1/ports/0/nio HTTP/1.1
{
    "ethernet_device": "docker0",
    "type": "nio_ethernet"
}


HTTP/1.1 201
Connection: close
Content-Length: 64
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "ethernet_device": "docker0",
    "type": "nio_ethernet"
}
PUT /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a IOU instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port where the nio should be added
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/cb23fedd-a9b6-4f3e-8a6d-f7d7d1a831dd/adapters/1/ports/0/nio' -d '{"filters": {}, "lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/cb23fedd-a9b6-4f3e-8a6d-f7d7d1a831dd/adapters/1/ports/0/nio HTTP/1.1
{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
DELETE /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a IOU instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be removed
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/d6229240-1a46-4d3c-a1a9-337d26a77b5e/adapters/1/ports/0/nio'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/d6229240-1a46-4d3c-a1a9-337d26a77b5e/adapters/1/ports/0/nio HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

/v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on an IOU VM instance

Parameters
  • adapter_number: Adapter to start a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: VM not started
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/98f97bfa-322d-425a-ba2e-d03486033ae9/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/98f97bfa-322d-425a-ba2e-d03486033ae9/adapters/0/ports/0/start_capture HTTP/1.1
{
    "capture_file_name": "test.pcap",
    "data_link_type": "DLT_EN10MB"
}


HTTP/1.1 200
Connection: close
Content-Length: 94
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture

{
    "pcap_file_path": "/tmp/pytest-of-grossmj/pytest-23/test_json4/tmp/captures/test.pcap"
}
/v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/stop_capture
POST /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/stop_capture

Stop a packet capture on an IOU VM instance

Parameters
  • adapter_number: Adapter to stop a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Capture stopped
  • 409: VM not started
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/751ce475-5613-443f-8780-5b5972a90129/adapters/0/ports/0/stop_capture' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/751ce475-5613-443f-8780-5b5972a90129/adapters/0/ports/0/stop_capture HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture

/v2/compute/projects/{project_id}/iou/nodes/{node_id}/duplicate
POST /v2/compute/projects/{project_id}/iou/nodes/{node_id}/duplicate

Duplicate a IOU instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 201: Instance duplicated
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/8142c124-6d3f-4625-a823-4bf6cc153ab1/duplicate' -d '{"destination_node_id": "71b49bc3-8bd3-4c5f-aea9-5d10e9e6f925"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/8142c124-6d3f-4625-a823-4bf6cc153ab1/duplicate HTTP/1.1
{
    "destination_node_id": "71b49bc3-8bd3-4c5f-aea9-5d10e9e6f925"
}


HTTP/1.1 201
Connection: close
Content-Length: 4
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/duplicate

true
/v2/compute/projects/{project_id}/iou/nodes/{node_id}/reload
POST /v2/compute/projects/{project_id}/iou/nodes/{node_id}/reload

Reload an IOU instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance reloaded
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/b2581707-0cb5-489c-b5c8-bd3eaacdd553/reload' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/b2581707-0cb5-489c-b5c8-bd3eaacdd553/reload HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/reload

/v2/compute/projects/{project_id}/iou/nodes/{node_id}/start
POST /v2/compute/projects/{project_id}/iou/nodes/{node_id}/start

Start an IOU instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
iourc_content ['string', 'null'] Content of the iourc file. Ignored if Null
Output
Name Mandatory Type Description
application_id integer Application ID for running IOU image
command_line string Last command line used by GNS3 to start IOU
console integer Console TCP port
console_type enum Possible values: telnet
ethernet_adapters integer How many ethernet adapters are connected to the IOU
l1_keepalives boolean Always up ethernet interface
md5sum ['string', 'null'] Checksum of iou binary
name string IOU VM name
node_directory string Path to the node working directory
node_id string IOU VM UUID
nvram integer Allocated NVRAM KB
path string Path of iou binary
project_id string Project UUID
ram integer Allocated RAM MB
serial_adapters integer How many serial adapters are connected to the IOU
status enum Possible values: started, stopped, suspended
use_default_iou_values ['boolean', 'null'] Use default IOU values
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/32cba1e5-0164-45a4-872f-82a5f6ef03a4/start' -d '{"iourc_content": "test"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/32cba1e5-0164-45a4-872f-82a5f6ef03a4/start HTTP/1.1
{
    "iourc_content": "test"
}


HTTP/1.1 200
Connection: close
Content-Length: 614
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/start

{
    "application_id": 1,
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "ethernet_adapters": 2,
    "l1_keepalives": false,
    "md5sum": "e573e8f5c93c6c00783f20c7a170aa6c",
    "name": "PC TEST 1",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-23/test_json4/project-files/iou/32cba1e5-0164-45a4-872f-82a5f6ef03a4",
    "node_id": "32cba1e5-0164-45a4-872f-82a5f6ef03a4",
    "nvram": 128,
    "path": "iou.bin",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "ram": 256,
    "serial_adapters": 2,
    "status": "stopped",
    "use_default_iou_values": true
}
/v2/compute/projects/{project_id}/iou/nodes/{node_id}/stop
POST /v2/compute/projects/{project_id}/iou/nodes/{node_id}/stop

Stop an IOU instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance stopped
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/e6efba87-de17-4acf-8b20-d87707995a8c/stop' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/e6efba87-de17-4acf-8b20-d87707995a8c/stop HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:54 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/stop

Nat
/v2/compute/projects/{project_id}/nat/nodes
POST /v2/compute/projects/{project_id}/nat/nodes

Create a new nat instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
name string Nat name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Output
Name Mandatory Type Description
name string Nat name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes' -d '{"name": "Nat 1"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes HTTP/1.1
{
    "name": "Nat 1"
}


HTTP/1.1 201
Connection: close
Content-Length: 335
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes

{
    "name": "Nat 1",
    "node_id": "c7f8a476-550c-44a3-8f05-bf466a41269a",
    "ports_mapping": [
        {
            "interface": "virbr0",
            "name": "nat0",
            "port_number": 0,
            "type": "ethernet"
        }
    ],
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "started"
}
/v2/compute/projects/{project_id}/nat/nodes/{node_id}
GET /v2/compute/projects/{project_id}/nat/nodes/{node_id}

Get a nat instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
name string Nat name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/aa1d9e41-69f6-4963-9d02-480579c677ba'

GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/aa1d9e41-69f6-4963-9d02-480579c677ba HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 335
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}

{
    "name": "Nat 1",
    "node_id": "aa1d9e41-69f6-4963-9d02-480579c677ba",
    "ports_mapping": [
        {
            "interface": "virbr0",
            "name": "nat0",
            "port_number": 0,
            "type": "ethernet"
        }
    ],
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "started"
}
PUT /v2/compute/projects/{project_id}/nat/nodes/{node_id}

Update a nat instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
name string Nat name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Output
Name Mandatory Type Description
name string Nat name
node_id string Node UUID
ports_mapping array
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/fd756ada-a45f-4f28-97a5-18f0677bfed5' -d '{"name": "test"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/fd756ada-a45f-4f28-97a5-18f0677bfed5 HTTP/1.1
{
    "name": "test"
}


HTTP/1.1 200
Connection: close
Content-Length: 334
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:56 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}

{
    "name": "test",
    "node_id": "fd756ada-a45f-4f28-97a5-18f0677bfed5",
    "ports_mapping": [
        {
            "interface": "virbr0",
            "name": "nat0",
            "port_number": 0,
            "type": "ethernet"
        }
    ],
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "started"
}
DELETE /v2/compute/projects/{project_id}/nat/nodes/{node_id}

Delete a nat instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/4a2593fd-366d-4522-a97e-073a181286d2'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/4a2593fd-366d-4522-a97e-073a181286d2 HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}

/v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a nat instance

Parameters
  • adapter_number: Adapter on the nat (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the nat
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/4c485c6e-cdbe-4c02-aecb-c2d5e780660a/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/4c485c6e-cdbe-4c02-aecb-c2d5e780660a/adapters/0/ports/0/nio HTTP/1.1
{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
PUT /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a NAT instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be updated
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/88e43fa4-28a5-40dc-824a-1f504f25e1d9/adapters/0/ports/0/nio' -d '{"filters": {}, "lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/88e43fa4-28a5-40dc-824a-1f504f25e1d9/adapters/0/ports/0/nio HTTP/1.1
{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 108
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
DELETE /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a nat instance

Parameters
  • adapter_number: Adapter on the nat (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the nat
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/2ba5227f-4507-4711-844a-99dec989438e/adapters/0/ports/0/nio'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/2ba5227f-4507-4711-844a-99dec989438e/adapters/0/ports/0/nio HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:55 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

/v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a nat instance

Parameters
  • adapter_number: Adapter on the nat (always 0)
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the nat
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
Network
/v2/compute/network/interfaces
GET /v2/compute/network/interfaces

List all the network interfaces available on the server

Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/network/interfaces'

GET /v2/compute/network/interfaces HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 2298
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:56 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/network/interfaces

[
    {
        "id": "docker0",
        "ip_address": "172.17.0.1",
        "mac_address": "02:42:3f:1f:8d:78",
        "name": "docker0",
        "netmask": "255.255.0.0",
        "special": true,
        "type": "ethernet"
    },
    {
        "id": "lo",
        "ip_address": "127.0.0.1",
        "mac_address": "00:00:00:00:00:00",
        "name": "lo",
        "netmask": "255.0.0.0",
        "special": true,
        "type": "ethernet"
    },
    {
        "id": "virbr0",
        "ip_address": "192.168.122.1",
        "mac_address": "00:00:00:00:00:00",
        "name": "virbr0",
        "netmask": "255.255.255.0",
        "special": true,
        "type": "ethernet"
    },
    {
        "id": "virbr0-nic",
        "ip_address": "",
        "mac_address": "52:54:00:cb:6a:77",
        "name": "virbr0-nic",
        "netmask": "",
        "special": true,
        "type": "ethernet"
    },
    {
        "id": "vmnet1",
        "ip_address": "172.16.1.1",
        "mac_address": "00:50:56:c0:00:01",
        "name": "vmnet1",
        "netmask": "255.255.255.0",
        "special": true,
        "type": "ethernet"
    },
    {
        "id": "vmnet2",
        "ip_address": "172.16.2.1",
        "mac_address": "00:50:56:c0:00:02",
        "name": "vmnet2",
        "netmask": "255.255.255.0",
        "special": true,
        "type": "ethernet"
    },
    {
        "id": "vmnet3",
        "ip_address": "172.16.3.1",
        "mac_address": "00:50:56:c0:00:03",
        "name": "vmnet3",
        "netmask": "255.255.255.0",
        "special": true,
        "type": "ethernet"
    },
    {
        "id": "vmnet4",
        "ip_address": "172.16.10.1",
        "mac_address": "00:50:56:c0:00:04",
        "name": "vmnet4",
        "netmask": "255.255.255.0",
        "special": true,
        "type": "ethernet"
    },
    {
        "id": "vmnet8",
        "ip_address": "192.168.195.1",
        "mac_address": "00:50:56:c0:00:08",
        "name": "vmnet8",
        "netmask": "255.255.255.0",
        "special": true,
        "type": "ethernet"
    },
    {
        "id": "wlp58s0",
        "ip_address": "192.168.208.79",
        "mac_address": "9c:b6:d0:dc:20:29",
        "name": "wlp58s0",
        "netmask": "255.255.248.0",
        "special": false,
        "type": "ethernet"
    }
]
/v2/compute/projects/{project_id}/ports/udp
POST /v2/compute/projects/{project_id}/ports/udp

Allocate an UDP port on the server

Parameters
  • project_id: Project UUID
Response status codes
  • 201: UDP port allocated
  • 404: The project doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/ports/udp HTTP/1.1
{}


HTTP/1.1 201
Connection: close
Content-Length: 25
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:56 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/ports/udp

{
    "udp_port": 10000
}
Project
/v2/compute/projects
GET /v2/compute/projects

List all projects opened on the server

Response status codes
  • 200: Project list
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects'

GET /v2/compute/projects HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 252
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:56 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects

[
    {
        "name": "test",
        "project_id": "52010203-0405-0607-0809-0a0b0c0d0e0b",
        "variables": null
    },
    {
        "name": "test",
        "project_id": "51010203-0405-0607-0809-0a0b0c0d0e0f",
        "variables": null
    }
]
POST /v2/compute/projects

Create a new project on the server

Response status codes
  • 201: Project created
  • 403: Forbidden to create a project
  • 409: Project already created
Input
Name Mandatory Type Description
auto_close boolean Project auto close
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ['string', 'null'] Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects' -d '{"name": "test", "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"}'

POST /v2/compute/projects HTTP/1.1
{
    "name": "test",
    "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"
}


HTTP/1.1 201
Connection: close
Content-Length: 103
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:56 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects

{
    "name": "test",
    "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
    "variables": null
}
/v2/compute/projects/{project_id}
PUT /v2/compute/projects/{project_id}

Update the project on the server

Response status codes
  • 201: Project updated
  • 403: Forbidden to update a project
Input
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Path of the project on the server (work only with --local)
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/51010203-0405-0607-0809-0a0b0c0d0e0f' -d '{"variables": [{"name": "TEST1", "value": "VAL1"}]}'

PUT /v2/compute/projects/51010203-0405-0607-0809-0a0b0c0d0e0f HTTP/1.1
{
    "variables": [
        {
            "name": "TEST1",
            "value": "VAL1"
        }
    ]
}


HTTP/1.1 200
Connection: close
Content-Length: 183
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:56 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}

{
    "name": "test",
    "project_id": "51010203-0405-0607-0809-0a0b0c0d0e0f",
    "variables": [
        {
            "name": "TEST1",
            "value": "VAL1"
        }
    ]
}
GET /v2/compute/projects/{project_id}

Get project information

Parameters
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 404: The project doesn’t exist
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects/40010203-0405-0607-0809-0a0b0c0d0e02'

GET /v2/compute/projects/40010203-0405-0607-0809-0a0b0c0d0e02 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 103
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:56 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}

{
    "name": "test",
    "project_id": "40010203-0405-0607-0809-0a0b0c0d0e02",
    "variables": null
}
DELETE /v2/compute/projects/{project_id}

Delete a project from disk

Parameters
  • project_id: Project UUID
Response status codes
  • 404: The project doesn’t exist
  • 204: Changes have been written on disk
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80 HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:56 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}

/v2/compute/projects/{project_id}/close
POST /v2/compute/projects/{project_id}/close

Close a project

Parameters
  • project_id: Project UUID
Response status codes
  • 404: The project doesn’t exist
  • 204: Project closed
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/close HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:56 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/close

/v2/compute/projects/{project_id}/import
POST /v2/compute/projects/{project_id}/import

Import a project from a portable archive

Parameters
  • project_id: Project UUID
Response status codes
  • 200: Project imported
  • 403: Forbidden to import project
Output
Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
Qemu
/v2/compute/projects/{project_id}/qemu/nodes
POST /v2/compute/projects/{project_id}/qemu/nodes

Create a new Qemu VM instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
acpi_shutdown ['boolean', 'null'] ACPI shutdown support
adapter_type ['string', 'null'] QEMU adapter type
adapters ['integer', 'null'] Number of adapters
bios_image string QEMU bios image path
bios_image_md5sum ['string', 'null'] QEMU bios image checksum
boot_priority enum Possible values: c, d, n, cn, cd
cdrom_image string QEMU cdrom image path
cdrom_image_md5sum ['string', 'null'] QEMU cdrom image checksum
console ['integer', 'null'] Console TCP port
console_type enum Possible values: telnet, vnc, spice
cpu_throttling ['integer', 'null'] Percentage of CPU allowed for QEMU
cpus ['integer', 'null'] Number of vCPUs
hda_disk_image string QEMU hda disk image path
hda_disk_image_md5sum ['string', 'null'] QEMU hda disk image checksum
hda_disk_interface string QEMU hda interface
hdb_disk_image string QEMU hdb disk image path
hdb_disk_image_md5sum ['string', 'null'] QEMU hdb disk image checksum
hdb_disk_interface string QEMU hdb interface
hdc_disk_image string QEMU hdc disk image path
hdc_disk_image_md5sum ['string', 'null'] QEMU hdc disk image checksum
hdc_disk_interface string QEMU hdc interface
hdd_disk_image string QEMU hdd disk image path
hdd_disk_image_md5sum ['string', 'null'] QEMU hdd disk image checksum
hdd_disk_interface string QEMU hdd interface
initrd string QEMU initrd path
initrd_md5sum ['string', 'null'] QEMU initrd path
kernel_command_line ['string', 'null'] QEMU kernel command line
kernel_image string QEMU kernel image path
kernel_image_md5sum ['string', 'null'] QEMU kernel image checksum
legacy_networking ['boolean', 'null'] Use QEMU legagy networking commands (-net syntax)
linked_clone boolean Whether the VM is a linked clone or not
mac_address ['string', 'null'] QEMU MAC address
name string QEMU VM instance name
node_id Node UUID
options ['string', 'null'] Additional QEMU options
platform enum Possible values: aarch64, alpha, arm, cris, i386, lm32, m68k, microblaze, microblazeel, mips, mips64, mips64el, mipsel, moxie, or32, ppc, ppc64, ppcemb, s390x, sh4, sh4eb, sparc, sparc64, tricore, unicore32, x86_64, xtensa, xtensaeb, null
process_priority enum Possible values: realtime, very high, high, normal, low, very low, null
qemu_path ['string', 'null'] Path to QEMU
ram ['integer', 'null'] Amount of RAM in MB
usage string How to use the qemu VM
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown support
adapter_type string QEMU adapter type
adapters integer Number of adapters
bios_image string QEMU bios image path
bios_image_md5sum ['string', 'null'] QEMU bios image checksum
boot_priority enum Possible values: c, d, n, cn, cd
cdrom_image string QEMU cdrom image path
cdrom_image_md5sum ['string', 'null'] QEMU cdrom image checksum
command_line string Last command line used by GNS3 to start QEMU
console integer Console TCP port
console_type enum Possible values: telnet, vnc, spice
cpu_throttling integer Percentage of CPU allowed for QEMU
cpus ['integer', 'null'] Number of vCPUs
hda_disk_image string QEMU hda disk image path
hda_disk_image_md5sum ['string', 'null'] QEMU hda disk image checksum
hda_disk_interface string QEMU hda interface
hdb_disk_image string QEMU hdb disk image path
hdb_disk_image_md5sum ['string', 'null'] QEMU hdb disk image checksum
hdb_disk_interface string QEMU hdb interface
hdc_disk_image string QEMU hdc disk image path
hdc_disk_image_md5sum ['string', 'null'] QEMU hdc disk image checksum
hdc_disk_interface string QEMU hdc interface
hdd_disk_image string QEMU hdd disk image path
hdd_disk_image_md5sum ['string', 'null'] QEMU hdd disk image checksum
hdd_disk_interface string QEMU hdd interface
initrd string QEMU initrd path
initrd_md5sum ['string', 'null'] QEMU initrd path
kernel_command_line string QEMU kernel command line
kernel_image string QEMU kernel image path
kernel_image_md5sum ['string', 'null'] QEMU kernel image checksum
legacy_networking boolean Use QEMU legagy networking commands (-net syntax)
mac_address string QEMU MAC address
name string QEMU VM instance name
node_directory string Path to the VM working directory
node_id string Node UUID
options string Additional QEMU options
platform enum Possible values: aarch64, alpha, arm, cris, i386, lm32, m68k, microblaze, microblazeel, mips, mips64, mips64el, mipsel, moxie, or32, ppc, ppc64, ppcemb, s390x, sh4, sh4eb, sparc, sparc64, tricore, unicore32, x86_64, xtensa, xtensaeb
process_priority enum Possible values: realtime, very high, high, normal, low, very low
project_id string Project UUID
qemu_path string Path to QEMU
ram integer Amount of RAM in MB
status enum Possible values: started, stopped, suspended
usage string How to use the QEMU VM
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes' -d '{"hda_disk_image": "linux\u8f7d.img", "name": "PC TEST 1", "qemu_path": "/tmp/tmpxudfhxk5/qemu-system-x86_64", "ram": 1024}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes HTTP/1.1
{
    "hda_disk_image": "linux\u8f7d.img",
    "name": "PC TEST 1",
    "qemu_path": "/tmp/tmpxudfhxk5/qemu-system-x86_64",
    "ram": 1024
}


HTTP/1.1 201
Connection: close
Content-Length: 1426
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes

{
    "acpi_shutdown": false,
    "adapter_type": "e1000",
    "adapters": 1,
    "bios_image": "",
    "bios_image_md5sum": null,
    "boot_priority": "c",
    "cdrom_image": "",
    "cdrom_image_md5sum": null,
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "cpu_throttling": 0,
    "cpus": 1,
    "hda_disk_image": "linux\u8f7d.img",
    "hda_disk_image_md5sum": "c4ca4238a0b923820dcc509a6f75849b",
    "hda_disk_interface": "ide",
    "hdb_disk_image": "",
    "hdb_disk_image_md5sum": null,
    "hdb_disk_interface": "ide",
    "hdc_disk_image": "",
    "hdc_disk_image_md5sum": null,
    "hdc_disk_interface": "ide",
    "hdd_disk_image": "",
    "hdd_disk_image_md5sum": null,
    "hdd_disk_interface": "ide",
    "initrd": "",
    "initrd_md5sum": null,
    "kernel_command_line": "",
    "kernel_image": "",
    "kernel_image_md5sum": null,
    "legacy_networking": false,
    "mac_address": "0c:dd:80:13:88:00",
    "name": "PC TEST 1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/996eaefe-4054-4d06-b168-fca77cf51388",
    "node_id": "996eaefe-4054-4d06-b168-fca77cf51388",
    "options": "",
    "platform": "x86_64",
    "process_priority": "low",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "qemu_path": "/tmp/tmpxudfhxk5/qemu-system-x86_64",
    "ram": 1024,
    "status": "stopped",
    "usage": ""
}
/v2/compute/projects/{project_id}/qemu/nodes/{node_id}
GET /v2/compute/projects/{project_id}/qemu/nodes/{node_id}

Get a Qemu VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown support
adapter_type string QEMU adapter type
adapters integer Number of adapters
bios_image string QEMU bios image path
bios_image_md5sum ['string', 'null'] QEMU bios image checksum
boot_priority enum Possible values: c, d, n, cn, cd
cdrom_image string QEMU cdrom image path
cdrom_image_md5sum ['string', 'null'] QEMU cdrom image checksum
command_line string Last command line used by GNS3 to start QEMU
console integer Console TCP port
console_type enum Possible values: telnet, vnc, spice
cpu_throttling integer Percentage of CPU allowed for QEMU
cpus ['integer', 'null'] Number of vCPUs
hda_disk_image string QEMU hda disk image path
hda_disk_image_md5sum ['string', 'null'] QEMU hda disk image checksum
hda_disk_interface string QEMU hda interface
hdb_disk_image string QEMU hdb disk image path
hdb_disk_image_md5sum ['string', 'null'] QEMU hdb disk image checksum
hdb_disk_interface string QEMU hdb interface
hdc_disk_image string QEMU hdc disk image path
hdc_disk_image_md5sum ['string', 'null'] QEMU hdc disk image checksum
hdc_disk_interface string QEMU hdc interface
hdd_disk_image string QEMU hdd disk image path
hdd_disk_image_md5sum ['string', 'null'] QEMU hdd disk image checksum
hdd_disk_interface string QEMU hdd interface
initrd string QEMU initrd path
initrd_md5sum ['string', 'null'] QEMU initrd path
kernel_command_line string QEMU kernel command line
kernel_image string QEMU kernel image path
kernel_image_md5sum ['string', 'null'] QEMU kernel image checksum
legacy_networking boolean Use QEMU legagy networking commands (-net syntax)
mac_address string QEMU MAC address
name string QEMU VM instance name
node_directory string Path to the VM working directory
node_id string Node UUID
options string Additional QEMU options
platform enum Possible values: aarch64, alpha, arm, cris, i386, lm32, m68k, microblaze, microblazeel, mips, mips64, mips64el, mipsel, moxie, or32, ppc, ppc64, ppcemb, s390x, sh4, sh4eb, sparc, sparc64, tricore, unicore32, x86_64, xtensa, xtensaeb
process_priority enum Possible values: realtime, very high, high, normal, low, very low
project_id string Project UUID
qemu_path string Path to QEMU
ram integer Amount of RAM in MB
status enum Possible values: started, stopped, suspended
usage string How to use the QEMU VM
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/e8bbffed-1df7-4d26-a087-da71227cbfeb'

GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/e8bbffed-1df7-4d26-a087-da71227cbfeb HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 1380
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}

{
    "acpi_shutdown": false,
    "adapter_type": "e1000",
    "adapters": 1,
    "bios_image": "",
    "bios_image_md5sum": null,
    "boot_priority": "c",
    "cdrom_image": "",
    "cdrom_image_md5sum": null,
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "cpu_throttling": 0,
    "cpus": 1,
    "hda_disk_image": "",
    "hda_disk_image_md5sum": null,
    "hda_disk_interface": "ide",
    "hdb_disk_image": "",
    "hdb_disk_image_md5sum": null,
    "hdb_disk_interface": "ide",
    "hdc_disk_image": "",
    "hdc_disk_image_md5sum": null,
    "hdc_disk_interface": "ide",
    "hdd_disk_image": "",
    "hdd_disk_image_md5sum": null,
    "hdd_disk_interface": "ide",
    "initrd": "",
    "initrd_md5sum": null,
    "kernel_command_line": "",
    "kernel_image": "",
    "kernel_image_md5sum": null,
    "legacy_networking": false,
    "mac_address": "0c:dd:80:bf:eb:00",
    "name": "PC TEST 1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/e8bbffed-1df7-4d26-a087-da71227cbfeb",
    "node_id": "e8bbffed-1df7-4d26-a087-da71227cbfeb",
    "options": "",
    "platform": "x86_64",
    "process_priority": "low",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "qemu_path": "/tmp/tmpxudfhxk5/qemu-system-x86_64",
    "ram": 256,
    "status": "stopped",
    "usage": ""
}
PUT /v2/compute/projects/{project_id}/qemu/nodes/{node_id}

Update a Qemu VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
acpi_shutdown ['boolean', 'null'] ACPI shutdown support
adapter_type ['string', 'null'] QEMU adapter type
adapters ['integer', 'null'] Number of adapters
bios_image string QEMU bios image path
bios_image_md5sum ['string', 'null'] QEMU bios image checksum
boot_priority enum Possible values: c, d, n, cn, cd
cdrom_image string QEMU cdrom image path
cdrom_image_md5sum ['string', 'null'] QEMU cdrom image checksum
console ['integer', 'null'] Console TCP port
console_type enum Possible values: telnet, vnc, spice
cpu_throttling ['integer', 'null'] Percentage of CPU allowed for QEMU
cpus ['integer', 'null'] Number of vCPUs
hda_disk_image string QEMU hda disk image path
hda_disk_image_md5sum ['string', 'null'] QEMU hda disk image checksum
hda_disk_interface string QEMU hda interface
hdb_disk_image string QEMU hdb disk image path
hdb_disk_image_md5sum ['string', 'null'] QEMU hdb disk image checksum
hdb_disk_interface string QEMU hdb interface
hdc_disk_image string QEMU hdc disk image path
hdc_disk_image_md5sum ['string', 'null'] QEMU hdc disk image checksum
hdc_disk_interface string QEMU hdc interface
hdd_disk_image string QEMU hdd disk image path
hdd_disk_image_md5sum ['string', 'null'] QEMU hdd disk image checksum
hdd_disk_interface string QEMU hdd interface
initrd string QEMU initrd path
initrd_md5sum ['string', 'null'] QEMU initrd path
kernel_command_line ['string', 'null'] QEMU kernel command line
kernel_image string QEMU kernel image path
kernel_image_md5sum ['string', 'null'] QEMU kernel image checksum
legacy_networking ['boolean', 'null'] Use QEMU legagy networking commands (-net syntax)
linked_clone boolean Whether the VM is a linked clone or not
mac_address ['string', 'null'] QEMU MAC address
name ['string', 'null'] QEMU VM instance name
options ['string', 'null'] Additional QEMU options
platform enum Possible values: aarch64, alpha, arm, cris, i386, lm32, m68k, microblaze, microblazeel, mips, mips64, mips64el, mipsel, moxie, or32, ppc, ppc64, ppcemb, s390x, sh4, sh4eb, sparc, sparc64, tricore, unicore32, x86_64, xtensa, xtensaeb, null
process_priority enum Possible values: realtime, very high, high, normal, low, very low, null
qemu_path ['string', 'null'] Path to QEMU
ram ['integer', 'null'] Amount of RAM in MB
usage string How to use the QEMU VM
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown support
adapter_type string QEMU adapter type
adapters integer Number of adapters
bios_image string QEMU bios image path
bios_image_md5sum ['string', 'null'] QEMU bios image checksum
boot_priority enum Possible values: c, d, n, cn, cd
cdrom_image string QEMU cdrom image path
cdrom_image_md5sum ['string', 'null'] QEMU cdrom image checksum
command_line string Last command line used by GNS3 to start QEMU
console integer Console TCP port
console_type enum Possible values: telnet, vnc, spice
cpu_throttling integer Percentage of CPU allowed for QEMU
cpus ['integer', 'null'] Number of vCPUs
hda_disk_image string QEMU hda disk image path
hda_disk_image_md5sum ['string', 'null'] QEMU hda disk image checksum
hda_disk_interface string QEMU hda interface
hdb_disk_image string QEMU hdb disk image path
hdb_disk_image_md5sum ['string', 'null'] QEMU hdb disk image checksum
hdb_disk_interface string QEMU hdb interface
hdc_disk_image string QEMU hdc disk image path
hdc_disk_image_md5sum ['string', 'null'] QEMU hdc disk image checksum
hdc_disk_interface string QEMU hdc interface
hdd_disk_image string QEMU hdd disk image path
hdd_disk_image_md5sum ['string', 'null'] QEMU hdd disk image checksum
hdd_disk_interface string QEMU hdd interface
initrd string QEMU initrd path
initrd_md5sum ['string', 'null'] QEMU initrd path
kernel_command_line string QEMU kernel command line
kernel_image string QEMU kernel image path
kernel_image_md5sum ['string', 'null'] QEMU kernel image checksum
legacy_networking boolean Use QEMU legagy networking commands (-net syntax)
mac_address string QEMU MAC address
name string QEMU VM instance name
node_directory string Path to the VM working directory
node_id string Node UUID
options string Additional QEMU options
platform enum Possible values: aarch64, alpha, arm, cris, i386, lm32, m68k, microblaze, microblazeel, mips, mips64, mips64el, mipsel, moxie, or32, ppc, ppc64, ppcemb, s390x, sh4, sh4eb, sparc, sparc64, tricore, unicore32, x86_64, xtensa, xtensaeb
process_priority enum Possible values: realtime, very high, high, normal, low, very low
project_id string Project UUID
qemu_path string Path to QEMU
ram integer Amount of RAM in MB
status enum Possible values: started, stopped, suspended
usage string How to use the QEMU VM
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/5bf81180-e252-40a9-b2c7-204c27da614a' -d '{"console": 5006, "hdb_disk_image": "linux\u8f7d.img", "name": "test", "ram": 1024}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/5bf81180-e252-40a9-b2c7-204c27da614a HTTP/1.1
{
    "console": 5006,
    "hdb_disk_image": "linux\u8f7d.img",
    "name": "test",
    "ram": 1024
}


HTTP/1.1 200
Connection: close
Content-Length: 1421
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}

{
    "acpi_shutdown": false,
    "adapter_type": "e1000",
    "adapters": 1,
    "bios_image": "",
    "bios_image_md5sum": null,
    "boot_priority": "c",
    "cdrom_image": "",
    "cdrom_image_md5sum": null,
    "command_line": "",
    "console": 5006,
    "console_type": "telnet",
    "cpu_throttling": 0,
    "cpus": 1,
    "hda_disk_image": "",
    "hda_disk_image_md5sum": null,
    "hda_disk_interface": "ide",
    "hdb_disk_image": "linux\u8f7d.img",
    "hdb_disk_image_md5sum": "c4ca4238a0b923820dcc509a6f75849b",
    "hdb_disk_interface": "ide",
    "hdc_disk_image": "",
    "hdc_disk_image_md5sum": null,
    "hdc_disk_interface": "ide",
    "hdd_disk_image": "",
    "hdd_disk_image_md5sum": null,
    "hdd_disk_interface": "ide",
    "initrd": "",
    "initrd_md5sum": null,
    "kernel_command_line": "",
    "kernel_image": "",
    "kernel_image_md5sum": null,
    "legacy_networking": false,
    "mac_address": "0c:dd:80:61:4a:00",
    "name": "test",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/5bf81180-e252-40a9-b2c7-204c27da614a",
    "node_id": "5bf81180-e252-40a9-b2c7-204c27da614a",
    "options": "",
    "platform": "x86_64",
    "process_priority": "low",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "qemu_path": "/tmp/tmpxudfhxk5/qemu-system-x86_64",
    "ram": 1024,
    "status": "stopped",
    "usage": ""
}
DELETE /v2/compute/projects/{project_id}/qemu/nodes/{node_id}

Delete a Qemu VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/3473a78b-a3f5-4881-8b9e-f19aa53bd728'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/3473a78b-a3f5-4881-8b9e-f19aa53bd728 HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}

/v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a Qemu VM instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/5b7ad468-5b30-4ec8-9598-2273b87a2a27/adapters/1/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/5b7ad468-5b30-4ec8-9598-2273b87a2a27/adapters/1/ports/0/nio HTTP/1.1
{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
PUT /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a Qemu instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be updated
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c2961c74-fa8a-4574-a74d-148397421b7d/adapters/1/ports/0/nio' -d '{"filters": {}, "lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c2961c74-fa8a-4574-a74d-148397421b7d/adapters/1/ports/0/nio HTTP/1.1
{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 108
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
DELETE /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a Qemu VM instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/7c89c8c7-e145-4025-a087-a7d7e07d608f/adapters/1/ports/0/nio'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/7c89c8c7-e145-4025-a087-a7d7e07d608f/adapters/1/ports/0/nio HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

/v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a Qemu VM instance

Parameters
  • adapter_number: Adapter to start a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
/v2/compute/projects/{project_id}/qemu/nodes/{node_id}/duplicate
POST /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/duplicate

Duplicate a Qemu instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 201: Instance duplicated
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/81abf90e-540d-4753-9886-ba6f78507f77/duplicate' -d '{"destination_node_id": "15910e58-81d1-49a5-bf21-6140656abef1"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/81abf90e-540d-4753-9886-ba6f78507f77/duplicate HTTP/1.1
{
    "destination_node_id": "15910e58-81d1-49a5-bf21-6140656abef1"
}


HTTP/1.1 201
Connection: close
Content-Length: 4
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/duplicate

true
/v2/compute/projects/{project_id}/qemu/nodes/{node_id}/reload
POST /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/reload

Reload a Qemu VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance reloaded
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/b809392f-2cca-4018-b52a-78f58c1f9b2d/reload' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/b809392f-2cca-4018-b52a-78f58c1f9b2d/reload HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/reload

/v2/compute/projects/{project_id}/qemu/nodes/{node_id}/resume
POST /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/resume

Resume a Qemu VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance resumed
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/0a675150-a956-4af9-a768-6c76f3c2a0e6/resume' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/0a675150-a956-4af9-a768-6c76f3c2a0e6/resume HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/resume

/v2/compute/projects/{project_id}/qemu/nodes/{node_id}/start
POST /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/start

Start a Qemu VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown support
adapter_type string QEMU adapter type
adapters integer Number of adapters
bios_image string QEMU bios image path
bios_image_md5sum ['string', 'null'] QEMU bios image checksum
boot_priority enum Possible values: c, d, n, cn, cd
cdrom_image string QEMU cdrom image path
cdrom_image_md5sum ['string', 'null'] QEMU cdrom image checksum
command_line string Last command line used by GNS3 to start QEMU
console integer Console TCP port
console_type enum Possible values: telnet, vnc, spice
cpu_throttling integer Percentage of CPU allowed for QEMU
cpus ['integer', 'null'] Number of vCPUs
hda_disk_image string QEMU hda disk image path
hda_disk_image_md5sum ['string', 'null'] QEMU hda disk image checksum
hda_disk_interface string QEMU hda interface
hdb_disk_image string QEMU hdb disk image path
hdb_disk_image_md5sum ['string', 'null'] QEMU hdb disk image checksum
hdb_disk_interface string QEMU hdb interface
hdc_disk_image string QEMU hdc disk image path
hdc_disk_image_md5sum ['string', 'null'] QEMU hdc disk image checksum
hdc_disk_interface string QEMU hdc interface
hdd_disk_image string QEMU hdd disk image path
hdd_disk_image_md5sum ['string', 'null'] QEMU hdd disk image checksum
hdd_disk_interface string QEMU hdd interface
initrd string QEMU initrd path
initrd_md5sum ['string', 'null'] QEMU initrd path
kernel_command_line string QEMU kernel command line
kernel_image string QEMU kernel image path
kernel_image_md5sum ['string', 'null'] QEMU kernel image checksum
legacy_networking boolean Use QEMU legagy networking commands (-net syntax)
mac_address string QEMU MAC address
name string QEMU VM instance name
node_directory string Path to the VM working directory
node_id string Node UUID
options string Additional QEMU options
platform enum Possible values: aarch64, alpha, arm, cris, i386, lm32, m68k, microblaze, microblazeel, mips, mips64, mips64el, mipsel, moxie, or32, ppc, ppc64, ppcemb, s390x, sh4, sh4eb, sparc, sparc64, tricore, unicore32, x86_64, xtensa, xtensaeb
process_priority enum Possible values: realtime, very high, high, normal, low, very low
project_id string Project UUID
qemu_path string Path to QEMU
ram integer Amount of RAM in MB
status enum Possible values: started, stopped, suspended
usage string How to use the QEMU VM
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/8ec1a8d6-2783-4a93-81d3-52ef72e786b0/start' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/8ec1a8d6-2783-4a93-81d3-52ef72e786b0/start HTTP/1.1
{}


HTTP/1.1 200
Connection: close
Content-Length: 1380
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/start

{
    "acpi_shutdown": false,
    "adapter_type": "e1000",
    "adapters": 1,
    "bios_image": "",
    "bios_image_md5sum": null,
    "boot_priority": "c",
    "cdrom_image": "",
    "cdrom_image_md5sum": null,
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "cpu_throttling": 0,
    "cpus": 1,
    "hda_disk_image": "",
    "hda_disk_image_md5sum": null,
    "hda_disk_interface": "ide",
    "hdb_disk_image": "",
    "hdb_disk_image_md5sum": null,
    "hdb_disk_interface": "ide",
    "hdc_disk_image": "",
    "hdc_disk_image_md5sum": null,
    "hdc_disk_interface": "ide",
    "hdd_disk_image": "",
    "hdd_disk_image_md5sum": null,
    "hdd_disk_interface": "ide",
    "initrd": "",
    "initrd_md5sum": null,
    "kernel_command_line": "",
    "kernel_image": "",
    "kernel_image_md5sum": null,
    "legacy_networking": false,
    "mac_address": "0c:dd:80:86:b0:00",
    "name": "PC TEST 1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/8ec1a8d6-2783-4a93-81d3-52ef72e786b0",
    "node_id": "8ec1a8d6-2783-4a93-81d3-52ef72e786b0",
    "options": "",
    "platform": "x86_64",
    "process_priority": "low",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "qemu_path": "/tmp/tmpxudfhxk5/qemu-system-x86_64",
    "ram": 256,
    "status": "stopped",
    "usage": ""
}
/v2/compute/projects/{project_id}/qemu/nodes/{node_id}/stop
POST /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/stop

Stop a Qemu VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance stopped
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/af131f35-2b70-403f-a375-f60b84d045a2/stop' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/af131f35-2b70-403f-a375-f60b84d045a2/stop HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/stop

/v2/compute/projects/{project_id}/qemu/nodes/{node_id}/suspend
POST /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/suspend

Suspend a Qemu VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance suspended
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/997b4563-2e86-495f-8206-32af33114e7c/suspend' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/997b4563-2e86-495f-8206-32af33114e7c/suspend HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/suspend

/v2/compute/qemu/binaries
GET /v2/compute/qemu/binaries

Get a list of available Qemu binaries

Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
archs array Architectures to filter binaries with
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/qemu/binaries' -d '{"archs": ["i386"]}'

GET /v2/compute/qemu/binaries HTTP/1.1
{
    "archs": [
        "i386"
    ]
}


HTTP/1.1 200
Connection: close
Content-Length: 212
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/qemu/binaries

[
    {
        "path": "/tmp/x86_64",
        "version": "2.2.0"
    },
    {
        "path": "/tmp/alpha",
        "version": "2.1.0"
    },
    {
        "path": "/tmp/i386",
        "version": "2.1.0"
    }
]
/v2/compute/qemu/capabilities
GET /v2/compute/qemu/capabilities

Get a list of Qemu capabilities on this server

Output
Name Mandatory Type Description
kvm array Architectures that KVM is enabled for
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/qemu/capabilities'

GET /v2/compute/qemu/capabilities HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 39
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/qemu/capabilities

{
    "kvm": [
        "x86_64"
    ]
}
/v2/compute/qemu/img
POST /v2/compute/qemu/img

Create a Qemu image

Response status codes
  • 201: Image created
Input
Name Mandatory Type Description
adapter_type enum Possible values: ide, lsilogic, buslogic, legacyESX
cluster_size integer
format enum Possible values: qcow2, qcow, vpc, vdi, vmdk, raw
lazy_refcounts enum Possible values: on, off
path string Absolute or relative path of the image
preallocation enum Possible values: off, metadata, falloc, full
qemu_img string Path to the qemu-img binary
refcount_bits integer
size integer Image size in Megabytes
static enum Possible values: on, off
subformat enum Possible values: dynamic, fixed, streamOptimized, twoGbMaxExtentSparse, twoGbMaxExtentFlat, monolithicSparse, monolithicFlat
zeroed_grain enum Possible values: on, off
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/qemu/img' -d '{"cluster_size": 64, "format": "qcow2", "lazy_refcounts": "off", "path": "/tmp/hda.qcow2", "preallocation": "metadata", "qemu_img": "/tmp/qemu-img", "refcount_bits": 12, "size": 100}'

POST /v2/compute/qemu/img HTTP/1.1
{
    "cluster_size": 64,
    "format": "qcow2",
    "lazy_refcounts": "off",
    "path": "/tmp/hda.qcow2",
    "preallocation": "metadata",
    "qemu_img": "/tmp/qemu-img",
    "refcount_bits": 12,
    "size": 100
}


HTTP/1.1 201
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/qemu/img

/v2/compute/qemu/img-binaries
GET /v2/compute/qemu/img-binaries

Get a list of available Qemu-img binaries

Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Server
/v2/compute/version
GET /v2/compute/version

Retrieve the server version number

Output
Name Mandatory Type Description
local boolean Whether this is a local server or not
version string Version number
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/version'

GET /v2/compute/version HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 49
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:57 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/version

{
    "local": true,
    "version": "2.1.8dev1"
}
Traceng
/v2/compute/projects/{project_id}/traceng/nodes
POST /v2/compute/projects/{project_id}/traceng/nodes

Create a new TraceNG instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
console ['integer', 'null'] Console TCP port
console_type enum Possible values: none
default_destination ['string'] Default destination IP address or hostname for tracing
ip_address ['string'] Source IP address for tracing
name string TraceNG VM name
node_id Node UUID
Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start TraceNG
console ['integer', 'null'] Console TCP port
console_type enum Possible values: none
default_destination ['string'] Default destination IP address or hostname for tracing
ip_address ['string'] Source IP address for tracing
name string TraceNG VM name
node_directory string Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes' -d '{"name": "TraceNG TEST 1"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes HTTP/1.1
{
    "name": "TraceNG TEST 1"
}


HTTP/1.1 201
Connection: close
Content-Length: 443
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes

{
    "command_line": "",
    "console": 5004,
    "console_type": "none",
    "default_destination": "",
    "ip_address": "",
    "name": "TraceNG TEST 1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/1b68398c-f7fa-4b53-92f5-a1efeb16fdf3",
    "node_id": "1b68398c-f7fa-4b53-92f5-a1efeb16fdf3",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped"
}
/v2/compute/projects/{project_id}/traceng/nodes/{node_id}
GET /v2/compute/projects/{project_id}/traceng/nodes/{node_id}

Get a TraceNG instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start TraceNG
console ['integer', 'null'] Console TCP port
console_type enum Possible values: none
default_destination ['string'] Default destination IP address or hostname for tracing
ip_address ['string'] Source IP address for tracing
name string TraceNG VM name
node_directory string Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/31217585-67d0-48b8-b629-97282dd2529e'

GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/31217585-67d0-48b8-b629-97282dd2529e HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 443
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}

{
    "command_line": "",
    "console": 5004,
    "console_type": "none",
    "default_destination": "",
    "ip_address": "",
    "name": "TraceNG TEST 1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/31217585-67d0-48b8-b629-97282dd2529e",
    "node_id": "31217585-67d0-48b8-b629-97282dd2529e",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped"
}
PUT /v2/compute/projects/{project_id}/traceng/nodes/{node_id}

Update a TraceNG instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
console ['integer', 'null'] Console TCP port
console_type enum Possible values: none
default_destination ['string'] Default destination IP address or hostname for tracing
ip_address ['string'] Source IP address for tracing
name ['string', 'null'] TraceNG VM name
Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start TraceNG
console ['integer', 'null'] Console TCP port
console_type enum Possible values: none
default_destination ['string'] Default destination IP address or hostname for tracing
ip_address ['string'] Source IP address for tracing
name string TraceNG VM name
node_directory string Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/6f68f3b1-51b9-4676-a31a-97f5ac344b28' -d '{"ip_address": "192.168.1.1", "name": "test"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/6f68f3b1-51b9-4676-a31a-97f5ac344b28 HTTP/1.1
{
    "ip_address": "192.168.1.1",
    "name": "test"
}


HTTP/1.1 200
Connection: close
Content-Length: 444
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}

{
    "command_line": "",
    "console": 5004,
    "console_type": "none",
    "default_destination": "",
    "ip_address": "192.168.1.1",
    "name": "test",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/6f68f3b1-51b9-4676-a31a-97f5ac344b28",
    "node_id": "6f68f3b1-51b9-4676-a31a-97f5ac344b28",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped"
}
DELETE /v2/compute/projects/{project_id}/traceng/nodes/{node_id}

Delete a TraceNG instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/9ec32584-d2e6-4755-9e90-43a6f183eb4b'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/9ec32584-d2e6-4755-9e90-43a6f183eb4b HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}

/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a TraceNG instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port where the nio should be added
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/69b05dd3-f373-4b2b-9365-f81465817510/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/69b05dd3-f373-4b2b-9365-f81465817510/adapters/0/ports/0/nio HTTP/1.1
{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
PUT /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a TraceNG instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be updated
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/08ecb6d5-7173-44e9-974e-43595f8add14/adapters/0/ports/0/nio' -d '{"filters": {}, "lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/08ecb6d5-7173-44e9-974e-43595f8add14/adapters/0/ports/0/nio HTTP/1.1
{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 108
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
DELETE /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a TraceNG instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be removed
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/0d9d51bc-c5a5-45a9-ad54-5f6e9f363cdf/adapters/0/ports/0/nio'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/0d9d51bc-c5a5-45a9-ad54-5f6e9f363cdf/adapters/0/ports/0/nio HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a TraceNG instance

Parameters
  • adapter_number: Adapter to start a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/duplicate
POST /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/duplicate

Duplicate a TraceNG instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 201: Instance duplicated
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/f505e6a5-d75d-4f47-9064-c9f2d8708846/duplicate' -d '{"destination_node_id": "36bb4ff2-7fb5-4080-ba98-5fbe0625c04e"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/f505e6a5-d75d-4f47-9064-c9f2d8708846/duplicate HTTP/1.1
{
    "destination_node_id": "36bb4ff2-7fb5-4080-ba98-5fbe0625c04e"
}


HTTP/1.1 201
Connection: close
Content-Length: 4
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/duplicate

true
/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/reload
POST /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/reload

Reload a TraceNG instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance reloaded
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/14c101ad-5405-46fc-b48a-b9c78cbddb7a/reload' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/14c101ad-5405-46fc-b48a-b9c78cbddb7a/reload HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/reload

/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/start
POST /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/start

Start a TraceNG instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance started
Input
Name Mandatory Type Description
destination ['string'] Host or IP address to trace
Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start TraceNG
console ['integer', 'null'] Console TCP port
console_type enum Possible values: none
default_destination ['string'] Default destination IP address or hostname for tracing
ip_address ['string'] Source IP address for tracing
name string TraceNG VM name
node_directory string Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/c5b071ef-6ad6-4f0a-a98d-9246893d5381/start' -d '{"destination": "192.168.1.2"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/c5b071ef-6ad6-4f0a-a98d-9246893d5381/start HTTP/1.1
{
    "destination": "192.168.1.2"
}


HTTP/1.1 200
Connection: close
Content-Length: 443
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/start

{
    "command_line": "",
    "console": 5004,
    "console_type": "none",
    "default_destination": "",
    "ip_address": "",
    "name": "TraceNG TEST 1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/traceng/c5b071ef-6ad6-4f0a-a98d-9246893d5381",
    "node_id": "c5b071ef-6ad6-4f0a-a98d-9246893d5381",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped"
}
/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/stop
POST /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/stop

Stop a TraceNG instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance stopped
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/cbc40285-fb57-4966-b9b1-7bf924c8073b/stop' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/traceng/nodes/cbc40285-fb57-4966-b9b1-7bf924c8073b/stop HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/traceng/nodes/{node_id}/stop

Virtualbox
/v2/compute/projects/{project_id}/virtualbox/nodes
POST /v2/compute/projects/{project_id}/virtualbox/nodes

Create a new VirtualBox VM instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VirtualBox adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VirtualBox VM instance name
node_id Node UUID
ram integer Amount of RAM
use_any_adapter boolean Allow GNS3 to use any VirtualBox adapter
vmname string VirtualBox VM name (in VirtualBox itself)
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VirtualBox adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VirtualBox VM instance name
node_directory ['string', 'null'] Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
ram integer Amount of RAM
status enum Possible values: started, stopped, suspended
use_any_adapter boolean Allow GNS3 to use any VirtualBox adapter
vmname string VirtualBox VM name (in VirtualBox itself)
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes' -d '{"linked_clone": false, "name": "VM1", "vmname": "VM1"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes HTTP/1.1
{
    "linked_clone": false,
    "name": "VM1",
    "vmname": "VM1"
}


HTTP/1.1 201
Connection: close
Content-Length: 459
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes

{
    "acpi_shutdown": false,
    "adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
    "adapters": 0,
    "console": 5004,
    "console_type": "telnet",
    "headless": false,
    "linked_clone": false,
    "name": "VM1",
    "node_directory": null,
    "node_id": "8275c17b-1e23-4d65-ab30-be28889654ca",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "ram": 0,
    "status": "stopped",
    "use_any_adapter": false,
    "vmname": "VM1"
}
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}
GET /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}

Get a VirtualBox VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VirtualBox adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VirtualBox VM instance name
node_directory ['string', 'null'] Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
ram integer Amount of RAM
status enum Possible values: started, stopped, suspended
use_any_adapter boolean Allow GNS3 to use any VirtualBox adapter
vmname string VirtualBox VM name (in VirtualBox itself)
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/49b530f4-2887-4493-8863-5ba7b7ca65c6'

GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/49b530f4-2887-4493-8863-5ba7b7ca65c6 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 465
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}

{
    "acpi_shutdown": false,
    "adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
    "adapters": 0,
    "console": 5004,
    "console_type": "telnet",
    "headless": false,
    "linked_clone": false,
    "name": "VMTEST",
    "node_directory": null,
    "node_id": "49b530f4-2887-4493-8863-5ba7b7ca65c6",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "ram": 0,
    "status": "stopped",
    "use_any_adapter": false,
    "vmname": "VMTEST"
}
PUT /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}

Update a VirtualBox VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VirtualBox adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VirtualBox VM instance name
node_directory ['string', 'null'] Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
ram integer Amount of RAM
status enum Possible values: started, stopped, suspended
use_any_adapter boolean Allow GNS3 to use any VirtualBox adapter
vmname string VirtualBox VM name (in VirtualBox itself)
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VirtualBox adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VirtualBox VM instance name
node_directory ['string', 'null'] Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
ram integer Amount of RAM
status enum Possible values: started, stopped, suspended
use_any_adapter boolean Allow GNS3 to use any VirtualBox adapter
vmname string VirtualBox VM name (in VirtualBox itself)
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/5cd7514d-5ff3-4511-af4c-05760e48976a' -d '{"console": 5005, "name": "test"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/5cd7514d-5ff3-4511-af4c-05760e48976a HTTP/1.1
{
    "console": 5005,
    "name": "test"
}


HTTP/1.1 200
Connection: close
Content-Length: 463
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:59 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}

{
    "acpi_shutdown": false,
    "adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
    "adapters": 0,
    "console": 5005,
    "console_type": "telnet",
    "headless": false,
    "linked_clone": false,
    "name": "test",
    "node_directory": null,
    "node_id": "5cd7514d-5ff3-4511-af4c-05760e48976a",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "ram": 0,
    "status": "stopped",
    "use_any_adapter": false,
    "vmname": "VMTEST"
}
DELETE /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}

Delete a VirtualBox VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a VirtualBox VM instance

Parameters
  • adapter_number: Adapter where the nio should be added
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/a4a279d1-05d8-430b-ae0c-87e43a9f8c1c/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/a4a279d1-05d8-430b-ae0c-87e43a9f8c1c/adapters/0/ports/0/nio HTTP/1.1
{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
PUT /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a Virtualbox instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be updated
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/342d60c7-5390-4cdf-a304-02fb756572b8/adapters/0/ports/0/nio' -d '{"filters": {}, "lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/342d60c7-5390-4cdf-a304-02fb756572b8/adapters/0/ports/0/nio HTTP/1.1
{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 108
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:59 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
DELETE /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a VirtualBox VM instance

Parameters
  • adapter_number: Adapter from where the nio should be removed
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/e829e5dc-bd64-4143-ae29-fae4badae401/adapters/0/ports/0/nio'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/e829e5dc-bd64-4143-ae29-fae4badae401/adapters/0/ports/0/nio HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:59 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a VirtualBox VM instance

Parameters
  • adapter_number: Adapter to start a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/reload
POST /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/reload

Reload a VirtualBox VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance reloaded
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/ee6d3ea2-9dd4-4188-bf11-cd7ae686f03d/reload' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/ee6d3ea2-9dd4-4188-bf11-cd7ae686f03d/reload HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/reload

/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/resume
POST /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/resume

Resume a suspended VirtualBox VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance resumed
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/53dbeaff-87f6-4307-bf63-70ea0b2e85e7/resume' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/53dbeaff-87f6-4307-bf63-70ea0b2e85e7/resume HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/resume

/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/start
POST /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/start

Start a VirtualBox VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance started
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/7d1bb85b-0679-43bc-9b9d-5cc5939a536a/start' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/7d1bb85b-0679-43bc-9b9d-5cc5939a536a/start HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/start

/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/stop
POST /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/stop

Stop a VirtualBox VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance stopped
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/1007a005-6855-4489-baa7-74027987ced8/stop' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/1007a005-6855-4489-baa7-74027987ced8/stop HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/stop

/v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/suspend
POST /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/suspend

Suspend a VirtualBox VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance suspended
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/e12f4ce0-e95d-4902-af89-7254ba139257/suspend' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/e12f4ce0-e95d-4902-af89-7254ba139257/suspend HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:34:58 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/suspend

Vmware
/v2/compute/projects/{project_id}/vmware/nodes
POST /v2/compute/projects/{project_id}/vmware/nodes

Create a new VMware VM instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VMware adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VMware VM instance name
node_id string Node UUID
use_any_adapter boolean Allow GNS3 to use any VMware adapter
vmx_path string Path to the vmx file
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VMware adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VMware VM instance name
node_directory ['string', 'null'] Path to the node working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
use_any_adapter boolean Allow GNS3 to use any VMware adapter
vmx_path string Path to the vmx file
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes' -d '{"linked_clone": false, "name": "VM1", "vmx_path": "/tmp/pytest-of-grossmj/pytest-23/test_vmware_create0/test.vmx"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes HTTP/1.1
{
    "linked_clone": false,
    "name": "VM1",
    "vmx_path": "/tmp/pytest-of-grossmj/pytest-23/test_vmware_create0/test.vmx"
}


HTTP/1.1 201
Connection: close
Content-Length: 593
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:34:59 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes

{
    "acpi_shutdown": false,
    "adapter_type": "e1000",
    "adapters": 0,
    "console": 5004,
    "console_type": "telnet",
    "headless": false,
    "linked_clone": false,
    "name": "VM1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/7973e845-5a86-463b-bdbc-480cd83c76a2",
    "node_id": "7973e845-5a86-463b-bdbc-480cd83c76a2",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped",
    "use_any_adapter": false,
    "vmx_path": "/tmp/pytest-of-grossmj/pytest-23/test_vmware_create0/test.vmx"
}
/v2/compute/projects/{project_id}/vmware/nodes/{node_id}
GET /v2/compute/projects/{project_id}/vmware/nodes/{node_id}

Get a VMware VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VMware adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VMware VM instance name
node_directory ['string', 'null'] Path to the node working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
use_any_adapter boolean Allow GNS3 to use any VMware adapter
vmx_path string Path to the vmx file
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/1da29a87-e7df-48f5-a409-2627e47f6895'

GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/1da29a87-e7df-48f5-a409-2627e47f6895 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 593
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:00 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}

{
    "acpi_shutdown": false,
    "adapter_type": "e1000",
    "adapters": 0,
    "console": 5004,
    "console_type": "telnet",
    "headless": false,
    "linked_clone": false,
    "name": "VMTEST",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/1da29a87-e7df-48f5-a409-2627e47f6895",
    "node_id": "1da29a87-e7df-48f5-a409-2627e47f6895",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped",
    "use_any_adapter": false,
    "vmx_path": "/tmp/pytest-of-grossmj/pytest-23/test_vmware_get0/test.vmx"
}
PUT /v2/compute/projects/{project_id}/vmware/nodes/{node_id}

Update a VMware VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VMware adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VMware VM instance name
node_directory ['string', 'null'] Path to the node working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
use_any_adapter boolean Allow GNS3 to use any VMware adapter
vmx_path string Path to the vmx file
Output
Name Mandatory Type Description
acpi_shutdown boolean ACPI shutdown
adapter_type string VMware adapter type
adapters integer Number of adapters
console integer Console TCP port
console_type enum Possible values: telnet
headless boolean Headless mode
linked_clone boolean Whether the VM is a linked clone or not
name string VMware VM instance name
node_directory ['string', 'null'] Path to the node working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
use_any_adapter boolean Allow GNS3 to use any VMware adapter
vmx_path string Path to the vmx file
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/7c68eae8-c6e0-4ce5-835e-353389395807' -d '{"console": 5005, "name": "test"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/7c68eae8-c6e0-4ce5-835e-353389395807 HTTP/1.1
{
    "console": 5005,
    "name": "test"
}


HTTP/1.1 200
Connection: close
Content-Length: 594
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:10 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}

{
    "acpi_shutdown": false,
    "adapter_type": "e1000",
    "adapters": 0,
    "console": 5005,
    "console_type": "telnet",
    "headless": false,
    "linked_clone": false,
    "name": "test",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/7c68eae8-c6e0-4ce5-835e-353389395807",
    "node_id": "7c68eae8-c6e0-4ce5-835e-353389395807",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped",
    "use_any_adapter": false,
    "vmx_path": "/tmp/pytest-of-grossmj/pytest-23/test_vmware_update0/test.vmx"
}
DELETE /v2/compute/projects/{project_id}/vmware/nodes/{node_id}

Delete a VMware VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
/v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a VMware VM instance

Parameters
  • adapter_number: Adapter where the nio should be added
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/b36bfb79-8a80-4f43-b07c-941e627c2739/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/b36bfb79-8a80-4f43-b07c-941e627c2739/adapters/0/ports/0/nio HTTP/1.1
{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:06 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
PUT /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a Virtualbox instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be updated
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/6df423d5-a649-49f5-ab01-fca446af636e/adapters/0/ports/0/nio' -d '{"filters": {}, "lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/6df423d5-a649-49f5-ab01-fca446af636e/adapters/0/ports/0/nio HTTP/1.1
{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 108
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:07 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
DELETE /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a VMware VM instance

Parameters
  • adapter_number: Adapter from where the nio should be removed
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/d5bc283f-2d66-4cf6-8ee2-98ad1262b32f/adapters/0/ports/0/nio'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/d5bc283f-2d66-4cf6-8ee2-98ad1262b32f/adapters/0/ports/0/nio HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:09 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

/v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a VMware VM instance

Parameters
  • adapter_number: Adapter to start a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter (always 0)
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
/v2/compute/projects/{project_id}/vmware/nodes/{node_id}/reload
POST /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/reload

Reload a VMware VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance reloaded
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/67427544-9d8b-4848-a93a-356ef427f09c/reload' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/67427544-9d8b-4848-a93a-356ef427f09c/reload HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:05 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/reload

/v2/compute/projects/{project_id}/vmware/nodes/{node_id}/resume
POST /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/resume

Resume a suspended VMware VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance resumed
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/a954d747-7ec9-4795-b482-1b366dbaf646/resume' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/a954d747-7ec9-4795-b482-1b366dbaf646/resume HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:04 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/resume

/v2/compute/projects/{project_id}/vmware/nodes/{node_id}/start
POST /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/start

Start a VMware VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance started
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/0f742ab4-7f42-4a1d-8aae-c25b8ca4fca1/start' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/0f742ab4-7f42-4a1d-8aae-c25b8ca4fca1/start HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:01 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/start

/v2/compute/projects/{project_id}/vmware/nodes/{node_id}/stop
POST /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/stop

Stop a VMware VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance stopped
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/c1411225-a163-45a3-9208-331974e57bac/stop' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/c1411225-a163-45a3-9208-331974e57bac/stop HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:02 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/stop

/v2/compute/projects/{project_id}/vmware/nodes/{node_id}/suspend
POST /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/suspend

Suspend a VMware VM instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance suspended
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/8a9d9746-9c04-48e3-9844-dcd045b82bac/suspend' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/8a9d9746-9c04-48e3-9844-dcd045b82bac/suspend HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:03 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/suspend

Vpcs
/v2/compute/projects/{project_id}/vpcs/nodes
POST /v2/compute/projects/{project_id}/vpcs/nodes

Create a new VPCS instance

Parameters
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 201: Instance created
  • 409: Conflict
Input
Name Mandatory Type Description
console ['integer', 'null'] Console TCP port
console_type enum Possible values: telnet
name string VPCS VM name
node_id Node UUID
startup_script ['string', 'null'] Content of the VPCS startup script
Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start VPCS
console integer Console TCP port
console_type enum Possible values: telnet
name string VPCS VM name
node_directory string Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes' -d '{"name": "PC TEST 1"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes HTTP/1.1
{
    "name": "PC TEST 1"
}


HTTP/1.1 201
Connection: close
Content-Length: 384
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes

{
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "name": "PC TEST 1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/f5402839-7326-45d0-ba3a-e79802c4a174",
    "node_id": "f5402839-7326-45d0-ba3a-e79802c4a174",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped"
}
/v2/compute/projects/{project_id}/vpcs/nodes/{node_id}
GET /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}

Get a VPCS instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Success
  • 400: Invalid request
  • 404: Instance doesn’t exist
Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start VPCS
console integer Console TCP port
console_type enum Possible values: telnet
name string VPCS VM name
node_directory string Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/2bb8ee4e-1428-4cbe-bfb3-95c397fbc1d7'

GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/2bb8ee4e-1428-4cbe-bfb3-95c397fbc1d7 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 384
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}

{
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "name": "PC TEST 1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/2bb8ee4e-1428-4cbe-bfb3-95c397fbc1d7",
    "node_id": "2bb8ee4e-1428-4cbe-bfb3-95c397fbc1d7",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped"
}
PUT /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}

Update a VPCS instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 200: Instance updated
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 409: Conflict
Input
Name Mandatory Type Description
console ['integer', 'null'] Console TCP port
console_type enum Possible values: telnet
name ['string', 'null'] VPCS VM name
Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start VPCS
console integer Console TCP port
console_type enum Possible values: telnet
name string VPCS VM name
node_directory string Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/412e82d1-045a-46c8-9d83-2ae733ebe629' -d '{"console": 5006, "name": "test"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/412e82d1-045a-46c8-9d83-2ae733ebe629 HTTP/1.1
{
    "console": 5006,
    "name": "test"
}


HTTP/1.1 200
Connection: close
Content-Length: 379
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}

{
    "command_line": "",
    "console": 5006,
    "console_type": "telnet",
    "name": "test",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/412e82d1-045a-46c8-9d83-2ae733ebe629",
    "node_id": "412e82d1-045a-46c8-9d83-2ae733ebe629",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped"
}
DELETE /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}

Delete a VPCS instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/ffbdfb95-bf03-4183-8a10-9d33f16ac422'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/ffbdfb95-bf03-4183-8a10-9d33f16ac422 HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}

/v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio
POST /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Add a NIO to a VPCS instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port where the nio should be added
Response status codes
  • 400: Invalid request
  • 201: NIO created
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/1cd251f2-1ae0-4db3-b65a-0b06112f257f/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/1cd251f2-1ae0-4db3-b65a-0b06112f257f/adapters/0/ports/0/nio HTTP/1.1
{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 89
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
PUT /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Update a NIO from a VPCS instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be updated
Response status codes
  • 400: Invalid request
  • 201: NIO updated
  • 404: Instance doesn’t exist
Sample session
curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/c20fc74e-77b4-4e79-9453-4d26b188779a/adapters/0/ports/0/nio' -d '{"filters": {}, "lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/c20fc74e-77b4-4e79-9453-4d26b188779a/adapters/0/ports/0/nio HTTP/1.1
{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}


HTTP/1.1 201
Connection: close
Content-Length: 108
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

{
    "filters": {},
    "lport": 4242,
    "rhost": "127.0.0.1",
    "rport": 4343,
    "type": "nio_udp"
}
DELETE /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/nio

Remove a NIO from a VPCS instance

Parameters
  • adapter_number: Network adapter where the nio is located
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port from where the nio should be removed
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: NIO deleted
Sample session
curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/4696f8f1-830d-4075-bd0e-717732c8dec5/adapters/0/ports/0/nio'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/4696f8f1-830d-4075-bd0e-717732c8dec5/adapters/0/ports/0/nio HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio

/v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture
POST /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:d+}/ports/{port_number:d+}/start_capture

Start a packet capture on a VPCS instance

Parameters
  • adapter_number: Adapter to start a packet capture
  • node_id: Node UUID
  • project_id: Project UUID
  • port_number: Port on the adapter
Response status codes
  • 200: Capture started
  • 400: Invalid request
  • 404: Instance doesn’t exist
Input
Name Mandatory Type Description
capture_file_name string Capture file name
data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
/v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/duplicate
POST /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/duplicate

Duplicate a VPCS instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 201: Instance duplicated
  • 404: Instance doesn’t exist
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/549c8308-17b4-489a-aada-da5732a6782c/duplicate' -d '{"destination_node_id": "7584853c-5823-40a1-ad12-de25df0aceb4"}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/549c8308-17b4-489a-aada-da5732a6782c/duplicate HTTP/1.1
{
    "destination_node_id": "7584853c-5823-40a1-ad12-de25df0aceb4"
}


HTTP/1.1 201
Connection: close
Content-Length: 4
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/duplicate

true
/v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/reload
POST /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/reload

Reload a VPCS instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance reloaded
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/e48c28b3-7ed1-474e-bf6e-7c5e34cf95c9/reload' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/e48c28b3-7ed1-474e-bf6e-7c5e34cf95c9/reload HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/reload

/v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/start
POST /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/start

Start a VPCS instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance started
Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start VPCS
console integer Console TCP port
console_type enum Possible values: telnet
name string VPCS VM name
node_directory string Path to the VM working directory
node_id string Node UUID
project_id string Project UUID
status enum Possible values: started, stopped, suspended
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/8b229a64-e4ea-4fa3-8fae-36076c22ad27/start' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/8b229a64-e4ea-4fa3-8fae-36076c22ad27/start HTTP/1.1
{}


HTTP/1.1 200
Connection: close
Content-Length: 384
Content-Type: application/json
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/start

{
    "command_line": "",
    "console": 5004,
    "console_type": "telnet",
    "name": "PC TEST 1",
    "node_directory": "/tmp/tmp4zak1_kl/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/8b229a64-e4ea-4fa3-8fae-36076c22ad27",
    "node_id": "8b229a64-e4ea-4fa3-8fae-36076c22ad27",
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "status": "stopped"
}
/v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/stop
POST /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/stop

Stop a VPCS instance

Parameters
  • node_id: Node UUID
  • project_id: Project UUID
Response status codes
  • 400: Invalid request
  • 404: Instance doesn’t exist
  • 204: Instance stopped
Sample session
curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/26d103b2-68a8-4041-8776-b0c9af129dfb/stop' -d '{}'

POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/26d103b2-68a8-4041-8776-b0c9af129dfb/stop HTTP/1.1
{}


HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Thu, 14 Jun 2018 08:35:11 GMT
Server: Python/3.5 GNS3/2.1.8dev1
X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/stop

GNS3 development

Development

Code convention

Respect all the PEP8 convention except the max line length rule.

Source code

Source code is available on Github under the GPL V3 licence: https://github.com/GNS3/

The GNS3 server: https://github.com/GNS3/gns3-server The GNS3 user interface: https://github.com/GNS3/gns3-gui

Documentation

The documentation can be found in the gns3-server project.

Build doc
./scripts/documentation.sh

The output is available inside docs/_build/html

Tests

Run tests
py.test -v

The GNS3 files

.gns3 files

GNS3 project files in JSON file format with all the information necessary to save a project.

A minimal version:

{
    "name": "untitled",
    "project_id": null,
    "revision": 5,
    "topology": {},
    "type": "topology",
    "version": "2.0.0"
}

The revision is the version of file format:

  • 8: GNS3 2.1
  • 7: GNS3 2.0
  • 6: GNS3 2.0 < beta 3
  • 5: GNS3 2.0 < alpha 4
  • 4: GNS3 1.5
  • 3: GNS3 1.4
  • 2: GNS3 1.3
  • 1: GNS3 1.0, 1.1, 1.2 (Not mentioned in the file)

The full JSON schema can be found there:

{
    "properties": {
        "show_grid": {
            "description": "Show the grid on the drawing area",
            "type": "boolean"
        },
        "topology": {
            "additionalProperties": false,
            "properties": {
                "links": {
                    "items": {
                        "additionalProperties": false,
                        "properties": {
                            "filters": {
                                "description": "Packet filter. This allow to simulate latency and errors",
                                "type": "object",
                                "$schema": "http://json-schema.org/draft-04/schema#"
                            },
                            "link_type": {
                                "description": "Type of link",
                                "enum": [
                                    "ethernet",
                                    "serial"
                                ]
                            },
                            "project_id": {
                                "maxLength": 36,
                                "minLength": 36,
                                "description": "Project UUID",
                                "type": "string",
                                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                            },
                            "link_id": {
                                "maxLength": 36,
                                "minLength": 36,
                                "description": "Link UUID",
                                "type": "string",
                                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                            },
                            "capture_file_path": {
                                "description": "Read only property. The full path of the capture file if capture is running",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "suspend": {
                                "description": "Suspend the link",
                                "type": "boolean"
                            },
                            "capturing": {
                                "description": "Read only property. True if a capture running on the link",
                                "type": "boolean"
                            },
                            "nodes": {
                                "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                        "adapter_number": {
                                            "description": "Adapter number",
                                            "type": "integer"
                                        },
                                        "node_id": {
                                            "maxLength": 36,
                                            "minLength": 36,
                                            "description": "Node UUID",
                                            "type": "string",
                                            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                                        },
                                        "label": {
                                            "additionalProperties": false,
                                            "properties": {
                                                "rotation": {
                                                    "minimum": -359,
                                                    "description": "Rotation of the label",
                                                    "type": "integer",
                                                    "maximum": 360
                                                },
                                                "x": {
                                                    "description": "Relative X position of the label. If null center it",
                                                    "type": [
                                                        "integer",
                                                        "null"
                                                    ]
                                                },
                                                "y": {
                                                    "description": "Relative Y position of the label",
                                                    "type": "integer"
                                                },
                                                "text": {
                                                    "type": "string"
                                                },
                                                "style": {
                                                    "description": "SVG style attribute",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object",
                                            "required": [
                                                "text",
                                                "x",
                                                "y"
                                            ]
                                        },
                                        "port_number": {
                                            "description": "Port number",
                                            "type": "integer"
                                        }
                                    },
                                    "type": "object",
                                    "required": [
                                        "node_id",
                                        "adapter_number",
                                        "port_number"
                                    ]
                                },
                                "description": "List of the VMS",
                                "type": "array"
                            },
                            "capture_file_name": {
                                "description": "Read only property. The name of the capture file if capture is running",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "description": "A link object",
                        "type": "object",
                        "$schema": "http://json-schema.org/draft-04/schema#"
                    },
                    "description": "Link elements",
                    "type": "array"
                },
                "drawings": {
                    "items": {
                        "additionalProperties": false,
                        "properties": {
                            "rotation": {
                                "minimum": -359,
                                "description": "Rotation of the element",
                                "type": "integer",
                                "maximum": 360
                            },
                            "x": {
                                "description": "X property",
                                "type": "integer"
                            },
                            "project_id": {
                                "maxLength": 36,
                                "minLength": 36,
                                "description": "Project UUID",
                                "type": "string",
                                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                            },
                            "z": {
                                "description": "Z property",
                                "type": "integer"
                            },
                            "svg": {
                                "description": "SVG content of the drawing",
                                "type": "string"
                            },
                            "drawing_id": {
                                "maxLength": 36,
                                "minLength": 36,
                                "description": "Drawing UUID",
                                "type": "string",
                                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                            },
                            "y": {
                                "description": "Y property",
                                "type": "integer"
                            }
                        },
                        "description": "An drawing object",
                        "type": "object",
                        "$schema": "http://json-schema.org/draft-04/schema#"
                    },
                    "description": "Drawings elements",
                    "type": "array"
                },
                "computes": {
                    "items": {
                        "properties": {
                            "host": {
                                "description": "Server host",
                                "type": "string"
                            },
                            "compute_id": {
                                "description": "Server identifier",
                                "type": "string"
                            },
                            "cpu_usage_percent": {
                                "minimum": 0,
                                "description": "CPU usage of the compute. Read only",
                                "type": [
                                    "number",
                                    "null"
                                ],
                                "maximum": 100
                            },
                            "protocol": {
                                "description": "Server protocol",
                                "enum": [
                                    "http",
                                    "https"
                                ]
                            },
                            "connected": {
                                "description": "Whether the controller is connected to the compute server or not",
                                "type": "boolean"
                            },
                            "capabilities": {
                                "properties": {
                                    "version": {
                                        "description": "Version number",
                                        "type": [
                                            "string",
                                            "null"
                                        ]
                                    },
                                    "node_types": {
                                        "items": {
                                            "description": "Type of node",
                                            "enum": [
                                                "cloud",
                                                "nat",
                                                "ethernet_hub",
                                                "ethernet_switch",
                                                "frame_relay_switch",
                                                "atm_switch",
                                                "docker",
                                                "dynamips",
                                                "vpcs",
                                                "traceng",
                                                "virtualbox",
                                                "vmware",
                                                "iou",
                                                "qemu"
                                            ]
                                        },
                                        "description": "Node type supported by the compute",
                                        "type": "array"
                                    },
                                    "platform": {
                                        "description": "Platform where the compute is running",
                                        "type": "string"
                                    }
                                },
                                "description": "Get what a server support",
                                "type": "object",
                                "$schema": "http://json-schema.org/draft-04/schema#",
                                "additionalProperties": false,
                                "required": [
                                    "version",
                                    "node_types"
                                ]
                            },
                            "user": {
                                "description": "User for authentication",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "port": {
                                "description": "Server port",
                                "type": "integer"
                            },
                            "memory_usage_percent": {
                                "minimum": 0,
                                "description": "RAM usage of the compute. Read only",
                                "type": [
                                    "number",
                                    "null"
                                ],
                                "maximum": 100
                            },
                            "name": {
                                "description": "Server name",
                                "type": "string"
                            }
                        },
                        "description": "Request validation to a GNS3 compute object instance",
                        "type": "object",
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "additionalProperties": false,
                        "required": [
                            "compute_id",
                            "protocol",
                            "host",
                            "port",
                            "name"
                        ]
                    },
                    "description": "Computes servers",
                    "type": "array"
                },
                "nodes": {
                    "items": {
                        "properties": {
                            "node_directory": {
                                "description": "Working directory of the node. Read only",
                                "type": [
                                    "null",
                                    "string"
                                ]
                            },
                            "node_type": {
                                "description": "Type of node",
                                "enum": [
                                    "cloud",
                                    "nat",
                                    "ethernet_hub",
                                    "ethernet_switch",
                                    "frame_relay_switch",
                                    "atm_switch",
                                    "docker",
                                    "dynamips",
                                    "vpcs",
                                    "traceng",
                                    "virtualbox",
                                    "vmware",
                                    "iou",
                                    "qemu"
                                ]
                            },
                            "port_segment_size": {
                                "minimum": 0,
                                "description": "Size of the port segment",
                                "type": "integer"
                            },
                            "command_line": {
                                "description": "Command line use to start the node",
                                "type": [
                                    "null",
                                    "string"
                                ]
                            },
                            "console_host": {
                                "minLength": 1,
                                "description": "Console host. Warning if the host is 0.0.0.0 or :: (listen on all interfaces) you need to use the same address you use to connect to the controller.",
                                "type": "string"
                            },
                            "symbol": {
                                "minLength": 1,
                                "description": "Symbol of the node",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "status": {
                                "description": "Status of the node",
                                "enum": [
                                    "stopped",
                                    "started",
                                    "suspended"
                                ]
                            },
                            "first_port_name": {
                                "description": "Name of the first port",
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "height": {
                                "description": "Height of the node (Read only)",
                                "type": "integer"
                            },
                            "project_id": {
                                "maxLength": 36,
                                "minLength": 36,
                                "description": "Project UUID",
                                "type": "string",
                                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                            },
                            "console_type": {
                                "description": "Console type",
                                "enum": [
                                    "vnc",
                                    "telnet",
                                    "http",
                                    "https",
                                    "spice",
                                    "none",
                                    null
                                ]
                            },
                            "label": {
                                "additionalProperties": false,
                                "properties": {
                                    "rotation": {
                                        "minimum": -359,
                                        "description": "Rotation of the label",
                                        "type": "integer",
                                        "maximum": 360
                                    },
                                    "x": {
                                        "description": "Relative X position of the label. If null center it",
                                        "type": [
                                            "integer",
                                            "null"
                                        ]
                                    },
                                    "y": {
                                        "description": "Relative Y position of the label",
                                        "type": "integer"
                                    },
                                    "text": {
                                        "type": "string"
                                    },
                                    "style": {
                                        "description": "SVG style attribute",
                                        "type": "string"
                                    }
                                },
                                "type": "object",
                                "required": [
                                    "text",
                                    "x",
                                    "y"
                                ]
                            },
                            "x": {
                                "description": "X position of the node",
                                "type": "integer"
                            },
                            "compute_id": {
                                "description": "Compute identifier",
                                "type": "string"
                            },
                            "ports": {
                                "items": {
                                    "additionalProperties": false,
                                    "properties": {
                                        "link_type": {
                                            "description": "Type of link",
                                            "enum": [
                                                "ethernet",
                                                "serial"
                                            ]
                                        },
                                        "adapter_number": {
                                            "description": "Adapter slot",
                                            "type": "integer"
                                        },
                                        "data_link_types": {
                                            "properties": {},
                                            "description": "Available PCAP type for capture",
                                            "type": "object"
                                        },
                                        "short_name": {
                                            "description": "Short version of port name",
                                            "type": "string"
                                        },
                                        "name": {
                                            "description": "Port name",
                                            "type": "string"
                                        },
                                        "port_number": {
                                            "description": "Port slot",
                                            "type": "integer"
                                        }
                                    },
                                    "description": "A node port",
                                    "type": "object"
                                },
                                "description": "List of node ports READ only",
                                "type": "array"
                            },
                            "port_name_format": {
                                "description": "Formating for port name {0} will be replace by port number",
                                "type": "string"
                            },
                            "name": {
                                "minLength": 1,
                                "description": "Node name",
                                "type": "string"
                            },
                            "y": {
                                "description": "Y position of the node",
                                "type": "integer"
                            },
                            "properties": {
                                "description": "Properties specific to an emulator",
                                "type": "object"
                            },
                            "node_id": {
                                "maxLength": 36,
                                "minLength": 36,
                                "description": "Node UUID",
                                "type": "string",
                                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                            },
                            "console": {
                                "minimum": 1,
                                "description": "Console TCP port",
                                "type": [
                                    "integer",
                                    "null"
                                ],
                                "maximum": 65535
                            },
                            "z": {
                                "description": "Z position of the node",
                                "type": "integer"
                            },
                            "width": {
                                "description": "Width of the node (Read only)",
                                "type": "integer"
                            }
                        },
                        "description": "A node object",
                        "type": "object",
                        "$schema": "http://json-schema.org/draft-04/schema#",
                        "additionalProperties": false,
                        "required": [
                            "name",
                            "node_type",
                            "compute_id"
                        ]
                    },
                    "description": "Nodes elements",
                    "type": "array"
                }
            },
            "description": "The topology content",
            "type": "object",
            "required": [
                "nodes",
                "links",
                "drawings",
                "computes"
            ]
        },
        "auto_start": {
            "description": "Start the topology when opened",
            "type": "boolean"
        },
        "revision": {
            "description": "Version of the .gns3 specification.",
            "type": "integer"
        },
        "show_layers": {
            "description": "Show layers on the drawing area",
            "type": "boolean"
        },
        "supplier": {
            "properties": {
                "url": {
                    "description": "URL to the project supplier site",
                    "type": "string"
                },
                "logo": {
                    "description": "Path to the project supplier logo",
                    "type": "string"
                }
            },
            "description": "Supplier of the project",
            "type": [
                "object",
                "null"
            ]
        },
        "name": {
            "description": "Name of the project",
            "type": "string"
        },
        "auto_close": {
            "description": "Close the topology when no client is connected",
            "type": "boolean"
        },
        "grid_size": {
            "description": "Grid size for the drawing area",
            "type": "integer"
        },
        "scene_height": {
            "description": "Height of the drawing area",
            "type": "integer"
        },
        "project_id": {
            "maxLength": 36,
            "minLength": 36,
            "description": "Project UUID",
            "type": "string",
            "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "zoom": {
            "description": "Zoom of the drawing area",
            "type": "integer"
        },
        "variables": {
            "items": {
                "properties": {
                    "name": {
                        "description": "Variable name",
                        "type": "string"
                    },
                    "value": {
                        "description": "Variable value",
                        "type": "string"
                    }
                },
                "required": [
                    "name"
                ]
            },
            "description": "Variables required to run the project",
            "type": [
                "array",
                "null"
            ]
        },
        "version": {
            "description": "Version of the GNS3 software which have update the file for the last time",
            "type": "string"
        },
        "type": {
            "description": "Type of file. It's always topology",
            "enum": [
                "topology"
            ]
        },
        "auto_open": {
            "description": "Open the topology with GNS3",
            "type": "boolean"
        },
        "show_interface_labels": {
            "description": "Show interface labels on the drawing area",
            "type": "boolean"
        },
        "snap_to_grid": {
            "description": "Snap to grid on the drawing area",
            "type": "boolean"
        },
        "scene_width": {
            "description": "Width of the drawing area",
            "type": "integer"
        }
    },
    "description": "The topology",
    "type": "object",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "required": [
        "project_id",
        "type",
        "revision",
        "version",
        "name",
        "topology"
    ]
}

.net files

Topology files made for GNS3 <= version 1.0. Not supported.

.gns3p or .gns3project files

This this a zipped version of a.gns3 file and includes all the required files to easily share a project. The binary images can optionally be included.

The zip can be a ZIP64 if the project is too big for standard zip file.

.gns3a or .gns3appliance files

These files contain everything needed to create a new appliance template in GNS3.

A JSON schema is available there: https://github.com/GNS3/gns3-registry/blob/master/schemas/appliance.json

And samples there: https://github.com/GNS3/gns3-registry/tree/master/appliances