diff --git a/06.1-Data-функция-decs_resgroup:-получение-информации-о-ресурсной-группе..md b/06.1-Data-функция-decs_resgroup:-получение-информации-о-ресурсной-группе..md new file mode 100644 index 0000000..ffb9ed7 --- /dev/null +++ b/06.1-Data-функция-decs_resgroup:-получение-информации-о-ресурсной-группе..md @@ -0,0 +1,50 @@ +_Data source_ функция **decort_resgroup** служит для получения информации об уже существующей ресурсной группе. + +Ресурсная группа в облачной платформе DECORT это способ группирования _compute_-ов (например, по функциональному признаку или принадлежности к одному и тому же проекту). Ресурсную группу можно рассматривать как небольшой персональный дата-центр, в котором размещаются один или несколько серверов и виртуальных сетевых сегментов (ViNS). + +Экземпляры _compute_ (виртуальные серверы) всегда создаются в принадлежности к какой-либо ресурсной группе. Как следствие, для создания экземпляра _compute_ помимо других параметров требуется указать идентификатор целевой ресурсной группы. Для получения такого идентификатора можно воспользоваться рассматриваемой здесь _data source_ функцией **decort_resgroup**. + +## Аргументы +_Data source_ функция **decort_resgroup** принимает следующие аргументы: + +| Аргумент | Тип | Описание | +| --- | --- | --- | +| name | string | Имя ресурсной группы, по которой требуется получить информацию. Имя ресурсной группы не может быть пустым. Обратите внимание, что имя ресурсной группы должно быть уникальным только в рамках одного и того же подписчика.
Ресурсная группа идентифицируется по комбинации ID подписчика-владельца (`account_id`) и имени самой группы или её идентификатора.
Вы можете задать или `rg_id`, или `name`. Если задан параметр `rg_id`, то параметр `name` игнорируется. | +| rg_id | int | Идентификатор ресурсной группы, по которой требуется получить информацию. Идентификатор не может быть нулевым.
Ресурсная группа идентифицируется по комбинации ID подписчика-владельца (`account_id`) и имени самой группы или её идентификатора.
Вы можете задать или `rg_id`, или `name`. Если задан параметр `rg_id`, то параметр `name` игнорируется. | +| account_id | int | Идентификатор подписчика (aka "account"), которому принадлежит данная ресурсная группа.
Этот параметр является обязательным и не может быть нулевым. | + +Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанному `account` и ресурсной группе. В противном случае возникнет ошибка доступа. + +Пользователь облачной платформы задается на стадии инициализации Terraform провайдера DECORT (см. [подробности](https://github.com/rudecs/terraform-provider-decort/wiki/03.-%D0%9E%D0%B1%D0%B7%D0%BE%D1%80-%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B-DECORT.)). + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_resgroup** возвращает в указанную при вызове переменную следующие значения: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| account_id | int | Уникальный идентификатор подписчика-владельца данной ресурсной группы. | +| account_name | string | Имя подписчика ("account"), которому принадлежит данная ресурсная группа. | +| def_net_id | int | Уникальный идентификатор сети, установленной по умолчанию для данной ресурсной группы. Экземпляры _compute_, создаваемые в данной ресурсной группе, по умолчанию будут иметь подключение к данной сети, если при их создании явно не указано иное. | +| def_net_type | string | Тип сети, установленной по умолчанию для данной ресурсной группы. Может принимать одно из следующих значений:
EXTNET - подключение во внешнюю сеть с идентификатором `def_net_id`
PRIVATE - подключение в виртуальный сетевой сегмент (ViNS ) с идентификатором `def_net_id`
NONE - сеть по умолчанию не задана, экземпляры _compute_ в данной ресурсной группе будут создаваться без сетевых подключений, если при их создании явно не указано иное. | +| description | string | Текстовое описание данной ресурсной группы. | +| id | int| Идентификатор данной ресурсной группы. | +| name | string | Имя данной ресурсной группы. Обратите внимание, что имя ресурсной группы является уникальным только в рамках одного и того же подписчика ("account"). | +| rg_id | int| Идентификатор данной ресурсной группы. Дублирует значение параметра `id`. | +| quota | list of structs | Квоты на объем ресурсов, установленные для данной ресурсной группы, с разбивкой по количеству CPU, объему RAM, объему дисковых ресурсов, количеству прямых IP адресов и т.п. | + + +## Пример использования +Пример вызова _data source_ функции **decort_resgroup**: + +``` +data "decort_resgroup" "target_rg" { + name = "test" # this is the name of pre-existing resource group + tenant = "MyTenant" # this is the account name, where resgroup named "test" is found +} +# Once the above directive completes, resource group ID will be accessible as +# "${data.decort_resgroup.target_rg.id}" +``` + +Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://github.com/rudecs/terraform-provider-decort/wiki/05.-%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-Terraform-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D0%B0-DECORT.) и [пример](https://github.com/rudecs/terraform-provider-decort/wiki/02.-%D0%9A%D0%BE%D1%80%D0%BE%D1%87%D0%B5,-%D0%A1%D0%BA%D0%BB%D0%B8%D1%84%D0%BE%D1%81%D0%BE%D1%84%D1%81%D0%BA%D0%B8%D0%B9!)). + +После успешного завершения такого вызова **decort_resgroup** в переменной `data.decort_resgroup.target_rg` будут сохранены возвращаемые значения. В частности, для получения идентификатора ресурсной группы следует использовать конструкцию `"${data.decort_resgroup.target_rg.id}"` \ No newline at end of file