28 KiB
bbf Schema
https://dev.iopsys.eu/bbf/bbfdm/-/blob/devel/docs/api/ubus/bbfdm.md
| Custom Properties | Additional Properties |
|---|---|
| Forbidden | Forbidden |
bbf
| List of Methods |
|---|
| add |
| del |
| get |
| instances |
| operate |
| schema |
| set |
add
Add a new object instance
Add a new object in multi instance object
add
- type:
Method
add Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
obj_path |
object | Optional |
path |
string | Required |
obj_path
obj_path
- is optional
- type:
object
obj_path Type
object with following properties:
| Property | Type | Required |
|---|---|---|
| None | None | None |
path
Complete object element path as per TR181
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.
Device.WiFi.
Ubus CLI Example
ubus call bbf add {"path":"eu qui","obj_path":{}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": ["<SID>", "bbf", "add", { "path": "eu qui", "obj_path": {} }]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"type": "string"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{ "path": "magna enim", "data": "in aliquip id eu deserunt", "fault": 8757, "fault_msg": "quis id ut in" }
]
}
del
Delete object instance
Delete a object instance from multi instance object
del
- type:
Method
del Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
path |
string | Required |
paths |
array | Optional |
path
Complete object element path as per TR181
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.
Device.WiFi.
paths
paths
- is optional
- type:
array
paths Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"uniqueItems": true,
"items": [
{
"$ref": "#/definitions/query_path_t"
}
],
"simpletype": "`array`"
}
Ubus CLI Example
ubus call bbf del {"path":"incididunt tempor","paths":["dolore aliqua labore labori"]}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": ["<SID>", "bbf", "del", { "path": "incididunt tempor", "paths": ["dolore aliqua labore labori"] }]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"type": "string"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["parameter", "type"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{ "path": "aliqua id deserunt", "data": "reprehenderit eu sed esse", "fault": 8791, "fault_msg": "occaecat" }
]
}
get
Get handler
Query the datamodel object
get
- type:
Method
get Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
maxdepth |
integer | Optional |
optional |
object | Optional |
path |
string | Required |
paths |
array | Optional |
maxdepth
Integer to decide the depth of data model to be parsed
maxdepth
- is optional
- type:
integer
maxdepth Type
integer
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required | Default |
|---|---|---|---|
format |
string | Optional | "pretty" |
proto |
string | Optional | "both" |
format
format
- is optional
- type: reference
- default:
"pretty"
format Type
string
The value of this property must be equal to one of the known values below.
format Known Values
| Value |
|---|
| raw |
| pretty |
proto
proto
- is optional
- type: reference
- default:
"both"
proto Type
string
The value of this property must be equal to one of the known values below.
proto Known Values
| Value |
|---|
| usp |
| cwmp |
| both |
path
DM object path with search queries
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.BSSID
Device.WiFi.SSID.*.BSSID
Device.WiFi.
paths
paths
- is optional
- type:
array
paths Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"uniqueItems": true,
"items": [
{
"$ref": "#/definitions/query_path_t"
}
],
"simpletype": "`array`"
}
Ubus CLI Example
ubus call bbf get {"path":"auteaute","paths":["culpa amet elit irure"],"maxdepth":-44630385,"optional":{"format":"raw","proto":"cwmp"}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"get",
{
"path": "auteaute",
"paths": ["culpa amet elit irure"],
"maxdepth": -44630385,
"optional": { "format": "raw", "proto": "cwmp" }
}
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"type": "string"
},
"type": {
"$ref": "#/definitions/type_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{
"path": "dolore eu",
"data": "et sit exercitation cupid",
"type": "xsd:string",
"fault": 7957,
"fault_msg": "sit l"
}
]
}
instances
Instance query handler
Get the instances of multi object
instances
- type:
Method
instances Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Optional |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
first_level |
boolean | Optional |
optional |
object | Optional |
path |
string | Required |
first_level
gets only first level objects if true
first_level
- is optional
- type:
boolean
first_level Type
boolean
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required | Default |
|---|---|---|---|
proto |
string | Optional | "both" |
proto
proto
- is optional
- type: reference
- default:
"both"
proto Type
string
The value of this property must be equal to one of the known values below.
proto Known Values
| Value |
|---|
| usp |
| cwmp |
| both |
path
DM object path with search queries
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.BSSID
Device.WiFi.SSID.*.BSSID
Device.WiFi.
Ubus CLI Example
ubus call bbf instances {"path":"laborum magna Excepteur est","first_level":false,"optional":{"proto":"usp"}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"instances",
{ "path": "laborum magna Excepteur est", "first_level": false, "optional": { "proto": "usp" } }
]
}
output
output
- is optional
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{ "results": [{ "path": "Duis dolor e", "fault": 8621, "fault_msg": "et nulla" }] }
operate
Operate handler
Operate on object element provided in path
operate
- type:
Method
operate Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
command |
string | Required |
command_key |
string | Optional |
input |
object | Optional |
optional |
object | Optional |
command
Datamodel object schema path
command
- is required
- type: reference
command Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
command Examples
Device.IP.Diagnostics.IPPing()
Device.DHCPv4.Client.{i}.Renew()
Device.FactoryReset()
command_key
command_key
- is optional
- type:
string
command_key Type
string
input
Input arguments for the operate command as defined in TR-181-2.13
input
- is optional
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
| None | None | None |
input Example
{ "path": "Device.IP.Diagnostics.IPPing()", "input": { "Host": "iopsys.eu" } }
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required | Default |
|---|---|---|---|
format |
string | Optional | "pretty" |
proto |
string | Optional | "both" |
format
format
- is optional
- type: reference
- default:
"pretty"
format Type
string
The value of this property must be equal to one of the known values below.
format Known Values
| Value |
|---|
| raw |
| pretty |
proto
proto
- is optional
- type: reference
- default:
"both"
proto Type
string
The value of this property must be equal to one of the known values below.
proto Known Values
| Value |
|---|
| usp |
| cwmp |
| both |
Ubus CLI Example
ubus call bbf operate {"command":"in cupidatat minim reprehenderit","command_key":"cillum aliqua anim et veniam","input":{},"optional":{"format":"pretty","proto":"usp"}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"operate",
{
"command": "in cupidatat minim reprehenderit",
"command_key": "cillum aliqua anim et veniam",
"input": {},
"optional": { "format": "pretty", "proto": "usp" }
}
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"output": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"type": {
"$ref": "#/definitions/type_t"
}
}
}
]
}
},
"required": ["path", "data"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{
"path": "doDuis",
"data": "0",
"fault": 8434,
"fault_msg": "co",
"output": [{ "path": "anim vel", "data": "1", "type": "xsd:unsignedLong" }]
}
]
}
schema
Get list of supported datamodel parameters
Schema will have all the nodes/objects supported by libbbf
schema
- type:
Method
schema Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Optional |
output |
object | Required |
input
input
- is optional
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
commands |
boolean | Optional |
events |
boolean | Optional |
first_level |
boolean | Optional |
optional |
object | Optional |
params |
boolean | Optional |
path |
string | Optional |
paths |
array | Optional |
commands
includes commands in the list if true
commands
- is optional
- type:
boolean
commands Type
boolean
events
includes events in the list if true
events
- is optional
- type:
boolean
events Type
boolean
first_level
gets only first level objects if true
first_level
- is optional
- type:
boolean
first_level Type
boolean
optional
optional
- is optional
- type:
object
optional Type
object with following properties:
| Property | Type | Required | Default |
|---|---|---|---|
proto |
string | Optional | "both" |
proto
proto
- is optional
- type: reference
- default:
"both"
proto Type
string
The value of this property must be equal to one of the known values below.
proto Known Values
| Value |
|---|
| usp |
| cwmp |
| both |
params
includes objs/params in the list if true
params
- is optional
- type:
boolean
params Type
boolean
path
DM object path with search queries
path
- is optional
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.BSSID
Device.WiFi.SSID.*.BSSID
Device.WiFi.
paths
paths
- is optional
- type:
array
paths Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"uniqueItems": true,
"items": [
{
"$ref": "#/definitions/query_path_t"
}
],
"simpletype": "`array`"
}
Ubus CLI Example
ubus call bbf schema {"path":"Excepteur dolor","paths":["adipisicing veniam"],"first_level":true,"commands":false,"events":true,"params":false,"optional":{"proto":"both"}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"schema",
{
"path": "Excepteur dolor",
"paths": ["adipisicing veniam"],
"first_level": true,
"commands": false,
"events": true,
"params": false,
"optional": { "proto": "both" }
}
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/schema_path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"type": {
"$ref": "#/definitions/type_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"input": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/schema_path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"type": {
"$ref": "#/definitions/type_t"
}
}
}
]
},
"output": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/schema_path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"type": {
"$ref": "#/definitions/type_t"
}
}
}
]
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{
"results": [
{
"path": "ad dolore eiusmo",
"data": "1",
"type": "xsd:unsignedInt",
"fault": 8099,
"fault_msg": "amet laboris",
"input": [{ "path": "dolor cillum nulla", "data": "1", "type": "xsd:int" }],
"output": [{ "path": "ut eu i", "data": "0", "type": "xsd:object" }]
}
]
}
set
Set handler
Set values of datamodel object element
set
- type:
Method
set Type
object with following properties:
| Property | Type | Required |
|---|---|---|
input |
object | Required |
output |
object | Required |
input
input
- is required
- type:
object
input Type
object with following properties:
| Property | Type | Required |
|---|---|---|
datatype |
string | Optional |
obj_path |
object | Optional |
path |
string | Required |
value |
string | Required |
datatype
datatype of the object element provided in path
datatype
- is optional
- type: reference
datatype Type
string
The value of this property must be equal to one of the known values below.
datatype Known Values
| Value |
|---|
| int |
| unsignedInt |
| long |
| unsignedLong |
| string |
| boolean |
| dateTime |
| base64 |
| hexBinary |
datatype Examples
{ "path": "Device.WiFi.SSID.1.SSID", "value": "test_ssid", "datatype": "string" }
{ "path": "Device.WiFi.SSID.2.Enable", "value": "true", "datatype": "boolean" }
{ "path": "Device.DHCPv4.Relay.Forwarding.1.ClientID", "value": "0103060C", "datatype": "hexBinary" }
{ "path": "Device.DHCPv4.Server.Pool.1.LeaseTime", "value": "120", "datatype": "int" }
{ "path": "Device.DHCPv4.Relay.Forwarding.1.Order", "value": "1", "datatype": "unsignedInt" }
{ "path": "Device.QoS.Queue.1.ShapingRate", "value": "1002", "datatype": "long" }
{ "path": "Device.IP.Diagnostics.UploadDiagnostics.TestFileLength", "value": "1002", "datatype": "unsignedLong" }
{ "path": "Device.USPAgent.ControllerTrust.Challenge.1.Value", "value": "01Z3A6YC", "datatype": "base64" }
{ "path": "Device.ManagementServer.ScheduleReboot", "value": "2024-08-23T23:59:59Z", "datatype": "dateTime" }
obj_path
To set multiple values at once, path should be relative to object elements
obj_path
- is optional
- type:
object
obj_path Type
object with following properties:
| Property | Type | Required |
|---|---|---|
| None | None | None |
obj_path Examples
{ "path": "Device.WiFi.SSID.1.", "obj_path": { "SSID": "test_ssid", "Name": "test_name" } }
{ "path": "Device.WiFi.SSID.2.", "obj_path": { "SSID": "test_ssid" } }
path
DM object path with search queries
path
- is required
- type: reference
path Type
string
- minimum length: 6 characters
- maximum length: 1024 characters
path Examples
Device.
Device.DeviceInfo.Manufacturer
Device.WiFi.SSID.1.BSSID
Device.WiFi.SSID.*.BSSID
Device.WiFi.
value
value of the object element provided in path, path should contains valid writable object element
value
- is required
- type:
string
value Type
string
value Examples
{ "path": "Device.WiFi.SSID.1.SSID", "value": "test_ssid" }
{ "path": "Device.WiFi.SSID.2.Enable", "value": "true" }
{ "path": "Device.WiFi.SSID.1.Enable", "value": "0" }
Ubus CLI Example
ubus call bbf set {"path":"sint nulla nisi reprehenderit dol","value":"aliqua sit aliquip","datatype":"long","obj_path":{}}
JSONRPC Example
{
"jsonrpc": "2.0",
"id": 0,
"method": "call",
"params": [
"<SID>",
"bbf",
"set",
{ "path": "sint nulla nisi reprehenderit dol", "value": "aliqua sit aliquip", "datatype": "long", "obj_path": {} }
]
}
output
output
- is required
- type:
object
output Type
object with following properties:
| Property | Type | Required |
|---|---|---|
results |
array | Optional |
results
results
- is optional
- type:
array
results Type
Array type: array
All items must be of the type: Unknown type ``.
{
"type": "array",
"items": [
{
"type": "object",
"properties": {
"path": {
"$ref": "#/definitions/path_t"
},
"data": {
"$ref": "#/definitions/boolean_t"
},
"fault": {
"$ref": "#/definitions/fault_t",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
},
"fault_msg": {
"type": "string",
"Description": "Any discrepancy in input will result in fault. The type of fault can be identified by fault code"
}
},
"required": ["path"]
}
],
"simpletype": "`array`"
}
Output Example
{ "results": [{ "path": "in esse et", "data": "1", "fault": 8550, "fault_msg": "incididunt in Ut nisi" }] }