我知道我们有一个基于Web的GUI和一个控制台客户端来创建用户或帐户并创建其他openstack组件的实例。还有rest api允许你从keystone获取令牌并与其他组件进行身份验证。
但有没有办法通过一些rest api或sdk以编程方式创建用户或帐户,然后相应地获取端点或其他凭据?
人们使用OpenStack的主要原因之一是因为它提供了一套REST API来管理所有内容。人们从不与网络ui进行交互是非常普遍的。
使用REST API实现使用Web界面(或命令行工具)完成的任何操作。
用户和项目管理通过Identity API处理。您可以在此处找到完整的API文档:
大多数服务都有Python SDK。 openstacksdk模块为许多常见的OpenStack服务提供了高级接口。
使用openstacksdk,创建用户可能如下所示:
>>> import openstack
>>> cloud = openstack.connect(cloud='mycloud')
>>> user = cloud.create_user('example-user', domain_id='default')
(这个例子假设你有一个名为mycloud
的云定义了你的clouds.yaml file)。