Cisco WLC 9800 API
Catalyst 9800 WLC supports RESTCONF (YANG models) and CLI-over-SSH.
Overview
RESTCONF URL |
|
Auth |
Basic Auth |
Format |
JSON (application/yang-data+json) |
CLI |
SSH with |
RESTCONF Endpoints
| Resource | Path |
|---|---|
Wireless Clients |
|
WLANs |
|
AP Join Info |
|
RF Profiles |
|
Examples
Get Wireless Clients
# netapi
netapi wlc get-clients
# curl (RESTCONF)
curl -ks -u "$WLC_USER:$WLC_PASS" \
-H "Accept: application/yang-data+json" \
"https://$WLC_HOST/restconf/data/Cisco-IOS-XE-wireless-client-oper:client-oper-data/common-oper-data" | jq
Run Show Command
# netapi
netapi wlc run "show wlan summary"
netapi wlc run "show ap summary"
netapi wlc run "show wireless client summary"
# SSH direct
ssh admin@wlc-01 "show wlan summary"
Configuration Mode
# netapi - multiple commands, auto-saves
netapi wlc config "wlan MySSID 5 MySSID" "shutdown" --save
# Without save
netapi wlc config "wlan MySSID 5 MySSID" "no shutdown"
Get WLAN List via RESTCONF
curl -ks -u "$WLC_USER:$WLC_PASS" \
-H "Accept: application/yang-data+json" \
"https://$WLC_HOST/restconf/data/Cisco-IOS-XE-wireless-wlan-cfg:wlan-cfg-data/wlan-cfg-entries/wlan-cfg-entry" \
| jq '.["Cisco-IOS-XE-wireless-wlan-cfg:wlan-cfg-entry"][] | {id: .["wlan-id"], name: .["profile-name"]}'
RESTCONF Paths
# Key RESTCONF paths:
# Cisco-IOS-XE-wireless-client-oper:client-oper-data - Wireless clients
# Cisco-IOS-XE-wireless-wlan-cfg:wlan-cfg-data - WLAN configuration
# Cisco-IOS-XE-wireless-ap-oper:ap-oper-data - AP operational data
# Cisco-IOS-XE-wireless-rf-cfg:rf-cfg-data - RF profiles
Environment Setup
# Load from dsec
dsource d000 dev/network
# Or manually
export WLC_HOST="wlc-01.inside.domusdigitalis.dev"
export WLC_USER="admin"
export WLC_PASS="<from gopass>"
Learnings
|
WLC API Gotchas
|