第3章 ソフトウェア開発キットの使用
3.1. Python を使用した API への接続
Python を使用して REST API に接続するには、ovirtsdk.api モジュールから
API
クラスのインスタンスを作成する必要があります。この操作を行うには、最初にスクリプトの先頭でクラスをインポートする必要があります。
from ovirtsdk.api import API
API
クラスのコンストラクターは、複数の引数を取ります。サポートされる引数は以下のとおりです。
- url
- 接続する Manager の URL (
/api
パスを含む) を指定します。このパラメーターは必須です。 - username
- 接続時に使用するユーザー名をユーザープリンシパル名 (UPN) 形式で指定します。このパラメーターは必須です。
- password
username
パラメーターにより提供されたユーザー名のパスワードを指定します。このパラメーターは必須です。- kerberos
- 有効な Kerberos チケットを使用して接続を認証します。有効な値は
True
とFalse
です。このパラメーターはオプションです。 - key_file
cert_file
で指定された証明書に関連付けられた秘密キーを含む PEM 形式のキーファイルを指定します。このパラメーターは必須です。- cert_file
- サーバーでクライアントの ID を確立するために使用する PEM 形式のクライアント証明書を指定します。このパラメーターはオプションです。
- ca_file
- サーバーの認証局の証明書ファイルを指定します。
insecure
パラメーターがTrue
に設定されていない限り、このパラメーターは必須です。 - port
- 接続時に使用するポートを指定します (
url
パラメーターの一部として提供されなかった場合)。このパラメーターはオプションです。 - timeout
- 要求がタイムアウトするまでの時間を秒単位で指定します。このパラメーターはオプションです。
- persistent_auth
- この接続に対して永続認証を有効にするかどうかを指定します。有効な値は
True
とFalse
です。このパラメーターはオプションで、デフォルトではFalse
に設定されています。 - insecure
- 認証局を使用しない SSL 経由の接続を許可します。有効な値は
True
とFalse
です。insecure
パラメーターがFalse
(デフォルト値) に設定されている場合は、ca_file
を提供して接続をセキュリティー保護する必要があります。このオプションにより、サーバーになりすました中間者 (MITM) 攻撃が可能となる場合があるため、細心の注意を払って使用してください。 - filter
- ユーザーパーミッションベースのフィルターをオンまたはオフにするかどうかを指定します。有効な値は、
True
とFalse
です。filter
パラメーターがFalse
(デフォルト値) に設定された場合は、管理ユーザーの認証情報を提供する必要があります。filter
パラメーターがTrue
に設定された場合は、どのユーザーでも使用でき、Manager はユーザーのパーミッションに基づいてユーザーが利用可能なアクションをフィルタリングします。 - debug
- この接続に対してデバッグモードを有効にするかどうかを指定します。有効な値は
True
とFalse
です。このパラメーターはオプションです。
ovirtsdkAPI Python クラスの別個のインスタンスを作成して操作することにより、複数の Red Hat Enterprise Virtualization Manager と通信することが可能です。
このサンプルスクリプトは、
API
クラスのインスタンスを作成し、test()
メソッドを使用して接続が動作していることを確認し、disconnect()
メソッドを使用して接続解除します。
from ovirtsdk.api import API api_instance = API ( url="https://rhevm31.demo.redhat.com", username="admin@internal", password="Password", ca_file="/etc/pki/ovirt-engine/ca.pem") print "Connected successfully!" api_instance.disconnect()
API
クラスによりサポートされるメソッドの完全な一覧については、ovirtsdk.api モジュールの Pydoc の出力を参照してください。
$ pydoc ovirtsdk.api