...
- Entity with unique name
- contains properties
- filterable (logical and between properties), pagable(size: 10, 20, 50, 100), sortable (multiple properties,ascending, descending, default)
- properties have unique names per entity (not translated - will be translated through seperate service if neccessary)
- CRUD (Create, Read, Update, Delete)-functionalities
- auth required, token based (has to be optimized - maybe independent from odl)
- export function
- additional result information:
- page number (1..n, if requested page>n page=n)
- page size (number of current filtered elements)
- result size (number of all elements for filter)
- payload: JSON (no '-' for properties, entities)
- yang spec !
- Language
- Localization
- change events via websocket (needs subscription for this entity)
- Term "Mountpoint" code consolidation
- Server: The terms "mountpoint", "mountpoint-id" (different writings) and "node-name" will be consolidated and replaced by the single term "node-id" in the code and in the database types.
- ODLUX Apps: There are different names used for the same id. Should be consolidated to "Nodename"
- Filter specification according to UX-Framework Tablefilter
Further points&questions:
...
CREATE, READ, UPDATE, DELETE
Filter-Object: (See UX-Framework Tablefilter)
Each answer contains "output" to specify the request related to the table behind:
Code Block | |
---|---|
js | { "input"output": { "filterpagination":[{ "property":"<property-name>", "filtervaluesize":"<filter-string>" 20, <-- Number of requested objects }], "sortorderpage":[{ 1, <-- Page delivered back "propertytotal":"<property-name", "sortorder":"ascending|descending" } ], "pagination":{ "size":20, "page":1 } } } 3 <-- Total number of Objects in overall list }, { <-- List of objects on this page. Number of objects are the really available one's on this page. Could be less requested. |
Request Entity-Example:
Code Block |
---|
POST /restconf/operations/data-provider:getread-faultcurrent-entitylist { "input":{ "filter":[], "sortorder":[], "pagination":{ "size":20, "page":1 } } } Response: { "output": { "pagination":{ "size":20, "page":1, "total": 3 }, "data": [ { "_id": "Sim2230/LP-MWPS-TTP-RADIO/rslIsExceeded", "nodeNamenode-id": "Sim2230", "counter": "2", "timeStamptimestamp": "2017-01-01T01:00:00.0Z", "objectIdobject-id": "LP-MWPS-TTP-RADIO", "problem": "rslIsExceeded", "severity": "Critical", "type": "ProblemNotificationXml" }, { "_id": "Sim2231/LP-MWPS-TTP-RADIO/rslIsExceeded", "nodeNamenode-id": "Sim2231", "counter": "3", "timeStamptimestamp": "2017-01-01T02:00:00.0Z", "objectIdobject-id": "LP-MWPS-TTP-RADIO", "problem": "rslIsExceeded", "severity": "Critical", "type": "ProblemNotificationXml" }, { "_id": "Sim2230/LP-MWPS-TTP-RADIO/signalLost", "nodeNamenode-id": "Sim2230", "counter": "4", "timeStamptimestamp": "2017-01-01T03:00:00.0Z", "objectIdobject-id": "LP-MWPS-TTP-RADIO", "problem": "signalLost", "severity": "Major", "type": "ProblemNotificationXml" } ] } } |
...
Code Block |
---|
POST /restconf/operations/data-provider:getread-faultcurrent-entitylist { "filter":[], "sortorder":[{ "property":"timeStamp", "sortorder":"descending" }, { "property":"nodeName", "sortorder":"ascending" }], "pagination":{ "size":20, "page":1 } } Response: { "pagination":{ "size":20, "page":1, "total": 3 }, "data": [ { "_id": "Sim2230/LP-MWPS-TTP-RADIO/signalLost", "nodeNamenode-id": "Sim2230", "counter": "4", "timeStamptimestamp": "2017-01-01T03:00:00.0Z", "objectIdobject-id": "LP-MWPS-TTP-RADIO", "problem": "signalLost", "severity": "Major", "type": "ProblemNotificationXml" }, { "_id": "Sim2231/LP-MWPS-TTP-RADIO/rslIsExceeded", "nodeName": "Sim2231", "counter": "3", "timeStamptimestamp": "2017-01-01T02:00:00.0Z", "objectIdobject-id": "LP-MWPS-TTP-RADIO", "problem": "rslIsExceeded", "severity": "Critical", "type": "ProblemNotificationXml" }, { "_id": "Sim2230/LP-MWPS-TTP-RADIO/rslIsExceeded", "nodeName": "Sim2230", "counter": "2", "timeStamptimestamp": "2017-01-01T01:00:00.0Z", "objectIdobject-id": "LP-MWPS-TTP-RADIO", "problem": "rslIsExceeded", "severity": "Critical", "type": "ProblemNotificationXml" } ] } |
Entities
NetworkElementConnection (network-element-connection)
Code Block |
---|
{
"id": "safnoincaosnf",
"node-id": "sim2",
"host": "10.20.5.2",
"port": 12600,
"status": "connected",
"core-model-capability":"2017-03-20",
"device-type":"wireless transport",
"is-required":true,
"node-details": {
"available-capabilites": [
{
"capability-origin": "device-advertised",
"capability": "urn:ietf:params:netconf:base:1.0"
}
],
"unavailable-capabilities": [
{
"capability": "(urn:ietf:params:xml:ns:yang:ietf-system?revision=2014-08-06)ietf-system",
"failure-reason": "unable-to-resolve"
}
]
}
} |
create:create: (create-network-element-connection)
Code Block |
---|
POST /restconf/operations/data-provider:create-network-element-connection { "input": { "node-id": "sim2", "host": "10.20.5.2", "port": 12600, "username":"user", "password":"password", "is-required":true } } |
...
ConnectionLog (connectionlog)
Code Block |
---|
{ "id":"AW0kpBcp8r4e_0bbEEpk", "node-id":"sim1", "status":"connected", "timestamp":"2019-09-12T08:43:16.6Z" } |
FaultCurrent (faultcurrent)
Code Block |
---|
{ "id": "Sim2230/LP-MWPS-TTP-RADIO/rslIsExceeded", "node-id": "Sim2230", "counter": "2", "timestamp": "2017-01-01T01:00:00.0Z", "object-id": "LP-MWPS-TTP-RADIO", "problem": "rslIsExceeded", "severity": "Critical", "type": "ProblemNotificationXml" } |
FaultLog (faultlog)
Code Block |
---|
{ "id": "Sim2230/LP-MWPS-TTP-RADIO/rslIsExceeded", "node-id": "Sim2230", "counter": "2", "timestamp": "2017-01-01T01:00:00.0Z", "object-id": "LP-MWPS-TTP-RADIO", "problem": "rslIsExceeded", "severity": "Critical", "type": "ProblemNotificationXml" } |
PMData15m (pmdata-15m)
Code Block |
---|
PMData24h (pmdata-24h)
Code Block |
---|
MediatorServer
...
(mediator-server)
read (read-mediator-server-list)
(POST /restconf/operations/data-provider:read-mediator-server-list)
Code Block |
---|
{ "input":{ "id":"safasfnoiinf_ubdazgf", "url":"https://10.45.44.223:7590", "name":"test mediator server" } } |
create (create-mediator-server)
POST /restconf/operations/data-provider:create-mediator-server
Code Block |
---|
{ "input":{ "url":"https://10.45.44.223:7590", "name":"test mediator server" } } |
delete
...
(delete-mediator-server)
POST /restconf/operations/data-provider:delete-mediator-server
Code Block |
---|
{ "input":{ "id":"safasfnoiinf_ubdazgf" } } |
...
update: (update-mediator-server)
POST /restconf/operations/data-provider:update-mediator-server
Code Block |
---|
{ "input":{ "id":"safasfnoiinf_ubdazgf", "url":"https://10.45.44.223:7590", "name":"test mediator server" } } |
Inventory (inventory)
Code Block |
---|
{ "id":"uadnaisd_sadfniv", "tree-level": 1, "parent-uuid": "SHELF-1.1.0.0", "node-id": "sim2", "uuid": "CARD-1.1.8.0", "contained-holder": [ ], "manufacturer-name": null, "manufacturer-identifier": "ONF-Wireless-Transport", "serial": "sd-dsa-eqw", "date": "2008-10-21T00:00:00.0Z", "version": "unknown", "description": "WS/DS3", "part-type-id": "unknown", "model-identifier": "model-id-s3s", "type-name": "p4.module" } |
Maintenance (maintenance)
Code Block |
---|
{ "id":"sim2", "node-id": "sim2", "filter": [{ "definition": { "object-id-ref": "", "problem": "" }, "description": "", "start": "2008-10-21T00:00:00.0Z", "end": "" }]2008-10-21T00:00:00.0Z", "active": false } |
StatusStatus
Code Block |
---|
{ "faults":{ "critical":5, "major":0, "minor",0, "warnings:3 } } |
...