Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SLAX および XSLT スクリプトを使用した構成の変更

SLAX および XSLT op およびイベント スクリプトは、テンプレートを jcs:load-configuration 使用して Junos OS 構成の構造化された変更を行うことができます。Junos OS に精通している経験豊富なユーザーは、関連する設定情報を入力するよう求めるスクリプトを作成し、それに応じて設定を変更できます。これにより、Junos OSの使用経験が少ないユーザーは、スクリプトを使用して設定を安全に変更できます。

このトピックでは、テンプレートを使用して構成を jcs:load-configuration 変更する方法について説明します。

jcs:load-configurationテンプレートの概要

このテンプレートはjcs:load-configuration、junos.xslインポートファイルに含まれています。テンプレートには次のことができます。

  • 、 、または load override の操作を使用して、Junos XML 設定データをload mergeload replace候補の設定に読み込み、変更をコミットします。

  • アクティブな設定を以前にコミットした設定にロールバックする

  • レスキュー設定を読み込み、コミットする

と呼ばれると、テンプレートは jcs:load-configuration ターゲット デバイスで次のアクションを実行します。

  1. 設定データベースをロックします。

  2. コンフィギュレーション変更を読み込みます

  3. 設定をコミットします。

  4. 設定データベースのロックを解除します。

テンプレートは jcs:load-configuration 、モードで configure exclusive 設定を変更します。このモードでは、スクリプトが共有データベースにアクセスし、設定を変更する限り、Junos OSは候補の グローバル 設定をロックします。構成データベースが既にロックされている場合、またはテンプレートが呼び出されたときに候補構成にコミットされていない変更がある場合、テンプレート呼び出しは失敗することがあります。テンプレートが設定データを正常に読み込むのにコミットに失敗した場合、Junos OSはデータベースのロックを解除するときにコミットされていない変更を破棄します。

SLAXテンプレートの構文は次のとおりです。

XSLT テンプレートの構文は次のとおりです。

テンプレートに引数を指定して、 jcs:load-configuration 以下を指定します。

  • 変更が行われるデバイスへの接続ハンドル

  • 設定に加える変更は

  • 既存の設定に変更を統合する方法を定義するロードアクション

  • オプションのコミット オプション

テンプレートを呼び出す前に、ターゲット デバイスとの接続を確立するjcs:load-configuration必要があります。デバイスに接続するには、必要な引数を使用してjcs:open()関数を呼び出します。次に、jcs:load-configurationconnection関数から返されるハンドルにパラメーターをjcs:open()設定します。

次のサンプル コードはローカル デバイスに接続し、設定を変更します。

テンプレートを jcs:load-configuration 呼び出すときに、 パラメーターを configuration 含めてデバイス上の新しい設定データを読み込むこと、パラメータを指定 rollback して以前にコミットされた設定に戻すか、パラメーターを指定 rescue してレスキュー設定をロードしてコミットすることができます。

設定データの読み込みとコミット

SLAX スクリプトと XSLT スクリプトは、テンプレートを jcs:load-configuration 呼び出して構成を変更できます。このパラメーターは configuration 読み込む Junos XML 構成データを定義し action 、パラメーターはデータの読み込み方法を指定します。このパラメーターは commit-options 、コミット操作中に使用するオプションを定義します。

次のサンプル op スクリプトは、インターフェイスを jcs:load-configuration 無効にするように設定を変更するテンプレートを呼び出します。テンプレートに必要なすべての jcs:load-configuration 値は変数として定義され、引数としてテンプレートに渡されます。

オペレーターは := 、テンプレート呼び出しの結果を jcs:load-configuration 一時変数にコピーし、その変数に対して関数を node-set 実行します。演算子は := 、スクリプトがコンテンツに disable-results アクセスできるように、変数が結果ツリー フラグメントではなくノードセットであることを確認します。

SLAX構文:

このスクリプトの詳細については、「 例: SLAX および XSLT Op スクリプトを使用して構成を変更する」を参照してください。

テンプレートへの呼び出し jcs:load-configuration の同等の XSLT コードは次のとおりです。

レスキュー設定の読み込みとコミット

レスキュー設定では、既知の機能する設定や、いつでも復元できる既知の状態の設定を定義できます。SLAX スクリプトと XSLT スクリプトは、 パラメーターを jcs:load-configuration 使用してテンプレートを rescue 呼び出して、レスキュー設定が存在する場合は読み込むことができます。

次の SLAX op スクリプトは、既存のレスキュー設定を読み込み、コミットします。

同等の XSLT スクリプトは次のとおりです。

設定のロール バック

SLAX スクリプトと XSLT スクリプトは、 パラメーターを jcs:load-configuration 使用してテンプレートを rollback 呼び出して、以前にコミットされた構成に戻すことができます。次のSLAX opスクリプトは、ロールバック番号を入力するよう求め、要求されたロールバック設定を読み込んでコミットします。