3.5. コレクションからのリソース一覧の取得
この例では、list メソッドを使用して、リソースの
一覧
をコレクションから取得します。
例3.3 コレクション内の全リソース一覧の取得
Datacenter コレクション内の全リソース一覧の取得。
list
メソッドの クエリー
パラメーターを使用すると、エンジンベースのクエリーを使用できます。これにより、SDK は、管理ポータルおよびユーザーポータルで実行される形式と同じ形式でクエリーの使用をサポートします。クエリー
パラメーターは、コレクションを介して反復処理中にページネーション引数を提供するメカニズムでもあります。
dc_list = [] dc_page_index = 1 dc_page_current = api.datacenters.list(query="page %s" % dc_page_index) while(len(dc_page_current) != 0): dc_list = dc_list + dc_page_current dc_page_index = dc_page_index + 1 dc_page_current = api.datacenters.list(query="page %s" % dc_page_index)
この例では、
datacenters
コレクションに含まれるリソースのリストは、最終的にローカルで定義された dc_list
リスト変数に保存されます。
警告
コレクションの
list
メソッドは、SearchResultsLimit
Red Hat Virtualization Manager 設定キーで許可されている数だけを返すように制限されます。
一覧
のすべてのレコードが返されるようにするには、以下の例のように結果をページ分割することが推奨されます。
または、
list
メソッドの max
パラメーターを、取得する最大レコード数に設定することもできます。
例3.4 キーワードベースのフィルターに一致するコレクション内のリソース一覧の取得
nfs
のストレージタイプを持つ datacenter
コレクション内の全リソース一覧を取得します。この例では、クエリー
パラメーターと **kwargs
パラメーターの両方が指定されます。クエリー
は、前述の例のようにページネーションに使用されます。**kwargs
パラメーターは、データセンターのストレージタイプに基づいてフィルターリングするために使用されます。
dc_list = [] dc_page_index = 1 dc_page_current = api.datacenters.list(query="page %s" % dc_page_index, **{"storage_type": "nfs"}) while(len(dc_page_current) != 0): dc_list = dc_list + dc_page_current dc_page_index = dc_page_index + 1 dc_page_current = api.datacenters.list(query="page %s" % dc_page_index, **{"storage_type": "nfs"})
この例では、ストレージタイプが
nfs
の datacenter
コレクションに含まれるリソースの一覧は、最終的にローカルで定義された dc_list
リスト変数に保存されます。