第 3 章 使用软件开发组件
3.1. 使用 Python 连接到 API 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要使用 Python 连接到 REST API,您必须从 ovirtsdk.api 模块创建一个
API 类实例。要执行此操作,需要首先在脚本开始时导入类:
from ovirtsdk.api import API
API 类的结构采用多个参数。支持的参数有:
- url
- 指定要连接的 Manager 的 URL,包括
/api路径。这个参数是必需的。 - 用户名
- 以 User Principal Name (UPN)格式指定要连接的用户名。这个参数是必需的。
- 密码
- 指定
username参数提供的用户名的密码。这个参数是必需的。 - kerberos
- 使用有效的 Kerberos 票据来验证连接。有效值为
True和False。这个参数是可选的。 - key_file
- 指定包含与
cert_file指定的证书关联的私钥的 PEM 格式密钥文件。这个参数是可选的。 - cert_file
- 指定用于在服务器上建立客户端身份的 PEM 格式的客户端证书。这个参数是可选的。
- ca_file
- 指定服务器的证书颁发机构的证书文件。这个参数是必需的,除非将
insecure参数设置为True。 - port
- 指定要使用的端口,其中尚未作为
url参数的组件提供。这个参数是可选的。 - timeout
- 指定在请求被视为超时前允许传递的时间(以秒为单位)。这个参数是可选的。
- persistent_auth
- 指定是否为这个连接启用持久性身份验证。有效值为
True和False。此参数是可选的,默认为False。 - insecure
- 允许在没有证书颁发机构的情况下通过 SSL 连接。有效值为
True和False。如果insecure参数设置为False- 它是默认值 -,则必须提供ca_file来保护连接。这个选项应该谨慎使用,因为它允许中间人(MITM)攻击者欺骗服务器的身份。 - filter
- 指定基于用户权限的过滤器是 on 或 off。有效值为
True和False。如果filter参数设置为False- 这是默认值 -,提供的身份验证凭据必须是管理用户的。如果filter参数设置为True,则可使用任何用户,管理器将根据其权限过滤用户可用的操作。 - debug
- 指定是否为这个连接启用 debug 模式。有效值为
True和False。这个参数是可选的。
您可以通过创建和操作 ovirtsdk.API Python 类的单独实例来与多个 Red Hat Virtualization Manager 通信。
本例脚本创建
API 类的实例,使用 test () 方法检查连接是否正常工作,并使用 disconnect () 方法断开连接。
from ovirtsdk.api import API
api_instance = API ( url="https://rhevm31.demo.redhat.com",
username="admin@internal",
password="Password",
ca_file="/etc/pki/ovirt-engine/ca.pem")
print "Connected successfully!"
api_instance.disconnect()
有关
API 类支持的方法的完整列表,请参阅 ovirtsdk.api 模块的 pydoc 输出。
$ pydoc ovirtsdk.api