diff --git a/06.01.02-Data-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-decort_resgroup-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8-%D0%BE-%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BD%D0%BE%D0%B9-%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B5.md b/06.01.02-Data-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-decort_resgroup-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8-%D0%BE-%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BD%D0%BE%D0%B9-%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B5.md new file mode 100644 index 0000000..41082f0 --- /dev/null +++ b/06.01.02-Data-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-decort_resgroup-%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8-%D0%BE-%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BD%D0%BE%D0%B9-%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D0%B5.md @@ -0,0 +1,127 @@ +_Data source_ функция **decort_resgroup** служит для получения информации об уже существующей ресурсной группе. + +Ресурсная группа в облачной платформе DECORT это способ группирования _compute_-ов (например, по функциональному признаку или принадлежности к одному и тому же проекту). Ресурсную группу можно рассматривать как небольшой персональный дата-центр, в котором размещаются один или несколько серверов и виртуальных сетевых сегментов (ViNS). + +Экземпляры _compute_ (виртуальные серверы) всегда создаются в принадлежности к какой-либо ресурсной группе. Как следствие, для создания экземпляра _compute_ помимо других параметров требуется указать идентификатор целевой ресурсной группы. Для получения такого идентификатора можно воспользоваться рассматриваемой здесь _data source_ функцией **decort_resgroup**. + +## Изменения в 3.5.0 +- Убраны опциональные поля account_id и name +- Опциональное поле rg_id стало обязательным +- Возвращаемые значения приведены в соответвие с версией платформы 3.8.5 + +## Изменения в 3.4.0 +- В возвращаемые значения добавлено новое поле gid +- В возвращаемые значения добавлено новое поле resources +- В возвращаемые значения добавлено новое поле status +- В возвращаемые значения добавлено новое поле vins +- В возвращаемые значения добавлено новое поле vms +- Обязательное поле account_id изменено на опциональное + +## Аргументы +_Data source_ функция **decort_resgroup** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | --- | --- | +| rg_id | int | :heavy_check_mark: | Идентификатор ресурсной группы, по которой требуется получить информацию. Идентификатор не может быть нулевым.
Вы можете задать или `rg_id`, или `name`. Если задан параметр `rg_id`, то параметр `name` игнорируeтся. | +| reason | string | :x: | Причина исполнения | + +Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанному `account` и ресурсной группе. В противном случае возникнет ошибка доступа. + +Пользователь облачной платформы задается на стадии инициализации Terraform провайдера DECORT (см. [подробности](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT)). + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_resgroup** возвращает в указанную при вызове переменную следующие значения: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| resources | Struct{} [см. ниже](#описание-структуры-resources)| Информация о занимаемых ресурсах | +| account_id | int | Уникальный идентификатор подписчика-владельца данной ресурсной группы. | +| account_name | string | Имя подписчика ("account"), которому принадлежит данная ресурсная группа. | +| acl | []Struct [см. ниже](#описание-структуры-acl)| Cписок Acces Control | +| created_by | string | Кем создан ресурс | +| created_time | int | Время создания ресурса | +| def_net_id | int | Уникальный идентификатор сети, установленной по умолчанию для данной ресурсной группы. Экземпляры _compute_, создаваемые в данной ресурсной группе, по умолчанию будут иметь подключение к данной сети, если при их создании явно не указано иное.
Для `def_net_type = "EXTNET" в этом параметре указан идентификатор внешней сети. Для `def_net_type = "PRIVATE" - идентификатор ViNS. | +| def_net_type | string | Тип сети, установленной по умолчанию для данной ресурсной группы. Может принимать одно из следующих значений:
* EXTNET - подключение во внешнюю сеть с идентификатором `def_net_id`
* PRIVATE - подключение в виртуальный сетевой сегмент (ViNS ) с идентификатором `def_net_id`
* NONE - сеть по умолчанию не задана, экземпляры _compute_ в данной ресурсной группе будут создаваться без сетевых подключений, если при их создании явно не указано иное. | +| deleted_by | string | Кем удален ресурс | +| deleted_time | int | Время удаления ресурса | +| desc | string | Текстовое описание данной ресурсной группы. | +| dirty | bool | Dirty | +| gid | int | Идентификатор grid, которому будет принадлежать создаваемая ресурсная группа. | +| guid | int | GUID | +| lock_status | string | Lock статус | +| milestones | int | Milestones | +| name | string | Имя данной ресурсной группы. Обратите внимание, что имя ресурсной группы является уникальным только в рамках одного и того же подписчика ("account"). | +| register_computes | bool | Флаг отвечающий за то зарегестрированы ли компьюты | +| resource_limits | [см. ниже](#описание-структуры-resource-limits) | Лимиты ресурсов | +| secret | string | Секрет | +| status | string | Статус resgroup | +| updated_by | string | Кем был сделан апдейт | +| updated_time | int | Время апдейта | +| vins | []int | Список id виртуальных сетей | +| computes | []int | Список id компьютов | +| cpu_allocation_parameter | string | Параметр выделения CPU | +| cpu_allocation_ratio | float | Отношение выделения CPU | +| res_types | []string | Res types | +| uniq_pools | []string | Uniq pools | +| id | int | Идентификатор данной ресурсной группы. | + +### Описание структуры acl +| Параметр | Тип | Описание | +| --- | --- | --- | +| explicit | bool | Явно ли указан доступ | +| guid | string | guid Ресурса | +| right | string | Права на ресурс | +| status | string | Статус ресурса | +| type | string | Тип ресурса | +| user_group_id | string | ID user group | + +### Описание структуры resources +| Параметр | Тип | Описание | +| --- | --- | --- | +| current | Struct{} [см. ниже](#описание-структуры-current-и-reserved) | Информация о текуших ресурсах | +| reserved | Struct{} [см. ниже](#описание-структуры-current-и-reserved) | Информация о зарезверированных аккаунтом ресурсах | + +### Описание структуры current и reserved +| Параметр | Тип | Описание | +| --- | --- | --- | +| cpu | int | Количество CPU | +| disk_size | int | Размер диска | +| disk_size_max | int | Максимальный размер диск | +| extips | int | Внешние IPs | +| exttraffic | int | Внешний Traffic | +| gpu | int | Количество GPU | +| ram | int | Количество RAM | +| seps | []Struct{} [см . ниже](#описание-структуры-seps)| Информация о seps | + +### Описание структуры seps +| Параметр | Тип | Описание | +| --- | --- | --- | +| sep_id | int | ID SEP | +| data_name | string | Имя пула информации внутри SEP'а | +| disk_size | int | Количество занятого места | +| disk_size_max | int | Размер диска | + +### Описание структуры resources limits +| Параметр | Тип | Описание | +| --- | --- | --- | +| cu_c | float | Количество ядер CPU | +| cu_d | float | Размер диска | +| cu_i | float | Количество публичных IP адресов | +| cu_m | float | размер RAM | +| cu_np | float | Хранилище траффика | +| gpu_units | float | количество GPU ядер | + +## Пример использования +Пример вызова _data source_ функции **decort_resgroup**: + +```terraform +data "decort_resgroup" "target_rg" { + rg_id = 123 +} +# Once the above directive completes, resource group ID will be accessible as +# data.decort_resgroup.target_rg.id +``` + +Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/04.02-Инициализация-Terraform-провайдера-DECORT ) и [пример](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/02.-Пример-работы)). + +После успешного завершения такого вызова **decort_resgroup** в переменной `data.decort_resgroup.target_rg` будут сохранены возвращаемые значения. В частности, для получения идентификатора ресурсной группы следует использовать конструкцию `data.decort_resgroup.target_rg.id`