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.

13 KiB

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

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

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

Аргументы

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

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

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

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

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

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

Параметр Тип Описание
ha_mode bool Флаг, показывающий, включен ли режим haproxy
acl []Struct см. ниже Cписок Acces Control
backends []Struct{} см. ниже Список бекендов
backend_haip string Backend highly available ip
created_by string Кем был создан ресурс
created_time int Время создания ресурса
deleted_by string Кем был удален ресурс
deleted_time int Время удаления ресурса
desc string Описание
dp_api_user string Имя пользователя для работы
extnet_id int ID внешней сети
frontend_haip string Frontend highly available ip
frontends []Struct{} см. ниже Список фронтендов
gid int Grid ID балансировщика
guid int ID балансировщика
id int ID балансировщика
image_id int ID образа
milestones int Вехи
name string Имя балансировщика
primary_node Struct{} см. описание узлов Главный узел
rg_name string Имя ресурсной группы
secondary_node Struct{} см. описание узлов Второй узел
status string Статус
tech_status string Технический статус
updated_by string Кем балансировщик был обновлен
updated_time string Время последнего обновления
vins_id int ID виртуальной сети

Описание структуры узлов

Параметр Тип Описание
backend_ip string IP адрес бекенда
compute_id int ID виртуальной машины
frontend_ip string IP адрес фронтенда
guid string ID ресурса
mgmt_ip string IP адрес
network_id int ID сети

Описание структуры фронтенда

Параметр Тип Описание
backend string Имя бекенда, к которому подключен фронтенд
guid string ID ресурса
name string Имя фронтенда
bindings []Struct{} см. ниже Привязки фронтенда

Описание структуры привязки фронтенда

Параметр Тип Описание
address string Адрес, к которому привязан фронтенд
guid string ID ресурса
name string Имя привязки
port int Порт привязки

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

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

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

Параметр Тип Описание
algorithm string Алгоритм работы бекенда
name string Имя бекенда
server_default_settings Struct{} см. ниже Описание настроек серверов бекенда по умолчанию
servers []Struct{} см. ниже Список серверов

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

Параметр Тип Описание
address string Адрес сервера
check string Включены ли проверки
name string Имя сервера
port int Порт сервера
server_settings см. Описание структуры настроек Настройки сервера

Описание структуры привязки фронтенда

Параметр Тип Описание
address string Адрес, к которому привязан фронтенд
name string Имя привязки
port int Порт привязки

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

Параметр Тип Описание
downinter int Интервал между проверками на недоступность сервера
inter int Интервал между проверками на доступность сервера
rise int Кол-во попыток, после которых, сервер будет вновь включен в схему балансирования
fall int Кол-во неудачных попыток, после которых, сервер получит статус "unavailable"
slowstart int Интервал, в мс, в через который сервер получит статус "available"
maxconn int Кол-во соединений к северу, при достижении этого кол-ва, сервера выходит из схемы балансирования
maxqueue int Кол-во соедений в очереди к серверу
weight int Вес сервера для работы алгоритма балансирования по весу

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

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

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

  #фильтр по id балансировщика нагрузки 
  #опциональный параметр
  #тип - целое число
  #by_id = 100

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

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

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

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

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

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

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

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

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

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