Python bindings to the OpenStack Heat API¶
这是一个 OpenStack Heat API 的客户端。它包含一个 Python API(heatclient 模块),一个 python-openstackclient 插件用于命令行使用,以及一个遗留的命令行脚本(安装为 heat)。
Python API¶
为了直接使用 Python API,您必须首先获取一个认证令牌并确定要与之通信的端点
>>> tenant_id = 'b363706f891f48019483f8bd6503c54b'
>>> heat_url = 'http://heat.example.org:8004/v1/%s' % tenant_id
>>> auth_token = '3bcc3d3a03f44e3d8377f9247b0ad155'
完成这些操作后,您可以使用 API 如下所示
>>> from heatclient.client import Client
>>> heat = Client('1', endpoint=heat_url, token=auth_token)
或者,您可以使用 keystoneauth session API 创建客户端实例
>>> from keystoneauth1 import loading
>>> from keystoneauth1 import session
>>> from heatclient import client
>>> loader = loading.get_plugin_loader('password')
>>> auth = loader.load_from_options(auth_url=AUTH_URL,
... username=USERNAME,
... password=PASSWORD,
... project_id=PROJECT_ID)
>>> sess = session.Session(auth=auth)
>>> heat = client.Client('1', session=sess)
>>> heat.stacks.list()
如果您有 PROJECT_NAME 而不是 PROJECT_ID,请使用 project_name 参数。 同样,如果您的云使用 keystone v3 并且您有 DOMAIN_NAME 或 DOMAIN_ID,请将其作为 user_domain_(name|id) 提供,如果您正在使用 PROJECT_NAME,还应提供域信息作为 project_domain_(name|id)。
有关 keystoneauth API 的更多信息,请参阅 使用会话。
参考¶
OpenStackClient 命令行¶
通过命令行访问 Heat 的首选方式是使用 python-heatclient 的 python-openstackclient 插件。当同时安装了 python-heatclient 和 python-openstackclient 时,Heat 命令可通过 openstack CLI 命令获得。
遗留命令行工具¶
提供 heat 命令作为遗留 CLI 选项。 建议用户使用 openstack 命令通过 python-openstackclient 插件。
为了使用 CLI,您必须提供您的 OpenStack 用户名、密码、租户和认证端点。 使用相应的配置选项(--os-username、--os-password、--os-tenant-id 和 --os-auth-url)或将其设置为环境变量
export OS_USERNAME=user
export OS_PASSWORD=pass
export OS_TENANT_ID=b363706f891f48019483f8bd6503c54b
export OS_AUTH_URL=http://auth.example.com:5000/v2.0
命令行工具将尝试使用您提供的凭据对每个请求进行重新认证。 您可以通过手动提供认证令牌使用 --heat-url 和 --os-auth-token 来覆盖此行为。 您还可以设置这些环境变量
export HEAT_URL=http://heat.example.org:8004/v1/b363706f891f48019483f8bd6503c54b
export OS_AUTH_TOKEN=3bcc3d3a03f44e3d8377f9247b0ad155
配置完身份验证参数后,您可以运行 heat help 以查看可用命令的完整列表。
Man Pages¶
对于贡献者¶
如果您是 python-heatclient 的新贡献者,请参考:所以你想贡献…