Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

設定ステートメントを Junos XML タグ要素にマッピングする

Junos XML API は、設定階層のすべてのコンテナおよびリーフ ステートメントのタグ要素を定義します。設定階層の最上位レベルでは、ほとんどの場合、タグ要素とステートメントの間に 1 対 1 のマッピングがあり、ほとんどのタグ名は設定ステートメント名と一致します。階層のより深いレベルでは、一部の CLI 表記規則は XML 準拠のタグ付け構文に直接マッピングされないので、マッピングが直接的でないことがあります。

メモ:

一部の設定ステートメントでは、CLI 設定モード プロンプトでステートメントを入力するときに使用する表記は、設定ファイルで使用される表記とは異なります。同じ Junos XML タグ要素は、両方の表記スタイルにマッピングされます。

以下のセクションでは、設定ステートメントと Junos XML タグ要素間のマッピングについて説明します。

階層レベルとコンテナ ステートメントのマッピング

エレメントは <configuration> 、構成ステートメント用の最上位の Junos XML コンテナー・エレメントです。CLI 設定モードの [edit] 階層レベルに対応します。設定階層の次のいくつかのレベルにあるほとんどのステートメントは、コンテナ ステートメントです。コンテナ ステートメントに対応する Junos XML コンテナ タグ要素は、ほとんどの場合、ステートメントと同じ名前を持ちます。

次の例は、設定階層の最上位レベルにある 2 つのステートメントの Junos XML タグ要素を示しています。CLI 設定ステートメントの最後のブレースは、Junos XML タグの終了に対応しています。

Mapping for Hierarchy Levels and Container Statements

識別子を持つオブジェクトのマッピング

一部の階層レベルでは、同じ種類の構成オブジェクトが複数回発生する可能性があります。オブジェクトの各インスタンスには、他のインスタンスと区別する一意の識別子があります。CLI 表記では、このようなオブジェクトの親ステートメントは、次の形式のキーワードと識別子で構成されています。

keyword は、定義されているオブジェクトの型を示す固定文字列であり identifier 、型のこのインスタンスの一意の名前です。Junos XML API では、キーワードに対応するタグ要素は、オブジェクトの特性を表す子タグ要素のコンテナ タグ要素です。コンテナ タグ要素の名前は通常、文字列と keyword 一致します。

Junos XML API は、識別子の処理において CLI とは異なります。Junos XML APIでは、コンテナタグ要素に他のタグ要素と識別子名などのタグなし文字データの両方を含めないため、識別子を独自のタグ要素で囲む必要があります。最も頻繁に、設定オブジェクトの識別子タグ要素が呼び出 <name>されます。一部のオブジェクトには複数の識別子があり、通常は. <name>構成オブジェクトの各識別子タグ要素の名前を検証するには、 Junos XML API 構成開発者リファレンスのオブジェクトのエントリを参照してください。

メモ:

Junos OS は、設定グループ内で定義された設定グループの識別子のプレフィックス junos-junos-defaults 予約します。ユーザー定義識別子は文字列 junos-から始めることはできません。

識別子タグ要素は、同じ階層レベルのタグ要素を任意の順序で表示できる一般的な XML 表記規則の例外でもあります。識別子タグ要素は常にコンテナ タグ要素内で最初に発生します。

識別子を持つほとんどのオブジェクトの設定には、オブジェクトの他の特性を表す追加のリーフ ステートメントが含まれています。たとえば、階層レベルで [edit protocols bgp group] 設定された各BGPグループは、関連付けられた名前(識別子)を持ち、タイプ、ピア自律システム(AS)番号、ネイバーアドレスなどのその他の特性に対するリーフステートメントを持つことができます。リーフステートメントのJunos XMLマッピングの詳細については、 単一値および固定形式リーフステートメントのマッピング複数の値を持つリーフステートメントのマッピング、および 1つまたは複数の行での複数オプションのマッピングを参照してください。

次の例は、and と 呼ばれる <name> 2 つの BGP グループを定義する設定ステートメントの Junos XML タグ要素を <name>示しています。各グループの識別子(およびグループ内のネイバーの識別子)を囲む Junos XML <name> 要素には、CLI ステートメントに対応するものが含まれていないことに注意してください。

Mapping for Objects That Have an Identifier

単一値および固定形式リーフステートメントのマッピング

リーフ ステートメントは、他のステートメントを含まない CLI 設定ステートメントです。ほとんどのリーフステートメントは、設定オブジェクトの 1 つの特性の値を定義し、次の形式を持ちます。

一般に、リーフ ステートメントに対応する Junos XML タグ要素の名前は、文字列と keyword 同じです。Junos XML タグの開始と終了の間の文字列は、文字列と value 同じです。

次の例は、キーワードと値を持つ 2 つのリーフ ステートメントの Junos XML タグ要素を示しています。 message 階層レベルのステートメント [edit system login] と階層レベルの preference ステートメント [edit protocols ospf] です。

Mapping for Single-Value and Fixed-Form Leaf Statements

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

Mapping for Single-Value and Fixed-Form Leaf Statements

複数の値を持つリーフステートメントのマッピング

一部の Junos OS リーフ ステートメントは複数の値を受け入れます。複数の値は、ユーザー定義または事前定義された一連の値から引き出すことができます。CLI 表記では、次のように角括弧を使用して、すべての値を単一のステートメントで囲みます。

Junos XML API は、代わりに各値を独自のタグ要素で囲みます。次の例は、複数のユーザー定義値を持つ CLI ステートメントの Junos XML タグ要素を示しています。ステートメントは import 、設定内の別の場所で定義された 2 つのルーティング ポリシーをインポートします。

Mapping for Leaf Statements with Multiple Values

次の例は、複数の定義済み値を持つ CLI ステートメントの Junos XML タグ要素を示しています。ステートメントは permissions 、ログイン クラスのメンバーに 3 つの定義済みアクセス許可を user-accounts 付与します。

Mapping for Leaf Statements with Multiple Values

1 つまたは複数の行上の複数のオプションのマッピング

一部の Junos OS 設定オブジェクトでは、通常、読みやすさと簡潔さを高める目的で、標準の CLI 構文で複数のオプションを 1 行に配置します。ほとんどの場合、最初のオプションはオブジェクトを識別し、キーワードはありませんが、以降のオプションはキーワードと値を組み合わせたものです。Junos XML API は、各オプションを独自のタグ要素で囲みます。最初のオプションには CLI ステートメントにキーワードがないため、Junos XML API はタグ要素に名前を割り当てます。

次の例は、1 行に複数のオプションを使用する CLI 設定ステートメントの Junos XML タグ要素を示しています。Junos XML API は、両方のオプションのタグ要素を定義し、CLI キーワードを持たない最初のオプション(10.0.0.1)のタグ要素に名前を割り当てます。

Mapping for Multiple Options on One or More Lines

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

Mapping for Multiple Options on One or More Lines

設定ステートメントに関するコメントのマッピング

Junos OS の設定には、設定にステートメントを記述するコメントを含めることができます。CLI 設定モードでは、コマンドは annotate 現在の階層レベルのステートメントに関連付けるコメントを定義します。テキスト エディタを使用して、コメントを設定ファイルに直接挿入することもできます。詳細については、 CLI ユーザー ガイドを参照してください。

Junos XML API は、エレメント内の構成ステートメントに関するコメントを <junos:comment> 囲みます。(これらのコメントは、文字列 <!-- で囲まれたコメントとは異なっており、 --> プロトコル サーバーによって自動的に破棄されます)。

Junos XML API では、エレメントは<junos:comment>、関連する構成ステートメントのエレメントのすぐ前にあります。(関連するステートメントのタグ要素を省略すると、コメントは構成データベースに記録されません。コメント テキスト文字列には、構成データベース内のコメントを示す 2 つの区切り記号のいずれかを含めることができます。これは、コメントの前の文字か、コメントの前と*/後のペアの文字列/*のいずれか#です。クライアント アプリケーションに区切り記号が含まれていない場合、プロトコル サーバーはコメントを構成に追加するときに適切な区切り文字を追加します。プロトコル サーバーはコメントに含まれる空白も保持します。

次の例は、サンプル構成ステートメントの 2 つのステートメントにコメントを関連付ける Junos XML タグ要素を示しています。最初のコメントは、要素(/* New backbone area */)の内容に改行文字を<junos:comment>含めると、設定ファイルの独自の行にコメントが表示される方法を示しています。2 番目<junos:comment>の要素の内容には改行文字がないため、設定ファイルでは、コメントは同じ行の関連するステートメントに直接従います。

Mapping for Comments About Configuration Statements