設定ステートメントを XML Junos要素にマップ
XML API Junos、設定階層内のすべてのコンテナおよびリーフ ステートメントにタグ要素を定義します。設定階層の上位レベルでは、ほとんどの場合、タグ要素とステートメントの間に 1 対 1 のマッピングが行され、ほとんどのタグ名は設定ステートメント名と一致します。階層の深いレベルでは、マッピングが直接的ではない場合があります。これは、いくつかの表記表記規則CLI XML 準拠のタギング構文に直接マッピングされないためです。
一部の設定ステートメントでは、CLI 設定モード プロンプトで ステートメントを入力する際に使用する表記は、設定ファイルで使用される表記とは異なります。XML タグ要素Junosと同じマップを、両方の表記スタイルにマッピングします。
次のセクションでは、設定ステートメントと XML タグ要素間のJunosについて説明します。
階層レベルとコンテナ ステートメントのマッピング
要素 <configuration>
は、設定ステートメント用の XML Junos要素のトップレベルのコンポーネントです。これは、設定モードで階層 [edit]
レベルCLIされます。次のレベルの設定階層にあるほとんどのステートメントはコンテナ ステートメントです。コンテナ Junos対応する XML コンテナ タグ 要素の名前は、ほとんどの場合ステートメントと同じ名前です。
次の例は、設定階層Junosの 2 つのステートメントに XML タグ要素を追加する例を示しています。設定ステートメントの中括弧はCLI XML タグの終了に対応Junos注意してください。

識別子を持つオブジェクトのマッピング
階層レベルによっては、同じ種類の設定オブジェクトが複数回発生する場合があります。オブジェクトの各インスタンスには、他のインスタンスと区別するための一意の識別子があります。次のCLI表記では、このようなオブジェクトの親ステートメントは、次の形式のキーワードと識別子で構成されています。
keyword identifier { … configuration statements for individual characteristics … }
keyword
は、定義されているオブジェクトの identifier
タイプを示す固定文字列で、このタイプのインスタンスの一意の名前です。XML API Junos対応するタグ要素は、オブジェクトの特性を表す子タグ要素のコンテナ タグ 要素です。コンテナ タグ要素の名前は通常、文字列と一致 keyword
します。
XML API Junos XML API は、識別子CLIされる処理で使用される形式とは異なります。Junos XML API ではコンテナ タグ要素に他のタグ要素と識別子名などのタグ付けされていない文字データの両方が含まれるため、識別子はそれ自身のタグ要素で囲む必要があります。多くの場合、設定オブジェクトの識別子タグ要素は、 と呼ばれる. <name>
一部のオブジェクトには、通常以外の名前を持つ複数の識別子があります <name>
。設定オブジェクトの各識別子タグ 要素の名前を検証するには、 XML API Configuration Developer Reference の中のオブジェクトJunosを参照してください。
オプションJunos OS、設定グループ junos-
内で定義された設定グループの識別子用にプレフィックスを junos-defaults
予約します。ユーザー定義識別子を文字列で始めすることはできません junos-
。
また、識別子タグ要素は、同じ階層レベルのタグ要素を任意の順序で表示できる一般的な XML 表記規則の例外になります。識別子タグ 要素は常にコンテナ タグ要素内で最初に発生します。
識別子を持つほとんどのオブジェクトの設定には、オブジェクトの他の特性を表す追加のリーフ ステートメントが含まれます。たとえば、階層レベルで設定された各 BGP [edit protocols bgp group]
グループには関連名(識別子)が付き、タイプ、ピア自律システム(AS)番号、ネイバー アドレスなどのその他の特性に関するリーフ ステートメントを持つ場合があります。リーフ ステートメントの Junos XML マッピングの詳細については、「 単一値および固定形式のリーフ ステートメントのマッピング 」、 複数の値を使用するリーフ ステートメントのマッピング 、 1 つ以上の行の複数オプションのマッピング を参照してください。
次の例は、 および Junos 呼ばれる 2 つのグループを定義する設定ステートメントの XML BGP要素を示しています<name>
<name>
。各グループのJunos(およびグループ内のネイバーの識別子)を囲む Junos XML <name>
要素に、CLI ステートメントに対応する要素が存在しないのに注意してください。

単一値および固定形式のリーフ ステートメントへのマッピング
リーフ ステートメントは 、他CLIを含ではない、設定ステートメントの 1 つのステートメントです。ほとんどのリーフ ステートメントは、設定オブジェクトの 1 つの特性に値を定義し、次の形式を使用します。
keyword value;
一般的に、リーフ ステートメントにJunos XML タグ 要素の名前は文字列と同じ keyword
になります。XML タグの開始と終了のJunosの間の文字列は、文字列と同 value
じです。
次の例では、キーワードと値を持つ 2 つのリーフ ステートメント(階層レベルのステートメントと階層レベルのステートメント)に対して、 Junos XML message
[edit system login]
preference
[edit protocols ospf]
タグ要素を示しています。

一部のリーフ ステートメントは固定形式のキーワードで構成されています。関連付けられた可変形式値は含豊かです。XML API Junosは、このようなステートメントを空のタグで表します。次の例は、階層レベルJunosの XML タグ要素 disable
の例を [edit forwarding-options sampling]
示しています。

複数の値を持つリーフ ステートメントのマッピング
リーフ ステートメントJunos OS、ユーザー定義の値または定義済み値のセットから取り出す複数の値を受け入れる場合があります。CLI表記では、次のように角括弧で囲み、すべての値を単一のステートメントで囲みます。
statement [ value1 value2 value3 ...];
代Junos XML API では、各値を独自のタグ要素で囲み込きます。次の例は、複数のユーザー定義Junosを持つ CLI XML タグ要素の例を示しています。ステートメント import
は、設定の別の場所で定義された2つのルーティング ポリシーをインポートします。

次の例は、事前定義されたJunosを持つ 1 つのステートメントに対する xml CLI要素を示しています。ステートメント permissions
によって、ログイン クラスのメンバーに事前定義された 3 つの権限が user-accounts
付与されます。

1 つ以上の行の複数オプションのマッピング
一部の構成Junos OSでは、標準の構文により、通常は読みCLI簡潔性を高め、1 行に複数のオプションを追加できます。ほとんどの場合、最初のオプションはオブジェクトを識別し、キーワードを持ってはいますが、それ以降のオプションは組み合わせのキーワードと値です。XML API Junos、各オプションは独自のタグ要素で囲います。最初のオプションは CLI ステートメントにキーワードを持たないので、xml API によってJunos名がタグ要素に割り当てされます。
次の例は、1 行Junosオプションを使用する、CLIの XML タグ要素の例を示しています。Junos XML API は、両方のオプションのタグ 要素を定義し、最初のオプション(10.0.0.1)のタグ要素に名前を割り当てします(10.0.0.1)。タグ キーワードCLIではありません。

一部の設定オブジェクトの構文には、複数のマルチオプション 行が含まれています。繰り返Junos XML API は、オプションごとに個別のタグ要素を定義します。次の例は、階層Junosのステートメントに XML タグ traceoptions
要素を追加する例を [edit protocols isis]
示しています。ステートメントには 3 つの子ステートメントがあります。各ステートメントには複数のオプションがあります。

設定ステートメントに関するコメントのマッピング
追加設定Junos OS、設定内のステートメントを記述するコメントを含めできます。設定CLI モードでは、 コマンド annotate
により、現在の階層レベルでステートメントに関連付けるコメントが定義されます。また、テキスト エディターを使用して、コメントを設定ファイルに直接挿入することもできます。詳細については、 ガイド CLI を参照してください。
XML API Junos、要素内の設定ステートメントに関するコメントを括弧で囲<junos:comment>
む必要があります。(これらのコメントは、文字列<!--
-->
で囲まれたコメントとは異なります。また、プロトコル サーバーによって自動的に破棄されます)。
XML API のJunos、 <junos:comment>
関連する設定ステートメントの要素の前にすぐに要素が追加されます。(関連するステートメントのタグ要素を除外した場合、コメントは設定データベースに記録されません)。コメント テキストの #
/*
*/
文字列には、設定データベースにコメントを示す 2 つの区切り記号のいずれかを含めできます。区切り記号は、コメントの前の文字またはコメントの前と後に組み合わせて使用する文字です。クライアント アプリケーションに区切り記号が含されていない場合は、プロトコル サーバーが設定にコメントを追加するときに適切な区切り記号が追加されます。プロトコル サーバーには、コメントに含まれる空白も保持されます。
次の例は、サンプル設定ステートメントJunosコメントを2つのステートメントに関連付ける XML タグ要素の例を示しています。最初のコメントは<junos:comment>
/* New backbone area */
、要素の内容( )に新しい行の文字を含めた結果、設定ファイル内の独自の行にコメントが表示される方法を示しています。2 つ<junos:comment>
目の要素の内容には新しい行の文字は含めることはできません。設定ファイルでは、コメントは同じ行に関連付けられたステートメントの直接の通りです。
