Python デバイス ファイルにおける Junos スナップショット アドミニストレータについて
PythonのJunos Snapshot Administrator(jsnapy)デバイスファイルは、複数のJunos OSデバイスのIPアドレス、グループ名、ログイン資格情報を含むYAMLファイルです。ファイル内のIPアドレスとログイン資格情報は、モデル、デバイスタイプ、場所などのユーザー定義の基準でグループ化できます。デバイス・ファイルには名前付けの制限がないため、複数のデバイス・ファイルを作成でき、そのどれでも jsnapy 構成ファイルから参照できます。
Python デバイス ファイルの要素の Junos Snapshot Administrator
Jsnapy デバイス・ファイルは、ネットワークに関連するキーワードと値の組み合わせを使用して作成されます。他の YAML ファイルと同様に、構造はインデント (1 つ以上のスペース) によって派生し、シーケンス項目はダッシュ (-) で示され、キーと値のペアはコロン (:)) で区切られます。接続する Junos OS ホストを識別するために使用される IP アドレスは、単独で行に表示され、先頭にダッシュ(-)、コロン(:)が続きます。例えば:
- 192.0.2.1:
デバイス・ファイルにデバイスのグループを作成する場合は、グループ名を単独で行に入力し、その後にコロン(:);例えば:
MX_Devices:
グループ名の後にリストされたホスト IP アドレスは、デバイス・ファイルで次のグループ名が検出されるまで、このグループの一部と見なされます。これにより、構成ファイルの hosts セクション内からグループ名を参照することで、より小さなグループに連絡できます。devicesファイルにグループ名が設定されていない場合、その特定のdevicesファイルが設定ファイルで参照されるたびに、デバイスのリスト全体が接続されます。
jsnapy サーバーと Junos OS ホストの間に SSH の信頼関係が確立されていない限り、ログイン資格情報は各 IP アドレスに従います。ログイン資格情報は、キーワード username:
と passwd:
を使用して、その特定のホスト IP に必要なユーザー名とパスワードをそれぞれ指定します。
コメントは、ハッシュ (#) でコメントを開始するだけで、任意の場所で devices ファイルに挿入できます。たとえば、 #This is a comment
.
Jsnapy デバイス・ファイルは、コマンドで使用されている jsnapy
構成ファイルと同じディレクトリーに保管する必要があります。
次のコメント付きの例は、jsnapy デバイスファイルの構造を示しています。
デバイスファイルの例
user@host:~> cat devices_example.yml #Junos Snapshot Administrator in Python – Example Devices File MX_Devices: #This is a group name. - 192.0.2.33: #IP address of a Junos OS host username: username passwd: password - 192.0.2.65: username: yourname passwd: yourpassword QFX: #<-- Group name - 192.0.2.12: username: switchuser password: password1 - 198.51.100.10: username: switchuser passwd: password1 Finance: - 192.0.2.36: username: financeuser passwd: 1password - 192.0.2.11: username: financeuser passwd: 1password RandD: - 198.51.100.1 #No login credentials needed for these hosts because of existing SSH trust relationships. - 198.51.100.254