sdwancli wraps Cisco SD-WAN vManage's REST API in a command-line tool, mapping familiar vEdge CLI operations onto Python so operators can manage an SD-WAN fabric without hand-rolling API calls — published on Cisco DevNet CodeExchange.
Cisco SD-WAN's vManage controller exposes a REST API, but driving it directly means hand-building HTTP requests for every operation. sdwancli gives network operators a CLI they already know how to think in: commands map onto the vEdge operational vocabulary — devices, templates, control-plane state — instead of raw API endpoints, targeting vManage 20.3.1.
A vmanage/ module owns all REST interaction and is organized by command domain rather than by
endpoint: device management and monitoring, feature and device template CRUD, BFD session and control-plane
connection tracking, IPsec and OMP overlay metrics, and SLA class definitions. Connection details and
credentials live in vmanage/constants.py, kept separate from the command logic so the same CLI
works against a local lab, Cisco's AlwaysOn Sandbox (read-only), or a Reservable Sandbox without code
changes. The project installs as a proper Python package via pip install -e ..
Environment details live in one constants module, not scattered through command logic — so pointing the same CLI at a different vManage instance (lab, sandbox, production) is a config change, not a code change.
Rather than exposing the REST API's own shape, commands map onto the operational terms a network engineer already uses on vEdge devices, so existing CLI fluency transfers directly instead of requiring a new mental model for the API.
Command groups follow how operators reason about the fabric — devices, templates, control plane, overlay (IPsec/OMP), SLA — rather than mirroring vManage's internal API structure one-to-one.
Installable via pip install -e . rather than a folder of standalone scripts, so it drops into an operator's existing Python tooling and can be versioned like any other dependency.