|
|
|
|
# Модуль decort_group
|
|
|
|
|
## Обзор модуля decort_group
|
|
|
|
|
Модуль **decort_group** позволяет производить следующие действия над группами базовой службы:
|
|
|
|
|
- создать
|
|
|
|
|
- получить информацию
|
|
|
|
|
- запустить/остановить
|
|
|
|
|
- подключить/отключить сети (для существующей группы только внутренние сети)
|
|
|
|
|
- изменить
|
|
|
|
|
- имя
|
|
|
|
|
- объём загрузочного диска
|
|
|
|
|
- количество ВМ
|
|
|
|
|
- роль
|
|
|
|
|
- количество виртуальных процессоров
|
|
|
|
|
- объём ОЗУ
|
|
|
|
|
- удалить (безвозвратно)
|
|
|
|
|
|
|
|
|
|
## Параметры модуля decort_group
|
|
|
|
|
Ниже приведен полный список параметров для модуля **decort_group**.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Параметр | Тип, допустимые значения | Описание |
|
|
|
|
|
| ------ | ------ | ------ |
|
|
|
|
|
| account_id | (int) | Идентификатор аккаунта. При идентификации группы по имени (см. параметр `name`) должен быть задан либо идентификатор, либо имя аккаунта (см. параметр `account_name`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется. |
|
|
|
|
|
| account_name | (string) | Имя аккаунта. При идентификации группы по имени (см. параметр `name`) должно быть задано либо имя, либо идентификатор аккаунта (см. параметр `account_id`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется. |
|
|
|
|
|
| app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_APP_ID`. |
|
|
|
|
|
| app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения `DECORT_APP_SECRET`. |
|
|
|
|
|
| authenticator | (str)<br>Значения:<br>`oauth2`<br>`jwt` | Режим аутентификации при подключении к контроллеру облачной платформы DECORT. Обязательный параметр. |
|
|
|
|
|
| boot_disk | (int) | Обьём загрузочного диска. |
|
|
|
|
|
| bservice_id | (int) | Идентификатор базовой службы. Обязательный параметр. |
|
|
|
|
|
| controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT. Данный параметр является обязательным. |
|
|
|
|
|
| count | (int) | Количество виртуальных машин. |
|
|
|
|
|
| cpu | (int) | Количество виртуальных процессоров. |
|
|
|
|
|
| driver | (string)<br>Значения:<br>`KVM_X86`<br>`SVA_KVM_X86`<br>Default: `KVM_X86` | Драйвер. |
|
|
|
|
|
| id | (int) | Идентификатор группы. |
|
|
|
|
|
| image_id | (int) | Идентификатор образа. |
|
|
|
|
|
| jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt` Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения `DECORT_JWT`. |
|
|
|
|
|
| name | (str) | Имя группы.<br>Используется для идентификации группы, если не задан параметр `id`, а также для переименования группы, если параметр `id` задан. |
|
|
|
|
|
| networks | (list) | Список словарей, описывающих сети, которые должны быть подключены.<br>Ключи словаря:<br>• `type` (string) (обязательный) - тип сети; значения: `VINS` (внутренняя) или `EXTNET` (внешняя)<br>• `id` (int) (обязательный) - идентификатор сети |
|
|
|
|
|
| oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_OAUTH2_URL`. |
|
|
|
|
|
| ram | (int) | Объём оперативной памяти. |
|
|
|
|
|
| role | (string) | Тег роли. |
|
|
|
|
|
| state | (str)<br>Значения:<br>`present`<br>`absent`<br>`started`<br>`stopped`<br>`check`<br>Default: `present` |
|
|
|
|
|
| timeoutStart | (int) | Время отсрочки запуска группы после создания в секундах. |
|
|
|
|
|
| verify_ssl | (bool)<br>Default: `true` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
|
|
|
|
|
|
|
|
|
|
## Возвращаемые значения модуля decort_group
|
|
|
|
|
|
|
|
|
|
Модуль **decort_group** возвращает информацию о группе в виде словаря facts со следующими ключами:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|Ключ | Тип данных | Описание|
|
|
|
|
|
| ------ | ------ | ------ |
|
|
|
|
|
| account_id | int | Идентификатор аккаунта. |
|
|
|
|
|
| Computes | list | Список словарей, содержащих информацию о виртуальных машинах группы.<br>Ключи словаря:<br>• `id` (int) - идентификатор ВМ<br>• `ipAddresses` (list) - список IP-адресов ВМ<br>• `name` (str) - имя ВМ<br>• `osUsers` (list) - список словарей, содержащих учётные данные пользователей ОС ВМ по умолчанию; ключи: `login` (str) и `password` (str) |
|
|
|
|
|
| id | int | Идентификатор группы.|
|
|
|
|
|
| name | string | Имя группы.|
|
|
|
|
|
| rg_id | int | Идентификатор ресурсной группы. |
|
|
|
|
|
| state | string | Состояние группы. |
|
|
|
|
|
| techStatus | string | Технический статус группы. |
|
|
|
|
|
|
|
|
|
|
## Пример использования модуля decort_group
|
|
|
|
|
|
|
|
|
|
Данный пример создаёт группу с именем `test_group`.
|
|
|
|
|
```
|
|
|
|
|
- hosts: localhost
|
|
|
|
|
tasks:
|
|
|
|
|
- name: Create BS group
|
|
|
|
|
decort_group:
|
|
|
|
|
app_id: "{{ my_app_id }}"
|
|
|
|
|
app_secret: "{{ my_app_secret }}"
|
|
|
|
|
authenticator: oauth2
|
|
|
|
|
boot_disk: 10
|
|
|
|
|
bservice_id: 1823
|
|
|
|
|
controller_url: "https://ds1.digitalenergy.online"
|
|
|
|
|
count: 2
|
|
|
|
|
cpu: 2
|
|
|
|
|
image_id: 518
|
|
|
|
|
name: test_group
|
|
|
|
|
networks:
|
|
|
|
|
- type: VINS
|
|
|
|
|
id: 1987
|
|
|
|
|
oauth2_url: "https://sso.digitalenergy.online"
|
|
|
|
|
ram: 2
|
|
|
|
|
verify_ssl: false
|
|
|
|
|
register: group_test
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Данный пример удаляет группу с именем `test_group`.
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
- hosts: localhost
|
|
|
|
|
tasks:
|
|
|
|
|
- name: Delete BS group
|
|
|
|
|
decort_group:
|
|
|
|
|
app_id: "{{ my_app_id }}"
|
|
|
|
|
app_secret: "{{ my_app_secret }}"
|
|
|
|
|
authenticator: oauth2
|
|
|
|
|
bservice_id: 1823
|
|
|
|
|
controller_url: "https://ds1.digitalenergy.online"
|
|
|
|
|
name: test_group
|
|
|
|
|
oauth2_url: "https://sso.digitalenergy.online"
|
|
|
|
|
state: absent
|
|
|
|
|
verify_ssl: False
|
|
|
|
|
register: group_test
|
|
|
|
|
```
|