第 2 章 使用软件开发套件

这部分论述了如何将软件开发套件用于版本 4。

2.1. 软件包

以下模块最常由 Python SDK 使用:

ovirtsdk4

这是顶级模块。最重要的元素是 Connection 类,这是连接到服务器的机制,并获取对服务树的根引用。

Error 类是 SDK 在需要报告错误时引发的基本例外类。

对于某些类型错误,有特定的错误类,它扩展了基本错误类:

  • AuthError - 在身份验证或授权失败时 Raized。
  • ConnectionError - 当服务器名称无法解析或者服务器无法访问时。
  • NotFoundError - 当请求的对象不存在时 Raized。
  • TimeoutError - 超时时 Raized。
ovirtsdk4.types

此模块包含实施 API 中使用的类型的类。例如,ovirtsdk4.types.Vm 类是虚拟机类型的实现。这些类是数据容器,不包含任何逻辑。

这些类的实例用作服务方法的参数和返回值。SDK 会透明地处理转换到底层表示的转换。

ovirtsdk4.services

此模块包含实施 API 支持的服务的类。例如,ovirtsdk4.services.VmsService 类是管理系统虚拟机集合的服务实现。

当服务位于时,SDK 会自动创建这些类的实例。例如,在执行以下操作时,SDD 会自动创建 VmsService 类的新实例:

vms_service = connection.system_service().vms_service()

最好避免手动创建这些类的实例,作为构造器的参数,一般情况下,除服务松cators 和服务方法以外的所有方法都可以在未来有所变化。

还有其他模块,如 ovirtsdk4.httpovirtsdk4.readersovirtsdk4.writers。它们用于实施 HTTP 通信和 XML 解析和渲染。避免使用它们,因为它们是未来可能会变化的内部实施详情,因此无法保证向后兼容。