The zunclient Python API

用法

首先使用您的凭据创建一个客户端实例

>>> from zunclient import client
>>> zun = client.Client(VERSION, auth_url=AUTH_URL, username=USERNAME,
...                     password=PASSWORD, project_name=PROJECT_NAME,
...                     user_domain_name='default',
...                     project_domain_name='default')

这里 VERSION 可以是一个字符串或 zunclient.api_versions.APIVersion 对象。如果您更喜欢字符串值,可以使用 11.X (其中 X 是微版本)。

或者,您可以使用 keystoneauth session API 创建客户端实例

>>> from keystoneauth1 import loading
>>> from keystoneauth1 import session
>>> from zunclient import client
>>> loader = loading.get_plugin_loader('password')
>>> auth = loader.load_from_options(auth_url=AUTH_URL,
...                                 username=USERNAME,
...                                 password=PASSWORD,
...                                 project_name=PROJECT_NAME,
...                                 user_domain_name='default',
...                                 project_domain_name='default')
>>> sess = session.Session(auth=auth)
>>> zun = client.Client(VERSION, session=sess)

如果您有 PROJECT_NAME 而不是 PROJECT_ID,请使用 project_name 参数。 同样,如果您的云使用 keystone v3 并且您有 DOMAIN_NAME 或 DOMAIN_ID,请将其作为 user_domain_(name|id) 提供,如果您正在使用 PROJECT_NAME,还应提供域信息作为 project_domain_(name|id)

然后在其管理器上调用方法

>>> zun.containers.list()
[<Container {...}>]

>>> zun.containers.run(name="my-container", image='nginx')
<Container {...}>