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.
decort-ansible/wiki/5.6.0/введение.md

7.9 KiB

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

Введение

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

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

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

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

  • Ansible 2.16.5 or higher
  • Python 3.10.12 or higher
  • PyJWT 1.7.1 Python module or higher
  • requests Python module
  • netaddr Python module
  • DECORT cloud platform version 4.0.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 }}"