/v2/compute/projects/{project_id}/cloud/nodes/{node_id}

GET /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

Get a cloud instance

Parameters

  • project_id: Project UUID

  • node_id: Node UUID

Response status codes

  • 200: Success

  • 400: Invalid request

  • 404: Instance doesn’t exist

Output

Name Mandatory Type Description
interfaces array
name ✔ string Cloud name
node_directory string Path to the VM working directory
node_id ✔ string Node UUID
ports_mapping ✔ array
project_id ✔ string Project UUID
remote_console_host ['string'] Remote console host or IP
remote_console_http_path string Path of the remote web interface
remote_console_port ['integer', 'null'] Console TCP port
remote_console_type enum Possible values: telnet, vnc, spice, http, https, none
status enum Possible values: started, stopped, suspended

Sample session

curl -i -X GET 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/75228bef-1806-41fc-8b73-1c5752870ac6'

GET /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/75228bef-1806-41fc-8b73-1c5752870ac6 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 1406
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:43 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

{
    "interfaces": [
        {
            "name": "docker0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "lo",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0-nic",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet1",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet8",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "wlp2s0",
            "special": false,
            "type": "ethernet"
        }
    ],
    "name": "Cloud 1",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/builtin/75228bef-1806-41fc-8b73-1c5752870ac6",
    "node_id": "75228bef-1806-41fc-8b73-1c5752870ac6",
    "ports_mapping": [
        {
            "interface": "wlp2s0",
            "name": "wlp2s0",
            "port_number": 0,
            "type": "ethernet"
        }
    ],
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "remote_console_host": "",
    "remote_console_http_path": "/",
    "remote_console_port": 23,
    "remote_console_type": "none",
    "status": "started"
}

PUT /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

Update a cloud 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

Types

HostInterfaces

Interfaces on this host

Name Mandatory Type Description
name ✔ string Interface name
special ✔ boolean If true the interface is non standard (firewire for example)
type ✔ enum Possible values: ethernet, tap

Body

Name Mandatory Type Description
interfaces array
name string Cloud name
node_directory string Path to the VM working directory
node_id string Node UUID
ports_mapping array
project_id string Project UUID
remote_console_host ['string'] Remote console host or IP
remote_console_http_path string Path of the remote web interface
remote_console_port ['integer', 'null'] Console TCP port
remote_console_type enum Possible values: telnet, vnc, spice, http, https, none
status enum Possible values: started, stopped, suspended

Output

Name Mandatory Type Description
interfaces array
name ✔ string Cloud name
node_directory string Path to the VM working directory
node_id ✔ string Node UUID
ports_mapping ✔ array
project_id ✔ string Project UUID
remote_console_host ['string'] Remote console host or IP
remote_console_http_path string Path of the remote web interface
remote_console_port ['integer', 'null'] Console TCP port
remote_console_type enum Possible values: telnet, vnc, spice, http, https, none
status enum Possible values: started, stopped, suspended

Sample session

curl -i -X PUT 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/728fff19-c5cd-47b7-89e1-c7c41c8a5caf' -d '{"name": "test"}'

PUT /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/728fff19-c5cd-47b7-89e1-c7c41c8a5caf HTTP/1.1
{
    "name": "test"
}


HTTP/1.1 200
Connection: close
Content-Length: 1403
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:25:49 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

{
    "interfaces": [
        {
            "name": "docker0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "lo",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "virbr0-nic",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet1",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "vmnet8",
            "special": true,
            "type": "ethernet"
        },
        {
            "name": "wlp2s0",
            "special": false,
            "type": "ethernet"
        }
    ],
    "name": "test",
    "node_directory": "/tmp/pytest-of-grossmj/pytest-41/test_json4/project-files/builtin/728fff19-c5cd-47b7-89e1-c7c41c8a5caf",
    "node_id": "728fff19-c5cd-47b7-89e1-c7c41c8a5caf",
    "ports_mapping": [
        {
            "interface": "wlp2s0",
            "name": "wlp2s0",
            "port_number": 0,
            "type": "ethernet"
        }
    ],
    "project_id": "a1e920ca-338a-4e9f-b363-aa607b09dd80",
    "remote_console_host": "",
    "remote_console_http_path": "/",
    "remote_console_port": 23,
    "remote_console_type": "none",
    "status": "started"
}

DELETE /v2/compute/projects/{project_id}/cloud/nodes/{node_id}

Delete a cloud 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

curl -i -X DELETE 'http://localhost:3080/v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/a022e62a-a40b-42a5-8efd-3d8141806276'

DELETE /v2/compute/projects/a1e920ca-338a-4e9f-b363-aa607b09dd80/cloud/nodes/a022e62a-a40b-42a5-8efd-3d8141806276 HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:25:49 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/compute/projects/{project_id}/cloud/nodes/{node_id}