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.

9.2 KiB

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

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

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

Аргументы

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

Аргумент Тип Обязательный Описание
rg_id int ✔️ Идентификатор ресурсной группы
compute_id int Фильтр по ID компьюта
name string Фильтр по имени компьюта
account_id int Фильтр по ID аккаунта
tech_status string Фильтр по тех. статусу
status string Фильтр по статусу
ip_address string Фильтр по IP адресу
extnet_name string Фильтр по имени extnet
extnet_id int Фильтр по ID extnet
sort_by string Фильтр по одному из поддерживаемых полей, формат: +или- название поля
page int Номер страницы
size int Размер страницы

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

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

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

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

Параметр Тип Описание
account_id int Уникальный идентификатор аккаунта-владельца ("account") данной виртуальной машины.
account_name string Имя аккаунта, которому принадлежит данная виртуальная машина.
affinity_label string Лейбл аффинити
affinity_rules []Struct см. ниже Правила аффинити для компьютов
affinity_weight int weight аффинити
anti_affinity_rules []Struct см. ниже Правила анти аффинити для компьютов
cpus int Количество виртуальных CPU, выделенных данному серверу.
created_by string Кес создан ресурс
created_time int Время создания ресурса
deleted_by string Кем удален ресурс
deleted_time int Время удаления ресурса
id int Идентификатор компьюта
name string Имя виртуального сервера
ram int Объём оперативной памяти в МБ, выделенной этой виртуальной машине.
registered bool Компьют зарегестрирован
rg_name string Имя ресурсной группы, к которой принадлежит виртуальная машина.
status string Статус диска
tech_status string Технический статус диска
total_disk_size int Размер диска
updated_by string Кем обновлен ресурс
updated_time int Время обновления ресурса
user_managed bool User managed
vins_connected int Кол-во присоединенных винсов

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

Параметр Тип Описание
guid string guid
key string Ключ
mode string Режим сравнения
policy string Степень "строгости" этого правила
topology string Топология
value string Значение

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

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

data "dynamix_rg_list_computes" "list_computes" {
  #id ресурсной группы
  #обязательный параметр
  #тип - целое число
  rg_id = 123

  #фильтр по id compute
  #опциональный параметр
  #тип - целое число
  #compute_id = 100

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

  #фильтр по id аккаунта
  #опциональный параметр
  #тип - целое число
  #account_id = 100
  
  #фильтр по техническому статусу
  #опциональный параметр
  #тип - строка
  #tech_status = "STARTED"

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

  #фильтр по ip address
  #опциональный параметр
  #тип - строка
  #ip_address = "1.1.1.1.1"

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

  #фильтр по id внешней сети
  #опциональный параметр
  #тип - целое число
  #extnet_id = 100

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

  #номер страницы для отображения
  #опциональный параметр
  #тип - целое число
  #если не задан - выводятся все доступные данные
  #page = 1

  #размер страницы
  #опциональный параметр
  #тип - целое число
  #если не задан - выводятся все доступные данные
  #size = 1
}

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

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