Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

イベント スクリプトに引数を渡すイベント ポリシーの設定

イベント ポリシーがイベント スクリプトを呼び出すと、ポリシーは引数をスクリプトに渡すことができます。以下のセクションでは、イベント ポリシーで引数を構成し、イベント スクリプト内で引数を使用する方法について概要を説明します。

イベント ポリシーでのイベント スクリプトの引数の設定

イベント ポリシーが イベント スクリプトに渡す引数は、 階層下event-script filename argumentsのポリシーの句でthen設定します。呼び出された各イベント・スクリプトに対して、引数をいくつでも設定することができます。

名前と値のペアとしてスクリプトに引数を含めます。引数値には、トリガー・イベントやその他の受信イベントに関する情報を含む変数を含めることができます。その後、イベント スクリプトは実行中にこの情報を参照できます。以下の形式の変数を使用できます。

  • {$$.attribute-name}—二重ドル記号($$)表記は、ポリシーをトリガーするイベントを表します。属性名と組み合わせると、変数はトリガー・イベントに関連する属性の値に解決されます。例えば、 {$$.interface-name} トリガー・イベントに関連付けられたインターフェース名に解決します。

  • {$event.attribute-name}— イベント名($event)表記の単一ドル記号は、一致する最新のイベントを表しています event。属性名と組み合わせると、変数はそのイベントに関連する属性の値に解決されます。例えば、 {$COSD_CHAS_SCHED_MAP_INVALID.interface-name} イベント・プロセスによってキャッシュされた最新 COSD_CHAS_SCHED_MAP_INVALID のイベントに関連付けられたインターフェース名に解決します。

特定のイベントに対して、 コマンドを発行することで参照できるイベント属性のリストを help syslog event 表示できます。

例えば、以下のコマンド出力では、山括弧(< >)のテキストはイベントの属性を COSD_CHASSIS_SCHEDULER_MAP_INVALID 示しています。

イベント属性のリストを表示するもう1つの方法は、 階層レベルで 設定モードコマンドを[edit event-options policy policy-name]発行set attributes-match event?することです。

例えば、以下のコマンド出力では、 event.attribute リストは、 および interface-name がイベントのcosd_chassis_scheduler_map_invalid属性であることをerror-message示しています。

この set コマンドでは,イベント名と疑問符(?)の間にスペースはありません。

参照できるすべてのイベント属性のリストを表示するには、 階層レベルで 設定モード コマンドを[edit event-options policy policy-name]発行set attributes-match ?します。

イベント スクリプトでの引数の使用

イベント ポリシーがイベント スクリプトを呼び出すと、イベント スクリプトはポリシーによって渡された引数のいずれかを参照できます。イベント スクリプトの引数の名前は、構成内の 階層にある [edit event-options policy policy-name then event-scripts filename arguments] イベント スクリプトに設定された引数の名前と一致する必要があります。

SLAX または XSLT イベント スクリプト内の引数を使用するには、各引数にパラメーター宣言を含める必要があります。イベント スクリプトは、各スクリプト引数の値を同じ名前の対応するパラメーターに割り当てます。このパラメーターは、スクリプト全体で参照できます。

XSLT 構文

SLAX 構文

Python イベント スクリプト内の引数を使用するには、Python 言語で任意の有効な手段を使用できます。次の例では、Python argparse モジュールを使用してスクリプトの引数を処理します。ステートメントは parser.add_argument 、スクリプトに渡される各引数に含める必要があります。

Python 構文