# Модули Ansible для управления облачными ресурсами в платформе DECORT ## Введение Настоящая документация содержит руководство пользователя по библиотеке модулей decort для Ansible. С помощью этих модулей Вы сможете управлять созданием и конфигурированием облачных ресурсов в платформе DECORT (Digital Energy Cloud Orchestration Technology). По каждому модулю есть своя документация, в которой вы можете найти список доступных действий, подробную информацию о входных параметрах и возвращаемых данных, а также примеры использования. ## Системные требования Убедитесь, что Ваша система соответствует требованиям для работы модуля DECORT. Системные требования для работы модуля: - Ansible 10.6.0 - Python 3.10.12 - PyJWT 2.10.1 Python module - requests 2.32.3 Python module - DynamiX Enterprise 4.2.0 ## Подготовка к работе Для начала работы необходимо, чтобы Ansible было известно местоположение файлов модулей. Для этого необходимо: - либо разместить директории **library** и **module_utils** в одной директории с плейбуками - либо в рабочей директории, из которой будет запускаться Ansible, разместить файл **ansible.cfg**, в котором задать пути к файлам модулей, например: ``` [defaults] library=./library module_utils=./module_utils ``` ## Авторизация ### Общие параметры модулей для авторизации
Параметр Тип Описание
app_id (str) Идентификатор приложения, использующийся для получения токена в режимах authenticator: bvs или authenticator: decs3o. Данный параметр является обязательным для указанных режимов. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_APP_ID.
app_secret (str) Секретный ключ приложения, использующийся для получения токена в режимах authenticator: bvs или authenticator: decs3o. Данный параметр является обязательным для указанных режимов. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения DECORT_APP_SECRET.
authenticator (str)
Значения:
bvs
decs3o
oauth2
jwt
Default: decs3o
Режим аутентификации для получения токена. Значение oauth2 является устаревшим и равнозначным decs3o.
controller_url (str) URL контроллера, соответствующего экземпляру облачной платформы DECORT. Данный параметр является обязательным.
domain (str) Домен BVS, использующийся для получения токена в режиме authenticator: bvs. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_DOMAIN.
jwt (str) JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме authenticator: jwt. Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения DECORT_JWT.
oauth2_url (str) URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режимах authenticator: bvs или authenticator: decs3o. Данный параметр является обязательным для указанных режимов. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_OAUTH2_URL.
password (str) Пароль пользователя, который должен использоваться в режиме authenticator: bvs. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_PASSWORD.
username (str) Логин пользователя, который должен использоваться в режиме authenticator: bvs. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_USERNAME.
verify_ssl (bool)
Default: true
Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах.
### Пример авторизации с помощью DECS3O ``` - name: Example hosts: localhost tasks: - name: DECS3O auth decort_module_name: # Специфичные для модулей параметры упущены # Пример демонстрирует только параметры для авторизации app_id: "{{ app_id }}" app_secret: "{{ app_secret }}" authenticator: decs3o controller_url: https://dynamix.local oauth2_url: https://sso-dynamix.local ``` ### Пример авторизации с помощью BVS ``` - name: Example hosts: localhost tasks: - name: BVS auth decort_module_name: # Специфичные для модулей параметры упущены # Пример демонстрирует только параметры для авторизации app_id: "{{ app_id }}" app_secret: "{{ app_secret }}" authenticator: bvs controller_url: https://dynamix.local oauth2_url: https://bvs.local domain: dynamix username: "{{ username }}" password: "{{ password }}" ``` ### Пример авторизации с помощью JSON Web Token ``` - name: Example hosts: localhost tasks: - name: Auth with JWT decort_module_name: # Специфичные для модулей параметры упущены # Пример демонстрирует только параметры для авторизации authenticator: jwt controller_url: "{{ controller_url }}" jwt: "{{ jwt }}" ```