Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

イベント スクリプトに必要な定型プレート

概要 イベント スクリプトの定型プレートを定義します。

Junos OS イベント スクリプトは、XSLT(Extensible Stylesheet Language Transformations)、Stylesheet Language Alternative syntaX(SLAX)、または Python で作成できます。イベント スクリプトには、基本的なスクリプト機能と、Junos OS 拡張機能や名前付きテンプレートなどのスクリプト内で使用されるオプション機能の両方に、そのスクリプト言語に必要な定型文を含める必要があります。このトピックでは、XSLT、SLAX、Python イベント スクリプトで使用できる標準定型プレートを提供します。

SLAX および XSLT イベント スクリプトは、Junos XML および Junos XML プロトコル タグ要素をベースとしています。すべての XML 要素と同様に、山括弧は Junos XML または Junos XML プロトコル タグ要素の名前を開始タグと終了タグで囲みます。これは XML 表記規則であり、角括弧は完全なタグ要素名の必須部分です。これらは、Junos OS CLI コマンド文字列のオプション部分を示すためにドキュメントで使用されている山括弧と混乱することはありません。

イベント スクリプト用 XSLT 定型プレート

XSLT イベント スクリプト定型プレートは次のとおりです。

1行目は、拡張マークアップ言語(XML)処理命令(PI)です。この PI は、コードがバージョン 1.0 を使用して XML で記述されていることを指定します。XML PI(存在する場合)は、スクリプトファイル内の最初のコメント以外のトークンである必要があります。

2 行目はスタイル シートを開き、XSLT バージョンを 1.0 として指定します。

3~6行目は、イベントスクリプトで一般的に使用されるすべての名前空間マッピングをリストアップしています。この例では、これらのプレフィックスがすべて使用されているわけではありませんが、参照されていない名前空間マッピングの一覧表示はエラーではありません。すべての名前空間マッピングをリストすると、マッピングがスクリプトの新しいバージョンで使用される場合、エラーを防ぐことができます。

7 行目は XSLT インポート ステートメントです。これは、 として参照されるファイルからテンプレートと変数を読み込みます 。/import/junos.xsl:Junos OSの一部として出荷されます( ファイル/usr/libdata/cscript/import/junos.xsl内)。 junos.xsl ファイルには、スクリプトで呼び出すことができる名前付きテンプレートのセットが含まれています。これらの名前付きテンプレートについては、 Junos OS 自動化スクリプトの名前付きテンプレートについてで説明します

8 行目は、要素に一致するテンプレートを </> 定義します。 <xsl:template match="/"> 要素はルート要素であり、XML 階層の最上位レベルを表します。スクリプト内のすべての XPath 式は、最上位レベルから開始する必要があります。これにより、スクリプトは、すべての可能な Junos XML および Junos XML プロトコルリモート プロシージャ コール(RPC)にアクセスできます。詳細については、 XPath の概要を参照してください。

タグ要素の <xsl:template match="/"> 後、 <event-script-results> および </event-script-results> コンテナタグは、行9と10に示すようにトップレベルの子タグである必要があります。

11行目はテンプレートを閉じます。

11 行目と 12 行目の間で、テンプレート内から呼び出される追加の XSLT テンプレートを <xsl:template match="/"> 定義できます。

12行目は、スタイルシートとイベントスクリプトを閉じます。

イベント スクリプト用 SLAX 定型プレート

対応するSLAX opスクリプト定型プレートは次のとおりです。

イベント スクリプト用 Python ボイラープレート

Python イベント スクリプトには必須の定型文はありませんが、スクリプトで使用されているオブジェクトをインポートする必要があります。Python イベント スクリプトは、以下をインポートできます。

  • Junos_Context 辞書 — スクリプト実行環境に関する情報が含まれます。

  • Junos_Trigger_Event および Junos_Received_Events オブジェクト — 対応するイベント ポリシーをトリガーしたイベントの詳細を含みます。

  • Junos_Remote_Execution_Details— 階層レベルの [edit event-options event-script file filename remote-execution] イベント スクリプトに設定されたリモート実行の詳細にアクセスするために必要なジェネレータ機能。

  • jcs ライブラリ — スクリプトで、Junos OS 拡張機能と Junos OS 名前付きテンプレート機能を使用できるようにします。

  • jnpr.junos モジュールとクラス — スクリプトで Junos PyEZ を使用できるようにします。

例えば:

Python 自動化スクリプトは、スクリプトの先頭にインタープリター指令行(#!/usr/bin/env python)を含める必要はありません。ただし、プログラムが存在する場合、プログラムは正しく実行されます。