getting started with sd-wan programmability
TRANSCRIPT
Getting Started with SD-WAN Programmability
TME, Cisco
@saisuchandan
Sai Suchandan
Sai SuchandanTechnical Marketing Engineer, Cisco
Sai is working as a Technical Marketing Engineer for Cisco SD-WAN solution with focus around Network Automation and Programmability. Sai is excited by the disruptive power of Network programmability, DevOps tools, Containers, K8s.
Agenda
• WW(What & Why) of vManage APIs• Python Viptela SDK• Demo
WW(What & Why) of vManage APIs
vManage REST APIs
• vManage uses REST architecture which is stateless, client–server, cacheable communications protocol.
• vManage exposes REST APIs and webhooks to integrate with 3rd party Applications
• vManage uses NetConf for configuring and managing edge devices
vEdgeXE-SDWAN
(cEdge)
vManage
3rd Party Applications
vManage REST APIs & Webhooks
NetConf
vManage – Using REST APIs
• API documentation is built-in @ https://<vmanage-ip:port>/apidocs• Test API calls can be tried out from swagger UI
Options for Working with vManage APIs
• curl
Linux command line application
• Postman
API testing application and framework
• Requests
Python library for scripting
• Python Viptela SDK
• OpenAPI/Swagger
Python Viptela SDK
Python Viptela SDK
• It is a DevNet Community project • Makes it easy to use vManage APIs via Python, CLI, Ansible• Installation from PyPI : pip3 install viptela
Python Viptela SDK Structure
• API – Interacts with vManage APIs• Data – Methods that convert/transform the data from the API response
e.g. Convert Object IDs to Object names• Apps – Function specific methods
e.g. Export/Import templates to/from file• CLI – Click based CLI wrapper to interact with SDK• Utilities – Utilities
e.g. Convert list to dictionary
Python Viptela SDK Use Cases
• Attach Templates to devices• Backup/Restore Templates, Policies, Device Variables• CLI based wrapper for Real Time Monitoring APIs• Update Application Aware Routing Policies• DevOps, CI/CD
Demo Time!
Explore More!
• https://developer.cisco.com/sdwan/• https://developer.cisco.com/docs/sdwan/• https://developer.cisco.com/learning/modules/sd-wan• https://cs.co/sevt-sdwan-apis-lab• https://github.com/suchandanreddy/sdwan-umbrella-policy/• https://github.com/suchandanreddy/sdwan-webhooks• https://github.com/suchandanreddy/sdwan-integration-with-influxdb-
grafana• https://github.com/suchandanreddy/sdwan-apis
DevNet Tools & Resources
• SD-WAN DevNet Learning Labs• SD-WAN DevNet Sandboxes