diff --git a/CHANGELOG b/CHANGELOG index 35645177..0c5be506 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,62 @@ # Change Log +## 2.1.3 19/01/2018 + +* Update appliance files. +* Suspend for Docker nodes. +* Unlock yarl version and multidict +* Fix same MAC address for duplicated Qemu nodes. +* Fix same base MAC for duplicated IOS routers. Fixes #1264. +* Fix "Creating multiple IOU nodes at once assigns the same application id". Fixes #1239. +* Fix "Transport selection via DSN is deprecated" message. Sync is configured with HTTPTransport. +* Refresh CPU/RAM info every 1 second. Ref #2262. +* Rename ethernet switch arp command to mac +* Fix error while getting appliance list. Fixes #1258. +* Fix UnboundLocalError: local variable 'node' referenced before assignment. Fixes #1256. +* Default symbol must be computer.svg +* Compatibility for old node templates (those with default_symbol and hover_symbol properties). +* Fix problem when searching for VBoxManage. Fixes #1261. +* Improve the search for VBoxManage. +* Fixing race condition when starting the GNS3 VM. +* Default VPCS name format is now PC-{0}. + +## 2.1.2 08/01/2018 + +* Do not show log message if configuration file doesn't exist. Fixes #1206. +* Update API documentation +* Update API documentation. Fixes #1253. +* GNS3-API: implement GET for specific drawing and link Fixes #1249 + +## 2.1.1 22/12/2017 + +* Protect variable replacement for Qemu options. Escape double quotes. +* Add proper exception when cannot find tunnel on QEMU, Fixes: #1241 +* Increase timeout for creation of image, Ref. #2239 +* Protect variable replacement for Qemu options. +* Do not overwrites persistent Docker volumes. Fixes #2358. +* Allow users to see an error when the server cannot stream a PCAP file. +* Fix issue with Qemu + SPICE when IPv4 is not enabled. +* Warn users if the GNS3 VM and local server are not in the same subnet. Fixes #1231. +* Add missing appliance files. +* Update appliance files. +* Fix auto idle-pc from preferences. +* Keep consistance of aiohttp.web.HTTPForbidden() execution +* Make sure connected links are removed when a node is deleted. +* Validate idle-pc values for auto idle-pc feature. +* Fix error when updating packet filter on stopped Docker link. Fixes #1229. +* Remotely close telnet console. Ref #2330 +* EthernetSwitch closing connections, Ref: gui/#2330 +* Export files from remote server, Fixes: gui/#2271 +* New option: require KVM. If false, Qemu VMs will not be prevented to run without KVM. +* Implement variable replacement for Qemu VM options. +* Avoid duplicate "-nographic" option. +* Show qemu-img stdout in case of an error. +* Use the correct NVRAM amount when pushing private config to IOU. +* Check and fix corrupt Qemu disk images. Fixes #2301. +* Update warning messages when connecting to non custom adapter for VMware VMs. +* Fix "Can't use VirtualBox VM when an interface is managed by VirtualBox". Fixes #2335. +* Add low disk space warning when creating a new project. + ## 2.1.0 09/11/2017 * Fix typo in vcpus on VirtualBoxVM, fixes: #1213 diff --git a/docs/api/examples/compute_delete_projectsprojectid.txt b/docs/api/examples/compute_delete_projectsprojectid.txt index 451f1fa3..dc50a67c 100644 --- a/docs/api/examples/compute_delete_projectsprojectid.txt +++ b/docs/api/examples/compute_delete_projectsprojectid.txt @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:23 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:55 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id} diff --git a/docs/api/examples/compute_delete_projectsprojectidcloudnodesnodeid.txt b/docs/api/examples/compute_delete_projectsprojectidcloudnodesnodeid.txt index 15d5dd1f..5d5f84c4 100644 --- a/docs/api/examples/compute_delete_projectsprojectidcloudnodesnodeid.txt +++ b/docs/api/examples/compute_delete_projectsprojectidcloudnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5515357a-a5c1-47c7-b47a-fa004ed94bee' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/b5a23628-0043-4eeb-86b7-d55b6909b9b7' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/5515357a-a5c1-47c7-b47a-fa004ed94bee HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/b5a23628-0043-4eeb-86b7-d55b6909b9b7 HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:00 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:44 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id} diff --git a/docs/api/examples/compute_delete_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_delete_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt index fa08b515..db010a2d 100644 --- a/docs/api/examples/compute_delete_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_delete_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/6558b3be-937a-46ed-aa2c-d55b2efbfae3/adapters/0/ports/0/nio' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/a979dd8e-8c34-4a5a-98de-f50cf4fcce8c/adapters/0/ports/0/nio' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/6558b3be-937a-46ed-aa2c-d55b2efbfae3/adapters/0/ports/0/nio HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/a979dd8e-8c34-4a5a-98de-f50cf4fcce8c/adapters/0/ports/0/nio HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:06:59 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:43 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio diff --git a/docs/api/examples/compute_delete_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_delete_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt index a9d9c464..5c69c596 100644 --- a/docs/api/examples/compute_delete_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_delete_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/0febefd7-5312-47ce-912e-30a68f3e206b/adapters/0/ports/0/nio' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/8c0aeb7d-1f06-425c-9e03-f16182fae5b8/adapters/0/ports/0/nio' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/0febefd7-5312-47ce-912e-30a68f3e206b/adapters/0/ports/0/nio HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/8c0aeb7d-1f06-425c-9e03-f16182fae5b8/adapters/0/ports/0/nio HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:05 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:46 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio diff --git a/docs/api/examples/compute_delete_projectsprojectidiounodesnodeid.txt b/docs/api/examples/compute_delete_projectsprojectidiounodesnodeid.txt index 417684fd..f7b9ec41 100644 --- a/docs/api/examples/compute_delete_projectsprojectidiounodesnodeid.txt +++ b/docs/api/examples/compute_delete_projectsprojectidiounodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/b3d3552b-c851-4c54-88ef-eca874685de5' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/33edb045-964b-4089-857b-cfc31fff99b7' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/b3d3552b-c851-4c54-88ef-eca874685de5 HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/33edb045-964b-4089-857b-cfc31fff99b7 HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:10 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:48 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id} diff --git a/docs/api/examples/compute_delete_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_delete_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt index 9d323e79..c789627f 100644 --- a/docs/api/examples/compute_delete_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_delete_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/9e34b2c0-6337-49ab-a409-745cceb673c5/adapters/1/ports/0/nio' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/642df0c1-b531-4c9b-8643-25282fcdbda6/adapters/1/ports/0/nio' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/9e34b2c0-6337-49ab-a409-745cceb673c5/adapters/1/ports/0/nio HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/642df0c1-b531-4c9b-8643-25282fcdbda6/adapters/1/ports/0/nio HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:13 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:48 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio diff --git a/docs/api/examples/compute_delete_projectsprojectidnatnodesnodeid.txt b/docs/api/examples/compute_delete_projectsprojectidnatnodesnodeid.txt index 41884caf..4a4eedcd 100644 --- a/docs/api/examples/compute_delete_projectsprojectidnatnodesnodeid.txt +++ b/docs/api/examples/compute_delete_projectsprojectidnatnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/b37db9cd-b92c-4f24-8706-1b30d3162d6d' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/924bd83c-8b35-4e7d-b3fd-8903deaf3eec' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/b37db9cd-b92c-4f24-8706-1b30d3162d6d HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/924bd83c-8b35-4e7d-b3fd-8903deaf3eec HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:17 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:52 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id} diff --git a/docs/api/examples/compute_delete_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_delete_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt index d62d9b24..5d532ad0 100644 --- a/docs/api/examples/compute_delete_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_delete_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/d8c320f4-2877-484c-8f1c-f975527e0560/adapters/0/ports/0/nio' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/8cbe8570-b6f2-489a-b7fc-69aafaf24bf0/adapters/0/ports/0/nio' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/d8c320f4-2877-484c-8f1c-f975527e0560/adapters/0/ports/0/nio HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/8cbe8570-b6f2-489a-b7fc-69aafaf24bf0/adapters/0/ports/0/nio HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:16 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:49 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio diff --git a/docs/api/examples/compute_delete_projectsprojectidqemunodesnodeid.txt b/docs/api/examples/compute_delete_projectsprojectidqemunodesnodeid.txt index 535fd1e8..1708461a 100644 --- a/docs/api/examples/compute_delete_projectsprojectidqemunodesnodeid.txt +++ b/docs/api/examples/compute_delete_projectsprojectidqemunodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/31176da3-3e99-4b29-9040-d643abcefd4e' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/153aafd0-e32b-456a-8502-cd07b2ecc94b' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/31176da3-3e99-4b29-9040-d643abcefd4e HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/153aafd0-e32b-456a-8502-cd07b2ecc94b HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:29 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id} diff --git a/docs/api/examples/compute_delete_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_delete_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt index 743f9341..b1a1ab26 100644 --- a/docs/api/examples/compute_delete_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_delete_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/08907920-9653-45e4-b5c6-94bbca78b809/adapters/1/ports/0/nio' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/7d6b86b2-510e-4f1c-99ae-dd945b3479d1/adapters/1/ports/0/nio' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/08907920-9653-45e4-b5c6-94bbca78b809/adapters/1/ports/0/nio HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/7d6b86b2-510e-4f1c-99ae-dd945b3479d1/adapters/1/ports/0/nio HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:32 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio diff --git a/docs/api/examples/compute_delete_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_delete_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt index 56601887..81893234 100644 --- a/docs/api/examples/compute_delete_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_delete_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/aaf3a28e-833c-449b-9670-b514ee746549/adapters/0/ports/0/nio' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/88bb1118-bdf4-43af-aa30-8883e0ab6a4b/adapters/0/ports/0/nio' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/aaf3a28e-833c-449b-9670-b514ee746549/adapters/0/ports/0/nio HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/88bb1118-bdf4-43af-aa30-8883e0ab6a4b/adapters/0/ports/0/nio HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:39 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:58 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio diff --git a/docs/api/examples/compute_delete_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_delete_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..7f652342 --- /dev/null +++ b/docs/api/examples/compute_delete_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,14 @@ +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/18cb778e-37a5-485d-8ee5-42e42d78ed3e/adapters/0/ports/0/nio' + +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/18cb778e-37a5-485d-8ee5-42e42d78ed3e/adapters/0/ports/0/nio HTTP/1.1 + + + +HTTP/1.1 204 +Connection: close +Content-Length: 0 +Content-Type: application/octet-stream +Date: Mon, 08 Jan 2018 08:16:08 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio + diff --git a/docs/api/examples/compute_delete_projectsprojectidvpcsnodesnodeid.txt b/docs/api/examples/compute_delete_projectsprojectidvpcsnodesnodeid.txt index 15383c29..fecbd515 100644 --- a/docs/api/examples/compute_delete_projectsprojectidvpcsnodesnodeid.txt +++ b/docs/api/examples/compute_delete_projectsprojectidvpcsnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/b9adab99-ab1b-4a1d-8b45-fd3510f160bc' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/8b556295-efa1-46ae-ad46-8f9e38ed879e' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/b9adab99-ab1b-4a1d-8b45-fd3510f160bc HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/8b556295-efa1-46ae-ad46-8f9e38ed879e HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:43 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id} diff --git a/docs/api/examples/compute_delete_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_delete_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt index 3672f79e..b052edd5 100644 --- a/docs/api/examples/compute_delete_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_delete_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/e5994674-7209-4ee0-af3a-b7f77e344de2/adapters/0/ports/0/nio' +curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/881b9fcf-316f-4a25-9807-a23363c0ed63/adapters/0/ports/0/nio' -DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/e5994674-7209-4ee0-af3a-b7f77e344de2/adapters/0/ports/0/nio HTTP/1.1 +DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/881b9fcf-316f-4a25-9807-a23363c0ed63/adapters/0/ports/0/nio HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:41 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio diff --git a/docs/api/examples/compute_get_capabilities.txt b/docs/api/examples/compute_get_capabilities.txt index 4d34c867..73c85e35 100644 --- a/docs/api/examples/compute_get_capabilities.txt +++ b/docs/api/examples/compute_get_capabilities.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 347 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:06:59 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:42 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/capabilities { @@ -29,5 +29,5 @@ X-Route: /v2/compute/capabilities "iou" ], "platform": "linuxdebian", - "version": "2.1.0dev1" + "version": "2.1.2dev1" } diff --git a/docs/api/examples/compute_get_iouimages.txt b/docs/api/examples/compute_get_iouimages.txt index cdfe58ec..b0fb48f6 100644 --- a/docs/api/examples/compute_get_iouimages.txt +++ b/docs/api/examples/compute_get_iouimages.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 149 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:14 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:48 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/iou/images [ diff --git a/docs/api/examples/compute_get_networkinterfaces.txt b/docs/api/examples/compute_get_networkinterfaces.txt index 05d741d2..36098af1 100644 --- a/docs/api/examples/compute_get_networkinterfaces.txt +++ b/docs/api/examples/compute_get_networkinterfaces.txt @@ -6,17 +6,17 @@ GET /v2/compute/network/interfaces HTTP/1.1 HTTP/1.1 200 Connection: close -Content-Length: 3969 +Content-Length: 1461 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:19 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:54 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/network/interfaces [ { "id": "bridge0", "ip_address": "", - "mac_address": "d2:00:1b:c0:17:80", + "mac_address": "ca:2a:14:12:34:00", "name": "bridge0", "netmask": "", "special": true, @@ -25,7 +25,7 @@ X-Route: /v2/compute/network/interfaces { "id": "en0", "ip_address": "", - "mac_address": "3c:07:54:78:07:cc", + "mac_address": "c8:2a:14:21:cf:c8", "name": "en0", "netmask": "", "special": false, @@ -33,8 +33,8 @@ X-Route: /v2/compute/network/interfaces }, { "id": "en1", - "ip_address": "192.168.84.156", - "mac_address": "68:a8:6d:4a:c3:16", + "ip_address": "192.168.1.10", + "mac_address": "10:9a:dd:a4:f1:6a", "name": "en1", "netmask": "255.255.255.0", "special": false, @@ -43,7 +43,7 @@ X-Route: /v2/compute/network/interfaces { "id": "en2", "ip_address": "", - "mac_address": "d2:00:1b:c0:17:80", + "mac_address": "d2:00:18:cc:6a:60", "name": "en2", "netmask": "", "special": false, @@ -52,7 +52,7 @@ X-Route: /v2/compute/network/interfaces { "id": "fw0", "ip_address": "", - "mac_address": "3c:07:54:ff:fe:bc:01:78", + "mac_address": "c8:2a:14:ff:fe:8c:c6:a6", "name": "fw0", "netmask": "", "special": true, @@ -70,109 +70,10 @@ X-Route: /v2/compute/network/interfaces { "id": "p2p0", "ip_address": "", - "mac_address": "0a:a8:6d:4a:c3:16", + "mac_address": "02:9a:dd:a4:f1:6a", "name": "p2p0", "netmask": "", "special": true, "type": "ethernet" - }, - { - "id": "utun0", - "ip_address": "", - "mac_address": "", - "name": "utun0", - "netmask": "", - "special": false, - "type": "ethernet" - }, - { - "id": "vmnet1", - "ip_address": "172.16.16.1", - "mac_address": "00:50:56:c0:00:01", - "name": "vmnet1", - "netmask": "255.255.255.0", - "special": true, - "type": "ethernet" - }, - { - "id": "vmnet10", - "ip_address": "172.16.7.1", - "mac_address": "00:50:56:c0:00:0a", - "name": "vmnet10", - "netmask": "255.255.255.0", - "special": true, - "type": "ethernet" - }, - { - "id": "vmnet2", - "ip_address": "172.16.0.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.1.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.2.1", - "mac_address": "00:50:56:c0:00:04", - "name": "vmnet4", - "netmask": "255.255.255.0", - "special": true, - "type": "ethernet" - }, - { - "id": "vmnet5", - "ip_address": "172.16.3.1", - "mac_address": "00:50:56:c0:00:05", - "name": "vmnet5", - "netmask": "255.255.255.0", - "special": true, - "type": "ethernet" - }, - { - "id": "vmnet6", - "ip_address": "172.16.4.1", - "mac_address": "00:50:56:c0:00:06", - "name": "vmnet6", - "netmask": "255.255.255.0", - "special": true, - "type": "ethernet" - }, - { - "id": "vmnet7", - "ip_address": "172.16.5.1", - "mac_address": "00:50:56:c0:00:07", - "name": "vmnet7", - "netmask": "255.255.255.0", - "special": true, - "type": "ethernet" - }, - { - "id": "vmnet8", - "ip_address": "192.168.229.1", - "mac_address": "00:50:56:c0:00:08", - "name": "vmnet8", - "netmask": "255.255.255.0", - "special": true, - "type": "ethernet" - }, - { - "id": "vmnet9", - "ip_address": "172.16.6.1", - "mac_address": "00:50:56:c0:00:09", - "name": "vmnet9", - "netmask": "255.255.255.0", - "special": true, - "type": "ethernet" } ] diff --git a/docs/api/examples/compute_get_projects.txt b/docs/api/examples/compute_get_projects.txt index 7ab53995..e851566e 100644 --- a/docs/api/examples/compute_get_projects.txt +++ b/docs/api/examples/compute_get_projects.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 198 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:22 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:55 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects [ diff --git a/docs/api/examples/compute_get_projectsprojectid.txt b/docs/api/examples/compute_get_projectsprojectid.txt index d1f641cc..a1e8cf1b 100644 --- a/docs/api/examples/compute_get_projectsprojectid.txt +++ b/docs/api/examples/compute_get_projectsprojectid.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 80 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:21 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:55 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id} { diff --git a/docs/api/examples/compute_get_projectsprojectidcloudnodesnodeid.txt b/docs/api/examples/compute_get_projectsprojectidcloudnodesnodeid.txt index 48fb9a18..48e6b7e6 100644 --- a/docs/api/examples/compute_get_projectsprojectidcloudnodesnodeid.txt +++ b/docs/api/examples/compute_get_projectsprojectidcloudnodesnodeid.txt @@ -1,15 +1,15 @@ -curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/6e8d100d-88bb-4f15-8750-d4fa9c614314' +curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/870c464a-d236-4a5e-8a1d-87893c493f4c' -GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/6e8d100d-88bb-4f15-8750-d4fa9c614314 HTTP/1.1 +GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/870c464a-d236-4a5e-8a1d-87893c493f4c HTTP/1.1 HTTP/1.1 200 Connection: close -Content-Length: 2951 +Content-Length: 1584 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:06:59 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:42 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id} { @@ -48,66 +48,11 @@ X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id} "name": "p2p0", "special": true, "type": "ethernet" - }, - { - "name": "utun0", - "special": false, - "type": "ethernet" - }, - { - "name": "vmnet1", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet10", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet2", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet3", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet4", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet5", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet6", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet7", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet8", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet9", - "special": true, - "type": "ethernet" } ], "name": "Cloud 1", - "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/project-files/builtin/6e8d100d-88bb-4f15-8750-d4fa9c614314", - "node_id": "6e8d100d-88bb-4f15-8750-d4fa9c614314", + "node_directory": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/project-files/builtin/870c464a-d236-4a5e-8a1d-87893c493f4c", + "node_id": "870c464a-d236-4a5e-8a1d-87893c493f4c", "ports_mapping": [ { "interface": "en0", @@ -126,12 +71,6 @@ X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id} "name": "en2", "port_number": 2, "type": "ethernet" - }, - { - "interface": "utun0", - "name": "utun0", - "port_number": 3, - "type": "ethernet" } ], "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", diff --git a/docs/api/examples/compute_get_projectsprojectidiounodesnodeid.txt b/docs/api/examples/compute_get_projectsprojectidiounodesnodeid.txt index b0f69397..6d6f3973 100644 --- a/docs/api/examples/compute_get_projectsprojectidiounodesnodeid.txt +++ b/docs/api/examples/compute_get_projectsprojectidiounodesnodeid.txt @@ -1,18 +1,19 @@ -curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/3719606a-bb6a-4a9d-b58d-6ca9e81d4cc2' +curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/f1e67396-246b-4edb-bfeb-cfd6bd028ae1' -GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/3719606a-bb6a-4a9d-b58d-6ca9e81d4cc2 HTTP/1.1 +GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/f1e67396-246b-4edb-bfeb-cfd6bd028ae1 HTTP/1.1 HTTP/1.1 200 Connection: close -Content-Length: 640 +Content-Length: 665 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:08 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:47 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id} { + "application_id": 1, "command_line": "", "console": 5004, "console_type": "telnet", @@ -20,8 +21,8 @@ X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id} "l1_keepalives": false, "md5sum": "e573e8f5c93c6c00783f20c7a170aa6c", "name": "PC TEST 1", - "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/project-files/iou/3719606a-bb6a-4a9d-b58d-6ca9e81d4cc2", - "node_id": "3719606a-bb6a-4a9d-b58d-6ca9e81d4cc2", + "node_directory": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/project-files/iou/f1e67396-246b-4edb-bfeb-cfd6bd028ae1", + "node_id": "f1e67396-246b-4edb-bfeb-cfd6bd028ae1", "nvram": 128, "path": "iou.bin", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", diff --git a/docs/api/examples/compute_get_projectsprojectidnatnodesnodeid.txt b/docs/api/examples/compute_get_projectsprojectidnatnodesnodeid.txt index bec18d0f..bc6e43cf 100644 --- a/docs/api/examples/compute_get_projectsprojectidnatnodesnodeid.txt +++ b/docs/api/examples/compute_get_projectsprojectidnatnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/82feae22-4a86-4664-ac99-5b694c99bfd8' +curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/2d520206-fba0-4b14-9fac-c065701eab55' -GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/82feae22-4a86-4664-ac99-5b694c99bfd8 HTTP/1.1 +GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/2d520206-fba0-4b14-9fac-c065701eab55 HTTP/1.1 @@ -8,13 +8,13 @@ HTTP/1.1 200 Connection: close Content-Length: 335 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:15 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:49 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id} { "name": "Nat 1", - "node_id": "82feae22-4a86-4664-ac99-5b694c99bfd8", + "node_id": "2d520206-fba0-4b14-9fac-c065701eab55", "ports_mapping": [ { "interface": "virbr0", diff --git a/docs/api/examples/compute_get_projectsprojectidqemunodesnodeid.txt b/docs/api/examples/compute_get_projectsprojectidqemunodesnodeid.txt index 2cdaa8f4..ece08136 100644 --- a/docs/api/examples/compute_get_projectsprojectidqemunodesnodeid.txt +++ b/docs/api/examples/compute_get_projectsprojectidqemunodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c3f10549-f4ca-45cb-9831-6aeda28c5ffa' +curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/24403711-3db5-4cae-abae-956bfbf08519' -GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c3f10549-f4ca-45cb-9831-6aeda28c5ffa HTTP/1.1 +GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/24403711-3db5-4cae-abae-956bfbf08519 HTTP/1.1 @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 1468 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:27 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:55 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id} { @@ -44,15 +44,15 @@ X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id} "kernel_image": "", "kernel_image_md5sum": null, "legacy_networking": false, - "mac_address": "00:dd:80:5f:fa:00", + "mac_address": "00:dd:80:85:19:00", "name": "PC TEST 1", - "node_directory": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpogl9mqkr/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/c3f10549-f4ca-45cb-9831-6aeda28c5ffa", - "node_id": "c3f10549-f4ca-45cb-9831-6aeda28c5ffa", + "node_directory": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/24403711-3db5-4cae-abae-956bfbf08519", + "node_id": "24403711-3db5-4cae-abae-956bfbf08519", "options": "", "platform": "x86_64", "process_priority": "low", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", - "qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp47ntn6ne/qemu-system-x86_64", + "qemu_path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp26lo7e4o/qemu-system-x86_64", "ram": 256, "status": "stopped", "usage": "" diff --git a/docs/api/examples/compute_get_projectsprojectidvirtualboxnodesnodeid.txt b/docs/api/examples/compute_get_projectsprojectidvirtualboxnodesnodeid.txt index eb424c69..b1e56213 100644 --- a/docs/api/examples/compute_get_projectsprojectidvirtualboxnodesnodeid.txt +++ b/docs/api/examples/compute_get_projectsprojectidvirtualboxnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/2901742a-3226-4ac7-96a1-85be8dd885d5' +curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/0e9631fd-c8b4-4a21-bba1-2fe71d2387e0' -GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/2901742a-3226-4ac7-96a1-85be8dd885d5 HTTP/1.1 +GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/0e9631fd-c8b4-4a21-bba1-2fe71d2387e0 HTTP/1.1 @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 465 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:37 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:57 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id} { @@ -22,7 +22,7 @@ X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id} "linked_clone": false, "name": "VMTEST", "node_directory": null, - "node_id": "2901742a-3226-4ac7-96a1-85be8dd885d5", + "node_id": "0e9631fd-c8b4-4a21-bba1-2fe71d2387e0", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", "ram": 0, "status": "stopped", diff --git a/docs/api/examples/compute_get_projectsprojectidvmwarenodesnodeid.txt b/docs/api/examples/compute_get_projectsprojectidvmwarenodesnodeid.txt new file mode 100644 index 00000000..2bb99c63 --- /dev/null +++ b/docs/api/examples/compute_get_projectsprojectidvmwarenodesnodeid.txt @@ -0,0 +1,30 @@ +curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/1cb7bfee-78f2-442d-8c62-da5fba43c91a' + +GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/1cb7bfee-78f2-442d-8c62-da5fba43c91a HTTP/1.1 + + + +HTTP/1.1 200 +Connection: close +Content-Length: 688 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:15:59 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/1cb7bfee-78f2-442d-8c62-da5fba43c91a", + "node_id": "1cb7bfee-78f2-442d-8c62-da5fba43c91a", + "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", + "status": "stopped", + "use_any_adapter": false, + "vmx_path": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_vmware_get0/test.vmx" +} diff --git a/docs/api/examples/compute_get_projectsprojectidvpcsnodesnodeid.txt b/docs/api/examples/compute_get_projectsprojectidvpcsnodesnodeid.txt index 8b388f3f..84d97efe 100644 --- a/docs/api/examples/compute_get_projectsprojectidvpcsnodesnodeid.txt +++ b/docs/api/examples/compute_get_projectsprojectidvpcsnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/ccb9b060-d1b7-4c90-a567-4fdb15ffe05f' +curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/ba38f0b3-b87d-4f60-a2b8-47fef0cf9ab7' -GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/ccb9b060-d1b7-4c90-a567-4fdb15ffe05f HTTP/1.1 +GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/ba38f0b3-b87d-4f60-a2b8-47fef0cf9ab7 HTTP/1.1 @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 428 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:39 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id} { @@ -17,8 +17,8 @@ X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id} "console": 5004, "console_type": "telnet", "name": "PC TEST 1", - "node_directory": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpogl9mqkr/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/ccb9b060-d1b7-4c90-a567-4fdb15ffe05f", - "node_id": "ccb9b060-d1b7-4c90-a567-4fdb15ffe05f", + "node_directory": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/ba38f0b3-b87d-4f60-a2b8-47fef0cf9ab7", + "node_id": "ba38f0b3-b87d-4f60-a2b8-47fef0cf9ab7", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", "status": "stopped" } diff --git a/docs/api/examples/compute_get_qemubinaries.txt b/docs/api/examples/compute_get_qemubinaries.txt index e77e4bde..fd0fb43a 100644 --- a/docs/api/examples/compute_get_qemubinaries.txt +++ b/docs/api/examples/compute_get_qemubinaries.txt @@ -12,8 +12,8 @@ HTTP/1.1 200 Connection: close Content-Length: 212 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:32 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:57 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/qemu/binaries [ diff --git a/docs/api/examples/compute_get_qemucapabilities.txt b/docs/api/examples/compute_get_qemucapabilities.txt index a245df01..55bd4a8d 100644 --- a/docs/api/examples/compute_get_qemucapabilities.txt +++ b/docs/api/examples/compute_get_qemucapabilities.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 39 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:35 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:57 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/qemu/capabilities { diff --git a/docs/api/examples/compute_get_version.txt b/docs/api/examples/compute_get_version.txt index 25f9dce5..1aca034a 100644 --- a/docs/api/examples/compute_get_version.txt +++ b/docs/api/examples/compute_get_version.txt @@ -8,11 +8,11 @@ HTTP/1.1 200 Connection: close Content-Length: 49 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:36 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:57 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/version { "local": true, - "version": "2.1.0dev1" + "version": "2.1.2dev1" } diff --git a/docs/api/examples/compute_post_projects.txt b/docs/api/examples/compute_post_projects.txt index 9e246c96..c3c7022d 100644 --- a/docs/api/examples/compute_post_projects.txt +++ b/docs/api/examples/compute_post_projects.txt @@ -11,8 +11,8 @@ HTTP/1.1 201 Connection: close Content-Length: 80 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:20 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:54 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects { diff --git a/docs/api/examples/compute_post_projectsprojectidclose.txt b/docs/api/examples/compute_post_projectsprojectidclose.txt index 54b8eb0f..6554fc1f 100644 --- a/docs/api/examples/compute_post_projectsprojectidclose.txt +++ b/docs/api/examples/compute_post_projectsprojectidclose.txt @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:24 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:55 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/close diff --git a/docs/api/examples/compute_post_projectsprojectidcloudnodes.txt b/docs/api/examples/compute_post_projectsprojectidcloudnodes.txt index aed925bc..dc5c9802 100644 --- a/docs/api/examples/compute_post_projectsprojectidcloudnodes.txt +++ b/docs/api/examples/compute_post_projectsprojectidcloudnodes.txt @@ -8,10 +8,10 @@ POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes HTTP/ HTTP/1.1 201 Connection: close -Content-Length: 2951 +Content-Length: 1584 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:06:59 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:42 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/cloud/nodes { @@ -50,66 +50,11 @@ X-Route: /v2/compute/projects/{project_id}/cloud/nodes "name": "p2p0", "special": true, "type": "ethernet" - }, - { - "name": "utun0", - "special": false, - "type": "ethernet" - }, - { - "name": "vmnet1", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet10", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet2", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet3", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet4", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet5", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet6", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet7", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet8", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet9", - "special": true, - "type": "ethernet" } ], "name": "Cloud 1", - "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/project-files/builtin/d3c99fe4-9f9c-4667-add5-2e37a75dbbb1", - "node_id": "d3c99fe4-9f9c-4667-add5-2e37a75dbbb1", + "node_directory": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/project-files/builtin/f5c51574-0032-419f-af7e-87edd8cab649", + "node_id": "f5c51574-0032-419f-af7e-87edd8cab649", "ports_mapping": [ { "interface": "en0", @@ -128,12 +73,6 @@ X-Route: /v2/compute/projects/{project_id}/cloud/nodes "name": "en2", "port_number": 2, "type": "ethernet" - }, - { - "interface": "utun0", - "name": "utun0", - "port_number": 3, - "type": "ethernet" } ], "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", diff --git a/docs/api/examples/compute_post_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_post_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt index db3228cc..d68bc365 100644 --- a/docs/api/examples/compute_post_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_post_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/2cd925a3-2a7f-4d92-bd2d-f0fbf93f0bc8/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/dbff6f53-7446-4c8f-bebb-38b568b1edc6/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/2cd925a3-2a7f-4d92-bd2d-f0fbf93f0bc8/adapters/0/ports/0/nio HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/dbff6f53-7446-4c8f-bebb-38b568b1edc6/adapters/0/ports/0/nio HTTP/1.1 { "lport": 4242, "rhost": "127.0.0.1", @@ -13,8 +13,8 @@ HTTP/1.1 201 Connection: close Content-Length: 89 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:06:59 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:43 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio { diff --git a/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt index b1382da8..f033d818 100644 --- a/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/63fcdc24-7a76-4ad3-a47a-08f3c54fd574/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/22a7d45d-7024-4303-bfd6-bedd6bab4037/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/63fcdc24-7a76-4ad3-a47a-08f3c54fd574/adapters/0/ports/0/nio HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/22a7d45d-7024-4303-bfd6-bedd6bab4037/adapters/0/ports/0/nio HTTP/1.1 { "lport": 4242, "rhost": "127.0.0.1", @@ -13,8 +13,8 @@ HTTP/1.1 201 Connection: close Content-Length: 89 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:04 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:46 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio { diff --git a/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdstartcapture.txt b/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdstartcapture.txt index eb0763a1..4fa39c43 100644 --- a/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdstartcapture.txt +++ b/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdstartcapture.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/389b8efd-70d1-4305-a1e0-5ea3bb3e647c/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/283cc38e-c13f-41e9-951e-42c9723fb3bc/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/389b8efd-70d1-4305-a1e0-5ea3bb3e647c/adapters/0/ports/0/start_capture HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/283cc38e-c13f-41e9-951e-42c9723fb3bc/adapters/0/ports/0/start_capture HTTP/1.1 { "capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB" @@ -11,10 +11,10 @@ HTTP/1.1 200 Connection: close Content-Length: 145 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:06 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:46 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture { - "pcap_file_path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/tmp/captures/test.pcap" + "pcap_file_path": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/tmp/captures/test.pcap" } diff --git a/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdstopcapture.txt b/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdstopcapture.txt index 9c00ddb8..75805247 100644 --- a/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdstopcapture.txt +++ b/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdstopcapture.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/4b535824-c72f-484b-a5c5-da2e67e908f2/adapters/0/ports/0/stop_capture' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/b25504e3-b9a3-42c4-8280-bc590448deb4/adapters/0/ports/0/stop_capture' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/4b535824-c72f-484b-a5c5-da2e67e908f2/adapters/0/ports/0/stop_capture HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/b25504e3-b9a3-42c4-8280-bc590448deb4/adapters/0/ports/0/stop_capture HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:06 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:47 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture diff --git a/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidduplicate.txt b/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidduplicate.txt new file mode 100644 index 00000000..952cc8b2 --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectiddockernodesnodeidduplicate.txt @@ -0,0 +1,17 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/3abf5f1e-3d86-41f1-8fe7-9b6e2b89f236/duplicate' -d '{"destination_node_id": "933fb9ff-759b-4781-8da7-ff28bd3c4a8d"}' + +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/3abf5f1e-3d86-41f1-8fe7-9b6e2b89f236/duplicate HTTP/1.1 +{ + "destination_node_id": "933fb9ff-759b-4781-8da7-ff28bd3c4a8d" +} + + +HTTP/1.1 201 +Connection: close +Content-Length: 4 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:15:47 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id}/duplicate + +true diff --git a/docs/api/examples/compute_post_projectsprojectidiounodes.txt b/docs/api/examples/compute_post_projectsprojectidiounodes.txt index 725f77ba..81cc286e 100644 --- a/docs/api/examples/compute_post_projectsprojectidiounodes.txt +++ b/docs/api/examples/compute_post_projectsprojectidiounodes.txt @@ -1,9 +1,9 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes' -d '{"name": "PC TEST 1", "node_id": "adb7de66-2415-44b5-8a84-2dc5fdee6979", "path": "iou.bin", "startup_config_content": "hostname test"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes' -d '{"name": "PC TEST 1", "node_id": "2a40df31-c258-409e-8aa3-466baab4bb1a", "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": "adb7de66-2415-44b5-8a84-2dc5fdee6979", + "node_id": "2a40df31-c258-409e-8aa3-466baab4bb1a", "path": "iou.bin", "startup_config_content": "hostname test" } @@ -11,13 +11,14 @@ POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes HTTP/1. HTTP/1.1 201 Connection: close -Content-Length: 640 +Content-Length: 665 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:08 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:47 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes { + "application_id": 1, "command_line": "", "console": 5004, "console_type": "telnet", @@ -25,8 +26,8 @@ X-Route: /v2/compute/projects/{project_id}/iou/nodes "l1_keepalives": false, "md5sum": "e573e8f5c93c6c00783f20c7a170aa6c", "name": "PC TEST 1", - "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/project-files/iou/adb7de66-2415-44b5-8a84-2dc5fdee6979", - "node_id": "adb7de66-2415-44b5-8a84-2dc5fdee6979", + "node_directory": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/project-files/iou/2a40df31-c258-409e-8aa3-466baab4bb1a", + "node_id": "2a40df31-c258-409e-8aa3-466baab4bb1a", "nvram": 128, "path": "iou.bin", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", diff --git a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt index 0de3e594..0884bf6c 100644 --- a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/eb58fbf6-61da-4b9f-9d3d-114fc01b2819/adapters/1/ports/0/nio' -d '{"ethernet_device": "bridge0", "type": "nio_ethernet"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/bde9180a-13f9-484b-93b7-7cd79dd12e59/adapters/1/ports/0/nio' -d '{"ethernet_device": "bridge0", "type": "nio_ethernet"}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/eb58fbf6-61da-4b9f-9d3d-114fc01b2819/adapters/1/ports/0/nio HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/bde9180a-13f9-484b-93b7-7cd79dd12e59/adapters/1/ports/0/nio HTTP/1.1 { "ethernet_device": "bridge0", "type": "nio_ethernet" @@ -11,8 +11,8 @@ HTTP/1.1 201 Connection: close Content-Length: 64 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:11 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:48 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio { diff --git a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdstartcapture.txt b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdstartcapture.txt index 926ca398..0c63abaf 100644 --- a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdstartcapture.txt +++ b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdstartcapture.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/77839213-c55a-484c-98a3-2bf0d2893352/adapters/0/ports/0/start_capture' -d '{"capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/2c1dfb5a-629f-4f71-a28b-32b5afdda38c/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/77839213-c55a-484c-98a3-2bf0d2893352/adapters/0/ports/0/start_capture HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/2c1dfb5a-629f-4f71-a28b-32b5afdda38c/adapters/0/ports/0/start_capture HTTP/1.1 { "capture_file_name": "test.pcap", "data_link_type": "DLT_EN10MB" @@ -11,10 +11,10 @@ HTTP/1.1 200 Connection: close Content-Length: 145 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:13 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:48 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture { - "pcap_file_path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/tmp/captures/test.pcap" + "pcap_file_path": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/tmp/captures/test.pcap" } diff --git a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdstopcapture.txt b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdstopcapture.txt index 1454e46d..ca7c6451 100644 --- a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdstopcapture.txt +++ b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdstopcapture.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/d11f7bfb-6250-4d9d-ae8d-a3d152c3de7c/adapters/0/ports/0/stop_capture' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/1fe06fbf-df85-4a1e-8719-9bcee87e95c3/adapters/0/ports/0/stop_capture' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/d11f7bfb-6250-4d9d-ae8d-a3d152c3de7c/adapters/0/ports/0/stop_capture HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/1fe06fbf-df85-4a1e-8719-9bcee87e95c3/adapters/0/ports/0/stop_capture HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:14 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:48 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture diff --git a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidduplicate.txt b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidduplicate.txt new file mode 100644 index 00000000..6a5bdf33 --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidduplicate.txt @@ -0,0 +1,17 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/5004383e-1288-434b-bb06-86d2831b3197/duplicate' -d '{"destination_node_id": "10e25f8a-476d-46d0-a152-ffce1c0a1e6d"}' + +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/5004383e-1288-434b-bb06-86d2831b3197/duplicate HTTP/1.1 +{ + "destination_node_id": "10e25f8a-476d-46d0-a152-ffce1c0a1e6d" +} + + +HTTP/1.1 201 +Connection: close +Content-Length: 4 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:15:49 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/duplicate + +true diff --git a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidreload.txt b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidreload.txt index b5294b61..9f35b297 100644 --- a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidreload.txt +++ b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidreload.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/d1e486ba-72d8-4fd3-a5fe-b2f4bcdb353b/reload' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/920627e2-ac0a-4ff5-b7f0-92146d119cfa/reload' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/d1e486ba-72d8-4fd3-a5fe-b2f4bcdb353b/reload HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/920627e2-ac0a-4ff5-b7f0-92146d119cfa/reload HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:09 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:47 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/reload diff --git a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidstart.txt b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidstart.txt index 5853be17..1aded760 100644 --- a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidstart.txt +++ b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidstart.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/866ec4e8-835c-41bc-ae06-ef3aefc3133c/start' -d '{"iourc_content": "test"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/7aaf8730-a591-434b-832c-545c3fdace21/start' -d '{"iourc_content": "test"}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/866ec4e8-835c-41bc-ae06-ef3aefc3133c/start HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/7aaf8730-a591-434b-832c-545c3fdace21/start HTTP/1.1 { "iourc_content": "test" } @@ -8,13 +8,14 @@ POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/866ec4e HTTP/1.1 200 Connection: close -Content-Length: 640 +Content-Length: 665 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:09 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:47 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/start { + "application_id": 1, "command_line": "", "console": 5004, "console_type": "telnet", @@ -22,8 +23,8 @@ X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/start "l1_keepalives": false, "md5sum": "e573e8f5c93c6c00783f20c7a170aa6c", "name": "PC TEST 1", - "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/project-files/iou/866ec4e8-835c-41bc-ae06-ef3aefc3133c", - "node_id": "866ec4e8-835c-41bc-ae06-ef3aefc3133c", + "node_directory": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/project-files/iou/7aaf8730-a591-434b-832c-545c3fdace21", + "node_id": "7aaf8730-a591-434b-832c-545c3fdace21", "nvram": 128, "path": "iou.bin", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", diff --git a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidstop.txt b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidstop.txt index 879c19b9..448a837b 100644 --- a/docs/api/examples/compute_post_projectsprojectidiounodesnodeidstop.txt +++ b/docs/api/examples/compute_post_projectsprojectidiounodesnodeidstop.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/a11a0e08-4013-4727-b16b-29e92fc6f7cf/stop' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/815fcdf5-75d2-48a4-99b1-f4651460c031/stop' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/a11a0e08-4013-4727-b16b-29e92fc6f7cf/stop HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/815fcdf5-75d2-48a4-99b1-f4651460c031/stop HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:09 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:47 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id}/stop diff --git a/docs/api/examples/compute_post_projectsprojectidnatnodes.txt b/docs/api/examples/compute_post_projectsprojectidnatnodes.txt index 421e229f..e53c3018 100644 --- a/docs/api/examples/compute_post_projectsprojectidnatnodes.txt +++ b/docs/api/examples/compute_post_projectsprojectidnatnodes.txt @@ -10,13 +10,13 @@ HTTP/1.1 201 Connection: close Content-Length: 335 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:15 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:49 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/nat/nodes { "name": "Nat 1", - "node_id": "0bfda9f4-d320-437b-ad78-524022eb0ea7", + "node_id": "bb9f6090-ce62-461c-8457-babcbabe1417", "ports_mapping": [ { "interface": "virbr0", diff --git a/docs/api/examples/compute_post_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_post_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt index 3926e861..6a1c7fb3 100644 --- a/docs/api/examples/compute_post_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_post_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/87b491bd-60dd-44d1-a2d3-98859e4a9c8d/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/7ac53432-e8aa-41ab-b3fe-a0278f0dd73b/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/87b491bd-60dd-44d1-a2d3-98859e4a9c8d/adapters/0/ports/0/nio HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/7ac53432-e8aa-41ab-b3fe-a0278f0dd73b/adapters/0/ports/0/nio HTTP/1.1 { "lport": 4242, "rhost": "127.0.0.1", @@ -13,8 +13,8 @@ HTTP/1.1 201 Connection: close Content-Length: 89 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:16 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:49 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio { diff --git a/docs/api/examples/compute_post_projectsprojectidportsudp.txt b/docs/api/examples/compute_post_projectsprojectidportsudp.txt index 4d46b339..c0eab42b 100644 --- a/docs/api/examples/compute_post_projectsprojectidportsudp.txt +++ b/docs/api/examples/compute_post_projectsprojectidportsudp.txt @@ -8,8 +8,8 @@ HTTP/1.1 201 Connection: close Content-Length: 25 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:18 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:54 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/ports/udp { diff --git a/docs/api/examples/compute_post_projectsprojectidqemunodes.txt b/docs/api/examples/compute_post_projectsprojectidqemunodes.txt index ab925aab..399b0eb4 100644 --- a/docs/api/examples/compute_post_projectsprojectidqemunodes.txt +++ b/docs/api/examples/compute_post_projectsprojectidqemunodes.txt @@ -1,10 +1,10 @@ -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": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp47ntn6ne/qemu-system-x86_64", "ram": 1024}' +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": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp26lo7e4o/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": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp47ntn6ne/qemu-system-x86_64", + "qemu_path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp26lo7e4o/qemu-system-x86_64", "ram": 1024 } @@ -13,8 +13,8 @@ HTTP/1.1 201 Connection: close Content-Length: 1514 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:26 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:55 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes { @@ -49,15 +49,15 @@ X-Route: /v2/compute/projects/{project_id}/qemu/nodes "kernel_image": "", "kernel_image_md5sum": null, "legacy_networking": false, - "mac_address": "00:dd:80:08:57:00", + "mac_address": "00:dd:80:61:ca:00", "name": "PC TEST 1", - "node_directory": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpogl9mqkr/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/8f66a9c3-60bd-4a10-8feb-73e3341f0857", - "node_id": "8f66a9c3-60bd-4a10-8feb-73e3341f0857", + "node_directory": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/c5506ba4-66a1-4b97-b632-0b73291161ca", + "node_id": "c5506ba4-66a1-4b97-b632-0b73291161ca", "options": "", "platform": "x86_64", "process_priority": "low", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", - "qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp47ntn6ne/qemu-system-x86_64", + "qemu_path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp26lo7e4o/qemu-system-x86_64", "ram": 1024, "status": "stopped", "usage": "" diff --git a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt index b40070ea..bcac1dec 100644 --- a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,21 +1,25 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/3a264a0f-bcdc-4c4e-b28f-ab27486dacf0/adapters/1/ports/0/nio' -d '{"ethernet_device": "eth0", "type": "nio_ethernet"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/61a9f99e-3542-49a5-b082-fd154577b1da/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/3a264a0f-bcdc-4c4e-b28f-ab27486dacf0/adapters/1/ports/0/nio HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/61a9f99e-3542-49a5-b082-fd154577b1da/adapters/1/ports/0/nio HTTP/1.1 { - "ethernet_device": "eth0", - "type": "nio_ethernet" + "lport": 4242, + "rhost": "127.0.0.1", + "rport": 4343, + "type": "nio_udp" } -HTTP/1.1 409 +HTTP/1.1 201 Connection: close -Content-Length: 81 +Content-Length: 89 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:31 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio { - "message": "NIO of type nio_ethernet is not supported", - "status": 409 + "lport": 4242, + "rhost": "127.0.0.1", + "rport": 4343, + "type": "nio_udp" } diff --git a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidduplicate.txt b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidduplicate.txt new file mode 100644 index 00000000..0702c4b1 --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidduplicate.txt @@ -0,0 +1,17 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/991224a4-0c6a-46f5-a9cf-7a7b03dd2f7f/duplicate' -d '{"destination_node_id": "ddc56104-6d5b-44b8-8883-560df43c12d4"}' + +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/991224a4-0c6a-46f5-a9cf-7a7b03dd2f7f/duplicate HTTP/1.1 +{ + "destination_node_id": "ddc56104-6d5b-44b8-8883-560df43c12d4" +} + + +HTTP/1.1 201 +Connection: close +Content-Length: 4 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:15:57 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/duplicate + +true diff --git a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidreload.txt b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidreload.txt index ae5944a2..1ef73170 100644 --- a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidreload.txt +++ b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidreload.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c081c6f2-a073-410d-a182-a99fee27f1a2/reload' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/a5001f88-4ea1-4c30-b150-0b64d6468114/reload' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/c081c6f2-a073-410d-a182-a99fee27f1a2/reload HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/a5001f88-4ea1-4c30-b150-0b64d6468114/reload HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:28 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/reload diff --git a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidresume.txt b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidresume.txt index 49baf19f..86644775 100644 --- a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidresume.txt +++ b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidresume.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/1f21573b-5ec1-401d-84a7-803d19f11b8c/resume' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/47c84302-343c-49ec-88aa-d6df5c12ca76/resume' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/1f21573b-5ec1-401d-84a7-803d19f11b8c/resume HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/47c84302-343c-49ec-88aa-d6df5c12ca76/resume HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:29 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/resume diff --git a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidstart.txt b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidstart.txt index 5d87868b..eff36977 100644 --- a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidstart.txt +++ b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidstart.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ee86570c-7cc3-4c9d-95a7-55fbb442fd43/start' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/549b4a45-e05f-46f7-9162-9c8917cfdbd2/start' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/ee86570c-7cc3-4c9d-95a7-55fbb442fd43/start HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/549b4a45-e05f-46f7-9162-9c8917cfdbd2/start HTTP/1.1 {} @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 1468 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:27 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/start { @@ -44,15 +44,15 @@ X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/start "kernel_image": "", "kernel_image_md5sum": null, "legacy_networking": false, - "mac_address": "00:dd:80:fd:43:00", + "mac_address": "00:dd:80:db:d2:00", "name": "PC TEST 1", - "node_directory": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpogl9mqkr/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/ee86570c-7cc3-4c9d-95a7-55fbb442fd43", - "node_id": "ee86570c-7cc3-4c9d-95a7-55fbb442fd43", + "node_directory": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/549b4a45-e05f-46f7-9162-9c8917cfdbd2", + "node_id": "549b4a45-e05f-46f7-9162-9c8917cfdbd2", "options": "", "platform": "x86_64", "process_priority": "low", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", - "qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp47ntn6ne/qemu-system-x86_64", + "qemu_path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp26lo7e4o/qemu-system-x86_64", "ram": 256, "status": "stopped", "usage": "" diff --git a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidstop.txt b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidstop.txt index d381fbd7..8ad14370 100644 --- a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidstop.txt +++ b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidstop.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/96005c5e-f02b-433b-a826-92d8cb52ebe8/stop' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/76838b21-f233-49fc-8b9e-efb44e924770/stop' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/96005c5e-f02b-433b-a826-92d8cb52ebe8/stop HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/76838b21-f233-49fc-8b9e-efb44e924770/stop HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:28 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/stop diff --git a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidsuspend.txt b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidsuspend.txt index 60dfcf82..605a1990 100644 --- a/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidsuspend.txt +++ b/docs/api/examples/compute_post_projectsprojectidqemunodesnodeidsuspend.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/3faa953d-5669-40a0-8ede-8e6671e506fe/suspend' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/0e83b0b6-4a6a-4c59-9f1d-cd38eef8d8c3/suspend' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/3faa953d-5669-40a0-8ede-8e6671e506fe/suspend HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/0e83b0b6-4a6a-4c59-9f1d-cd38eef8d8c3/suspend HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:28 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id}/suspend diff --git a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodes.txt b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodes.txt index b99f468e..db20360a 100644 --- a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodes.txt +++ b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodes.txt @@ -12,8 +12,8 @@ HTTP/1.1 201 Connection: close Content-Length: 459 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:36 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:57 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes { @@ -26,7 +26,7 @@ X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes "linked_clone": false, "name": "VM1", "node_directory": null, - "node_id": "9e2ac63a-073c-4a24-aeac-f61357a5f90f", + "node_id": "dbbae445-fdee-4985-ab03-9fd20c4dd5c1", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", "ram": 0, "status": "stopped", diff --git a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt index 4ad9a6c3..e7270773 100644 --- a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/96f83848-0576-4ef0-ae34-59e94f151aa9/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/acf82559-f05c-4623-8607-f4725c99dd19/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/96f83848-0576-4ef0-ae34-59e94f151aa9/adapters/0/ports/0/nio HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/acf82559-f05c-4623-8607-f4725c99dd19/adapters/0/ports/0/nio HTTP/1.1 { "lport": 4242, "rhost": "127.0.0.1", @@ -13,8 +13,8 @@ HTTP/1.1 201 Connection: close Content-Length: 89 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:38 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:58 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio { diff --git a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidreload.txt b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidreload.txt index 356c5eef..9e91965d 100644 --- a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidreload.txt +++ b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidreload.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/2266dbe5-4a29-42e2-8b96-4fcd5f53ead0/reload' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/dec54572-148b-4d8a-b8e6-fed0f2f0e27a/reload' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/2266dbe5-4a29-42e2-8b96-4fcd5f53ead0/reload HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/dec54572-148b-4d8a-b8e6-fed0f2f0e27a/reload HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:38 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:58 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/reload diff --git a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidresume.txt b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidresume.txt index a8d57150..c495f6bc 100644 --- a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidresume.txt +++ b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidresume.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/648ab272-9340-4b8c-ac48-1ab94d347414/resume' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/890d1ef3-de36-4215-a3d2-2e7735238784/resume' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/648ab272-9340-4b8c-ac48-1ab94d347414/resume HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/890d1ef3-de36-4215-a3d2-2e7735238784/resume HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:37 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:58 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/resume diff --git a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidstart.txt b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidstart.txt index 4b489450..c924f306 100644 --- a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidstart.txt +++ b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidstart.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/5fb0ae01-4a89-4441-ab26-387d99e59966/start' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/14876fc1-ed1f-45c6-9fe5-03c5c1de21be/start' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/5fb0ae01-4a89-4441-ab26-387d99e59966/start HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/14876fc1-ed1f-45c6-9fe5-03c5c1de21be/start HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:37 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:57 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/start diff --git a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidstop.txt b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidstop.txt index 0231393c..afeb5c18 100644 --- a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidstop.txt +++ b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidstop.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/691076a7-5d1c-47b2-b100-7e3eda812e42/stop' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/030a16df-bb45-476b-8b4a-ad82e6a03859/stop' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/691076a7-5d1c-47b2-b100-7e3eda812e42/stop HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/030a16df-bb45-476b-8b4a-ad82e6a03859/stop HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:37 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:58 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/stop diff --git a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidsuspend.txt b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidsuspend.txt index fb847d2c..a0bbe4de 100644 --- a/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidsuspend.txt +++ b/docs/api/examples/compute_post_projectsprojectidvirtualboxnodesnodeidsuspend.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/4928f9c9-5741-47ad-8dc3-6478e5a2d2cc/suspend' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/c3f25ab6-15b2-472f-b9c8-a3e9d2db521e/suspend' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/4928f9c9-5741-47ad-8dc3-6478e5a2d2cc/suspend HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/c3f25ab6-15b2-472f-b9c8-a3e9d2db521e/suspend HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:37 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:58 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id}/suspend diff --git a/docs/api/examples/compute_post_projectsprojectidvmwarenodes.txt b/docs/api/examples/compute_post_projectsprojectidvmwarenodes.txt new file mode 100644 index 00000000..c6c3d72c --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidvmwarenodes.txt @@ -0,0 +1,34 @@ +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": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/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": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_vmware_create0/test.vmx" +} + + +HTTP/1.1 201 +Connection: close +Content-Length: 688 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:15:58 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/363338c7-451e-4f3d-a74a-5d7400b2325b", + "node_id": "363338c7-451e-4f3d-a74a-5d7400b2325b", + "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", + "status": "stopped", + "use_any_adapter": false, + "vmx_path": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_vmware_create0/test.vmx" +} diff --git a/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..a3e6933d --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,25 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/8bd601b4-b70c-455d-86a8-656a844523bf/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/8bd601b4-b70c-455d-86a8-656a844523bf/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: Mon, 08 Jan 2018 08:16:06 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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" +} diff --git a/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidreload.txt b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidreload.txt new file mode 100644 index 00000000..06974d43 --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidreload.txt @@ -0,0 +1,14 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/f29ee895-6312-4c95-813a-2194257925f3/reload' -d '{}' + +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/f29ee895-6312-4c95-813a-2194257925f3/reload HTTP/1.1 +{} + + +HTTP/1.1 204 +Connection: close +Content-Length: 0 +Content-Type: application/octet-stream +Date: Mon, 08 Jan 2018 08:16:05 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/reload + diff --git a/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidresume.txt b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidresume.txt new file mode 100644 index 00000000..58e242fd --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidresume.txt @@ -0,0 +1,14 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/5b5cf295-69cf-4c7f-8dbe-cd34d8a50b96/resume' -d '{}' + +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/5b5cf295-69cf-4c7f-8dbe-cd34d8a50b96/resume HTTP/1.1 +{} + + +HTTP/1.1 204 +Connection: close +Content-Length: 0 +Content-Type: application/octet-stream +Date: Mon, 08 Jan 2018 08:16:04 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/resume + diff --git a/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidstart.txt b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidstart.txt new file mode 100644 index 00000000..e901133f --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidstart.txt @@ -0,0 +1,14 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/3284972b-259f-4c32-804c-f95253a2b272/start' -d '{}' + +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/3284972b-259f-4c32-804c-f95253a2b272/start HTTP/1.1 +{} + + +HTTP/1.1 204 +Connection: close +Content-Length: 0 +Content-Type: application/octet-stream +Date: Mon, 08 Jan 2018 08:16:00 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/start + diff --git a/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidstop.txt b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidstop.txt new file mode 100644 index 00000000..d9e0419f --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidstop.txt @@ -0,0 +1,14 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/5d67e87b-35c7-484b-924c-44934ade59b9/stop' -d '{}' + +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/5d67e87b-35c7-484b-924c-44934ade59b9/stop HTTP/1.1 +{} + + +HTTP/1.1 204 +Connection: close +Content-Length: 0 +Content-Type: application/octet-stream +Date: Mon, 08 Jan 2018 08:16:01 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/stop + diff --git a/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidsuspend.txt b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidsuspend.txt new file mode 100644 index 00000000..3b954e10 --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidvmwarenodesnodeidsuspend.txt @@ -0,0 +1,14 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/020c5143-2385-4b7e-84ab-2fa6235d7d44/suspend' -d '{}' + +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/020c5143-2385-4b7e-84ab-2fa6235d7d44/suspend HTTP/1.1 +{} + + +HTTP/1.1 204 +Connection: close +Content-Length: 0 +Content-Type: application/octet-stream +Date: Mon, 08 Jan 2018 08:16:02 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/vmware/nodes/{node_id}/suspend + diff --git a/docs/api/examples/compute_post_projectsprojectidvpcsnodes.txt b/docs/api/examples/compute_post_projectsprojectidvpcsnodes.txt index 5ee9b34b..058daa67 100644 --- a/docs/api/examples/compute_post_projectsprojectidvpcsnodes.txt +++ b/docs/api/examples/compute_post_projectsprojectidvpcsnodes.txt @@ -10,8 +10,8 @@ HTTP/1.1 201 Connection: close Content-Length: 428 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:39 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/vpcs/nodes { @@ -19,8 +19,8 @@ X-Route: /v2/compute/projects/{project_id}/vpcs/nodes "console": 5004, "console_type": "telnet", "name": "PC TEST 1", - "node_directory": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpogl9mqkr/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/688b1a5e-3b12-40f4-aa70-bf640ca20f5f", - "node_id": "688b1a5e-3b12-40f4-aa70-bf640ca20f5f", + "node_directory": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/de5b89af-2907-411f-bc88-d7aacc015763", + "node_id": "de5b89af-2907-411f-bc88-d7aacc015763", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", "status": "stopped" } diff --git a/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt index cde331f3..4584bfc2 100644 --- a/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +++ b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/841d8150-2de9-4673-92bb-2d87dcca1f88/adapters/0/ports/0/nio' -d '{"lport": 4242, "rhost": "127.0.0.1", "rport": 4343, "type": "nio_udp"}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/eb360fb6-4941-4f14-9145-e7d64369bc3c/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/841d8150-2de9-4673-92bb-2d87dcca1f88/adapters/0/ports/0/nio HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/eb360fb6-4941-4f14-9145-e7d64369bc3c/adapters/0/ports/0/nio HTTP/1.1 { "lport": 4242, "rhost": "127.0.0.1", @@ -13,8 +13,8 @@ HTTP/1.1 201 Connection: close Content-Length: 89 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:40 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio { diff --git a/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidduplicate.txt b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidduplicate.txt new file mode 100644 index 00000000..a4342f3c --- /dev/null +++ b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidduplicate.txt @@ -0,0 +1,17 @@ +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/3cd0a1d7-b074-4bf6-8c33-626f97ad8559/duplicate' -d '{"destination_node_id": "79886fa2-4320-419e-9044-e445694394d6"}' + +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/3cd0a1d7-b074-4bf6-8c33-626f97ad8559/duplicate HTTP/1.1 +{ + "destination_node_id": "79886fa2-4320-419e-9044-e445694394d6" +} + + +HTTP/1.1 201 +Connection: close +Content-Length: 4 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/duplicate + +true diff --git a/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidreload.txt b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidreload.txt index 90085d0b..4b9f57d4 100644 --- a/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidreload.txt +++ b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidreload.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/fd6608b1-f731-4031-ba37-4f1dfaf461dd/reload' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/aaa4c50f-2c60-40ca-971d-d86a4433de82/reload' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/fd6608b1-f731-4031-ba37-4f1dfaf461dd/reload HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/aaa4c50f-2c60-40ca-971d-d86a4433de82/reload HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:43 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/reload diff --git a/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidstart.txt b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidstart.txt index deedaae0..60ae628f 100644 --- a/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidstart.txt +++ b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidstart.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/c8ead56f-2107-4183-837e-ee2be3d07942/start' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/9c0b927b-a48b-41c7-ad94-4006669f49f5/start' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/c8ead56f-2107-4183-837e-ee2be3d07942/start HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/9c0b927b-a48b-41c7-ad94-4006669f49f5/start HTTP/1.1 {} @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 428 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:42 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/start { @@ -17,8 +17,8 @@ X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/start "console": 5004, "console_type": "telnet", "name": "PC TEST 1", - "node_directory": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpogl9mqkr/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/c8ead56f-2107-4183-837e-ee2be3d07942", - "node_id": "c8ead56f-2107-4183-837e-ee2be3d07942", + "node_directory": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/9c0b927b-a48b-41c7-ad94-4006669f49f5", + "node_id": "9c0b927b-a48b-41c7-ad94-4006669f49f5", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", "status": "stopped" } diff --git a/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidstop.txt b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidstop.txt index 65287640..2c6e2e70 100644 --- a/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidstop.txt +++ b/docs/api/examples/compute_post_projectsprojectidvpcsnodesnodeidstop.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/0c6a1651-5d3e-48c1-8f2f-9bd79aef0aae/stop' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/92b13851-ebaf-4966-a013-e0e4514848b2/stop' -d '{}' -POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/0c6a1651-5d3e-48c1-8f2f-9bd79aef0aae/stop HTTP/1.1 +POST /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/92b13851-ebaf-4966-a013-e0e4514848b2/stop HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:43 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/stop diff --git a/docs/api/examples/compute_post_qemuimg.txt b/docs/api/examples/compute_post_qemuimg.txt index 37bbec6d..aabe42f9 100644 --- a/docs/api/examples/compute_post_qemuimg.txt +++ b/docs/api/examples/compute_post_qemuimg.txt @@ -17,7 +17,7 @@ HTTP/1.1 201 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:35 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:57 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/qemu/img diff --git a/docs/api/examples/compute_put_projectsprojectidcloudnodesnodeid.txt b/docs/api/examples/compute_put_projectsprojectidcloudnodesnodeid.txt index a93ca21c..adbee567 100644 --- a/docs/api/examples/compute_put_projectsprojectidcloudnodesnodeid.txt +++ b/docs/api/examples/compute_put_projectsprojectidcloudnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/4631238a-cc6f-42f4-919e-564e00b9daf5' -d '{"name": "test"}' +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/f5393b54-aad6-4233-acfa-ab20d9cb0e43' -d '{"name": "test"}' -PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/4631238a-cc6f-42f4-919e-564e00b9daf5 HTTP/1.1 +PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/f5393b54-aad6-4233-acfa-ab20d9cb0e43 HTTP/1.1 { "name": "test" } @@ -8,10 +8,10 @@ PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/463123 HTTP/1.1 200 Connection: close -Content-Length: 2948 +Content-Length: 1581 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:00 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:46 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id} { @@ -50,66 +50,11 @@ X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id} "name": "p2p0", "special": true, "type": "ethernet" - }, - { - "name": "utun0", - "special": false, - "type": "ethernet" - }, - { - "name": "vmnet1", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet10", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet2", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet3", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet4", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet5", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet6", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet7", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet8", - "special": true, - "type": "ethernet" - }, - { - "name": "vmnet9", - "special": true, - "type": "ethernet" } ], "name": "test", - "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/project-files/builtin/4631238a-cc6f-42f4-919e-564e00b9daf5", - "node_id": "4631238a-cc6f-42f4-919e-564e00b9daf5", + "node_directory": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/project-files/builtin/f5393b54-aad6-4233-acfa-ab20d9cb0e43", + "node_id": "f5393b54-aad6-4233-acfa-ab20d9cb0e43", "ports_mapping": [ { "interface": "en0", @@ -128,12 +73,6 @@ X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id} "name": "en2", "port_number": 2, "type": "ethernet" - }, - { - "interface": "utun0", - "name": "utun0", - "port_number": 3, - "type": "ethernet" } ], "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", diff --git a/docs/api/examples/compute_put_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_put_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..49cdcbc8 --- /dev/null +++ b/docs/api/examples/compute_put_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,27 @@ +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/02dbb665-8582-4d4f-ab65-59d371b6dd26/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/02dbb665-8582-4d4f-ab65-59d371b6dd26/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: Mon, 08 Jan 2018 08:15:43 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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" +} diff --git a/docs/api/examples/compute_put_projectsprojectiddockernodesnodeid.txt b/docs/api/examples/compute_put_projectsprojectiddockernodesnodeid.txt index b22ae949..c811bdf0 100644 --- a/docs/api/examples/compute_put_projectsprojectiddockernodesnodeid.txt +++ b/docs/api/examples/compute_put_projectsprojectiddockernodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/bc7e5ef2-dce1-4a8e-8e00-2269b3b31f8c' -d '{"console": 5006, "environment": "GNS3=1\nGNS4=0", "name": "test", "start_command": "yes"}' +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/22396e9c-c6a0-4d55-82f0-fff20006a4a3' -d '{"console": 5006, "environment": "GNS3=1\nGNS4=0", "name": "test", "start_command": "yes"}' -PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/bc7e5ef2-dce1-4a8e-8e00-2269b3b31f8c HTTP/1.1 +PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/22396e9c-c6a0-4d55-82f0-fff20006a4a3 HTTP/1.1 { "console": 5006, "environment": "GNS3=1\nGNS4=0", @@ -13,8 +13,8 @@ HTTP/1.1 200 Connection: close Content-Length: 653 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:05 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:46 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id} { @@ -29,8 +29,8 @@ X-Route: /v2/compute/projects/{project_id}/docker/nodes/{node_id} "environment": "GNS3=1\nGNS4=0", "image": "nginx:latest", "name": "test", - "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/project-files/docker/bc7e5ef2-dce1-4a8e-8e00-2269b3b31f8c", - "node_id": "bc7e5ef2-dce1-4a8e-8e00-2269b3b31f8c", + "node_directory": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/project-files/docker/22396e9c-c6a0-4d55-82f0-fff20006a4a3", + "node_id": "22396e9c-c6a0-4d55-82f0-fff20006a4a3", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", "start_command": "yes", "status": "stopped" diff --git a/docs/api/examples/compute_put_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_put_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..9ff834d9 --- /dev/null +++ b/docs/api/examples/compute_put_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,25 @@ +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/docker/nodes/7536b21f-e0e1-4b0e-be34-b27c5bee5dc1/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/7536b21f-e0e1-4b0e-be34-b27c5bee5dc1/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: Mon, 08 Jan 2018 08:15:46 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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" +} diff --git a/docs/api/examples/compute_put_projectsprojectidiounodesnodeid.txt b/docs/api/examples/compute_put_projectsprojectidiounodesnodeid.txt index 8265a567..ead7fafd 100644 --- a/docs/api/examples/compute_put_projectsprojectidiounodesnodeid.txt +++ b/docs/api/examples/compute_put_projectsprojectidiounodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/e01d02c6-735e-4523-bb83-5ea11ecc97f7' -d '{"console": 5005, "ethernet_adapters": 4, "l1_keepalives": true, "name": "test", "nvram": 2048, "ram": 512, "serial_adapters": 0, "use_default_iou_values": true}' +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/2e54bfd5-33e4-4958-9eb5-9344095bcf3c' -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/e01d02c6-735e-4523-bb83-5ea11ecc97f7 HTTP/1.1 +PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/2e54bfd5-33e4-4958-9eb5-9344095bcf3c HTTP/1.1 { "console": 5005, "ethernet_adapters": 4, @@ -15,13 +15,14 @@ PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/e01d02c6 HTTP/1.1 200 Connection: close -Content-Length: 635 +Content-Length: 660 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:10 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:48 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id} { + "application_id": 1, "command_line": "", "console": 5005, "console_type": "telnet", @@ -29,8 +30,8 @@ X-Route: /v2/compute/projects/{project_id}/iou/nodes/{node_id} "l1_keepalives": true, "md5sum": "e573e8f5c93c6c00783f20c7a170aa6c", "name": "test", - "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_json4/project-files/iou/e01d02c6-735e-4523-bb83-5ea11ecc97f7", - "node_id": "e01d02c6-735e-4523-bb83-5ea11ecc97f7", + "node_directory": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_json4/project-files/iou/2e54bfd5-33e4-4958-9eb5-9344095bcf3c", + "node_id": "2e54bfd5-33e4-4958-9eb5-9344095bcf3c", "nvram": 2048, "path": "iou.bin", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", diff --git a/docs/api/examples/compute_put_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_put_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..1a00d6ca --- /dev/null +++ b/docs/api/examples/compute_put_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,26 @@ +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/iou/nodes/7e50dc2a-4a1e-44b7-8d5a-6b7de6f4ff07/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/7e50dc2a-4a1e-44b7-8d5a-6b7de6f4ff07/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: Mon, 08 Jan 2018 08:15:48 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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" +} diff --git a/docs/api/examples/compute_put_projectsprojectidnatnodesnodeid.txt b/docs/api/examples/compute_put_projectsprojectidnatnodesnodeid.txt index 2e090bc4..a49acf6d 100644 --- a/docs/api/examples/compute_put_projectsprojectidnatnodesnodeid.txt +++ b/docs/api/examples/compute_put_projectsprojectidnatnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/41808a1f-4259-44e1-904c-bc785c285677' -d '{"name": "test"}' +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/c567edc8-9230-41b5-a32c-cda1403eb187' -d '{"name": "test"}' -PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/41808a1f-4259-44e1-904c-bc785c285677 HTTP/1.1 +PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/c567edc8-9230-41b5-a32c-cda1403eb187 HTTP/1.1 { "name": "test" } @@ -10,13 +10,13 @@ HTTP/1.1 200 Connection: close Content-Length: 334 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:18 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:54 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/nat/nodes/{node_id} { "name": "test", - "node_id": "41808a1f-4259-44e1-904c-bc785c285677", + "node_id": "c567edc8-9230-41b5-a32c-cda1403eb187", "ports_mapping": [ { "interface": "virbr0", diff --git a/docs/api/examples/compute_put_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_put_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..bbfbb4b8 --- /dev/null +++ b/docs/api/examples/compute_put_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,27 @@ +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/nat/nodes/e44156c3-1ac8-4af3-81a1-049b7c441054/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/e44156c3-1ac8-4af3-81a1-049b7c441054/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: Mon, 08 Jan 2018 08:15:49 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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" +} diff --git a/docs/api/examples/compute_put_projectsprojectidqemunodesnodeid.txt b/docs/api/examples/compute_put_projectsprojectidqemunodesnodeid.txt index bcaa3346..06c76a3c 100644 --- a/docs/api/examples/compute_put_projectsprojectidqemunodesnodeid.txt +++ b/docs/api/examples/compute_put_projectsprojectidqemunodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/4f507333-8f47-4e28-80c0-431412e17452' -d '{"console": 5006, "hdb_disk_image": "linux\u8f7d.img", "name": "test", "ram": 1024}' +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/2b036990-caf0-422c-b18b-5b218bbe4504' -d '{"console": 5006, "hdb_disk_image": "linux\u8f7d.img", "name": "test", "ram": 1024}' -PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/4f507333-8f47-4e28-80c0-431412e17452 HTTP/1.1 +PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/2b036990-caf0-422c-b18b-5b218bbe4504 HTTP/1.1 { "console": 5006, "hdb_disk_image": "linux\u8f7d.img", @@ -13,8 +13,8 @@ HTTP/1.1 200 Connection: close Content-Length: 1509 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:29 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id} { @@ -49,15 +49,15 @@ X-Route: /v2/compute/projects/{project_id}/qemu/nodes/{node_id} "kernel_image": "", "kernel_image_md5sum": null, "legacy_networking": false, - "mac_address": "00:dd:80:74:52:00", + "mac_address": "00:dd:80:45:04:00", "name": "test", - "node_directory": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpogl9mqkr/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/4f507333-8f47-4e28-80c0-431412e17452", - "node_id": "4f507333-8f47-4e28-80c0-431412e17452", + "node_directory": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/qemu/2b036990-caf0-422c-b18b-5b218bbe4504", + "node_id": "2b036990-caf0-422c-b18b-5b218bbe4504", "options": "", "platform": "x86_64", "process_priority": "low", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", - "qemu_path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp47ntn6ne/qemu-system-x86_64", + "qemu_path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp26lo7e4o/qemu-system-x86_64", "ram": 1024, "status": "stopped", "usage": "" diff --git a/docs/api/examples/compute_put_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_put_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..e6e107ba --- /dev/null +++ b/docs/api/examples/compute_put_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,27 @@ +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/qemu/nodes/b299b291-ca8d-4d12-b12a-2eab780a7a0a/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/b299b291-ca8d-4d12-b12a-2eab780a7a0a/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: Mon, 08 Jan 2018 08:15:56 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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" +} diff --git a/docs/api/examples/compute_put_projectsprojectidvirtualboxnodesnodeid.txt b/docs/api/examples/compute_put_projectsprojectidvirtualboxnodesnodeid.txt index 9e1faed0..d406ff89 100644 --- a/docs/api/examples/compute_put_projectsprojectidvirtualboxnodesnodeid.txt +++ b/docs/api/examples/compute_put_projectsprojectidvirtualboxnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/39302861-c326-48fe-a44d-d3c9582d5354' -d '{"console": 5005, "name": "test"}' +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/07ae8a79-9a4c-4987-8fc9-e5c3c2ca541d' -d '{"console": 5005, "name": "test"}' -PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/39302861-c326-48fe-a44d-d3c9582d5354 HTTP/1.1 +PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/07ae8a79-9a4c-4987-8fc9-e5c3c2ca541d HTTP/1.1 { "console": 5005, "name": "test" @@ -11,8 +11,8 @@ HTTP/1.1 200 Connection: close Content-Length: 463 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:39 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:15:58 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id} { @@ -25,7 +25,7 @@ X-Route: /v2/compute/projects/{project_id}/virtualbox/nodes/{node_id} "linked_clone": false, "name": "test", "node_directory": null, - "node_id": "39302861-c326-48fe-a44d-d3c9582d5354", + "node_id": "07ae8a79-9a4c-4987-8fc9-e5c3c2ca541d", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", "ram": 0, "status": "stopped", diff --git a/docs/api/examples/compute_put_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_put_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..4b279b92 --- /dev/null +++ b/docs/api/examples/compute_put_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,27 @@ +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/virtualbox/nodes/0676cad3-3893-4a88-9535-f4a248723907/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/0676cad3-3893-4a88-9535-f4a248723907/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: Mon, 08 Jan 2018 08:15:58 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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" +} diff --git a/docs/api/examples/compute_put_projectsprojectidvmwarenodesnodeid.txt b/docs/api/examples/compute_put_projectsprojectidvmwarenodesnodeid.txt new file mode 100644 index 00000000..eba662d7 --- /dev/null +++ b/docs/api/examples/compute_put_projectsprojectidvmwarenodesnodeid.txt @@ -0,0 +1,33 @@ +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/0984c2d0-0a0c-4b46-ba69-16bd5c0464fe' -d '{"console": 5005, "name": "test"}' + +PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/0984c2d0-0a0c-4b46-ba69-16bd5c0464fe HTTP/1.1 +{ + "console": 5005, + "name": "test" +} + + +HTTP/1.1 200 +Connection: close +Content-Length: 689 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:16:10 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vmware/0984c2d0-0a0c-4b46-ba69-16bd5c0464fe", + "node_id": "0984c2d0-0a0c-4b46-ba69-16bd5c0464fe", + "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", + "status": "stopped", + "use_any_adapter": false, + "vmx_path": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_vmware_update0/test.vmx" +} diff --git a/docs/api/examples/compute_put_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_put_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..1015be6a --- /dev/null +++ b/docs/api/examples/compute_put_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,27 @@ +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vmware/nodes/7334e124-eace-47e6-982b-ef6ce9382a7b/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/7334e124-eace-47e6-982b-ef6ce9382a7b/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: Mon, 08 Jan 2018 08:16:07 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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" +} diff --git a/docs/api/examples/compute_put_projectsprojectidvpcsnodesnodeid.txt b/docs/api/examples/compute_put_projectsprojectidvpcsnodesnodeid.txt index d6f2ff62..a9caee6f 100644 --- a/docs/api/examples/compute_put_projectsprojectidvpcsnodesnodeid.txt +++ b/docs/api/examples/compute_put_projectsprojectidvpcsnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/8a66c0b3-f8d7-44e8-aa03-12d5e14c7387' -d '{"console": 5006, "name": "test"}' +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/892a8c7f-fd53-4721-a1f8-5fde82beb037' -d '{"console": 5006, "name": "test"}' -PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/8a66c0b3-f8d7-44e8-aa03-12d5e14c7387 HTTP/1.1 +PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/892a8c7f-fd53-4721-a1f8-5fde82beb037 HTTP/1.1 { "console": 5006, "name": "test" @@ -11,8 +11,8 @@ HTTP/1.1 200 Connection: close Content-Length: 423 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:43 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id} { @@ -20,8 +20,8 @@ X-Route: /v2/compute/projects/{project_id}/vpcs/nodes/{node_id} "console": 5006, "console_type": "telnet", "name": "test", - "node_directory": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpogl9mqkr/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/8a66c0b3-f8d7-44e8-aa03-12d5e14c7387", - "node_id": "8a66c0b3-f8d7-44e8-aa03-12d5e14c7387", + "node_directory": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpk__by17a/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/project-files/vpcs/892a8c7f-fd53-4721-a1f8-5fde82beb037", + "node_id": "892a8c7f-fd53-4721-a1f8-5fde82beb037", "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80", "status": "stopped" } diff --git a/docs/api/examples/compute_put_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt b/docs/api/examples/compute_put_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt new file mode 100644 index 00000000..2910325e --- /dev/null +++ b/docs/api/examples/compute_put_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt @@ -0,0 +1,27 @@ +curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/vpcs/nodes/fa95d435-5dc4-4e82-b8a5-7977de2daae6/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/fa95d435-5dc4-4e82-b8a5-7977de2daae6/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: Mon, 08 Jan 2018 08:16:11 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +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" +} diff --git a/docs/api/examples/controller_delete_computescomputeid.txt b/docs/api/examples/controller_delete_computescomputeid.txt index 4aed6ee7..9a296e44 100644 --- a/docs/api/examples/controller_delete_computescomputeid.txt +++ b/docs/api/examples/controller_delete_computescomputeid.txt @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:46 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:24 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/computes/{compute_id} diff --git a/docs/api/examples/controller_delete_projectsprojectid.txt b/docs/api/examples/controller_delete_projectsprojectid.txt index d008f531..5e3f48e5 100644 --- a/docs/api/examples/controller_delete_projectsprojectid.txt +++ b/docs/api/examples/controller_delete_projectsprojectid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/projects/e30c8eb4-c08f-4a5e-836e-c885a0a816ad' +curl -i -X DELETE 'http://localhost:3080/v2/projects/5b7149f0-17dd-48f0-a908-99dd4b4de0d4' -DELETE /v2/projects/e30c8eb4-c08f-4a5e-836e-c885a0a816ad HTTP/1.1 +DELETE /v2/projects/5b7149f0-17dd-48f0-a908-99dd4b4de0d4 HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:08:03 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:38 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id} diff --git a/docs/api/examples/controller_delete_projectsprojectiddrawingsdrawingid.txt b/docs/api/examples/controller_delete_projectsprojectiddrawingsdrawingid.txt index 11302a68..5c232cf7 100644 --- a/docs/api/examples/controller_delete_projectsprojectiddrawingsdrawingid.txt +++ b/docs/api/examples/controller_delete_projectsprojectiddrawingsdrawingid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/projects/9e3eaf56-ac31-4b2f-a84f-b3874b0fc0b9/drawings/f5852a28-616a-4e2c-a288-2184daecd0dc' +curl -i -X DELETE 'http://localhost:3080/v2/projects/3cf20b3c-0602-49a6-b593-d49b6a1a5238/drawings/df4f6a0a-429a-40c9-ae38-dbb4733d0750' -DELETE /v2/projects/9e3eaf56-ac31-4b2f-a84f-b3874b0fc0b9/drawings/f5852a28-616a-4e2c-a288-2184daecd0dc HTTP/1.1 +DELETE /v2/projects/3cf20b3c-0602-49a6-b593-d49b6a1a5238/drawings/df4f6a0a-429a-40c9-ae38-dbb4733d0750 HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:49 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/drawings/{drawing_id} diff --git a/docs/api/examples/controller_delete_projectsprojectidlinkslinkid.txt b/docs/api/examples/controller_delete_projectsprojectidlinkslinkid.txt index be5018a6..00b9e571 100644 --- a/docs/api/examples/controller_delete_projectsprojectidlinkslinkid.txt +++ b/docs/api/examples/controller_delete_projectsprojectidlinkslinkid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/projects/0e7e02c1-1864-46e3-a0ec-de2d3860ed66/links/998e514e-d9a3-4de5-a940-13845f96fe55' +curl -i -X DELETE 'http://localhost:3080/v2/projects/2883d355-8b23-4ddd-a21b-ff213e485c29/links/3b6257c1-ce3b-44c8-8c6c-a0457d6e9e04' -DELETE /v2/projects/0e7e02c1-1864-46e3-a0ec-de2d3860ed66/links/998e514e-d9a3-4de5-a940-13845f96fe55 HTTP/1.1 +DELETE /v2/projects/2883d355-8b23-4ddd-a21b-ff213e485c29/links/3b6257c1-ce3b-44c8-8c6c-a0457d6e9e04 HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:54 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:36 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/links/{link_id} diff --git a/docs/api/examples/controller_delete_projectsprojectidnodesnodeid.txt b/docs/api/examples/controller_delete_projectsprojectidnodesnodeid.txt index f9cb7fc3..5b0c9f70 100644 --- a/docs/api/examples/controller_delete_projectsprojectidnodesnodeid.txt +++ b/docs/api/examples/controller_delete_projectsprojectidnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/projects/f4a68c15-6212-45a0-9760-14d0f8aa30a3/nodes/d52ba5ac-1806-4264-a77d-dac53c5bcd3a' +curl -i -X DELETE 'http://localhost:3080/v2/projects/86bbdba1-356e-4abf-94af-42c002782a60/nodes/f22f2164-5f3f-4dd8-b88b-cca9e32f4f5c' -DELETE /v2/projects/f4a68c15-6212-45a0-9760-14d0f8aa30a3/nodes/d52ba5ac-1806-4264-a77d-dac53c5bcd3a HTTP/1.1 +DELETE /v2/projects/86bbdba1-356e-4abf-94af-42c002782a60/nodes/f22f2164-5f3f-4dd8-b88b-cca9e32f4f5c HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:59 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:38 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/{node_id} diff --git a/docs/api/examples/controller_delete_projectsprojectidsnapshotssnapshotid.txt b/docs/api/examples/controller_delete_projectsprojectidsnapshotssnapshotid.txt index eef3fbbf..71686b4d 100644 --- a/docs/api/examples/controller_delete_projectsprojectidsnapshotssnapshotid.txt +++ b/docs/api/examples/controller_delete_projectsprojectidsnapshotssnapshotid.txt @@ -1,6 +1,6 @@ -curl -i -X DELETE 'http://localhost:3080/v2/projects/6f8d001b-2e78-4ce2-be41-2c09dc2c6d76/snapshots/ec35ee09-2bc2-4254-94a5-32d6ec6b16b9' +curl -i -X DELETE 'http://localhost:3080/v2/projects/0b8da5eb-a8e3-47a7-b74a-b8440087ad20/snapshots/47c9b602-6e34-4190-94f9-6e7bd7d18c2d' -DELETE /v2/projects/6f8d001b-2e78-4ce2-be41-2c09dc2c6d76/snapshots/ec35ee09-2bc2-4254-94a5-32d6ec6b16b9 HTTP/1.1 +DELETE /v2/projects/0b8da5eb-a8e3-47a7-b74a-b8440087ad20/snapshots/47c9b602-6e34-4190-94f9-6e7bd7d18c2d HTTP/1.1 @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:08:09 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:40 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/snapshots/{snapshot_id} diff --git a/docs/api/examples/controller_get_appliances.txt b/docs/api/examples/controller_get_appliances.txt index 3996cd80..dcb385ca 100644 --- a/docs/api/examples/controller_get_appliances.txt +++ b/docs/api/examples/controller_get_appliances.txt @@ -6,10 +6,10 @@ GET /v2/appliances HTTP/1.1 HTTP/1.1 200 Connection: close -Content-Length: 2486 +Content-Length: 2694 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:43 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:12 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/appliances [ @@ -21,6 +21,7 @@ X-Route: /v2/appliances "default_name_format": "{name}-{0}", "name": "Cloud", "node_type": "cloud", + "platform": null, "symbol": ":/symbols/cloud.svg" }, { @@ -31,6 +32,7 @@ X-Route: /v2/appliances "default_name_format": "{name}-{0}", "name": "NAT", "node_type": "nat", + "platform": null, "symbol": ":/symbols/cloud.svg" }, { @@ -41,6 +43,7 @@ X-Route: /v2/appliances "default_name_format": "{name}-{0}", "name": "VPCS", "node_type": "vpcs", + "platform": null, "symbol": ":/symbols/vpcs_guest.svg" }, { @@ -51,6 +54,7 @@ X-Route: /v2/appliances "default_name_format": "{name}-{0}", "name": "Ethernet switch", "node_type": "ethernet_switch", + "platform": null, "symbol": ":/symbols/ethernet_switch.svg" }, { @@ -61,6 +65,7 @@ X-Route: /v2/appliances "default_name_format": "{name}-{0}", "name": "Ethernet hub", "node_type": "ethernet_hub", + "platform": null, "symbol": ":/symbols/hub.svg" }, { @@ -71,6 +76,7 @@ X-Route: /v2/appliances "default_name_format": "{name}-{0}", "name": "Frame Relay switch", "node_type": "frame_relay_switch", + "platform": null, "symbol": ":/symbols/frame_relay_switch.svg" }, { @@ -81,16 +87,18 @@ X-Route: /v2/appliances "default_name_format": "{name}-{0}", "name": "ATM switch", "node_type": "atm_switch", + "platform": null, "symbol": ":/symbols/atm_switch.svg" }, { - "appliance_id": "ae14fd22-8a2a-4bd0-a88d-86bd35744533", + "appliance_id": "dd7ae518-30e9-48fd-b6de-bc9a69720c00", "builtin": false, "category": "router", "compute_id": "local", "default_name_format": "{name}-{0}", "name": "test", "node_type": "qemu", + "platform": null, "symbol": "guest.svg" } ] diff --git a/docs/api/examples/controller_get_appliancestemplates.txt b/docs/api/examples/controller_get_appliancestemplates.txt index 975c2166..21fc2b2c 100644 --- a/docs/api/examples/controller_get_appliancestemplates.txt +++ b/docs/api/examples/controller_get_appliancestemplates.txt @@ -6,25 +6,33 @@ GET /v2/appliances/templates HTTP/1.1 HTTP/1.1 200 Connection: close -Content-Length: 376412 +Content-Length: 470863 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:44 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:12 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/appliances/templates [ { + "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" + "version": "4.1.0.P3" }, { "download_url": "https://www.a10networks.com/vthunder-embed", @@ -57,11 +65,17 @@ X-Route: /v2/appliances/templates "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" + "name": "4.1.0.P3" }, { "images": { @@ -72,6 +86,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -144,6 +159,7 @@ 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": { @@ -163,11 +179,26 @@ X-Route: /v2/appliances/templates "vendor_url": "http://alpinelinux.org" }, { + "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", @@ -246,6 +277,20 @@ X-Route: /v2/appliances/templates "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", @@ -298,6 +343,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -381,6 +427,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -421,6 +468,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -461,6 +509,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -502,6 +551,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -639,10 +689,18 @@ X-Route: /v2/appliances/templates ] }, { + "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-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", @@ -709,6 +767,12 @@ X-Route: /v2/appliances/templates "vendor_name": "Brocade", "vendor_url": "http://www.brocade.com/", "versions": [ + { + "images": { + "hda_disk_image": "VirtualTrafficManager-173.qcow2" + }, + "name": "17.3" + }, { "images": { "hda_disk_image": "VirtualTrafficManager-172.qcow2" @@ -748,9 +812,19 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -779,6 +853,12 @@ X-Route: /v2/appliances/templates "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" @@ -788,10 +868,63 @@ X-Route: /v2/appliances/templates ] }, { + "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": "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", @@ -799,6 +932,13 @@ X-Route: /v2/appliances/templates "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/empty8G.qcow2/download", "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/", @@ -828,16 +968,31 @@ X-Route: /v2/appliances/templates "vendor_name": "Checkpoint", "vendor_url": "https://www.checkpoint.com", "versions": [ + { + "images": { + "cdrom_image": "Check_Point_R80.10_T421_Gaia.iso", + "hda_disk_image": "empty8G.qcow2" + }, + "name": "80.10" + }, { "images": { "cdrom_image": "Check_Point_R77.30_T204_Install_and_Upgrade.Gaia.iso", "hda_disk_image": "empty8G.qcow2" }, "name": "77.30" + }, + { + "images": { + "cdrom_image": "Check_Point_R77.20_T124_Install.Gaia.iso", + "hda_disk_image": "empty8G.qcow2" + }, + "name": "77.20" } ] }, { + "builtin": true, "category": "guest", "description": "The chromium browser", "docker": { @@ -855,6 +1010,7 @@ X-Route: /v2/appliances/templates "vendor_url": "https://www.chromium.org/" }, { + "builtin": true, "category": "router", "description": "Cisco 1700 Router", "documentation_url": "http://www.cisco.com/c/en/us/support/index.html", @@ -893,6 +1049,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "router", "description": "Cisco 2600 Router", "documentation_url": "http://www.cisco.com/c/en/us/support/index.html", @@ -930,6 +1087,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "router", "description": "Cisco 2691 Router", "documentation_url": "http://www.cisco.com/c/en/us/support/index.html", @@ -967,6 +1125,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "router", "description": "Cisco 3620 Router", "documentation_url": "http://www.cisco.com/c/en/us/support/index.html", @@ -1004,6 +1163,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "router", "description": "Cisco 3640 Router", "documentation_url": "http://www.cisco.com/c/en/us/support/index.html", @@ -1041,6 +1201,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "router", "description": "Cisco 3660 Router", "documentation_url": "http://www.cisco.com/c/en/us/support/index.html", @@ -1078,6 +1239,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "router", "description": "Cisco 3725 Router", "documentation_url": "http://www.cisco.com/c/en/us/support/index.html", @@ -1115,6 +1277,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -1160,6 +1323,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "router", "description": "Cisco 7200 Router", "documentation_url": "http://www.cisco.com/c/en/us/products/routers/7200-series-routers/index.html", @@ -1199,45 +1363,81 @@ X-Route: /v2/appliances/templates ] }, { + "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/release.html?mdfid=286119613&flowid=&softwareid=280775065&release=9.7.1&relind=AVAILABLE&rellifecycle=&reltype=latest", + "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": 199688192, - "md5sum": "cb31f53e70a9e409829d2f832ff09191", + "filesize": 198443008, + "md5sum": "07eef9b8ca489a8ad37448fadf45a673", "version": "9.7.1" }, { - "download_url": "https://software.cisco.com/download/release.html?mdfid=286119613&flowid=&softwareid=280775065&release=9.6.2&relind=AVAILABLE&rellifecycle=&reltype=latest", + "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": "a4c892afe610776dde8a176f1049ae96", + "md5sum": "dfb8110ce38da4588e994865d5a9656a", "version": "9.6.2" - }, - { - "download_url": "https://software.cisco.com/download/release.html?mdfid=286119613&flowid=&softwareid=280775065&release=9.6.1&relind=AVAILABLE&rellifecycle=&reltype=latest", - "filename": "asav961.qcow2", - "filesize": 173801472, - "md5sum": "c8726827cb72f4eed8cb52a64bca091c", - "version": "9.6.1" - }, - { - "download_url": "https://virl.mediuscorp.com/my-account/", - "filename": "asav952-204.qcow2", - "filesize": 169345024, - "md5sum": "73a1126283de6b70c4cc12edfc46d547", - "version": "9.5.2-204" - }, - { - "download_url": "https://virl.mediuscorp.com/my-account/", - "filename": "asav951-201.qcow2", - "filesize": 160038912, - "md5sum": "ca071370278ecbd5dfdb1c5a4161571a", - "version": "9.5.1-200" } ], "maintainer": "GNS3 Team", @@ -1262,43 +1462,102 @@ X-Route: /v2/appliances/templates "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" - }, - { - "images": { - "hda_disk_image": "asav961.qcow2" - }, - "name": "9.6.1" - }, - { - "images": { - "hda_disk_image": "asav952-204.qcow2" - }, - "name": "9.5.2-204" - }, - { - "images": { - "hda_disk_image": "asav951-201.qcow2" - }, - "name": "9.5.1-201" } ] }, { + "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&relind=AVAILABLE&rellifecycle=ED&reltype=latest", + "filename": "csr1000v-universalk9.16.07.01-serial.qcow2", + "filesize": 882769920, + "md5sum": "13adbfc2586d06c9802b9805168c0c44", + "version": "16.7.1" + }, + { + "download_url": "https://software.cisco.com/download/release.html?mdfid=284364978&flowid=39582&softwareid=282046477&release=Denali-16.3.5&relind=AVAILABLE&rellifecycle=ED&reltype=latest", + "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=Denali-16.3.5&relind=AVAILABLE&rellifecycle=ED&reltype=latest", + "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", @@ -1306,13 +1565,6 @@ X-Route: /v2/appliances/templates "md5sum": "06cbfcd11f3557391db64fe2a6015a6e", "version": "3.17" }, - { - "download_url": "https://virl.mediuscorp.com/my-account/", - "filename": "csr1000v-universalk9.16.2.2-ext.qcow2", - "filesize": 1586637824, - "md5sum": "6c7e61b2f091ce1e9562dc3f2da43ebe", - "version": "16.2.2" - }, { "download_url": "https://virl.mediuscorp.com/my-account/", "filename": "csr1000v-universalk9.16.3.1-build2.qcow2", @@ -1328,17 +1580,17 @@ X-Route: /v2/appliances/templates "version": "16.3.1" }, { - "download_url": "https://software.cisco.com/download/release.html?mdfid=284364978&softwareid=282046477&release=Denali-16.3.2", + "download_url": "https://virl.mediuscorp.com/my-account/", "filename": "csr1000v-universalk9.16.03.02.qcow2", - "filesize": 1327693824, - "md5sum": "01868950c960b1eeaa0fe9e035b25e48", + "filesize": 1167720448, + "md5sum": "2e5803d23cd52cba5d55fa8306be5f13", "version": "16.3.2" }, { - "download_url": "https://software.cisco.com/download/release.html?mdfid=284364978&softwareid=282046477&release=Everest-16.4.1", - "filename": "csr1000v-universalk9.16.04.01-serial.qcow2", - "filesize": 1457651712, - "md5sum": "8f190db9fd06a34d66f0c82812e56fd2", + "download_url": "https://virl.mediuscorp.com/my-account/", + "filename": "csr1000v-universalk9.16.4.1.qcow2", + "filesize": 1261961216, + "md5sum": "3428e0dcf5132a1b11ab7696d8c61b2e", "version": "16.4.1" } ], @@ -1364,15 +1616,33 @@ X-Route: /v2/appliances/templates "versions": [ { "images": { - "hda_disk_image": "csr1000v-universalk9.03.17.00.S.156-1.S-ext.qcow2" + "hda_disk_image": "csr1000v-universalk9.16.07.01-serial.qcow2" }, - "name": "3.17" + "name": "16.7.1" }, { "images": { - "hda_disk_image": "csr1000v-universalk9.16.2.2-ext.qcow2" + "hda_disk_image": "csr1000v-universalk9.16.06.01-serial.qcow2" }, - "name": "16.2.2" + "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": { @@ -1394,13 +1664,14 @@ X-Route: /v2/appliances/templates }, { "images": { - "hda_disk_image": "csr1000v-universalk9.16.04.01-serial.qcow2" + "hda_disk_image": "csr1000v-universalk9.16.4.1.qcow2" }, "name": "16.4.1" } ] }, { + "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", @@ -1454,6 +1725,230 @@ X-Route: /v2/appliances/templates ] }, { + "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": "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": "router", "description": "Cisco Virtual IOS allows user to run IOS on a standard computer.", "images": [ @@ -1533,9 +2028,17 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -1566,6 +2069,12 @@ X-Route: /v2/appliances/templates "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" @@ -1575,24 +2084,25 @@ X-Route: /v2/appliances/templates ] }, { + "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" - }, - { - "download_url": "https://virl.mediuscorp.com/my-account/", - "filename": "iosxrv-k9-demo-6.0.0.qcow2", - "filesize": 860815360, - "md5sum": "f0dccd86d64e370e22f144e681d202b6", - "version": "6.0.0" } ], "maintainer": "GNS3 Team", @@ -1617,24 +2127,32 @@ X-Route: /v2/appliances/templates "versions": [ { "images": { - "hda_disk_image": "iosxrv-k9-demo-6.0.1.qcow2" + "hda_disk_image": "iosxrv-k9-demo-6.1.3.qcow2" }, - "name": "6.0.1" + "name": "6.1.3" }, { "images": { - "hda_disk_image": "iosxrv-k9-demo-6.0.0.qcow2" + "hda_disk_image": "iosxrv-k9-demo-6.0.1.qcow2" }, - "name": "6.0.0" + "name": "6.0.1" } ] }, { + "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", @@ -1671,6 +2189,18 @@ X-Route: /v2/appliances/templates "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" @@ -1680,6 +2210,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "multilayer_switch", "description": "Cisco IOS on UNIX Layer 2 image.", "images": [ @@ -1694,6 +2225,12 @@ X-Route: /v2/appliances/templates "filesize": 72726092, "md5sum": "9549a20a7391fb849da32caa77a0d254", "version": "15.1a" + }, + { + "filename": "i86bi-linux-l2-adventerprisek9-15.2d.bin", + "filesize": 105036380, + "md5sum": "f16db44433beb3e8c828db5ddad1de8a", + "version": "15.2d" } ], "iou": { @@ -1723,10 +2260,17 @@ X-Route: /v2/appliances/templates "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": "router", "description": "Cisco IOS on UNIX Layer 3 image.", "images": [ @@ -1774,6 +2318,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -1856,6 +2401,79 @@ X-Route: /v2/appliances/templates ] }, { + "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": "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", @@ -1878,7 +2496,7 @@ X-Route: /v2/appliances/templates "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "name": "Cisco NX-OSv", - "port_name_format": "Ethernet2/{0}", + "port_name_format": "Ethernet2/{port1}", "product_name": "NX-OSv", "product_url": "http://virl.cisco.com/", "qemu": { @@ -1911,11 +2529,19 @@ X-Route: /v2/appliances/templates }, { "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.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", @@ -1968,6 +2594,13 @@ X-Route: /v2/appliances/templates "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.1.qcow2" + }, + "name": "7.0.3.I7.1" + }, { "images": { "bios_image": "OVMF-20160813.fd", @@ -1992,6 +2625,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -2089,6 +2723,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -2132,6 +2767,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -2190,6 +2826,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -2254,6 +2891,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -2324,10 +2962,38 @@ X-Route: /v2/appliances/templates ] }, { + "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/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", @@ -2438,6 +3104,24 @@ X-Route: /v2/appliances/templates "vendor_name": "CoreOS, Inc", "vendor_url": "https://coreos.com/", "versions": [ + { + "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" @@ -2501,11 +3185,49 @@ X-Route: /v2/appliances/templates ] }, { + "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.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", @@ -2573,7 +3295,7 @@ X-Route: /v2/appliances/templates "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", "name": "Cumulus VX", - "port_name_format": "swp{0}", + "port_name_format": "swp{port1}", "product_name": "Cumulus VX", "product_url": "https://cumulusnetworks.com/cumulus-vx/", "qemu": { @@ -2582,7 +3304,7 @@ X-Route: /v2/appliances/templates "arch": "x86_64", "console_type": "telnet", "kvm": "require", - "ram": 256 + "ram": 512 }, "registry_version": 3, "status": "stable", @@ -2590,6 +3312,36 @@ X-Route: /v2/appliances/templates "vendor_name": "Cumulus Network", "vendor_url": "https://www.cumulusnetworks.com", "versions": [ + { + "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" @@ -2647,6 +3399,7 @@ X-Route: /v2/appliances/templates ] }, { + "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/", @@ -2742,6 +3495,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -2795,6 +3549,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -2940,10 +3695,18 @@ X-Route: /v2/appliances/templates ] }, { + "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.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", @@ -2951,6 +3714,13 @@ X-Route: /v2/appliances/templates "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", @@ -3034,6 +3804,13 @@ X-Route: /v2/appliances/templates "vendor_name": "F5", "vendor_url": "http://www.f5.com/", "versions": [ + { + "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", @@ -3041,6 +3818,13 @@ X-Route: /v2/appliances/templates }, "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", @@ -3093,11 +3877,19 @@ X-Route: /v2/appliances/templates ] }, { + "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.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", @@ -3161,6 +3953,13 @@ X-Route: /v2/appliances/templates "vendor_name": "F5", "vendor_url": "http://www.f5.com/", "versions": [ + { + "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", @@ -3187,6 +3986,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "guest", "description": "A light Linux based on TinyCore Linux with Firefox preinstalled", "documentation_url": "https://support.mozilla.org", @@ -3243,6 +4043,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -3254,6 +4055,34 @@ X-Route: /v2/appliances/templates "md5sum": "b7500835594e62d8acb1c6ec43d597c1", "version": "4.x.x" }, + { + "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", @@ -3351,11 +4180,39 @@ X-Route: /v2/appliances/templates }, "registry_version": 3, "status": "stable", - "symbol": "loadbalancer.svg", + "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-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", @@ -3436,10 +4293,32 @@ X-Route: /v2/appliances/templates ] }, { + "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-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", @@ -3517,10 +4396,32 @@ X-Route: /v2/appliances/templates }, "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-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", @@ -3573,10 +4474,121 @@ X-Route: /v2/appliances/templates ] }, { + "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-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-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": "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-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", @@ -3647,10 +4659,25 @@ X-Route: /v2/appliances/templates }, "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-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", @@ -3696,10 +4723,25 @@ X-Route: /v2/appliances/templates ] }, { + "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-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", @@ -3707,6 +4749,13 @@ X-Route: /v2/appliances/templates "md5sum": "17ee2cc8c76c4928a68a2d016aa83ace", "version": "5.6.0" }, + { + "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", @@ -3819,10 +4868,25 @@ X-Route: /v2/appliances/templates }, "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-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", @@ -3830,6 +4894,13 @@ X-Route: /v2/appliances/templates }, "name": "5.6.0" }, + { + "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", @@ -3917,10 +4988,46 @@ X-Route: /v2/appliances/templates ] }, { + "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-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", @@ -4005,10 +5112,46 @@ X-Route: /v2/appliances/templates }, "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-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", @@ -4068,10 +5211,25 @@ X-Route: /v2/appliances/templates ] }, { + "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-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", @@ -4156,11 +5314,25 @@ X-Route: /v2/appliances/templates }, "registry_version": 3, "status": "stable", - "symbol": "mgmt_station.svg", + "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-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", @@ -4220,10 +5392,18 @@ X-Route: /v2/appliances/templates ] }, { + "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-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", @@ -4280,10 +5460,18 @@ X-Route: /v2/appliances/templates }, "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-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", @@ -4315,10 +5503,32 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -4362,10 +5572,19 @@ X-Route: /v2/appliances/templates }, "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", @@ -4377,6 +5596,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -4436,6 +5656,7 @@ X-Route: /v2/appliances/templates }, "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/", @@ -4464,13 +5685,23 @@ X-Route: /v2/appliances/templates ] }, { + "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": "ftp://ftp.freebsd.org/pub/FreeBSD/releases/VM-IMAGES/11.0-RELEASE/amd64/Latest/FreeBSD-11.0-RELEASE-amd64.qcow2.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, @@ -4479,7 +5710,16 @@ X-Route: /v2/appliances/templates }, { "compression": "xz", - "direct_download_url": "ftp://ftp.freebsd.org/pub/FreeBSD/releases/VM-IMAGES/10.3-RELEASE/amd64/Latest/FreeBSD-10.3-RELEASE-amd64.qcow2.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, @@ -4507,12 +5747,24 @@ X-Route: /v2/appliances/templates "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" @@ -4522,10 +5774,19 @@ X-Route: /v2/appliances/templates ] }, { + "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.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/", @@ -4565,6 +5826,14 @@ X-Route: /v2/appliances/templates "vendor_name": "iXsystems", "vendor_url": "http://www.freenas.org", "versions": [ + { + "images": { + "cdrom_image": "FreeNAS-11.0-U4.iso", + "hda_disk_image": "empty30G.qcow2", + "hdb_disk_image": "empty30G.qcow2" + }, + "name": "11.0" + }, { "images": { "cdrom_image": "FreeNAS-9.10.1-U4.iso", @@ -4576,10 +5845,18 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -4651,6 +5928,12 @@ X-Route: /v2/appliances/templates "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" @@ -4696,6 +5979,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -4738,10 +6022,20 @@ X-Route: /v2/appliances/templates ] }, { + "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-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", @@ -4783,6 +6077,12 @@ X-Route: /v2/appliances/templates "vendor_name": "IPFire Project", "vendor_url": "http://www.ipfire.org/", "versions": [ + { + "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" @@ -4798,6 +6098,7 @@ X-Route: /v2/appliances/templates ] }, { + "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": { @@ -4816,6 +6117,7 @@ X-Route: /v2/appliances/templates "vendor_url": "https://www.debian.org" }, { + "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/", @@ -5188,6 +6490,7 @@ X-Route: /v2/appliances/templates ] }, { + "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/", @@ -5388,6 +6691,7 @@ X-Route: /v2/appliances/templates ] }, { + "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/", @@ -5431,6 +6735,7 @@ X-Route: /v2/appliances/templates ] }, { + "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/", @@ -5474,10 +6779,39 @@ X-Route: /v2/appliances/templates ] }, { + "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/", "images": [ + { + "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-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", @@ -5556,6 +6890,30 @@ X-Route: /v2/appliances/templates "vendor_name": "Juniper", "vendor_url": "https://www.juniper.net/us/en/", "versions": [ + { + "images": { + "hda_disk_image": "media-vsrx-vmdisk-17.3R1.10.qcow2" + }, + "name": "17.3R1" + }, + { + "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" @@ -5607,6 +6965,7 @@ X-Route: /v2/appliances/templates ] }, { + "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": { @@ -5626,6 +6985,7 @@ X-Route: /v2/appliances/templates "vendor_url": "http://jupyter.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. This appliance provide python 2.7.", "docker": { @@ -5645,6 +7005,7 @@ X-Route: /v2/appliances/templates "vendor_url": "http://jupyter.org/" }, { + "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": { @@ -5662,10 +7023,19 @@ X-Route: /v2/appliances/templates "vendor_url": "https://www.kali.org/" }, { + "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.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/", @@ -5717,6 +7087,12 @@ X-Route: /v2/appliances/templates "vendor_name": "Kali Linux", "vendor_url": "https://www.kali.org/", "versions": [ + { + "images": { + "cdrom_image": "kali-linux-2017.2-amd64.iso" + }, + "name": "2017.2" + }, { "images": { "cdrom_image": "kali-linux-2017.1-amd64.iso" @@ -5744,10 +7120,18 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -5801,6 +7185,12 @@ X-Route: /v2/appliances/templates "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" @@ -5828,10 +7218,27 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -5880,6 +7287,18 @@ X-Route: /v2/appliances/templates "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" @@ -5901,10 +7320,27 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -5951,6 +7387,18 @@ X-Route: /v2/appliances/templates "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" @@ -5972,10 +7420,27 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -6023,6 +7488,18 @@ X-Route: /v2/appliances/templates "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" @@ -6044,6 +7521,7 @@ X-Route: /v2/appliances/templates ] }, { + "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/", @@ -6113,10 +7591,18 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -6146,6 +7632,12 @@ X-Route: /v2/appliances/templates "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" @@ -6155,6 +7647,7 @@ X-Route: /v2/appliances/templates ] }, { + "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/", @@ -6225,10 +7718,29 @@ X-Route: /v2/appliances/templates ] }, { + "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.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", @@ -6256,6 +7768,15 @@ X-Route: /v2/appliances/templates "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", @@ -6434,6 +7955,18 @@ X-Route: /v2/appliances/templates "vendor_name": "MikroTik", "vendor_url": "http://mikrotik.com/", "versions": [ + { + "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" @@ -6452,6 +7985,12 @@ X-Route: /v2/appliances/templates }, "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" @@ -6563,6 +8102,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -6605,6 +8145,26 @@ X-Route: /v2/appliances/templates ] }, { + "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": "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": { @@ -6625,6 +8185,7 @@ X-Route: /v2/appliances/templates "vendor_url": "http://www.ntop.org/" }, { + "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": { @@ -6643,6 +8204,52 @@ X-Route: /v2/appliances/templates "vendor_url": "http://onosproject.org/" }, { + "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": "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", @@ -6685,6 +8292,52 @@ X-Route: /v2/appliances/templates ] }, { + "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": "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": { @@ -6705,6 +8358,7 @@ X-Route: /v2/appliances/templates "vendor_url": "http://openvswitch.org/" }, { + "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": { @@ -6724,6 +8378,7 @@ X-Route: /v2/appliances/templates "vendor_url": "http://openvswitch.org/" }, { + "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/", @@ -6779,6 +8434,7 @@ X-Route: /v2/appliances/templates ] }, { + "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/", @@ -6821,6 +8477,51 @@ X-Route: /v2/appliances/templates ] }, { + "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": "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", @@ -6879,10 +8580,20 @@ X-Route: /v2/appliances/templates ] }, { + "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": "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", @@ -6967,6 +8678,12 @@ X-Route: /v2/appliances/templates "vendor_name": "Inverse inc.", "vendor_url": "https://packetfence.org/", "versions": [ + { + "images": { + "hda_disk_image": "PacketFenceZEN_USB-7.3.0.img" + }, + "name": "7.3.0" + }, { "images": { "hda_disk_image": "PacketFenceZEN_USB-7.1.0.img" @@ -7012,10 +8729,103 @@ X-Route: /v2/appliances/templates ] }, { + "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-6.1.0-disk1.vmdk", + "filesize": 2959736832, + "md5sum": "64b1e81cd54008318235832ea6d71424", + "version": "6.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-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-8.0.0.qcow2", + "filesize": 1987444736, + "md5sum": "b6a1ddc8552aff87f05f9c0d4cb54dc3", + "version": "8.0.0" + } + ], + "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 netmask default-gateway type static\r\nset deviceconfig system dns-setting servers primary secondary \r\ncommit\r\n", + "vendor_name": "Palo Alto Networks", + "vendor_url": "http://www.paloaltonetworks.com/", + "versions": [ + { + "images": { + "hda_disk_image": "PA-VM-ESX-6.1.0-disk1.vmdk" + }, + "name": "6.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-7.1.0-disk1.vmdk" + }, + "name": "7.1.0 (ESX)" + }, + { + "images": { + "hda_disk_image": "PA-VM-KVM-8.0.0.qcow2" + }, + "name": "8.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", @@ -7079,6 +8889,12 @@ X-Route: /v2/appliances/templates "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" @@ -7118,6 +8934,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -7171,6 +8988,7 @@ X-Route: /v2/appliances/templates ] }, { + "builtin": true, "category": "guest", "description": "Container with integrated Python 2 & 3, Perl, PHP, and PHP7.0 interpreters, and a Go compiler.", "docker": { @@ -7187,6 +9005,7 @@ X-Route: /v2/appliances/templates "vendor_url": "https://www.gns3.com" }, { + "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", @@ -7237,6 +9056,74 @@ X-Route: /v2/appliances/templates ] }, { + "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": "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/", @@ -7290,6 +9177,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -7341,6 +9229,7 @@ X-Route: /v2/appliances/templates ] }, { + "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/", @@ -7561,6 +9450,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -7695,6 +9585,7 @@ X-Route: /v2/appliances/templates ] }, { + "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/", @@ -7752,6 +9643,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -7805,6 +9697,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -7857,6 +9750,7 @@ X-Route: /v2/appliances/templates ] }, { + "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": { @@ -7876,6 +9770,78 @@ X-Route: /v2/appliances/templates "vendor_url": "https://www.turnkeylinux.org/" }, { + "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", + "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": "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": { @@ -7894,10 +9860,18 @@ X-Route: /v2/appliances/templates "vendor_url": "http://www.ubuntu.com" }, { + "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_1310_x64.iso", + "filesize": 588251136, + "md5sum": "dc35aa96e954992e53a8cb244a932ae6", + "version": "13.1.0" + }, { "download_url": "https://www.untangle.com/get-untangle/", "filename": "untangle_1300_x64.iso", @@ -7978,6 +9952,13 @@ X-Route: /v2/appliances/templates "vendor_name": "Untangle", "vendor_url": "https://www.untangle.com/", "versions": [ + { + "images": { + "cdrom_image": "untangle_1310_x64.iso", + "hda_disk_image": "empty30G.qcow2" + }, + "name": "13.1.0" + }, { "images": { "cdrom_image": "untangle_1300_x64.iso", @@ -8030,6 +10011,7 @@ X-Route: /v2/appliances/templates ] }, { + "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": [ @@ -8146,6 +10128,7 @@ X-Route: /v2/appliances/templates ] }, { + "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", @@ -8243,8 +10226,9 @@ X-Route: /v2/appliances/templates ] }, { + "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 and the multicast testing tools msend/mreceive.", + "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", @@ -8262,10 +10246,195 @@ X-Route: /v2/appliances/templates "vendor_url": "https://www.debian.org" }, { + "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_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_preview.vmdk" + }, + "name": "10 w/ Edge" + }, + { + "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": "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", + "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": "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/", @@ -8329,6 +10498,13 @@ X-Route: /v2/appliances/templates "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", @@ -8360,11 +10536,23 @@ X-Route: /v2/appliances/templates ] }, { + "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.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, @@ -8390,6 +10578,12 @@ X-Route: /v2/appliances/templates "vendor_name": "Fulvio Ricciardi", "vendor_url": "http://www.zeroshell.org", "versions": [ + { + "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" diff --git a/docs/api/examples/controller_get_computes.txt b/docs/api/examples/controller_get_computes.txt index 702f26d3..51ea9fbd 100644 --- a/docs/api/examples/controller_get_computes.txt +++ b/docs/api/examples/controller_get_computes.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 387 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:45 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:22 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/computes [ diff --git a/docs/api/examples/controller_get_computescomputeid.txt b/docs/api/examples/controller_get_computescomputeid.txt index 4652fa83..4ed46759 100644 --- a/docs/api/examples/controller_get_computescomputeid.txt +++ b/docs/api/examples/controller_get_computescomputeid.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 334 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:45 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:17 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/computes/{compute_id} { diff --git a/docs/api/examples/controller_get_computescomputeidemulatoraction.txt b/docs/api/examples/controller_get_computescomputeidemulatoraction.txt index 6ebab491..1c479214 100644 --- a/docs/api/examples/controller_get_computescomputeidemulatoraction.txt +++ b/docs/api/examples/controller_get_computescomputeidemulatoraction.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 2 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:47 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:28 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/computes/{compute_id}/{emulator}/{action:.+} [] diff --git a/docs/api/examples/controller_get_computescomputeidemulatorimages.txt b/docs/api/examples/controller_get_computescomputeidemulatorimages.txt index 01bd599c..29023922 100644 --- a/docs/api/examples/controller_get_computescomputeidemulatorimages.txt +++ b/docs/api/examples/controller_get_computescomputeidemulatorimages.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 95 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:47 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:27 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/computes/{compute_id}/{emulator}/images [ diff --git a/docs/api/examples/controller_get_gns3vm.txt b/docs/api/examples/controller_get_gns3vm.txt index d6e3d359..c4219632 100644 --- a/docs/api/examples/controller_get_gns3vm.txt +++ b/docs/api/examples/controller_get_gns3vm.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 148 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:50 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/gns3vm { diff --git a/docs/api/examples/controller_get_gns3vmengines.txt b/docs/api/examples/controller_get_gns3vmengines.txt index ab5f6bb5..738fc178 100644 --- a/docs/api/examples/controller_get_gns3vmengines.txt +++ b/docs/api/examples/controller_get_gns3vmengines.txt @@ -8,13 +8,13 @@ HTTP/1.1 200 Connection: close Content-Length: 1106 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:50 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/gns3vm/engines [ { - "description": "VMware is the recommended choice for best performances.
The GNS3 VM can be downloaded here.", + "description": "VMware is the recommended choice for best performances.
The GNS3 VM can be downloaded here.", "engine_id": "vmware", "name": "VMware Fusion", "support_headless": true, @@ -22,7 +22,7 @@ X-Route: /v2/gns3vm/engines "support_when_exit": true }, { - "description": "VirtualBox doesn't support nested virtualization, this means running Qemu based VM could be very slow.
The GNS3 VM can be downloaded here", + "description": "VirtualBox doesn't support nested virtualization, this means running Qemu based VM could be very slow.
The GNS3 VM can be downloaded here", "engine_id": "virtualbox", "name": "VirtualBox", "support_headless": true, diff --git a/docs/api/examples/controller_get_gns3vmenginesenginevms.txt b/docs/api/examples/controller_get_gns3vmenginesenginevms.txt index 12b06f8d..841363aa 100644 --- a/docs/api/examples/controller_get_gns3vmenginesenginevms.txt +++ b/docs/api/examples/controller_get_gns3vmenginesenginevms.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 40 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:49 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/gns3vm/engines/{engine}/vms [ diff --git a/docs/api/examples/controller_get_projects.txt b/docs/api/examples/controller_get_projects.txt index 5b450ec9..a4e0c19c 100644 --- a/docs/api/examples/controller_get_projects.txt +++ b/docs/api/examples/controller_get_projects.txt @@ -6,10 +6,10 @@ GET /v2/projects HTTP/1.1 HTTP/1.1 200 Connection: close -Content-Length: 428 +Content-Length: 578 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:03 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:38 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects [ @@ -19,10 +19,15 @@ X-Route: /v2/projects "auto_start": false, "filename": "test.gns3", "name": "test", - "path": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_list_projects1", + "path": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_list_projects1", "project_id": "00010203-0405-0607-0809-0a0b0c0d0e0f", "scene_height": 1000, "scene_width": 2000, - "status": "opened" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "opened", + "zoom": 100 } ] diff --git a/docs/api/examples/controller_get_projectsprojectid.txt b/docs/api/examples/controller_get_projectsprojectid.txt index 2b7e4386..bf3373d9 100644 --- a/docs/api/examples/controller_get_projectsprojectid.txt +++ b/docs/api/examples/controller_get_projectsprojectid.txt @@ -1,15 +1,15 @@ -curl -i -X GET 'http://localhost:3080/v2/projects/02002a90-7b38-4e25-939f-5718e6ff2f4b' +curl -i -X GET 'http://localhost:3080/v2/projects/0f1cab8c-a85f-46a7-b2d8-360aacffe2f2' -GET /v2/projects/02002a90-7b38-4e25-939f-5718e6ff2f4b HTTP/1.1 +GET /v2/projects/0f1cab8c-a85f-46a7-b2d8-360aacffe2f2 HTTP/1.1 HTTP/1.1 200 Connection: close -Content-Length: 379 +Content-Length: 509 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:03 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:38 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id} { @@ -18,9 +18,14 @@ X-Route: /v2/projects/{project_id} "auto_start": false, "filename": "test.gns3", "name": "test", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp_f3j_m7j/projects/02002a90-7b38-4e25-939f-5718e6ff2f4b", - "project_id": "02002a90-7b38-4e25-939f-5718e6ff2f4b", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp5gvzxbg_/projects/0f1cab8c-a85f-46a7-b2d8-360aacffe2f2", + "project_id": "0f1cab8c-a85f-46a7-b2d8-360aacffe2f2", "scene_height": 1000, "scene_width": 2000, - "status": "opened" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "opened", + "zoom": 100 } diff --git a/docs/api/examples/controller_get_projectsprojectiddrawings.txt b/docs/api/examples/controller_get_projectsprojectiddrawings.txt index a1250174..88a474e8 100644 --- a/docs/api/examples/controller_get_projectsprojectiddrawings.txt +++ b/docs/api/examples/controller_get_projectsprojectiddrawings.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/projects/b23bbc6f-56fa-4954-8adc-45a074875bb8/drawings' +curl -i -X GET 'http://localhost:3080/v2/projects/6170501f-a3d6-4ab7-82e7-57b4394538f8/drawings' -GET /v2/projects/b23bbc6f-56fa-4954-8adc-45a074875bb8/drawings HTTP/1.1 +GET /v2/projects/6170501f-a3d6-4ab7-82e7-57b4394538f8/drawings HTTP/1.1 @@ -8,14 +8,14 @@ HTTP/1.1 200 Connection: close Content-Length: 363 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:49 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/drawings [ { - "drawing_id": "1804b301-3f1d-47d6-b8cf-201c29ffcdc5", - "project_id": "b23bbc6f-56fa-4954-8adc-45a074875bb8", + "drawing_id": "b6e1dcb4-442c-4c55-a1eb-537f57ee7974", + "project_id": "6170501f-a3d6-4ab7-82e7-57b4394538f8", "rotation": 0, "svg": "", "x": 10, diff --git a/docs/api/examples/controller_get_projectsprojectiddrawingsdrawingid.txt b/docs/api/examples/controller_get_projectsprojectiddrawingsdrawingid.txt new file mode 100644 index 00000000..9f62f817 --- /dev/null +++ b/docs/api/examples/controller_get_projectsprojectiddrawingsdrawingid.txt @@ -0,0 +1,23 @@ +curl -i -X GET 'http://localhost:3080/v2/projects/b1310dc0-c0f9-43ca-b1b6-dca48187ca20/drawings/571eda2c-6b71-4d1f-bff7-92a1c63c6622' + +GET /v2/projects/b1310dc0-c0f9-43ca-b1b6-dca48187ca20/drawings/571eda2c-6b71-4d1f-bff7-92a1c63c6622 HTTP/1.1 + + + +HTTP/1.1 200 +Connection: close +Content-Length: 323 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/projects/{project_id}/drawings/{drawing_id} + +{ + "drawing_id": "571eda2c-6b71-4d1f-bff7-92a1c63c6622", + "project_id": "b1310dc0-c0f9-43ca-b1b6-dca48187ca20", + "rotation": 0, + "svg": "", + "x": 10, + "y": 20, + "z": 0 +} diff --git a/docs/api/examples/controller_get_projectsprojectidlinks.txt b/docs/api/examples/controller_get_projectsprojectidlinks.txt index f6f10fba..ed574f78 100644 --- a/docs/api/examples/controller_get_projectsprojectidlinks.txt +++ b/docs/api/examples/controller_get_projectsprojectidlinks.txt @@ -1,15 +1,15 @@ -curl -i -X GET 'http://localhost:3080/v2/projects/a683bc42-6b18-4c1e-9497-23f11f5e60bc/links' +curl -i -X GET 'http://localhost:3080/v2/projects/9ca80ee5-8396-4c65-a477-874532d42ed3/links' -GET /v2/projects/a683bc42-6b18-4c1e-9497-23f11f5e60bc/links HTTP/1.1 +GET /v2/projects/9ca80ee5-8396-4c65-a477-874532d42ed3/links HTTP/1.1 HTTP/1.1 200 Connection: close -Content-Length: 1111 +Content-Length: 1293 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:52 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:36 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/links [ @@ -17,7 +17,15 @@ X-Route: /v2/projects/{project_id}/links "capture_file_name": null, "capture_file_path": null, "capturing": false, - "link_id": "a810aca4-4e76-47a2-9a33-78dd3c5d0f21", + "filters": { + "frequency_drop": [ + 50 + ], + "latency": [ + 10 + ] + }, + "link_id": "d61729b0-e4c8-4d29-9e37-ed7997d2fcd8", "link_type": "ethernet", "nodes": [ { @@ -29,7 +37,7 @@ X-Route: /v2/projects/{project_id}/links "x": -10, "y": -10 }, - "node_id": "13eee57f-4240-43eb-89f0-3cbe635f98d7", + "node_id": "2384cb6c-1783-4872-9c9e-91f015dee027", "port_number": 3 }, { @@ -41,10 +49,11 @@ X-Route: /v2/projects/{project_id}/links "x": -10, "y": -10 }, - "node_id": "a2102f85-9ca9-451e-aa67-f4c0f3dfc0a6", + "node_id": "a679eb04-b702-4353-baa2-3554e49396b1", "port_number": 4 } ], - "project_id": "a683bc42-6b18-4c1e-9497-23f11f5e60bc" + "project_id": "9ca80ee5-8396-4c65-a477-874532d42ed3", + "suspend": false } ] diff --git a/docs/api/examples/controller_get_projectsprojectidlinkslinkid.txt b/docs/api/examples/controller_get_projectsprojectidlinkslinkid.txt new file mode 100644 index 00000000..8689f8b6 --- /dev/null +++ b/docs/api/examples/controller_get_projectsprojectidlinkslinkid.txt @@ -0,0 +1,48 @@ +curl -i -X GET 'http://localhost:3080/v2/projects/23093d79-3767-40fa-a4d2-d6cb9b8b3ad6/links/5ef12b17-0fcd-41c3-b14d-ac9a123fd260' + +GET /v2/projects/23093d79-3767-40fa-a4d2-d6cb9b8b3ad6/links/5ef12b17-0fcd-41c3-b14d-ac9a123fd260 HTTP/1.1 + + + +HTTP/1.1 200 +Connection: close +Content-Length: 916 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:16:36 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/projects/{project_id}/links/{link_id} + +{ + "capture_file_name": null, + "capture_file_path": null, + "capturing": false, + "filters": {}, + "link_id": "5ef12b17-0fcd-41c3-b14d-ac9a123fd260", + "link_type": "ethernet", + "nodes": [ + { + "adapter_number": 0, + "label": { + "text": "Text", + "x": 42, + "y": 0 + }, + "node_id": "ad56b649-841c-4212-ad67-47e8637f86ca", + "port_number": 3 + }, + { + "adapter_number": 2, + "label": { + "rotation": 0, + "style": "font-size: 10; font-style: Verdana", + "text": "2/4", + "x": -10, + "y": -10 + }, + "node_id": "4f2ca049-53e8-4cd1-bd81-396e2b2b40d1", + "port_number": 4 + } + ], + "project_id": "23093d79-3767-40fa-a4d2-d6cb9b8b3ad6", + "suspend": false +} diff --git a/docs/api/examples/controller_get_projectsprojectidlinkslinkidavailablefilters.txt b/docs/api/examples/controller_get_projectsprojectidlinkslinkidavailablefilters.txt new file mode 100644 index 00000000..e7749078 --- /dev/null +++ b/docs/api/examples/controller_get_projectsprojectidlinkslinkidavailablefilters.txt @@ -0,0 +1,90 @@ +curl -i -X GET 'http://localhost:3080/v2/projects/e727375f-2f2b-4f23-9077-d73059f35e3a/links/cfb0fcc4-a5b2-4b53-9c56-487b297c8681/available_filters' + +GET /v2/projects/e727375f-2f2b-4f23-9077-d73059f35e3a/links/cfb0fcc4-a5b2-4b53-9c56-487b297c8681/available_filters HTTP/1.1 + + + +HTTP/1.1 200 +Connection: close +Content-Length: 2119 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:16:36 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/projects/{project_id}/links/{link_id}/available_filters + +[ + { + "description": "It will drop everything with a -1 frequency, drop every Nth packet with a positive frequency, or drop nothing", + "name": "Frequency drop", + "parameters": [ + { + "maximum": 32767, + "minimum": -1, + "name": "Frequency", + "type": "int", + "unit": "th packet" + } + ], + "type": "frequency_drop" + }, + { + "description": "The percentage represents the chance for a packet to be lost", + "name": "Packet loss", + "parameters": [ + { + "maximum": 100, + "minimum": 0, + "name": "Chance", + "type": "int", + "unit": "%" + } + ], + "type": "packet_loss" + }, + { + "description": "Delay packets in milliseconds. You can add jitter in milliseconds (+/-) of the delay", + "name": "Delay", + "parameters": [ + { + "maximum": 32767, + "minimum": 0, + "name": "Latency", + "type": "int", + "unit": "ms" + }, + { + "maximum": 32767, + "minimum": 0, + "name": "Jitter (-/+)", + "type": "int", + "unit": "ms" + } + ], + "type": "delay" + }, + { + "description": "The percentage represents the chance for a packet to be corrupted", + "name": "Corrupt", + "parameters": [ + { + "maximum": 100, + "minimum": 0, + "name": "Chance", + "type": "int", + "unit": "%" + } + ], + "type": "corrupt" + }, + { + "description": "This filter will drop any packet matching a BPF expression. Put one expression per line", + "name": "Berkeley Packet Filter (BPF)", + "parameters": [ + { + "name": "Filters", + "type": "text" + } + ], + "type": "bpf" + } +] diff --git a/docs/api/examples/controller_get_projectsprojectidnodes.txt b/docs/api/examples/controller_get_projectsprojectidnodes.txt index b29d953b..df433eb4 100644 --- a/docs/api/examples/controller_get_projectsprojectidnodes.txt +++ b/docs/api/examples/controller_get_projectsprojectidnodes.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/projects/d6778aaa-bd4f-45c3-b2bb-8bfdd6bbe392/nodes' +curl -i -X GET 'http://localhost:3080/v2/projects/33278936-718c-4161-8fc3-7af4aa39581f/nodes' -GET /v2/projects/d6778aaa-bd4f-45c3-b2bb-8bfdd6bbe392/nodes HTTP/1.1 +GET /v2/projects/33278936-718c-4161-8fc3-7af4aa39581f/nodes HTTP/1.1 @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 1303 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:55 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes [ @@ -17,7 +17,7 @@ X-Route: /v2/projects/{project_id}/nodes "command_line": null, "compute_id": "example.com", "console": 2048, - "console_host": "", + "console_host": "", "console_type": null, "first_port_name": null, "height": 59, @@ -30,7 +30,7 @@ X-Route: /v2/projects/{project_id}/nodes }, "name": "test", "node_directory": null, - "node_id": "71a2b586-7c71-4dd5-8708-87e8fddca30d", + "node_id": "30a2bfff-f287-4a2e-97e6-880b13667fab", "node_type": "vpcs", "port_name_format": "Ethernet{0}", "port_segment_size": 0, @@ -46,7 +46,7 @@ X-Route: /v2/projects/{project_id}/nodes "short_name": "e0" } ], - "project_id": "d6778aaa-bd4f-45c3-b2bb-8bfdd6bbe392", + "project_id": "33278936-718c-4161-8fc3-7af4aa39581f", "properties": { "startup_script": "echo test" }, diff --git a/docs/api/examples/controller_get_projectsprojectidnodesnodeid.txt b/docs/api/examples/controller_get_projectsprojectidnodesnodeid.txt index 8890596a..4f9a6cf7 100644 --- a/docs/api/examples/controller_get_projectsprojectidnodesnodeid.txt +++ b/docs/api/examples/controller_get_projectsprojectidnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/projects/789d3ca1-0777-42e5-93df-31996fbef81a/nodes/11d97cb8-36af-41d4-8aff-37b14232bf63' +curl -i -X GET 'http://localhost:3080/v2/projects/27d4fc3f-0c57-4b34-bee2-497f1216f9b1/nodes/ef78b006-21e6-4b82-a0db-c259c3e59fda' -GET /v2/projects/789d3ca1-0777-42e5-93df-31996fbef81a/nodes/11d97cb8-36af-41d4-8aff-37b14232bf63 HTTP/1.1 +GET /v2/projects/27d4fc3f-0c57-4b34-bee2-497f1216f9b1/nodes/ef78b006-21e6-4b82-a0db-c259c3e59fda HTTP/1.1 @@ -8,15 +8,15 @@ HTTP/1.1 200 Connection: close Content-Length: 1123 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:55 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/{node_id} { "command_line": null, "compute_id": "example.com", "console": 2048, - "console_host": "", + "console_host": "", "console_type": null, "first_port_name": null, "height": 59, @@ -29,7 +29,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id} }, "name": "test", "node_directory": null, - "node_id": "11d97cb8-36af-41d4-8aff-37b14232bf63", + "node_id": "ef78b006-21e6-4b82-a0db-c259c3e59fda", "node_type": "vpcs", "port_name_format": "Ethernet{0}", "port_segment_size": 0, @@ -45,7 +45,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id} "short_name": "e0" } ], - "project_id": "789d3ca1-0777-42e5-93df-31996fbef81a", + "project_id": "27d4fc3f-0c57-4b34-bee2-497f1216f9b1", "properties": { "startup_script": "echo test" }, diff --git a/docs/api/examples/controller_get_projectsprojectidnodesnodeiddynamipsautoidlepc.txt b/docs/api/examples/controller_get_projectsprojectidnodesnodeiddynamipsautoidlepc.txt index 50b014f2..0c6c1c88 100644 --- a/docs/api/examples/controller_get_projectsprojectidnodesnodeiddynamipsautoidlepc.txt +++ b/docs/api/examples/controller_get_projectsprojectidnodesnodeiddynamipsautoidlepc.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/projects/437ff2b0-b30e-461c-adba-0866bbb1cedc/nodes/a79dd9d4-9593-4f15-8d1e-7e3e16a298b3/dynamips/auto_idlepc' +curl -i -X GET 'http://localhost:3080/v2/projects/4d318c14-2a43-4578-98ef-8f5cf2de34fb/nodes/2cfc89cf-7cbf-45a2-8085-446f9adc3513/dynamips/auto_idlepc' -GET /v2/projects/437ff2b0-b30e-461c-adba-0866bbb1cedc/nodes/a79dd9d4-9593-4f15-8d1e-7e3e16a298b3/dynamips/auto_idlepc HTTP/1.1 +GET /v2/projects/4d318c14-2a43-4578-98ef-8f5cf2de34fb/nodes/2cfc89cf-7cbf-45a2-8085-446f9adc3513/dynamips/auto_idlepc HTTP/1.1 @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 30 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:01 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:38 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/{node_id}/dynamips/auto_idlepc { diff --git a/docs/api/examples/controller_get_projectsprojectidnodesnodeiddynamipsidlepcproposals.txt b/docs/api/examples/controller_get_projectsprojectidnodesnodeiddynamipsidlepcproposals.txt index a3b2ffe1..9f0dfb9a 100644 --- a/docs/api/examples/controller_get_projectsprojectidnodesnodeiddynamipsidlepcproposals.txt +++ b/docs/api/examples/controller_get_projectsprojectidnodesnodeiddynamipsidlepcproposals.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/projects/5026c709-50ac-408d-a0c4-12d1b8aa4601/nodes/3498bda0-7a97-4423-b31d-32a2e50ac0ac/dynamips/idlepc_proposals' +curl -i -X GET 'http://localhost:3080/v2/projects/ad96a777-6236-456f-94f6-6036c7b5e822/nodes/aaadc419-18e6-4c89-967e-a71648fd4bc6/dynamips/idlepc_proposals' -GET /v2/projects/5026c709-50ac-408d-a0c4-12d1b8aa4601/nodes/3498bda0-7a97-4423-b31d-32a2e50ac0ac/dynamips/idlepc_proposals HTTP/1.1 +GET /v2/projects/ad96a777-6236-456f-94f6-6036c7b5e822/nodes/aaadc419-18e6-4c89-967e-a71648fd4bc6/dynamips/idlepc_proposals HTTP/1.1 @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 38 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:01 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:38 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/{node_id}/dynamips/idlepc_proposals [ diff --git a/docs/api/examples/controller_get_projectsprojectidsnapshots.txt b/docs/api/examples/controller_get_projectsprojectidsnapshots.txt index 1cb4dbf1..f9d92e06 100644 --- a/docs/api/examples/controller_get_projectsprojectidsnapshots.txt +++ b/docs/api/examples/controller_get_projectsprojectidsnapshots.txt @@ -1,6 +1,6 @@ -curl -i -X GET 'http://localhost:3080/v2/projects/62b2833a-6632-4387-8f20-ccb4096ed52d/snapshots' +curl -i -X GET 'http://localhost:3080/v2/projects/fedc2620-5424-4a08-9cb5-8bc1f288df0d/snapshots' -GET /v2/projects/62b2833a-6632-4387-8f20-ccb4096ed52d/snapshots HTTP/1.1 +GET /v2/projects/fedc2620-5424-4a08-9cb5-8bc1f288df0d/snapshots HTTP/1.1 @@ -8,15 +8,15 @@ HTTP/1.1 200 Connection: close Content-Length: 197 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:08 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:40 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/snapshots [ { - "created_at": 1498748888, + "created_at": 1515399400, "name": "test", - "project_id": "62b2833a-6632-4387-8f20-ccb4096ed52d", - "snapshot_id": "6b0d6759-5a9f-4499-be1a-6167db42afce" + "project_id": "fedc2620-5424-4a08-9cb5-8bc1f288df0d", + "snapshot_id": "31310a98-d0b3-4739-8889-c3e0a7c1432e" } ] diff --git a/docs/api/examples/controller_get_settings.txt b/docs/api/examples/controller_get_settings.txt index b13faa60..c12b7bc8 100644 --- a/docs/api/examples/controller_get_settings.txt +++ b/docs/api/examples/controller_get_settings.txt @@ -8,11 +8,11 @@ HTTP/1.1 200 Connection: close Content-Length: 85 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:08 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:40 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/settings { - "modification_uuid": "8c59037b-2cc6-4d4d-be9b-e072fb0eee2a", + "modification_uuid": "c1aaa5d1-ce63-49f4-bfcc-e67dfac60ce3", "test": true } diff --git a/docs/api/examples/controller_get_symbols.txt b/docs/api/examples/controller_get_symbols.txt index be2641d6..f3b75885 100644 --- a/docs/api/examples/controller_get_symbols.txt +++ b/docs/api/examples/controller_get_symbols.txt @@ -8,8 +8,8 @@ HTTP/1.1 200 Connection: close Content-Length: 5174 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:10 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:40 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/symbols [ diff --git a/docs/api/examples/controller_get_version.txt b/docs/api/examples/controller_get_version.txt index 3eb437cd..d6a57646 100644 --- a/docs/api/examples/controller_get_version.txt +++ b/docs/api/examples/controller_get_version.txt @@ -8,11 +8,11 @@ HTTP/1.1 200 Connection: close Content-Length: 49 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:10 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:41 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/version { "local": true, - "version": "2.1.0dev1" + "version": "2.1.2dev1" } diff --git a/docs/api/examples/controller_post_computes.txt b/docs/api/examples/controller_post_computes.txt index 1a097e9f..34439959 100644 --- a/docs/api/examples/controller_post_computes.txt +++ b/docs/api/examples/controller_post_computes.txt @@ -15,8 +15,8 @@ HTTP/1.1 201 Connection: close Content-Length: 334 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:45 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:15 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/computes { diff --git a/docs/api/examples/controller_post_computescomputeidautoidlepc.txt b/docs/api/examples/controller_post_computescomputeidautoidlepc.txt new file mode 100644 index 00000000..dad1d6e6 --- /dev/null +++ b/docs/api/examples/controller_post_computescomputeidautoidlepc.txt @@ -0,0 +1,21 @@ +curl -i -X POST 'http://localhost:3080/v2/computes/my_compute_id/auto_idlepc' -d '{"image": "test.bin", "platform": "c7200", "ram": 512}' + +POST /v2/computes/my_compute_id/auto_idlepc HTTP/1.1 +{ + "image": "test.bin", + "platform": "c7200", + "ram": 512 +} + + +HTTP/1.1 200 +Connection: close +Content-Length: 30 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:16:32 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/computes/{compute_id}/auto_idlepc + +{ + "idlepc": "0x606de20c" +} diff --git a/docs/api/examples/controller_post_computescomputeidemulatoraction.txt b/docs/api/examples/controller_post_computescomputeidemulatoraction.txt index 448bdee4..05cdbb7d 100644 --- a/docs/api/examples/controller_post_computescomputeidemulatoraction.txt +++ b/docs/api/examples/controller_post_computescomputeidemulatoraction.txt @@ -10,8 +10,8 @@ HTTP/1.1 200 Connection: close Content-Length: 2 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:47 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:30 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/computes/{compute_id}/{emulator}/{action:.+} [] diff --git a/docs/api/examples/controller_post_projects.txt b/docs/api/examples/controller_post_projects.txt index 3619fbe3..108a918f 100644 --- a/docs/api/examples/controller_post_projects.txt +++ b/docs/api/examples/controller_post_projects.txt @@ -9,10 +9,10 @@ POST /v2/projects HTTP/1.1 HTTP/1.1 201 Connection: close -Content-Length: 379 +Content-Length: 509 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:02 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:38 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects { @@ -21,9 +21,14 @@ X-Route: /v2/projects "auto_start": false, "filename": "test.gns3", "name": "test", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpczcx7zxv/projects/10010203-0405-0607-0809-0a0b0c0d0e0f", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp0kdf6pg5/projects/10010203-0405-0607-0809-0a0b0c0d0e0f", "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f", "scene_height": 1000, "scene_width": 2000, - "status": "opened" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "opened", + "zoom": 100 } diff --git a/docs/api/examples/controller_post_projectsload.txt b/docs/api/examples/controller_post_projectsload.txt index d1e78676..7f9da785 100644 --- a/docs/api/examples/controller_post_projectsload.txt +++ b/docs/api/examples/controller_post_projectsload.txt @@ -8,10 +8,10 @@ POST /v2/projects/load HTTP/1.1 HTTP/1.1 201 Connection: close -Content-Length: 379 +Content-Length: 509 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:04 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:39 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/load { @@ -20,9 +20,14 @@ X-Route: /v2/projects/load "auto_start": false, "filename": "test.gns3", "name": "test", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmphr9nujvb/projects/3c12144a-9bc7-4498-8314-e52651132dfe", - "project_id": "3c12144a-9bc7-4498-8314-e52651132dfe", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp86igc52s/projects/4ab2077c-0fe8-45f5-a82e-2a8a742b4026", + "project_id": "4ab2077c-0fe8-45f5-a82e-2a8a742b4026", "scene_height": 1000, "scene_width": 2000, - "status": "opened" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "opened", + "zoom": 100 } diff --git a/docs/api/examples/controller_post_projectsprojectidclose.txt b/docs/api/examples/controller_post_projectsprojectidclose.txt index ca0968d9..2a257a5d 100644 --- a/docs/api/examples/controller_post_projectsprojectidclose.txt +++ b/docs/api/examples/controller_post_projectsprojectidclose.txt @@ -1,15 +1,15 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/feb15ee8-6865-4a2c-9329-89bfe33b24aa/close' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/8747d42d-da0d-4d8a-b2d6-3b569894a2ac/close' -d '{}' -POST /v2/projects/feb15ee8-6865-4a2c-9329-89bfe33b24aa/close HTTP/1.1 +POST /v2/projects/8747d42d-da0d-4d8a-b2d6-3b569894a2ac/close HTTP/1.1 {} HTTP/1.1 201 Connection: close -Content-Length: 379 +Content-Length: 509 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:04 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:39 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/close { @@ -18,9 +18,14 @@ X-Route: /v2/projects/{project_id}/close "auto_start": false, "filename": "test.gns3", "name": "test", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp3kdw2jo2/projects/feb15ee8-6865-4a2c-9329-89bfe33b24aa", - "project_id": "feb15ee8-6865-4a2c-9329-89bfe33b24aa", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmprp4q67em/projects/8747d42d-da0d-4d8a-b2d6-3b569894a2ac", + "project_id": "8747d42d-da0d-4d8a-b2d6-3b569894a2ac", "scene_height": 1000, "scene_width": 2000, - "status": "opened" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "opened", + "zoom": 100 } diff --git a/docs/api/examples/controller_post_projectsprojectiddrawings.txt b/docs/api/examples/controller_post_projectsprojectiddrawings.txt index 47a11518..6f48a69f 100644 --- a/docs/api/examples/controller_post_projectsprojectiddrawings.txt +++ b/docs/api/examples/controller_post_projectsprojectiddrawings.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/2ac1ea25-3887-4a00-ad45-67c69ac92aa9/drawings' -d '{"svg": "", "x": 10, "y": 20, "z": 0}' +curl -i -X POST 'http://localhost:3080/v2/projects/d714ad44-8fe3-45b1-9ed6-57814a581e3c/drawings' -d '{"svg": "", "x": 10, "y": 20, "z": 0}' -POST /v2/projects/2ac1ea25-3887-4a00-ad45-67c69ac92aa9/drawings HTTP/1.1 +POST /v2/projects/d714ad44-8fe3-45b1-9ed6-57814a581e3c/drawings HTTP/1.1 { "svg": "", "x": 10, @@ -13,13 +13,13 @@ HTTP/1.1 201 Connection: close Content-Length: 323 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:48 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/drawings { - "drawing_id": "08d51af1-2ef2-410d-a4f4-8abbf00b6639", - "project_id": "2ac1ea25-3887-4a00-ad45-67c69ac92aa9", + "drawing_id": "af7cf5e1-9ebd-4478-aec6-2c8e05993587", + "project_id": "d714ad44-8fe3-45b1-9ed6-57814a581e3c", "rotation": 0, "svg": "", "x": 10, diff --git a/docs/api/examples/controller_post_projectsprojectidduplicate.txt b/docs/api/examples/controller_post_projectsprojectidduplicate.txt index 4f20c4f0..6633e521 100644 --- a/docs/api/examples/controller_post_projectsprojectidduplicate.txt +++ b/docs/api/examples/controller_post_projectsprojectidduplicate.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/e87798ff-6e29-4e7f-8f88-9df39dbefb30/duplicate' -d '{"name": "hello"}' +curl -i -X POST 'http://localhost:3080/v2/projects/ddcb0c7a-e706-4278-88fa-95d4d92146a1/duplicate' -d '{"name": "hello"}' -POST /v2/projects/e87798ff-6e29-4e7f-8f88-9df39dbefb30/duplicate HTTP/1.1 +POST /v2/projects/ddcb0c7a-e706-4278-88fa-95d4d92146a1/duplicate HTTP/1.1 { "name": "hello" } @@ -8,10 +8,10 @@ POST /v2/projects/e87798ff-6e29-4e7f-8f88-9df39dbefb30/duplicate HTTP/1.1 HTTP/1.1 201 Connection: close -Content-Length: 381 +Content-Length: 511 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:07 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:39 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/duplicate { @@ -20,9 +20,14 @@ X-Route: /v2/projects/{project_id}/duplicate "auto_start": false, "filename": "hello.gns3", "name": "hello", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpriyu8h8d/projects/c109539d-4b91-4bd4-b25d-6677e4afc6a3", - "project_id": "c109539d-4b91-4bd4-b25d-6677e4afc6a3", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpl3bk7hol/projects/c1e2c66f-f922-4848-b9c3-d06ee0a84fba", + "project_id": "c1e2c66f-f922-4848-b9c3-d06ee0a84fba", "scene_height": 1000, "scene_width": 2000, - "status": "closed" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "closed", + "zoom": 100 } diff --git a/docs/api/examples/controller_post_projectsprojectidlinks.txt b/docs/api/examples/controller_post_projectsprojectidlinks.txt index 4168f82e..ec2fd11f 100644 --- a/docs/api/examples/controller_post_projectsprojectidlinks.txt +++ b/docs/api/examples/controller_post_projectsprojectidlinks.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/68e44845-f2da-451e-8641-5523c7a0a469/links' -d '{"nodes": [{"adapter_number": 0, "label": {"text": "Text", "x": 42, "y": 0}, "node_id": "18f02b90-ad82-4f70-8bc5-dd2fe7186ca0", "port_number": 3}, {"adapter_number": 0, "node_id": "18f02b90-ad82-4f70-8bc5-dd2fe7186ca0", "port_number": 4}]}' +curl -i -X POST 'http://localhost:3080/v2/projects/1be6903e-2a33-456c-acac-0ce09f4bee53/links' -d '{"nodes": [{"adapter_number": 0, "label": {"text": "Text", "x": 42, "y": 0}, "node_id": "7fd37d81-3c9e-42af-a5a1-04c859278b2b", "port_number": 3}, {"adapter_number": 0, "node_id": "7fd37d81-3c9e-42af-a5a1-04c859278b2b", "port_number": 4}]}' -POST /v2/projects/68e44845-f2da-451e-8641-5523c7a0a469/links HTTP/1.1 +POST /v2/projects/1be6903e-2a33-456c-acac-0ce09f4bee53/links HTTP/1.1 { "nodes": [ { @@ -10,12 +10,12 @@ POST /v2/projects/68e44845-f2da-451e-8641-5523c7a0a469/links HTTP/1.1 "x": 42, "y": 0 }, - "node_id": "18f02b90-ad82-4f70-8bc5-dd2fe7186ca0", + "node_id": "7fd37d81-3c9e-42af-a5a1-04c859278b2b", "port_number": 3 }, { "adapter_number": 0, - "node_id": "18f02b90-ad82-4f70-8bc5-dd2fe7186ca0", + "node_id": "7fd37d81-3c9e-42af-a5a1-04c859278b2b", "port_number": 4 } ] @@ -26,8 +26,8 @@ HTTP/1.1 409 Connection: close Content-Length: 64 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:51 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/links { diff --git a/docs/api/examples/controller_post_projectsprojectidlinkslinkidstartcapture.txt b/docs/api/examples/controller_post_projectsprojectidlinkslinkidstartcapture.txt index f723d595..dc3d71af 100644 --- a/docs/api/examples/controller_post_projectsprojectidlinkslinkidstartcapture.txt +++ b/docs/api/examples/controller_post_projectsprojectidlinkslinkidstartcapture.txt @@ -1,23 +1,25 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/1153e7f1-2dd5-44e5-a73a-239045944072/links/15fe1714-093a-46fb-b6fa-31538845f982/start_capture' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/b743b3a3-845f-4604-9459-d673fb3bc9c3/links/57a8d659-29a9-4cbd-888c-090d69a9eb35/start_capture' -d '{}' -POST /v2/projects/1153e7f1-2dd5-44e5-a73a-239045944072/links/15fe1714-093a-46fb-b6fa-31538845f982/start_capture HTTP/1.1 +POST /v2/projects/b743b3a3-845f-4604-9459-d673fb3bc9c3/links/57a8d659-29a9-4cbd-888c-090d69a9eb35/start_capture HTTP/1.1 {} HTTP/1.1 201 Connection: close -Content-Length: 247 +Content-Length: 288 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:53 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:36 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/links/{link_id}/start_capture { "capture_file_name": null, "capture_file_path": null, "capturing": false, - "link_id": "15fe1714-093a-46fb-b6fa-31538845f982", + "filters": {}, + "link_id": "57a8d659-29a9-4cbd-888c-090d69a9eb35", "link_type": "ethernet", "nodes": [], - "project_id": "1153e7f1-2dd5-44e5-a73a-239045944072" + "project_id": "b743b3a3-845f-4604-9459-d673fb3bc9c3", + "suspend": false } diff --git a/docs/api/examples/controller_post_projectsprojectidlinkslinkidstopcapture.txt b/docs/api/examples/controller_post_projectsprojectidlinkslinkidstopcapture.txt index 39c35fff..0aac297e 100644 --- a/docs/api/examples/controller_post_projectsprojectidlinkslinkidstopcapture.txt +++ b/docs/api/examples/controller_post_projectsprojectidlinkslinkidstopcapture.txt @@ -1,23 +1,25 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/18630a34-149b-490d-ab50-348688301e2f/links/abe67842-50a7-42ae-a2ae-0c6b679abfe4/stop_capture' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/ea22fe63-fea5-47ed-b4a9-49072d7af9b1/links/b9f26c10-ff89-406d-92b4-cce143fe1fa4/stop_capture' -d '{}' -POST /v2/projects/18630a34-149b-490d-ab50-348688301e2f/links/abe67842-50a7-42ae-a2ae-0c6b679abfe4/stop_capture HTTP/1.1 +POST /v2/projects/ea22fe63-fea5-47ed-b4a9-49072d7af9b1/links/b9f26c10-ff89-406d-92b4-cce143fe1fa4/stop_capture HTTP/1.1 {} HTTP/1.1 201 Connection: close -Content-Length: 247 +Content-Length: 288 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:53 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:36 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/links/{link_id}/stop_capture { "capture_file_name": null, "capture_file_path": null, "capturing": false, - "link_id": "abe67842-50a7-42ae-a2ae-0c6b679abfe4", + "filters": {}, + "link_id": "b9f26c10-ff89-406d-92b4-cce143fe1fa4", "link_type": "ethernet", "nodes": [], - "project_id": "18630a34-149b-490d-ab50-348688301e2f" + "project_id": "ea22fe63-fea5-47ed-b4a9-49072d7af9b1", + "suspend": false } diff --git a/docs/api/examples/controller_post_projectsprojectidnodes.txt b/docs/api/examples/controller_post_projectsprojectidnodes.txt index 7065f766..88e956da 100644 --- a/docs/api/examples/controller_post_projectsprojectidnodes.txt +++ b/docs/api/examples/controller_post_projectsprojectidnodes.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/75ca52c8-0504-4d98-95f3-b07fea466aaf/nodes' -d '{"compute_id": "example.com", "name": "test", "node_type": "vpcs", "properties": {"startup_script": "echo test"}}' +curl -i -X POST 'http://localhost:3080/v2/projects/654bb44c-a307-4d20-9117-3ed831d71524/nodes' -d '{"compute_id": "example.com", "name": "test", "node_type": "vpcs", "properties": {"startup_script": "echo test"}}' -POST /v2/projects/75ca52c8-0504-4d98-95f3-b07fea466aaf/nodes HTTP/1.1 +POST /v2/projects/654bb44c-a307-4d20-9117-3ed831d71524/nodes HTTP/1.1 { "compute_id": "example.com", "name": "test", @@ -15,15 +15,15 @@ HTTP/1.1 201 Connection: close Content-Length: 1123 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:54 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:36 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes { "command_line": null, "compute_id": "example.com", "console": 2048, - "console_host": "", + "console_host": "", "console_type": null, "first_port_name": null, "height": 59, @@ -36,7 +36,7 @@ X-Route: /v2/projects/{project_id}/nodes }, "name": "test", "node_directory": null, - "node_id": "bb6e2d39-2771-4a50-9740-b47e88a0ea45", + "node_id": "be9b41b1-6ebb-4351-8f85-88c84b6aeb3f", "node_type": "vpcs", "port_name_format": "Ethernet{0}", "port_segment_size": 0, @@ -52,7 +52,7 @@ X-Route: /v2/projects/{project_id}/nodes "short_name": "e0" } ], - "project_id": "75ca52c8-0504-4d98-95f3-b07fea466aaf", + "project_id": "654bb44c-a307-4d20-9117-3ed831d71524", "properties": { "startup_script": "echo test" }, diff --git a/docs/api/examples/controller_post_projectsprojectidnodesnodeidduplicate.txt b/docs/api/examples/controller_post_projectsprojectidnodesnodeidduplicate.txt new file mode 100644 index 00000000..5b2bdcb5 --- /dev/null +++ b/docs/api/examples/controller_post_projectsprojectidnodesnodeidduplicate.txt @@ -0,0 +1,60 @@ +curl -i -X POST 'http://localhost:3080/v2/projects/00ed3048-63b6-4604-ba0b-fa3eb364b75c/nodes/d945d390-4538-40f4-857c-d6c9bd9577ca/duplicate' -d '{"x": 10, "y": 5, "z": 0}' + +POST /v2/projects/00ed3048-63b6-4604-ba0b-fa3eb364b75c/nodes/d945d390-4538-40f4-857c-d6c9bd9577ca/duplicate HTTP/1.1 +{ + "x": 10, + "y": 5, + "z": 0 +} + + +HTTP/1.1 201 +Connection: close +Content-Length: 1083 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/projects/{project_id}/nodes/{node_id}/duplicate + +{ + "command_line": null, + "compute_id": "example.com", + "console": null, + "console_host": "", + "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": "d59096fb-688e-4c7d-9ee2-1de524b97688", + "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": "00ed3048-63b6-4604-ba0b-fa3eb364b75c", + "properties": {}, + "status": "stopped", + "symbol": ":/symbols/computer.svg", + "width": 65, + "x": 10, + "y": 5, + "z": 0 +} diff --git a/docs/api/examples/controller_post_projectsprojectidnodesnodeidreload.txt b/docs/api/examples/controller_post_projectsprojectidnodesnodeidreload.txt index 8550fca9..9e649aba 100644 --- a/docs/api/examples/controller_post_projectsprojectidnodesnodeidreload.txt +++ b/docs/api/examples/controller_post_projectsprojectidnodesnodeidreload.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/9d1fcb99-0b3d-4161-bcaf-3d3cdc2118d3/nodes/3aa3e896-028b-49e0-a0e1-1e6e9b183164/reload' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/23eb0cbc-0923-46c7-9e28-4b5ff829c26b/nodes/9d4f5903-e448-4e92-a2a8-be2e1e3c2390/reload' -d '{}' -POST /v2/projects/9d1fcb99-0b3d-4161-bcaf-3d3cdc2118d3/nodes/3aa3e896-028b-49e0-a0e1-1e6e9b183164/reload HTTP/1.1 +POST /v2/projects/23eb0cbc-0923-46c7-9e28-4b5ff829c26b/nodes/9d4f5903-e448-4e92-a2a8-be2e1e3c2390/reload HTTP/1.1 {} @@ -8,15 +8,15 @@ HTTP/1.1 201 Connection: close Content-Length: 1080 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:59 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/{node_id}/reload { "command_line": null, "compute_id": "example.com", "console": null, - "console_host": "", + "console_host": "", "console_type": null, "first_port_name": null, "height": 59, @@ -29,7 +29,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id}/reload }, "name": "test", "node_directory": null, - "node_id": "3aa3e896-028b-49e0-a0e1-1e6e9b183164", + "node_id": "9d4f5903-e448-4e92-a2a8-be2e1e3c2390", "node_type": "vpcs", "port_name_format": "Ethernet{0}", "port_segment_size": 0, @@ -45,7 +45,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id}/reload "short_name": "e0" } ], - "project_id": "9d1fcb99-0b3d-4161-bcaf-3d3cdc2118d3", + "project_id": "23eb0cbc-0923-46c7-9e28-4b5ff829c26b", "properties": {}, "status": "stopped", "symbol": ":/symbols/computer.svg", diff --git a/docs/api/examples/controller_post_projectsprojectidnodesnodeidstart.txt b/docs/api/examples/controller_post_projectsprojectidnodesnodeidstart.txt index 33f0885b..97c34a72 100644 --- a/docs/api/examples/controller_post_projectsprojectidnodesnodeidstart.txt +++ b/docs/api/examples/controller_post_projectsprojectidnodesnodeidstart.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/d7102f02-b70d-48b7-b143-039b84ba5dbe/nodes/2015e375-5867-465b-ad39-3c139e8fc43e/start' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/8fd130cb-cdc9-4be2-ade1-61a0ed6307c6/nodes/70696eea-870e-4b9f-a43f-727bd5c144c9/start' -d '{}' -POST /v2/projects/d7102f02-b70d-48b7-b143-039b84ba5dbe/nodes/2015e375-5867-465b-ad39-3c139e8fc43e/start HTTP/1.1 +POST /v2/projects/8fd130cb-cdc9-4be2-ade1-61a0ed6307c6/nodes/70696eea-870e-4b9f-a43f-727bd5c144c9/start HTTP/1.1 {} @@ -8,15 +8,15 @@ HTTP/1.1 201 Connection: close Content-Length: 1080 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:57 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/{node_id}/start { "command_line": null, "compute_id": "example.com", "console": null, - "console_host": "", + "console_host": "", "console_type": null, "first_port_name": null, "height": 59, @@ -29,7 +29,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id}/start }, "name": "test", "node_directory": null, - "node_id": "2015e375-5867-465b-ad39-3c139e8fc43e", + "node_id": "70696eea-870e-4b9f-a43f-727bd5c144c9", "node_type": "vpcs", "port_name_format": "Ethernet{0}", "port_segment_size": 0, @@ -45,7 +45,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id}/start "short_name": "e0" } ], - "project_id": "d7102f02-b70d-48b7-b143-039b84ba5dbe", + "project_id": "8fd130cb-cdc9-4be2-ade1-61a0ed6307c6", "properties": {}, "status": "stopped", "symbol": ":/symbols/computer.svg", diff --git a/docs/api/examples/controller_post_projectsprojectidnodesnodeidstop.txt b/docs/api/examples/controller_post_projectsprojectidnodesnodeidstop.txt index 49a54492..408da116 100644 --- a/docs/api/examples/controller_post_projectsprojectidnodesnodeidstop.txt +++ b/docs/api/examples/controller_post_projectsprojectidnodesnodeidstop.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/b6d04968-06f7-4462-8458-436005031c09/nodes/a17ae1ae-da0c-45fa-8d42-fc064d848468/stop' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/4e05f8d5-3885-4de2-b7fb-cacd9231856c/nodes/432aeaf4-baca-489b-8c01-6bd1a6f8474f/stop' -d '{}' -POST /v2/projects/b6d04968-06f7-4462-8458-436005031c09/nodes/a17ae1ae-da0c-45fa-8d42-fc064d848468/stop HTTP/1.1 +POST /v2/projects/4e05f8d5-3885-4de2-b7fb-cacd9231856c/nodes/432aeaf4-baca-489b-8c01-6bd1a6f8474f/stop HTTP/1.1 {} @@ -8,15 +8,15 @@ HTTP/1.1 201 Connection: close Content-Length: 1080 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:58 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/{node_id}/stop { "command_line": null, "compute_id": "example.com", "console": null, - "console_host": "", + "console_host": "", "console_type": null, "first_port_name": null, "height": 59, @@ -29,7 +29,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id}/stop }, "name": "test", "node_directory": null, - "node_id": "a17ae1ae-da0c-45fa-8d42-fc064d848468", + "node_id": "432aeaf4-baca-489b-8c01-6bd1a6f8474f", "node_type": "vpcs", "port_name_format": "Ethernet{0}", "port_segment_size": 0, @@ -45,7 +45,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id}/stop "short_name": "e0" } ], - "project_id": "b6d04968-06f7-4462-8458-436005031c09", + "project_id": "4e05f8d5-3885-4de2-b7fb-cacd9231856c", "properties": {}, "status": "stopped", "symbol": ":/symbols/computer.svg", diff --git a/docs/api/examples/controller_post_projectsprojectidnodesnodeidsuspend.txt b/docs/api/examples/controller_post_projectsprojectidnodesnodeidsuspend.txt index 8d63be4f..2897f10d 100644 --- a/docs/api/examples/controller_post_projectsprojectidnodesnodeidsuspend.txt +++ b/docs/api/examples/controller_post_projectsprojectidnodesnodeidsuspend.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/fc97850e-5240-4f1b-9f29-8b3ba2d5af7f/nodes/73170773-7848-41a8-943b-a5dded780015/suspend' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/85b77222-5d34-4012-8f19-ceb3261913a3/nodes/64607fac-75cf-49ca-ac0f-21a22fb72374/suspend' -d '{}' -POST /v2/projects/fc97850e-5240-4f1b-9f29-8b3ba2d5af7f/nodes/73170773-7848-41a8-943b-a5dded780015/suspend HTTP/1.1 +POST /v2/projects/85b77222-5d34-4012-8f19-ceb3261913a3/nodes/64607fac-75cf-49ca-ac0f-21a22fb72374/suspend HTTP/1.1 {} @@ -8,15 +8,15 @@ HTTP/1.1 201 Connection: close Content-Length: 1080 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:58 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/{node_id}/suspend { "command_line": null, "compute_id": "example.com", "console": null, - "console_host": "", + "console_host": "", "console_type": null, "first_port_name": null, "height": 59, @@ -29,7 +29,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id}/suspend }, "name": "test", "node_directory": null, - "node_id": "73170773-7848-41a8-943b-a5dded780015", + "node_id": "64607fac-75cf-49ca-ac0f-21a22fb72374", "node_type": "vpcs", "port_name_format": "Ethernet{0}", "port_segment_size": 0, @@ -45,7 +45,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id}/suspend "short_name": "e0" } ], - "project_id": "fc97850e-5240-4f1b-9f29-8b3ba2d5af7f", + "project_id": "85b77222-5d34-4012-8f19-ceb3261913a3", "properties": {}, "status": "stopped", "symbol": ":/symbols/computer.svg", diff --git a/docs/api/examples/controller_post_projectsprojectidnodesreload.txt b/docs/api/examples/controller_post_projectsprojectidnodesreload.txt index 0db76a6c..53c2ac96 100644 --- a/docs/api/examples/controller_post_projectsprojectidnodesreload.txt +++ b/docs/api/examples/controller_post_projectsprojectidnodesreload.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/7e7e0ce3-5fb6-4161-b12b-f19d579ba134/nodes/reload' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/9f29082c-a385-4d54-87e9-8a6d400e207a/nodes/reload' -d '{}' -POST /v2/projects/7e7e0ce3-5fb6-4161-b12b-f19d579ba134/nodes/reload HTTP/1.1 +POST /v2/projects/9f29082c-a385-4d54-87e9-8a6d400e207a/nodes/reload HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:56 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/reload diff --git a/docs/api/examples/controller_post_projectsprojectidnodesstart.txt b/docs/api/examples/controller_post_projectsprojectidnodesstart.txt index 0ec0f39f..8d0150a8 100644 --- a/docs/api/examples/controller_post_projectsprojectidnodesstart.txt +++ b/docs/api/examples/controller_post_projectsprojectidnodesstart.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/74a3395f-e365-4b61-99c5-fa75f63b8fde/nodes/start' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/227b7712-8d97-402f-bd92-7a31fcc57384/nodes/start' -d '{}' -POST /v2/projects/74a3395f-e365-4b61-99c5-fa75f63b8fde/nodes/start HTTP/1.1 +POST /v2/projects/227b7712-8d97-402f-bd92-7a31fcc57384/nodes/start HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:55 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/start diff --git a/docs/api/examples/controller_post_projectsprojectidnodesstop.txt b/docs/api/examples/controller_post_projectsprojectidnodesstop.txt index 511e4c2c..50766aec 100644 --- a/docs/api/examples/controller_post_projectsprojectidnodesstop.txt +++ b/docs/api/examples/controller_post_projectsprojectidnodesstop.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/1d89d24e-4766-40d7-b342-300902f8294c/nodes/stop' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/50a86076-8e3b-4659-971c-4572f570529d/nodes/stop' -d '{}' -POST /v2/projects/1d89d24e-4766-40d7-b342-300902f8294c/nodes/stop HTTP/1.1 +POST /v2/projects/50a86076-8e3b-4659-971c-4572f570529d/nodes/stop HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:56 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/stop diff --git a/docs/api/examples/controller_post_projectsprojectidnodessuspend.txt b/docs/api/examples/controller_post_projectsprojectidnodessuspend.txt index 0f91133e..60c54cd1 100644 --- a/docs/api/examples/controller_post_projectsprojectidnodessuspend.txt +++ b/docs/api/examples/controller_post_projectsprojectidnodessuspend.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/28b0c31e-06ce-4205-ab2f-a957db239299/nodes/suspend' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/69e261f4-033b-45c5-b7ab-7f013e9bc4b6/nodes/suspend' -d '{}' -POST /v2/projects/28b0c31e-06ce-4205-ab2f-a957db239299/nodes/suspend HTTP/1.1 +POST /v2/projects/69e261f4-033b-45c5-b7ab-7f013e9bc4b6/nodes/suspend HTTP/1.1 {} @@ -8,7 +8,7 @@ HTTP/1.1 204 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:07:56 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/suspend diff --git a/docs/api/examples/controller_post_projectsprojectidopen.txt b/docs/api/examples/controller_post_projectsprojectidopen.txt index ba0c272c..578be069 100644 --- a/docs/api/examples/controller_post_projectsprojectidopen.txt +++ b/docs/api/examples/controller_post_projectsprojectidopen.txt @@ -1,15 +1,15 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/041f59f2-7a0f-4378-8053-7b966930312d/open' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/adbff87f-85f7-4b0d-af50-6b1fcaba5b4f/open' -d '{}' -POST /v2/projects/041f59f2-7a0f-4378-8053-7b966930312d/open HTTP/1.1 +POST /v2/projects/adbff87f-85f7-4b0d-af50-6b1fcaba5b4f/open HTTP/1.1 {} HTTP/1.1 201 Connection: close -Content-Length: 379 +Content-Length: 509 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:04 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:39 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/open { @@ -18,9 +18,14 @@ X-Route: /v2/projects/{project_id}/open "auto_start": false, "filename": "test.gns3", "name": "test", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpt_iolztt/projects/041f59f2-7a0f-4378-8053-7b966930312d", - "project_id": "041f59f2-7a0f-4378-8053-7b966930312d", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp5pvhkyby/projects/adbff87f-85f7-4b0d-af50-6b1fcaba5b4f", + "project_id": "adbff87f-85f7-4b0d-af50-6b1fcaba5b4f", "scene_height": 1000, "scene_width": 2000, - "status": "opened" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "opened", + "zoom": 100 } diff --git a/docs/api/examples/controller_post_projectsprojectidsnapshots.txt b/docs/api/examples/controller_post_projectsprojectidsnapshots.txt index 6494c509..35fcd5c6 100644 --- a/docs/api/examples/controller_post_projectsprojectidsnapshots.txt +++ b/docs/api/examples/controller_post_projectsprojectidsnapshots.txt @@ -1,6 +1,6 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/f7b4e81b-00cf-4e92-a783-f7a9ad71d225/snapshots' -d '{"name": "snap1"}' +curl -i -X POST 'http://localhost:3080/v2/projects/4fbbc572-fcc6-440a-9bc3-d8cd080c22e6/snapshots' -d '{"name": "snap1"}' -POST /v2/projects/f7b4e81b-00cf-4e92-a783-f7a9ad71d225/snapshots HTTP/1.1 +POST /v2/projects/4fbbc572-fcc6-440a-9bc3-d8cd080c22e6/snapshots HTTP/1.1 { "name": "snap1" } @@ -10,13 +10,13 @@ HTTP/1.1 201 Connection: close Content-Length: 170 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:09 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:40 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/snapshots { - "created_at": 1498748890, + "created_at": 1515399400, "name": "snap1", - "project_id": "f7b4e81b-00cf-4e92-a783-f7a9ad71d225", - "snapshot_id": "f87df065-9340-4421-b67d-f1ecd81258b4" + "project_id": "4fbbc572-fcc6-440a-9bc3-d8cd080c22e6", + "snapshot_id": "b99084ad-7093-46ea-af8a-45f30f2ccaee" } diff --git a/docs/api/examples/controller_post_projectsprojectidsnapshotssnapshotidrestore.txt b/docs/api/examples/controller_post_projectsprojectidsnapshotssnapshotidrestore.txt index f12c8dcb..2ce17dda 100644 --- a/docs/api/examples/controller_post_projectsprojectidsnapshotssnapshotidrestore.txt +++ b/docs/api/examples/controller_post_projectsprojectidsnapshotssnapshotidrestore.txt @@ -1,15 +1,15 @@ -curl -i -X POST 'http://localhost:3080/v2/projects/2b383355-2997-4f86-8b73-0582ae4c834b/snapshots/f9c9a4d9-9276-44c8-9024-6c1f6f5d19c2/restore' -d '{}' +curl -i -X POST 'http://localhost:3080/v2/projects/eb0c9744-0882-440d-aeb0-f7e136989c30/snapshots/7782fde0-310f-4eed-8899-0fba6189999c/restore' -d '{}' -POST /v2/projects/2b383355-2997-4f86-8b73-0582ae4c834b/snapshots/f9c9a4d9-9276-44c8-9024-6c1f6f5d19c2/restore HTTP/1.1 +POST /v2/projects/eb0c9744-0882-440d-aeb0-f7e136989c30/snapshots/7782fde0-310f-4eed-8899-0fba6189999c/restore HTTP/1.1 {} HTTP/1.1 201 Connection: close -Content-Length: 379 +Content-Length: 509 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:09 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:40 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/snapshots/{snapshot_id}/restore { @@ -18,9 +18,14 @@ X-Route: /v2/projects/{project_id}/snapshots/{snapshot_id}/restore "auto_start": false, "filename": "test.gns3", "name": "test", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmp8o5ny__1/projects/2b383355-2997-4f86-8b73-0582ae4c834b", - "project_id": "2b383355-2997-4f86-8b73-0582ae4c834b", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp20r65_qe/projects/eb0c9744-0882-440d-aeb0-f7e136989c30", + "project_id": "eb0c9744-0882-440d-aeb0-f7e136989c30", "scene_height": 1000, "scene_width": 2000, - "status": "opened" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "opened", + "zoom": 100 } diff --git a/docs/api/examples/controller_post_settings.txt b/docs/api/examples/controller_post_settings.txt index e98f0884..a72d3147 100644 --- a/docs/api/examples/controller_post_settings.txt +++ b/docs/api/examples/controller_post_settings.txt @@ -10,11 +10,11 @@ HTTP/1.1 201 Connection: close Content-Length: 85 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:08 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:40 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/settings { - "modification_uuid": "8c59037b-2cc6-4d4d-be9b-e072fb0eee2a", + "modification_uuid": "c1aaa5d1-ce63-49f4-bfcc-e67dfac60ce3", "test": true } diff --git a/docs/api/examples/controller_post_shutdown.txt b/docs/api/examples/controller_post_shutdown.txt index c9e2f130..3793cfdf 100644 --- a/docs/api/examples/controller_post_shutdown.txt +++ b/docs/api/examples/controller_post_shutdown.txt @@ -8,7 +8,7 @@ HTTP/1.1 201 Connection: close Content-Length: 0 Content-Type: application/octet-stream -Date: Thu, 29 Jun 2017 15:08:07 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:40 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/shutdown diff --git a/docs/api/examples/controller_post_version.txt b/docs/api/examples/controller_post_version.txt index 40507b82..febe1d0e 100644 --- a/docs/api/examples/controller_post_version.txt +++ b/docs/api/examples/controller_post_version.txt @@ -1,8 +1,8 @@ -curl -i -X POST 'http://localhost:3080/v2/version' -d '{"version": "2.1.0dev1"}' +curl -i -X POST 'http://localhost:3080/v2/version' -d '{"version": "2.1.2dev1"}' POST /v2/version HTTP/1.1 { - "version": "2.1.0dev1" + "version": "2.1.2dev1" } @@ -10,10 +10,10 @@ HTTP/1.1 200 Connection: close Content-Length: 30 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:11 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:41 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/version { - "version": "2.1.0dev1" + "version": "2.1.2dev1" } diff --git a/docs/api/examples/controller_put_computescomputeid.txt b/docs/api/examples/controller_put_computescomputeid.txt index 28ccb792..dc0e039d 100644 --- a/docs/api/examples/controller_put_computescomputeid.txt +++ b/docs/api/examples/controller_put_computescomputeid.txt @@ -15,8 +15,8 @@ HTTP/1.1 200 Connection: close Content-Length: 335 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:45 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:20 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/computes/{compute_id} { diff --git a/docs/api/examples/controller_put_gns3vm.txt b/docs/api/examples/controller_put_gns3vm.txt index 03f8c7a1..8163c726 100644 --- a/docs/api/examples/controller_put_gns3vm.txt +++ b/docs/api/examples/controller_put_gns3vm.txt @@ -10,8 +10,8 @@ HTTP/1.1 201 Connection: close Content-Length: 27 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:50 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/gns3vm { diff --git a/docs/api/examples/controller_put_projectsprojectid.txt b/docs/api/examples/controller_put_projectsprojectid.txt index 0280ce61..991326ce 100644 --- a/docs/api/examples/controller_put_projectsprojectid.txt +++ b/docs/api/examples/controller_put_projectsprojectid.txt @@ -8,10 +8,10 @@ PUT /v2/projects/10010203-0405-0607-0809-0a0b0c0d0e0f HTTP/1.1 HTTP/1.1 200 Connection: close -Content-Length: 380 +Content-Length: 510 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:08:03 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:38 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id} { @@ -20,9 +20,14 @@ X-Route: /v2/projects/{project_id} "auto_start": false, "filename": "test.gns3", "name": "test2", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmplj6wxbgc/projects/10010203-0405-0607-0809-0a0b0c0d0e0f", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp3n7ijfjb/projects/10010203-0405-0607-0809-0a0b0c0d0e0f", "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f", "scene_height": 1000, "scene_width": 2000, - "status": "opened" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "opened", + "zoom": 100 } diff --git a/docs/api/examples/controller_put_projectsprojectiddrawingsdrawingid.txt b/docs/api/examples/controller_put_projectsprojectiddrawingsdrawingid.txt index 373619db..b4c8f432 100644 --- a/docs/api/examples/controller_put_projectsprojectiddrawingsdrawingid.txt +++ b/docs/api/examples/controller_put_projectsprojectiddrawingsdrawingid.txt @@ -1,6 +1,6 @@ -curl -i -X PUT 'http://localhost:3080/v2/projects/03008748-5d81-433b-a62c-fb77c245cdc7/drawings/72443701-e923-4216-a5a4-75eb9ef77ac6' -d '{"x": 42}' +curl -i -X PUT 'http://localhost:3080/v2/projects/730a3525-db50-4a6a-ac7b-c724c3eed9e8/drawings/eb4a10ff-3cd1-47dd-b95b-1792d2b08f5c' -d '{"x": 42}' -PUT /v2/projects/03008748-5d81-433b-a62c-fb77c245cdc7/drawings/72443701-e923-4216-a5a4-75eb9ef77ac6 HTTP/1.1 +PUT /v2/projects/730a3525-db50-4a6a-ac7b-c724c3eed9e8/drawings/eb4a10ff-3cd1-47dd-b95b-1792d2b08f5c HTTP/1.1 { "x": 42 } @@ -10,13 +10,13 @@ HTTP/1.1 201 Connection: close Content-Length: 323 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:48 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:35 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/drawings/{drawing_id} { - "drawing_id": "72443701-e923-4216-a5a4-75eb9ef77ac6", - "project_id": "03008748-5d81-433b-a62c-fb77c245cdc7", + "drawing_id": "eb4a10ff-3cd1-47dd-b95b-1792d2b08f5c", + "project_id": "730a3525-db50-4a6a-ac7b-c724c3eed9e8", "rotation": 0, "svg": "", "x": 42, diff --git a/docs/api/examples/controller_put_projectsprojectidlinkslinkid.txt b/docs/api/examples/controller_put_projectsprojectidlinkslinkid.txt new file mode 100644 index 00000000..81d9078d --- /dev/null +++ b/docs/api/examples/controller_put_projectsprojectidlinkslinkid.txt @@ -0,0 +1,81 @@ +curl -i -X PUT 'http://localhost:3080/v2/projects/c4cba489-d792-4244-9242-07f53f6c4eac/links/e29aad22-7d24-4648-8282-0c41d1c7e70e' -d '{"filters": {"frequency_drop": [50], "latency": [10]}, "nodes": [{"adapter_number": 0, "label": {"text": "Hello", "x": 64, "y": 0}, "node_id": "eb22314e-ff91-4679-8b65-636ec8b34905", "port_number": 3}, {"adapter_number": 2, "node_id": "1268c0a0-8652-4dba-beaf-07cef8e0a310", "port_number": 4}]}' + +PUT /v2/projects/c4cba489-d792-4244-9242-07f53f6c4eac/links/e29aad22-7d24-4648-8282-0c41d1c7e70e HTTP/1.1 +{ + "filters": { + "frequency_drop": [ + 50 + ], + "latency": [ + 10 + ] + }, + "nodes": [ + { + "adapter_number": 0, + "label": { + "text": "Hello", + "x": 64, + "y": 0 + }, + "node_id": "eb22314e-ff91-4679-8b65-636ec8b34905", + "port_number": 3 + }, + { + "adapter_number": 2, + "node_id": "1268c0a0-8652-4dba-beaf-07cef8e0a310", + "port_number": 4 + } + ] +} + + +HTTP/1.1 201 +Connection: close +Content-Length: 1022 +Content-Type: application/json +Date: Mon, 08 Jan 2018 08:16:36 GMT +Server: Python/3.6 GNS3/2.1.2dev1 +X-Route: /v2/projects/{project_id}/links/{link_id} + +{ + "capture_file_name": null, + "capture_file_path": null, + "capturing": false, + "filters": { + "frequency_drop": [ + 50 + ], + "latency": [ + 10 + ] + }, + "link_id": "e29aad22-7d24-4648-8282-0c41d1c7e70e", + "link_type": "ethernet", + "nodes": [ + { + "adapter_number": 0, + "label": { + "text": "Hello", + "x": 64, + "y": 0 + }, + "node_id": "eb22314e-ff91-4679-8b65-636ec8b34905", + "port_number": 3 + }, + { + "adapter_number": 2, + "label": { + "rotation": 0, + "style": "font-size: 10; font-style: Verdana", + "text": "2/4", + "x": -10, + "y": -10 + }, + "node_id": "1268c0a0-8652-4dba-beaf-07cef8e0a310", + "port_number": 4 + } + ], + "project_id": "c4cba489-d792-4244-9242-07f53f6c4eac", + "suspend": false +} diff --git a/docs/api/examples/controller_put_projectsprojectidnodesnodeid.txt b/docs/api/examples/controller_put_projectsprojectidnodesnodeid.txt index 9bc2a7df..1b58e104 100644 --- a/docs/api/examples/controller_put_projectsprojectidnodesnodeid.txt +++ b/docs/api/examples/controller_put_projectsprojectidnodesnodeid.txt @@ -1,6 +1,6 @@ -curl -i -X PUT 'http://localhost:3080/v2/projects/cb9353f8-d72b-4f77-b909-eba9ced34a2b/nodes/5e8cf5d2-e17f-4f47-b3ea-6ca9ff88b852' -d '{"compute_id": "example.com", "name": "test", "node_type": "vpcs", "properties": {"startup_script": "echo test"}}' +curl -i -X PUT 'http://localhost:3080/v2/projects/758ba972-b86f-4fe1-8ee4-55a47010ccd6/nodes/fc936387-be57-4907-b240-bc2806f28a30' -d '{"compute_id": "example.com", "name": "test", "node_type": "vpcs", "properties": {"startup_script": "echo test"}}' -PUT /v2/projects/cb9353f8-d72b-4f77-b909-eba9ced34a2b/nodes/5e8cf5d2-e17f-4f47-b3ea-6ca9ff88b852 HTTP/1.1 +PUT /v2/projects/758ba972-b86f-4fe1-8ee4-55a47010ccd6/nodes/fc936387-be57-4907-b240-bc2806f28a30 HTTP/1.1 { "compute_id": "example.com", "name": "test", @@ -15,15 +15,15 @@ HTTP/1.1 200 Connection: close Content-Length: 1080 Content-Type: application/json -Date: Thu, 29 Jun 2017 15:07:55 GMT -Server: Python/3.6 GNS3/2.1.0dev1 +Date: Mon, 08 Jan 2018 08:16:37 GMT +Server: Python/3.6 GNS3/2.1.2dev1 X-Route: /v2/projects/{project_id}/nodes/{node_id} { "command_line": null, "compute_id": "example.com", "console": 2048, - "console_host": "", + "console_host": "", "console_type": null, "first_port_name": null, "height": 59, @@ -36,7 +36,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id} }, "name": "test", "node_directory": null, - "node_id": "5e8cf5d2-e17f-4f47-b3ea-6ca9ff88b852", + "node_id": "fc936387-be57-4907-b240-bc2806f28a30", "node_type": "vpcs", "port_name_format": "Ethernet{0}", "port_segment_size": 0, @@ -52,7 +52,7 @@ X-Route: /v2/projects/{project_id}/nodes/{node_id} "short_name": "e0" } ], - "project_id": "cb9353f8-d72b-4f77-b909-eba9ced34a2b", + "project_id": "758ba972-b86f-4fe1-8ee4-55a47010ccd6", "properties": {}, "status": "stopped", "symbol": ":/symbols/computer.svg", diff --git a/docs/api/notifications/drawing.created.json b/docs/api/notifications/drawing.created.json index 12cae2b3..b50f542b 100644 --- a/docs/api/notifications/drawing.created.json +++ b/docs/api/notifications/drawing.created.json @@ -1,6 +1,6 @@ { - "drawing_id": "1804b301-3f1d-47d6-b8cf-201c29ffcdc5", - "project_id": "b23bbc6f-56fa-4954-8adc-45a074875bb8", + "drawing_id": "b6e1dcb4-442c-4c55-a1eb-537f57ee7974", + "project_id": "6170501f-a3d6-4ab7-82e7-57b4394538f8", "rotation": 0, "svg": "", "x": 10, diff --git a/docs/api/notifications/drawing.deleted.json b/docs/api/notifications/drawing.deleted.json index 7b1c2f78..a7299cc2 100644 --- a/docs/api/notifications/drawing.deleted.json +++ b/docs/api/notifications/drawing.deleted.json @@ -1,6 +1,6 @@ { - "drawing_id": "f5852a28-616a-4e2c-a288-2184daecd0dc", - "project_id": "9e3eaf56-ac31-4b2f-a84f-b3874b0fc0b9", + "drawing_id": "df4f6a0a-429a-40c9-ae38-dbb4733d0750", + "project_id": "3cf20b3c-0602-49a6-b593-d49b6a1a5238", "rotation": 0, "svg": "", "x": 0, diff --git a/docs/api/notifications/drawing.updated.json b/docs/api/notifications/drawing.updated.json index c172ef94..e39a54d2 100644 --- a/docs/api/notifications/drawing.updated.json +++ b/docs/api/notifications/drawing.updated.json @@ -1,6 +1,6 @@ { - "drawing_id": "72443701-e923-4216-a5a4-75eb9ef77ac6", - "project_id": "03008748-5d81-433b-a62c-fb77c245cdc7", + "drawing_id": "eb4a10ff-3cd1-47dd-b95b-1792d2b08f5c", + "project_id": "730a3525-db50-4a6a-ac7b-c724c3eed9e8", "rotation": 0, "x": 42, "y": 20, diff --git a/docs/api/notifications/link.created.json b/docs/api/notifications/link.created.json index 0cf82b28..2947c017 100644 --- a/docs/api/notifications/link.created.json +++ b/docs/api/notifications/link.created.json @@ -2,7 +2,15 @@ "capture_file_name": null, "capture_file_path": null, "capturing": false, - "link_id": "a810aca4-4e76-47a2-9a33-78dd3c5d0f21", + "filters": { + "frequency_drop": [ + 50 + ], + "latency": [ + 10 + ] + }, + "link_id": "d61729b0-e4c8-4d29-9e37-ed7997d2fcd8", "link_type": "ethernet", "nodes": [ { @@ -14,7 +22,7 @@ "x": -10, "y": -10 }, - "node_id": "13eee57f-4240-43eb-89f0-3cbe635f98d7", + "node_id": "2384cb6c-1783-4872-9c9e-91f015dee027", "port_number": 3 }, { @@ -26,9 +34,10 @@ "x": -10, "y": -10 }, - "node_id": "a2102f85-9ca9-451e-aa67-f4c0f3dfc0a6", + "node_id": "a679eb04-b702-4353-baa2-3554e49396b1", "port_number": 4 } ], - "project_id": "a683bc42-6b18-4c1e-9497-23f11f5e60bc" + "project_id": "9ca80ee5-8396-4c65-a477-874532d42ed3", + "suspend": false } \ No newline at end of file diff --git a/docs/api/notifications/link.deleted.json b/docs/api/notifications/link.deleted.json index 50681a17..e666a28e 100644 --- a/docs/api/notifications/link.deleted.json +++ b/docs/api/notifications/link.deleted.json @@ -2,8 +2,10 @@ "capture_file_name": null, "capture_file_path": null, "capturing": false, - "link_id": "998e514e-d9a3-4de5-a940-13845f96fe55", + "filters": {}, + "link_id": "3b6257c1-ce3b-44c8-8c6c-a0457d6e9e04", "link_type": "ethernet", "nodes": [], - "project_id": "0e7e02c1-1864-46e3-a0ec-de2d3860ed66" + "project_id": "2883d355-8b23-4ddd-a21b-ff213e485c29", + "suspend": false } \ No newline at end of file diff --git a/docs/api/notifications/link.updated.json b/docs/api/notifications/link.updated.json index 9b4c9ab8..9d4c628a 100644 --- a/docs/api/notifications/link.updated.json +++ b/docs/api/notifications/link.updated.json @@ -2,7 +2,15 @@ "capture_file_name": null, "capture_file_path": null, "capturing": false, - "link_id": "2211ed32-8333-41ec-bf10-8bfcd7953239", + "filters": { + "frequency_drop": [ + 50 + ], + "latency": [ + 10 + ] + }, + "link_id": "e29aad22-7d24-4648-8282-0c41d1c7e70e", "link_type": "ethernet", "nodes": [ { @@ -12,7 +20,7 @@ "x": 64, "y": 0 }, - "node_id": "1ef55a34-a4a3-4654-a8a8-5b78ee2d14a7", + "node_id": "eb22314e-ff91-4679-8b65-636ec8b34905", "port_number": 3 }, { @@ -24,9 +32,10 @@ "x": -10, "y": -10 }, - "node_id": "1084d14e-fc5c-424d-a5e5-b2c7c1dbbae1", + "node_id": "1268c0a0-8652-4dba-beaf-07cef8e0a310", "port_number": 4 } ], - "project_id": "a29c3a9d-06cc-4931-a2cc-cd8098975e9b" + "project_id": "c4cba489-d792-4244-9242-07f53f6c4eac", + "suspend": false } \ No newline at end of file diff --git a/docs/api/notifications/node.updated.json b/docs/api/notifications/node.updated.json index 7a3893f5..c01837b0 100644 --- a/docs/api/notifications/node.updated.json +++ b/docs/api/notifications/node.updated.json @@ -2,7 +2,7 @@ "command_line": "", "compute_id": "local", "console": 5004, - "console_host": "localhost", + "console_host": "127.0.0.1", "console_type": "telnet", "first_port_name": null, "height": 59, @@ -14,7 +14,7 @@ "y": -25 }, "name": "PC1", - "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_open0/project-files/vpcs/64ba8408-afbf-4b66-9cdd-1fd854427478", + "node_directory": "/private/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/pytest-of-behlers/pytest-0/test_load_project0/project-files/vpcs/64ba8408-afbf-4b66-9cdd-1fd854427478", "node_id": "64ba8408-afbf-4b66-9cdd-1fd854427478", "node_type": "vpcs", "port_name_format": "Ethernet{0}", diff --git a/docs/api/notifications/project.closed.json b/docs/api/notifications/project.closed.json index e75ff8a7..41ca0640 100644 --- a/docs/api/notifications/project.closed.json +++ b/docs/api/notifications/project.closed.json @@ -4,9 +4,14 @@ "auto_start": false, "filename": "test.gns3", "name": "test", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpgw7miucs/projects/87aa91b7-b34e-43bd-a7c4-185dcf135498", - "project_id": "87aa91b7-b34e-43bd-a7c4-185dcf135498", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpsh708y29/projects/2f24e0e9-9f39-41d3-a413-e7c14c5db6f7", + "project_id": "2f24e0e9-9f39-41d3-a413-e7c14c5db6f7", "scene_height": 1000, "scene_width": 2000, - "status": "closed" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "closed", + "zoom": 100 } \ No newline at end of file diff --git a/docs/api/notifications/project.updated.json b/docs/api/notifications/project.updated.json index c5548b83..eb1cffb9 100644 --- a/docs/api/notifications/project.updated.json +++ b/docs/api/notifications/project.updated.json @@ -4,9 +4,14 @@ "auto_start": false, "filename": "test.gns3", "name": "test2", - "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmplj6wxbgc/projects/10010203-0405-0607-0809-0a0b0c0d0e0f", + "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp3n7ijfjb/projects/10010203-0405-0607-0809-0a0b0c0d0e0f", "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f", "scene_height": 1000, "scene_width": 2000, - "status": "opened" + "show_grid": false, + "show_interface_labels": false, + "show_layers": false, + "snap_to_grid": false, + "status": "opened", + "zoom": 100 } \ No newline at end of file diff --git a/docs/api/notifications/settings.updated.json b/docs/api/notifications/settings.updated.json index 22b26a8a..fdd99a65 100644 --- a/docs/api/notifications/settings.updated.json +++ b/docs/api/notifications/settings.updated.json @@ -1,4 +1,4 @@ { - "modification_uuid": "8c59037b-2cc6-4d4d-be9b-e072fb0eee2a", + "modification_uuid": "c1aaa5d1-ce63-49f4-bfcc-e67dfac60ce3", "test": true } \ No newline at end of file diff --git a/docs/api/notifications/snapshot.restored.json b/docs/api/notifications/snapshot.restored.json index 211b20ba..c956d922 100644 --- a/docs/api/notifications/snapshot.restored.json +++ b/docs/api/notifications/snapshot.restored.json @@ -1,6 +1,6 @@ { - "created_at": 1498748889, + "created_at": 1515399400, "name": "test", - "project_id": "2b383355-2997-4f86-8b73-0582ae4c834b", - "snapshot_id": "f9c9a4d9-9276-44c8-9024-6c1f6f5d19c2" + "project_id": "eb0c9744-0882-440d-aeb0-f7e136989c30", + "snapshot_id": "7782fde0-310f-4eed-8899-0fba6189999c" } \ No newline at end of file diff --git a/docs/api/v2/compute/atm_switch/projectsprojectidatmswitchnodesnodeidduplicate.rst b/docs/api/v2/compute/atm_switch/projectsprojectidatmswitchnodesnodeidduplicate.rst new file mode 100644 index 00000000..ad3e68fe --- /dev/null +++ b/docs/api/v2/compute/atm_switch/projectsprojectidatmswitchnodesnodeidduplicate.rst @@ -0,0 +1,19 @@ +/v2/compute/projects/{project_id}/atm_switch/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/compute/projects/**{project_id}**/atm_switch/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate an atm switch instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **404**: Instance doesn't exist + diff --git a/docs/api/v2/compute/cloud/projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/cloud/projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.rst index a1f38f2b..7d810637 100644 --- a/docs/api/v2/compute/cloud/projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.rst +++ b/docs/api/v2/compute/cloud/projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.rst @@ -27,6 +27,30 @@ Sample session .. literalinclude:: ../../../examples/compute_post_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +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 +********** +- **project_id**: Project UUID +- **node_id**: Node UUID +- **adapter_number**: Network adapter where the nio is located +- **port_number**: Port from where the nio should be updated + +Response status codes +********************** +- **201**: NIO updated +- **400**: Invalid request +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_put_projectsprojectidcloudnodesnodeidadaptersadapternumberdportsportnumberdnio.txt + + 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 diff --git a/docs/api/v2/compute/docker/projectsprojectiddockernodes.rst b/docs/api/v2/compute/docker/projectsprojectiddockernodes.rst index 74fbb78c..4821678e 100644 --- a/docs/api/v2/compute/docker/projectsprojectiddockernodes.rst +++ b/docs/api/v2/compute/docker/projectsprojectiddockernodes.rst @@ -36,6 +36,7 @@ Input 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 @@ -60,5 +61,6 @@ Output 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 diff --git a/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeid.rst b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeid.rst index 14d6f50a..a8c718c6 100644 --- a/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeid.rst +++ b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeid.rst @@ -57,6 +57,7 @@ Input 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 @@ -81,6 +82,7 @@ Output 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 diff --git a/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.rst index 58c2ce73..c1aff14f 100644 --- a/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.rst +++ b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.rst @@ -27,6 +27,30 @@ Sample session .. literalinclude:: ../../../examples/compute_post_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt +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 +********** +- **project_id**: Project UUID +- **node_id**: Node UUID +- **adapter_number**: Network adapter where the nio is located +- **port_number**: Port from where the nio should be updated + +Response status codes +********************** +- **201**: NIO updated +- **400**: Invalid request +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_put_projectsprojectiddockernodesnodeidadaptersadapternumberdportsportnumberdnio.txt + + 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 diff --git a/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidduplicate.rst b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidduplicate.rst new file mode 100644 index 00000000..3cc1640e --- /dev/null +++ b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidduplicate.rst @@ -0,0 +1,25 @@ +/v2/compute/projects/{project_id}/docker/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/compute/projects/**{project_id}**/docker/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate a Docker instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectiddockernodesnodeidduplicate.txt + diff --git a/docs/api/v2/compute/dynamips_vm/dynamipsimagesfilename.rst b/docs/api/v2/compute/dynamips_vm/dynamipsimagesfilename.rst index ed115e53..62bd58d2 100644 --- a/docs/api/v2/compute/dynamips_vm/dynamipsimagesfilename.rst +++ b/docs/api/v2/compute/dynamips_vm/dynamipsimagesfilename.rst @@ -15,3 +15,16 @@ Response status codes ********************** - **204**: Upload a Dynamips IOS image + +GET /v2/compute/dynamips/images/**{filename:.+}** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Download a Dynamips IOS image + +Parameters +********** +- **filename**: Image filename + +Response status codes +********************** +- **200**: Image returned + diff --git a/docs/api/v2/compute/dynamips_vm/projectsprojectiddynamipsnodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/dynamips_vm/projectsprojectiddynamipsnodesnodeidadaptersadapternumberdportsportnumberdnio.rst index 1f309347..f4ade9c2 100644 --- a/docs/api/v2/compute/dynamips_vm/projectsprojectiddynamipsnodesnodeidadaptersadapternumberdportsportnumberdnio.rst +++ b/docs/api/v2/compute/dynamips_vm/projectsprojectiddynamipsnodesnodeidadaptersadapternumberdportsportnumberdnio.rst @@ -21,6 +21,24 @@ Response status codes - **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 +********** +- **project_id**: Project UUID +- **node_id**: Node UUID +- **adapter_number**: Network adapter where the nio is located +- **port_number**: Port from where the nio should be updated + +Response status codes +********************** +- **201**: NIO updated +- **400**: Invalid request +- **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 diff --git a/docs/api/v2/compute/dynamips_vm/projectsprojectiddynamipsnodesnodeidduplicate.rst b/docs/api/v2/compute/dynamips_vm/projectsprojectiddynamipsnodesnodeidduplicate.rst new file mode 100644 index 00000000..1aab1153 --- /dev/null +++ b/docs/api/v2/compute/dynamips_vm/projectsprojectiddynamipsnodesnodeidduplicate.rst @@ -0,0 +1,19 @@ +/v2/compute/projects/{project_id}/dynamips/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/compute/projects/**{project_id}**/dynamips/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate a dynamips instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **404**: Instance doesn't exist + diff --git a/docs/api/v2/compute/ethernet_hub/projectsprojectidethernethubnodesnodeidduplicate.rst b/docs/api/v2/compute/ethernet_hub/projectsprojectidethernethubnodesnodeidduplicate.rst new file mode 100644 index 00000000..74df1cb5 --- /dev/null +++ b/docs/api/v2/compute/ethernet_hub/projectsprojectidethernethubnodesnodeidduplicate.rst @@ -0,0 +1,19 @@ +/v2/compute/projects/{project_id}/ethernet_hub/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/compute/projects/**{project_id}**/ethernet_hub/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate an ethernet hub instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **404**: Instance doesn't exist + diff --git a/docs/api/v2/compute/ethernet_switch/projectsprojectidethernetswitchnodesnodeidduplicate.rst b/docs/api/v2/compute/ethernet_switch/projectsprojectidethernetswitchnodesnodeidduplicate.rst new file mode 100644 index 00000000..a9bd4b02 --- /dev/null +++ b/docs/api/v2/compute/ethernet_switch/projectsprojectidethernetswitchnodesnodeidduplicate.rst @@ -0,0 +1,19 @@ +/v2/compute/projects/{project_id}/ethernet_switch/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/compute/projects/**{project_id}**/ethernet_switch/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate an ethernet switch instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **404**: Instance doesn't exist + diff --git a/docs/api/v2/compute/frame_relay_switch/projectsprojectidframerelayswitchnodesnodeidduplicate.rst b/docs/api/v2/compute/frame_relay_switch/projectsprojectidframerelayswitchnodesnodeidduplicate.rst new file mode 100644 index 00000000..96ee9fb3 --- /dev/null +++ b/docs/api/v2/compute/frame_relay_switch/projectsprojectidframerelayswitchnodesnodeidduplicate.rst @@ -0,0 +1,19 @@ +/v2/compute/projects/{project_id}/frame_relay_switch/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/compute/projects/**{project_id}**/frame_relay_switch/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate a frame relay switch instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **404**: Instance doesn't exist + diff --git a/docs/api/v2/compute/iou/iouimagesfilename.rst b/docs/api/v2/compute/iou/iouimagesfilename.rst index a1929428..8becca84 100644 --- a/docs/api/v2/compute/iou/iouimagesfilename.rst +++ b/docs/api/v2/compute/iou/iouimagesfilename.rst @@ -15,3 +15,16 @@ Response status codes ********************** - **204**: Image uploaded + +GET /v2/compute/iou/images/**{filename:.+}** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Download an IOU image + +Parameters +********** +- **filename**: Image filename + +Response status codes +********************** +- **200**: Image returned + diff --git a/docs/api/v2/compute/iou/projectsprojectidiounodes.rst b/docs/api/v2/compute/iou/projectsprojectidiounodes.rst index 9204e490..23ad28e1 100644 --- a/docs/api/v2/compute/iou/projectsprojectidiounodes.rst +++ b/docs/api/v2/compute/iou/projectsprojectidiounodes.rst @@ -23,6 +23,7 @@ Input + @@ -45,7 +46,8 @@ Output
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
- + + diff --git a/docs/api/v2/compute/iou/projectsprojectidiounodesnodeid.rst b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeid.rst index 8f728503..32b31671 100644 --- a/docs/api/v2/compute/iou/projectsprojectidiounodesnodeid.rst +++ b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeid.rst @@ -24,7 +24,8 @@ Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start QEMU
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
- + + @@ -71,7 +72,8 @@ Input
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start QEMU
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
- + + @@ -95,7 +97,8 @@ Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start QEMU
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
- + + diff --git a/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.rst index 3036a9dd..47cd3ee4 100644 --- a/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.rst +++ b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.rst @@ -27,6 +27,30 @@ Sample session .. literalinclude:: ../../../examples/compute_post_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt +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 +********** +- **project_id**: Project UUID +- **node_id**: Node UUID +- **adapter_number**: Network adapter where the nio is located +- **port_number**: Port where the nio should be added + +Response status codes +********************** +- **201**: NIO updated +- **400**: Invalid request +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_put_projectsprojectidiounodesnodeidadaptersadapternumberdportsportnumberdnio.txt + + 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 diff --git a/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidduplicate.rst b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidduplicate.rst new file mode 100644 index 00000000..82fbc3c0 --- /dev/null +++ b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidduplicate.rst @@ -0,0 +1,25 @@ +/v2/compute/projects/{project_id}/iou/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/compute/projects/**{project_id}**/iou/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate a IOU instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidiounodesnodeidduplicate.txt + diff --git a/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidstart.rst b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidstart.rst index 4632ca2f..6bce9a00 100644 --- a/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidstart.rst +++ b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidstart.rst @@ -33,7 +33,8 @@ Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start QEMU
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
- + + diff --git a/docs/api/v2/compute/nat/projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/nat/projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.rst index 7dc12995..0cd29dcd 100644 --- a/docs/api/v2/compute/nat/projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.rst +++ b/docs/api/v2/compute/nat/projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.rst @@ -27,6 +27,30 @@ Sample session .. literalinclude:: ../../../examples/compute_post_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +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 +********** +- **project_id**: Project UUID +- **node_id**: Node UUID +- **adapter_number**: Network adapter where the nio is located +- **port_number**: Port from where the nio should be updated + +Response status codes +********************** +- **201**: NIO updated +- **400**: Invalid request +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_put_projectsprojectidnatnodesnodeidadaptersadapternumberdportsportnumberdnio.txt + + 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 diff --git a/docs/api/v2/compute/project/projects.rst b/docs/api/v2/compute/project/projects.rst index 1ead42be..bf0f3189 100644 --- a/docs/api/v2/compute/project/projects.rst +++ b/docs/api/v2/compute/project/projects.rst @@ -40,6 +40,11 @@ Input + + + + +
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start QEMU
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
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
zoom integer Zoom of the drawing area
Output @@ -57,7 +62,12 @@ Output 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 + zoom integer Zoom of the drawing area Sample session diff --git a/docs/api/v2/compute/project/projectsprojectid.rst b/docs/api/v2/compute/project/projectsprojectid.rst index 373b19a2..187a0e49 100644 --- a/docs/api/v2/compute/project/projectsprojectid.rst +++ b/docs/api/v2/compute/project/projectsprojectid.rst @@ -31,7 +31,12 @@ Output 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 + zoom integer Zoom of the drawing area Sample session diff --git a/docs/api/v2/compute/project/projectsprojectidimport.rst b/docs/api/v2/compute/project/projectsprojectidimport.rst index a8acc297..4222c6e3 100644 --- a/docs/api/v2/compute/project/projectsprojectidimport.rst +++ b/docs/api/v2/compute/project/projectsprojectidimport.rst @@ -31,6 +31,11 @@ Output 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 + zoom integer Zoom of the drawing area diff --git a/docs/api/v2/compute/qemu/projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/qemu/projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.rst index 8aaa9c02..3155ba4c 100644 --- a/docs/api/v2/compute/qemu/projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.rst +++ b/docs/api/v2/compute/qemu/projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.rst @@ -27,6 +27,30 @@ Sample session .. literalinclude:: ../../../examples/compute_post_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt +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 +********** +- **project_id**: Project UUID +- **node_id**: Node UUID +- **adapter_number**: Network adapter where the nio is located +- **port_number**: Port from where the nio should be updated + +Response status codes +********************** +- **201**: NIO updated +- **400**: Invalid request +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_put_projectsprojectidqemunodesnodeidadaptersadapternumberdportsportnumberdnio.txt + + 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 diff --git a/docs/api/v2/compute/qemu/projectsprojectidqemunodesnodeidduplicate.rst b/docs/api/v2/compute/qemu/projectsprojectidqemunodesnodeidduplicate.rst new file mode 100644 index 00000000..2a8355d9 --- /dev/null +++ b/docs/api/v2/compute/qemu/projectsprojectidqemunodesnodeidduplicate.rst @@ -0,0 +1,25 @@ +/v2/compute/projects/{project_id}/qemu/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/compute/projects/**{project_id}**/qemu/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate a Qemu instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidqemunodesnodeidduplicate.txt + diff --git a/docs/api/v2/compute/qemu/qemuimagesfilename.rst b/docs/api/v2/compute/qemu/qemuimagesfilename.rst index 5a401de8..ecb3065e 100644 --- a/docs/api/v2/compute/qemu/qemuimagesfilename.rst +++ b/docs/api/v2/compute/qemu/qemuimagesfilename.rst @@ -15,3 +15,16 @@ Response status codes ********************** - **204**: Image uploaded + +GET /v2/compute/qemu/images/**{filename:.+}** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Download Qemu image + +Parameters +********** +- **filename**: Image filename + +Response status codes +********************** +- **200**: Image returned + diff --git a/docs/api/v2/compute/virtualbox/projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/virtualbox/projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.rst index 98db45ad..01a6b7b4 100644 --- a/docs/api/v2/compute/virtualbox/projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.rst +++ b/docs/api/v2/compute/virtualbox/projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.rst @@ -27,6 +27,30 @@ Sample session .. literalinclude:: ../../../examples/compute_post_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +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 +********** +- **project_id**: Project UUID +- **node_id**: Node UUID +- **adapter_number**: Network adapter where the nio is located +- **port_number**: Port from where the nio should be updated + +Response status codes +********************** +- **201**: NIO updated +- **400**: Invalid request +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_put_projectsprojectidvirtualboxnodesnodeidadaptersadapternumberdportsportnumberdnio.txt + + 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 diff --git a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodes.rst b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodes.rst index 8d648e4f..4f75cf88 100644 --- a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodes.rst +++ b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodes.rst @@ -58,3 +58,9 @@ Output vmx_path string Path to the vmx file +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidvmwarenodes.txt + diff --git a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeid.rst b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeid.rst index d2dca26c..ac53f4c8 100644 --- a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeid.rst +++ b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeid.rst @@ -40,6 +40,12 @@ Output vmx_path string Path to the vmx file +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_get_projectsprojectidvmwarenodesnodeid.txt + PUT /v2/compute/projects/**{project_id}**/vmware/nodes/**{node_id}** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -101,6 +107,12 @@ Output vmx_path string Path to the vmx file +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_put_projectsprojectidvmwarenodesnodeid.txt + DELETE /v2/compute/projects/**{project_id}**/vmware/nodes/**{node_id}** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.rst index cfd84f4c..dcc2cb4e 100644 --- a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.rst +++ b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.rst @@ -20,6 +20,36 @@ Response status codes - **400**: Invalid request - **404**: Instance doesn't exist +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt + + +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 +********** +- **project_id**: Project UUID +- **node_id**: Node UUID +- **adapter_number**: Network adapter where the nio is located +- **port_number**: Port from where the nio should be updated + +Response status codes +********************** +- **201**: NIO updated +- **400**: Invalid request +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_put_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt + DELETE /v2/compute/projects/**{project_id}**/vmware/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -38,3 +68,9 @@ Response status codes - **400**: Invalid request - **404**: Instance doesn't exist +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_delete_projectsprojectidvmwarenodesnodeidadaptersadapternumberdportsportnumberdnio.txt + diff --git a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidreload.rst b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidreload.rst index 24f890cb..c6dc34cc 100644 --- a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidreload.rst +++ b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidreload.rst @@ -18,3 +18,9 @@ Response status codes - **400**: Invalid request - **404**: Instance doesn't exist +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidvmwarenodesnodeidreload.txt + diff --git a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidresume.rst b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidresume.rst index 9167c921..c9ef0e0c 100644 --- a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidresume.rst +++ b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidresume.rst @@ -18,3 +18,9 @@ Response status codes - **400**: Invalid request - **404**: Instance doesn't exist +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidvmwarenodesnodeidresume.txt + diff --git a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidstart.rst b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidstart.rst index 15f4853a..da9b5f4f 100644 --- a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidstart.rst +++ b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidstart.rst @@ -18,3 +18,9 @@ Response status codes - **400**: Invalid request - **404**: Instance doesn't exist +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidvmwarenodesnodeidstart.txt + diff --git a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidstop.rst b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidstop.rst index 1242ad89..d6acd738 100644 --- a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidstop.rst +++ b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidstop.rst @@ -18,3 +18,9 @@ Response status codes - **400**: Invalid request - **404**: Instance doesn't exist +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidvmwarenodesnodeidstop.txt + diff --git a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidsuspend.rst b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidsuspend.rst index 5b7478f7..b2bd8836 100644 --- a/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidsuspend.rst +++ b/docs/api/v2/compute/vmware/projectsprojectidvmwarenodesnodeidsuspend.rst @@ -18,3 +18,9 @@ Response status codes - **400**: Invalid request - **404**: Instance doesn't exist +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidvmwarenodesnodeidsuspend.txt + diff --git a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodes.rst b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodes.rst index e8ef9a13..d8e29add 100644 --- a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodes.rst +++ b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodes.rst @@ -36,7 +36,7 @@ Output - + diff --git a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeid.rst b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeid.rst index 7e304c55..f0f4c377 100644 --- a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeid.rst +++ b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeid.rst @@ -24,7 +24,7 @@ Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start QEMU
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
- + @@ -74,7 +74,7 @@ Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start QEMU
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
- + diff --git a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.rst index 89141be5..16ab6825 100644 --- a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.rst +++ b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.rst @@ -27,6 +27,30 @@ Sample session .. literalinclude:: ../../../examples/compute_post_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt +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 +********** +- **project_id**: Project UUID +- **node_id**: Node UUID +- **adapter_number**: Network adapter where the nio is located +- **port_number**: Port from where the nio should be updated + +Response status codes +********************** +- **201**: NIO updated +- **400**: Invalid request +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_put_projectsprojectidvpcsnodesnodeidadaptersadapternumberdportsportnumberdnio.txt + + 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 diff --git a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidduplicate.rst b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidduplicate.rst new file mode 100644 index 00000000..fe60f417 --- /dev/null +++ b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidduplicate.rst @@ -0,0 +1,25 @@ +/v2/compute/projects/{project_id}/vpcs/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/compute/projects/**{project_id}**/vpcs/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate a VPCS instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **404**: Instance doesn't exist + +Sample session +*************** + + +.. literalinclude:: ../../../examples/compute_post_projectsprojectidvpcsnodesnodeidduplicate.txt + diff --git a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidstart.rst b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidstart.rst index 09dd5dac..7f24b0b5 100644 --- a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidstart.rst +++ b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidstart.rst @@ -24,7 +24,7 @@ Output
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start QEMU
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
- + diff --git a/docs/api/v2/controller/appliance/projectsprojectidappliancesapplianceid.rst b/docs/api/v2/controller/appliance/projectsprojectidappliancesapplianceid.rst index 843d7df9..db7dad5a 100644 --- a/docs/api/v2/controller/appliance/projectsprojectidappliancesapplianceid.rst +++ b/docs/api/v2/controller/appliance/projectsprojectidappliancesapplianceid.rst @@ -38,7 +38,7 @@ Output - + diff --git a/docs/api/v2/controller/compute/sendpointidemulatoraction.rst b/docs/api/v2/controller/compute/sendpointidemulatoraction.rst new file mode 100644 index 00000000..9a3b8aa8 --- /dev/null +++ b/docs/api/v2/controller/compute/sendpointidemulatoraction.rst @@ -0,0 +1,27 @@ +/v2/computes/endpoint/{compute_id}/{emulator}/{action:.+} +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +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 +******* +.. raw:: html + +
Name Mandatory Type Description
command_line string Last command line used by GNS3 to start QEMU
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
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, spice, null
console_type enum Possible values: vnc, telnet, http, https, spice, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
+ + +
Name Mandatory Type Description
endpoint string URL to endpoint on specific compute and to particular action
+ diff --git a/docs/api/v2/controller/compute/sidautoidlepc.rst b/docs/api/v2/controller/compute/sidautoidlepc.rst new file mode 100644 index 00000000..c26e6e41 --- /dev/null +++ b/docs/api/v2/controller/compute/sidautoidlepc.rst @@ -0,0 +1,17 @@ +/v2/computes/{compute_id}/auto_idlepc +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/computes/**{compute_id}**/auto_idlepc +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Compute IDLE PC value + +Parameters +********** +- **compute_id**: Compute UUID + +Response status codes +********************** +- **200**: Idle PC computed + diff --git a/docs/api/v2/controller/drawing/projectsprojectiddrawingsdrawingid.rst b/docs/api/v2/controller/drawing/projectsprojectiddrawingsdrawingid.rst index 3ff0b4a5..c3906946 100644 --- a/docs/api/v2/controller/drawing/projectsprojectiddrawingsdrawingid.rst +++ b/docs/api/v2/controller/drawing/projectsprojectiddrawingsdrawingid.rst @@ -3,9 +3,46 @@ .. contents:: +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 +******* +.. raw:: html + + + + + + + + + + +
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 +*************** + + +.. literalinclude:: ../../../examples/controller_get_projectsprojectiddrawingsdrawingid.txt + + PUT /v2/projects/**{project_id}**/drawings/**{drawing_id}** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Create a new drawing instance +Update a drawing instance Parameters ********** diff --git a/docs/api/v2/controller/link/projectsprojectidlinks.rst b/docs/api/v2/controller/link/projectsprojectidlinks.rst index 1916606f..55a35849 100644 --- a/docs/api/v2/controller/link/projectsprojectidlinks.rst +++ b/docs/api/v2/controller/link/projectsprojectidlinks.rst @@ -44,10 +44,12 @@ Input capture_file_name ['string', 'null'] Read only property. The name of the capture file if capture is running capture_file_path ['string', 'null'] Read only property. The full path of the capture file if capture is running capturing boolean Read only property. True if a capture running on the link + filters object Packet filter. This allow to simulate latency and errors link_id string Link UUID link_type enum Possible values: ethernet, serial - nodes ✔ array List of the VMS + nodes array List of the VMS project_id string Project UUID + suspend boolean Suspend the link Output @@ -59,10 +61,12 @@ Output capture_file_name ['string', 'null'] Read only property. The name of the capture file if capture is running capture_file_path ['string', 'null'] Read only property. The full path of the capture file if capture is running capturing boolean Read only property. True if a capture running on the link + filters object Packet filter. This allow to simulate latency and errors link_id string Link UUID link_type enum Possible values: ethernet, serial - nodes ✔ array List of the VMS + nodes array List of the VMS project_id string Project UUID + suspend boolean Suspend the link Sample session diff --git a/docs/api/v2/controller/link/projectsprojectidlinkslinkid.rst b/docs/api/v2/controller/link/projectsprojectidlinkslinkid.rst index 834a34b0..af82e77b 100644 --- a/docs/api/v2/controller/link/projectsprojectidlinkslinkid.rst +++ b/docs/api/v2/controller/link/projectsprojectidlinkslinkid.rst @@ -3,6 +3,45 @@ .. contents:: +GET /v2/projects/**{project_id}**/links/**{link_id}** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Get a link instance + +Parameters +********** +- **project_id**: Project UUID +- **link_id**: Link UUID + +Response status codes +********************** +- **200**: Link found +- **400**: Invalid request +- **404**: Link doesn't exist + +Output +******* +.. raw:: html + + + + + + + + + + + + +
Name Mandatory Type Description
capture_file_name ['string', 'null'] Read only property. The name of the capture file if capture is running
capture_file_path ['string', 'null'] Read only property. The full path of the capture file if capture is running
capturing boolean Read only property. True if a capture running on the link
filters object Packet filter. This allow to simulate latency and errors
link_id string Link UUID
link_type enum Possible values: ethernet, serial
nodes array List of the VMS
project_id string Project UUID
suspend boolean Suspend the link
+ +Sample session +*************** + + +.. literalinclude:: ../../../examples/controller_get_projectsprojectidlinkslinkid.txt + + PUT /v2/projects/**{project_id}**/links/**{link_id}** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Update a link instance @@ -26,10 +65,12 @@ Input capture_file_name ['string', 'null'] Read only property. The name of the capture file if capture is running capture_file_path ['string', 'null'] Read only property. The full path of the capture file if capture is running capturing boolean Read only property. True if a capture running on the link + filters object Packet filter. This allow to simulate latency and errors link_id string Link UUID link_type enum Possible values: ethernet, serial - nodes ✔ array List of the VMS + nodes array List of the VMS project_id string Project UUID + suspend boolean Suspend the link Output @@ -41,12 +82,20 @@ Output capture_file_name ['string', 'null'] Read only property. The name of the capture file if capture is running capture_file_path ['string', 'null'] Read only property. The full path of the capture file if capture is running capturing boolean Read only property. True if a capture running on the link + filters object Packet filter. This allow to simulate latency and errors link_id string Link UUID link_type enum Possible values: ethernet, serial - nodes ✔ array List of the VMS + nodes array List of the VMS project_id string Project UUID + suspend boolean Suspend the link +Sample session +*************** + + +.. literalinclude:: ../../../examples/controller_put_projectsprojectidlinkslinkid.txt + DELETE /v2/projects/**{project_id}**/links/**{link_id}** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/api/v2/controller/link/projectsprojectidlinkslinkidavailablefilters.rst b/docs/api/v2/controller/link/projectsprojectidlinkslinkidavailablefilters.rst new file mode 100644 index 00000000..1b013285 --- /dev/null +++ b/docs/api/v2/controller/link/projectsprojectidlinkslinkidavailablefilters.rst @@ -0,0 +1,25 @@ +/v2/projects/{project_id}/links/{link_id}/available_filters +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +GET /v2/projects/**{project_id}**/links/**{link_id}**/available_filters +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Return the list of filters available for this link + +Parameters +********** +- **project_id**: Project UUID +- **link_id**: Link UUID + +Response status codes +********************** +- **200**: List of filters +- **400**: Invalid request + +Sample session +*************** + + +.. literalinclude:: ../../../examples/controller_get_projectsprojectidlinkslinkidavailablefilters.txt + diff --git a/docs/api/v2/controller/link/projectsprojectidlinkslinkidstartcapture.rst b/docs/api/v2/controller/link/projectsprojectidlinkslinkidstartcapture.rst index 888ef4b2..e6358ee9 100644 --- a/docs/api/v2/controller/link/projectsprojectidlinkslinkidstartcapture.rst +++ b/docs/api/v2/controller/link/projectsprojectidlinkslinkidstartcapture.rst @@ -36,10 +36,12 @@ Output capture_file_name ['string', 'null'] Read only property. The name of the capture file if capture is running capture_file_path ['string', 'null'] Read only property. The full path of the capture file if capture is running capturing boolean Read only property. True if a capture running on the link + filters object Packet filter. This allow to simulate latency and errors link_id string Link UUID link_type enum Possible values: ethernet, serial - nodes ✔ array List of the VMS + nodes array List of the VMS project_id string Project UUID + suspend boolean Suspend the link Sample session diff --git a/docs/api/v2/controller/node/projectsprojectidnodes.rst b/docs/api/v2/controller/node/projectsprojectidnodes.rst index c682cf2b..80dccc7b 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodes.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodes.rst @@ -26,7 +26,7 @@ Input 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object @@ -57,7 +57,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeid.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeid.rst index 3187734b..d7885bbe 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodesnodeid.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeid.rst @@ -23,7 +23,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object @@ -71,7 +71,7 @@ Input 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object @@ -102,7 +102,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidduplicate.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidduplicate.rst new file mode 100644 index 00000000..d01e661f --- /dev/null +++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidduplicate.rst @@ -0,0 +1,68 @@ +/v2/projects/{project_id}/nodes/{node_id}/duplicate +------------------------------------------------------------------------------------------------------------------------------------------ + +.. contents:: + +POST /v2/projects/**{project_id}**/nodes/**{node_id}**/duplicate +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Duplicate a node instance + +Parameters +********** +- **project_id**: Project UUID +- **node_id**: Node UUID + +Response status codes +********************** +- **201**: Instance duplicated +- **400**: Invalid request +- **404**: Instance doesn't exist + +Input +******* +.. raw:: html + + + + + + +
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 +******* +.. raw:: html + + + + + + + + + + + + + + + + + + + + + + + + + + +
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, 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, 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 +*************** + + +.. literalinclude:: ../../../examples/controller_post_projectsprojectidnodesnodeidduplicate.txt + diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidreload.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidreload.rst index 11c782c1..f9df30a0 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodesnodeidreload.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidreload.rst @@ -28,7 +28,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidstart.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidstart.rst index 80171b67..384c616a 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodesnodeidstart.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidstart.rst @@ -28,7 +28,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidstop.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidstop.rst index 9c6800a1..e4a8e0f0 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodesnodeidstop.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidstop.rst @@ -28,7 +28,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidsuspend.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidsuspend.rst index d91638c1..25c10972 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodesnodeidsuspend.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidsuspend.rst @@ -28,7 +28,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/node/projectsprojectidnodesreload.rst b/docs/api/v2/controller/node/projectsprojectidnodesreload.rst index dfe9116e..dde5ff1e 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodesreload.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodesreload.rst @@ -27,7 +27,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/node/projectsprojectidnodesstart.rst b/docs/api/v2/controller/node/projectsprojectidnodesstart.rst index c29f23d9..ab5c4258 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodesstart.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodesstart.rst @@ -27,7 +27,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/node/projectsprojectidnodesstop.rst b/docs/api/v2/controller/node/projectsprojectidnodesstop.rst index 689b9585..1fd47d5a 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodesstop.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodesstop.rst @@ -27,7 +27,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/node/projectsprojectidnodessuspend.rst b/docs/api/v2/controller/node/projectsprojectidnodessuspend.rst index d75da266..5677d8c2 100644 --- a/docs/api/v2/controller/node/projectsprojectidnodessuspend.rst +++ b/docs/api/v2/controller/node/projectsprojectidnodessuspend.rst @@ -27,7 +27,7 @@ Output 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, spice, null + console_type enum Possible values: vnc, telnet, http, https, spice, null first_port_name ['string', 'null'] Name of the first port height integer Height of the node (Read only) label object diff --git a/docs/api/v2/controller/project/projects.rst b/docs/api/v2/controller/project/projects.rst index 78bf8367..cb5c8deb 100644 --- a/docs/api/v2/controller/project/projects.rst +++ b/docs/api/v2/controller/project/projects.rst @@ -24,6 +24,11 @@ Input 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 + zoom integer Zoom of the drawing area Output @@ -41,7 +46,12 @@ Output 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 + zoom integer Zoom of the drawing area Sample session diff --git a/docs/api/v2/controller/project/projectsload.rst b/docs/api/v2/controller/project/projectsload.rst index e59bc766..6ba5f38b 100644 --- a/docs/api/v2/controller/project/projectsload.rst +++ b/docs/api/v2/controller/project/projectsload.rst @@ -40,7 +40,12 @@ Output 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 + zoom integer Zoom of the drawing area Sample session diff --git a/docs/api/v2/controller/project/projectsprojectid.rst b/docs/api/v2/controller/project/projectsprojectid.rst index 6d084b30..c5df1bfb 100644 --- a/docs/api/v2/controller/project/projectsprojectid.rst +++ b/docs/api/v2/controller/project/projectsprojectid.rst @@ -46,6 +46,11 @@ Input 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 + zoom integer Zoom of the drawing area Output @@ -63,7 +68,12 @@ Output 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 + zoom integer Zoom of the drawing area Sample session diff --git a/docs/api/v2/controller/project/projectsprojectidclose.rst b/docs/api/v2/controller/project/projectsprojectidclose.rst index a9a44218..7fd2c575 100644 --- a/docs/api/v2/controller/project/projectsprojectidclose.rst +++ b/docs/api/v2/controller/project/projectsprojectidclose.rst @@ -31,7 +31,12 @@ Output 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 + zoom integer Zoom of the drawing area Sample session diff --git a/docs/api/v2/controller/project/projectsprojectidduplicate.rst b/docs/api/v2/controller/project/projectsprojectidduplicate.rst index da438b74..f855c403 100644 --- a/docs/api/v2/controller/project/projectsprojectidduplicate.rst +++ b/docs/api/v2/controller/project/projectsprojectidduplicate.rst @@ -29,6 +29,11 @@ Input 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 + zoom integer Zoom of the drawing area Output @@ -46,7 +51,12 @@ Output 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 + zoom integer Zoom of the drawing area Sample session diff --git a/docs/api/v2/controller/project/projectsprojectidimport.rst b/docs/api/v2/controller/project/projectsprojectidimport.rst index a259e4cd..48e32969 100644 --- a/docs/api/v2/controller/project/projectsprojectidimport.rst +++ b/docs/api/v2/controller/project/projectsprojectidimport.rst @@ -31,6 +31,11 @@ Output 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 + zoom integer Zoom of the drawing area diff --git a/docs/api/v2/controller/project/projectsprojectidopen.rst b/docs/api/v2/controller/project/projectsprojectidopen.rst index 02c3e627..0cbb09d1 100644 --- a/docs/api/v2/controller/project/projectsprojectidopen.rst +++ b/docs/api/v2/controller/project/projectsprojectidopen.rst @@ -31,7 +31,12 @@ Output 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 + zoom integer Zoom of the drawing area Sample session diff --git a/docs/api/v2/controller/snapshot/projectsprojectidsnapshotssnapshotidrestore.rst b/docs/api/v2/controller/snapshot/projectsprojectidsnapshotssnapshotidrestore.rst index 7c55a564..49f02a49 100644 --- a/docs/api/v2/controller/snapshot/projectsprojectidsnapshotssnapshotidrestore.rst +++ b/docs/api/v2/controller/snapshot/projectsprojectidsnapshotssnapshotidrestore.rst @@ -32,7 +32,12 @@ Output 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 + zoom integer Zoom of the drawing area Sample session diff --git a/docs/gns3_file.json b/docs/gns3_file.json index d554bc7b..a91ac6a3 100644 --- a/docs/gns3_file.json +++ b/docs/gns3_file.json @@ -48,6 +48,26 @@ "type": "integer", "description": "Width of the drawing area" }, + "zoom": { + "type": "integer", + "description": "Zoom of the drawing area" + }, + "show_layers": { + "type": "boolean", + "description": "Show layers on the drawing area" + }, + "snap_to_grid": { + "type": "boolean", + "description": "Snap to grid on the drawing area" + }, + "show_grid": { + "type": "boolean", + "description": "Show the grid on the drawing area" + }, + "show_interface_labels": { + "type": "boolean", + "description": "Show interface labels on the drawing area" + }, "topology": { "description": "The topology content", "type": "object", @@ -303,6 +323,15 @@ "additionalProperties": false } }, + "suspend": { + "type": "boolean", + "description": "Suspend the link" + }, + "filters": { + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Packet filter. This allow to simulate latency and errors", + "type": "object" + }, "capturing": { "description": "Read only property. True if a capture running on the link", "type": "boolean" @@ -329,9 +358,6 @@ ] } }, - "required": [ - "nodes" - ], "additionalProperties": false } }, @@ -418,6 +444,7 @@ "vnc", "telnet", "http", + "https", "spice", null ] diff --git a/gns3server/appliances/brocade-vtm.gns3a b/gns3server/appliances/brocade-vtm.gns3a index 2bb2b143..71b849a0 100644 --- a/gns3server/appliances/brocade-vtm.gns3a +++ b/gns3server/appliances/brocade-vtm.gns3a @@ -25,6 +25,13 @@ "kvm": "require" }, "images": [ + { + "filename": "VirtualTrafficManager-174.qcow2", + "version": "17.4", + "md5sum": "3c44f385e5faf310ca8e3d46bf4e0564", + "filesize": 2036465664, + "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", "version": "17.3", @@ -76,6 +83,12 @@ } ], "versions": [ + { + "name": "17.4", + "images": { + "hda_disk_image": "VirtualTrafficManager-174.qcow2" + } + }, { "name": "17.3", "images": { diff --git a/gns3server/appliances/cisco-nxosv9k.gns3a b/gns3server/appliances/cisco-nxosv9k.gns3a index ddda402b..122f6534 100644 --- a/gns3server/appliances/cisco-nxosv9k.gns3a +++ b/gns3server/appliances/cisco-nxosv9k.gns3a @@ -25,6 +25,13 @@ "kvm": "require" }, "images": [ + { + "filename": "nxosv-final.7.0.3.I7.2.qcow2", + "version": "7.0.3.I7.2", + "md5sum": "17295efb13e83b24a439148449bfd5ab", + "filesize": 906231808, + "download_url": "https://software.cisco.com/download/" + }, { "filename": "nxosv-final.7.0.3.I7.1.qcow2", "version": "7.0.3.I7.1", @@ -64,6 +71,13 @@ } ], "versions": [ + { + "name": "7.0.3.I7.2", + "images": { + "bios_image": "OVMF-20160813.fd", + "hda_disk_image": "nxosv-final.7.0.3.I7.2.qcow2" + } + }, { "name": "7.0.3.I7.1", "images": { diff --git a/gns3server/appliances/coreos.gns3a b/gns3server/appliances/coreos.gns3a index d7ca0450..0b4467e3 100644 --- a/gns3server/appliances/coreos.gns3a +++ b/gns3server/appliances/coreos.gns3a @@ -21,6 +21,15 @@ "kvm": "allow" }, "images": [ + { + "filename": "coreos_production_qemu_image.1576.4.0.img", + "version": "1576.4.0", + "md5sum": "7d3c647807afe1f18fd0c76730e612b4", + "filesize": 849739776, + "download_url": "http://stable.release.core-os.net/amd64-usr/1576.4.0/", + "direct_download_url": "http://stable.release.core-os.net/amd64-usr/1576.4.0/coreos_production_qemu_image.img.bz2", + "compression": "bzip2" + }, { "filename": "coreos_production_qemu_image.1520.8.0.img", "version": "1520.8.0", @@ -140,6 +149,12 @@ } ], "versions": [ + { + "name": "1576.4.0", + "images": { + "hda_disk_image": "coreos_production_qemu_image.1576.4.0.img" + } + }, { "name": "1520.8.0", "images": { diff --git a/gns3server/appliances/cumulus-vx.gns3a b/gns3server/appliances/cumulus-vx.gns3a index 5f9f9b4a..7b8be8b7 100644 --- a/gns3server/appliances/cumulus-vx.gns3a +++ b/gns3server/appliances/cumulus-vx.gns3a @@ -23,6 +23,14 @@ "kvm": "require" }, "images": [ + { + "filename": "cumulus-linux-3.5.0-vx-amd64.qcow2", + "version": "3.5.0", + "md5sum": "9ad1f352d0603becf4bcc749b77c99dd", + "filesize": 1044250624, + "download_url": "https://cumulusnetworks.com/cumulus-vx/download/", + "direct_download_url": "http://cumulusfiles.s3.amazonaws.com/cumulus-linux-3.5.0-vx-amd64.qcow2" + }, { "filename": "cumulus-linux-3.4.3-vx-amd64.qcow2", "version": "3.4.3", @@ -125,6 +133,12 @@ } ], "versions": [ + { + "name": "3.5.0", + "images": { + "hda_disk_image": "cumulus-linux-3.5.0-vx-amd64.qcow2" + } + }, { "name": "3.4.3", "images": { diff --git a/gns3server/appliances/exos.gns3a b/gns3server/appliances/exos.gns3a index 427732e8..3f09c669 100644 --- a/gns3server/appliances/exos.gns3a +++ b/gns3server/appliances/exos.gns3a @@ -26,6 +26,14 @@ "options": "-smp 2 -cpu core2duo" }, "images": [ + { + "filename": "exosvm-22.4.1.4.iso", + "version": "22.4.1.4", + "md5sum": "2134a511084519a5f8ad00a6f7cd71a9", + "filesize": 49993728, + "download_url": "https://github.com/extremenetworks/Virtual_EXOS", + "direct_download_url": "https://github.com/extremenetworks/Virtual_EXOS/raw/master/vm-22.4.1.4.iso" + }, { "filename": "exosvm-22.2.1.5.iso", "version": "22.2.1.5", @@ -92,6 +100,13 @@ } ], "versions": [ + { + "name": "22.4.1.4", + "images": { + "hda_disk_image": "empty8G.qcow2", + "cdrom_image": "exosvm-22.4.1.4.iso" + } + }, { "name": "22.2.1.5", "images": { diff --git a/gns3server/appliances/f5-bigip.gns3a b/gns3server/appliances/f5-bigip.gns3a index a6db2c5b..32db9a4f 100644 --- a/gns3server/appliances/f5-bigip.gns3a +++ b/gns3server/appliances/f5-bigip.gns3a @@ -27,6 +27,13 @@ "options": "-smp 2 -cpu host" }, "images": [ + { + "filename": "BIGIP-13.1.0.1.0.0.8.qcow2", + "version": "13.1.0 HF1", + "md5sum": "70f92192e66a82cb8f47bdae0cb267d8", + "filesize": 4352966656, + "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.0.0.2.0.1671.qcow2", "version": "13.0.0 HF2", @@ -107,6 +114,13 @@ } ], "versions": [ + { + "name": "13.1.0 HF1", + "images": { + "hda_disk_image": "BIGIP-13.1.0.1.0.0.8.qcow2", + "hdb_disk_image": "empty100G.qcow2" + } + }, { "name": "13.0.0 HF2", "images": { diff --git a/gns3server/appliances/f5-bigiq.gns3a b/gns3server/appliances/f5-bigiq.gns3a index 1543ca4f..97050cf7 100644 --- a/gns3server/appliances/f5-bigiq.gns3a +++ b/gns3server/appliances/f5-bigiq.gns3a @@ -29,6 +29,13 @@ "options": "-smp 2 -cpu host" }, "images": [ + { + "filename": "BIG-IQ-5.4.0.0.0.7437.qcow2", + "version": "5.4.0", + "md5sum": "068b1f4d21048b9b2a082c0c27ef4d53", + "filesize": 3300917248, + "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.3.0.0.0.1119.qcow2", "version": "5.3.0", @@ -74,6 +81,13 @@ } ], "versions": [ + { + "name": "5.4.0", + "images": { + "hda_disk_image": "BIG-IQ-5.4.0.0.0.7437.qcow2", + "hdb_disk_image": "empty100G.qcow2" + } + }, { "name": "5.3.0", "images": { diff --git a/gns3server/appliances/fortiadc.gns3a b/gns3server/appliances/fortiadc.gns3a index b2b5004e..d8500aaf 100644 --- a/gns3server/appliances/fortiadc.gns3a +++ b/gns3server/appliances/fortiadc.gns3a @@ -34,6 +34,13 @@ "filesize": 30998528, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FAD_KVM-V400-build0983-FORTINET.out.kvm-boot.qcow2", + "version": "4.8.3", + "md5sum": "d4cfc3b215780b2fb4c9d8f55208e8be", + "filesize": 72876032, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FAD_KVM-V400-build0977-FORTINET.out.kvm-boot.qcow2", "version": "4.8.2", @@ -141,6 +148,13 @@ } ], "versions": [ + { + "name": "4.8.3", + "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.2", "images": { diff --git a/gns3server/appliances/fortianalyzer.gns3a b/gns3server/appliances/fortianalyzer.gns3a index cd44d55a..611dc6c1 100644 --- a/gns3server/appliances/fortianalyzer.gns3a +++ b/gns3server/appliances/fortianalyzer.gns3a @@ -26,6 +26,13 @@ "kvm": "allow" }, "images": [ + { + "filename": "FAZ_VM64_KVM-v5-build1619-FORTINET.out.kvm.qcow2", + "version": "5.6.1", + "md5sum": "1bd94c920f8747de671832ef92e8dfbc", + "filesize": 105705472, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FAZ_VM64_KVM-v5-build1557-FORTINET.out.kvm.qcow2", "version": "5.6.0", @@ -106,6 +113,13 @@ } ], "versions": [ + { + "name": "5.6.1", + "images": { + "hda_disk_image": "FAZ_VM64_KVM-v5-build1619-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "5.6.0", "images": { diff --git a/gns3server/appliances/fortiauthenticator.gns3a b/gns3server/appliances/fortiauthenticator.gns3a index 204d6dfd..e9771cbc 100644 --- a/gns3server/appliances/fortiauthenticator.gns3a +++ b/gns3server/appliances/fortiauthenticator.gns3a @@ -26,6 +26,13 @@ "kvm": "allow" }, "images": [ + { + "filename": "FAC_VM_KVM-v5-build0155-FORTINET.out.kvm.qcow2", + "version": "5.2.0", + "md5sum": "69b55ce7c8094ccd736bbfe8a3262b31", + "filesize": 71782400, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FAC_VM_KVM-v500-build0091-FORTINET.out.kvm.qcow2", "version": "5.1.2", @@ -63,6 +70,13 @@ } ], "versions": [ + { + "name": "5.2.0", + "images": { + "hda_disk_image": "FAC_VM_KVM-v5-build0155-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "FAC_VM_KVM-v500-DATADRIVE.qcow2" + } + }, { "name": "5.1.2", "images": { diff --git a/gns3server/appliances/forticache.gns3a b/gns3server/appliances/forticache.gns3a index 4052c0f3..501ec3b0 100644 --- a/gns3server/appliances/forticache.gns3a +++ b/gns3server/appliances/forticache.gns3a @@ -26,6 +26,13 @@ "kvm": "require" }, "images": [ + { + "filename": "FCHKVM-v400-build0216-FORTINET.out.kvm.qcow2", + "version": "4.2.6", + "md5sum": "867e0569b8466db744547422a1d6f17a", + "filesize": 27553792, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FCHKVM-v400-build0213-FORTINET.out.kvm.qcow2", "version": "4.2.5", @@ -92,6 +99,13 @@ } ], "versions": [ + { + "name": "4.2.6", + "images": { + "hda_disk_image": "FCHKVM-v400-build0216-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty100G.qcow2" + } + }, { "name": "4.2.5", "images": { diff --git a/gns3server/appliances/fortigate.gns3a b/gns3server/appliances/fortigate.gns3a index 739132a7..9fe4022d 100644 --- a/gns3server/appliances/fortigate.gns3a +++ b/gns3server/appliances/fortigate.gns3a @@ -26,6 +26,13 @@ "kvm": "allow" }, "images": [ + { + "filename": "FGT_VM64_KVM-v5-build1547-FORTINET.out.kvm.qcow2", + "version": "5.6.3", + "md5sum": "a908f8620e8bbccce8794733f3637e13", + "filesize": 40939520, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FGT_VM64_KVM-v5-build1486-FORTINET.out.kvm.qcow2", "version": "5.6.2", @@ -47,6 +54,13 @@ "filesize": 38760448, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FGT_VM64_KVM-v5-build6446-FORTINET.out.kvm.qcow2", + "version": "5.4.7", + "md5sum": "17d3dfebd4b222569cf10cfab83e0e56", + "filesize": 38715392, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FGT_VM64_KVM-v5-build1165-FORTINET.out.kvm.qcow2", "version": "5.4.6", @@ -96,6 +110,20 @@ "filesize": 35373056, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FGT_VM64_KVM-v5-build0762-FORTINET.out.kvm.qcow2", + "version": "5.2.13", + "md5sum": "78df232e516a863f233de88ffba5bc4b", + "filesize": 38776832, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, + { + "filename": "FGT_VM64_KVM-v5-build0760-FORTINET.out.kvm.qcow2", + "version": "5.2.12", + "md5sum": "2efa0c110abed83b71927145d1e87805", + "filesize": 38363136, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FGT_VM64_KVM-v5-build0754-FORTINET.out.kvm.qcow2", "version": "5.2.11", @@ -148,6 +176,13 @@ } ], "versions": [ + { + "name": "5.6.3", + "images": { + "hda_disk_image": "FGT_VM64_KVM-v5-build1547-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "5.6.2", "images": { @@ -169,6 +204,13 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "5.4.7", + "images": { + "hda_disk_image": "FGT_VM64_KVM-v5-build6446-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "5.4.6", "images": { @@ -218,6 +260,20 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "5.2.13", + "images": { + "hda_disk_image": "FGT_VM64_KVM-v5-build0762-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, + { + "name": "5.2.12", + "images": { + "hda_disk_image": "FGT_VM64_KVM-v5-build0760-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "5.2.11", "images": { diff --git a/gns3server/appliances/fortimail.gns3a b/gns3server/appliances/fortimail.gns3a index a8c755d7..d52bb26f 100644 --- a/gns3server/appliances/fortimail.gns3a +++ b/gns3server/appliances/fortimail.gns3a @@ -26,6 +26,13 @@ "kvm": "allow" }, "images": [ + { + "filename": "FML_VMKV-64-v54-build0712-FORTINET.out.kvm.qcow2", + "version": "5.4.3", + "md5sum": "977effe7b885ca5cedec7740a2a637aa", + "filesize": 93454336, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FML_VMKV-64-v54-build0707-FORTINET.out.kvm.qcow2", "version": "5.4.2", @@ -127,6 +134,13 @@ } ], "versions": [ + { + "name": "5.4.3", + "images": { + "hda_disk_image": "FML_VMKV-64-v54-build0712-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "5.4.2", "images": { diff --git a/gns3server/appliances/fortimanager.gns3a b/gns3server/appliances/fortimanager.gns3a index f4642202..6b809983 100644 --- a/gns3server/appliances/fortimanager.gns3a +++ b/gns3server/appliances/fortimanager.gns3a @@ -26,6 +26,13 @@ "kvm": "allow" }, "images": [ + { + "filename": "FMG_VM64_KVM-v5-build1619-FORTINET.out.kvm.qcow2", + "version": "5.6.1", + "md5sum": "8cc553842564d232af295d6a0c784c1f", + "filesize": 106831872, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FMG_VM64_KVM-v5-build1557-FORTINET.out.kvm.qcow2", "version": "5.6.0", @@ -106,6 +113,13 @@ } ], "versions": [ + { + "name": "5.6.1", + "images": { + "hda_disk_image": "FMG_VM64_KVM-v5-build1619-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "5.6.0", "images": { diff --git a/gns3server/appliances/freenas.gns3a b/gns3server/appliances/freenas.gns3a index e71c00ff..ad1af95b 100644 --- a/gns3server/appliances/freenas.gns3a +++ b/gns3server/appliances/freenas.gns3a @@ -15,7 +15,7 @@ "qemu": { "adapter_type": "e1000", "adapters": 1, - "ram": 8096, + "ram": 8192, "hda_disk_interface": "ide", "hdb_disk_interface": "ide", "arch": "x86_64", @@ -24,6 +24,14 @@ "kvm": "require" }, "images": [ + { + "filename": "FreeNAS-11.1-RELEASE.iso", + "version": "11.1", + "md5sum": "67bea5816bc889169e5e3054362b2053", + "filesize": 626761728, + "download_url": "http://www.freenas.org/download/", + "direct_download_url": "http://download.freenas.org/11/11.1-RELEASE/x64/FreeNAS-11.1-RELEASE.iso" + }, { "filename": "FreeNAS-11.0-U4.iso", "version": "11.0-U4", @@ -50,6 +58,14 @@ } ], "versions": [ + { + "name": "11.1", + "images": { + "hda_disk_image": "empty30G.qcow2", + "hdb_disk_image": "empty30G.qcow2", + "cdrom_image": "FreeNAS-11.1-RELEASE.iso" + } + }, { "name": "11.0", "images": { diff --git a/gns3server/appliances/juniper-vsrx.gns3a b/gns3server/appliances/juniper-vsrx.gns3a index 7f2ad9d9..002b9bd9 100644 --- a/gns3server/appliances/juniper-vsrx.gns3a +++ b/gns3server/appliances/juniper-vsrx.gns3a @@ -23,6 +23,13 @@ "options": "-smp 2" }, "images": [ + { + "filename": "media-vsrx-vmdisk-17.4R1.16.qcow2", + "version": "17.4R1", + "md5sum": "616c4742b09652318c73a7cc598468e7", + "filesize": 3965386752, + "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/" + }, { "filename": "media-vsrx-vmdisk-17.3R1.10.qcow2", "version": "17.3R1", @@ -30,6 +37,13 @@ "filesize": 3782541312, "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/" }, + { + "filename": "media-vsrx-vmdisk-15.1X49-D120.3.qcow2", + "version": "15.1X49-D120", + "md5sum": "02cf4df3dc988a407ccd5ddc30ee5385", + "filesize": 3280273408, + "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/" + }, { "filename": "media-vsrx-vmdisk-15.1X49-D110.4.qcow2", "version": "15.1X49-D110", @@ -109,12 +123,24 @@ } ], "versions": [ + { + "name": "17.4R1", + "images": { + "hda_disk_image": "media-vsrx-vmdisk-17.4R1.16.qcow2" + } + }, { "name": "17.3R1", "images": { "hda_disk_image": "media-vsrx-vmdisk-17.3R1.10.qcow2" } }, + { + "name": "15.1X49-D120", + "images": { + "hda_disk_image": "media-vsrx-vmdisk-15.1X49-D120.3.qcow2" + } + }, { "name": "15.1X49-D110", "images": { diff --git a/gns3server/appliances/kali-linux.gns3a b/gns3server/appliances/kali-linux.gns3a index 4294010c..78732d07 100644 --- a/gns3server/appliances/kali-linux.gns3a +++ b/gns3server/appliances/kali-linux.gns3a @@ -20,6 +20,14 @@ "kvm": "require" }, "images": [ + { + "filename": "kali-linux-2017.3-amd64.iso", + "version": "2017.3", + "md5sum": "b465580c897e94675ac1daf031fa66b9", + "filesize": 2886402048, + "download_url": "http://cdimage.kali.org/kali-2017.3/", + "direct_download_url": "http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso" + }, { "filename": "kali-linux-2017.2-amd64.iso", "version": "2017.2", @@ -62,6 +70,12 @@ } ], "versions": [ + { + "name": "2017.3", + "images": { + "cdrom_image": "kali-linux-2017.3-amd64.iso" + } + }, { "name": "2017.2", "images": { diff --git a/gns3server/appliances/lede.gns3a b/gns3server/appliances/lede.gns3a index 63c024e9..74c388a4 100644 --- a/gns3server/appliances/lede.gns3a +++ b/gns3server/appliances/lede.gns3a @@ -21,6 +21,22 @@ "kvm": "allow" }, "images": [ + { + "filename": "lede-17.01.4-x86-generic-combined-squashfs.img", + "version": "17.01.4", + "md5sum": "ae5d8d3fcab109565fe337d28e51c4b4", + "filesize": 19779546, + "download_url": "https://downloads.lede-project.org/releases/17.01.4/targets/x86/generic/", + "direct_download_url": "https://downloads.lede-project.org/releases/17.01.4/targets/x86/generic/lede-17.01.4-x86-generic-combined-squashfs.img" + }, + { + "filename": "lede-17.01.3-x86-generic-combined-squashfs.img", + "version": "17.01.3", + "md5sum": "d315fc638160a9aec0966d58828bfccf", + "filesize": 19775618, + "download_url": "https://downloads.lede-project.org/releases/17.01.3/targets/x86/generic/", + "direct_download_url": "https://downloads.lede-project.org/releases/17.01.3/targets/x86/generic/lede-17.01.3-x86-generic-combined-squashfs.img" + }, { "filename": "lede-17.01.2-x86-generic-combined-squashfs.img", "version": "17.01.2", @@ -47,6 +63,18 @@ } ], "versions": [ + { + "name": "lede 17.01.4", + "images": { + "hda_disk_image": "lede-17.01.4-x86-generic-combined-squashfs.img" + } + }, + { + "name": "lede 17.01.3", + "images": { + "hda_disk_image": "lede-17.01.3-x86-generic-combined-squashfs.img" + } + }, { "name": "lede 17.01.2", "images": { diff --git a/gns3server/appliances/ostinato.gns3a b/gns3server/appliances/ostinato.gns3a index 8f1ca322..f65e24f1 100644 --- a/gns3server/appliances/ostinato.gns3a +++ b/gns3server/appliances/ostinato.gns3a @@ -25,12 +25,12 @@ }, "images": [ { - "filename": "ostinato-0.8-97c7d79.qcow2", - "version": "0.8-97c7d79", - "md5sum": "5aad15c1eb7baac588a4c8c3faafa380", - "filesize": 98631680, + "filename": "ostinato-0.9-1.qcow2", + "version": "0.9", + "md5sum": "00b4856ec9fffbcbcab7a8f757355d69", + "filesize": 101646336, "download_url": "http://www.bernhard-ehlers.de/projects/ostinato4gns3/index.html", - "direct_download_url": "http://www.bernhard-ehlers.de/projects/ostinato4gns3/ostinato-0.8-97c7d79.qcow2" + "direct_download_url": "http://www.bernhard-ehlers.de/projects/ostinato4gns3/ostinato-0.9-1.qcow2" }, { "filename": "ostinato-0.8-1.qcow2", @@ -43,9 +43,9 @@ ], "versions": [ { - "name": "0.8-97c7d79", + "name": "0.9", "images": { - "hda_disk_image": "ostinato-0.8-97c7d79.qcow2" + "hda_disk_image": "ostinato-0.9-1.qcow2" } }, { diff --git a/gns3server/appliances/sophos-utm.gns3a b/gns3server/appliances/sophos-utm.gns3a index 8d9af0a2..30584d40 100644 --- a/gns3server/appliances/sophos-utm.gns3a +++ b/gns3server/appliances/sophos-utm.gns3a @@ -24,6 +24,13 @@ "kvm": "allow" }, "images": [ + { + "filename": "asg-9.506-2.1.iso", + "version": "9.506-2.1", + "md5sum": "6b4374f8c5ee66ccdf9683f7349f59cb", + "filesize": 1006057472, + "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx" + }, { "filename": "asg-9.500-9.1.iso", "version": "9.500-9.1", @@ -31,6 +38,13 @@ "filesize": 981612544, "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx" }, + { + "filename": "asg-9.415-1.1.iso", + "version": "9.415-1.1", + "md5sum": "505004bf5a5d5f2234b2056ec7b553d8", + "filesize": 961087488, + "download_url": "https://www.sophos.com/en-us/support/utm-downloads.aspx" + }, { "filename": "asg-9.413-4.1.iso", "version": "9.413-4.1", @@ -125,6 +139,13 @@ } ], "versions": [ + { + "name": "9.506-2.1", + "images": { + "hda_disk_image": "empty30G.qcow2", + "cdrom_image": "asg-9.506-2.1.iso" + } + }, { "name": "9.500-9.1", "images": { @@ -132,6 +153,13 @@ "cdrom_image": "asg-9.500-9.1.iso" } }, + { + "name": "9.415-1.1", + "images": { + "hda_disk_image": "empty30G.qcow2", + "cdrom_image": "asg-9.415-1.1.iso" + } + }, { "name": "9.413-4.1", "images": { diff --git a/gns3server/appliances/sophos-xg.gns3a b/gns3server/appliances/sophos-xg.gns3a index 30674902..d190ee48 100644 --- a/gns3server/appliances/sophos-xg.gns3a +++ b/gns3server/appliances/sophos-xg.gns3a @@ -23,6 +23,20 @@ "kvm": "require" }, "images": [ + { + "filename": "VI-SFOS_17.0.2_MR-2.KVM-116-PRIMARY.qcow2", + "version": "17.0.2 MR2", + "md5sum": "2555fa6dcdcecad02c9f02dcb1c0c5e5", + "filesize": 324599808, + "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", + "version": "16.05.1 MR1", + "md5sum": "c3ef795423dbfc01771348b0daa75125", + "filesize": 59441152, + "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", "version": "16.05.4 MR4", @@ -95,6 +109,13 @@ } ], "versions": [ + { + "name": "17.0.2 MR2", + "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": "16.05.4 MR4", "images": { diff --git a/gns3server/appliances/vyos.gns3a b/gns3server/appliances/vyos.gns3a index 6a7994a6..fc68dedd 100644 --- a/gns3server/appliances/vyos.gns3a +++ b/gns3server/appliances/vyos.gns3a @@ -31,29 +31,37 @@ "download_url": "http://dev.packages.vyos.net/iso/preview/1.2.0-beta1/", "direct_download_url": "http://dev.packages.vyos.net/iso/preview/1.2.0-beta1/vyos-1.2.0-beta1-amd64.iso" }, + { + "filename": "vyos-1.1.8-amd64.iso", + "version": "1.1.8", + "md5sum": "95a141d4b592b81c803cdf7e9b11d8ea", + "filesize": 241172480, + "download_url": "https://downloads.vyos.io/?dir=release/1.1.8", + "direct_download_url": "https://downloads.vyos.io/release/1.1.8/vyos-1.1.8-amd64.iso" + }, { "filename": "vyos-1.1.7-amd64.iso", "version": "1.1.7", "md5sum": "9a7f745a0b0db0d4f1d9eee2a437fb54", "filesize": 245366784, - "download_url": "http://mirror.vyos.net/iso/release/1.1.7/", - "direct_download_url": "http://mirror.vyos.net/iso/release/1.1.7/vyos-1.1.7-amd64.iso" + "download_url": "https://downloads.vyos.io/?dir=release/1.1.7/", + "direct_download_url": "https://downloads.vyos.io/release/1.1.7/vyos-1.1.7-amd64.iso" }, { "filename": "vyos-1.1.6-amd64.iso", "version": "1.1.6", "md5sum": "3128954d026e567402a924c2424ce2bf", "filesize": 245366784, - "download_url": "http://mirror.vyos.net/iso/release/1.1.6/", - "direct_download_url": "http://mirror.vyos.net/iso/release/1.1.6/vyos-1.1.6-amd64.iso" + "download_url": "hhttps://downloads.vyos.io/?dir=release/1.1.6/", + "direct_download_url": "https://downloads.vyos.io/release/1.1.6/vyos-1.1.6-amd64.iso" }, { "filename": "vyos-1.1.5-amd64.iso", "version": "1.1.5", "md5sum": "193179532011ceaa87ee725bd8f22022", "filesize": 247463936, - "download_url": "http://mirror.vyos.net/iso/release/1.1.5/", - "direct_download_url": "http://mirror.vyos.net/iso/release/1.1.5/vyos-1.1.5-amd64.iso" + "download_url": "https://downloads.vyos.io/?dir=release/1.1.5/", + "direct_download_url": "https://downloads.vyos.io/release/1.1.5/vyos-1.1.5-amd64.iso" }, { "filename": "empty8G.qcow2", diff --git a/gns3server/appliances/zeroshell.gns3a b/gns3server/appliances/zeroshell.gns3a index f689636c..fd82ef59 100644 --- a/gns3server/appliances/zeroshell.gns3a +++ b/gns3server/appliances/zeroshell.gns3a @@ -20,6 +20,24 @@ "kvm": "allow" }, "images": [ + { + "filename": "ZeroShell-3.8.2-X86-USB.img", + "version": "3.8.2", + "md5sum": "bb8c7f24c86eb59e26ce36ff1979ecd4", + "filesize": 1992294400, + "download_url": "http://www.zeroshell.org/download/", + "direct_download_url": "http://www.zeroshell.net/listing/ZeroShell-3.8.2-X86-USB.img.gz", + "compression": "gzip" + }, + { + "filename": "ZeroShell-3.8.1-X86-USB.img", + "version": "3.8.1", + "md5sum": "49256e396d160e88fbc3a3889e172482", + "filesize": 1992294400, + "download_url": "http://www.zeroshell.org/download/", + "direct_download_url": "http://www.zeroshell.net/listing/ZeroShell-3.8.1-X86-USB.img.gz", + "compression": "gzip" + }, { "filename": "ZeroShell-3.8.0-X86-USB.img", "version": "3.8.0", @@ -40,6 +58,18 @@ } ], "versions": [ + { + "name": "3.8.2", + "images": { + "hda_disk_image": "ZeroShell-3.8.2-X86-USB.img" + } + }, + { + "name": "3.8.1", + "images": { + "hda_disk_image": "ZeroShell-3.8.1-X86-USB.img" + } + }, { "name": "3.8.0", "images": { diff --git a/gns3server/compute/base_manager.py b/gns3server/compute/base_manager.py index 59e9c90a..4dd8ae36 100644 --- a/gns3server/compute/base_manager.py +++ b/gns3server/compute/base_manager.py @@ -335,11 +335,14 @@ class BaseManager: :returns: Node instance """ + node = None try: - node = yield from self.close_node(node_id) + node = self.get_node(node_id) + yield from self.close_node(node_id) finally: - node.project.emit("node.deleted", node) - yield from node.project.remove_node(node) + if node: + node.project.emit("node.deleted", node) + yield from node.project.remove_node(node) if node.id in self._nodes: del self._nodes[node.id] return node diff --git a/gns3server/compute/builtin/nodes/ethernet_hub.py b/gns3server/compute/builtin/nodes/ethernet_hub.py index 5aa95b32..ebc561ec 100644 --- a/gns3server/compute/builtin/nodes/ethernet_hub.py +++ b/gns3server/compute/builtin/nodes/ethernet_hub.py @@ -17,7 +17,6 @@ import asyncio -from ...error import NodeError from ...base_node import BaseNode import logging diff --git a/gns3server/compute/builtin/nodes/ethernet_switch.py b/gns3server/compute/builtin/nodes/ethernet_switch.py index 0d0119ff..523c3d01 100644 --- a/gns3server/compute/builtin/nodes/ethernet_switch.py +++ b/gns3server/compute/builtin/nodes/ethernet_switch.py @@ -17,7 +17,6 @@ import asyncio -from ...error import NodeError from ...base_node import BaseNode import logging diff --git a/gns3server/compute/builtin/nodes/nat.py b/gns3server/compute/builtin/nodes/nat.py index 1d7557cd..59c8f072 100644 --- a/gns3server/compute/builtin/nodes/nat.py +++ b/gns3server/compute/builtin/nodes/nat.py @@ -16,7 +16,7 @@ # along with this program. If not, see . import sys -import asyncio + from .cloud import Cloud from ...error import NodeError diff --git a/gns3server/compute/docker/docker_vm.py b/gns3server/compute/docker/docker_vm.py index a059af78..4ac9e21d 100644 --- a/gns3server/compute/docker/docker_vm.py +++ b/gns3server/compute/docker/docker_vm.py @@ -236,6 +236,7 @@ class DockerVM(BaseNode): """ path = os.path.join(self.working_dir, "etc", "network") os.makedirs(path, exist_ok=True) + open(os.path.join(path, ".gns3_perms"), 'a').close() os.makedirs(os.path.join(path, "if-up.d"), exist_ok=True) os.makedirs(os.path.join(path, "if-down.d"), exist_ok=True) os.makedirs(os.path.join(path, "if-pre-up.d"), exist_ok=True) diff --git a/gns3server/compute/docker/resources/init.sh b/gns3server/compute/docker/resources/init.sh index 7aa862f8..ee98bebd 100755 --- a/gns3server/compute/docker/resources/init.sh +++ b/gns3server/compute/docker/resources/init.sh @@ -35,17 +35,17 @@ do mkdir -p "$i" # Copy original files if destination is empty (first start) - [ "$(ls -A "/gns3volumes$i")" ] || cp -a "$i/." "/gns3volumes$i" + if [ ! -f "/gns3volumes$i/.gns3_perms" ]; then + cp -a "$i/." "/gns3volumes$i" + touch "/gns3volumes$i/.gns3_perms" + fi mount --bind "/gns3volumes$i" "$i" - if [ -f "$i/.gns3_perms" ] - then - while IFS=: read PERMS OWNER GROUP FILE - do - [ -L "$FILE" ] || chmod "$PERMS" "$FILE" - chown -h "${OWNER}:${GROUP}" "$FILE" - done < "$i/.gns3_perms" - fi + while IFS=: read PERMS OWNER GROUP FILE + do + [ -L "$FILE" ] || chmod "$PERMS" "$FILE" + chown -h "${OWNER}:${GROUP}" "$FILE" + done < "$i/.gns3_perms" done diff --git a/gns3server/compute/dynamips/nodes/ethernet_switch.py b/gns3server/compute/dynamips/nodes/ethernet_switch.py index 6d044bcd..841a47c9 100644 --- a/gns3server/compute/dynamips/nodes/ethernet_switch.py +++ b/gns3server/compute/dynamips/nodes/ethernet_switch.py @@ -44,9 +44,9 @@ class EthernetSwitchConsole(EmbedShell): self._node = node @asyncio.coroutine - def arp(self): + def mac(self): """ - Show arp table + Show MAC address table """ res = 'Port Mac VLAN\n' result = (yield from self._node._hypervisor.send('ethsw show_mac_addr_table {}'.format(self._node.name))) diff --git a/gns3server/compute/iou/iou_vm.py b/gns3server/compute/iou/iou_vm.py index a604eac8..24747179 100644 --- a/gns3server/compute/iou/iou_vm.py +++ b/gns3server/compute/iou/iou_vm.py @@ -1142,6 +1142,7 @@ class IOUVM(BaseNode): :returns: integer between 1 and 512 """ if self._application_id is None: + #FIXME: is this necessary? application ID is allocated by controller and should not be None return self._manager.get_application_id(self.id) return self._application_id diff --git a/gns3server/compute/qemu/qemu_vm.py b/gns3server/compute/qemu/qemu_vm.py index 74ea2dc6..76067b5e 100644 --- a/gns3server/compute/qemu/qemu_vm.py +++ b/gns3server/compute/qemu/qemu_vm.py @@ -1144,7 +1144,7 @@ class QemuVM(BaseNode): yield from self.add_ubridge_udp_connection("QEMU-{}-{}".format(self._id, adapter_number), self._local_udp_tunnels[adapter_number][1], nio) - except IndexError: + except (IndexError, KeyError): raise QemuError('Adapter {adapter_number} does not exist on QEMU VM "{name}"'.format(name=self._name, adapter_number=adapter_number)) @@ -1342,8 +1342,14 @@ class QemuVM(BaseNode): def _spice_options(self): if self._console: + console_host = self._manager.port_manager.console_host + if console_host == "0.0.0.0" and socket.has_ipv6: + # to fix an issue with Qemu when IPv4 is not enabled + # see https://github.com/GNS3/gns3-gui/issues/2352 + # FIXME: consider making this more global (not just for Qemu + SPICE) + console_host = "::" return ["-spice", - "addr={},port={},disable-ticketing".format(self._manager.port_manager.console_host, self._console), + "addr={},port={},disable-ticketing".format(console_host, self._console), "-vga", "qxl"] else: return [] @@ -1639,10 +1645,10 @@ class QemuVM(BaseNode): """ additional_options = self._options.strip() - additional_options = additional_options.replace("%vm-name%", self._name) + additional_options = additional_options.replace("%vm-name%", '"' + self._name.replace('"', '\\"') + '"') additional_options = additional_options.replace("%vm-id%", self._id) additional_options = additional_options.replace("%project-id%", self.project.id) - additional_options = additional_options.replace("%project-path%", self.project.path) + additional_options = additional_options.replace("%project-path%", '"' + self.project.path.replace('"', '\\"') + '"') command = [self.qemu_path] command.extend(["-name", self._name]) command.extend(["-m", "{}M".format(self._ram)]) diff --git a/gns3server/compute/virtualbox/__init__.py b/gns3server/compute/virtualbox/__init__.py index f49f61bc..a676bd1a 100644 --- a/gns3server/compute/virtualbox/__init__.py +++ b/gns3server/compute/virtualbox/__init__.py @@ -57,24 +57,34 @@ class VirtualBox(BaseManager): # look for VBoxManage vboxmanage_path = self.config.get_section_config("VirtualBox").get("vboxmanage_path") - if not vboxmanage_path: + if vboxmanage_path: + if not os.path.isabs(vboxmanage_path): + vboxmanage_path = shutil.which(vboxmanage_path) + else: + log.info("A path to VBoxManage has not been configured, trying to find it...") if sys.platform.startswith("win"): if "VBOX_INSTALL_PATH" in os.environ: - vboxmanage_path = os.path.join(os.environ["VBOX_INSTALL_PATH"], "VBoxManage.exe") + vboxmanage_path_windows = os.path.join(os.environ["VBOX_INSTALL_PATH"], "VBoxManage.exe") + if os.path.exists(vboxmanage_path_windows): + vboxmanage_path = vboxmanage_path_windows elif "VBOX_MSI_INSTALL_PATH" in os.environ: - vboxmanage_path = os.path.join(os.environ["VBOX_MSI_INSTALL_PATH"], "VBoxManage.exe") + vboxmanage_path_windows = os.path.join(os.environ["VBOX_MSI_INSTALL_PATH"], "VBoxManage.exe") + if os.path.exists(vboxmanage_path_windows): + vboxmanage_path = vboxmanage_path_windows elif sys.platform.startswith("darwin"): - vboxmanage_path = "/Applications/VirtualBox.app/Contents/MacOS/VBoxManage" - else: - vboxmanage_path = "vboxmanage" + vboxmanage_path_osx = "/Applications/VirtualBox.app/Contents/MacOS/VBoxManage" + if os.path.exists(vboxmanage_path_osx): + vboxmanage_path = vboxmanage_path_osx + if not vboxmanage_path: + vboxmanage_path = shutil.which("vboxmanage") - if vboxmanage_path and not os.path.isabs(vboxmanage_path): - vboxmanage_path = shutil.which(vboxmanage_path) + if vboxmanage_path and not os.path.exists(vboxmanage_path): + log.error("VBoxManage path '{}' doesn't exist".format(vboxmanage_path)) if not vboxmanage_path: - raise VirtualBoxError("Could not find VBoxManage if you just install VirtualBox you need to reboot") + raise VirtualBoxError("Could not find VBoxManage, please reboot if VirtualBox has just been installed") if not os.path.isfile(vboxmanage_path): - raise VirtualBoxError("VBoxManage {} is not accessible".format(vboxmanage_path)) + raise VirtualBoxError("VBoxManage '{}' is not accessible".format(vboxmanage_path)) if not os.access(vboxmanage_path, os.X_OK): raise VirtualBoxError("VBoxManage is not executable") if os.path.basename(vboxmanage_path) not in ["VBoxManage", "VBoxManage.exe", "vboxmanage"]: diff --git a/gns3server/compute/vpcs/vpcs_vm.py b/gns3server/compute/vpcs/vpcs_vm.py index b832b8e7..787c0aa6 100644 --- a/gns3server/compute/vpcs/vpcs_vm.py +++ b/gns3server/compute/vpcs/vpcs_vm.py @@ -134,20 +134,6 @@ class VPCSVM(BaseNode): "project_id": self.project.id, "command_line": self.command_line} - @property - def relative_startup_script(self): - """ - Returns the startup config file relative to the project directory. - - :returns: path to config file. None if the file doesn't exist - """ - - path = os.path.join(self.working_dir, 'startup.vpc') - if os.path.exists(path): - return 'startup.vpc' - else: - return None - def _vpcs_path(self): """ Returns the VPCS executable path. diff --git a/gns3server/config.py b/gns3server/config.py index 0e4b80c4..d15d32f0 100644 --- a/gns3server/config.py +++ b/gns3server/config.py @@ -144,7 +144,8 @@ class Config: def _watch_config_file(self): for file in self._files: - self._watched_files[file] = FileWatcher(file, self._config_file_change) + if os.path.exists(file): + self._watched_files[file] = FileWatcher(file, self._config_file_change) def _config_file_change(self, path): self.read_config() diff --git a/gns3server/controller/__init__.py b/gns3server/controller/__init__.py index a828f9cf..b49af36f 100644 --- a/gns3server/controller/__init__.py +++ b/gns3server/controller/__init__.py @@ -123,14 +123,19 @@ class Controller: if prop in ["enable_remote_console", "use_ubridge"]: del vm[prop] vm.setdefault("appliance_id", str(uuid.uuid4())) - appliance = Appliance(vm["appliance_id"], vm) - self._appliances[appliance.id] = appliance + try: + appliance = Appliance(vm["appliance_id"], vm) + self._appliances[appliance.id] = appliance + except KeyError as e: + # appliance data is not complete (missing name or type) + log.warning("Could not load appliance template {} ('{}'): {}".format(vm["appliance_id"], vm.get("name", "unknown"), e)) + continue # Add builtins builtins = [] builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "cloud"), {"node_type": "cloud", "name": "Cloud", "category": 2, "symbol": ":/symbols/cloud.svg"}, builtin=True)) builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "nat"), {"node_type": "nat", "name": "NAT", "category": 2, "symbol": ":/symbols/cloud.svg"}, builtin=True)) - builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "vpcs"), {"node_type": "vpcs", "name": "VPCS", "category": 2, "symbol": ":/symbols/vpcs_guest.svg", "properties": {"base_script_file": "vpcs_base_config.txt"}}, builtin=True)) + builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "vpcs"), {"node_type": "vpcs", "name": "VPCS", "default_name_format": "PC-{0}", "category": 2, "symbol": ":/symbols/vpcs_guest.svg", "properties": {"base_script_file": "vpcs_base_config.txt"}}, builtin=True)) builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "ethernet_switch"), {"node_type": "ethernet_switch", "name": "Ethernet switch", "category": 1, "symbol": ":/symbols/ethernet_switch.svg"}, builtin=True)) builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "ethernet_hub"), {"node_type": "ethernet_hub", "name": "Ethernet hub", "category": 1, "symbol": ":/symbols/hub.svg"}, builtin=True)) builtins.append(Appliance(uuid.uuid3(uuid.NAMESPACE_DNS, "frame_relay_switch"), {"node_type": "frame_relay_switch", "name": "Frame Relay switch", "category": 1, "symbol": ":/symbols/frame_relay_switch.svg"}, builtin=True)) @@ -405,6 +410,7 @@ class Controller: :param connect: True connect to the compute immediately :param kwargs: See the documentation of Compute """ + if compute_id not in self._computes: # We disallow to create from the outside the local and VM server diff --git a/gns3server/controller/compute.py b/gns3server/controller/compute.py index 8bd12dc0..e1948a35 100644 --- a/gns3server/controller/compute.py +++ b/gns3server/controller/compute.py @@ -377,13 +377,13 @@ class Compute: """ :param dont_connect: If true do not reconnect if not connected """ + if not self._connected and not dont_connect: if self._id == "vm" and not self._controller.gns3vm.running: yield from self._controller.gns3vm.start() - yield from self.connect() if not self._connected and not dont_connect: - raise ComputeError("Can't connect to {}".format(self._name)) + raise ComputeError("Cannot connect to compute '{}' with request {} {}".format(self._name, method, path)) response = yield from self._run_http_query(method, path, data=data, **kwargs) return response @@ -402,20 +402,20 @@ class Compute: """ Check if remote server is accessible """ + if not self._connected and not self._closed: try: + log.info("Connecting to compute '{}'".format(self._id)) response = yield from self._run_http_query("GET", "/capabilities") - except ComputeError: + except ComputeError as e: # Try to reconnect after 2 seconds if server unavailable only if not during tests (otherwise we create a ressources usage bomb) if not hasattr(sys, "_called_from_test") or not sys._called_from_test: self._connection_failure += 1 # After 5 failure we close the project using the compute to avoid sync issues if self._connection_failure == 5: - log.warning("Can't connect to compute %s", self._id) + log.warning("Cannot connect to compute '{}': {}".format(self._id, e)) yield from self._controller.close_compute_projects(self) - asyncio.get_event_loop().call_later(2, lambda: asyncio.async(self._try_reconnect())) - return except aiohttp.web.HTTPNotFound: raise aiohttp.web.HTTPConflict(text="The server {} is not a GNS3 server or it's a 1.X server".format(self._id)) @@ -522,10 +522,16 @@ class Compute: else: data = json.dumps(data).encode("utf-8") try: + log.debug("Attempting request to compute: {method} {url} {headers}".format( + method=method, + url=url, + headers=headers + )) response = yield from self._session().request(method, url, headers=headers, data=data, auth=self._auth, chunked=chunked, timeout=timeout) except asyncio.TimeoutError as e: raise ComputeError("Timeout error when connecting to {}".format(url)) - except (aiohttp.ClientError, aiohttp.ServerDisconnectedError, ValueError, KeyError) as e: + except (aiohttp.ClientError, aiohttp.ServerDisconnectedError, ValueError, KeyError, socket.gaierror) as e: + # aiohttp 2.3.1 raises socket.gaierror when cannot find host raise ComputeError(str(e)) body = yield from response.read() if body and not raw: diff --git a/gns3server/controller/gns3vm/__init__.py b/gns3server/controller/gns3vm/__init__.py index c27b6289..acd9f7c3 100644 --- a/gns3server/controller/gns3vm/__init__.py +++ b/gns3server/controller/gns3vm/__init__.py @@ -19,6 +19,7 @@ import sys import copy import asyncio import aiohttp +import ipaddress from ...utils.asyncio import locked_coroutine from .vmware_gns3_vm import VMwareGNS3VM @@ -26,6 +27,7 @@ from .virtualbox_gns3_vm import VirtualBoxGNS3VM from .remote_gns3_vm import RemoteGNS3VM from .gns3_vm_error import GNS3VMError from ...version import __version__ +from ..compute import ComputeError import logging log = logging.getLogger(__name__) @@ -280,7 +282,8 @@ class GNS3VM: compute = yield from self._controller.add_compute(compute_id="vm", name="GNS3 VM is starting ({})".format(engine.vmname), host=None, - force=True) + force=True, + connect=False) try: yield from engine.start() @@ -289,6 +292,7 @@ class GNS3VM: log.error("Can't start the GNS3 VM: {}".format(str(e))) yield from compute.update(name="GNS3 VM ({})".format(engine.vmname)) raise e + yield from compute.connect() # we can connect now that the VM has started yield from compute.update(name="GNS3 VM ({})".format(engine.vmname), protocol=self.protocol, host=self.ip_address, @@ -296,6 +300,43 @@ class GNS3VM: user=self.user, password=self.password) + # check if the VM is in the same subnet as the local server, start 10 seconds later to give + # some time for the compute in the VM to be ready for requests + asyncio.get_event_loop().call_later(10, lambda: asyncio.async(self._check_network(compute))) + + @asyncio.coroutine + def _check_network(self, compute): + """ + Check that the VM is in the same subnet as the local server + """ + + try: + vm_interfaces = yield from compute.interfaces() + vm_interface_netmask = None + for interface in vm_interfaces: + if interface["ip_address"] == self.ip_address: + vm_interface_netmask = interface["netmask"] + break + if vm_interface_netmask: + vm_network = ipaddress.ip_interface("{}/{}".format(compute.host_ip, vm_interface_netmask)).network + for compute_id in self._controller.computes: + if compute_id == "local": + compute = self._controller.get_compute(compute_id) + interfaces = yield from compute.interfaces() + netmask = None + for interface in interfaces: + if interface["ip_address"] == compute.host_ip: + netmask = interface["netmask"] + break + if netmask: + compute_network = ipaddress.ip_interface("{}/{}".format(compute.host_ip, netmask)).network + if vm_network.compare_networks(compute_network) != 0: + msg = "The GNS3 VM ({}) is not on the same network as the {} server ({}), please make sure the local server binding is in the same network as the GNS3 VM".format( + vm_network, compute_id, compute_network) + self._controller.notification.emit("log.warning", {"message": msg}) + except ComputeError as e: + log.warning("Could not check the VM is in the same subnet as the local server: {}".format(e)) + @locked_coroutine def _suspend(self): """ diff --git a/gns3server/controller/gns3vm/vmware_gns3_vm.py b/gns3server/controller/gns3vm/vmware_gns3_vm.py index d3f0c6d2..c14f0732 100644 --- a/gns3server/controller/gns3vm/vmware_gns3_vm.py +++ b/gns3server/controller/gns3vm/vmware_gns3_vm.py @@ -171,7 +171,7 @@ class VMwareGNS3VM(BaseGNS3VM): trial -= 1 # If ip not found fallback on old method if trial == 0: - log.warn("No IP found for the VM via readVariable fallback to getGuestIPAddress") + log.warning("No IP found for the VM via readVariable fallback to getGuestIPAddress") guest_ip_address = yield from self._execute("getGuestIPAddress", [self._vmx_path, "-wait"], timeout=120) break yield from asyncio.sleep(1) diff --git a/gns3server/controller/link.py b/gns3server/controller/link.py index 62fbe2a9..0c9d5bc4 100644 --- a/gns3server/controller/link.py +++ b/gns3server/controller/link.py @@ -300,9 +300,12 @@ class Link: try: stream_content = yield from self.read_pcap_from_source() except aiohttp.web.HTTPException as e: - log.error("Could not stream pcap file: error {}: {}".format(e.status, e.text)) + error_msg = "Could not stream PCAP file: error {}: {}".format(e.status, e.text) + log.error(error_msg) self._capturing = False + self._project.notification.emit("log.error", {"message": error_msg}) self._project.controller.notification.emit("link.updated", self.__json__()) + with stream_content as stream: with open(self.capture_file_path, "wb+") as f: while self._capturing: diff --git a/gns3server/controller/node.py b/gns3server/controller/node.py index de480906..275b3c20 100644 --- a/gns3server/controller/node.py +++ b/gns3server/controller/node.py @@ -86,8 +86,7 @@ class Node: self._first_port_name = None # This properties will be recompute - ignore_properties = ("width", "height") - + ignore_properties = ("width", "height", "hover_symbol") self.properties = kwargs.pop('properties', {}) # Update node properties with additional elements @@ -104,7 +103,15 @@ class Node: self.properties[prop] = kwargs[prop] if self._symbol is None: - self.symbol = ":/symbols/computer.svg" + # compatibility with old node templates + if "default_symbol" in self.properties: + default_symbol = self.properties.pop("default_symbol") + if default_symbol.endswith("normal.svg"): + self.symbol = default_symbol[:-11] + ".svg" + else: + self.symbol = default_symbol + else: + self.symbol = ":/symbols/computer.svg" def is_always_running(self): """ @@ -325,7 +332,7 @@ class Node: if self._node_type == "docker": timeout = None else: - timeout = 120 + timeout = 1200 trial = 0 while trial != 6: try: diff --git a/gns3server/controller/project.py b/gns3server/controller/project.py index 909d7cd8..02698e3f 100644 --- a/gns3server/controller/project.py +++ b/gns3server/controller/project.py @@ -86,6 +86,7 @@ class Project: self._show_grid = show_grid self._show_interface_labels = show_interface_labels self._loading = False + self._add_node_lock = asyncio.Lock() # Disallow overwrite of existing project if project_id is None and path is not None: @@ -435,34 +436,38 @@ class Project: :param dump: Dump topology to disk :param kwargs: See the documentation of node """ + if node_id in self._nodes: return self._nodes[node_id] - if node_type == "iou" and 'application_id' not in kwargs.keys(): + with (yield from self._add_node_lock): + # wait for a node to be completely created before adding a new one + # this is important otherwise we allocate the same application ID + # when creating multiple IOU node at the same time + if node_type == "iou" and 'application_id' not in kwargs.keys(): + kwargs['application_id'] = get_next_application_id(self._nodes.values()) - kwargs['application_id'] = get_next_application_id(self._nodes.values()) + node = Node(self, compute, name, node_id=node_id, node_type=node_type, **kwargs) + if compute not in self._project_created_on_compute: + # For a local server we send the project path + if compute.id == "local": + yield from compute.post("/projects", data={ + "name": self._name, + "project_id": self._id, + "path": self._path + }) + else: + yield from compute.post("/projects", data={ + "name": self._name, + "project_id": self._id, + }) - node = Node(self, compute, name, node_id=node_id, node_type=node_type, **kwargs) - if compute not in self._project_created_on_compute: - # For a local server we send the project path - if compute.id == "local": - yield from compute.post("/projects", data={ - "name": self._name, - "project_id": self._id, - "path": self._path - }) - else: - yield from compute.post("/projects", data={ - "name": self._name, - "project_id": self._id, - }) - - self._project_created_on_compute.add(compute) - yield from node.create() - self._nodes[node.id] = node - self.controller.notification.emit("node.created", node.__json__()) - if dump: - self.dump() + self._project_created_on_compute.add(compute) + yield from node.create() + self._nodes[node.id] = node + self.controller.notification.emit("node.created", node.__json__()) + if dump: + self.dump() return node @locked_coroutine @@ -976,10 +981,12 @@ class Project: raise aiohttp.web.HTTPConflict(text="Cannot duplicate node data while the node is running") data = copy.deepcopy(node.__json__(topology_dump=True)) - # Some properties like internal ID should not be duplicate + # Some properties like internal ID should not be duplicated for unique_property in ( 'node_id', 'name', + 'mac_addr', + 'mac_address', 'compute_id', 'application_id', 'dynamips_id'): diff --git a/gns3server/crash_report.py b/gns3server/crash_report.py index a364a184..0ea79d21 100644 --- a/gns3server/crash_report.py +++ b/gns3server/crash_report.py @@ -57,7 +57,7 @@ class CrashReport: Report crash to a third party service """ - DSN = "sync+https://6ea2fd77178749dea96d725eb4b1b4d1:307d5441e2d7405fa0bd668042392b02@sentry.io/38482" + DSN = "sync+https://9bd029d7f92b48178b01868465532d6e:9f4a6a513bd1452fbfd1771ae2ca8b66@sentry.io/38482" if hasattr(sys, "frozen"): cacert = get_resource("cacert.pem") if cacert is not None and os.path.isfile(cacert): diff --git a/gns3server/handlers/api/compute/atm_switch_handler.py b/gns3server/handlers/api/compute/atm_switch_handler.py index 798bb940..b57dbf42 100644 --- a/gns3server/handlers/api/compute/atm_switch_handler.py +++ b/gns3server/handlers/api/compute/atm_switch_handler.py @@ -188,7 +188,7 @@ class ATMSwitchHandler: 400: "Invalid request", 404: "Instance doesn't exist" }, - description="Suspend an ATM Relay switch") + description="Suspend an ATM Relay switch (does nothing)") def suspend(request, response): Dynamips.instance().get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) diff --git a/gns3server/handlers/api/compute/cloud_handler.py b/gns3server/handlers/api/compute/cloud_handler.py index f8ef826c..d29a4eeb 100644 --- a/gns3server/handlers/api/compute/cloud_handler.py +++ b/gns3server/handlers/api/compute/cloud_handler.py @@ -168,7 +168,7 @@ class CloudHandler: 400: "Invalid request", 404: "Instance doesn't exist" }, - description="Suspend a cloud") + description="Suspend a cloud (does nothing)") def suspend(request, response): Builtin.instance().get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) diff --git a/gns3server/handlers/api/compute/docker_handler.py b/gns3server/handlers/api/compute/docker_handler.py index 1e0775a0..139cd241 100644 --- a/gns3server/handlers/api/compute/docker_handler.py +++ b/gns3server/handlers/api/compute/docker_handler.py @@ -105,6 +105,24 @@ class DockerHandler: yield from container.stop() response.set_status(204) + @Route.post( + r"/projects/{project_id}/docker/nodes/{node_id}/suspend", + parameters={ + "project_id": "Project UUID", + "node_id": "Node UUID" + }, + status_codes={ + 204: "Instance suspended", + 400: "Invalid request", + 404: "Instance doesn't exist" + }, + description="Suspend a Docker container") + def suspend(request, response): + docker_manager = Docker.instance() + container = docker_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) + yield from container.pause() + response.set_status(204) + @Route.post( r"/projects/{project_id}/docker/nodes/{node_id}/reload", parameters={ diff --git a/gns3server/handlers/api/compute/ethernet_hub_handler.py b/gns3server/handlers/api/compute/ethernet_hub_handler.py index 0bbde5f1..77369567 100644 --- a/gns3server/handlers/api/compute/ethernet_hub_handler.py +++ b/gns3server/handlers/api/compute/ethernet_hub_handler.py @@ -191,7 +191,7 @@ class EthernetHubHandler: 400: "Invalid request", 404: "Instance doesn't exist" }, - description="Suspend an Ethernet hub") + description="Suspend an Ethernet hub (does nothing)") def suspend(request, response): Dynamips.instance().get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) diff --git a/gns3server/handlers/api/compute/ethernet_switch_handler.py b/gns3server/handlers/api/compute/ethernet_switch_handler.py index a1136145..cfde2bfa 100644 --- a/gns3server/handlers/api/compute/ethernet_switch_handler.py +++ b/gns3server/handlers/api/compute/ethernet_switch_handler.py @@ -204,7 +204,7 @@ class EthernetSwitchHandler: 400: "Invalid request", 404: "Instance doesn't exist" }, - description="Suspend an Ethernet switch") + description="Suspend an Ethernet switch (does nothing)") def suspend(request, response): Dynamips.instance().get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) diff --git a/gns3server/handlers/api/compute/frame_relay_switch_handler.py b/gns3server/handlers/api/compute/frame_relay_switch_handler.py index 1ea45994..fac4ebc5 100644 --- a/gns3server/handlers/api/compute/frame_relay_switch_handler.py +++ b/gns3server/handlers/api/compute/frame_relay_switch_handler.py @@ -188,7 +188,7 @@ class FrameRelaySwitchHandler: 400: "Invalid request", 404: "Instance doesn't exist" }, - description="Suspend a Frame Relay switch") + description="Suspend a Frame Relay switch (does nothing)") def suspend(request, response): Dynamips.instance().get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) diff --git a/gns3server/handlers/api/compute/iou_handler.py b/gns3server/handlers/api/compute/iou_handler.py index 029e8c27..70f8f35a 100644 --- a/gns3server/handlers/api/compute/iou_handler.py +++ b/gns3server/handlers/api/compute/iou_handler.py @@ -207,6 +207,24 @@ class IOUHandler: yield from vm.stop() response.set_status(204) + @Route.post( + r"/projects/{project_id}/iou/nodes/{node_id}/suspend", + parameters={ + "project_id": "Project UUID", + "node_id": "Node UUID" + }, + status_codes={ + 204: "Instance suspended", + 400: "Invalid request", + 404: "Instance doesn't exist" + }, + description="Suspend an IOU instance (does nothing)") + def suspend(request, response): + + iou_manager = IOU.instance() + iou_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) + response.set_status(204) + @Route.post( r"/projects/{project_id}/iou/nodes/{node_id}/reload", parameters={ diff --git a/gns3server/handlers/api/compute/nat_handler.py b/gns3server/handlers/api/compute/nat_handler.py index 90ab80ea..21487c1d 100644 --- a/gns3server/handlers/api/compute/nat_handler.py +++ b/gns3server/handlers/api/compute/nat_handler.py @@ -166,7 +166,7 @@ class NatHandler: 400: "Invalid request", 404: "Instance doesn't exist" }, - description="Suspend a nat") + description="Suspend a nat (does nothing)") def suspend(request, response): Builtin.instance().get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) diff --git a/gns3server/handlers/api/compute/notification_handler.py b/gns3server/handlers/api/compute/notification_handler.py index 1347f70b..3580a286 100644 --- a/gns3server/handlers/api/compute/notification_handler.py +++ b/gns3server/handlers/api/compute/notification_handler.py @@ -48,7 +48,7 @@ class NotificationHandler: with notifications.queue() as queue: while True: try: - notification = yield from queue.get_json(5) + notification = yield from queue.get_json(1) except asyncio.futures.CancelledError: break if ws.closed: diff --git a/gns3server/handlers/api/compute/vpcs_handler.py b/gns3server/handlers/api/compute/vpcs_handler.py index 60b84aad..6dbf2bee 100644 --- a/gns3server/handlers/api/compute/vpcs_handler.py +++ b/gns3server/handlers/api/compute/vpcs_handler.py @@ -184,16 +184,15 @@ class VPCSHandler: "node_id": "Node UUID" }, status_codes={ - 204: "Instance stopped", + 204: "Instance suspended", 400: "Invalid request", 404: "Instance doesn't exist" }, - description="Suspend a VPCS instance (stop it)") - def stop(request, response): + description="Suspend a VPCS instance (does nothing)") + def suspend(request, response): vpcs_manager = VPCS.instance() - vm = vpcs_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) - yield from vm.stop() + vpcs_manager.get_node(request.match_info["node_id"], project_id=request.match_info["project_id"]) response.set_status(204) @Route.post( diff --git a/gns3server/handlers/api/controller/drawing_handler.py b/gns3server/handlers/api/controller/drawing_handler.py index 48af0c53..719b2694 100644 --- a/gns3server/handlers/api/controller/drawing_handler.py +++ b/gns3server/handlers/api/controller/drawing_handler.py @@ -61,6 +61,26 @@ class DrawingHandler: response.set_status(201) response.json(drawing) + @Route.get( + r"/projects/{project_id}/drawings/{drawing_id}", + parameters={ + "project_id": "Project UUID", + "drawing_id": "Drawing UUID" + }, + status_codes={ + 200: "Drawing found", + 400: "Invalid request", + 404: "Drawing doesn't exist" + }, + description="Get a drawing instance", + output=DRAWING_OBJECT_SCHEMA) + def get_drawing(request, response): + + project = yield from Controller.instance().get_loaded_project(request.match_info["project_id"]) + drawing = project.get_drawing(request.match_info["drawing_id"]) + response.set_status(200) + response.json(drawing) + @Route.put( r"/projects/{project_id}/drawings/{drawing_id}", parameters={ @@ -71,7 +91,7 @@ class DrawingHandler: 201: "Drawing updated", 400: "Invalid request" }, - description="Create a new drawing instance", + description="Update a drawing instance", input=DRAWING_OBJECT_SCHEMA, output=DRAWING_OBJECT_SCHEMA) def update(request, response): diff --git a/gns3server/handlers/api/controller/link_handler.py b/gns3server/handlers/api/controller/link_handler.py index 96d89cfc..48e394cb 100644 --- a/gns3server/handlers/api/controller/link_handler.py +++ b/gns3server/handlers/api/controller/link_handler.py @@ -97,6 +97,26 @@ class LinkHandler: response.set_status(200) response.json(link.available_filters()) + @Route.get( + r"/projects/{project_id}/links/{link_id}", + parameters={ + "project_id": "Project UUID", + "link_id": "Link UUID" + }, + status_codes={ + 200: "Link found", + 400: "Invalid request", + 404: "Link doesn't exist" + }, + description="Get a link instance", + output=LINK_OBJECT_SCHEMA) + def get_link(request, response): + + project = yield from Controller.instance().get_loaded_project(request.match_info["project_id"]) + link = project.get_link(request.match_info["link_id"]) + response.set_status(200) + response.json(link) + @Route.put( r"/projects/{project_id}/links/{link_id}", parameters={ diff --git a/gns3server/handlers/api/controller/server_handler.py b/gns3server/handlers/api/controller/server_handler.py index e9a798df..7de4a66a 100644 --- a/gns3server/handlers/api/controller/server_handler.py +++ b/gns3server/handlers/api/controller/server_handler.py @@ -95,7 +95,7 @@ class ServerHandler: }) def check_version(request, response): if request.json["version"] != __version__: - raise HTTPConflict(text="Client version {} differs with server version {}".format(request.json["version"], __version__)) + raise HTTPConflict(text="Client version {} is not the same as server version {}".format(request.json["version"], __version__)) response.json({"version": __version__}) @Route.get( diff --git a/gns3server/notification_queue.py b/gns3server/notification_queue.py index c52f8968..88cbaec3 100644 --- a/gns3server/notification_queue.py +++ b/gns3server/notification_queue.py @@ -16,7 +16,6 @@ # along with this program. If not, see . import asyncio -import psutil import json import psutil @@ -33,10 +32,10 @@ class NotificationQueue(asyncio.Queue): @asyncio.coroutine def get(self, timeout): """ - When timeout is expire we send a ping notification with server informations + When timeout is expire we send a ping notification with server information """ - # At first get we return a ping so the client receive immediately data + # At first get we return a ping so the client immediately receives data if self._first: self._first = False return ("ping", self._getPing(), {}) diff --git a/gns3server/web/web_server.py b/gns3server/web/web_server.py index 8352134f..c398e631 100644 --- a/gns3server/web/web_server.py +++ b/gns3server/web/web_server.py @@ -42,8 +42,8 @@ import gns3server.handlers import logging log = logging.getLogger(__name__) -if not aiohttp.__version__.startswith("2.2"): - raise RuntimeError("aiohttp 2.2 is required to run the GNS3 server") +if not (aiohttp.__version__.startswith("2.2") or aiohttp.__version__.startswith("2.3")): + raise RuntimeError("aiohttp 2.2.x or 2.3.x is required to run the GNS3 server") class WebServer: @@ -101,7 +101,12 @@ class WebServer: if self._app: yield from self._app.shutdown() if self._handler: - yield from self._handler.finish_connections(2) # Parameter is timeout + try: + # aiohttp < 2.3 + yield from self._handler.finish_connections(2) # Parameter is timeout + except AttributeError: + # aiohttp >= 2.3 + yield from self._handler.shutdown(2) # Parameter is timeout if self._app: yield from self._app.cleanup() diff --git a/requirements.txt b/requirements.txt index e61109d3..184af376 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,10 +1,10 @@ jsonschema>=2.4.0 -aiohttp>=2.2.0,<2.3.0 # pyup: ignore +aiohttp>=2.2.0,<2.4.0 # pyup: ignore aiohttp-cors>=0.5.3,<0.6.0 # pyup: ignore -yarl>=0.11,<0.12 # pyup: ignore +yarl>=0.11 Jinja2>=2.7.3 raven>=5.23.0 psutil>=3.0.0 zipstream>=1.1.4 -typing>=3.5.3.0 # Otherwise yarl fail with python 3.4 -prompt-toolkit>=1.0.15 +typing>=3.5.3.0 # Otherwise yarl fails with python 3.4 +prompt-toolkit diff --git a/scripts/remote-install.sh b/scripts/remote-install.sh index 1ea888ca..c59128ba 100644 --- a/scripts/remote-install.sh +++ b/scripts/remote-install.sh @@ -25,7 +25,7 @@ function help { echo "Usage:" >&2 echo "--with-openvpn: Install Open VPN" >&2 echo "--with-iou: Install IOU" >&2 - echo "--with-i386-repository: Add i386 repositories require by IOU if they are not available on the system. Warning this will replace your source.list in order to use official ubuntu mirror" >&2 + echo "--with-i386-repository: Add the i386 repositories required by IOU if they are not already available on the system. Warning: this will replace your source.list in order to use the official Ubuntu mirror" >&2 echo "--unstable: Use the GNS3 unstable repository" echo "--help: This help" >&2 } @@ -37,7 +37,7 @@ function log { lsb_release -d | grep "LTS" > /dev/null if [ $? != 0 ] then - echo "You can use this script on Ubuntu LTS only" + echo "This script can only be run on a Linux Ubuntu LTS release" exit 1 fi diff --git a/tests/compute/dynamips/test_ethernet_switch.py b/tests/compute/dynamips/test_ethernet_switch.py index 6089a634..a21e217c 100644 --- a/tests/compute/dynamips/test_ethernet_switch.py +++ b/tests/compute/dynamips/test_ethernet_switch.py @@ -20,7 +20,7 @@ from gns3server.compute.dynamips.nodes.ethernet_switch import EthernetSwitchCons from gns3server.compute.nios.nio_udp import NIOUDP -def test_arp_command(async_run): +def test_mac_command(async_run): node = AsyncioMagicMock() node.name = "Test" node.nios = {} @@ -30,7 +30,7 @@ def test_arp_command(async_run): node.nios[1].name = "Ethernet1" node._hypervisor.send = AsyncioMagicMock(return_value=["0050.7966.6801 1 Ethernet0", "0050.7966.6802 1 Ethernet1"]) console = EthernetSwitchConsole(node) - assert async_run(console.arp()) == \ + assert async_run(console.mac()) == \ "Port Mac VLAN\n" \ "Ethernet0 00:50:79:66:68:01 1\n" \ "Ethernet1 00:50:79:66:68:02 1\n" diff --git a/tests/compute/test_manager.py b/tests/compute/test_manager.py index 1cb85f81..8a1634fb 100644 --- a/tests/compute/test_manager.py +++ b/tests/compute/test_manager.py @@ -229,7 +229,7 @@ def test_list_images(loop, qemu, tmpdir): f.write("1") with patch("gns3server.utils.images.default_images_directory", return_value=str(tmpdir)): - assert loop.run_until_complete(qemu.list_images()) == [ + assert sorted(loop.run_until_complete(qemu.list_images()), key=lambda k: k['filename']) == [ {"filename": "a.qcow2", "path": "a.qcow2", "md5sum": "c4ca4238a0b923820dcc509a6f75849b", "filesize": 1}, {"filename": "b.qcow2", "path": "b.qcow2", "md5sum": "c4ca4238a0b923820dcc509a6f75849b", "filesize": 1} ] @@ -249,7 +249,7 @@ def test_list_images_recursives(loop, qemu, tmpdir): with patch("gns3server.utils.images.default_images_directory", return_value=str(tmpdir)): - assert loop.run_until_complete(qemu.list_images()) == [ + assert sorted(loop.run_until_complete(qemu.list_images()), key=lambda k: k['filename']) == [ {"filename": "a.qcow2", "path": "a.qcow2", "md5sum": "c4ca4238a0b923820dcc509a6f75849b", "filesize": 1}, {"filename": "b.qcow2", "path": "b.qcow2", "md5sum": "c4ca4238a0b923820dcc509a6f75849b", "filesize": 1}, {"filename": "c.qcow2", "path": force_unix_path(os.path.sep.join(["c", "c.qcow2"])), "md5sum": "c4ca4238a0b923820dcc509a6f75849b", "filesize": 1} diff --git a/tests/controller/test_controller.py b/tests/controller/test_controller.py index ecdf1d59..4b39a830 100644 --- a/tests/controller/test_controller.py +++ b/tests/controller/test_controller.py @@ -388,9 +388,10 @@ def test_start_vm(controller, async_run): "vmname": "GNS3 VM" } with asyncio_patch("gns3server.controller.gns3vm.vmware_gns3_vm.VMwareGNS3VM.start") as mock: - with asyncio_patch("gns3server.controller.compute.Compute.connect") as mock_connect: - async_run(controller.start()) - assert mock.called + with asyncio_patch("gns3server.controller.gns3vm.GNS3VM._check_network") as mock_check_network: + with asyncio_patch("gns3server.controller.compute.Compute.connect") as mock_connect: + async_run(controller.start()) + assert mock.called assert "local" in controller.computes assert "vm" in controller.computes assert len(controller.computes) == 2 # Local compute and vm are created diff --git a/tests/controller/test_gns3vm.py b/tests/controller/test_gns3vm.py index d99a558f..49553a8b 100644 --- a/tests/controller/test_gns3vm.py +++ b/tests/controller/test_gns3vm.py @@ -70,7 +70,8 @@ def test_update_settings(controller, async_run): "vmname": "GNS3 VM" } with asyncio_patch("gns3server.controller.gns3vm.vmware_gns3_vm.VMwareGNS3VM.start"): - async_run(vm.auto_start_vm()) + with asyncio_patch("gns3server.controller.gns3vm.GNS3VM._check_network") as mock_check_network: + async_run(vm.auto_start_vm()) assert "vm" in controller.computes async_run(vm.update_settings({"enable": False})) assert "vm" not in controller.computes @@ -80,7 +81,9 @@ def test_auto_start(async_run, controller, dummy_gns3vm, dummy_engine): """ When start the compute should be add to the controller """ - async_run(dummy_gns3vm.auto_start_vm()) + + with asyncio_patch("gns3server.controller.gns3vm.GNS3VM._check_network") as mock_check_network: + async_run(dummy_gns3vm.auto_start_vm()) assert dummy_engine.start.called assert controller.computes["vm"].name == "GNS3 VM (Test VM)" assert controller.computes["vm"].host == "vm.local" diff --git a/tests/controller/test_node.py b/tests/controller/test_node.py index 6421e727..dd51a6ac 100644 --- a/tests/controller/test_node.py +++ b/tests/controller/test_node.py @@ -195,7 +195,7 @@ def test_create(node, compute, project, async_run): "startup_script": "echo test", "name": "demo" } - compute.post.assert_called_with("/projects/{}/vpcs/nodes".format(node.project.id), data=data, timeout=120) + compute.post.assert_called_with("/projects/{}/vpcs/nodes".format(node.project.id), data=data, timeout=1200) assert node._console == 2048 assert node._properties == {"startup_script": "echo test"} @@ -244,7 +244,7 @@ def test_create_base_script(node, config, compute, tmpdir, async_run): "startup_script": "hostname test", "name": "demo" } - compute.post.assert_called_with("/projects/{}/vpcs/nodes".format(node.project.id), data=data, timeout=120) + compute.post.assert_called_with("/projects/{}/vpcs/nodes".format(node.project.id), data=data, timeout=1200) def test_symbol(node, symbols_dir): @@ -445,7 +445,7 @@ def test_create_without_console(node, compute, project, async_run): "startup_script": "echo test", "name": "demo" } - compute.post.assert_called_with("/projects/{}/vpcs/nodes".format(node.project.id), data=data, timeout=120) + compute.post.assert_called_with("/projects/{}/vpcs/nodes".format(node.project.id), data=data, timeout=1200) assert node._console == 2048 assert node._properties == {"test_value": "success", "startup_script": "echo test"} diff --git a/tests/controller/test_project.py b/tests/controller/test_project.py index 7571a71f..addcc61a 100644 --- a/tests/controller/test_project.py +++ b/tests/controller/test_project.py @@ -153,7 +153,7 @@ def test_add_node_local(async_run, controller): data={'node_id': node.id, 'startup_script': 'test.cfg', 'name': 'test'}, - timeout=120) + timeout=1200) assert compute in project._project_created_on_compute controller.notification.emit.assert_any_call("node.created", node.__json__()) @@ -181,7 +181,7 @@ def test_add_node_non_local(async_run, controller): data={'node_id': node.id, 'startup_script': 'test.cfg', 'name': 'test'}, - timeout=120) + timeout=1200) assert compute in project._project_created_on_compute controller.notification.emit.assert_any_call("node.created", node.__json__()) @@ -222,7 +222,7 @@ def test_add_node_from_appliance(async_run, controller): 'name': 'Test-1', 'a': 1, }, - timeout=120) + timeout=1200) assert compute in project._project_created_on_compute controller.notification.emit.assert_any_call("node.created", node.__json__()) @@ -233,7 +233,7 @@ def test_add_node_from_appliance(async_run, controller): 'name': 'Test-2', 'a': 1 }, - timeout=120) + timeout=1200) def test_delete_node(async_run, controller): diff --git a/tests/handlers/api/controller/test_drawing.py b/tests/handlers/api/controller/test_drawing.py index ca5f899b..07070c11 100644 --- a/tests/handlers/api/controller/test_drawing.py +++ b/tests/handlers/api/controller/test_drawing.py @@ -50,6 +50,19 @@ def test_create_drawing(http_controller, tmpdir, project, async_run): assert response.json["drawing_id"] is not None +def test_get_drawing(http_controller, tmpdir, project, async_run): + + response = http_controller.post("/projects/{}/drawings".format(project.id), { + "svg": '', + "x": 10, + "y": 20, + "z": 0 + },) + response = http_controller.get("/projects/{}/drawings/{}".format(project.id, response.json["drawing_id"]), example=True) + assert response.status == 200 + assert response.json["x"] == 10 + + def test_update_drawing(http_controller, tmpdir, project, async_run): response = http_controller.post("/projects/{}/drawings".format(project.id), { diff --git a/tests/handlers/api/controller/test_link.py b/tests/handlers/api/controller/test_link.py index 319e3dc3..7a938d4f 100644 --- a/tests/handlers/api/controller/test_link.py +++ b/tests/handlers/api/controller/test_link.py @@ -128,6 +128,43 @@ def test_create_link_failure(http_controller, tmpdir, project, compute, async_ru assert len(project.links) == 0 +def test_get_link(http_controller, tmpdir, project, compute, async_run): + response = MagicMock() + response.json = {"console": 2048} + compute.post = AsyncioMagicMock(return_value=response) + + node1 = async_run(project.add_node(compute, "node1", None, node_type="qemu")) + node1._ports = [EthernetPort("E0", 0, 0, 3)] + node2 = async_run(project.add_node(compute, "node2", None, node_type="qemu")) + node2._ports = [EthernetPort("E0", 0, 2, 4)] + + with asyncio_patch("gns3server.controller.udp_link.UDPLink.create"): + response = http_controller.post("/projects/{}/links".format(project.id), { + "nodes": [ + { + "node_id": node1.id, + "adapter_number": 0, + "port_number": 3, + "label": { + "text": "Text", + "x": 42, + "y": 0 + } + }, + { + "node_id": node2.id, + "adapter_number": 2, + "port_number": 4 + } + ] + }) + link_id = response.json["link_id"] + assert response.json["nodes"][0]["label"]["x"] == 42 + response = http_controller.get("/projects/{}/links/{}".format(project.id, link_id), example=True) + assert response.status == 200 + assert response.json["nodes"][0]["label"]["x"] == 42 + + def test_update_link_suspend(http_controller, tmpdir, project, compute, async_run): response = MagicMock() response.json = {"console": 2048} @@ -242,7 +279,7 @@ def test_update_link(http_controller, tmpdir, project, compute, async_run): } ], "filters": filters - }) + }, example=True) assert response.status == 201 assert response.json["nodes"][0]["label"]["x"] == 64 assert list(project.links.values())[0].filters == filters diff --git a/tests/handlers/api/controller/test_version.py b/tests/handlers/api/controller/test_version.py index a763ce00..fafda198 100644 --- a/tests/handlers/api/controller/test_version.py +++ b/tests/handlers/api/controller/test_version.py @@ -45,7 +45,8 @@ def test_version_invalid_input(http_controller): query = {'version': "0.4.2"} response = http_controller.post('/version', query) assert response.status == 409 - assert response.json == {'message': 'Client version 0.4.2 differs with server version {}'.format(__version__), + + assert response.json == {'message': 'Client version 0.4.2 is not the same as server version {}'.format(__version__), 'status': 409}