Junos OSコマンドとコマンド出力をJunos XMLタグ要素にマッピングする
Junos XML APIは、Junos OS設定ステートメントと動作モードコマンドのXML表現です。Junos OS設定階層内のすべてのステートメントと、CLI動作モードで発行する多くのコマンドに相当するXMLを定義します。Junos XMLに対応する各動作モードコマンドは、リクエストタグ要素と、必要に応じてレスポンスタグ要素にマッピングされます。
リクエストタグ要素は、NETCONFおよびJunos XMLプロトコルセッション内のリモートプロシージャコール(RPC)で、Junos OSを実行するデバイスに情報をリクエストするために使用されます。サーバーは、応答タグ要素内に囲まれた Junos XML タグ要素を使用して応答を返します。たとえば、 show interfaces コマンドが <get-interface-information> リクエストタグにマップされ、サーバーは <interface-information> 応答タグを返します。
以下のセクションでは、コマンド、コマンドオプション、コマンド出力をJunos XMLタグ要素にマッピングする方法について説明します。
コマンド出力を Junos XML 要素にマッピング
Junos OSコマンドラインインターフェイス(CLI)で、コマンド出力をデフォルトのフォーマットされたASCIIテキストとしてではなく、XMLタグ要素Junosとして表示するには、コマンドの後に | display xml オプションを含めます。Junos OS設定や運用データを記述するタグ要素は、NETCONFやJunos XML管理プロトコル操作で取得および操作できるJunos OSコンテンツを定義するJunos XML APIに属します。
次の例は、リリース 9.3 を実行している M20 ルーターで発行された show chassis hardware コマンドJunos OS出力を示しています(冒頭 <chassis-inventory> タグは読みやすいように 2 行に表示されます)。これは、 <get-chassis-inventory> RPC リクエストに対するサーバーの応答と同じです。
user@host> show chassis hardware | display xml
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/9.3R1/junos">
<chassis-inventory \
xmlns="http://xml.juniper.net/junos/9.3R1/junos-chassis">
<chassis junos:style="inventory">
<name>Chassis</name>
<serial-number>00118</serial-number>
<description>M20</description>
<chassis-module>
<name>Backplane</name>
<version>REV 06</version>
<part-number>710-001517</part-number>
<serial-number>AB5911</serial-number>
</chassis-module>
<chassis-module>
<name>Power Supply A</name>
<!-- other child tags of <chassis-module> -->
</chassis-module>
<!-- other child tags of <chassis> -->
</chassis>
</chassis-inventory>
</rpc-reply>
Junos XML リクエストタグ要素へのコマンドのマッピング
使用可能なJunos OS動作モードコマンドとそれに相当するJunos XML RPCリクエストタグに関する情報は、 Junos XML APIエクスプローラ - 運用タグツールとJunos OS CLIで確認できます。このツールを使用して、コマンドを検証し、コマンドを同等の Junos XML RPC リクエスト タグと子タグにマッピングし、さまざまな Junos OS リリースで予想される応答タグを表示できます。
また、Junos OS CLI で Junos XML に対応する Junos XML コマンドの Junos XML リクエストタグ要素を表示することもできます。動作モード コマンドの Junos XML RPC リクエスト タグを表示するには、コマンドを入力し、 display xml rpc コマンドにパイプします。
以下の例では、 show route コマンドの RPC タグを示しています。
user@host> show route | display xml rpc
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/10.1I0/junos">
<rpc>
<get-route-information>
</get-route-information>
</rpc>
<cli>
<banner></banner>
</cli>
</rpc-reply>
Junos OSリリース20.3R1以降、一部のJunos XML RPCリクエストタグの名前が更新され、Junos XML API全体の一貫性が確保されました。Junosデバイスは、後方互換性のために古いリクエストタグ名を引き続き受け入れますが、今後は新しい名前を使用することをお勧めします。特定の Junos OS リリースの動作モード コマンドの Junos XML RPC リクエスト タグを確認するには、 Junos XML API エクスプローラー - 運用タグ ツールを参照してください。
変数値を使用したコマンド オプションのマッピング
多くのCLIコマンドには、コマンドが影響または報告するオブジェクトを識別するオプションがあり、同じタイプの他のオブジェクトとオブジェクトを区別します。場合によっては、CLI で識別子の前に固定形式のキーワードを付けませんが、XML の規則では、Junos XML API ですべてのオプションのタグ要素を定義する必要があります。運用リクエストタグ要素の各識別子(およびその他の子タグ要素)の名前を学習するには、適切なDTDまたは Junos XML API運用開発者リファレンスのタグ要素のエントリを参照するか、CLIでコマンドおよびコマンドオプションを発行して | display xml rpc オプションを追加します。
次の例は、可変形式オプションを持つ2つのCLI操作コマンドのJunos XMLタグ要素を示しています。 show interfaces コマンドでは、t3-5/1/0:0はインターフェイスの名前です。 show bgp neighbor コマンドでは、10.168.1.222は対象BGPピアのIPアドレスです。
コマンドとコマンドのオプションを実行し、 | display xml rpcを追加することで、コマンドとそのオプションのJunos XML RPCタグをCLIで表示できます。
user@host> show interfaces t3-5/1/0:0 | display xml rpc
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/16.1R1/junos">
<rpc>
<get-interface-information>
<interface-name>t3-5/1/0:0</interface-name>
</get-interface-information>
</rpc>
<cli>
<banner></banner>
</cli>
</rpc-reply>
固定形式コマンドオプションのマッピング
一部のCLIコマンドには、出力に含める詳細の量を指定する brief や detail 文字列など、固定形式のオプションが含まれています。通常、Junos XML API は、このようなオプションを、オプション名と一致する名前を持つ空のタグにマッピングします。
以下の例は、 show isis adjacency コマンドのXMLタグ要素Junosを示しており、 detailという固定形式オプションがあります。
CLIでタグを表示するには:
user@host> show isis adjacency detail | display xml rpc
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/16.1R1/junos">
<rpc>
<get-isis-adjacency-information>
<detail/>
</get-isis-adjacency-information>
</rpc>
<cli>
<banner></banner>
</cli>
</rpc-reply>
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。