A configuration data modeling language in a format that computer programmers can learn and computers programs can read.
Yang can be used to model the state data of network elements ie network nodes, as well as to define the configuration instructions to be sent to the nodes using the NETCONF network configuration protocol. Yang represents data structures in an XML tree format, that can also be converted to JSON, to show the nested lists of configuration key:value pairs that define a network service; where the key is the name of the setting, and the value is the entry for that setting. The current entry is the state. If you enter a change to the setting, that represents changing the configuration. Yang models allow computer programs to learn the state of the network, and to make changes to settings on features in the model. Then control systems, especially in software defined networks, can check to ensure the changes will result in a coherent end to end new state, and use Netconf to push the changes down to the nodes, using adaptors for vendor specific features when required.
There are alternate modeling languages including TOSCA.