yangpath
is an XPATH/RESTCONF-styled schema paths exporter with superpowers.
The exported paths can be immediately used in your NETCONF/RESTCONF or gNMI applications.
Documentation available at https://yangpath.netdevops.me
XPATH paths
$ yangpath export --yang-dir ~/openconfig/public/ \
--module ~/openconfig/public/release/models/interfaces/openconfig-interfaces.yang
[rw] /interfaces/interface[name=*]/config/description string
[rw] /interfaces/interface[name=*]/config/enabled boolean
[rw] /interfaces/interface[name=*]/config/loopback-mode boolean
[rw] /interfaces/interface[name=*]/config/mtu uint16
[rw] /interfaces/interface[name=*]/config/name string
[rw] /interfaces/interface[name=*]/config/type identityref->ietf-if:interface-type
<SNIPPED>
RESTCONF paths
$ yangpath export --yang-dir ~/openconfig/public/ \
--module ~/openconfig/public/release/models/interfaces/openconfig-interfaces.yang
--style restconf
[rw] /interfaces/interface=name/config/description string
[rw] /interfaces/interface=name/config/enabled boolean
[rw] /interfaces/interface=name/config/loopback-mode boolean
[rw] /interfaces/interface=name/config/mtu uint16
[rw] /interfaces/interface=name/config/name string
[rw] /interfaces/interface=name/config/type identityref->ietf-if:interface-type
*
value.yangpath
will export the paths in a RESTCONF style. Paste them in Postman and you're good to go!yangpath
feature is its ability to provide the type of a given path. Types give additional context when you retrieve the data, but they are of utter importance for edit the configuration operations.yangpath
is quite fast, working with massive models is no longer a problem!Use the following installation script to install the latest version.
sudo curl -sL https://github.com/hellt/yangpath/raw/master/install.sh | sudo bash
Alternatively, leverage the system packages or docker images.
To export the paths from a given module:
# assuming cur working dir is the root of openconfig repo
yangpath export -m release/models/interfaces/openconfig-interfaces.yang
To create HTML with paths out of template, leverage templating capabilities of yangpath
.