Я знаю, что у нас есть графический веб-интерфейс и консольный клиент для создания пользователя или учетной записи и создания экземпляров других компонентов openstack. Также есть rest API, который позволяет вам получить токен из keystone и аутентифицироваться с другими компонентами.
Но есть ли способ СОЗДАТЬ пользователя или учетную запись программно через какой-либо API-интерфейс или SDK, а затем получить конечные точки или другие учетные данные соответственно?
Одна из основных причин, по которой люди используют OpenStack, заключается в том, что он предоставляет набор REST API для управления всем. Люди очень часто никогда взаимодействуют с веб-интерфейсом.
Абсолютно Любые действие, которое вы выполняете с помощью веб-интерфейса (или инструментов командной строки), реализуется с использованием REST API.
Управление пользователями и проектами осуществляется через 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
, которое определяет ваш файл облака.yaml).