...
A discovery can be created using the web interface if a user has a role that contains the discoveries::create permission. Go to menu: Discover -> Resources -> Discoveries -> Create Discoveries. There is also a create button on the collection page.
View Discovery Details
Go to menu -> Admin : Discover -> Discoveries -> List Discoveries.
You will see a list of discoveriesattributes. You can view a discovery by an attribute by clicking on the it's ID (in green)blue view button. You can also edit or delete the discoveryDiscovery.
Database Schema
The schema for the database is below. It can also be found in the application is the user has database::read permission by going to menu -> Admin : Manage -> Database -> List Database, then clicking on the groups "discoveries" table.
Code Block | ||||
---|---|---|---|---|
| ||||
CREATE TABLE `discoveries` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL DEFAULT '', `org_id` int(10) unsigned NOT NULL DEFAULT '1', `description` varchar(100) NOT NULL DEFAULT '', `type` varchar(100) NOT NULL DEFAULT '', `devices_assigned_to_org` int(10) unsigned DEFAULT NULL, `devices_assigned_to_location` int(10) unsigned DEFAULT NULL, `network_address` varchar(100) NOT NULL DEFAULT '', `system_id` int(10) unsigned NOT NULL DEFAULT '0', `other` text NOT NULL, `device_count` int(10) unsigned NOT NULL DEFAULT '0', `discard` enum('y','n') NOT NULL DEFAULT 'n', `created_by` varchar(200) NOT NULL DEFAULT '', `created_on` datetime NOT NULL DEFAULT '2000-01-01 00:00:00', `last_run` datetime NOT NULL DEFAULT '2000-01-01 00:00:00', `complete` enum('y','n') NOT NULL DEFAULT 'n', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Example Database Entry
Connections Discoveries are stored in the database in the "connectionsdiscoveries" table. A typical entry will look as below.
Code Block | ||||
---|---|---|---|---|
| ||||
id: 1 name: My Home Network org_id: 1 description: 192.168.1.0/24 type: subnet devices_assigned_to_org: NULL devices_assigned_to_location: NULL network_address: http://192.168.1.20/open-audit/ system_id: 0 other: {"subnet":"192.168.1.0\/24"} device_count: 0 discard: n created_by: Administrator created_on: 2016-12-05 14:31:24 last_run: 2000-01-01 00:00:00 complete: y |
...
Request Method | ID | Action | Resulting Function | Permission Required | URL Example | Notes | Example Response |
---|---|---|---|---|---|---|---|
POST | n | create | discoveries::create | /discoveries | Insert a new discoveries entry. | discoveries_create.json | |
GET | y | read | discoveries::read | /discoveries/{id} | Returns a discovery's details. | discoveries_create.json | |
PATCH | y | update | discoveries::update | /discoveries/{id} | Update an attribute of a discoveries entry. | discoveries_update.json | |
DELETE | y | delete | discoveries::delete | /discoveries/{id} | Delete a discoveries entry. | discoveries_delete.json | |
GET | n | collection | discoveries::read | /discoveries | Returns a list of discoveries. | discoveries_collection.json | |
GET | y | execute | discoveries::read | /discoveries/{id}/execute | Execute (run) a discovery. | discoveries_execute.json |
Web Application Routes
Request Method | ID | Action | Resulting Function | Permission Required | URL Example | Notes |
---|---|---|---|---|---|---|
GET | n | create | create_form | discoveries::create | /discoveries/create | Displays a standard web form for submission to POST /discoveries. |
GET | y | update | update_form | discoveries::update | /discoveries/{id}/update | Show the discovery's details with the option to update attributes using PATCH to /discoveries/{id} |
GET | n | import | import_form | discoveries::create | /discoveries/import | Displays a standard web form for submission to POST /discoveries/import. |
POST | n | import | import | discoveries::create | /discoveries/import | Import multiple discoveries using a CSV. |
...