Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos XML プロトコルを使用して設定データ内の要素をマージする

デフォルトでは、Junos XML プロトコル サーバーは、読み込まれた構成データを次のルールに従って候補構成に マージ します。(ルールは、設定のプライベート コピーや一時的な設定データベースのオープン インスタンスにも適用されますが、簡潔にするために、以下の議論は候補の設定のみを指します)。

  • 候補内に存在するが、読み込まれた構成には存在しない構成要素(階層レベルまたは構成オブジェクト)は変更されません。

  • 読み込まれたコンフィギュレーション内に存在し、候補内に存在しないコンフィギュレーション・エレメントが候補に追加されます。

  • 両方の設定に構成要素が存在する場合、セマンティクスは次のようになります。

    • 構成要素(子タグ要素で表される)の子ステートメントが候補に存在するが、読み込まれた設定には存在しない場合、変更されずに残ります。

    • 読み込まれた設定に子ステートメントが存在するが、候補内に存在しない場合、子ステートメントは候補に追加されます。

    • 子ステートメントが両方のコンフィギュレーションに存在する場合、読み込まれたコンフィギュレーションの値は候補内の値を置き換えます。

マージ モードは新しい構成要素のデフォルト モードであるため、アプリケーションはタグ要素内でタグ要素を<rpc>発行<load-configuration>するだけです。

および 属性のurl詳細については、 Junos XMLプロトコルセッションでの設定データのアップロードとフォーマットを参照してください。format

Junos XML 要素、書式設定された ASCII テキスト、または JSON 形式を使用する構成データのマージ モードを明示的に指定するには、このセクションの最後の例に示すように、タグに 属性<load-configuration>を含action="merge"めることができます。

Junos XML タグ要素を使用して構成にマージする要素を表す場合、アプリケーションには、 Junos XML プロトコルを使用した構成要素の作成、変更、削除で説明されている基本的なタグ要素が含まれます。要素のコンテナタグには属性は含まれません。子要素の値を追加または変更する場合、アプリケーションにはそれに対するタグ要素が含まれます。子が変更されずに残っている場合、読み込まれた設定に含める必要はありません。以下では、識別子タグ要素が と呼ばれます <name>

フォーマットされたASCIIテキストを使用する場合、 Junos XMLプロトコルを使用した構成要素の作成、変更、または削除で説明されているステートメントパスがアプリケーションに含まれます。前の演算子は含まれていませんが、要素の識別子がある場合は含まれません。子要素の値を追加または変更する場合、アプリケーションにはそれに対するタグ要素が含まれます。子が変更されずに残っている場合、読み込まれた設定に含める必要はありません。

Junos OS リリース 16.1 以降、デバイスで JavaScript Object Notation(JSON)を使用してフォーマットされた設定データを読み込むことができます。JSON を使用して構成にマージする要素を表す場合、 Junos XML プロトコルを使用した構成要素の作成、変更、削除で説明されている基本的な JSON データがアプリケーションに含まれます。新しい要素または変更された要素をマージするために、JSON設定データに特定の操作属性を含める必要はありません。子要素の値を追加または変更する場合、アプリケーションにはそれに対する JSON データまたは子オブジェクトが含まれます。子が変更されずに残っている場合、読み込まれた設定に含める必要はありません。次の例では、要素の識別子を指定する JSON メンバーのフィールド名は"name"です。

設定モードコマンドを使用して新しい要素をマージする場合、このセクションの最後の例に示すように、 および 属性<load-configuration>がタグに含まれます。action="set" format="text"アプリケーションには、 set コマンド、要素へのステートメントパス、要素の識別子(要素がある場合)が含まれます。子要素の値を追加または変更する場合、アプリケーションには、 コマンドに子要素またはステートメントが含まれます。子が変更されずに残っている場合は、含める必要はありません。

以下の例は、設定内の 階層レベルで so-3/0/0 と呼ばれる新しいインターフェイスでマージする [edit interfaces] 方法を示しています。この情報は、Junos XML タグ要素(デフォルト)として提供されます。

次の例では、フォーマットされたASCIIテキストを使用して、同じ新しい インターフェイスを定義する方法を示しています。

以下の例では、JSON 設定データを使用して同じインターフェイスを定義する方法を示しています。

以下の例では、設定モードコマンドを使用して同じインターフェイスを定義する方法を示しています。