# Модуль 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)
Значения:
`oauth2`
`jwt` | Режим аутентификации при подключении к контроллеру облачной платформы DECORT. Обязательный параметр. | | boot_disk | (int) | Обьём загрузочного диска. | | bservice_id | (int) | Идентификатор базовой службы. Обязательный параметр. | | controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT. Данный параметр является обязательным. | | count | (int) | Количество виртуальных машин. | | cpu | (int) | Количество виртуальных процессоров. | | driver | (string)
Значения:
`KVM_X86`
`SVA_KVM_X86`
Default: `KVM_X86` | Драйвер. | | id | (int) | Идентификатор группы. | | image_id | (int) | Идентификатор образа. | | jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt` Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения `DECORT_JWT`. | | name | (str) | Имя группы.
Используется для идентификации группы, если не задан параметр `id`, а также для переименования группы, если параметр `id` задан. | | networks | (list) | Список словарей, описывающих сети, которые должны быть подключены.
Ключи словаря:
• `type` (string) (обязательный) - тип сети; значения: `VINS` (внутренняя) или `EXTNET` (внешняя)
• `id` (int) (обязательный) - идентификатор сети | | oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_OAUTH2_URL`. | | ram | (int) | Объём оперативной памяти. | | role | (string) | Тег роли. | | state | (str)
Значения:
`present`
`absent`
`started`
`stopped`
`check`
Default: `present` | | timeoutStart | (int) | Время отсрочки запуска группы после создания в секундах. | | verify_ssl | (bool)
Default: `true` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. | ## Возвращаемые значения модуля decort_group Модуль **decort_group** возвращает информацию о группе в виде словаря facts со следующими ключами: |Ключ | Тип данных | Описание| | ------ | ------ | ------ | | account_id | int | Идентификатор аккаунта. | | Computes | list | Список словарей, содержащих информацию о виртуальных машинах группы.
Ключи словаря:
• `id` (int) - идентификатор ВМ
• `ipAddresses` (list) - список IP-адресов ВМ
• `name` (str) - имя ВМ
• `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 ```