第3章 ソフトウェア開発キットの使用
3.1. Python を使用した API への接続
Python を使用して REST API に接続するには、ovirtsdk.api モジュールから
API
クラスのインスタンスを作成する必要があります。これを可能にするには、スクリプトの開始時に クラスを最初にインポートする必要があります。
from ovirtsdk.api import API
API
クラスのコンストラクターは、いくつかの引数を取ります。サポートされている引数は次のとおりです。
- url
/api
パスを含む、接続する Manager の URL を指定します。このパラメーターは必須です。- username
- ユーザープリンシパル名(UPN)形式で、接続するユーザー名を指定します。このパラメーターは必須です。
- password
username
パラメーターで指定したユーザー名のパスワードを指定します。このパラメーターは必須です。- Kerberos
- 有効な Kerberos チケットを使用して接続を認証します。有効な値は
True
およびFalse
です。このパラメーターは任意です。 - key_file
cert_file
で指定された証明書に関連付けられた秘密鍵を含む PEM 形式のキーファイルを指定します。このパラメーターは任意です。- cert_file
- サーバー上のクライアントのアイデンティティーを確立するために使用される 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
です。フィルター
パラメーターがFalse
(デフォルト)に設定されている場合には、指定される認証情報が管理ユーザーのものである必要があります。filter
パラメーターをTrue
に設定すると、任意のユーザーを使用でき、Manager はパーミッションに基づいてユーザーが利用可能なアクションをフィルターします。 - debug
- この接続に対してデバッグモードを有効にするかどうかを指定します。有効な値は
True
およびFalse
です。このパラメーターは任意です。
ovirtsdk.API Python クラスの別のインスタンスを作成し、操作することで、複数の Red Hat 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