Skip to content

06.1 Data функция decs_resgroup: получение информации о ресурсной группе.

svs1370 edited this page Nov 11, 2019 · 1 revision

Data source функция decs_resgroup служит для получения информации об уже существующей в облачной платформе ресурсной группе.

Ресурсная группа в облачной платформе DECS это способ группирования виртуальных серверов (например, по функциональному признаку или принадлежности к одному и тому же проекту) в рамках выделенного защищённого сетевого сегмента. Ресурсную группу можно рассматривать как небольшой персональный дата-центр (virtual data center, VDC), в котором размещаются один или несколько виртуальных серверов.

Виртуальные серверы всегда создаются в принадлежности к какой-либо ресурсной группе. Как следствие, для создания виртуального сервера помимо других параметров требуется указать идентификатор целевой ресурсной группы. Для получения такого идентификатора можно воспользоваться Data source функцией decs_resgroup.

Аргументы

Data source функция decs_resgroup принимает следующие аргументы:

Аргумент Тип Описание
name string Имя ресурсной группы. Ресурсная группа идентифицируется по комбинации имени самой группы и имени подписчика-владельца (tenant). Обратите внимание, что имя ресурсной группы должно быть уникальным только в рамках одного и того же подписчика.
Имя ресурсной группы не может быть пустым.
tenant string Имя подписчика (aka "account"), которому принадлежит данная ресурсная группа.
Имя подписчика не может быть пустым.

Пользователь облачной платформы, от лица которого происходит обращение к данной функции, должен иметь доступ к указанному tenant и ресурсной группе. В противном случае возникнет ошибка доступа.

Пользователь облачной платформы задается на стадии инициализации Terraform провайдера DECS (см. подробности).

Возвращаемые значения

В случае успешного выполнения Data source функция decs_resgroup возвращает в указанную при вызове переменную следующие значения:

Параметр Тип Описание
location string Буквенный код, соответствующий физическому кластеру, в рамках которого существует данная ресурсная группа.
Так как под управлением одного контроллера облачной платформы DECS может находиться несколько физических кластеров, предоставляющих вычислительные ресурсы, данный параметр позволяет идентифицировать соответствующий кластер.
name string Имя данной ресурсной группы.
Возвращаемое значение name совпадает со значением соответствующего аргумента, переданного при вызове функции.
public_ip string Внешний IP адрес, назначенный данной ресурсной группе.
После настройки port frowarding rules по этому IP адресу и соответствующему порту будут доступны созданные в составе данной ресурсной группы виртуальные серверы.
quotas list of structs Квоты на объем ресурсов, установленные для данной ресурсной группы, с разбивкой по количеству CPU, объему RAM, объему дисковых ресурсов, количеству прямых IP адресов и т.п.
tenant string Имя подписчика (aka "account"), которому принадлежит данная ресурсная группа.
Возвращаемое значение tenant совпадает со значением соответствующего аргумента, переданного при вызове функции.
tenant_id int Уникальный целочисленный идентификатор подписчика-владельца данной ресурсной группы.

Пример использования

Пример вызова Data source функции decs_resgroup:

data "decs_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.decs_resgroup.target_rg.id}"

Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECS см. соответствующий раздел).

После успешного завершения такого вызова decs_resgroup в переменной data.decs_resgroup.target_rg будут сохранены возвращаемые значения. В частности, для получения идентификатора ресурсной группы следует использовать конструкцию "${data.decs_resgroup.target_rg.id}"