3.5. 从集合检索资源列表
在这些示例中,使用
list 方法从集合检索资源列表。
例 3.3. 检索集合中所有资源的列表
检索
数据中心 集合中所有资源的列表。list 方法的查询参数允许使用基于引擎的查询。这样,S 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 列表中。
警告
集合
的列表 方法仅限于返回由 SearchResultsLimit Red Hat Virtualization Manager 配置键允许的数量。
为确保返回列表中的所有记录,建议您按照本例所示分页结果。
或者,您可以选择将
list 方法的 max 参数设置为您要检索的最大记录数。
例 3.4. 在集合匹配基于关键字的过滤器中检索资源列表
检索 datacenter 集合中具有
nfs 类型的所有资源的列表。在本例中,提供了 查询参数 和 **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"})
在本例中,由
datacenters 集合中包含的资源列表,存储类型为 nfs,最终存储在本地定义的 dc_list 列表变量中。