インターフェイスの説明(API)
Apstraは、名前、速度、ポートモードなどのネットワークインターフェイスの主要なパラメーターに加えて、物理インターフェイスと集約された論理インターフェイス(いわゆるポートチャネル)の記述も設定します。インターフェイスの説明は、次の条件が満たされた場合に自動的に生成されます。
- インターフェイスはピアに接続されています。
- インターフェイスは、リーフ、スパイン、または一般的なシステムに属します。
- ピア インターフェイスは、このサーバー上の仮想ネットワーク エンドポイントを持つリーフ、スパイン、または汎用システムに属しています。
生成された記述の形式 <facing_|to.><peer-device-label>[:peer-interface-name]
は です。例:
- facing_spine2:イーサネット1/2
- 宛先.サーバー1:eth0
- サーバー2へ
名前のプレフィックスは、 facing_
ピアがリーフ、スパイン、または外部ルーターの場合です。プレフィックスは、 to.
ピアデバイスが L2 または L3 サーバの場合です。ピアインターフェイス名部分は、ピアデバイスがApstraによって制御されている場合のみ存在します。
Apstra REST API - インターフェイスの説明
Apstra APIでは、自動生成されたインターフェイスの説明を変更することができます。ただし、Apstra UIにはそのような機能はありません。
インターフェイス記述には、コード33から126のASCII文字とスペースを含めることができますが、コマンド補完として解釈される「?」は除きます。説明の長さは 240 文字に制限されていますが、これはサポートされているスイッチ モデル全体で可能な限り長い長さです。
インターフェイスは、特定のプロパティセットを持つグラフノードとして内部的に保存されます。説明は、これらのプロパティの 1 つです。説明を変更するには、汎用APIを使用してグラフノードと対話します。
API - インターフェイス設定の取得
インターフェイス コンフィギュレーションを取得するには、 https://aos-server/api/blueprints/{blueprint-id}/nodes/{interface-node-id} に GET リクエストを送信します。
要求:
{ "description": "facing_dkl-2-leaf:Ethernet1/2", "mlag_id": null, "tags": null, "if_name": "swp2", "label": null, "port_channel_id": null, "ipv4_addr": "203.0.113.10/31", "mode": null, "if_type": "ip", "type": "interface", "id": "interface-id-1", "protocols": "ebgp" }
API - インターフェイス記述の作成または変更
インターフェイスの説明を作成または変更するには、有効な JSON を使用して PATCH リクエストを https://aos-server/api/blueprints/{blueprint-id}/nodes/{interface-node-id} に送信します。JSON には、有効なデータを含む "説明" フィールドが含まれている必要があります。
curl -X PATCH -H "AuthToken: EXAMPLE" \ -d '{"description": "New description I want!"}' http://aos-server:8888/api/blueprints/id-1/nodes/interface-id-1
応答:
{ "description": "New description I want!", "mlag_id": null, "tags": null, "if_name": null, "label": null, "port_channel_id": null, "ipv4_addr": null, "mode": null, "if_type": "ip", "type": "interface", "id": "interface-id-1", "protocols": "ebgp" }
API - インターフェイスの説明の削除
カスタムインターフェイスの説明を削除して説明の自動生成に戻るには、説明を空の値に設定します。
要求:
curl -X PATCH -H "AuthToken: EXAMPLE" \ -d '{"description": ""}' http://aos-server:8888/api/blueprints/id-1/nodes/interface-id-1
応答:
{ "description": "", "mlag_id": null, "tags": null, "if_name": null, "label": null, "port_channel_id": null, "ipv4_addr": null, "mode": null, "if_type": "ip", "type": "interface", "id": "interface-id-1", "protocols": "ebgp" }
後続の GET 要求では、説明が自動的に生成されたことが示されます。
要求:
curl -H "AuthToken: EXAMPLE" \ http://aos-server:8888/api/blueprints/id-1/nodes/interface-id-1
応答:
{ "description": "facing_dkl-2-leaf:Ethernet1/2", "mlag_id": null, "tags": null, "if_name": "swp2", "label": null, "port_channel_id": null, "ipv4_addr": "203.0.113.10/31", "mode": null, "if_type": "ip", "type": "interface", "id": "interface-id-1", "protocols": "ebgp" }