diff --git a/docs/api/examples/delete_projectsprojectid.txt b/docs/api/examples/delete_projectsprojectid.txt
index d48bdd35..45efff6c 100644
--- a/docs/api/examples/delete_projectsprojectid.txt
+++ b/docs/api/examples/delete_projectsprojectid.txt
@@ -5,9 +5,9 @@ DELETE /projects/{project_id} HTTP/1.1
HTTP/1.1 204
-CONNECTION: close
+CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
-SERVER: Python/3.4 aiohttp/0.13.1
+SERVER: Python/3.4 GNS3/1.3.dev1
X-ROUTE: /v1/projects/{project_id}
diff --git a/docs/api/examples/delete_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/delete_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt
new file mode 100644
index 00000000..f8aa407f
--- /dev/null
+++ b/docs/api/examples/delete_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt
@@ -0,0 +1,13 @@
+curl -i -X DELETE 'http://localhost:8000/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio'
+
+DELETE /projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio HTTP/1.1
+
+
+
+HTTP/1.1 204
+CONNECTION: keep-alive
+CONTENT-LENGTH: 0
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
+
diff --git a/docs/api/examples/delete_projectsprojectidvirtualboxvmsvmidadaptersadapteriddportsportiddnio.txt b/docs/api/examples/delete_projectsprojectidvirtualboxvmsvmidadaptersadapteriddportsportiddnio.txt
new file mode 100644
index 00000000..0c732706
--- /dev/null
+++ b/docs/api/examples/delete_projectsprojectidvirtualboxvmsvmidadaptersadapteriddportsportiddnio.txt
@@ -0,0 +1,13 @@
+curl -i -X DELETE 'http://localhost:8000/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/ports/{port_id:\d+}/nio'
+
+DELETE /projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/ports/{port_id:\d+}/nio HTTP/1.1
+
+
+
+HTTP/1.1 204
+CONNECTION: keep-alive
+CONTENT-LENGTH: 0
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/ports/{port_id:\d+}/nio
+
diff --git a/docs/api/examples/delete_projectsprojectidvpcsvmsvmidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/delete_projectsprojectidvpcsvmsvmidadaptersadapternumberdportsportnumberdnio.txt
new file mode 100644
index 00000000..6842905a
--- /dev/null
+++ b/docs/api/examples/delete_projectsprojectidvpcsvmsvmidadaptersadapternumberdportsportnumberdnio.txt
@@ -0,0 +1,13 @@
+curl -i -X DELETE 'http://localhost:8000/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio'
+
+DELETE /projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio HTTP/1.1
+
+
+
+HTTP/1.1 204
+CONNECTION: keep-alive
+CONTENT-LENGTH: 0
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
+
diff --git a/docs/api/examples/get_interfaces.txt b/docs/api/examples/get_interfaces.txt
index f0566cea..7ac8c74d 100644
--- a/docs/api/examples/get_interfaces.txt
+++ b/docs/api/examples/get_interfaces.txt
@@ -5,32 +5,56 @@ GET /interfaces HTTP/1.1
HTTP/1.1 200
-CONNECTION: close
-CONTENT-LENGTH: 298
+CONNECTION: keep-alive
+CONTENT-LENGTH: 652
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
-SERVER: Python/3.4 aiohttp/0.13.1
+SERVER: Python/3.4 GNS3/1.3.dev1
X-ROUTE: /v1/interfaces
[
{
- "id": "lo",
- "name": "lo"
+ "id": "lo0",
+ "name": "lo0"
},
{
- "id": "eth0",
- "name": "eth0"
+ "id": "gif0",
+ "name": "gif0"
},
{
- "id": "wlan0",
- "name": "wlan0"
+ "id": "stf0",
+ "name": "stf0"
},
{
- "id": "vmnet1",
- "name": "vmnet1"
+ "id": "en0",
+ "name": "en0"
},
{
- "id": "vmnet8",
- "name": "vmnet8"
+ "id": "en1",
+ "name": "en1"
+ },
+ {
+ "id": "fw0",
+ "name": "fw0"
+ },
+ {
+ "id": "en2",
+ "name": "en2"
+ },
+ {
+ "id": "p2p0",
+ "name": "p2p0"
+ },
+ {
+ "id": "bridge0",
+ "name": "bridge0"
+ },
+ {
+ "id": "vboxnet0",
+ "name": "vboxnet0"
+ },
+ {
+ "id": "vboxnet1",
+ "name": "vboxnet1"
}
]
diff --git a/docs/api/examples/get_projectsprojectid.txt b/docs/api/examples/get_projectsprojectid.txt
index 035e8487..1c1716fd 100644
--- a/docs/api/examples/get_projectsprojectid.txt
+++ b/docs/api/examples/get_projectsprojectid.txt
@@ -5,16 +5,16 @@ GET /projects/{project_id} HTTP/1.1
HTTP/1.1 200
-CONNECTION: close
-CONTENT-LENGTH: 165
+CONNECTION: keep-alive
+CONTENT-LENGTH: 277
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
-SERVER: Python/3.4 aiohttp/0.13.1
+SERVER: Python/3.4 GNS3/1.3.dev1
X-ROUTE: /v1/projects/{project_id}
{
- "location": "/tmp",
- "path": "/tmp/00010203-0405-0607-0809-0a0b0c0d0e0f",
+ "location": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp95msfptc",
+ "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp95msfptc/00010203-0405-0607-0809-0a0b0c0d0e0f",
"project_id": "00010203-0405-0607-0809-0a0b0c0d0e0f",
"temporary": false
}
diff --git a/docs/api/examples/get_projectsprojectidiouvmsvmid.txt b/docs/api/examples/get_projectsprojectidiouvmsvmid.txt
new file mode 100644
index 00000000..0e1faa6c
--- /dev/null
+++ b/docs/api/examples/get_projectsprojectidiouvmsvmid.txt
@@ -0,0 +1,26 @@
+curl -i -X GET 'http://localhost:8000/projects/{project_id}/iou/vms/{vm_id}'
+
+GET /projects/{project_id}/iou/vms/{vm_id} HTTP/1.1
+
+
+
+HTTP/1.1 200
+CONNECTION: keep-alive
+CONTENT-LENGTH: 381
+CONTENT-TYPE: application/json
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}
+
+{
+ "console": 2000,
+ "ethernet_adapters": 2,
+ "l1_keepalives": false,
+ "name": "PC TEST 1",
+ "nvram": 128,
+ "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-2249/test_iou_get0/iou.bin",
+ "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
+ "ram": 256,
+ "serial_adapters": 2,
+ "vm_id": "3ab57efc-4016-4898-ac4c-6e804ed8d429"
+}
diff --git a/docs/api/examples/get_projectsprojectidvirtualboxvmsvmid.txt b/docs/api/examples/get_projectsprojectidvirtualboxvmsvmid.txt
new file mode 100644
index 00000000..cbb4296b
--- /dev/null
+++ b/docs/api/examples/get_projectsprojectidvirtualboxvmsvmid.txt
@@ -0,0 +1,26 @@
+curl -i -X GET 'http://localhost:8000/projects/{project_id}/virtualbox/vms/{vm_id}'
+
+GET /projects/{project_id}/virtualbox/vms/{vm_id} HTTP/1.1
+
+
+
+HTTP/1.1 200
+CONNECTION: keep-alive
+CONTENT-LENGTH: 347
+CONTENT-TYPE: application/json
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}
+
+{
+ "adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
+ "adapters": 0,
+ "console": 2001,
+ "enable_remote_console": false,
+ "headless": false,
+ "name": "VMTEST",
+ "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
+ "use_any_adapter": false,
+ "vm_id": "3e6ed300-eefc-4582-80f0-acbdba7e2b9b",
+ "vmname": "VMTEST"
+}
diff --git a/docs/api/examples/get_projectsprojectidvpcsvmsvmid.txt b/docs/api/examples/get_projectsprojectidvpcsvmsvmid.txt
new file mode 100644
index 00000000..36365cd4
--- /dev/null
+++ b/docs/api/examples/get_projectsprojectidvpcsvmsvmid.txt
@@ -0,0 +1,21 @@
+curl -i -X GET 'http://localhost:8000/projects/{project_id}/vpcs/vms/{vm_id}'
+
+GET /projects/{project_id}/vpcs/vms/{vm_id} HTTP/1.1
+
+
+
+HTTP/1.1 200
+CONNECTION: keep-alive
+CONTENT-LENGTH: 187
+CONTENT-TYPE: application/json
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}
+
+{
+ "console": 2009,
+ "name": "PC TEST 1",
+ "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
+ "startup_script": null,
+ "vm_id": "b4ff501b-c24d-4f0c-854b-8163e31b9a8e"
+}
diff --git a/docs/api/examples/get_version.txt b/docs/api/examples/get_version.txt
index ddf810d1..88017034 100644
--- a/docs/api/examples/get_version.txt
+++ b/docs/api/examples/get_version.txt
@@ -5,11 +5,11 @@ GET /version HTTP/1.1
HTTP/1.1 200
-CONNECTION: close
+CONNECTION: keep-alive
CONTENT-LENGTH: 29
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
-SERVER: Python/3.4 aiohttp/0.13.1
+SERVER: Python/3.4 GNS3/1.3.dev1
X-ROUTE: /v1/version
{
diff --git a/docs/api/examples/post_portsudp.txt b/docs/api/examples/post_portsudp.txt
index 828df022..3be4b74c 100644
--- a/docs/api/examples/post_portsudp.txt
+++ b/docs/api/examples/post_portsudp.txt
@@ -5,11 +5,11 @@ POST /ports/udp HTTP/1.1
HTTP/1.1 201
-CONNECTION: close
+CONNECTION: keep-alive
CONTENT-LENGTH: 25
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
-SERVER: Python/3.4 aiohttp/0.13.1
+SERVER: Python/3.4 GNS3/1.3.dev1
X-ROUTE: /v1/ports/udp
{
diff --git a/docs/api/examples/post_projectsprojectidclose.txt b/docs/api/examples/post_projectsprojectidclose.txt
index 66366b9c..bcc429c9 100644
--- a/docs/api/examples/post_projectsprojectidclose.txt
+++ b/docs/api/examples/post_projectsprojectidclose.txt
@@ -5,9 +5,9 @@ POST /projects/{project_id}/close HTTP/1.1
HTTP/1.1 204
-CONNECTION: close
+CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
-SERVER: Python/3.4 aiohttp/0.13.1
+SERVER: Python/3.4 GNS3/1.3.dev1
X-ROUTE: /v1/projects/{project_id}/close
diff --git a/docs/api/examples/post_projectsprojectidcommit.txt b/docs/api/examples/post_projectsprojectidcommit.txt
index b17f5a85..0b36f05d 100644
--- a/docs/api/examples/post_projectsprojectidcommit.txt
+++ b/docs/api/examples/post_projectsprojectidcommit.txt
@@ -5,9 +5,9 @@ POST /projects/{project_id}/commit HTTP/1.1
HTTP/1.1 204
-CONNECTION: close
+CONNECTION: keep-alive
CONTENT-LENGTH: 0
DATE: Thu, 08 Jan 2015 16:09:15 GMT
-SERVER: Python/3.4 aiohttp/0.13.1
+SERVER: Python/3.4 GNS3/1.3.dev1
X-ROUTE: /v1/projects/{project_id}/commit
diff --git a/docs/api/examples/post_projectsprojectidiouvms.txt b/docs/api/examples/post_projectsprojectidiouvms.txt
new file mode 100644
index 00000000..72501ea2
--- /dev/null
+++ b/docs/api/examples/post_projectsprojectidiouvms.txt
@@ -0,0 +1,35 @@
+curl -i -X POST 'http://localhost:8000/projects/{project_id}/iou/vms' -d '{"ethernet_adapters": 0, "iourc_path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-2249/test_iou_create_with_params0/iourc", "l1_keepalives": true, "name": "PC TEST 1", "nvram": 512, "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-2249/test_iou_create_with_params0/iou.bin", "ram": 1024, "serial_adapters": 4}'
+
+POST /projects/{project_id}/iou/vms HTTP/1.1
+{
+ "ethernet_adapters": 0,
+ "iourc_path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-2249/test_iou_create_with_params0/iourc",
+ "l1_keepalives": true,
+ "name": "PC TEST 1",
+ "nvram": 512,
+ "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-2249/test_iou_create_with_params0/iou.bin",
+ "ram": 1024,
+ "serial_adapters": 4
+}
+
+
+HTTP/1.1 201
+CONNECTION: keep-alive
+CONTENT-LENGTH: 396
+CONTENT-TYPE: application/json
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/iou/vms
+
+{
+ "console": 2000,
+ "ethernet_adapters": 0,
+ "l1_keepalives": true,
+ "name": "PC TEST 1",
+ "nvram": 512,
+ "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-2249/test_iou_create_with_params0/iou.bin",
+ "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
+ "ram": 1024,
+ "serial_adapters": 4,
+ "vm_id": "b6a61d51-7225-4f4a-904a-54c8a8917b87"
+}
diff --git a/docs/api/examples/post_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/post_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt
new file mode 100644
index 00000000..5940e201
--- /dev/null
+++ b/docs/api/examples/post_projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.txt
@@ -0,0 +1,21 @@
+curl -i -X POST 'http://localhost:8000/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio' -d '{"ethernet_device": "eth0", "type": "nio_generic_ethernet"}'
+
+POST /projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio HTTP/1.1
+{
+ "ethernet_device": "eth0",
+ "type": "nio_generic_ethernet"
+}
+
+
+HTTP/1.1 201
+CONNECTION: keep-alive
+CONTENT-LENGTH: 69
+CONTENT-TYPE: application/json
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
+
+{
+ "ethernet_device": "eth0",
+ "type": "nio_generic_ethernet"
+}
diff --git a/docs/api/examples/post_projectsprojectidvirtualboxvms.txt b/docs/api/examples/post_projectsprojectidvirtualboxvms.txt
new file mode 100644
index 00000000..9509fef5
--- /dev/null
+++ b/docs/api/examples/post_projectsprojectidvirtualboxvms.txt
@@ -0,0 +1,30 @@
+curl -i -X POST 'http://localhost:8000/projects/{project_id}/virtualbox/vms' -d '{"linked_clone": false, "name": "VM1", "vmname": "VM1"}'
+
+POST /projects/{project_id}/virtualbox/vms HTTP/1.1
+{
+ "linked_clone": false,
+ "name": "VM1",
+ "vmname": "VM1"
+}
+
+
+HTTP/1.1 201
+CONNECTION: keep-alive
+CONTENT-LENGTH: 341
+CONTENT-TYPE: application/json
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/virtualbox/vms
+
+{
+ "adapter_type": "Intel PRO/1000 MT Desktop (82540EM)",
+ "adapters": 0,
+ "console": 2000,
+ "enable_remote_console": false,
+ "headless": false,
+ "name": "VM1",
+ "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
+ "use_any_adapter": false,
+ "vm_id": "7abbfc73-3d92-4e31-a99c-3b9519b2e0e8",
+ "vmname": "VM1"
+}
diff --git a/docs/api/examples/post_projectsprojectidvirtualboxvmsvmidadaptersadapteriddportsportiddnio.txt b/docs/api/examples/post_projectsprojectidvirtualboxvmsvmidadaptersadapteriddportsportiddnio.txt
new file mode 100644
index 00000000..a2be8b22
--- /dev/null
+++ b/docs/api/examples/post_projectsprojectidvirtualboxvmsvmidadaptersadapteriddportsportiddnio.txt
@@ -0,0 +1,25 @@
+curl -i -X POST 'http://localhost:8000/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/ports/{port_id:\d+}/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
+
+POST /projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/ports/{port_id:\d+}/nio HTTP/1.1
+{
+ "lport": 4242,
+ "rhost": "127.0.0.1",
+ "rport": 4343,
+ "type": "nio_udp"
+}
+
+
+HTTP/1.1 201
+CONNECTION: keep-alive
+CONTENT-LENGTH: 89
+CONTENT-TYPE: application/json
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/ports/{port_id:\d+}/nio
+
+{
+ "lport": 4242,
+ "rhost": "127.0.0.1",
+ "rport": 4343,
+ "type": "nio_udp"
+}
diff --git a/docs/api/examples/post_projectsprojectidvpcsvms.txt b/docs/api/examples/post_projectsprojectidvpcsvms.txt
new file mode 100644
index 00000000..d3309113
--- /dev/null
+++ b/docs/api/examples/post_projectsprojectidvpcsvms.txt
@@ -0,0 +1,23 @@
+curl -i -X POST 'http://localhost:8000/projects/{project_id}/vpcs/vms' -d '{"name": "PC TEST 1"}'
+
+POST /projects/{project_id}/vpcs/vms HTTP/1.1
+{
+ "name": "PC TEST 1"
+}
+
+
+HTTP/1.1 201
+CONNECTION: keep-alive
+CONTENT-LENGTH: 187
+CONTENT-TYPE: application/json
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/vpcs/vms
+
+{
+ "console": 2009,
+ "name": "PC TEST 1",
+ "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
+ "startup_script": null,
+ "vm_id": "b481d455-16d3-450f-bcec-afdf1ec0c682"
+}
diff --git a/docs/api/examples/post_projectsprojectidvpcsvmsvmidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/post_projectsprojectidvpcsvmsvmidadaptersadapternumberdportsportnumberdnio.txt
new file mode 100644
index 00000000..e55c4ace
--- /dev/null
+++ b/docs/api/examples/post_projectsprojectidvpcsvmsvmidadaptersadapternumberdportsportnumberdnio.txt
@@ -0,0 +1,25 @@
+curl -i -X POST 'http://localhost:8000/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}'
+
+POST /projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio HTTP/1.1
+{
+ "lport": 4242,
+ "rhost": "127.0.0.1",
+ "rport": 4343,
+ "type": "nio_udp"
+}
+
+
+HTTP/1.1 201
+CONNECTION: keep-alive
+CONTENT-LENGTH: 89
+CONTENT-TYPE: application/json
+DATE: Thu, 08 Jan 2015 16:09:15 GMT
+SERVER: Python/3.4 GNS3/1.3.dev1
+X-ROUTE: /v1/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
+
+{
+ "lport": 4242,
+ "rhost": "127.0.0.1",
+ "rport": 4343,
+ "type": "nio_udp"
+}
diff --git a/docs/api/examples/post_version.txt b/docs/api/examples/post_version.txt
index b6f654df..2f6c1452 100644
--- a/docs/api/examples/post_version.txt
+++ b/docs/api/examples/post_version.txt
@@ -7,11 +7,11 @@ POST /version HTTP/1.1
HTTP/1.1 200
-CONNECTION: close
+CONNECTION: keep-alive
CONTENT-LENGTH: 29
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
-SERVER: Python/3.4 aiohttp/0.13.1
+SERVER: Python/3.4 GNS3/1.3.dev1
X-ROUTE: /v1/version
{
diff --git a/docs/api/examples/put_projectsprojectid.txt b/docs/api/examples/put_projectsprojectid.txt
index 43cf8961..0e7f4503 100644
--- a/docs/api/examples/put_projectsprojectid.txt
+++ b/docs/api/examples/put_projectsprojectid.txt
@@ -1,20 +1,20 @@
-curl -i -X PUT 'http://localhost:8000/projects/{project_id}' -d '{"path": "/tmp/pytest-48/test_update_path_project_non_l0"}'
+curl -i -X PUT 'http://localhost:8000/projects/{project_id}' -d '{"path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-2249/test_update_path_project_non_l0"}'
PUT /projects/{project_id} HTTP/1.1
{
- "path": "/tmp/pytest-48/test_update_path_project_non_l0"
+ "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-2249/test_update_path_project_non_l0"
}
HTTP/1.1 403
-CONNECTION: close
-CONTENT-LENGTH: 101
+CONNECTION: keep-alive
+CONTENT-LENGTH: 100
CONTENT-TYPE: application/json
DATE: Thu, 08 Jan 2015 16:09:15 GMT
-SERVER: Python/3.4 aiohttp/0.13.1
+SERVER: Python/3.4 GNS3/1.3.dev1
X-ROUTE: /v1/projects/{project_id}
{
- "message": "You are not allowed to modifiy the project directory location",
+ "message": "You are not allowed to modify the project directory location",
"status": 403
}
diff --git a/docs/api/v1interfaces.rst b/docs/api/v1interfaces.rst
index fc32b2ee..73042f7d 100644
--- a/docs/api/v1interfaces.rst
+++ b/docs/api/v1interfaces.rst
@@ -1,10 +1,10 @@
/v1/interfaces
------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/interfaces
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
List all the network interfaces available on the server
Response status codes
diff --git a/docs/api/v1portsudp.rst b/docs/api/v1portsudp.rst
index 3451314a..69d90882 100644
--- a/docs/api/v1portsudp.rst
+++ b/docs/api/v1portsudp.rst
@@ -1,10 +1,10 @@
/v1/ports/udp
------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/ports/udp
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allocate an UDP port on the server
Response status codes
diff --git a/docs/api/v1projects.rst b/docs/api/v1projects.rst
index c1fa393c..fadee814 100644
--- a/docs/api/v1projects.rst
+++ b/docs/api/v1projects.rst
@@ -1,10 +1,10 @@
/v1/projects
------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create a new project on the server
Response status codes
@@ -17,7 +17,7 @@ Input
Name | Mandatory | Type | Description |
- location | | string | Base directory where the project should be created on remote server |
+ path | | ['string', 'null'] | Project directory |
project_id | | ['string', 'null'] | Project UUID |
temporary | | boolean | If project is a temporary project |
diff --git a/docs/api/v1projectsprojectid.rst b/docs/api/v1projectsprojectid.rst
index 0ad7f43e..4881beae 100644
--- a/docs/api/v1projectsprojectid.rst
+++ b/docs/api/v1projectsprojectid.rst
@@ -1,10 +1,10 @@
/v1/projects/{project_id}
------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/projects/**{project_id}**
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get project information
Parameters
@@ -30,7 +30,7 @@ Output
PUT /v1/projects/**{project_id}**
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Update a project
Parameters
@@ -67,7 +67,7 @@ Output
DELETE /v1/projects/**{project_id}**
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Delete a project from disk
Parameters
diff --git a/docs/api/v1projectsprojectidclose.rst b/docs/api/v1projectsprojectidclose.rst
index e9b4feb8..e3d9e87c 100644
--- a/docs/api/v1projectsprojectidclose.rst
+++ b/docs/api/v1projectsprojectidclose.rst
@@ -1,10 +1,10 @@
/v1/projects/{project_id}/close
------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/close
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Close a project
Parameters
diff --git a/docs/api/v1projectsprojectidcommit.rst b/docs/api/v1projectsprojectidcommit.rst
index 4909e569..a3e0aac5 100644
--- a/docs/api/v1projectsprojectidcommit.rst
+++ b/docs/api/v1projectsprojectidcommit.rst
@@ -1,10 +1,10 @@
/v1/projects/{project_id}/commit
------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------
.. contents::
POST /v1/projects/**{project_id}**/commit
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Write changes on disk
Parameters
diff --git a/docs/api/v1projectsprojectiddynamipsvms.rst b/docs/api/v1projectsprojectiddynamipsvms.rst
new file mode 100644
index 00000000..0479e826
--- /dev/null
+++ b/docs/api/v1projectsprojectiddynamipsvms.rst
@@ -0,0 +1,116 @@
+/v1/projects/{project_id}/dynamips/vms
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/dynamips/vms
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Create a new Dynamips VM instance
+
+Parameters
+**********
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **201**: Instance created
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ aux | | integer | auxiliary console TCP port |
+ clock_divisor | | integer | clock divisor |
+ confreg | | string | configuration register |
+ console | | integer | console TCP port |
+ 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 |
+ 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 | platform |
+ power_supplies | | array | Power supplies status |
+ private_config | | string | path to the IOS private configuration file |
+ private_config_base64 | | string | private configuration base64 encoded |
+ 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 | | string | path to the IOS startup configuration file |
+ startup_config_base64 | | string | startup configuration base64 encoded |
+ system_id | | string | system ID |
+ vm_id | | | Dynamips VM instance identifier |
+ wic0 | | | Network module WIC slot 0 |
+ wic1 | | | Network module WIC slot 0 |
+ wic2 | | | Network module WIC slot 0 |
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ aux | | integer | auxiliary console TCP port |
+ clock_divisor | | integer | clock divisor |
+ confreg | | string | configuration register |
+ console | | integer | console TCP port |
+ 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 |
+ 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 | platform |
+ power_supplies | | array | Power supplies status |
+ private_config | | string | path to the IOS private configuration file |
+ private_config_base64 | | string | private configuration base64 encoded |
+ 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 |
+ startup_config | | string | path to the IOS startup configuration file |
+ startup_config_base64 | | string | startup configuration base64 encoded |
+ system_id | | string | system ID |
+ vm_id | ✔ | string | Dynamips router instance UUID |
+ wic0 | | | Network module WIC slot 0 |
+ wic1 | | | Network module WIC slot 0 |
+ wic2 | | | Network module WIC slot 0 |
+
+
diff --git a/docs/api/v1projectsprojectiddynamipsvmsvmid.rst b/docs/api/v1projectsprojectiddynamipsvmsvmid.rst
new file mode 100644
index 00000000..07b207ac
--- /dev/null
+++ b/docs/api/v1projectsprojectiddynamipsvmsvmid.rst
@@ -0,0 +1,197 @@
+/v1/projects/{project_id}/dynamips/vms/{vm_id}
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+GET /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Get a Dynamips VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **200**: Success
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ aux | | integer | auxiliary console TCP port |
+ clock_divisor | | integer | clock divisor |
+ confreg | | string | configuration register |
+ console | | integer | console TCP port |
+ 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 |
+ 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 | platform |
+ power_supplies | | array | Power supplies status |
+ private_config | | string | path to the IOS private configuration file |
+ private_config_base64 | | string | private configuration base64 encoded |
+ 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 |
+ startup_config | | string | path to the IOS startup configuration file |
+ startup_config_base64 | | string | startup configuration base64 encoded |
+ system_id | | string | system ID |
+ vm_id | ✔ | string | Dynamips router instance UUID |
+ wic0 | | | Network module WIC slot 0 |
+ wic1 | | | Network module WIC slot 0 |
+ wic2 | | | Network module WIC slot 0 |
+
+
+
+PUT /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Update a Dynamips VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **200**: Instance updated
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ aux | | integer | auxiliary console TCP port |
+ clock_divisor | | integer | clock divisor |
+ confreg | | string | configuration register |
+ console | | integer | console TCP port |
+ disk0 | | integer | disk0 size in MB |
+ disk1 | | integer | disk1 size in MB |
+ 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 |
+ 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 | platform |
+ power_supplies | | array | Power supplies status |
+ private_config | | string | path to the IOS private configuration file |
+ private_config_base64 | | string | private configuration base64 encoded |
+ 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 | | string | path to the IOS startup configuration file |
+ startup_config_base64 | | string | startup configuration base64 encoded |
+ system_id | | string | system ID |
+ wic0 | | | Network module WIC slot 0 |
+ wic1 | | | Network module WIC slot 0 |
+ wic2 | | | Network module WIC slot 0 |
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ aux | | integer | auxiliary console TCP port |
+ clock_divisor | | integer | clock divisor |
+ confreg | | string | configuration register |
+ console | | integer | console TCP port |
+ 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 |
+ 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 | platform |
+ power_supplies | | array | Power supplies status |
+ private_config | | string | path to the IOS private configuration file |
+ private_config_base64 | | string | private configuration base64 encoded |
+ 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 |
+ startup_config | | string | path to the IOS startup configuration file |
+ startup_config_base64 | | string | startup configuration base64 encoded |
+ system_id | | string | system ID |
+ vm_id | ✔ | string | Dynamips router instance UUID |
+ wic0 | | | Network module WIC slot 0 |
+ wic1 | | | Network module WIC slot 0 |
+ wic2 | | | Network module WIC slot 0 |
+
+
+
+DELETE /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Delete a Dynamips VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance deleted
+
diff --git a/docs/api/v1projectsprojectiddynamipsvmsvmidreload.rst b/docs/api/v1projectsprojectiddynamipsvmsvmidreload.rst
new file mode 100644
index 00000000..a1544bf0
--- /dev/null
+++ b/docs/api/v1projectsprojectiddynamipsvmsvmidreload.rst
@@ -0,0 +1,20 @@
+/v1/projects/{project_id}/dynamips/vms/{vm_id}/reload
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/reload
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Reload a Dynamips VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance reloaded
+
diff --git a/docs/api/v1projectsprojectiddynamipsvmsvmidresume.rst b/docs/api/v1projectsprojectiddynamipsvmsvmidresume.rst
new file mode 100644
index 00000000..9e5ca67c
--- /dev/null
+++ b/docs/api/v1projectsprojectiddynamipsvmsvmidresume.rst
@@ -0,0 +1,20 @@
+/v1/projects/{project_id}/dynamips/vms/{vm_id}/resume
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/resume
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Resume a suspended Dynamips VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance resumed
+
diff --git a/docs/api/v1projectsprojectiddynamipsvmsvmidstart.rst b/docs/api/v1projectsprojectiddynamipsvmsvmidstart.rst
new file mode 100644
index 00000000..446d6bca
--- /dev/null
+++ b/docs/api/v1projectsprojectiddynamipsvmsvmidstart.rst
@@ -0,0 +1,20 @@
+/v1/projects/{project_id}/dynamips/vms/{vm_id}/start
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/start
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Start a Dynamips VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance started
+
diff --git a/docs/api/v1projectsprojectiddynamipsvmsvmidstop.rst b/docs/api/v1projectsprojectiddynamipsvmsvmidstop.rst
new file mode 100644
index 00000000..9663fc78
--- /dev/null
+++ b/docs/api/v1projectsprojectiddynamipsvmsvmidstop.rst
@@ -0,0 +1,20 @@
+/v1/projects/{project_id}/dynamips/vms/{vm_id}/stop
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/stop
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Stop a Dynamips VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance stopped
+
diff --git a/docs/api/v1projectsprojectiddynamipsvmsvmidsuspend.rst b/docs/api/v1projectsprojectiddynamipsvmsvmidsuspend.rst
new file mode 100644
index 00000000..d53b213f
--- /dev/null
+++ b/docs/api/v1projectsprojectiddynamipsvmsvmidsuspend.rst
@@ -0,0 +1,20 @@
+/v1/projects/{project_id}/dynamips/vms/{vm_id}/suspend
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/dynamips/vms/**{vm_id}**/suspend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Suspend a Dynamips VM instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance suspended
+
diff --git a/docs/api/v1projectsprojectidiouvms.rst b/docs/api/v1projectsprojectidiouvms.rst
new file mode 100644
index 00000000..a462804a
--- /dev/null
+++ b/docs/api/v1projectsprojectidiouvms.rst
@@ -0,0 +1,55 @@
+/v1/projects/{project_id}/iou/vms
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/iou/vms
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Create a new IOU instance
+
+Parameters
+**********
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **201**: Instance created
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | | ['integer', 'null'] | console TCP port |
+ ethernet_adapters | | integer | How many ethernet adapters are connected to the IOU |
+ iourc_path | | string | Path of iourc |
+ l1_keepalives | | ['boolean', 'null'] | Always up ethernet interface |
+ name | ✔ | string | IOU VM name |
+ nvram | | ['integer', 'null'] | Allocated NVRAM KB |
+ path | ✔ | string | Path of iou binary |
+ ram | | ['integer', 'null'] | Allocated RAM MB |
+ serial_adapters | | integer | How many serial adapters are connected to the IOU |
+ vm_id | | | IOU VM identifier |
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | ✔ | integer | console TCP port |
+ ethernet_adapters | ✔ | integer | How many ethernet adapters are connected to the IOU |
+ l1_keepalives | ✔ | boolean | Always up ethernet interface |
+ name | ✔ | string | IOU VM name |
+ 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 |
+ vm_id | ✔ | string | IOU VM UUID |
+
+
diff --git a/docs/api/v1projectsprojectidiouvmsvmid.rst b/docs/api/v1projectsprojectidiouvmsvmid.rst
new file mode 100644
index 00000000..30935bbd
--- /dev/null
+++ b/docs/api/v1projectsprojectidiouvmsvmid.rst
@@ -0,0 +1,107 @@
+/v1/projects/{project_id}/iou/vms/{vm_id}
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+GET /v1/projects/**{project_id}**/iou/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Get a IOU instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **200**: Success
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | ✔ | integer | console TCP port |
+ ethernet_adapters | ✔ | integer | How many ethernet adapters are connected to the IOU |
+ l1_keepalives | ✔ | boolean | Always up ethernet interface |
+ name | ✔ | string | IOU VM name |
+ 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 |
+ vm_id | ✔ | string | IOU VM UUID |
+
+
+
+PUT /v1/projects/**{project_id}**/iou/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Update a IOU instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **200**: Instance updated
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | | ['integer', 'null'] | console TCP port |
+ ethernet_adapters | | ['integer', 'null'] | How many ethernet adapters are connected to the IOU |
+ initial_config | | ['string', 'null'] | Initial configuration path |
+ iourc_path | | ['string', 'null'] | Path of iourc |
+ l1_keepalives | | ['boolean', 'null'] | Always up ethernet interface |
+ name | | ['string', 'null'] | IOU VM name |
+ nvram | | ['integer', 'null'] | Allocated NVRAM KB |
+ path | | ['string', 'null'] | Path of iou binary |
+ ram | | ['integer', 'null'] | Allocated RAM MB |
+ serial_adapters | | ['integer', 'null'] | How many serial adapters are connected to the IOU |
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name | Mandatory | Type | Description |
+ console | ✔ | integer | console TCP port |
+ ethernet_adapters | ✔ | integer | How many ethernet adapters are connected to the IOU |
+ l1_keepalives | ✔ | boolean | Always up ethernet interface |
+ name | ✔ | string | IOU VM name |
+ 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 |
+ vm_id | ✔ | string | IOU VM UUID |
+
+
+
+DELETE /v1/projects/**{project_id}**/iou/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Delete a IOU instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance deleted
+
diff --git a/docs/api/v1projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v1projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.rst
new file mode 100644
index 00000000..68065488
--- /dev/null
+++ b/docs/api/v1projectsprojectidiouvmsvmidadaptersadapternumberdportsportnumberdnio.rst
@@ -0,0 +1,40 @@
+/v1/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Add a NIO to a IOU instance
+
+Parameters
+**********
+- **port_number**: Port where the nio should be added
+- **adapter_number**: Network adapter where the nio is located
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **201**: NIO created
+- **404**: Instance doesn't exist
+
+
+DELETE /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Remove a NIO from a IOU instance
+
+Parameters
+**********
+- **port_number**: Port from where the nio should be removed
+- **adapter_number**: Network adapter where the nio is located
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: NIO deleted
+
diff --git a/docs/api/v1projectsprojectidiouvmsvmidreload.rst b/docs/api/v1projectsprojectidiouvmsvmidreload.rst
new file mode 100644
index 00000000..33c1d767
--- /dev/null
+++ b/docs/api/v1projectsprojectidiouvmsvmidreload.rst
@@ -0,0 +1,20 @@
+/v1/projects/{project_id}/iou/vms/{vm_id}/reload
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/reload
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Reload a IOU instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance reloaded
+
diff --git a/docs/api/v1projectsprojectidiouvmsvmidstart.rst b/docs/api/v1projectsprojectidiouvmsvmidstart.rst
new file mode 100644
index 00000000..3956f666
--- /dev/null
+++ b/docs/api/v1projectsprojectidiouvmsvmidstart.rst
@@ -0,0 +1,20 @@
+/v1/projects/{project_id}/iou/vms/{vm_id}/start
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/start
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Start a IOU instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance started
+
diff --git a/docs/api/v1projectsprojectidiouvmsvmidstop.rst b/docs/api/v1projectsprojectidiouvmsvmidstop.rst
new file mode 100644
index 00000000..860b566d
--- /dev/null
+++ b/docs/api/v1projectsprojectidiouvmsvmidstop.rst
@@ -0,0 +1,20 @@
+/v1/projects/{project_id}/iou/vms/{vm_id}/stop
+-----------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v1/projects/**{project_id}**/iou/vms/**{vm_id}**/stop
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Stop a IOU instance
+
+Parameters
+**********
+- **vm_id**: UUID for the instance
+- **project_id**: UUID for the project
+
+Response status codes
+**********************
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **204**: Instance stopped
+
diff --git a/docs/api/v1projectidvirtualboxvms.rst b/docs/api/v1projectsprojectidvirtualboxvms.rst
similarity index 83%
rename from docs/api/v1projectidvirtualboxvms.rst
rename to docs/api/v1projectsprojectidvirtualboxvms.rst
index 4b47e6f0..2e0ce096 100644
--- a/docs/api/v1projectidvirtualboxvms.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvms.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/virtualbox/vms
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/virtualbox/vms
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/virtualbox/vms
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create a new VirtualBox VM instance
Parameters
@@ -23,7 +23,6 @@ Input
Name | Mandatory | Type | Description |
- adapter_start_index | | integer | adapter index from which to start using adapters |
adapter_type | | string | VirtualBox adapter type |
adapters | | integer | number of adapters |
console | | integer | console TCP port |
@@ -31,7 +30,8 @@ Input
headless | | boolean | headless mode |
linked_clone | ✔ | boolean | either the VM is a linked clone or not |
name | ✔ | string | VirtualBox VM instance name |
- vm_id | | string | VirtualBox VM instance identifier |
+ use_any_adapter | | boolean | allow GNS3 to use any VirtualBox adapter |
+ vm_id | | | VirtualBox VM instance identifier |
vmname | ✔ | string | VirtualBox VM name (in VirtualBox itself) |
@@ -41,7 +41,6 @@ Output
Name | Mandatory | Type | Description |
- adapter_start_index | | integer | adapter index from which to start using adapters |
adapter_type | | string | VirtualBox adapter type |
adapters | | integer | number of adapters |
console | | integer | console TCP port |
@@ -49,6 +48,7 @@ Output
headless | | boolean | headless mode |
name | ✔ | string | VirtualBox VM instance name |
project_id | ✔ | string | Project UUID |
+ use_any_adapter | | boolean | allow GNS3 to use any VirtualBox adapter |
vm_id | ✔ | string | VirtualBox VM instance UUID |
vmname | | string | VirtualBox VM name (in VirtualBox itself) |
diff --git a/docs/api/v1projectidvirtualboxvmsvmid.rst b/docs/api/v1projectsprojectidvirtualboxvmsvmid.rst
similarity index 84%
rename from docs/api/v1projectidvirtualboxvmsvmid.rst
rename to docs/api/v1projectsprojectidvirtualboxvmsvmid.rst
index 18c50005..11274204 100644
--- a/docs/api/v1projectidvirtualboxvmsvmid.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvmsvmid.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/virtualbox/vms/{vm_id}
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms/{vm_id}
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-GET /v1/**{project_id}**/virtualbox/vms/**{vm_id}**
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+GET /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get a VirtualBox VM instance
Parameters
@@ -24,7 +24,6 @@ Output
Name | Mandatory | Type | Description |
- adapter_start_index | | integer | adapter index from which to start using adapters |
adapter_type | | string | VirtualBox adapter type |
adapters | | integer | number of adapters |
console | | integer | console TCP port |
@@ -32,13 +31,14 @@ Output
headless | | boolean | headless mode |
name | ✔ | string | VirtualBox VM instance name |
project_id | ✔ | string | Project UUID |
+ use_any_adapter | | boolean | allow GNS3 to use any VirtualBox adapter |
vm_id | ✔ | string | VirtualBox VM instance UUID |
vmname | | string | VirtualBox VM name (in VirtualBox itself) |
-PUT /v1/**{project_id}**/virtualbox/vms/**{vm_id}**
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+PUT /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Update a VirtualBox VM instance
Parameters
@@ -59,13 +59,13 @@ Input
Name | Mandatory | Type | Description |
- adapter_start_index | | integer | adapter index from which to start using adapters |
adapter_type | | string | VirtualBox adapter type |
adapters | | integer | number of adapters |
console | | integer | console TCP port |
enable_remote_console | | boolean | enable the remote console |
headless | | boolean | headless mode |
name | | string | VirtualBox VM instance name |
+ use_any_adapter | | boolean | allow GNS3 to use any VirtualBox adapter |
vmname | | string | VirtualBox VM name (in VirtualBox itself) |
@@ -75,7 +75,6 @@ Output
Name | Mandatory | Type | Description |
- adapter_start_index | | integer | adapter index from which to start using adapters |
adapter_type | | string | VirtualBox adapter type |
adapters | | integer | number of adapters |
console | | integer | console TCP port |
@@ -83,13 +82,14 @@ Output
headless | | boolean | headless mode |
name | ✔ | string | VirtualBox VM instance name |
project_id | ✔ | string | Project UUID |
+ use_any_adapter | | boolean | allow GNS3 to use any VirtualBox adapter |
vm_id | ✔ | string | VirtualBox VM instance UUID |
vmname | | string | VirtualBox VM name (in VirtualBox itself) |
-DELETE /v1/**{project_id}**/virtualbox/vms/**{vm_id}**
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+DELETE /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Delete a VirtualBox VM instance
Parameters
diff --git a/docs/api/v1projectidvirtualboxvmsvmidadaptersadapteriddnio.rst b/docs/api/v1projectsprojectidvirtualboxvmsvmidadaptersadapteriddportsportiddnio.rst
similarity index 52%
rename from docs/api/v1projectidvirtualboxvmsvmidadaptersadapteriddnio.rst
rename to docs/api/v1projectsprojectidvirtualboxvmsvmidadaptersadapteriddportsportiddnio.rst
index 880222ad..5104eb2d 100644
--- a/docs/api/v1projectidvirtualboxvmsvmidadaptersadapteriddnio.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvmsvmidadaptersadapteriddportsportiddnio.rst
@@ -1,17 +1,18 @@
-/v1/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/nio
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/ports/{port_id:\d+}/nio
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/adapters/**{adapter_id:\d+}**/nio
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**/adapters/**{adapter_id:\d+}**/ports/**{port_id:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add a NIO to a VirtualBox VM instance
Parameters
**********
+- **port_id**: Port in the adapter (always 0 for virtualbox)
- **vm_id**: UUID for the instance
-- **project_id**: UUID for the project
- **adapter_id**: Adapter where the nio should be added
+- **project_id**: UUID for the project
Response status codes
**********************
@@ -20,15 +21,16 @@ Response status codes
- **404**: Instance doesn't exist
-DELETE /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/adapters/**{adapter_id:\d+}**/nio
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+DELETE /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**/adapters/**{adapter_id:\d+}**/ports/**{port_id:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Remove a NIO from a VirtualBox VM instance
Parameters
**********
+- **port_id**: Port in the adapter (always 0 for virtualbox)
- **vm_id**: UUID for the instance
-- **project_id**: UUID for the project
- **adapter_id**: Adapter from where the nio should be removed
+- **project_id**: UUID for the project
Response status codes
**********************
diff --git a/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstart.rst b/docs/api/v1projectsprojectidvirtualboxvmsvmidadaptersadapteriddstartcapture.rst
similarity index 53%
rename from docs/api/v1projectidvirtualboxvmidcaptureadapteriddstart.rst
rename to docs/api/v1projectsprojectidvirtualboxvmsvmidadaptersadapteriddstartcapture.rst
index 2faa7709..ceab89f1 100644
--- a/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstart.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvmsvmidadaptersadapteriddstartcapture.rst
@@ -1,17 +1,17 @@
-/v1/{project_id}/virtualbox/{vm_id}/capture/{adapter_id:\d+}/start
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/start_capture
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/virtualbox/**{vm_id}**/capture/**{adapter_id:\d+}**/start
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**/adapters/**{adapter_id:\d+}**/start_capture
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a packet capture on a VirtualBox VM instance
Parameters
**********
- **vm_id**: UUID for the instance
-- **project_id**: UUID for the project
- **adapter_id**: Adapter to start a packet capture
+- **project_id**: UUID for the project
Response status codes
**********************
@@ -25,6 +25,6 @@ Input
Name | Mandatory | Type | Description |
- capture_filename | ✔ | string | Capture file name |
+ capture_file_name | ✔ | string | Capture file name |
diff --git a/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstop.rst b/docs/api/v1projectsprojectidvirtualboxvmsvmidadaptersadapteriddstopcapture.rst
similarity index 52%
rename from docs/api/v1projectidvirtualboxvmidcaptureadapteriddstop.rst
rename to docs/api/v1projectsprojectidvirtualboxvmsvmidadaptersadapteriddstopcapture.rst
index ddacddfd..4c2a6072 100644
--- a/docs/api/v1projectidvirtualboxvmidcaptureadapteriddstop.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvmsvmidadaptersadapteriddstopcapture.rst
@@ -1,17 +1,17 @@
-/v1/{project_id}/virtualbox/{vm_id}/capture/{adapter_id:\d+}/stop
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/{adapter_id:\d+}/stop_capture
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/virtualbox/**{vm_id}**/capture/**{adapter_id:\d+}**/stop
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**/adapters/**{adapter_id:\d+}**/stop_capture
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a packet capture on a VirtualBox VM instance
Parameters
**********
- **vm_id**: UUID for the instance
-- **project_id**: UUID for the project
- **adapter_id**: Adapter to stop a packet capture
+- **project_id**: UUID for the project
Response status codes
**********************
diff --git a/docs/api/v1projectidvirtualboxvmsvmidreload.rst b/docs/api/v1projectsprojectidvirtualboxvmsvmidreload.rst
similarity index 53%
rename from docs/api/v1projectidvirtualboxvmsvmidreload.rst
rename to docs/api/v1projectsprojectidvirtualboxvmsvmidreload.rst
index 48387994..d32b9e02 100644
--- a/docs/api/v1projectidvirtualboxvmsvmidreload.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvmsvmidreload.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/virtualbox/vms/{vm_id}/reload
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms/{vm_id}/reload
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/reload
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**/reload
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Reload a VirtualBox VM instance
Parameters
diff --git a/docs/api/v1projectidvirtualboxvmsvmidresume.rst b/docs/api/v1projectsprojectidvirtualboxvmsvmidresume.rst
similarity index 53%
rename from docs/api/v1projectidvirtualboxvmsvmidresume.rst
rename to docs/api/v1projectsprojectidvirtualboxvmsvmidresume.rst
index 87a3aa85..7d82060f 100644
--- a/docs/api/v1projectidvirtualboxvmsvmidresume.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvmsvmidresume.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/virtualbox/vms/{vm_id}/resume
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms/{vm_id}/resume
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/resume
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**/resume
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Resume a suspended VirtualBox VM instance
Parameters
diff --git a/docs/api/v1projectidvirtualboxvmsvmidstart.rst b/docs/api/v1projectsprojectidvirtualboxvmsvmidstart.rst
similarity index 53%
rename from docs/api/v1projectidvirtualboxvmsvmidstart.rst
rename to docs/api/v1projectsprojectidvirtualboxvmsvmidstart.rst
index 9a4672a3..20a30a8a 100644
--- a/docs/api/v1projectidvirtualboxvmsvmidstart.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvmsvmidstart.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/virtualbox/vms/{vm_id}/start
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms/{vm_id}/start
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/start
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**/start
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a VirtualBox VM instance
Parameters
diff --git a/docs/api/v1projectidvirtualboxvmsvmidstop.rst b/docs/api/v1projectsprojectidvirtualboxvmsvmidstop.rst
similarity index 53%
rename from docs/api/v1projectidvirtualboxvmsvmidstop.rst
rename to docs/api/v1projectsprojectidvirtualboxvmsvmidstop.rst
index 70acc079..cafcbc1c 100644
--- a/docs/api/v1projectidvirtualboxvmsvmidstop.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvmsvmidstop.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/virtualbox/vms/{vm_id}/stop
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms/{vm_id}/stop
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/stop
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**/stop
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a VirtualBox VM instance
Parameters
diff --git a/docs/api/v1projectidvirtualboxvmsvmidsuspend.rst b/docs/api/v1projectsprojectidvirtualboxvmsvmidsuspend.rst
similarity index 53%
rename from docs/api/v1projectidvirtualboxvmsvmidsuspend.rst
rename to docs/api/v1projectsprojectidvirtualboxvmsvmidsuspend.rst
index e9caa7d9..0652378e 100644
--- a/docs/api/v1projectidvirtualboxvmsvmidsuspend.rst
+++ b/docs/api/v1projectsprojectidvirtualboxvmsvmidsuspend.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/virtualbox/vms/{vm_id}/suspend
------------------------------------------------------------
+/v1/projects/{project_id}/virtualbox/vms/{vm_id}/suspend
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/virtualbox/vms/**{vm_id}**/suspend
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/virtualbox/vms/**{vm_id}**/suspend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suspend a VirtualBox VM instance
Parameters
diff --git a/docs/api/v1projectidvpcsvms.rst b/docs/api/v1projectsprojectidvpcsvms.rst
similarity index 83%
rename from docs/api/v1projectidvpcsvms.rst
rename to docs/api/v1projectsprojectidvpcsvms.rst
index c6a3a9e4..7dfb6bc9 100644
--- a/docs/api/v1projectidvpcsvms.rst
+++ b/docs/api/v1projectsprojectidvpcsvms.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/vpcs/vms
------------------------------------------------------------
+/v1/projects/{project_id}/vpcs/vms
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/vpcs/vms
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/vpcs/vms
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Create a new VPCS instance
Parameters
@@ -26,7 +26,7 @@ Input
console | | ['integer', 'null'] | console TCP port |
name | ✔ | string | VPCS VM name |
startup_script | | ['string', 'null'] | Content of the VPCS startup script |
- vm_id | | string | VPCS VM identifier |
+ vm_id | | | VPCS VM identifier |
Output
@@ -38,7 +38,6 @@ Output
console | ✔ | integer | console TCP port |
name | ✔ | string | VPCS VM name |
project_id | ✔ | string | Project UUID |
- script_file | | ['string', 'null'] | VPCS startup script |
startup_script | | ['string', 'null'] | Content of the VPCS startup script |
vm_id | ✔ | string | VPCS VM UUID |
diff --git a/docs/api/v1projectidvpcsvmsvmid.rst b/docs/api/v1projectsprojectidvpcsvmsvmid.rst
similarity index 85%
rename from docs/api/v1projectidvpcsvmsvmid.rst
rename to docs/api/v1projectsprojectidvpcsvmsvmid.rst
index ca80efaa..50268c7b 100644
--- a/docs/api/v1projectidvpcsvmsvmid.rst
+++ b/docs/api/v1projectsprojectidvpcsvmsvmid.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/vpcs/vms/{vm_id}
------------------------------------------------------------
+/v1/projects/{project_id}/vpcs/vms/{vm_id}
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-GET /v1/**{project_id}**/vpcs/vms/**{vm_id}**
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+GET /v1/projects/**{project_id}**/vpcs/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get a VPCS instance
Parameters
@@ -27,14 +27,13 @@ Output
console | ✔ | integer | console TCP port |
name | ✔ | string | VPCS VM name |
project_id | ✔ | string | Project UUID |
- script_file | | ['string', 'null'] | VPCS startup script |
startup_script | | ['string', 'null'] | Content of the VPCS startup script |
vm_id | ✔ | string | VPCS VM UUID |
-PUT /v1/**{project_id}**/vpcs/vms/**{vm_id}**
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+PUT /v1/projects/**{project_id}**/vpcs/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Update a VPCS instance
Parameters
@@ -69,14 +68,13 @@ Output
console | ✔ | integer | console TCP port |
name | ✔ | string | VPCS VM name |
project_id | ✔ | string | Project UUID |
- script_file | | ['string', 'null'] | VPCS startup script |
startup_script | | ['string', 'null'] | Content of the VPCS startup script |
vm_id | ✔ | string | VPCS VM UUID |
-DELETE /v1/**{project_id}**/vpcs/vms/**{vm_id}**
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+DELETE /v1/projects/**{project_id}**/vpcs/vms/**{vm_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Delete a VPCS instance
Parameters
diff --git a/docs/api/v1projectidvpcsvmsvmidportsportnumberdnio.rst b/docs/api/v1projectsprojectidvpcsvmsvmidadaptersadapternumberdportsportnumberdnio.rst
similarity index 51%
rename from docs/api/v1projectidvpcsvmsvmidportsportnumberdnio.rst
rename to docs/api/v1projectsprojectidvpcsvmsvmidadaptersadapternumberdportsportnumberdnio.rst
index 0abccb0b..4e7cc653 100644
--- a/docs/api/v1projectidvpcsvmsvmidportsportnumberdnio.rst
+++ b/docs/api/v1projectsprojectidvpcsvmsvmidadaptersadapternumberdportsportnumberdnio.rst
@@ -1,17 +1,18 @@
-/v1/{project_id}/vpcs/vms/{vm_id}/ports/{port_number:\d+}/nio
------------------------------------------------------------
+/v1/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/vpcs/vms/**{vm_id}**/ports/**{port_number:\d+}**/nio
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/vpcs/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Add a NIO to a VPCS instance
Parameters
**********
+- **port_number**: Port where the nio should be added
+- **adapter_number**: Network adapter where the nio is located
- **vm_id**: UUID for the instance
- **project_id**: UUID for the project
-- **port_number**: Port where the nio should be added
Response status codes
**********************
@@ -20,15 +21,16 @@ Response status codes
- **404**: Instance doesn't exist
-DELETE /v1/**{project_id}**/vpcs/vms/**{vm_id}**/ports/**{port_number:\d+}**/nio
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+DELETE /v1/projects/**{project_id}**/vpcs/vms/**{vm_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Remove a NIO from a VPCS instance
Parameters
**********
+- **port_number**: Port from where the nio should be removed
+- **adapter_number**: Network adapter where the nio is located
- **vm_id**: UUID for the instance
- **project_id**: UUID for the project
-- **port_number**: Port from where the nio should be removed
Response status codes
**********************
diff --git a/docs/api/v1projectidvpcsvmsvmidreload.rst b/docs/api/v1projectsprojectidvpcsvmsvmidreload.rst
similarity index 53%
rename from docs/api/v1projectidvpcsvmsvmidreload.rst
rename to docs/api/v1projectsprojectidvpcsvmsvmidreload.rst
index b5357561..33b4d868 100644
--- a/docs/api/v1projectidvpcsvmsvmidreload.rst
+++ b/docs/api/v1projectsprojectidvpcsvmsvmidreload.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/vpcs/vms/{vm_id}/reload
------------------------------------------------------------
+/v1/projects/{project_id}/vpcs/vms/{vm_id}/reload
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/vpcs/vms/**{vm_id}**/reload
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/vpcs/vms/**{vm_id}**/reload
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Reload a VPCS instance
Parameters
diff --git a/docs/api/v1projectidvpcsvmsvmidstart.rst b/docs/api/v1projectsprojectidvpcsvmsvmidstart.rst
similarity index 53%
rename from docs/api/v1projectidvpcsvmsvmidstart.rst
rename to docs/api/v1projectsprojectidvpcsvmsvmidstart.rst
index ae8a095f..46897b88 100644
--- a/docs/api/v1projectidvpcsvmsvmidstart.rst
+++ b/docs/api/v1projectsprojectidvpcsvmsvmidstart.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/vpcs/vms/{vm_id}/start
------------------------------------------------------------
+/v1/projects/{project_id}/vpcs/vms/{vm_id}/start
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/vpcs/vms/**{vm_id}**/start
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/vpcs/vms/**{vm_id}**/start
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start a VPCS instance
Parameters
diff --git a/docs/api/v1projectidvpcsvmsvmidstop.rst b/docs/api/v1projectsprojectidvpcsvmsvmidstop.rst
similarity index 53%
rename from docs/api/v1projectidvpcsvmsvmidstop.rst
rename to docs/api/v1projectsprojectidvpcsvmsvmidstop.rst
index 16f3135b..1bc21787 100644
--- a/docs/api/v1projectidvpcsvmsvmidstop.rst
+++ b/docs/api/v1projectsprojectidvpcsvmsvmidstop.rst
@@ -1,10 +1,10 @@
-/v1/{project_id}/vpcs/vms/{vm_id}/stop
------------------------------------------------------------
+/v1/projects/{project_id}/vpcs/vms/{vm_id}/stop
+-----------------------------------------------------------------------------------------------------------------
.. contents::
-POST /v1/**{project_id}**/vpcs/vms/**{vm_id}**/stop
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+POST /v1/projects/**{project_id}**/vpcs/vms/**{vm_id}**/stop
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Stop a VPCS instance
Parameters
diff --git a/docs/api/v1version.rst b/docs/api/v1version.rst
index e0946a33..ae53f9c2 100644
--- a/docs/api/v1version.rst
+++ b/docs/api/v1version.rst
@@ -1,10 +1,10 @@
/v1/version
------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/version
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Retrieve the server version number
Response status codes
@@ -22,7 +22,7 @@ Output
POST /v1/version
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Check if version is the same as the server
Response status codes
diff --git a/docs/api/v1virtualboxvms.rst b/docs/api/v1virtualboxvms.rst
index 18a82b95..a174df6c 100644
--- a/docs/api/v1virtualboxvms.rst
+++ b/docs/api/v1virtualboxvms.rst
@@ -1,10 +1,10 @@
/v1/virtualbox/vms
------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------
.. contents::
GET /v1/virtualbox/vms
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get all VirtualBox VMs available
Response status codes
diff --git a/docs/conf.py b/docs/conf.py
index 7fe6d119..4cef3395 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -103,6 +103,10 @@ pygments_style = 'sphinx'
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
+
+html_sidebars = {
+ '**': ['sourcelink.html', 'searchbox.html'],
+}
# html_theme = 'nature'
# If uncommented it's turn off the default read the doc style
diff --git a/gns3server/web/documentation.py b/gns3server/web/documentation.py
index 6b15b7e0..caf73aa4 100644
--- a/gns3server/web/documentation.py
+++ b/gns3server/web/documentation.py
@@ -34,11 +34,11 @@ class Documentation(object):
filename = self._file_path(path)
handler_doc = self._documentation[path]
with open("docs/api/{}.rst".format(filename), 'w+') as f:
- f.write('{}\n-----------------------------------------------------------\n\n'.format(path))
+ f.write('{}\n-----------------------------------------------------------------------------------------------------------------\n\n'.format(path))
f.write('.. contents::\n')
for method in handler_doc["methods"]:
f.write('\n{} {}\n'.format(method["method"], path.replace("{", '**{').replace("}", "}**")))
- f.write('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n')
+ f.write('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n')
f.write('{}\n\n'.format(method["description"]))
if len(method["parameters"]) > 0:
diff --git a/tests/api/test_iou.py b/tests/api/test_iou.py
index 3c8921b5..0c5bfdd1 100644
--- a/tests/api/test_iou.py
+++ b/tests/api/test_iou.py
@@ -143,9 +143,9 @@ def test_iou_update(server, vm, tmpdir, free_console_port):
def test_iou_nio_create_udp(server, vm):
response = server.post("/projects/{project_id}/iou/vms/{vm_id}/adapters/1/ports/0/nio".format(project_id=vm["project_id"], vm_id=vm["vm_id"]), {"type": "nio_udp",
- "lport": 4242,
- "rport": 4343,
- "rhost": "127.0.0.1"},
+ "lport": 4242,
+ "rport": 4343,
+ "rhost": "127.0.0.1"},
example=True)
assert response.status == 201
assert response.route == "/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio"
@@ -154,8 +154,8 @@ def test_iou_nio_create_udp(server, vm):
def test_iou_nio_create_ethernet(server, vm):
response = server.post("/projects/{project_id}/iou/vms/{vm_id}/adapters/1/ports/0/nio".format(project_id=vm["project_id"], vm_id=vm["vm_id"]), {"type": "nio_generic_ethernet",
- "ethernet_device": "eth0",
- },
+ "ethernet_device": "eth0",
+ },
example=True)
assert response.status == 201
assert response.route == "/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio"
@@ -166,7 +166,7 @@ def test_iou_nio_create_ethernet(server, vm):
def test_iou_nio_create_tap(server, vm):
with patch("gns3server.modules.base_manager.BaseManager._has_privileged_access", return_value=True):
response = server.post("/projects/{project_id}/iou/vms/{vm_id}/adapters/1/ports/0/nio".format(project_id=vm["project_id"], vm_id=vm["vm_id"]), {"type": "nio_tap",
- "tap_device": "test"})
+ "tap_device": "test"})
assert response.status == 201
assert response.route == "/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio"
assert response.json["type"] == "nio_tap"
@@ -174,9 +174,9 @@ def test_iou_nio_create_tap(server, vm):
def test_iou_delete_nio(server, vm):
server.post("/projects/{project_id}/iou/vms/{vm_id}/adapters/1/ports/0/nio".format(project_id=vm["project_id"], vm_id=vm["vm_id"]), {"type": "nio_udp",
- "lport": 4242,
- "rport": 4343,
- "rhost": "127.0.0.1"})
+ "lport": 4242,
+ "rport": 4343,
+ "rhost": "127.0.0.1"})
response = server.delete("/projects/{project_id}/iou/vms/{vm_id}/adapters/1/ports/0/nio".format(project_id=vm["project_id"], vm_id=vm["vm_id"]), example=True)
assert response.status == 204
assert response.route == "/projects/{project_id}/iou/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio"
diff --git a/tests/api/test_virtualbox.py b/tests/api/test_virtualbox.py
index 3c0e7ad1..dcd2e60f 100644
--- a/tests/api/test_virtualbox.py
+++ b/tests/api/test_virtualbox.py
@@ -94,10 +94,10 @@ def test_vbox_nio_create_udp(server, vm):
with asyncio_patch('gns3server.modules.virtualbox.virtualbox_vm.VirtualBoxVM.adapter_add_nio_binding') as mock:
response = server.post("/projects/{project_id}/virtualbox/vms/{vm_id}/adapters/0/ports/0/nio".format(project_id=vm["project_id"],
- vm_id=vm["vm_id"]), {"type": "nio_udp",
- "lport": 4242,
- "rport": 4343,
- "rhost": "127.0.0.1"},
+ vm_id=vm["vm_id"]), {"type": "nio_udp",
+ "lport": 4242,
+ "rport": 4343,
+ "rhost": "127.0.0.1"},
example=True)
assert mock.called
diff --git a/tests/api/test_vpcs.py b/tests/api/test_vpcs.py
index 32bdb958..009da325 100644
--- a/tests/api/test_vpcs.py
+++ b/tests/api/test_vpcs.py
@@ -64,9 +64,9 @@ def test_vpcs_create_port(server, project, free_console_port):
def test_vpcs_nio_create_udp(server, vm):
response = server.post("/projects/{project_id}/vpcs/vms/{vm_id}/adapters/0/ports/0/nio".format(project_id=vm["project_id"], vm_id=vm["vm_id"]), {"type": "nio_udp",
- "lport": 4242,
- "rport": 4343,
- "rhost": "127.0.0.1"},
+ "lport": 4242,
+ "rport": 4343,
+ "rhost": "127.0.0.1"},
example=True)
assert response.status == 201
assert response.route == "/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio"
@@ -76,7 +76,7 @@ def test_vpcs_nio_create_udp(server, vm):
def test_vpcs_nio_create_tap(server, vm):
with patch("gns3server.modules.base_manager.BaseManager._has_privileged_access", return_value=True):
response = server.post("/projects/{project_id}/vpcs/vms/{vm_id}/adapters/0/ports/0/nio".format(project_id=vm["project_id"], vm_id=vm["vm_id"]), {"type": "nio_tap",
- "tap_device": "test"})
+ "tap_device": "test"})
assert response.status == 201
assert response.route == "/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio"
assert response.json["type"] == "nio_tap"
@@ -84,9 +84,9 @@ def test_vpcs_nio_create_tap(server, vm):
def test_vpcs_delete_nio(server, vm):
server.post("/projects/{project_id}/vpcs/vms/{vm_id}/adapters/0/ports/0/nio".format(project_id=vm["project_id"], vm_id=vm["vm_id"]), {"type": "nio_udp",
- "lport": 4242,
- "rport": 4343,
- "rhost": "127.0.0.1"})
+ "lport": 4242,
+ "rport": 4343,
+ "rhost": "127.0.0.1"})
response = server.delete("/projects/{project_id}/vpcs/vms/{vm_id}/adapters/0/ports/0/nio".format(project_id=vm["project_id"], vm_id=vm["vm_id"]), example=True)
assert response.status == 204
assert response.route == "/projects/{project_id}/vpcs/vms/{vm_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio"