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