Introduction
The Attributes endpoint allows you to add customised values to different attributes in Open-AudIT, at the moment this feature works on the Class, Environment, Status and Type attributes on Devices only.
How Does it Work?
Attributes are stored for Open-AudIT to use for particular fields, at present all fields are based on the devices (system) table.
The attributes you can edit are associated with the following columns: Class, Environment, Status & Type.
Notes:
If you add a device type, to display the associated icon you will have to manually copy the .svg formatted file to the directory:
Linux: /usr/local/open-audit/www/open-audit/device_images
Windows: c:\xampplite\htdocs\open-audit\device_images
Creating an Attribute Entry
An attribute entry can be created using the web interface if the current user logged in has a role that contains the attribute::create permission. Go to menu: Manage -> Attributes -> Create Attributes. Also can be created from the Attributes View, using the "Create" button.
To add a new value for an attributes you need to select an organization, select the type of attribute, provide a name and the value.
You have to select one of the types from the drop down menu (device_class, device_environment, device_status, device_type).
View Attributes Details
Go to menu: Manage-> Attributes -> List Attributes.
Database Schema
The schema for the database is below. It can also be found in the application is the user has attributes::read permission by going to menu: Admin -> Database -> List Tables, then clicking on the "attributes" table.
CREATE TABLE `attributes` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `org_id` int(10) unsigned NOT NULL DEFAULT '1', `resource` varchar(200) NOT NULL DEFAULT '', `type` varchar(200) NOT NULL DEFAULT '', `name` varchar(200) NOT NULL DEFAULT '', `value` varchar(200) NOT NULL DEFAULT '', `edited_by` varchar(200) NOT NULL DEFAULT '', `edited_date` datetime NOT NULL DEFAULT '2000-01-01 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8
A typical entry looks as below.
id: 102 org_id: 1 resource: devices type: device_type name: Wireless Router value: wireless router edited_by: system edited_date: 2000-01-01 00:00:00
API / Web Access
You can access the /attributes collection using the normal Open-AudIT JSON based API. Just like any other collection. Please see the API documentation for further details.
Access is provided as part of a roles permissions. Attributes is a standard resource and can have create, read, update and delete permissions.
The API routes below are usable from both a JSON Restful API and the web interface. The Web application routes are specifically designed to be called from the web interface (a browser).
API Routes
Request Method | ID | Action | Resulting Function | Permission Required | URL Example | Notes | Example Response |
---|---|---|---|---|---|---|---|
GET | n | collection | attributes::read | /attributes | Returns a list of attributes. | attributes_collection.json | |
POST | n | create | attributes::create | /attributes | Insert a new attribute entry. | attributes_create.json | |
GET | y | read | attributes::read | /attributes/{id} | Returns an attribute details. | attributes_read.json | |
PATCH | y | update | attributes::update | /attributes/{id} | Update the details of an attribute entry. | attributes_update.json | |
DELETE | y | delete | attributes::delete | /attributes/{id} | Delete an attribute entry. | attributes_delete.json |
Web Application Routes
Request Method | ID | Action | Resulting Function | Permission Required | URL Example | Notes |
---|---|---|---|---|---|---|
GET | n | create | create_form | attributes::create | /attributes/create | Displays a standard web form for submission to POST /attributes. |
GET | y | update | update_form | attributes::update | /attributes/{id}/update | Show the attributes details with the option to update details using PATCH to /attributes/{id} |