Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Python モジュールとして実行する場合の Python での Junos Snapshot Administrator について

PythonのJunos Snapshot Administrator(jsnapy)を使用すると、Junos® OSを実行しているネットワークデバイスのランタイム環境のスナップショットをキャプチャして監査できます。Jsnapyは、ネットワークサーバー(jsnapyサーバー)のコマンドラインから実行することも、jsnapyサーバー上の他のPythonスクリプト内からモジュールとして呼び出すこともできます。CLI操作の詳細については 、 Pythonの概要の「Junos Snapshot Administrator 」を参照してください。

ネットワークサーバーにインストールすると、jsnapyは他のPythonスクリプトやプログラム内のモジュールとして使用できるようになります。これ以上の構成は必要ありません。Jsnapyは、Pythonスクリプトまたはプログラムのモジュールとして使用される場合、そのすべての機能を保持します。

jsnapy を別の Python スクリプト内のモジュールとして使用するには、まず python import ステートメントを使用して、Python スクリプトが jsnapy 機能にアクセスできるようにする必要があります。このスクリプトは、スナップショットの操作時にjsnapyだけでなく、Junos OSデバイスの理解にも依存するため、利用可能なJuniper Pythonライブラリであるjnprから異なるモジュールをインポートする、2つの異なるインポートステートメントを作成する必要があります。

SnapAdminモジュールをインポートすると、スクリプトまたはプログラムは、コマンドラインで使用できるのと同じjsnapyオプションすべてにアクセスできるようになります。スクリプト内で使用する場合、関数は通常、SnapAdmin()スクリプトの後半で使用するために変数に割り当てられます。使用可能な jsnapy オプションを制御するために、 にSnapAdmin()引数が渡されます。次の例では、 SnapAdmin を変数jsに代入し、 snapchecksnapcheck、 、 の 3 つの主要オプションをそれぞれ指定して jsnapy を呼び出します。

SnapAdmin 関数を変数に代入する

jsnapyに3回電話する

デバイスモジュールを使用すると、PythonスクリプトでJunos OSデバイスに接続し、ログインし、コマンドを実行できるようになります。接続 IP アドレス、ユーザー名、およびパスワードの引数は、Python スクリプト内からデバイス モジュールを呼び出すときに指定します。たとえば、Python スクリプトの次の行は、スクリプトの後半で使用するために呼び出され device_object る変数を作成します。

上記の引数値として名前が付けられた変数は、さまざまなソースから取得できます。

  • 構成ファイル情報を Python スクリプトに組み込むには、データを格納する変数を作成し、そのデバイスに接続してテストするために必要なすべてのホスト情報とテスト情報を指定します。例えば

  • ターゲット デバイスの接続とテストの情報を含む既存の YAML 形式の構成ファイルを指定できます。例えば:

  • 接続用のスクリプト定義デバイス オブジェクトと、既存の YAML 形式のテスト ファイルの一覧を組み合わせて使用して、デバイスをテストできます。たとえば、次の行では、以前に定義したもの device_object と、実行するテストの一覧、およびスナップショット ファイルの名前を使用します。

他のPythonスクリプトまたはプログラム内からjsnapyを実行する場合、さまざまなオプションを使用できます。PythonスクリプティングとJunos OSデバイスの相互作用に精通していることは、何が可能かを学習するのに役立ちます。