",
"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": "fc936387-be57-4907-b240-bc2806f28a30",
+ "node_id": "f3578817-f20c-4bd8-9b1e-b23af18ab7b7",
"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": "758ba972-b86f-4fe1-8ee4-55a47010ccd6",
+ "project_id": "f71e5c25-d021-45fe-bc7b-85fa1705cc20",
"properties": {},
"status": "stopped",
"symbol": ":/symbols/computer.svg",
diff --git a/docs/api/notifications/drawing.created.json b/docs/api/notifications/drawing.created.json
index b50f542b..9bf2c468 100644
--- a/docs/api/notifications/drawing.created.json
+++ b/docs/api/notifications/drawing.created.json
@@ -1,6 +1,6 @@
{
- "drawing_id": "b6e1dcb4-442c-4c55-a1eb-537f57ee7974",
- "project_id": "6170501f-a3d6-4ab7-82e7-57b4394538f8",
+ "drawing_id": "79ef03df-38b4-4dca-b0e0-651cd383a064",
+ "project_id": "187a7fd8-fb64-4d47-8fe3-bcae84dfacd6",
"rotation": 0,
"svg": " ",
"x": 10,
diff --git a/docs/api/notifications/drawing.deleted.json b/docs/api/notifications/drawing.deleted.json
index a7299cc2..74ad40cf 100644
--- a/docs/api/notifications/drawing.deleted.json
+++ b/docs/api/notifications/drawing.deleted.json
@@ -1,6 +1,6 @@
{
- "drawing_id": "df4f6a0a-429a-40c9-ae38-dbb4733d0750",
- "project_id": "3cf20b3c-0602-49a6-b593-d49b6a1a5238",
+ "drawing_id": "8f6238f9-93f9-49ea-acb8-46a75e77c019",
+ "project_id": "80765c72-3173-4881-a32b-a77e9bf725d9",
"rotation": 0,
"svg": " ",
"x": 0,
diff --git a/docs/api/notifications/drawing.updated.json b/docs/api/notifications/drawing.updated.json
index e39a54d2..17c809d8 100644
--- a/docs/api/notifications/drawing.updated.json
+++ b/docs/api/notifications/drawing.updated.json
@@ -1,6 +1,6 @@
{
- "drawing_id": "eb4a10ff-3cd1-47dd-b95b-1792d2b08f5c",
- "project_id": "730a3525-db50-4a6a-ac7b-c724c3eed9e8",
+ "drawing_id": "3ba31d48-aa9b-4212-91a1-30493681ba78",
+ "project_id": "0d4871e9-2a2e-41cc-9979-f2eb74f10ead",
"rotation": 0,
"x": 42,
"y": 20,
diff --git a/docs/api/notifications/link.created.json b/docs/api/notifications/link.created.json
index 2947c017..19501e97 100644
--- a/docs/api/notifications/link.created.json
+++ b/docs/api/notifications/link.created.json
@@ -10,7 +10,7 @@
10
]
},
- "link_id": "d61729b0-e4c8-4d29-9e37-ed7997d2fcd8",
+ "link_id": "b0c7889a-5cf0-439a-a6b0-1fdf2fd1858a",
"link_type": "ethernet",
"nodes": [
{
@@ -22,7 +22,7 @@
"x": -10,
"y": -10
},
- "node_id": "2384cb6c-1783-4872-9c9e-91f015dee027",
+ "node_id": "855bcbdc-2af5-4625-898e-2c647ed580dd",
"port_number": 3
},
{
@@ -34,10 +34,10 @@
"x": -10,
"y": -10
},
- "node_id": "a679eb04-b702-4353-baa2-3554e49396b1",
+ "node_id": "0098bb1e-c7a2-40c8-8c29-f323a7872fbd",
"port_number": 4
}
],
- "project_id": "9ca80ee5-8396-4c65-a477-874532d42ed3",
+ "project_id": "d8f1da27-a533-4aab-95bb-117aaccb48c7",
"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 e666a28e..34b128cb 100644
--- a/docs/api/notifications/link.deleted.json
+++ b/docs/api/notifications/link.deleted.json
@@ -3,9 +3,9 @@
"capture_file_path": null,
"capturing": false,
"filters": {},
- "link_id": "3b6257c1-ce3b-44c8-8c6c-a0457d6e9e04",
+ "link_id": "3edd3d96-8054-4ef4-995f-6cdb93dbbabf",
"link_type": "ethernet",
"nodes": [],
- "project_id": "2883d355-8b23-4ddd-a21b-ff213e485c29",
+ "project_id": "c03a601b-94f5-42b1-a5c9-52ffce68dfe6",
"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 9d4c628a..16651d43 100644
--- a/docs/api/notifications/link.updated.json
+++ b/docs/api/notifications/link.updated.json
@@ -10,7 +10,7 @@
10
]
},
- "link_id": "e29aad22-7d24-4648-8282-0c41d1c7e70e",
+ "link_id": "b3bb9cf1-9947-48aa-9a81-4531bf575943",
"link_type": "ethernet",
"nodes": [
{
@@ -20,7 +20,7 @@
"x": 64,
"y": 0
},
- "node_id": "eb22314e-ff91-4679-8b65-636ec8b34905",
+ "node_id": "a093ca63-8a69-4ee5-bf36-fb9ea1e586d4",
"port_number": 3
},
{
@@ -32,10 +32,10 @@
"x": -10,
"y": -10
},
- "node_id": "1268c0a0-8652-4dba-beaf-07cef8e0a310",
+ "node_id": "dfda5907-1939-4dbb-a36f-660ef2c9e2cb",
"port_number": 4
}
],
- "project_id": "c4cba489-d792-4244-9242-07f53f6c4eac",
+ "project_id": "42d57b87-6ba4-4693-95c5-815064a1e587",
"suspend": false
}
\ No newline at end of file
diff --git a/docs/api/notifications/project.closed.json b/docs/api/notifications/project.closed.json
index 41ca0640..dd302e6f 100644
--- a/docs/api/notifications/project.closed.json
+++ b/docs/api/notifications/project.closed.json
@@ -3,9 +3,10 @@
"auto_open": false,
"auto_start": false,
"filename": "test.gns3",
+ "grid_size": 0,
"name": "test",
- "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpsh708y29/projects/2f24e0e9-9f39-41d3-a413-e7c14c5db6f7",
- "project_id": "2f24e0e9-9f39-41d3-a413-e7c14c5db6f7",
+ "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmpt3_89lcp/projects/fb65405c-5698-4712-8a79-68c79991e05c",
+ "project_id": "fb65405c-5698-4712-8a79-68c79991e05c",
"scene_height": 1000,
"scene_width": 2000,
"show_grid": false,
@@ -13,5 +14,7 @@
"show_layers": false,
"snap_to_grid": false,
"status": "closed",
+ "supplier": null,
+ "variables": null,
"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 eb1cffb9..21437999 100644
--- a/docs/api/notifications/project.updated.json
+++ b/docs/api/notifications/project.updated.json
@@ -3,8 +3,9 @@
"auto_open": false,
"auto_start": false,
"filename": "test.gns3",
+ "grid_size": 0,
"name": "test2",
- "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp3n7ijfjb/projects/10010203-0405-0607-0809-0a0b0c0d0e0f",
+ "path": "/var/folders/qy/g6blgc5n7y93pzg61zyt7cmr0000gn/T/tmp3hcl29s3/projects/10010203-0405-0607-0809-0a0b0c0d0e0f",
"project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
"scene_height": 1000,
"scene_width": 2000,
@@ -13,5 +14,15 @@
"show_layers": false,
"snap_to_grid": false,
"status": "opened",
+ "supplier": null,
+ "variables": [
+ {
+ "name": "TEST1"
+ },
+ {
+ "name": "TEST2",
+ "value": "value1"
+ }
+ ],
"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 fdd99a65..2ebd8444 100644
--- a/docs/api/notifications/settings.updated.json
+++ b/docs/api/notifications/settings.updated.json
@@ -1,4 +1,4 @@
{
- "modification_uuid": "c1aaa5d1-ce63-49f4-bfcc-e67dfac60ce3",
+ "modification_uuid": "b3ac5dbb-d2fc-44d7-90bd-3984a63d608f",
"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 c956d922..71e4b497 100644
--- a/docs/api/notifications/snapshot.restored.json
+++ b/docs/api/notifications/snapshot.restored.json
@@ -1,6 +1,6 @@
{
- "created_at": 1515399400,
+ "created_at": 1528359251,
"name": "test",
- "project_id": "eb0c9744-0882-440d-aeb0-f7e136989c30",
- "snapshot_id": "7782fde0-310f-4eed-8899-0fba6189999c"
+ "project_id": "3f0c9493-a58a-408c-b208-29564c167363",
+ "snapshot_id": "6dbef23f-8029-43f8-b957-11512db51b1d"
}
\ No newline at end of file
diff --git a/docs/api/v2/compute/atm_switch/projectsprojectidatmswitchnodesnodeidsuspend.rst b/docs/api/v2/compute/atm_switch/projectsprojectidatmswitchnodesnodeidsuspend.rst
index 5dfe016d..0c541fcf 100644
--- a/docs/api/v2/compute/atm_switch/projectsprojectidatmswitchnodesnodeidsuspend.rst
+++ b/docs/api/v2/compute/atm_switch/projectsprojectidatmswitchnodesnodeidsuspend.rst
@@ -5,7 +5,7 @@
POST /v2/compute/projects/**{project_id}**/atm_switch/nodes/**{node_id}**/suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Suspend an ATM Relay switch
+Suspend an ATM Relay switch (does nothing)
Parameters
**********
diff --git a/docs/api/v2/compute/cloud/projectsprojectidcloudnodesnodeidsuspend.rst b/docs/api/v2/compute/cloud/projectsprojectidcloudnodesnodeidsuspend.rst
index 2452d545..05e97929 100644
--- a/docs/api/v2/compute/cloud/projectsprojectidcloudnodesnodeidsuspend.rst
+++ b/docs/api/v2/compute/cloud/projectsprojectidcloudnodesnodeidsuspend.rst
@@ -5,7 +5,7 @@
POST /v2/compute/projects/**{project_id}**/cloud/nodes/**{node_id}**/suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Suspend a cloud
+Suspend a cloud (does nothing)
Parameters
**********
diff --git a/docs/api/v2/compute/docker/projectsprojectiddockernodes.rst b/docs/api/v2/compute/docker/projectsprojectiddockernodes.rst
index 4821678e..305fd778 100644
--- a/docs/api/v2/compute/docker/projectsprojectiddockernodes.rst
+++ b/docs/api/v2/compute/docker/projectsprojectiddockernodes.rst
@@ -32,6 +32,7 @@ Input
console_type enum Possible values: telnet, vnc, http, https
container_id string Docker container ID Read only
environment ['string', 'null'] Docker environment variables
+ extra_hosts ['string', 'null'] Docker extra hosts (added to /etc/hosts)
image ✔ string Docker image name
name ✔ string Docker container name
node_id string Node UUID
@@ -54,6 +55,7 @@ Output
console_type enum Possible values: telnet, vnc, http, https
container_id string Docker container ID Read only
environment ['string', 'null'] Docker environment
+ extra_hosts ['string', 'null'] Docker extra hosts (added to /etc/hosts)
image string Docker image name Read only
name string Docker container name
node_directory string Path to the node working directory Read only
diff --git a/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeid.rst b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeid.rst
index a8c718c6..a3ca1013 100644
--- a/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeid.rst
+++ b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeid.rst
@@ -50,6 +50,7 @@ Input
console_type enum Possible values: telnet, vnc, http, https
container_id string Docker container ID Read only
environment ['string', 'null'] Docker environment
+ extra_hosts ['string', 'null'] Docker extra hosts (added to /etc/hosts)
image string Docker image name Read only
name string Docker container name
node_directory string Path to the node working directory Read only
@@ -75,6 +76,7 @@ Output
console_type enum Possible values: telnet, vnc, http, https
container_id string Docker container ID Read only
environment ['string', 'null'] Docker environment
+ extra_hosts ['string', 'null'] Docker extra hosts (added to /etc/hosts)
image string Docker image name Read only
name string Docker container name
node_directory string Path to the node working directory Read only
diff --git a/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidsuspend.rst b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidsuspend.rst
new file mode 100644
index 00000000..216ccb3f
--- /dev/null
+++ b/docs/api/v2/compute/docker/projectsprojectiddockernodesnodeidsuspend.rst
@@ -0,0 +1,20 @@
+/v2/compute/projects/{project_id}/docker/nodes/{node_id}/suspend
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/docker/nodes/**{node_id}**/suspend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Suspend a Docker container
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **204**: Instance suspended
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
diff --git a/docs/api/v2/compute/ethernet_hub/projectsprojectidethernethubnodesnodeidsuspend.rst b/docs/api/v2/compute/ethernet_hub/projectsprojectidethernethubnodesnodeidsuspend.rst
index e5195707..b4678be3 100644
--- a/docs/api/v2/compute/ethernet_hub/projectsprojectidethernethubnodesnodeidsuspend.rst
+++ b/docs/api/v2/compute/ethernet_hub/projectsprojectidethernethubnodesnodeidsuspend.rst
@@ -5,7 +5,7 @@
POST /v2/compute/projects/**{project_id}**/ethernet_hub/nodes/**{node_id}**/suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Suspend an Ethernet hub
+Suspend an Ethernet hub (does nothing)
Parameters
**********
diff --git a/docs/api/v2/compute/ethernet_switch/projectsprojectidethernetswitchnodesnodeidsuspend.rst b/docs/api/v2/compute/ethernet_switch/projectsprojectidethernetswitchnodesnodeidsuspend.rst
index ca2173a9..e1c568cb 100644
--- a/docs/api/v2/compute/ethernet_switch/projectsprojectidethernetswitchnodesnodeidsuspend.rst
+++ b/docs/api/v2/compute/ethernet_switch/projectsprojectidethernetswitchnodesnodeidsuspend.rst
@@ -5,7 +5,7 @@
POST /v2/compute/projects/**{project_id}**/ethernet_switch/nodes/**{node_id}**/suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Suspend an Ethernet switch
+Suspend an Ethernet switch (does nothing)
Parameters
**********
diff --git a/docs/api/v2/compute/frame_relay_switch/projectsprojectidframerelayswitchnodesnodeidsuspend.rst b/docs/api/v2/compute/frame_relay_switch/projectsprojectidframerelayswitchnodesnodeidsuspend.rst
index 5e48c4a6..ed21ba49 100644
--- a/docs/api/v2/compute/frame_relay_switch/projectsprojectidframerelayswitchnodesnodeidsuspend.rst
+++ b/docs/api/v2/compute/frame_relay_switch/projectsprojectidframerelayswitchnodesnodeidsuspend.rst
@@ -5,7 +5,7 @@
POST /v2/compute/projects/**{project_id}**/frame_relay_switch/nodes/**{node_id}**/suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Suspend a Frame Relay switch
+Suspend a Frame Relay switch (does nothing)
Parameters
**********
diff --git a/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidsuspend.rst b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidsuspend.rst
new file mode 100644
index 00000000..93f15640
--- /dev/null
+++ b/docs/api/v2/compute/iou/projectsprojectidiounodesnodeidsuspend.rst
@@ -0,0 +1,20 @@
+/v2/compute/projects/{project_id}/iou/nodes/{node_id}/suspend
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/iou/nodes/**{node_id}**/suspend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Suspend an IOU instance (does nothing)
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **204**: Instance suspended
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
diff --git a/docs/api/v2/compute/nat/projectsprojectidnatnodesnodeidsuspend.rst b/docs/api/v2/compute/nat/projectsprojectidnatnodesnodeidsuspend.rst
index 9d8e1433..940f0e2e 100644
--- a/docs/api/v2/compute/nat/projectsprojectidnatnodesnodeidsuspend.rst
+++ b/docs/api/v2/compute/nat/projectsprojectidnatnodesnodeidsuspend.rst
@@ -5,7 +5,7 @@
POST /v2/compute/projects/**{project_id}**/nat/nodes/**{node_id}**/suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Suspend a nat
+Suspend a nat (does nothing)
Parameters
**********
diff --git a/docs/api/v2/compute/project/projects.rst b/docs/api/v2/compute/project/projects.rst
index bf0f3189..3c412113 100644
--- a/docs/api/v2/compute/project/projects.rst
+++ b/docs/api/v2/compute/project/projects.rst
@@ -35,6 +35,7 @@ Input
Name Mandatory Type Description
auto_close boolean Project auto close
+ grid_size integer Grid size for the drawing area
name ✔ ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ['string', 'null'] Project UUID
@@ -44,6 +45,8 @@ Input
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
@@ -57,6 +60,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -67,6 +71,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/compute/project/projectsprojectid.rst b/docs/api/v2/compute/project/projectsprojectid.rst
index 187a0e49..42caf175 100644
--- a/docs/api/v2/compute/project/projectsprojectid.rst
+++ b/docs/api/v2/compute/project/projectsprojectid.rst
@@ -3,6 +3,71 @@
.. contents::
+PUT /v2/compute/projects/**{project_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Update the project on the server
+
+Response status codes
+**********************
+- **201**: Project updated
+- **403**: Forbidden to update a project
+
+Input
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ auto_close boolean Project auto close when client cut off the notifications feed
+ auto_open boolean Project open when GNS3 start
+ auto_start boolean Project start when opened
+ grid_size integer Grid size for the drawing area
+ name ['string', 'null'] Project name
+ path ['string', 'null'] Path of the project on the server (work only with --local)
+ scene_height integer Height of the drawing area
+ scene_width integer Width of the drawing area
+ show_grid boolean Show the grid on the drawing area
+ show_interface_labels boolean Show interface labels on the drawing area
+ show_layers boolean Show layers on the drawing area
+ snap_to_grid boolean Snap to grid on the drawing area
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
+ zoom integer Zoom of the drawing area
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ auto_close boolean Project auto close when client cut off the notifications feed
+ auto_open boolean Project open when GNS3 start
+ auto_start boolean Project start when opened
+ filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
+ name ['string', 'null'] Project name
+ path ['string', 'null'] Project directory
+ project_id ✔ string Project UUID
+ scene_height integer Height of the drawing area
+ scene_width integer Width of the drawing area
+ show_grid boolean Show the grid on the drawing area
+ show_interface_labels boolean Show interface labels on the drawing area
+ show_layers boolean Show layers on the drawing area
+ snap_to_grid boolean Snap to grid on the drawing area
+ status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
+ zoom integer Zoom of the drawing area
+
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_put_projectsprojectid.txt
+
+
GET /v2/compute/projects/**{project_id}**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get project information
@@ -26,6 +91,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -36,6 +102,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/compute/project/projectsprojectidimport.rst b/docs/api/v2/compute/project/projectsprojectidimport.rst
index 4222c6e3..0a7e738d 100644
--- a/docs/api/v2/compute/project/projectsprojectidimport.rst
+++ b/docs/api/v2/compute/project/projectsprojectidimport.rst
@@ -26,6 +26,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -36,6 +37,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/compute/traceng.rst b/docs/api/v2/compute/traceng.rst
new file mode 100644
index 00000000..117bd38a
--- /dev/null
+++ b/docs/api/v2/compute/traceng.rst
@@ -0,0 +1,8 @@
+Traceng
+-----------------------------
+
+.. toctree::
+ :glob:
+ :maxdepth: 2
+
+ traceng/*
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodes.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodes.rst
new file mode 100644
index 00000000..f3943793
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodes.rst
@@ -0,0 +1,57 @@
+/v2/compute/projects/{project_id}/traceng/nodes
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/traceng/nodes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Create a new TraceNG instance
+
+Parameters
+**********
+- **project_id**: Project UUID
+
+Response status codes
+**********************
+- **201**: Instance created
+- **400**: Invalid request
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ console ['integer', 'null'] Console TCP port
+ console_type enum Possible values: none
+ default_destination ['string'] Default destination IP address or hostname for tracing
+ ip_address ['string'] Source IP address for tracing
+ name ✔ string TraceNG VM name
+ node_id Node UUID
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ command_line ✔ string Last command line used by GNS3 to start TraceNG
+ console ✔ ['integer', 'null'] Console TCP port
+ console_type ✔ enum Possible values: none
+ default_destination ✔ ['string'] Default destination IP address or hostname for tracing
+ ip_address ✔ ['string'] Source IP address for tracing
+ name ✔ string TraceNG VM name
+ node_directory string Path to the VM working directory
+ node_id ✔ string Node UUID
+ project_id ✔ string Project UUID
+ status ✔ enum Possible values: started, stopped, suspended
+
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_post_projectsprojectidtracengnodes.txt
+
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeid.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeid.rst
new file mode 100644
index 00000000..9ebca68e
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeid.rst
@@ -0,0 +1,120 @@
+/v2/compute/projects/{project_id}/traceng/nodes/{node_id}
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+GET /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Get a TraceNG instance
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **200**: Success
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Output
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ command_line ✔ string Last command line used by GNS3 to start TraceNG
+ console ✔ ['integer', 'null'] Console TCP port
+ console_type ✔ enum Possible values: none
+ default_destination ✔ ['string'] Default destination IP address or hostname for tracing
+ ip_address ✔ ['string'] Source IP address for tracing
+ name ✔ string TraceNG VM name
+ node_directory string Path to the VM working directory
+ node_id ✔ string Node UUID
+ project_id ✔ string Project UUID
+ status ✔ enum Possible values: started, stopped, suspended
+
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_get_projectsprojectidtracengnodesnodeid.txt
+
+
+PUT /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Update a TraceNG instance
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **200**: Instance updated
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+- **409**: Conflict
+
+Input
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ console ['integer', 'null'] Console TCP port
+ console_type enum Possible values: none
+ default_destination ['string'] Default destination IP address or hostname for tracing
+ ip_address ['string'] Source IP address for tracing
+ name ['string', 'null'] TraceNG VM name
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ command_line ✔ string Last command line used by GNS3 to start TraceNG
+ console ✔ ['integer', 'null'] Console TCP port
+ console_type ✔ enum Possible values: none
+ default_destination ✔ ['string'] Default destination IP address or hostname for tracing
+ ip_address ✔ ['string'] Source IP address for tracing
+ name ✔ string TraceNG VM name
+ node_directory string Path to the VM working directory
+ node_id ✔ string Node UUID
+ project_id ✔ string Project UUID
+ status ✔ enum Possible values: started, stopped, suspended
+
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_put_projectsprojectidtracengnodesnodeid.txt
+
+
+DELETE /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Delete a TraceNG instance
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **204**: Instance deleted
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_delete_projectsprojectidtracengnodesnodeid.txt
+
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdnio.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdnio.rst
new file mode 100644
index 00000000..4b845ba0
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdnio.rst
@@ -0,0 +1,76 @@
+/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/nio
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Add a NIO to a TraceNG instance
+
+Parameters
+**********
+- **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 created
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_post_projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdnio.txt
+
+
+PUT /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Update a NIO from a TraceNG instance
+
+Parameters
+**********
+- **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_projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdnio.txt
+
+
+DELETE /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/nio
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Remove a NIO from a TraceNG instance
+
+Parameters
+**********
+- **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 removed
+
+Response status codes
+**********************
+- **204**: NIO deleted
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_delete_projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdnio.txt
+
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdstartcapture.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdstartcapture.rst
new file mode 100644
index 00000000..e3e83b83
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdstartcapture.rst
@@ -0,0 +1,32 @@
+/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/start_capture
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/start_capture
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Start a packet capture on a TraceNG instance
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+- **adapter_number**: Adapter to start a packet capture
+- **port_number**: Port on the adapter
+
+Response status codes
+**********************
+- **200**: Capture started
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Input
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ capture_file_name ✔ string Capture file name
+ data_link_type enum Possible values: DLT_ATM_RFC1483, DLT_EN10MB, DLT_FRELAY, DLT_C_HDLC, DLT_PPP_SERIAL
+
+
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdstopcapture.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdstopcapture.rst
new file mode 100644
index 00000000..2f13dce8
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidadaptersadapternumberdportsportnumberdstopcapture.rst
@@ -0,0 +1,22 @@
+/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/adapters/{adapter_number:\d+}/ports/{port_number:\d+}/stop_capture
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/adapters/**{adapter_number:\d+}**/ports/**{port_number:\d+}**/stop_capture
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Stop a packet capture on a TraceNG instance
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+- **adapter_number**: Adapter to stop a packet capture
+- **port_number**: Port on the adapter
+
+Response status codes
+**********************
+- **204**: Capture stopped
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidduplicate.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidduplicate.rst
new file mode 100644
index 00000000..949318e0
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidduplicate.rst
@@ -0,0 +1,25 @@
+/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/duplicate
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/duplicate
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Duplicate a TraceNG 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_projectsprojectidtracengnodesnodeidduplicate.txt
+
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidreload.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidreload.rst
new file mode 100644
index 00000000..793efd2a
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidreload.rst
@@ -0,0 +1,26 @@
+/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/reload
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/reload
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Reload a TraceNG instance
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **204**: Instance reloaded
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_post_projectsprojectidtracengnodesnodeidreload.txt
+
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidstart.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidstart.rst
new file mode 100644
index 00000000..0f170d5a
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidstart.rst
@@ -0,0 +1,53 @@
+/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/start
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/start
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Start a TraceNG instance
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **204**: Instance started
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Input
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ destination ['string'] Host or IP address to trace
+
+
+Output
+*******
+.. raw:: html
+
+
+ Name Mandatory Type Description
+ command_line ✔ string Last command line used by GNS3 to start TraceNG
+ console ✔ ['integer', 'null'] Console TCP port
+ console_type ✔ enum Possible values: none
+ default_destination ✔ ['string'] Default destination IP address or hostname for tracing
+ ip_address ✔ ['string'] Source IP address for tracing
+ name ✔ string TraceNG VM name
+ node_directory string Path to the VM working directory
+ node_id ✔ string Node UUID
+ project_id ✔ string Project UUID
+ status ✔ enum Possible values: started, stopped, suspended
+
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_post_projectsprojectidtracengnodesnodeidstart.txt
+
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidstop.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidstop.rst
new file mode 100644
index 00000000..dd5a3acc
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidstop.rst
@@ -0,0 +1,26 @@
+/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/stop
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/stop
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Stop a TraceNG instance
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **204**: Instance stopped
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
+Sample session
+***************
+
+
+.. literalinclude:: ../../../examples/compute_post_projectsprojectidtracengnodesnodeidstop.txt
+
diff --git a/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidsuspend.rst b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidsuspend.rst
new file mode 100644
index 00000000..e62d3c85
--- /dev/null
+++ b/docs/api/v2/compute/traceng/projectsprojectidtracengnodesnodeidsuspend.rst
@@ -0,0 +1,20 @@
+/v2/compute/projects/{project_id}/traceng/nodes/{node_id}/suspend
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+POST /v2/compute/projects/**{project_id}**/traceng/nodes/**{node_id}**/suspend
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Suspend a TraceNG instance (does nothing)
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **204**: Instance suspended
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
diff --git a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidsuspend.rst b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidsuspend.rst
index 32abd416..7f785678 100644
--- a/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidsuspend.rst
+++ b/docs/api/v2/compute/vpcs/projectsprojectidvpcsnodesnodeidsuspend.rst
@@ -5,7 +5,7 @@
POST /v2/compute/projects/**{project_id}**/vpcs/nodes/**{node_id}**/suspend
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Suspend a VPCS instance (stop it)
+Suspend a VPCS instance (does nothing)
Parameters
**********
@@ -14,7 +14,7 @@ Parameters
Response status codes
**********************
-- **204**: Instance stopped
+- **204**: Instance suspended
- **400**: Invalid request
- **404**: Instance doesn't exist
diff --git a/docs/api/v2/controller/appliance/projectsprojectidappliancesapplianceid.rst b/docs/api/v2/controller/appliance/projectsprojectidappliancesapplianceid.rst
index db7dad5a..fb510877 100644
--- a/docs/api/v2/controller/appliance/projectsprojectidappliancesapplianceid.rst
+++ b/docs/api/v2/controller/appliance/projectsprojectidappliancesapplianceid.rst
@@ -38,14 +38,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodes.rst b/docs/api/v2/controller/node/projectsprojectidnodes.rst
index 80dccc7b..309e8ab9 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodes.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodes.rst
@@ -26,14 +26,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
@@ -57,14 +57,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeid.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeid.rst
index d7885bbe..2a9367f1 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodesnodeid.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeid.rst
@@ -23,14 +23,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
@@ -71,14 +71,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
@@ -102,14 +102,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidduplicate.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidduplicate.rst
index d01e661f..aff44de9 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodesnodeidduplicate.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidduplicate.rst
@@ -39,14 +39,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidlinks.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidlinks.rst
new file mode 100644
index 00000000..911da3f2
--- /dev/null
+++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidlinks.rst
@@ -0,0 +1,20 @@
+/v2/projects/{project_id}/nodes/{node_id}/links
+------------------------------------------------------------------------------------------------------------------------------------------
+
+.. contents::
+
+GET /v2/projects/**{project_id}**/nodes/**{node_id}**/links
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Return all the links connected to this node
+
+Parameters
+**********
+- **project_id**: Project UUID
+- **node_id**: Node UUID
+
+Response status codes
+**********************
+- **200**: Links returned
+- **400**: Invalid request
+- **404**: Instance doesn't exist
+
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidreload.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidreload.rst
index f9df30a0..f2b6387e 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodesnodeidreload.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidreload.rst
@@ -28,14 +28,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidstart.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidstart.rst
index 384c616a..6de974cd 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodesnodeidstart.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidstart.rst
@@ -28,14 +28,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidstop.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidstop.rst
index e4a8e0f0..296918eb 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodesnodeidstop.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidstop.rst
@@ -28,14 +28,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesnodeidsuspend.rst b/docs/api/v2/controller/node/projectsprojectidnodesnodeidsuspend.rst
index 25c10972..0e194254 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodesnodeidsuspend.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodesnodeidsuspend.rst
@@ -28,14 +28,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesreload.rst b/docs/api/v2/controller/node/projectsprojectidnodesreload.rst
index dde5ff1e..b164f9d3 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodesreload.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodesreload.rst
@@ -27,14 +27,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesstart.rst b/docs/api/v2/controller/node/projectsprojectidnodesstart.rst
index ab5c4258..ecde1543 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodesstart.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodesstart.rst
@@ -27,14 +27,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodesstop.rst b/docs/api/v2/controller/node/projectsprojectidnodesstop.rst
index 1fd47d5a..52b19349 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodesstop.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodesstop.rst
@@ -27,14 +27,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/node/projectsprojectidnodessuspend.rst b/docs/api/v2/controller/node/projectsprojectidnodessuspend.rst
index 5677d8c2..bf0f7224 100644
--- a/docs/api/v2/controller/node/projectsprojectidnodessuspend.rst
+++ b/docs/api/v2/controller/node/projectsprojectidnodessuspend.rst
@@ -27,14 +27,14 @@ 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, https, spice, null
+ console_type enum Possible values: vnc, telnet, http, https, spice, none, null
first_port_name ['string', 'null'] Name of the first port
height integer Height of the node (Read only)
label object
name ✔ string Node name
node_directory ['null', 'string'] Working directory of the node. Read only
node_id string Node UUID
- node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, virtualbox, vmware, iou, qemu
+ node_type ✔ enum Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu
port_name_format string Formating for port name {0} will be replace by port number
port_segment_size integer Size of the port segment
ports array List of node ports READ only
diff --git a/docs/api/v2/controller/project/projects.rst b/docs/api/v2/controller/project/projects.rst
index cb5c8deb..ed3e60fc 100644
--- a/docs/api/v2/controller/project/projects.rst
+++ b/docs/api/v2/controller/project/projects.rst
@@ -19,6 +19,7 @@ Input
Name Mandatory Type Description
auto_close boolean Project auto close
+ grid_size integer Grid size for the drawing area
name ✔ ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ['string', 'null'] Project UUID
@@ -28,6 +29,8 @@ Input
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
@@ -41,6 +44,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -51,6 +55,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/controller/project/projectsload.rst b/docs/api/v2/controller/project/projectsload.rst
index 6ba5f38b..fe2e2f29 100644
--- a/docs/api/v2/controller/project/projectsload.rst
+++ b/docs/api/v2/controller/project/projectsload.rst
@@ -35,6 +35,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -45,6 +46,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/controller/project/projectsprojectid.rst b/docs/api/v2/controller/project/projectsprojectid.rst
index c5df1bfb..1e88a74f 100644
--- a/docs/api/v2/controller/project/projectsprojectid.rst
+++ b/docs/api/v2/controller/project/projectsprojectid.rst
@@ -42,6 +42,7 @@ Input
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Path of the project on the server (work only with --local)
scene_height integer Height of the drawing area
@@ -50,6 +51,8 @@ Input
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
@@ -63,6 +66,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -73,6 +77,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/controller/project/projectsprojectidclose.rst b/docs/api/v2/controller/project/projectsprojectidclose.rst
index 7fd2c575..3ad92940 100644
--- a/docs/api/v2/controller/project/projectsprojectidclose.rst
+++ b/docs/api/v2/controller/project/projectsprojectidclose.rst
@@ -26,6 +26,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -36,6 +37,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/controller/project/projectsprojectidduplicate.rst b/docs/api/v2/controller/project/projectsprojectidduplicate.rst
index f855c403..693754d0 100644
--- a/docs/api/v2/controller/project/projectsprojectidduplicate.rst
+++ b/docs/api/v2/controller/project/projectsprojectidduplicate.rst
@@ -24,6 +24,7 @@ Input
Name Mandatory Type Description
auto_close boolean Project auto close
+ grid_size integer Grid size for the drawing area
name ✔ ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ['string', 'null'] Project UUID
@@ -33,6 +34,8 @@ Input
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
@@ -46,6 +49,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -56,6 +60,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/controller/project/projectsprojectidimport.rst b/docs/api/v2/controller/project/projectsprojectidimport.rst
index 48e32969..d2040a66 100644
--- a/docs/api/v2/controller/project/projectsprojectidimport.rst
+++ b/docs/api/v2/controller/project/projectsprojectidimport.rst
@@ -26,6 +26,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -36,6 +37,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/controller/project/projectsprojectidopen.rst b/docs/api/v2/controller/project/projectsprojectidopen.rst
index 0cbb09d1..042b0499 100644
--- a/docs/api/v2/controller/project/projectsprojectidopen.rst
+++ b/docs/api/v2/controller/project/projectsprojectidopen.rst
@@ -26,6 +26,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -36,6 +37,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/api/v2/controller/server/debug.rst b/docs/api/v2/controller/server/debug.rst
index 9cc6bb13..1e362ef3 100644
--- a/docs/api/v2/controller/server/debug.rst
+++ b/docs/api/v2/controller/server/debug.rst
@@ -5,7 +5,7 @@
POST /v2/debug
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Dump debug informations to disk (debug directory in config directory). Work only for local server
+Dump debug information to disk (debug directory in config directory). Work only for local server
Response status codes
**********************
diff --git a/docs/api/v2/controller/snapshot/projectsprojectidsnapshotssnapshotidrestore.rst b/docs/api/v2/controller/snapshot/projectsprojectidsnapshotssnapshotidrestore.rst
index 49f02a49..ab24ee1c 100644
--- a/docs/api/v2/controller/snapshot/projectsprojectidsnapshotssnapshotidrestore.rst
+++ b/docs/api/v2/controller/snapshot/projectsprojectidsnapshotssnapshotidrestore.rst
@@ -27,6 +27,7 @@ Output
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
filename ['string', 'null'] Project filename
+ grid_size integer Grid size for the drawing area
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ✔ string Project UUID
@@ -37,6 +38,8 @@ Output
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
+ supplier ['object', 'null'] Supplier of the project
+ variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area
diff --git a/docs/gns3_file.json b/docs/gns3_file.json
index a91ac6a3..e1384525 100644
--- a/docs/gns3_file.json
+++ b/docs/gns3_file.json
@@ -64,10 +64,53 @@
"type": "boolean",
"description": "Show the grid on the drawing area"
},
+ "grid_size": {
+ "type": "integer",
+ "description": "Grid size for the drawing area"
+ },
"show_interface_labels": {
"type": "boolean",
"description": "Show interface labels on the drawing area"
},
+ "supplier": {
+ "type": [
+ "object",
+ "null"
+ ],
+ "description": "Supplier of the project",
+ "properties": {
+ "logo": {
+ "type": "string",
+ "description": "Path to the project supplier logo"
+ },
+ "url": {
+ "type": "string",
+ "description": "URL to the project supplier site"
+ }
+ }
+ },
+ "variables": {
+ "type": [
+ "array",
+ "null"
+ ],
+ "description": "Variables required to run the project",
+ "items": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Variable name"
+ },
+ "value": {
+ "type": "string",
+ "description": "Variable value"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ }
+ },
"topology": {
"description": "The topology content",
"type": "object",
@@ -162,6 +205,7 @@
"docker",
"dynamips",
"vpcs",
+ "traceng",
"virtualbox",
"vmware",
"iou",
@@ -399,6 +443,7 @@
"docker",
"dynamips",
"vpcs",
+ "traceng",
"virtualbox",
"vmware",
"iou",
@@ -446,6 +491,7 @@
"http",
"https",
"spice",
+ "none",
null
]
},
diff --git a/gns3server/compute/project_manager.py b/gns3server/compute/project_manager.py
index 9abda38a..5ed61542 100644
--- a/gns3server/compute/project_manager.py
+++ b/gns3server/compute/project_manager.py
@@ -90,9 +90,9 @@ class ProjectManager:
return
# send a warning if used disk space is >= 90%
if used_disk_space >= 90:
- message = 'Only {}% or less of disk space detected in "{}" on "{}"'.format(used_disk_space,
- project.path,
- platform.node())
+ message = 'Only {:.2f}% or less of free disk space detected in "{}" on "{}"'.format(100 - used_disk_space,
+ project.path,
+ platform.node())
log.warning(message)
project.emit("log.warning", {"message": message})
diff --git a/gns3server/controller/node.py b/gns3server/controller/node.py
index 298f95e5..f496e3d9 100644
--- a/gns3server/controller/node.py
+++ b/gns3server/controller/node.py
@@ -239,6 +239,7 @@ class Node:
@symbol.setter
def symbol(self, val):
+
if val is None:
val = ":/symbols/computer.svg"
@@ -252,8 +253,9 @@ class Node:
self._symbol = val
try:
self._width, self._height, filetype = self._project.controller.symbols.get_size(val)
- # If symbol is invalid we replace it by default
- except (ValueError, OSError):
+ except (ValueError, OSError) as e:
+ log.error("Could not write symbol: {}".format(e))
+ # If symbol is invalid we replace it by the default
self.symbol = ":/symbols/computer.svg"
if self._label is None:
# Apply to label user style or default
@@ -319,7 +321,7 @@ class Node:
self._links.remove(link)
@property
- def link(self):
+ def links(self):
return self._links
@asyncio.coroutine
diff --git a/gns3server/handlers/api/controller/node_handler.py b/gns3server/handlers/api/controller/node_handler.py
index 65e3a308..b9993cf3 100644
--- a/gns3server/handlers/api/controller/node_handler.py
+++ b/gns3server/handlers/api/controller/node_handler.py
@@ -307,6 +307,28 @@ class NodeHandler:
yield from project.delete_node(request.match_info["node_id"])
response.set_status(204)
+ @Route.get(
+ r"/projects/{project_id}/nodes/{node_id}/links",
+ parameters={
+ "project_id": "Project UUID",
+ "node_id": "Node UUID"
+ },
+ status_codes={
+ 200: "Links returned",
+ 400: "Invalid request",
+ 404: "Instance doesn't exist"
+ },
+ description="Return all the links connected to this node")
+ def links(request, response):
+
+ project = yield from Controller.instance().get_loaded_project(request.match_info["project_id"])
+ node = project.get_node(request.match_info["node_id"])
+ links = []
+ for link in node.links:
+ links.append(link.__json__())
+ response.json(links)
+ response.set_status(200)
+
@Route.get(
r"/projects/{project_id}/nodes/{node_id}/dynamips/auto_idlepc",
parameters={
diff --git a/gns3server/utils/images.py b/gns3server/utils/images.py
index 794d19e7..8cd76143 100644
--- a/gns3server/utils/images.py
+++ b/gns3server/utils/images.py
@@ -156,7 +156,7 @@ def md5sum(path):
try:
with open(path + '.md5sum') as f:
- md5 = f.read()
+ md5 = f.read().strip()
if len(md5) == 32:
return md5
# Unicode error is when user rename an image to .md5sum ....
diff --git a/gns3server/utils/picture.py b/gns3server/utils/picture.py
index 1ec072de..d7c3103b 100644
--- a/gns3server/utils/picture.py
+++ b/gns3server/utils/picture.py
@@ -103,10 +103,16 @@ def get_size(data, default_width=0, default_height=0):
root = tree.getroot()
try:
- width = _svg_convert_size(root.attrib.get("width", "0"))
- height = _svg_convert_size(root.attrib.get("height", "0"))
- except IndexError:
- raise ValueError("Invalid SVG file")
+ width_attr = root.attrib.get("width", "0")
+ height_attr = root.attrib.get("height", "0")
+ if width_attr.endswith("%") or height_attr.endswith("%"):
+ # check to viewBox attribute if width or height value is a percentage
+ _, _, width_attr, height_attr = root.attrib.get("viewBox").split()
+ else:
+ width = _svg_convert_size(width_attr)
+ height = _svg_convert_size(height_attr)
+ except (AttributeError, IndexError) as e:
+ raise ValueError("Invalid SVG file: {}".format(e))
return width, height, filetype
diff --git a/gns3server/utils/vmnet.py b/gns3server/utils/vmnet.py
index 3b36056e..3748dbba 100644
--- a/gns3server/utils/vmnet.py
+++ b/gns3server/utils/vmnet.py
@@ -124,26 +124,36 @@ def find_vnetlib_registry(regkey):
def find_vnetlib_on_windows():
- vnetlib_path = shutil.which("vnetlib")
+ # look for vnetlib in PATH
+ vnetlib_path = shutil.which("vnetlib64")
+
+ if vnetlib_path is None:
+ vnetlib_path = shutil.which("vnetlib")
+
+ if vnetlib_path is None:
+ # look for vnetlib using the directory listed in the registry (for VMware Workstation)
+ vnetlib_path = find_vnetlib_registry(r"SOFTWARE\Wow6432Node\VMware, Inc.\VMware Workstation")
+
if vnetlib_path is None:
- # look for vnetlib.exe in default VMware Workstation directory
+ # look for vnetlib using the directory listed in the registry (for VMware Player)
+ vnetlib_path = find_vnetlib_registry(r"SOFTWARE\Wow6432Node\VMware, Inc.\VMware Player")
+
+ if vnetlib_path is None:
+ # look for vnetlib in default VMware Workstation directory
vnetlib_ws = os.path.expandvars(r"%PROGRAMFILES(X86)%\VMware\VMware Workstation\vnetlib64.exe")
if not os.path.exists(vnetlib_ws):
vnetlib_ws = os.path.expandvars(r"%PROGRAMFILES(X86)%\VMware\VMware Workstation\vnetlib.exe")
if os.path.exists(vnetlib_ws):
vnetlib_path = vnetlib_ws
- if vnetlib_path is None:
- # look for vnetlib.exe using the directory listed in the registry
- vnetlib_path = find_vnetlib_registry(r"SOFTWARE\Wow6432Node\VMware, Inc.\VMware Workstation")
- if vnetlib_path is None:
- # look for vnetlib.exe in default VMware VIX directory
+ if vnetlib_path is None:
+ # look for vnetlib in default VMware VIX directory
+ vnetlib_vix = os.path.expandvars(r"%PROGRAMFILES(X86)%\VMware\VMware VIX\vnetlib64.exe")
+ if not os.path.exists(vnetlib_vix):
vnetlib_vix = os.path.expandvars(r"%PROGRAMFILES(X86)%\VMware\VMware VIX\vnetlib.exe")
- if os.path.exists(vnetlib_vix):
- vnetlib_path = vnetlib_vix
- else:
- # look for vnetlib.exe using the directory listed in the registry
- vnetlib_path = find_vnetlib_registry(r"SOFTWARE\Wow6432Node\VMware, Inc.\VMware Player")
+ if os.path.exists(vnetlib_vix):
+ vnetlib_path = vnetlib_vix
+
return vnetlib_path
diff --git a/requirements.txt b/requirements.txt
index 970c5994..8f13ef5d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,5 +7,5 @@ raven>=5.23.0
psutil>=3.0.0
zipstream>=1.1.4
typing>=3.5.3.0 # Otherwise yarl fails with python 3.4
-prompt-toolkit
+prompt-toolkit==1.0.15
async-timeout<3.0.0 # pyup: ignore; 3.0 drops support for python 3.4
\ No newline at end of file
diff --git a/tests/controller/test_link.py b/tests/controller/test_link.py
index 97d9bcd6..2e769a42 100644
--- a/tests/controller/test_link.py
+++ b/tests/controller/test_link.py
@@ -98,7 +98,7 @@ def test_add_node(async_run, project, compute):
assert link.create.called
link._project.controller.notification.emit.assert_called_with("link.created", link.__json__())
- assert link in node2.link
+ assert link in node2.links
def test_add_node_already_connected(async_run, project, compute):
@@ -348,10 +348,10 @@ def test_delete(async_run, project, compute):
node2._ports = [EthernetPort("E0", 0, 0, 4)]
async_run(link.add_node(node2, 0, 4))
- assert link in node2.link
+ assert link in node2.links
async_run(link.delete())
- assert link not in node2.link
+ assert link not in node2.links
def test_update_filters(async_run, project, compute):