Yes, JNC (Java NETCONF Client) is an open source Tail-f initiative that implements a widely used and very stable Java library for use in a NETCONF client together with a, still considered experimental, YANG --> Java output format plugin for pyang. See https://github.com/tail-f-systems/JNC/
JNC can be used to manage any NETCONF device and is typically a core component in an EMS/NMS solution. It is used to manipulate pieces of configuration data through its generated Java classes. The NETCONF parts of the library are used to communicate with the managed devices, such as ConfD enabled devices / virtual instances.
JNC is used in a NETCONF client implementation, ConfD implements a NETCONF server.
To run the main JNC example, Download JNC, copy the jnc.py script to your ConfD pyang plugin dir (e.g $(CONFD_DIR)/lib/pyang/pyang/plugins/), go to the JNC/jnc folder,
Blockquote
JNC can be used to manage any NETCONF device and is typically a core component in an EMS/NMS solution. It is used to manipulate pieces of configuration data through its generated Java classes.
Can JNC be used to manipulate operation data ?
Thanks.
You can only manipulate operational data stored in the ConfD operational data store over the CDB API or MAAPI.
Northbound interfaces, i…e NETCONF, RESTCONF, CLI, SNMP etc., have only read access to operational data.
If a NETCONF client does not support the NETCONF <get> operation to read operational state information data from a NETCONF server it does not support NETCONF, so yes, JNC support the NETCONF <get> operation.
Another NETCONF client option if you enjoy Python but want something more than the netconf-console tool that comes with ConfD: https://github.com/ncclient/ncclient