Devices Resource
Description
This resource is used to list the devices managed by rWeb, or add a new one.
GET /devices
Get all devices configured in rWeb. This is a paged query.
GET Response Values
| Name | Type | Description |
|---|---|---|
| device_class | JSON String | The class of the device. Currently this will always be "cpe". |
| address | JSON String | The address of the device. Normally this will either be the IP address or the hostname used for the device. |
| host_hex_fingerprint | JSON String | The host hex fingerprint. Typically this is set to "ignore". |
| name | JSON String | The display name of the device in rWeb. |
| username | JSON String | The username used for connecting to the device. Default is "admin". |
| connection_status | JSON String | The current status of rWeb's connection to the device. This is "connected" when the device is reachable, and becomes "no route to host" when the device is unreachable. When a device is unreachable, many other device values listed here will revert to "false", since its current status is not known. Any scripts relying on knowing device functionality should only trust responses while the device is in the "connected" state. |
| supports_tcp_dump | JSON Boolean | Whether the device supports tcpdump. |
| jumbo_frame_support_level | JSON String | This will be "rw" if jumbo frames can be enabled, "ro" if the device has the capability but it isn't supported, and "none" if there is no jumbo frame functionality. |
| device_resource | JSON String | The unique device resource for this device. |
| device_status_resource | JSON String | The device status resource for this device. |
| device_configurations_resource | JSON String | The device configurations resource for this device. |
| device_local_configurations_resource | JSON String | The device local configurations resource for this device. |
| device_values_resource | JSON String | The device values resource for this device. |
| command_resource | JSON String | The command resource for this device. |
| load_resource | JSON String | The load resource for this device. |
| upgrade_resource | JSON String | The upgrade resource for this device. |
| change_password_resource | JSON String | The change password resource for this device. |
| reboot_resource | JSON String | The reboot resource for this device. |
| log_resource | JSON String | The log resource for this device. |
| device_zones_resource | JSON String | The device zones resource for this device. |
| device_port_traffic_resource | JSON String | The device port traffic resource for this device. |
| supports_ddos_command | JSON Boolean | Whether the device supports internal DDoS commands. Primarily used for updated filter list functionality. |
| usage_resource | JSON String | The usage resource for this device. |
| password | JSON String | The password rWeb will use when attempting to connect to the device. |
| tcp_dumps_resource | JSON String | The tcp dumps resource for this device. |
| switchover_resource | JSON String | The switchover resource for this device. |
| patch_panel_resource | JSON String | The patch panel resource for this device. |
| tunnels_supported | JSON Boolean | Whether this device supports tunnels. |
| tunnels_resource | JSON String | The tunnels resource for this device. |
| snmp_supported | JSON String | Whether this device supports SNMP. |
| snmp_v1v2_resource | JSON String | The resource for configuring SNMP v1 and v2 for this device. |
| snmp_v3_usm_resource | JSON String | The resource for configuring SNMP v3 for this device. |
| license_supported | JSON Boolean | Whether this device supports licensing. Functionally this will always be "true" and could only be "false" for extremely old versions of RIOS. |
| license_resource | JSON String | The license resource for this device. |
| support_upload_supported | JSON Boolean | Whether this device can generate support uploads. |
| support_upload_resource | JSON String | The support upload resource for this device. |
| request_support_resource | JSON String | The request support upload resource for this device. |
| support_dump_by_zoneid | JSON Boolean | Whether the device supports tcpdump across an entire zone. If "false", the device will require destination addresses to be specified for captures. |
| supports_filter_mode_off | JSON Boolean | Whether the device can set filter mode for algorithms to "off" Functionally this will always be "true" and could only be "false" for extremely old versions of RIOS. |
Example GET Request
GET /devices
Example GET Response
{
"data": [
{
"device_class": "cpe",
"address": "rg0a",
"host_hex_fingerprint": "ignore",
"name": "rg0",
"username": "admin",
"connection_status": "connected",
"supports_tcp_dump": true,
"jumbo_frame_support_level": "no",
"device_resource": "/devices/456",
"device_status_resource": "/devices/456/status",
"device_configurations_resource": "/devices/456/configurations",
"device_local_configurations_resource": "/devices/456/local_configurations",
"device_values_resource": "/devices/456/values",
"command_resource": "/devices/456/current_command",
"load_resource": "/devices/456/load",
"upgrade_resource": "/devices/456/upgrade",
"downgrade_resource": "/devices/456/downgrade",
"change_password_resource": "/devices/456/change_password",
"reboot_resource": "/devices/456/reboot",
"log_resource": "/devices/456/logs",
"device_zones_resource": "/devices/456/zones",
"device_port_traffic_resource": "/devices/456/port_traffic",
"supports_ddos_command": true,
"usage_resource": "/devices/456/resource_usage",
"password": "admin123",
"tcp_dumps_resource": "/devices/456/tcp_dump",
"switchover_resource": "/devices/456/switchover",
"patch_panel_resource": "/devices/456/patch_panel",
"tunnels_supported": true,
"tunnels_resource": "/devices/456/tunnels",
"snmp_supported": true,
"snmp_v1v2_resource": "/devices/456/snmp_v1v2",
"snmp_v3_usm_resource": "/devices/456/snmp_v3_usm",
"license_supported": true,
"license_resource": "/devices/456/licenses",
"support_upload_supported": true,
"support_upload_resource": "/devices/456/support_upload",
"request_support_resource": "/devices/456/request_support",
"support_dump_by_zoneid": true,
"supports_filter_mode_off": true
},
{
"device_class": "cpe",
"address": "re42-1",
"host_hex_fingerprint": "ignore",
"name": "re42-1 - Ben",
"username": "admin",
"connection_status": "no route to host",
"supports_tcp_dump": false,
"jumbo_frame_support_level": "ro",
"device_resource": "/devices/462",
"device_status_resource": "/devices/462/status",
"device_configurations_resource": "/devices/462/configurations",
"device_local_configurations_resource": "/devices/462/local_configurations",
"device_values_resource": "/devices/462/values",
"command_resource": "/devices/462/current_command",
"load_resource": "/devices/462/load",
"upgrade_resource": "/devices/462/upgrade",
"downgrade_resource": "/devices/462/downgrade",
"change_password_resource": "/devices/462/change_password",
"reboot_resource": "/devices/462/reboot",
"log_resource": "/devices/462/logs",
"device_zones_resource": "/devices/462/zones",
"device_port_traffic_resource": "/devices/462/port_traffic",
"supports_ddos_command": false,
"usage_resource": "/devices/462/resource_usage",
"password": "admin123",
"tunnels_supported": false,
"snmp_supported": false,
"license_supported": false,
"support_upload_supported": false,
"support_dump_by_zoneid": false,
"supports_filter_mode_off": false
},
{
"device_class": "cpe",
"address": "rs30-3",
"host_hex_fingerprint": "ignore",
"name": "rs30-3",
"username": "admin",
"connection_status": "connected",
"supports_tcp_dump": true,
"jumbo_frame_support_level": "rw",
"device_resource": "/devices/515",
"device_status_resource": "/devices/515/status",
"device_configurations_resource": "/devices/515/configurations",
"device_local_configurations_resource": "/devices/515/local_configurations",
"device_values_resource": "/devices/515/values",
"command_resource": "/devices/515/current_command",
"load_resource": "/devices/515/load",
"upgrade_resource": "/devices/515/upgrade",
"downgrade_resource": "/devices/515/downgrade",
"change_password_resource": "/devices/515/change_password",
"reboot_resource": "/devices/515/reboot",
"log_resource": "/devices/515/logs",
"device_zones_resource": "/devices/515/zones",
"device_port_traffic_resource": "/devices/515/port_traffic",
"supports_ddos_command": true,
"usage_resource": "/devices/515/resource_usage",
"password": "admin123",
"tcp_dumps_resource": "/devices/515/tcp_dump",
"switchover_resource": "/devices/515/switchover",
"tunnels_supported": true,
"tunnels_resource": "/devices/515/tunnels",
"snmp_supported": true,
"snmp_v1v2_resource": "/devices/515/snmp_v1v2",
"snmp_v3_usm_resource": "/devices/515/snmp_v3_usm",
"license_supported": true,
"license_resource": "/devices/515/licenses",
"support_upload_supported": true,
"support_upload_resource": "/devices/515/support_upload",
"request_support_resource": "/devices/515/request_support",
"support_dump_by_zoneid": true,
"supports_filter_mode_off": true
}
],
"rows": 3
}
POST /devices
Adds a new filter device to be controlled by rWeb.
POST Parameters
| Name | Required | Type | Description | Default Value |
|---|---|---|---|---|
| address | Yes | JSON String | The IP address or hostname for the new device. | |
| name | Yes | JSON String | The display name for the device in rWeb. | |
| device_class | Yes | JSON String | This should be "CPE". | |
| username | Yes | JSON String | This should be "admin". | |
| password | Yes | JSON String | This will be the connection password. It may change depending on how you did the device installation, and whether or not you changed the password previously. | |
| host_hex_fingerprint | Yes | JSON String | This should be "ignore". |
POST Response Values
Same as GET response values, but will only be the newly created device and not a full paged query.
Example POST Request
POST /devices
JSON Body:
{
"data":{
"address":"deviceip",
"name":"New Device",
"device_class":"CPE",
"username":"admin",
"password":"admin123",
"host_hex_fingerprint":"ignore"
}
}
Example POST Response
HTTP/1.1 201 Created
{
"device_class": "cpe",
"address": "deviceip",
"host_hex_fingerprint": "ignore",
"name": "New Device",
"username": "admin",
"connection_status": "connection_request",
"supports_tcp_dump": false,
"jumbo_frame_support_level": "no",
"device_resource": "/devices/517",
"device_status_resource": "/devices/517/status",
"device_configurations_resource": "/devices/517/configurations",
"device_local_configurations_resource": "/devices/517/local_configurations",
"device_values_resource": "/devices/517/values",
"command_resource": "/devices/517/current_command",
"load_resource": "/devices/517/load",
"upgrade_resource": "/devices/517/upgrade",
"downgrade_resource": "/devices/517/downgrade",
"change_password_resource": "/devices/517/change_password",
"reboot_resource": "/devices/517/reboot",
"log_resource": "/devices/517/logs",
"device_zones_resource": "/devices/517/zones",
"device_port_traffic_resource": "/devices/517/port_traffic",
"supports_ddos_command": false,
"usage_resource": "/devices/517/resource_usage",
"password": "admin123",
"tunnels_supported": false,
"snmp_supported": false,
"license_supported": false,
"support_upload_supported": false,
"support_dump_by_zoneid": false,
"supports_filter_mode_off": false
}