第2章 ソフトウェア開発キットの使用

この章では、Ruby ソフトウェア開発キットのモジュールとクラスを定義し、それらの使用法について説明します。

2.1. クラス

OvirtSDK4 モジュールには、次のソフトウェア開発キットクラスが含まれています。

接続
Connection クラスは、サーバーに接続し、サービスツリーの root への参照を取得するためのメカニズムです。詳細は、サーバーへの接続 を参照してください。
タイプ

Type クラスは、API でサポートされているタイプを実装します。たとえば、Vm クラスは仮想マシンタイプの実装です。クラスはデータコンテナーであり、ロジックは含まれていません。タイプのインスタンスを操作します。

これらのクラスのインスタンスは、サービスメソッドのパラメーターおよび戻り値として使用されます。基礎となる表現への変換、または基礎となる表現からの変換は、ソフトウェア開発キットによって透過的に処理されます。

サービス

Service クラスは、API でサポートされるサービスを実装します。たとえば、VmsService クラスは、システム内の仮想マシンのコレクションを管理するサービスの実装です。

これらのクラスのインスタンスは、サービスが参照されるときに SDK によって自動的に作成されます。たとえば、SystemService クラスの vms_service メソッドを呼び出すと、SDK によって VmsService クラスの新しいインスタンスが自動的に作成されます。

vms_service = connection.system_service.vms_service
警告

これらのクラスのインスタンスを手動で作成しないでください。コンストラクターのパラメーターとメソッドは、将来変更される可能性があります。

エラー

Error クラスは、ソフトウェア開発キットがエラーを報告すると発生するベース例外クラスです。

特定のエラークラスは、ベースエラークラスを拡張します。

  • AuthError - 認証または認可の失敗
  • ConnectionError - サーバー名を解決できないか、サーバーに到達できません
  • NotFoundError - 要求されたオブジェクトは存在しません
  • TimeoutError - 操作のタイムアウト
他のクラス
他のクラス (たとえば、HTTP クライアントクラス、reader、writer) は、HTTP 通信および XML の解析とレンダリングに使用されます。これらのクラスには、将来変更される可能性のある内部実装の詳細が含まれるため、使用は推奨されません。それらの下位互換性は信頼できません。