Files
wiki-decort-ansible/7.2.0/введение.md
2025-07-21 14:24:12 +03:00

250 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Модули 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
```
## Авторизация
### Общие параметры модулей для авторизации
<table>
<tr>
<th colspan="6">Параметр</th>
<th>Тип</th>
<th>Описание</th>
</tr>
<tr>
<td colspan="6">
app_id
</td>
<td>
(str)
</td>
<td>
Идентификатор приложения, использующийся для получения токена в режимах
<code>authenticator: bvs</code> или <code>authenticator: decs3o</code>.
Данный параметр является обязательным для указанных режимов. Если
параметр не задан в playbook, модуль будет использовать значение
переменной окружения <code>DECORT_APP_ID</code>.
</td>
</tr>
<tr>
<td colspan="6">
app_secret
</td>
<td>
(str)
</td>
<td>
Секретный ключ приложения, использующийся для получения токена в режимах
<code>authenticator: bvs</code> или <code>authenticator: decs3o</code>.
Данный параметр является обязательным для указанных режимов.
Так как он содержит секретную информацию, то его не рекомендуется
задавать непосредственно в playbook. Если параметр не задан в playbook,
то модуль будет использовать значение переменной окружения
<code>DECORT_APP_SECRET</code>.
</td>
</tr>
<tr>
<td colspan="6">
authenticator
</td>
<td>
(str)
<br>Значения:
<br/><code>bvs</code>
<br/><code>decs3o</code>
<br/><code>oauth2</code>
<br/><code>jwt</code>
<br>Default: <code>decs3o</code>
</td>
<td>
Режим аутентификации для получения токена.
Значение <code>oauth2</code> является устаревшим и равнозначным
<code>decs3o</code>.
</td>
</tr>
<tr>
<td colspan="6">
controller_url
</td>
<td>
(str)
</td>
<td>
URL контроллера, соответствующего экземпляру облачной платформы
DECORT. Данный параметр является обязательным.
</td>
</tr>
<tr>
<td colspan="6">
domain
</td>
<td>
(str)
</td>
<td>
Домен BVS, использующийся для получения токена в режиме
<code>authenticator: bvs</code>. Данный параметр является
обязательным для указанного режима. Если параметр не задан в playbook,
модуль будет использовать значение переменной окружения
<code>DECORT_DOMAIN</code>.
</td>
</tr>
<tr>
<td colspan="6">
jwt
</td>
<td>
(str)
</td>
<td>
JSON Web Token (JWT), который будет использоваться для подключения
к контроллеру облачной платформы DECORT в режиме
<code>authenticator: jwt</code>. Данный параметр является
обязательным для указанного режима. Так как он содержит
потенциально секретную информацию, а сам JWT, как правило,
имеет ограниченное время жизни, то его не рекомендуется задавать
непосредственно в playbook. Если этот параметр не определен в
playbook, то модуль будет использовать значение переменной
окружения <code>DECORT_JWT</code>.
</td>
</tr>
<tr>
<td colspan="6">
oauth2_url
</td>
<td>
(str)
</td>
<td>
URL авторизационного сервера, работающего по протоколу Oauth2,
который должен использоваться в режимах
<code>authenticator: bvs</code>
или <code>authenticator: decs3o</code>. Данный параметр является
обязательным для указанных режимов. Если параметр не задан в
playbook, модуль будет использовать значение переменной
окружения <code>DECORT_OAUTH2_URL</code>.
</td>
</tr>
<tr>
<td colspan="6">
password
</td>
<td>
(str)
</td>
<td>
Пароль пользователя, который должен использоваться в режиме
<code>authenticator: bvs</code>. Данный параметр является
обязательным для указанного режима. Так как он содержит секретную
информацию, то его не рекомендуется задавать непосредственно
в playbook. Если параметр не задан в playbook, модуль будет
использовать значение переменной окружения
<code>DECORT_PASSWORD</code>.
</td>
</tr>
<tr>
<td colspan="6">
username
</td>
<td>
(str)
</td>
<td>
Логин пользователя, который должен использоваться в режиме
<code>authenticator: bvs</code>. Данный параметр является
обязательным для указанного режима. Если параметр не задан в playbook,
модуль будет использовать значение переменной окружения
<code>DECORT_USERNAME</code>.
</td>
</tr>
<tr>
<td colspan="6">
verify_ssl
</td>
<td>
(bool)
<br>Default: <code>true</code>
</td>
<td>
Позволяет отключить проверку SSL сертификатов при выполнении API
вызовов в адрес контроллера облачной инфраструктуры, например,
при работе с изолированной облачной инфраструктурой, использующей
самоподписанные сертификаты. Применяйте данный параметр с
осторожностью, предпочтительно в защищенных средах.
</td>
</tr>
</table>
### Пример авторизации с помощью 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 }}"
```