らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

curl で Cisco SD-WAN の REST API を試してみる

Cisco SD-WAN (旧 Viptela) の REST APIcurl を使って簡単に試してみましたのでメモしておきます。

REST API を調べる

下記へアクセスすると REST API を調べることが出来ます (vManage へログインしていない場合はログイン要求されます)。

  • https://VMANAGE/apidocs/index.html

実際にアクセスしてみると以下のようになります。

f:id:sig9:20191123235136p:plain

カテゴリー名をクリックすると、実際の REST API を確認することが出来ます。

f:id:sig9:20191123235145p:plain

ログインする

様々な REST API を利用する以前に、まず vManage へログインしておく必要があります。 具体的には以下のように実行します。 ログインに成功すると Cookie 中に JSESSIONID が保存されます。

curl --insecure \
     --location \
     --request POST "https://VMANAGE/j_security_check" \
     --header "Content-Type: application/x-www-form-urlencoded" \
     --data "j_username=USERNAME&j_password=PASSWORD" \
     --cookie-jar cookie.txt

バイスの一覧を取得する

REST API の一例として「デバイスの一覧の取得」を試してみます。 具体的には以下のように実行します。

curl --insecure \
     --location \
     --request GET "https://VMANAGE/dataservice/device" \
     --cookie cookie.txt

レスポンスは JSON 形式で応答されます。 人間にとっての可読性を上げるには python -m json.tooljq へパイプする等で整形します。

curl --insecure \
     --location \
     --request GET "https://VMANAGE/dataservice/device" \
     --cookie cookie.txt \
     | python -m json.tool

参考