このページで
Junos XML プロトコルを使用した構成要素のアクティベーション状態の変更
コンフィギュレーション・エレメント(階層レベルまたは構成オブジェクト)が非アクティブ化され、設定がコミットされた場合、非アクティブ化された要素はコンフィギュレーション内に残りますが、要素はデバイスの機能に影響を与えません。構成要素を非アクティブ化することは、構成要素をコンフィギュレーションから削除せずに動作を抑制することで、問題をトラブルシューティングする場合に便利です。さらに、新しい構成要素を設定および無効化して、新しいハードウェアを利用可能にする前に設定を調整することができます。
Junos デバイスとの NETCONF または Junos XML プロトコル セッションでは、クライアント アプリケーションで既存の要素を無効化したり、新しい要素を同時に作成および非アクティブにすることができます。クライアント アプリケーションでは、非アクティブ化された要素をアクティブ化して、構成がコミットされると、要素は再びデバイスの機能に影響を与えます。以下のセクションでは、新しい構成要素を作成および無効化する方法、および既存の構成要素をアクティブまたは非アクティブにする方法について説明します。
新しく作成した要素を無効化する
要素を作成してすぐに無効化するには、クライアント アプリケーションにまず、 Junos XML プロトコルを使用した構成要素の作成、変更、削除の説明に従って、新しい要素と子要素の基本的なタグ要素または構成ステートメントが含まれます。
Xml
Junos XML タグ要素を使用して新しい要素を作成および無効化する場合、アプリケーションには新しい要素の開始タグに 属性が含まれます inactive="inactive" 。次の例では、識別子タグ要素が と呼ばれます <name>。
<configuration>
<!-- opening tag for each parent of the element -->
<element inactive="inactive">
<name>identifier</name> <!-- if element has an identifier -->
<!-- tag elements for each child of the element -->
</element>
<!-- closing tag for each parent of the element -->
</configuration>
YANG準拠のNETCONFセッションでは、タグ要素に および jcmd:active="(true | false)" 属性を含めることでxmlns:jcmd="http://yang.juniper.net/junos/jcmd"、XMLデータの設定要素をアクティブまたは非アクティブにすることができます。詳細については、 JunosデバイスのYANGメタデータの注釈を参照してください。
テキスト
書式設定されたASCIIテキストを使用して新しい要素を作成および無効化する場合、アプリケーションは新しい要素の前に演算子を inactive: 付けます。
<configuration-text>
/* statements for parent levels */
/* For an object with an identifier */
inactive:
object identifier {
/* Child configuration statements */
}
/* For a hierarchy level or object without an identifier */
inactive:
element {
/* Child configuration statements */
}
/* closing braces for parent levels */
</configuration-text>
設定モード(Set)コマンド
設定モードコマンドを使用して非アクティブな要素を作成する場合、アプリケーションはまず コマンドで要素を set 作成し、 コマンドを deactivate 使用して非アクティブにします。
<configuration-set>
set statement-path-to-object object identifier
deactivate statement-path-to-object object identifier
</configuration-set>
Json
JSON 設定データを使用して新しい要素を作成および無効化する場合、クライアント アプリケーションには、その要素の属性リストに属性が含 "inactive" : true まれます。以下の汎用 JSON 構成は、階層オブジェクトまたはコンテナオブジェクト、識別子を持つオブジェクト、リーフステートメントを無効化する属性の配置を示しています。
<configuration-json>
{
"configuration" : {
/* JSON objects for parent levels */
"level-or-container" : {
"@" : {
"comment" : "/* deactivate a hierarchy */",
"inactive" : true
},
"object" : [
{
"@" : {
"comment" : "/* deactivate an object with an identifier */",
"inactive" : true
},
"name" : "identifier",
"statement-name" : "statement-value",
"@statement-name" : {
"comment" : "/* deactivate a statement */",
"inactive" : true
},
/* additional data and child objects */ # if any
}
]
}
/* closing braces for parent levels */
}
}
</configuration-json>
YANG準拠のNETCONFセッションでは、ステートメントのmetdataオブジェクトにアノテーションを含 "junos-configuration-metadata:active" : (true | false) めることで、JSONデータの設定オブジェクトをアクティブまたは非アクティブにすることができます。詳細については、 JunosデバイスのYANGメタデータの注釈を参照してください。
既存要素の無効化または再活性化
Junos XML プロトコルを使用した構成要素の作成、変更、削除の説明に従って、既存の要素を無効化する、または以前に無効化した要素をアクティブにするには、クライアント アプリケーションに親レベルの基本的なタグ 要素または設定ステートメントが含まれています。
Xml
Junos XML タグ要素を使用して、識別子を持つ構成オブジェクトを表す場合、アプリケーションはオブジェクトの開いたコンテナ タグに または active="active" 属性を含みinactive="inactive"、識別子タグ要素と値も出力します。次の例では、識別子タグ要素が と呼ばれます<name>。子を持ち、識別子を持たない階層レベルまたはコンテナー オブジェクトを表すために、アプリケーションは空のタグを使用します。
<configuration>
<!-- opening tag for each parent of the element -->
<!- - For an object with an identifier -->
<object ( inactive="inactive" | active="active" ) >
<name>identifier</name>
</object>
<!-- For a hierarchy level or object without an identifier -->
<level-or-container ( inactive="inactive" | active="active" ) />
<!-- closing tag for each parent of the element -->
</configuration>
YANG準拠のNETCONFセッションでは、タグ要素に および jcmd:active="(true | false)" 属性を含めることでxmlns:jcmd="http://yang.juniper.net/junos/jcmd"、XMLデータの設定要素をアクティブまたは非アクティブにすることができます。詳細については、 JunosデバイスのYANGメタデータの注釈を参照してください。
テキスト
書式設定された ASCII テキストを使用して要素を表す場合、アプリケーションは 要素の前に inactive: または active: 演算子を付けます。階層レベルまたはコンテナー オブジェクトの名前の後にはセミコロンが続きます(既存の設定では子ステートメントを囲む中括弧が続いています)。
<configuration-text>
/* statements for parent levels */
/* For an object with an identifier */
(inactive | active):
object identifier;
/* For a hierarchy level or object without an identifier */
(inactive | active):
object-or-level;
/* closing braces for parent levels */
</configuration-text>
設定モード(Set)コマンド
コンフィギュレーション・モード・コマンドを使用してオブジェクトをアクティブまたは非アクティブ化する場合、アプリケーションは、 または deactivate というコマンドをactivateCLI設定モード・コマンドと同等に指定します。
<configuration-set>
/* For an object with an identifier */
activate statement-path-to-object object identifier
deactivate statement-path-to-object object identifier
/* For a hierarchy level or object without an identifier */
activate statement-path-to-object-or-level object-or-level
deactivate statement-path-to-object-or-level object-or-level
</configuration-set>
Json
JSON を使用して要素を表す場合、クライアント アプリケーションはその要素の属性リストに または "inactive" : true 属性をそれぞれ含めることで"active" : true要素をアクティブまたは非アクティブにします。以下の汎用 JSON 構成は、既存の階層またはコンテナー・オブジェクト、識別子を持つオブジェクト、およびリーフ・ステートメントをアクティブ化または非アクティブ化するための属性の配置を示しています。
<configuration-json>
{
"configuration" : {
/* JSON objects for parent levels */
"level-or-container" : {
"@" : {
"comment" : "/* activate or deactivate a hierarchy */",
"(active | inactive)" : true
},
"object" : [
{
"@" : {
"comment" : "/* activate or deactivate an object with an identifier */",
"(active | inactive)" : true
},
"name" : "identifier",
"@statement-name" : {
"comment" : "/* activate or deactivate a statement */",
"(active | inactive)" : true
}
}
]
}
/* closing braces for parent levels */
}
}
</configuration-json>
YANG準拠のNETCONFセッションでは、ステートメントのメタデータオブジェクトにアノテーションを含 "junos-configuration-metadata:active" : (true | false) めることで、JSONデータの設定オブジェクトをアクティブまたは非アクティブにすることができます。詳細については、 JunosデバイスのYANGメタデータの注釈を参照してください。
以下の例では、Junos XML タグ要素を isis 使用して候補コンフィギュレーションの 階層レベルで [edit protocols] 階層レベルを無効化する方法を示しています。
以下の例では、JSON を使用して候補コンフィギュレーションの isis 階層レベルで [edit protocols] 階層レベルを無効化する方法を示しています。
<rpc>
<load-configuration format="json">
<configuration-json>
{
"configuration" : {
"protocols" : {
"isis" : {
"@" : {
"inactive" : true
}
}
}
}
}
</configuration-json>
</load-configuration>
</rpc>