Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

emit-change Template (SLAX and XSLT) and emit_change (Python)

構文

Python 構文

SLAX 構文

XSLT 構文

説明

設定に対する永続的または一時的な変更を生成します。

パラメーター

content

永続的または一時的な変更の内容。SLAX および XSLT スクリプトでは、これは . dotPython スクリプトには、XML 文字列としてフォーマットされた設定階層のすべてのレベルを表す完全な設定パスを含める必要があります。

dot

変更を行う階層レベルを指定する XPath 式。既定の場所は、スクリプトが現在評価している XML 階層内の位置です。SLAX スクリプトのパラメーターまたは select XSLT スクリプトのパラメーターの属性にdot対して有効な XPath 式を含めることで、テンプレートを呼び出すときにデフォルトをdot変更できます。

format

Python コミット スクリプトを使用して読み込まれた設定データのフォーマット。唯一サポートされている形式は.xml

message

設定が変更されたことをユーザーに通知する警告メッセージがCLIに表示されます。メッセージ パラメーターには、XML 階層の現在の場所にデフォルトで設定される編集パスが自動的に含まれます。デフォルトの編集パスを変更するには、SLAX スクリプトのパラメーターまたは select XSLT スクリプトのパラメーターの属性にdot対して、有効な XPath 式をdot指定します。

name

現在の要素または属性を参照できます。XPath 関数は name() 、要素または属性の名前を返します。このパラメーターの既定値は name 、 の要素名である value name($dot)です dot (デフォルトは「」 . で、現在の要素です)。

tag

生成する変更のタイプ。永続的'change'変更を生成するには、 を指定するか、一時変更を生成するを指定します'transient-change'。SLAX スクリプトと XSLT スクリプトでこのパラメーターを省略すると、既定でjcs:emit-change永続的な変更が生成されます。

使用例

次の例は、XSLT コミット スクリプトでテンプレートをjcs:emit-change呼び出す方法を示しています。

IS-ISが有効になっているが、 階層レベルに ステートメントが含まれていないfamily mpls1つ以上のインターフェイスを含む設定を[edit interfaces interface-name unit logical-unit-number]コミットすると、テンプレートはそのfamily mplsステートメントを設定に追加し、jcs:emit-change以下のCLI出力を生成します。

テンプレートのパラメーターは contentjcs:emit-change 設定の変更を指定するためのシンプルな方法を提供します。たとえば、次のコードを考えてみましょう。

SLAX スクリプトと XSLT スクリプトでは、テンプレートによって jcs:emit-change パラメーターが content 要求に <change> 変換されます。リクエストは <change> 、提供された部分的な設定コンテンツを現在の コンテキストノードの完全な階層に挿入します。したがって、テンプレートは jcs:emit-change 、パラメーター内の階層情報を content 次のコードに変更します。

一時変更が必要な場合は、 tag ここに示すように、パラメータを「」transient-changeとして渡すことができます。

XSLT で文字列 "" と "transient-change" という名前transient-changeのノードの内容を区別するには、余分な引用符が必要です。変更がコンテキスト ノード以外のノードに対して相対的な場合、コンテキストが 階層レベルに設定されている次の例に示すように、パラメーター dotをそのノードに [edit chassis] 設定できます。

以下の Python コミット スクリプトは、設定に対する永続的な変更を生成します。