# Модуль decort_rg
## Обзор модуля decort_rg
Модуль decort_rg предназначен для создания, редактирования и удаления ресурсных групп (Resource Group, RG) в облачной платформе DECORT, а также для получения информации об уже существующей ресурсной группе. Модуль decort_rg позволяет:
- создавать ресурсные группы
- удалять ресурсные группы (в корзину или безвозвратно, с удалением содержимого или без)
- восстанавливать ресурсные группы из корзины
- включать/отключать ресурсные группы
- запрашивать информацию об уже существующих ресурсных группах
- изменять ресурсные группы:
- переименовывать
- настраивать квоты
- задавать стандартную сеть
- настраивать права доступа для пользователей
- изменять доступные пулы СХД
- изменять описание
## Параметры модуля decort_rg
Ниже приведен список параметров для модуля **decort_rg** (за исключением [общих параметров](./введение.md#общие-параметры-модулей)):
| Параметр | Тип, допустимые значения | Описание |
|----------|--------------------------|----------|
| account_id | (int) | Уникальный целочисленный идентификатор аккаунта, в рамках которого создаётся или уже существует данная ресурсная группа. Должен быть задан либо идентификатор, либо имя аккаунта (см. параметр `account_name`). Если одновременно заданы и `account_id`, и `account_name`, то account_name игнорируется. |
| account_name | (string) | Имя аккаунта, в рамках которого создаётся или уже существует данная ресурсная группа. Должно быть задано либо имя, либо идентификатор учётной записи (см. параметр `account_id`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется. |
| access | (dict) | Параметр, позволяющий выдать, забрать или изменить права у пользователя в ресурсной группе.
Ключи словаря:
• `action` (str) - режим изменения прав доступа для указанного пользователя. Обязательный параметр. Значения: `grant`, `revoke`
• `user` (str) - имя пользователя. Обязательный параметр.
• `right` (str) - права доступа. Обязателен при `action: grant`. Значения: `R`, `RCX`, `ARCXDU`. |
| description | (string) | Текстовое описание ресурсной группы. |
| def_netId | (int) | Уникальный целочисленный идентификатор внутренней или внешней сети. Используется для изменения сети по умолчанию в ресурсной группе. |
| def_netType | (string)
Значения:
`PRIVATE`
`PUBLIC`
`NONE`
Default: `PRIVATE` | Тип сети по умолчанию в ресурсной группе. Используется при создании ресурсной группы, а также при изменении. |
| extNetId | (int) | Уникальный целочисленный идентификатор внешней сети.
Если `def_netType: PRIVATE`, то указывает какую внешнюю сеть подключить к создаваемой внутренней сети, которая будет задана как сеть по умолчанию для создаваемой РГ.
Если `def_netType: PUBLIC`, то указывает какую внешнюю сеть задать как сеть по умолчанию для создаваемой РГ. |
| extNetIp | (string) | IP-адрес для внешней сети, которая задана в параметре `extNetId`. |
| ipcidr | (string) | IP-адрес внутренней сети. Используется при создании ресурсной группы, чтобы задать IP-адрес сети для создаваемой внутренней сети, которая создастся вместе с ресурсной группой. Используется при параметре `def_netType` в значении `PRIVATE`. |
| owner | (string) | Владелец ресурсной группы. Задаётся при создании ресурсной группы, не обязателен. Если оставить пустое значение - владельцем ресурсной группы будет пользователь, создавший ресурсную группу. |
| permanently | (bool)
Default: `false` | Параметр, использующийся при удалении ресурсной группы. При значении `true` - ресурсная группа удалится безвозвратно, а при `false` - попадёт в корзину. |
| quotas | (dict) | Предназначено для задания или изменения квоты на ресурсы в составе данной ресурсной группы.
Ключи словаря:
• `cpu` (int) - количество виртуальных процессоров
• `disk` (int) - объём дисков в ГБ
• `ext_ips` (int) - количество внешних IP-адресов
• `ram` (int) - объём оперативной памяти в МБ
• `storage_policies` (list) - список словарей, описывающих квоты по политикам хранения. Ключи словаря: `id` (int) - идентификатор политики хранения; `storage_size_gb` (int) - объём дисков.|
| recursive_deletion | (bool)
Default: `false` | Рекурсивное удаление.
Если `true`, то при удалении РГ будет удалено всё её содержимое.
Если `false`, то при удалении непустой РГ работа модуля завершится ошибкой. |
| rename | (string) | Новое имя ресурсной группы.
Возможно переименование только включенной ресурсной группы. |
| rg_id | (int) | Уникальный целочисленный идентификатор ресурсной группы. Является обязательным при изменении РГ если не заданы `rg_name` и `account_id`/`account_name` |
| rg_name | (string) | Имя ресурсной группы. Данный параметр является обязательным при создании. |
| sdn_access_group_id | (string) | Идентификатор группы доступа SDN. |
| sep_pools| (list) | Список словарей, описывающих доступные пулы СХД.
Ключи словаря:
• `sep_id` (int) - идентификатор системы хранения данных.
• `pool_names` (list) - список названий пулов системы хранения данных.
Чтобы очистить список доступных пулов, нужно указать пустой список `[]`.|
| state | Значения:
`present`
`absent`
`enabled`
`disabled`
Default: `present` | Целевое состояние ресурсной группы. |
## Возвращаемые значения модуля decort_rg
Модуль **decort_rg** возвращает информацию о ресурсной группе в виде словаря `facts` со следующими ключами:
| Ключ |
Тип
данных |
Описание | |||||
|---|---|---|---|---|---|---|---|
| account_id | int | Уникальный целочисленный идентификатор аккаунта, которому принадлежит данная ресурсная группа. | |||||
| account_name | str | Имя аккаунта, которому принадлежит данная ресурсная группа. | |||||
| acl | list[str, any] | Список словарей, описывающих доступы пользователей. | |||||
| access_type | str | Тип доступа. | |||||
| can_be_deleted | bool | null | Может ли быть удалён. | |||||
| explicit | bool | Видимость ресурсной группы. | |||||
| guid | str | null | Идентификатор. | |||||
| status | str | Статус. | |||||
| type | str | Тип. | |||||
| user_emails | list[str] | null | Список адресов электронной почты. | |||||
| user_name | str | Имя пользователя. | |||||
| cpu_allocation_parameter | str | Режим выделения ЦП. | |||||
| cpu_allocation_ratio | int | Коэффициент для режима выделения ЦП. | |||||
| created_by | str | Имя пользователя, создавшего ресурсную группу. | |||||
| created_timestamp | int | Unix-время создания. | |||||
| created_datetime | str | Дата и время создания. | |||||
| default_net_id | int | Уникальный целочисленный идентификатор сети по умолчанию в данной ресурсной группе. | |||||
| default_net_type | str | Тип сети по умолчанию в данной ресурсной группе. | |||||
| deleted_by | str | Имя пользователя, удалившего ресурсную группу. | |||||
| deleted_timestamp | int | Unix-время удаления. | |||||
| deleted_datetime | str | Дата и время удаления. | |||||
| description | str | Текстовое описание ресурсной группы. | |||||
| dirty | bool | ||||||
| grid_id | int | Идентификатор ЦОДа. | |||||
| guid | int | Идентификатор. | |||||
| id | int | Идентификатор. | |||||
| lock_status | str | Статус блокировки. | |||||
| milestones | int | Количество событий. | |||||
| name | str | Имя ресурсной группы. Обратите внимание, что это имя уникально только в рамках аккаунта, которому принадлежит данная ресурсная группа. | |||||
| quotas | dict[str, any] | Словарь, описывающий квоты. | |||||
| cpu_count | int | Количество виртуальных процессоров. | |||||
| disk_size_gb | int | Объём дисков в ГБ. | |||||
| gpu_count | int | Количество графических процессоров. | |||||
| ext_ip_count | int | Количество внешних IP-адресов. | |||||
| ram_size_mb | float | int | Объём оперативной памяти в МБ. | |||||
| storage_size_gb | int | Объём дисков. | |||||
| storage_policies | list[dict[str, int]] | Список словарей, описывающий квоты по политикам хранения. | |||||
| id | int | Идентификатор политики хранения. | |||||
| storage_size_gb | int | Объём дисков. | |||||
| resource_types | list[str] | Список разрешённых типов ресурсов. | |||||
| sdn_access_group_id | str | Идентификатор группы доступа SDN. | |||||
| secret | str | ||||||
| sep_pools | list[str] | Список доступных пулов СХД. | |||||
| status | str | Статус. | |||||
| storage_policy_ids | list[int] | Идентификаторы политик хранения. | |||||
| updated_by | str | Имя пользователя, обновившего ресурсную группу. | |||||
| updated_timestamp | int | Unix-время обновления. | |||||
| updated_datetime | str | Дата и время обновления. | |||||
| vins_ids | list[int] | Список идентификаторов внутренних сетей ресурсной группы. | |||||
| vm_features | list[str] | Список дополнительных возможностей гипервизора, доступных ВМ. | |||||
| vm_ids | list[int] | Список идентификаторов виртуальных машин ресурсной группы. | |||||