Django の Web インターフェイスに慣れます。
Juniper Mist APIは、Django Representational State Transfer(REST)フレームワーク上に構築されています。このアーキテクチャでは、参照可能なAPIが可能です。つまり、Webブラウザから直接APIを操作できます。この API では、自分と他のユーザーが API 内で CRUD 操作を実行できるようになるため、使いやすさと柔軟性が向上します。ある意味では、Django インターフェースは RESTful クライアントのように振る舞います。この関数は、1 つの API オブジェクトに対して CRUD 操作を実行する場合に便利です。
設定オブジェクトに変更を加えるには、Juniper Mist ポータルにログインし、オブジェクトの URL API パスを知っている必要があります。オブジェクトの変更に関する詳細とパラメーターについては、 API ドキュメント を参照してください。使用可能なすべてのオブジェクトの URL API パスが表示されます。
このタスクでは、アクセスポイント(AP)からデバイス情報を取得し、Djangoインターフェイスから直接APの名前を変更する方法について説明します。
Django Web インターフェイスを使用して API を変更するには、次のようにします。
- Juniper Mist ポータルにログインします。
- 特定のデバイスの API URL を開きます: https://<api-endpoint>/api/v1/sites/
/devices?name=<device name>
。デバイス名では、大文字と小文字が区別されます。
手記:
コードブロックを再利用する場合は、プレースホルダー値を実際の値(APIトークン、組織ID、サイトID、AP名など)に置き換えます。
この場合、URL は次のようになります (site_idの一部は省略されています)。
https://{api-host}/api/v1/sites/c1947558-268d-4d31-xxxx-xxxxxxxxxxxx/devices?name=TEST-rename
ブラウザは、Django インターフェースから次のコマンドを発行します。
GET /api/v1/sites/c1947558-268d-4d31-xxxx-xxxxxxxxxxxx/devices?name=TEST-rename
Juniper Mistは、通常、MACアドレス(00000000-0000-0000-1000-
)に基づいて、すべてのデバイスに意のを割り当てます。デバイス API のコンテキストでは、これは
id
と呼ばれます。名前を変更する特定のデバイスをAPIに認識させるには、
id
を使用してAPを参照する必要があります。
- 変更するには、デバイス ID(
id
)を API 呼び出しに挿入し、ブラウザーに表示します。
新しい呼び出しは次のようになります。
https://api.mist.com/api/v1/sites/c1947558-268d-4d31-xxxx-xxxxxxxxxxxx/devices/00000000-0000-0000-1000-5c5b3xxxxxxx
出力は前の要求と同じです。ただし、API コンテキストでは、名前ではなく
id
に基づいて特定のデバイスに変更を加えることができるようになりました。"[ ]" 括弧を囲んでいないことに注目してください。
- 目的の AP 名前変更コールの [Content] 入力ボックスに JavaScript Object Notation(JSON)形式のテキストを入力します。
id
コンテキストは URL に存在するため、一意のデバイス ID(id
)を含める必要はありません。
- 完了したら、
PUT
を押してリクエストをJuniper Mistにプッシュします。結果は次のようになります。これは、AP の名前が変更されたことを示します。
{
"id": "00000000-0000-0000-1000-5c5b3xxxxxx",
"name": "RENAMED",
"site_id": "c1947558-268d-4d31-xxxx-xxxxxxxxxxxx",
"org_id": "3f12cb79-fb5e-4d4b-xxxx-xxxxxxxxxxxx",
"created_time": 1685989351,
"modified_time": 1686321430,
"map_id": null,
"mac": "5c5b3xxxxxxxx",
"serial": "A07451xxxxxxx",
"model": "AP43",
"hw_rev": "C02",
"type": "ap",
"tag_uuid": "3f12cb79-fb5e-4d4b-xxxx-xxxxxxxxxxxxxx",
"tag_id": 3056xxx,
"evpntopo_id": null,
"deviceprofile_id": null
}
詳細については、API ドキュメント サイトの「サイト」セクションを参照してください。