Simple NAPALM Use – A Python based abstraction layer multivendor support capable. Part of screen scraping solution.
Ansible ConfigMgmt / Jinja2 Templates – Part of a CLI automation system solution which can be called sophisticated screen scraping. via SSH. No on-device agent or service.
Salt / NAPALM Logs – Event driven network automation. This is also a CLI automation solution and can be part of screen scraping from network device perspective. Event driven by NAPALM logs.
Netconf or Restconf with YANG – Connectivity is via Netconf/Restconf (JSON/XML) while configuration is via YANG data modeling available on device (which is a service on device). Not screen scraping or CLI automation as YANG is a data modeling language providing service and can be used to extract and push state at device.
SDN based Cisco ACI like: Northbound Rest API on APIC controller and Southbound OpFlex with an OpFlex agent on device. On device Policy Element abstraction service.
Good reference links for exploring of the above:
Ansible + Jinja2 Option:
Salt + NAPALM Abstraction Option:
Links for Restconf + YANG Option:
Links for SDN Style Cisco ACI – Like: