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