Show Table of Contents
第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 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

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.