Data models and application programmable interfaces (APIs) have shown enormous promise addressing the previously described problems and have been available in a number of forms since the early 2000s.
A data model is a schema or specification that describes the configuration and operational state associated with the elements and features of a routing or switching platform. Network devices that implement a data model, like the Cisco Open NX-OS and IOS-XR platforms, typically store the configuration and operational data in a centralized data store, and expose model via an API framework.
Modern, Centralized Information Store Model in Cisco Open NX-OS
In a model-based architecture, CLI manipulates the model rather than individual features or elements. After an update to the data model, applicable network features or elements will react to any changes in the model. Every feature individually maintains its operational state and performance data within the data model. The presence of a data model implementation in a network platform enables programmatic interfaces, such as NX-API REST.