Hi,
I am not sure how getChildren works but that’s just an example, not a production code.
You can use any other javascript client that supports JSON-RPC.
The get_schema call would work like this (2 levels):
curl --cookie ‘sessionid_8008=sesssjsgdeLldkzDdkUT+OppJg==;’ -X POST -H ‘Content-Type: application/json’ -d ‘{“jsonrpc”: “2.0”, “id”: 1, “method”: “get_schema”, “params”: {“th”: 1, “path”: “/config:chassis”, “levels”: 2}}’ http://127.0.0.1:8008/jsonrpc
{“jsonrpc”:“2.0”,“result”:{“meta”:{“namespace”:“http://tail-f.com/ns/example/config",“keypath”:"/config:chassis",“prefix”:“config”,“types”:{}},“data”:{“kind”:“container”,“name”:“chassis”,“qname”:“config:chassis”,“mandatory”:true,“access”:{“create”:false,“read”:true,“update”:true,“delete”:false,“execute”:false},“children”:[{“kind”:“list”,“name”:“slot”,“qname”:“config:slot”,“mandatory”:true,“key”:[“id”],“access”:{“create”:true,“read”:true,“update”:true,“delete”:true,“execute”:false},“children”:[{“kind”:“key”,“name”:“id”,“qname”:“config:id”,“mandatory”:true,“access”:{“create”:false,“read”:true,“update”:true,“delete”:false,“execute”:false},“type”:{“name”:“uint64”,“primitive”:true}},{“kind”:“list”,“name”:“interface”,“qname”:“config:interface”,“mandatory”:true,“key”:[“name”],“access”:{“create”:true,“read”:true,“update”:true,“delete”:true,“execute”:false},“children”:[{“kind”:“key”,“name”:“name”,“qname”:“config:name”,“mandatory”:true,“access”:{“create”:false,“read”:true,“update”:true,“delete”:false,“execute”:false},“type”:{“name”:“string”,“primitive”:true}},{“kind”:“leaf”,“name”:“ip”,“qname”:“config:ip”,“info”:{“string”:"A normal IPv4 address”},“access”:{“create”:true,“read”:true,“update”:true,“delete”:true,“execute”:false},“type”:{“name”:“ipv4-address”,“primitive”:true}},{“kind”:“leaf”,“name”:“description”,“qname”:“config:description”,“access”:{“create”:true,“read”:true,“update”:true,“delete”:true,“execute”:false},“type”:{“name”:“string”,“primitive”:true}},{“kind”:“leaf”,“name”:“tx”,“qname”:“config:tx”,“config”:false,“is_config_false_callpoint”:true,“access”:{“create”:true,“read”:true,“update”:true,“delete”:true,“execute”:false},“type”:{“name”:“uint64”,“primitive”:true},“readonly”:true},{“kind”:“leaf”,“name”:“rx”,“qname”:“config:rx”,“config”:false,“access”:{“create”:true,“read”:true,“update”:true,“delete”:true,“execute”:false},“type”:{“name”:“uint64”,“primitive”:true},“readonly”:true},{“kind”:“choice”,“name”:“logformat”,“cases”:[{“kind”:“case”,“name”:“syslog”,“children”:[{“kind”:“leaf”,“name”:“syslog”,“qname”:“config:syslog”,“access”:{“create”:true,“read”:true,“update”:true,“delete”:true,“execute”:false},“type”:{“name”:“empty”,“primitive”:true}}]},{“kind”:“case”,“name”:“disk”,“children”:[{“kind”:“container”,“name”:“disk”,“qname”:“config:disk”,“mandatory”:true,“access”:{“create”:false,“read”:true,“update”:true,“delete”:false,“execute”:false},“children”:[{“kind”:“leaf”,“name”:“filename”,“qname”:“config:filename”,“access”:{“create”:true,“read”:true,“update”:true,“delete”:true,“execute”:false},“type”:{“name”:“string”,“primitive”:true}},{“kind”:“leaf”,“name”:“maxSize”,“qname”:“config:maxSize”,“access”:{“create”:true,“read”:true,“update”:true,“delete”:true,“execute”:false},“type”:{“name”:“uint64”,“primitive”:true}}]}]}]},{“kind”:“action”,“name”:“self-ping”,“qname”:“config:self-ping”,“mandatory”:true,“access”:{“create”:false,“read”:false,“update”:false,“delete”:false,“execute”:true},“children”:[{“kind”:“leaf”,“name”:“data”,“qname”:“config:data”,“is_action_output”:true,“access”:{“create”:false,“read”:false,“update”:false,“delete”:false,“execute”:false},“type”:{“name”:“string”,“primitive”:true}},{“kind”:“leaf”,“name”:“packet”,“qname”:“config:packet”,“is_action_output”:true,“access”:{“create”:false,“read”:false,“update”:false,“delete”:false,“execute”:false},“type”:{“name”:“string”,“primitive”:true}},{“kind”:“leaf”,“name”:“time”,“qname”:“config:time”,“is_action_output”:true,“access”:{“create”:false,“read”:false,“update”:false,“delete”:false,“execute”:false},“type”:{“name”:“string”,“primitive”:true}}]}]}]}]}},“id”:1}