Introduction
The Attributes endpoint allows you to add customized 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?
Creating an Attribute Entry
A user entry can be created using the web interface if the current user logged in has a role that contains the user::create permission. Go to menu: Manage -> Users -> Create Users. Also can be created from the Users 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: Manage -> Database -> List Database, then clicking on the "attributes" table.
Create 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} |