Notifications

You can receive notification from the controller allowing you to update your local data.

Notifications endpoints

You can listen the HTTP stream /notifications or the websocket.

We recommend using the websocket.

Available notifications

ping

Keep the connection between client and controller.

{
    "compute_id": 12
}

compute.created

Compute has been created.

{
    "capabilities": {
        "node_types": [],
        "version": null
    },
    "compute_id": "my_compute",
    "connected": false,
    "cpu_usage_percent": null,
    "host": "localhost",
    "memory_usage_percent": null,
    "name": "http://julien@localhost:84",
    "port": 84,
    "protocol": "http",
    "user": "julien"
}

compute.updated

Compute has been updated. You will receive a lot of this event because it’s include change of CPU and memory usage on the compute node.

{
    "capabilities": {
        "node_types": [],
        "version": null
    },
    "compute_id": "my_compute_id",
    "connected": false,
    "cpu_usage_percent": null,
    "host": "localhost",
    "memory_usage_percent": null,
    "name": "http://julien@localhost:84",
    "port": 84,
    "protocol": "https",
    "user": "julien"
}

compute.deleted

Compute has been deleted.

{
    "capabilities": {
        "node_types": [],
        "version": null
    },
    "compute_id": "my_compute_id",
    "connected": false,
    "cpu_usage_percent": null,
    "host": "localhost",
    "memory_usage_percent": null,
    "name": "http://julien@localhost:84",
    "port": 84,
    "protocol": "http",
    "user": "julien"
}

node.created

Node has been created.

{
    "a": "b"
}

node.updated

Node has been updated.

{
    "command_line": "",
    "compute_id": "local",
    "console": 5004,
    "console_host": "localhost",
    "console_type": "telnet",
    "first_port_name": null,
    "height": 59,
    "label": {
        "rotation": 0,
        "style": "font-family: TypeWriter;font-size: 10;font-weight: bold;fill: #000000;fill-opacity: 1.0;",
        "text": "PC1",
        "x": 18,
        "y": -25
    },
    "name": "PC1",
    "node_directory": "/private/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/pytest-of-noplay/pytest-63/test_open0/project-files/vpcs/64ba8408-afbf-4b66-9cdd-1fd854427478",
    "node_id": "64ba8408-afbf-4b66-9cdd-1fd854427478",
    "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": "3c1be6f9-b4ba-4737-b209-63c47c23359f",
    "properties": {},
    "status": "stopped",
    "symbol": ":/symbols/computer.svg",
    "width": 65,
    "x": -300,
    "y": -118,
    "z": 1
}

node.deleted

Node has been deleted.

drawing.created

Drawing has been created.

{
    "drawing_id": "1804b301-3f1d-47d6-b8cf-201c29ffcdc5",
    "project_id": "b23bbc6f-56fa-4954-8adc-45a074875bb8",
    "rotation": 0,
    "svg": "<svg height=\"210\" width=\"500\"><line x1=\"0\" y1=\"0\" x2=\"200\" y2=\"200\" style=\"stroke:rgb(255,0,0);stroke-width:2\" /></svg>",
    "x": 10,
    "y": 20,
    "z": 0
}

drawing.updated

Drawing has been updated. To reduce data transfert if the svg field has not change the field is not included.

{
    "drawing_id": "72443701-e923-4216-a5a4-75eb9ef77ac6",
    "project_id": "03008748-5d81-433b-a62c-fb77c245cdc7",
    "rotation": 0,
    "x": 42,
    "y": 20,
    "z": 0
}

drawing.deleted

Drawing has been deleted.

{
    "drawing_id": "f5852a28-616a-4e2c-a288-2184daecd0dc",
    "project_id": "9e3eaf56-ac31-4b2f-a84f-b3874b0fc0b9",
    "rotation": 0,
    "svg": "<svg></svg>",
    "x": 0,
    "y": 0,
    "z": 0
}

project.updated

Project has been updated.

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "name": "test2",
    "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmplj6wxbgc/projects/10010203-0405-0607-0809-0a0b0c0d0e0f",
    "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
    "scene_height": 1000,
    "scene_width": 2000,
    "status": "opened"
}

project.closed

Project has been closed.

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "filename": "test.gns3",
    "name": "test",
    "path": "/var/folders/3s/r2wbv07n7wg4vrsn874lmxxh0000gn/T/tmpgw7miucs/projects/87aa91b7-b34e-43bd-a7c4-185dcf135498",
    "project_id": "87aa91b7-b34e-43bd-a7c4-185dcf135498",
    "scene_height": 1000,
    "scene_width": 2000,
    "status": "closed"
}

snapshot.restored

Snapshot has been restored

log.error

Send an error to the user

{
    "message": "Permission denied on /tmp"
}

log.warning

Send a warning to the user

{
    "message": "Warning ASA 8 is not officialy supported by GNS3"
}

log.info

Send an information to the user

{
    "message": "Image uploaded"
}

settings.updated

GUI settings updated. Will be removed in a later release.

{
    "modification_uuid": "8c59037b-2cc6-4d4d-be9b-e072fb0eee2a",
    "test": true
}