You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

11 KiB

Модули Ansible для управления облачными ресурсами в платформе DECORT

Введение

Настоящая документация содержит руководство пользователя по библиотеке модулей decort для Ansible. С помощью этих модулей Вы сможете управлять созданием и конфигурированием облачных ресурсов в платформе DECORT (Digital Energy Cloud Orchestration Technology).

По каждому модулю есть своя документация, в которой вы можете найти список доступных действий, подробную информацию о входных параметрах и возвращаемых данных, а также примеры использования.

Системные требования

Убедитесь, что Ваша система соответствует требованиям для работы модуля DECORT. Системные требования для работы модуля:

  • Интерпретатор Python 3.12
    • необходимые библиотеки Python указаны в файле requirements.txt корневой папки проекта
  • DynamiX Enterprise 4.4.0

Подготовка к работе

Для начала работы необходимо, чтобы Ansible было известно местоположение файлов модулей, а также настроить удобный для визуального восприятия формат вывода результата работы модулей. Для этого необходимо в рабочей директории, из которой будет запускаться Ansible, разместить файл ansible.cfg:

[defaults]
library=./library  ; Путь к директории library
module_utils=./module_utils  ; Путь к директории module_utils

callback_result_format=yaml  ; Настройка удобного формата вывода результата работы модулей

Авторизация

Общие параметры модулей для авторизации

Параметр Тип Описание
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 }}"