第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 の解析とレンダリングに使用されます。これらのクラスには、将来変更される可能性のある内部実装の詳細が含まれるため、使用は推奨されません。それらの下位互換性は信頼できません。