簡介
本文檔介紹如何通過vManage API將vEdge從vManage模式轉換為CLI模式。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- Cisco vManager版本20.9.4
- Cisco vEdge版本20.9.4
- Postman 版本11.63.0
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
- Cisco SD-WAN vManage API是用於控制、配置和監控重疊網路中的Cisco裝置的REST API介面。
- REST架構使用無狀態、客戶端 — 伺服器和可快取的通訊協定。
- REST(Representational State Transfer)是一種用於設計Web服務應用的架構風格。
- 測試API呼叫可以從swagger UI中嘗試。
- 有時,無法通過GUI介面修改vedge的管理模式。在這種情況下,選擇通過API修改管理模式是另一種可行的方法。
- 可以通過https://<vmanage_ip>:<port>/apidocs訪問vManage API文檔,以供有關可用API呼叫的參考。
URL結構元件
https://<vmanage_ip>:<port>/apidocs/#/Configuration%20-%20Template%20Configuration/updateDeviceToCLIMode
命令屬性
|
指令語法
|
說明
|
通訊協定
|
http://或https://
|
在客戶端和伺服器之間傳送資料所使用的協定
|
伺服器或主機
|
<vmanage-ip:port>
|
解析為要連線的IP和埠
|
資源
|
/apidocs/#/Configuration%20-%20Template%20Configuration/updateDeviceToCLIMode
|
感興趣的資料或對象的位置
|
訪問板載API文檔
vManage onboard API文檔位於URL https://<vmanage_ip>:<port:>/apidocs。 本文檔顯示當前軟體版本上可用的API。
這需要使用有效的vManage憑據登入。 雖然多個許可權級別可以檢視文檔,但只有netadmin使用者能夠執行所有文檔。
附註:API文檔頁面對多租戶環境中的租戶可用,但某些命令僅限於提供商使用。
vManage則顯示可用API類別的清單。 按一下所需的類別,然後點選API呼叫本身,顯示以下欄位:
說明/實施說明
|
所執行操作的描述。
|
引數
|
要為API呼叫指定的必需引數。
|
請求正文(POST/PUT/DELETE)
|
請求正文的格式。
|
響應
|
vManage傳送到API的可能響應。 其中包括HTTP狀態代碼、原因和可能的響應正文。
|
延伸
|
呼叫的有效分機。
|
附註:從20.6版開始,系統引入以下速率限制:批次API:每分鐘48個請求所有其他API:每秒100個請求。
警告:即時監控API是CPU密集型,只能用於故障排除,而不能用於持續監控。
從文檔工具測試API
第1步:登入到vManage GUI以檢查vEdge的管理模式是否為vManage

第2步:將URL修改為LoginCisco SD-WAN vManage API
登入https://10.124.x.x/apidocs/

第3步:在Cisco SD-WAN vManage API中導航至Configuration - Template Configuration

第4步:單擊「嘗試」按鈕

第5步:更改裝置Id和DeviceIP
- deviceId == uuid
- deviceIP == local-system-ip

第6步:按一下Execute按鈕
第7步:檢查vManage GUI中的vEdge模式
Vedge管理模式已從vManage狀態切換到CLI狀態。

從Postman工具測試API
步驟 1:登入到vManage並獲取會話Cookie
請求方法:POST
URL:https://<vmanage-ip>/j_security_check
Postman配置
標頭:Content-Type:application/x-www-form-urlencoded
正文型別:x-ww-form-urlencoded
正文內容:
- j_username=admin
- j_password=xxx


成功登入後,vManage返回JSESSIONID的Cookie;Cookie將自動儲存。
步驟 2:獲取CSRF令牌
請求方法:GET
URL:https://<vmanage-ip>/dataservice/client/token
Postman配置
標頭:Content-Type:application/x-www-form-urlencoded
正文型別:x-ww-form-urlencoded
正文內容:
- j_username=admin
- j_password=xxx

第3步:獲取裝置UUID和IP
請求方法:GET
URL:https://<vmanage-ip>/dataservice/template/config/device/mode/vmanage?type=vedge
Postman配置
標頭:
- Content-Type:application/json
- X-XSRF-TOKEN:E9C81862C46DA9F8C9A650272E8D577C415999496A990B771EEFB8F05C37DBEFA7759A20816ACC2DCF795A912C9ECD23A68A
正文型別:x-ww-form-urlencoded
正文內容:
- j_username=admin
- j_password=xxx


步驟 4:解除vEdge的配置模板的繫結
請求方法:POST
URL:https://<vmanage-ip>/dataservice/template/config/device/mode/cli
Postman配置
標頭:
- accept:application/json
- Content-Type:application/json
- X-XSRF-TOKEN:E9C81862C46DA9F8C9A650272E8D577C415999496A990B771EEFB8F05C37DBEFA7759A20816ACC2DCF795A912C9ECD23A68A
正文型別:raw(JSON)
正文內容:
{"deviceType":"vedge","devices":[{"deviceId":"cfca8af1-8f4d-faba-xxx","deviceIP":"xxx"}]}
相關資訊