Junos OS を実行するデバイス上の Python モジュールの概要
Python インタープリターは、Junos OS(Junos OS)の一部として含まれています。Junos OSとJunos OS Evolvedには、コミット、イベント、op、SNMP自動化スクリプトなど、Pythonアプリケーションで使用できる多くのPythonモジュールが含まれています。Juniper Extension Toolkit(JET)アプリケーションYANG アクションおよび翻訳スクリプトです。特定のモジュールの使用は、それを実行するユーザーの権限に依存します。
表 1 は、特定のリリースにおける各モジュール アップグレードの一般的な更新と影響を受けるプラットフォームの概要を示しています。特定のプラットフォームが特定のタイプのスクリプトに対して特定のバージョンの Python(2.7 または 3)をサポートする最初のリリースを確認するには、 Feature Explorer ツールを参照してください。
リリース |
変更の説明 |
サポートされているプラットフォーム |
---|---|---|
Junos OS リリース 18.1R1 |
Python 2.7 向けモジュール アップグレード |
MX240、MX480、MX960、vMXルーター |
Junos OS リリース 19.2R1 |
Python 2.7 向けモジュール アップグレード |
MXシリーズルーターとQFXシリーズスイッチ |
Junos OS リリース 19.4R1 |
Python 2.7 向けモジュール アップグレード Python 3.x のモジュール追加(コミット、イベント、op、SNMP スクリプトのみ) |
ACXシリーズ、MXシリーズ、PTXシリーズルーター EX シリーズおよび QFX シリーズ スイッチ SRX シリーズ サービス ゲートウェイ |
Junos OS リリース 20.2R1 |
Python 3.x 用のモジュール追加 |
ACXシリーズ、MXシリーズ、PTXシリーズルーター EX シリーズおよび QFX シリーズ スイッチ SRX シリーズ サービス ゲートウェイ |
Junos OS Evolved リリース 21.2R1 |
Python 3.x 用のモジュール追加 |
PTX シリーズ ルーター |
表 2 は、Junos OS および Python 2.7 および Python 3 のJunos OS Evolvedで使用可能な Python モジュールの概要を示しています。
パッケージ/モジュール |
説明 |
サポート |
サポート |
||
---|---|---|---|---|---|
2.7 |
3.x |
2.7 |
3.x |
||
|
アプリケーション固有のユーザー データに対する、プラットフォーム固有の適切なディレクトリへのパスを決定します。 |
Y |
Y |
Y |
Y |
|
抽象構文記法 1(ASN.1)構造を解析およびシリアル化するためのライブラリ。 |
Y |
Y |
Y |
Y |
|
すべての定型コードを書くことなくクラスを記述できるPythonパッケージ。 |
– |
– |
– |
Y |
|
有限状態機械の Python 表現 |
– |
– |
– |
Y |
|
パスワード ハッシュとストレージ用のライブラリ。 |
– |
– |
– |
Y |
|
Python アプリケーションが C コードとやり取りできる、Python 用の C 外部関数インターフェース。 |
Y |
Y |
Y |
Y |
|
Python 2および3用ユニバーサル文字エンコーディング検出器。 |
Y |
Y |
Y |
Y |
|
記号定数サポートを提供するライブラリ。 |
– |
– |
– |
Y |
|
暗号化アルゴリズムとプロトコルを実装する PyCrypto パッケージ内の Python モジュールのコレクション。モジュールは、さまざまなセキュアハッシュと暗号化機能を提供します。 |
Y |
Y |
Y |
Y |
|
暗号化レシピとプリミティブを Python で提供します。 |
Y |
Y |
Y |
Y |
|
非同期で呼び出し可能を実行するためのインターフェイスを提供します。 Python 3 には、標準ライブラリの一部としてこのパッケージが含まれています。 |
Y |
Y |
Y |
Y |
|
ECDSA 暗号化の実装を提供します。これは、鍵ペアの作成、メッセージの署名、署名の検証に使用できます。 |
Y |
Y |
Y |
Y |
|
Python 3 には、標準ライブラリの一部としてこの機能が含まれています。 |
Y |
Y |
Y |
Y |
|
ツイストのネイティブRPCプロトコルの新バージョン。 |
– |
– |
– |
Y |
|
Python 2 と Python 3 の互換性ライブラリ。 |
– |
– |
– |
Y |
|
プロトコル バッファ(protobuf)の操作をサポートします。 |
Y |
Y |
Y |
Y |
|
Python gRPC ツール。 |
Y |
Y |
Y |
Y |
|
不変な URL の Python による純粋な実装。 |
– |
– |
– |
Y |
|
RFC 5891, Internationalized Domain Names in Applications( IDNA):Protocolで定義されている、アプリケーション内の国際ドメイン名(IDNA)プロトコルをサポートします。 |
Y |
Y |
Y |
Y |
|
Python プロジェクトのバージョン管理用ライブラリ。 |
– |
– |
– |
Y |
|
IPv4 および IPv6 アドレス上で作成、操作、操作する機能を提供します。 Python 3 には、標準ライブラリの一部としてこのモジュールが含まれています。
メモ:
Junos OS リリース 19.3R1 以降の Python スクリプトで IPv6 を使用して、アップグレードされた FreeBSD で Junos OS を実行しているデバイス。 |
Y |
Y |
Y |
Y |
|
Python 向けの高速でセキュアなデザイナー向けテンプレート作成言語。 Jinja2 の詳細については、「 http://jinja.pocoo.org/docs/dev/」を参照してください。 |
Y |
Y |
Y |
Y |
|
Junos OS 実行デバイスの自動化を可能にする Python 向けマイクロフレームワーク。Junos PyEZ は、自動化タスク用に構築された環境で、ユーザーが Junos OS CLI(コマンドライン インターフェイス)で使用できる機能を提供するように設計されています。 詳細については、 Junos PyEZ を参照してください。 |
Y |
Y |
Y |
Y |
|
XML を Python データ構造に変換し、Python データ構造を XML に変換するための Python モジュールです。 詳細については、「 https://jxmlease.readthedocs.io/」 を参照してください。 |
Y |
Y |
Y |
Y |
|
C libraryes libxml2 と libxslt の速度と XML 機能の完全性と、ネイティブ Python API のシンプルさを組み合わせた XML 処理ライブラリです。 詳細については、「 http://lxml.de」 を参照してください。 |
Y |
Y |
Y |
Y |
|
XML、HTML、または XHTML マークアップ安全文字列をエスケープしてフォーマットする機能を提供します。 |
Y |
Y |
Y |
Y |
|
NETCONF プロトコルを使用して、クライアント スクリプティングとアプリケーション開発を容易にします。 外部APIのドキュメントを含む、の詳細については |
Y |
Y |
Y |
Y |
|
レイヤー 2 およびレイヤー 3 ネットワーク アドレスの処理を可能にするネットワーク アドレス操作ライブラリです。 |
Y |
Y |
Y |
Y |
|
Python パッケージ用のコア ユーティリティ。 |
Y |
Y |
Y |
Y |
|
アプリケーションがメッセージをパブリッシュしたり、トピックを購読したり、公開されたメッセージを受信したりするためのメッセージ キュー テレメトリ トランスポート(SFP)ブローカーに接続できるクライアント クラスとして機能します。 |
Y |
Y |
Y |
Y |
|
SSH2プロトコルベースの接続を行う機能を提供するSSH2プロトコルライブラリ。このモジュールは、クライアントモードとサーバーモードの両方で、すべての主要な暗号方式とハッシュメソッドをサポートしています。
メモ:
|
Y |
Y |
Y |
Y |
|
Python パッケージとバージョンの依存関係を検索して管理し、バンドルされたファイルやリソースにアクセスするための API を提供します。 |
Y |
Y |
Y |
Y |
|
実行中のプロセスとシステム使用率(CPU、メモリ、ディスク、プロセス)に関する情報を取得するためのライブラリ。
メモ:
|
Y |
Y |
Y |
Y |
|
YANGモジュールの処理、検証、変換を可能にする拡張可能なYANGバリデータおよびコンバータ。 Junos OSでは、Python 3のサポート |
Y |
Y |
Y |
– |
|
抽象構文記法 1(ASN.1)タイプおよび BER/CER/DER コーデック(X.208)の Python 実装。 |
Y |
Y |
Y |
Y |
|
Python クラスとして表される ASN.1 データ構造の収集。 |
– |
– |
– |
Y |
|
Python 純粋な C 言語のパーサー。モジュールは、C ソースコードを解析する必要があるアプリケーションに統合できます。 |
Y |
Y |
Y |
Y |
|
ネットワークおよび暗号化ライブラリ(NaCl)への Python バインディング。 |
– |
– |
– |
Y |
|
OpenSSL ライブラリのサブセットを中心とした Python ラッパー モジュール。 |
– |
– |
– |
Y |
|
シンプルな文法を作成して実行するための別のアプローチを提供します。 |
Y |
Y |
Y |
Y |
|
日時モジュールの拡張を提供します。 |
– |
– |
– |
Y |
|
Python を使用して HTTP/1.1 リクエストの送信を可能にするライブラリ。 |
Y |
Y |
Y |
Y |
|
PARAMIKOトランスポートを使用してSCPプロトコルを介してファイルを送受信するParamiikoのSCPプロトコルの実装。 |
Y |
Y |
Y |
Y |
|
シリアル ポートのアクセスをカプセル化する pySerial パッケージ内のモジュール。 |
Y |
Y |
Y |
Y |
|
pyOpenSSL と暗号化のサービス識別検証。 |
– |
– |
– |
Y |
|
Python プロジェクトのパッケージ化を容易にできるように設計されたライブラリ。 |
– |
Y |
– |
Y |
|
Python 2 と Python 3 の互換性ライブラリ。 |
Y |
Y |
Y |
Y |
|
Apache Thrift フレームワーク用の Python バインディングを提供します。
|
Y |
– |
– |
– |
|
オブジェクト指向ステートマシンの実装。 |
– |
– |
– |
Y |
|
インターネット アプリケーション向けのイベントベースのフレームワーク。 |
– |
– |
– |
Y |
|
Python向けHTTPクライアント。 |
Y |
Y |
Y |
Y |
|
データを YAML 形式でシリアル化および逆シリアル化するために使用される PyYAML パッケージ内のモジュール。 |
Y |
Y |
Y |
Y |
|
PyYAML 用の YAML ローダーおよびダンプ。オブジェクトを使用 |
– |
– |
– |
Y |
|
Python のインターフェイスを指定できるパッケージ。 |
– |
– |
– |
Y |