/v2/projects/{project_id}/nodes/{node_id}¶
GET /v2/projects/{project_id}/nodes/{node_id}¶
Get a node
Response status codes¶
200: Node found
400: Invalid request
404: Node doesn’t exist
Output¶
Name | Mandatory | Type | Description |
---|---|---|---|
command_line | ['null', 'string'] | Command line use to start the node | |
compute_id | ✔ | string | Compute identifier |
console | ['integer', 'null'] | Console TCP port | |
console_auto_start | boolean | Automatically start the console when the node has started | |
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, spice+agent, none, null | |
custom_adapters | array | ||
first_port_name | ['string', 'null'] | Name of the first port | |
height | integer | Height of the node (Read only) | |
label | object | ||
locked | boolean | Whether the element locked or not | |
name | ✔ | string | Node name |
node_directory | ['null', 'string'] | Working directory of the node. Read only | |
node_id | string | Node UUID | |
node_type | ✔ | enum | Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu |
port_name_format | string | Formating for port name {0} will be replace by port number | |
port_segment_size | integer | Size of the port segment | |
ports | array | List of node ports READ only | |
project_id | string | Project UUID | |
properties | object | Properties specific to an emulator | |
status | enum | Possible values: stopped, started, suspended | |
symbol | ['string', 'null'] | Symbol of the node | |
template_id | ['null', 'string'] | Template UUID from which the node has been created. Read only | |
width | integer | Width of the node (Read only) | |
x | integer | X position of the node | |
y | integer | Y position of the node | |
z | integer | Z position of the node |
Sample session¶
curl -i -X GET 'http://localhost:3080/v2/projects/75386d2c-4c0b-4190-ae35-d2db4807f560/nodes/3e1037e1-343f-44ea-8b7f-a653eb2d94cf'
GET /v2/projects/75386d2c-4c0b-4190-ae35-d2db4807f560/nodes/3e1037e1-343f-44ea-8b7f-a653eb2d94cf HTTP/1.1
HTTP/1.1 200
Connection: close
Content-Length: 1201
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:59 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}
{
"command_line": null,
"compute_id": "example.com",
"console": 2048,
"console_auto_start": false,
"console_host": "<MagicMock name='mock.console_host' id='140147704107360'>",
"console_type": null,
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": null,
"text": "test",
"x": null,
"y": -40
},
"locked": false,
"name": "test",
"node_directory": null,
"node_id": "3e1037e1-343f-44ea-8b7f-a653eb2d94cf",
"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": "75386d2c-4c0b-4190-ae35-d2db4807f560",
"properties": {
"startup_script": "echo test"
},
"status": "stopped",
"symbol": ":/symbols/computer.svg",
"template_id": null,
"width": 65,
"x": 0,
"y": 0,
"z": 1
}
PUT /v2/projects/{project_id}/nodes/{node_id}¶
Update a node instance
Response status codes¶
200: Instance updated
400: Invalid request
404: Instance doesn’t exist
Input¶
Name | Mandatory | Type | Description |
---|---|---|---|
command_line | ['null', 'string'] | Command line use to start the node | |
compute_id | string | Compute identifier | |
console | ['integer', 'null'] | Console TCP port | |
console_auto_start | boolean | Automatically start the console when the node has started | |
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, spice+agent, none, null | |
custom_adapters | array | ||
first_port_name | ['string', 'null'] | Name of the first port | |
height | integer | Height of the node (Read only) | |
label | object | ||
locked | boolean | Whether the element locked or not | |
name | string | Node name | |
node_directory | ['null', 'string'] | Working directory of the node. Read only | |
node_id | string | Node UUID | |
node_type | enum | Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu | |
port_name_format | string | Formating for port name {0} will be replace by port number | |
port_segment_size | integer | Size of the port segment | |
ports | array | List of node ports READ only | |
project_id | string | Project UUID | |
properties | object | Properties specific to an emulator | |
status | enum | Possible values: stopped, started, suspended | |
symbol | ['string', 'null'] | Symbol of the node | |
template_id | ['null', 'string'] | Template UUID from which the node has been created. Read only | |
width | integer | Width of the node (Read only) | |
x | integer | X position of the node | |
y | integer | Y position of the node | |
z | integer | Z position of the node |
Output¶
Name | Mandatory | Type | Description |
---|---|---|---|
command_line | ['null', 'string'] | Command line use to start the node | |
compute_id | ✔ | string | Compute identifier |
console | ['integer', 'null'] | Console TCP port | |
console_auto_start | boolean | Automatically start the console when the node has started | |
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, spice+agent, none, null | |
custom_adapters | array | ||
first_port_name | ['string', 'null'] | Name of the first port | |
height | integer | Height of the node (Read only) | |
label | object | ||
locked | boolean | Whether the element locked or not | |
name | ✔ | string | Node name |
node_directory | ['null', 'string'] | Working directory of the node. Read only | |
node_id | string | Node UUID | |
node_type | ✔ | enum | Possible values: cloud, nat, ethernet_hub, ethernet_switch, frame_relay_switch, atm_switch, docker, dynamips, vpcs, traceng, virtualbox, vmware, iou, qemu |
port_name_format | string | Formating for port name {0} will be replace by port number | |
port_segment_size | integer | Size of the port segment | |
ports | array | List of node ports READ only | |
project_id | string | Project UUID | |
properties | object | Properties specific to an emulator | |
status | enum | Possible values: stopped, started, suspended | |
symbol | ['string', 'null'] | Symbol of the node | |
template_id | ['null', 'string'] | Template UUID from which the node has been created. Read only | |
width | integer | Width of the node (Read only) | |
x | integer | X position of the node | |
y | integer | Y position of the node | |
z | integer | Z position of the node |
Sample session¶
curl -i -X PUT 'http://localhost:3080/v2/projects/7b326169-f2e1-46ed-baf0-89bf4613d8ef/nodes/5a2cdb2f-584d-437c-b917-7605004ce6ae' -d '{"compute_id": "example.com", "name": "test", "node_type": "vpcs", "properties": {"startup_script": "echo test"}}'
PUT /v2/projects/7b326169-f2e1-46ed-baf0-89bf4613d8ef/nodes/5a2cdb2f-584d-437c-b917-7605004ce6ae HTTP/1.1
{
"compute_id": "example.com",
"name": "test",
"node_type": "vpcs",
"properties": {
"startup_script": "echo test"
}
}
HTTP/1.1 200
Connection: close
Content-Length: 1158
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:27:59 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}
{
"command_line": null,
"compute_id": "example.com",
"console": 2048,
"console_auto_start": false,
"console_host": "<MagicMock name='mock.console_host' id='140147702701360'>",
"console_type": null,
"custom_adapters": [],
"first_port_name": null,
"height": 59,
"label": {
"rotation": 0,
"style": null,
"text": "test",
"x": null,
"y": -40
},
"locked": false,
"name": "test",
"node_directory": null,
"node_id": "5a2cdb2f-584d-437c-b917-7605004ce6ae",
"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": "7b326169-f2e1-46ed-baf0-89bf4613d8ef",
"properties": {},
"status": "stopped",
"symbol": ":/symbols/computer.svg",
"template_id": null,
"width": 65,
"x": 0,
"y": 0,
"z": 1
}
DELETE /v2/projects/{project_id}/nodes/{node_id}¶
Delete a node instance
Parameters¶
project_id: Project UUID
node_id: Node UUID
Response status codes¶
204: Instance deleted
400: Invalid request
404: Instance doesn’t exist
409: Cannot delete locked node
Sample session¶
curl -i -X DELETE 'http://localhost:3080/v2/projects/efe3bf64-ce25-40c6-8b18-95c6a9cefb58/nodes/bd34e20b-5203-48e2-8986-d3fe7274369e'
DELETE /v2/projects/efe3bf64-ce25-40c6-8b18-95c6a9cefb58/nodes/bd34e20b-5203-48e2-8986-d3fe7274369e HTTP/1.1
HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:28:00 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/projects/{project_id}/nodes/{node_id}