Junos XML プロトコルを使用して設定データ内の要素を置き換える
Junos OSを実行するデバイスとのJunos XMLプロトコルセッションでは、個々の構成要素(階層レベルまたは設定オブジェクト)を置き換えるために、クライアントアプリケーションはタグ要素の属性でタグ要素をaction="replace"<rpc>送信<load-configuration>します。
<rpc>
<!-- For a file -->
<load-configuration action="replace" url="file" [format="text"]/>
<!-- For a data stream -->
<load-configuration action="replace" [format="text"]>
<!-- configuration data -->
</load-configuration>
</rpc>
Junos OS リリース 18.1R1 以降、一時的な設定データベースでは、 および replace setの以前にサポートされていた値に加えて、 のoverride属性値を使用して<load-configuration>action設定データのmerge読み込みをサポートしています。
および 属性のurl詳細については、 Junos XMLプロトコルセッションでの設定データのアップロードとフォーマットを参照してください。format
Junos XML タグ要素を使用して置換を定義するには、 Junos XML プロトコルを使用した構成要素の作成、修正、削除で説明されている基本的なタグ要素が含まれています。コンテナ タグ内には、新しい要素と同じ子タグ要素が含まれています。たとえば、置き換えの識別子タグ要素(含まれている場合)、置換要素に対して定義されているすべての子タグ要素です。以下では、識別子タグ要素が と呼ばれます <name>。アプリケーションには、開く replace="replace" コンテナー タグの属性も含まれています。
<configuration>
<!-- opening tag for each parent of the element -->
<container-tag replace="replace">
<name>identifier</name>
<!-- tag elements for other children, if any -->
</container-tag>
<!-- closing tag for each parent of the element -->
</configuration>
書式設定された ASCII テキストを使用して要素を表すために、 Junos XML プロトコルを使用した構成要素の作成、変更、削除で説明されている完全なステートメント パスがアプリケーションに含まれています。新しい要素に関しては、置き換えの各識別子(持っている場合)と、置き換え用に定義されているすべての子ステートメント(必要に応じて値を含む)が含まれます。要素の replace: コンテナステートメントの上に ステートメントを配置します。
<configuration-text>
/* statements for parent levels of the element */
replace:
element identifier {
/* child statements if any */
}
/* closing braces for parent levels of the element */
</configuration-text>
Junos OS は、JSON 形式の設定データを読み込む際の置換操作をサポートしていません。JSON を使用する場合に構成要素を置き換えるには、既存の要素を削除してから置換要素を追加する必要があります。
以下の例では、 階層レベルで という名前 operator のオブジェクトに新しい権限を付与する方法を [edit system login class] 示しています。この情報は、Junos XML タグ付き形式(デフォルト)で提供されます。
次の例では、フォーマットされたASCIIテキストを使用して同じ 変更を行う方法を示しています。
replace
setの以前にサポートされていた値に加えて、 の
override属性値を使用して
<load-configuration>
action設定データの
merge読み込みをサポートしています。