/v2/projects¶
POST /v2/projects¶
Create a new project on the server
Response status codes¶
201: Project created
409: Project already created
Input¶
Name | Mandatory | Type | Description |
---|---|---|---|
auto_close | boolean | Project auto close | |
auto_open | boolean | Project open when GNS3 start | |
auto_start | boolean | Project start when opened | |
drawing_grid_size | integer | Grid size for the drawing area for drawings | |
grid_size | integer | Grid size for the drawing area for nodes | |
name | ✔ | ['string', 'null'] | Project name |
path | ['string', 'null'] | Project directory | |
project_id | ['string', 'null'] | Project UUID | |
scene_height | integer | Height of the drawing area | |
scene_width | integer | Width of the drawing area | |
show_grid | boolean | Show the grid on the drawing area | |
show_interface_labels | boolean | Show interface labels on the drawing area | |
show_layers | boolean | Show layers on the drawing area | |
snap_to_grid | boolean | Snap to grid on the drawing area | |
supplier | ['object', 'null'] | Supplier of the project | |
variables | ['array', 'null'] | Variables required to run the project | |
zoom | integer | Zoom of the drawing area |
Output¶
Name | Mandatory | Type | Description |
---|---|---|---|
auto_close | boolean | Project auto close when client cut off the notifications feed | |
auto_open | boolean | Project open when GNS3 start | |
auto_start | boolean | Project start when opened | |
drawing_grid_size | integer | Grid size for the drawing area for drawings | |
filename | ['string', 'null'] | Project filename | |
grid_size | integer | Grid size for the drawing area for nodes | |
name | ['string', 'null'] | Project name | |
path | ['string', 'null'] | Project directory | |
project_id | ✔ | string | Project UUID |
scene_height | integer | Height of the drawing area | |
scene_width | integer | Width of the drawing area | |
show_grid | boolean | Show the grid on the drawing area | |
show_interface_labels | boolean | Show interface labels on the drawing area | |
show_layers | boolean | Show layers on the drawing area | |
snap_to_grid | boolean | Snap to grid on the drawing area | |
status | enum | Possible values: opened, closed | |
supplier | ['object', 'null'] | Supplier of the project | |
variables | ['array', 'null'] | Variables required to run the project | |
zoom | integer | Zoom of the drawing area |
Sample session¶
curl -i -X POST 'http://localhost:3080/v2/projects' -d '{"name": "test", "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"}'
POST /v2/projects HTTP/1.1
{
"name": "test",
"project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"
}
HTTP/1.1 201
Connection: close
Content-Length: 560
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:28:00 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/projects
{
"auto_close": true,
"auto_open": false,
"auto_start": false,
"drawing_grid_size": 25,
"filename": "test.gns3",
"grid_size": 75,
"name": "test",
"path": "/tmp/tmp22gkofb4/projects/10010203-0405-0607-0809-0a0b0c0d0e0f",
"project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
"scene_height": 1000,
"scene_width": 2000,
"show_grid": false,
"show_interface_labels": false,
"show_layers": false,
"snap_to_grid": false,
"status": "opened",
"supplier": null,
"variables": null,
"zoom": 100
}
GET /v2/projects¶
List projects
Response status codes¶
200: List of projects
Sample session¶
curl -i -X GET 'http://localhost:3080/v2/projects'
GET /v2/projects HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 638
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:28:01 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/projects
[
{
"auto_close": true,
"auto_open": false,
"auto_start": false,
"drawing_grid_size": 25,
"filename": "test.gns3",
"grid_size": 75,
"name": "test",
"path": "/tmp/pytest-of-grossmj/pytest-41/test_list_projects1",
"project_id": "00010203-0405-0607-0809-0a0b0c0d0e0f",
"scene_height": 1000,
"scene_width": 2000,
"show_grid": false,
"show_interface_labels": false,
"show_layers": false,
"snap_to_grid": false,
"status": "opened",
"supplier": null,
"variables": null,
"zoom": 100
}
]