Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

自動化スクリプトのグローバル パラメータJunos OS変数

Junos OS実行すると、自動スクリプトに入力が自動的に提供されます。スクリプトは、この入力を参照できます。これには、デバイスホスト名、スクリプト タイプ、スクリプト実行ユーザーなど、スクリプト実行環境に関するデバイス固有の情報が含まれます。この情報は、さまざまな複雑なシナリオに対応するスクリプトを作成する場合に役立ちます。

junos.xsl $junos-context ファイルをインポートする SLAX スクリプトおよび XSLT スクリプトは、ノード セットであるグローバル変数を使用してこの情報を参照できます。また、junos.xsl インポート ファイルは、スクリプトがこの情報のサブセットを簡単に参照できる、事前定義されたグローバル パラメーターを宣言します。Python スクリプトは、この情報を辞書からjunos.Junos_Context参照できます。この情報は、スクリプトにインポートする必要があります。

SLAX と XSLT スクリプトで定義済みパラメーターまたはグローバル変数を使用するには、XSLT スクリプトのスタイル シートの宣言にタグを含めて junos.xsl <xsl:import> ファイルをインポートする必要があります。あるいは、次のサンプル コードに示すように、 SLAX import スクリプトにステートメントを含め、 junos.xsl ファイルの場所を指定する必要があります。

XSLT 構文

SLAX構文

Python

Python スクリプトで情報を参照するには、辞書を Junos_Context インポートします。

スクリプトの入力については、以下のセクションで詳しく説明します。

SLAX および XSLT スクリプトで使用可能なグローバル パラメーター

junos.xsl ファイルをインポートする SLAX および XSLT 自動化スクリプトでは、事前定義されたグローバル パラメーターを複数使用できます。パラメーターは、アプリケーション環境に関するJunos OSします。表 1 は、組み込みの引数を示しています。

表 1:SLAX および XSLT スクリプトで使用可能な事前定義パラメータ

名前

説明

$hostname

ローカル デバイスのホスト名

東京

$localtime

スクリプトが実行された現地時間

12 月 10 日 11:42:21 2010 年 12 月

$localtime-iso

スクリプト実行時のローカル時間(ISO 形式)

2010-12-10 11:42:21 PST

$product

ローカル デバイスのモデル

m10i

$script

実行スクリプトのファイル名

test.slax

$user

スクリプトを実行するユーザーのローカル名

ルート

定義済みのグローバル パラメーターは、 junos.xsl ファイルで宣言 されています。パラメーターを使用するために、これらのパラメーターをスクリプトで宣言する必要はありません。次の例に示すように、パラメーター名にダラー記号($)をプレフィックスすることで、スクリプト内のグローバル パラメーターの値にアクセスします。

SLAX 構文:

XSLT 構文:

自動化スクリプトで使用可能なグローバル変数

Commit、Event、op スクリプトは、実行後にスクリプトに提供される特定の環境情報にアクセスできます。この情報にアクセスするには、Python junos.Junos_Context スクリプトは、辞書をインポートして参照する必要があります。junos.xsl $junos-context ファイルをインポートする SLAX スクリプトと XSLT スクリプトは、グローバル変数を参照できます。また、同じ情報を、それぞれのスクリプト言語に適した形式で含めることもできます。 $junos-context Junos_Context

変数 $junos-context はノードと <junos-context> 次の階層を含むノードセットであり、すべてのスクリプトのソース ツリーに共通して組み込まれています。

また、実行されるスクリプトのタイプに応じて、スクリプト固有の情報を利用できます。op スクリプトの場合、エレメント <op-context> は op スクリプトに提供されるソース ツリーにも 含まれます

コミット スクリプトの場合、要素 <commit-context> はコミット スクリプトに提供されるソース ツリーにも含まれます。

表 2 $junos-context は、可変ノード セットの各ノードを識別し、ノードの簡単な説明と、空のタグとしてスクリプトに入力されていない要素の値の例を示しています。

表 2:SLAX $junos XSLT スクリプトで使用可能なグローバル変数のコンテキスト

親ノード

ノード

説明

内容の例

<junos-context>

<チェシ>

ルーティング マトリクス、ルート システム ドメイン(RSD)、または保護システム ドメイン(PSD )のコンポーネント上でスクリプトを実行するかどうかを指定します。

scc、lcc(TX Matrix)psd、rsd(JCS)その他

<Hostname>

ローカル デバイスのホスト名

東京

<移動時間>

スクリプトが実行された現地時間

12 月 10 日 11:42:21 2010 年 12 月

<altime-iso>

スクリプト実行時のローカル時間(ISO 形式)

2010-12-10 11:42:21 PST

<ピッド>

cscript プロセス ID

5257

<製品>

ローカル デバイスのモデル

m10i

<マスター/>

スクリプトがプライマリ ノードで実行されている場合に、空の要素ルーティング エンジン

 

<ルーティング エンジン名>

ルーティング エンジン実行する方法について

re0

<script-type>

実行するスクリプトのタイプ

Op

<tty>

ユーザー セッションの TTY

/dev/ttyp1

<junos-context><user-context>

<class-name>

スクリプト実行ユーザーのログイン クラス

スーパーユーザ

<login-name>

スクリプトを実行するユーザーのログイン名。アクセス AAA は、TACACS RADIUS/TACACS ユーザー名です。

Jsmith

<uid>

デバイス設定で定義された方法でスクリプトを実行するユーザーのユーザー ID 番号

2999

<ユーザー>

スクリプトを実行するユーザーのローカル名。Junos OSは、認証にローカル名を使用します。これは、認証の要求に使用 login-name するAAA異なる場合があります。

ルート

<junos-context><op-context>

(op スクリプトのみ)

<via-url>

リモート op スクリプトが コマンドを使用して実行される場合に含まれる空の op url 要素

 

<junos-context><commit-context>

(コミット スクリプトのみ)

<commit-boot/>

起動時にコミットが実行される際に空の要素が含まれる

 

<commit-check/>

a commit check の実行時に含まれる空の要素

 

<ミットコメント>

コミットに関するユーザーコメント

転送に関する問題の修正にコミット

<commit-confirm/>

a commit confirmed の実行時に含まれる空の要素

 

<commit-sync/>

a commit synchronize の実行時に含まれる空の要素

 

<database-path/>

セッションの継承前受験者の設定の場所を指定する要素。通常の設定セッションの場合、要素の値は通常の候補データベースの場所です。プライベート設定セッションの場合、要素の値はプライベート受験者データベースの場所です。属性が<get-configuration>database-pathこの値に設定されている場合、コミット スクリプトは対応する継承前候補設定を取得します。

 

変数 $junos-context はノードセットです。したがって、適切な XPath 表現を含めて、スクリプト全体の子要素 にアクセス できます。次の SLAX コミット スクリプトは、最初の起動時にコミットが実行された場合に、システム ログ ファイルにメッセージを送信します。メッセージには、施設の値 重大度 daemon の値が与されます info。詳細については、 syslog()を参照してください

Python スクリプトがスクリプトに提供Junos_Contextされた環境情報junosにアクセスするには、モジュールから辞書をインポートする必要があります。辞書の鍵の名前はJunos_Context$junos-context、表 2 に記載されたノードの名前と同一ですjunos-context user-contextop-contextcommit-context Junos_Context、 などのノードの下でネストされたノードは、 内のアイテムにマップされます。鍵はノード名であり、値はノードの子要素の辞書です。例えば:

次の例の出力は、 Junos_Context ローカルで実行された op スクリプトの辞書を表示します。op スクリプトの入力にはキーが含 op-context まれているので注意してください。このシナリオでは空になっています。

次の例の出力は、操作 Junos_Context 中に実行されたコミット スクリプトの辞書を表示 commit check します。コミット スクリプトの入力にはキーが含まれている点に注意 commit-context してください。

辞書の個々の値にアクセスするには、キー名を指定します。例えば: