You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
terraform-provider-dynamix/wiki/1.0.0/06.01.62-Data_dynamix_rg_li...

12 KiB

Data source функция dynamix_rg_list служит для получения информации о списке ресурных групп.

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

Экземпляры compute (виртуальные серверы) всегда создаются в принадлежности к какой-либо ресурсной группе. Как следствие, для создания экземпляра compute помимо других параметров требуется указать идентификатор целевой ресурсной группы. Для получения такого идентификатора можно воспользоваться рассматриваемой здесь data source функцией dynamix_rg_list.

Аргументы

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

Аргумент Тип Обязательный Описание
by_id int Фильтр по ID рес. группы
name string Фильтр по имени рес. группы
account_id int Фильтр по ID аккаунта
account_name string Фильтр по имени аккаунта
created_after int Фильтр рес. групп, созданных после опредленного момента во времени (unix timestamp)
created_before int Фильтр рес. групп, созданных перед опредленным моментом во времени (unix timestamp)
status string Фильтр по статусу
lock_status string Фильтр по lock статусу
includedeleted bool Включить в результат удаленные ресурсы
sort_by string Фильтр по одному из поддерживаемых полей, формат: +или- название поля
page int Номер страниц
size int Размер страницы

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

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

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

В случае успешного выполнения data source функция dynamix_rg_list возвращает в указанную при вызове переменную, в поле items, массив, каждый элемент которого состоит из следующих параметров:

Параметр Тип Описание
account_acl []Struct см. ниже Cписок Acces Control
account_id int Уникальный идентификатор подписчика-владельца данной ресурсной группы.
account_name string Имя подписчика ("account"), которому принадлежит данная ресурсная группа.
compute_features []string Доступ к дополнительным функциям управления ВМ
acl []Struct см. ниже 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
rg_id int Идентификатор данной ресурсной группы.
lock_status string Lock статус
milestones int Milestones
name string Имя данной ресурсной группы. Обратите внимание, что имя ресурсной группы является уникальным только в рамках одного и того же подписчика ("account").
register_computes bool Флаг отвечающий за то зарегестрированы ли компьюты
resource_limits см. ниже Лимиты ресурсов
secret string Секрет
status string Статус resgroup
cpu_allocation_parameter string Параметр выделения CPU
cpu_allocation_ratio float Отношение выделения CPU
updated_by string Кем был сделан апдейт
updated_time int Время апдейта
vins []int Список id виртуальных сетей
vms []int Список id компьютов
resource_types []string Res types
uniq_pools []string Uniq pools

Описание структуры acl

Параметр Тип Описание
explicit bool Явно ли указан доступ
guid string guid Ресурса
right string Права на ресурс
status string Статус ресурса
type string Тип ресурса
user_group_id string ID user group

Описание структуры 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 функции dynamix_rg_list:

data "dynamix_rg_list" "rg_list" {
  #фильтр по id ресурсной группы
  #опциональный параметр
  #тип - целое число
  #by_id = 100

  #фильтр по имени ресурсной группы
  #опциональный параметр
  #тип - строка
  #name = "test"

  #id аккаунта для получения списка ресурсных групп
  #опциональный параметр 
  #тип - целое число
  #account_id = 11111

  #фильтр по имени аккаунта
  #опциональный параметр
  #тип - строка
  #account_name = "test"

  #фильтр по времени создания (после указанного времени)
  #опциональный параметр
  #тип - целое число
  #created_after = "123"

  #фильтр по времени создания (перед указанным временем)
  #опциональный параметр
  #тип - целое число
  #created_before = "123"

  #фильтр по статусу
  #опциональный параметр
  #тип - строка
  #status = "ENABLED"

  #фильтр по lock status
  #опциональный параметр
  #тип - строка
  #lock_status = "UNLOCKED"

  #отображать удаленные ресурсные группы или нет
  #необязательный параметр
  #тип - булев
  #includedeleted = false

  #сортировка по одному из поддерживаемых полей
  #опциональный параметр
  #тип - строка
  #формат - "+поле" по возрастанию / "-поле" по убыванию
  #sort_by = "+name"
  
  #номер страницы
  #необязательный параметр
  #тип - целое число
  #page = 1
  
  #размер страницы
  #необязательный параметр
  #тип - целое число
  #size = 2
}

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

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