Junos XMLプロトコルを使用して、設定データの更新された要素のみを置き換える
Junos OSを実行するデバイスとのJunos XMLプロトコルセッションでは、構成要素(階層レベルと設定オブジェクト)を置き換えるには、読み込まれた設定と既存の設定が異なる場合にのみ、アプリケーションはタグ要素に属性を付けてタグ要素をaction="update"<rpc>送信<load-configuration>します。
<rpc>
<!-- For a file -->
<load-configuration action="update" url="file" [format="format"]/>
<!-- For a data stream -->
<load-configuration action="update" [format="format"]>
<!-- configuration data -->
</load-configuration>
</rpc>
および 属性のurl詳細については、 Junos XMLプロトコルセッションでの設定データのアップロードとフォーマットを参照してください。format
Junos OSリリース21.1R1以降、一時的な設定データベースは、サポートされているプラットフォームの属性を action="update" サポートしています。
この操作は、Junos OS CLI load update 設定モード コマンドと同じです。Junos OS 設定管理ソフトウェアは、2 つの完全な設定を比較します。読み込まれたコンフィギュレーションで異なる各コンフィギュレーション・エレメントは、既存のコンフィギュレーション内の対応するエレメントを置き換えます。両方の設定で同じ要素は変更されません。後で設定がコミットされると、変更された構成要素の影響を受けるシステム プロセスのみが新しい設定を解析します。
置き換え要素を表すために、 Junos XML プロトコルを使用した構成データの新しい要素の作成で説明したように、新しい要素と同じ構文を使用します。以下のJunos XMLおよびJSON表現では、オブジェクト識別子を と呼んでいます name。
Junos XML 要素:
<configuration>
<!-- opening tag for each parent of the element -->
<container-tag>
<name>identifier</name>
<!-- tag elements for other children, if any -->
</container-tag>
<!-- closing tag for each parent of the element -->
</configuration>
ASCIIテキスト:
<configuration-text>
/* statements for parent levels of the element */
element identifier {
/* child statements if any */
}
/* closing braces for parent levels of the element */
</configuration-text>
Json:
<configuration-json>
{
"configuration" : {
/* JSON objects for parent levels of the element */
"container-tag" : {
"object" : [
{
"name" : "identifier",
"statement-name" : "statement-value", # if any
/* additional data and child objects */ # if any
}
],
/* data and child objects */ # if any
}
/* closing braces for parent levels of the element */
}
}
</configuration-json>
Junos OSリリース16.1以降、JavaScript Object Notation(JSON)を使用してフォーマットされた設定データを読み込むことができます。
以下の例は、 /tmp/new.conf (デバイスに存在する)のコンテンツで候補の設定を更新する方法を示しています。このファイルには、Junos XML タグ要素(デフォルト)として表される完全な構成が含まれるため、 format 属性は省略されます。