diff --git a/07.01.14-Resource-функция-decort_lb-управление-балансировщиком-нагрузки.md b/07.01.14-Resource-функция-decort_lb-управление-балансировщиком-нагрузки.md new file mode 100644 index 0000000..6fa4fcd --- /dev/null +++ b/07.01.14-Resource-функция-decort_lb-управление-балансировщиком-нагрузки.md @@ -0,0 +1,128 @@ +Функция доступна в провайдере версии 3.1 и выше. + +_Resource_ функция **decort_lb** служит для управления балансировщиком нагрузки (load balancer). Балансировщики нагрузки служат для равномерного распределения сетевой нагрузки между подключенными к ним сервисами. + +## Аргументы +_Resource_ функция **decort_lb** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| --- | --- | :---: | --- | +| rg_id | int | :heavy_check_mark: | ID ресурсной группы | +| name | string | :heavy_check_mark: | Название балансировщика | +| extnet_id | int | :heavy_check_mark: | ID внешней сети | +| vins_id | int | :heavy_check_mark: | ID виртуальной сети | +| start | bool | :heavy_check_mark: | Флаг запуска балансировщика. По умолчанию - true. Eсли load balancer был в статусе "stopped" (start = false), то для успешного старта, он должен быть доступен (enable = true) | +| desc | string | :x: | Описание балансировщика | +| enable | bool | :x: | Флаг доступности балансировщика | +| restart | bool | :x: | Флаг перезагрузки балансировщика. Можно использовать только на созданном ресурсе. По умолчанию - false. Перезагрузка происходит только при смене флага с false на true | +| config_reset | bool | :x: | Флаг сброса конфигурации балансировщика. По умолчанию - false. Сброс происходит только при изменении флага с false на true | +| permanently | bool | :x: | Флаг моментального удаления балансировщика из платформы. По-умолчанию - false. При необходимости, после изменения значения флага, необходимо выполнить `terraform apply` для изменения значения флага в состоянии терраформа, а после этого - `terraform destroy` | +| restore | bool | :x: | Флаг восстановления балансировщика после удаления. Восстановить возможно только балансировщики, удаленные с флагом permanently равным false. Предварительно, необходимо импортировать удаленный ресурс и изменить значение флага. После этого - выполнить `terraform apply`. | + + +## Возвращаемые значения +В случае успешного выполнения _resource_ функция **decort_lb** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| ha_mode | bool | Флаг, показывающий, включен ли режим haproxy | +| backends | []Struct{} [см. ниже](https://github.com/rudecs/terraform-provider-decort/wiki/06.01.36-Data-функция-decort_lb-получение-информации-о-балансировщике-нагрузки#Описание-структуры-backend) | Список бекендов | +| created_by | string | Аккаунт, создавший балансировщик | +| created_time | int | Время создания | +| deleted_by | string | Кем балансировщик был удален | +| deleted_by | int | Время удаления | +| desc | string | Описание | +| dp_api_user | string | Имя пользователя для работы | +| extnet_id | int | ID внешней сети | +| frontends | []Struct{} [см. ниже](https://github.com/rudecs/terraform-provider-decort/wiki/06.01.36-Data-функция-decort_lb-получение-информации-о-балансировщике-нагрузки#Описание-структуры-фронтенда) | Список фронтендов | +| gid | int | Grid ID балансировщика | +| guid | int | ID балансировщика | +| lb_id | int | ID балансировщика | +| image_id | int | ID образа | +| milestones | int | Вехи | +| name | string | Имя балансировщика | +| primary_node | Struct{} [см. описание узлов](https://github.com/rudecs/terraform-provider-decort/wiki/06.01.36-Data-функция-decort_lb-получение-информации-о-балансировщике-нагрузки#Описание-структуры-узлов) | Главный узел | +| rg_id | int | ID ресурсной группы | +| rg_name | string | Имя ресурсной группы | +| secondary_node | Struct{} [см. описание узлов](https://github.com/rudecs/terraform-provider-decort/wiki/06.01.36-Data-функция-decort_lb-получение-информации-о-балансировщике-нагрузки#Описание-структуры-узлов) | Второй узел | +| status | string | Статус | +| tech_status | string | Технический статус | +| updated_by | string | Кем балансировщик был обновлен | +| updated_time | string | Время последнего обновления | +| vins_id | int | ID виртуальной сети | + + +### Описание структуры backend +| Параметр | Тип | Описание | +| --- | --- | --- | +| algorithm | string | Алгоритм работы бекенда | +| name | string | Имя бекенда | +| server_default_settings | Struct{} [см. ниже](https://github.com/rudecs/terraform-provider-decort/wiki/06.01.36-Data-функция-decort_lb-получение-информации-о-балансировщике-нагрузки#Описание-структуры-настроек) | Описание настроек серверов бекенда по умолчанию | +| servers | []Struct{} [см. ниже](https://github.com/rudecs/terraform-provider-decort/wiki/06.01.36-Data-функция-decort_lb-получение-информации-о-балансировщике-нагрузки#Описание-структуры-сервера) | Список серверов | + +### Описание структуры настроек +| Параметр | Тип | Описание | +| --- | --- | --- | +| downinter | int | Интервал между проверками на недоступность сервера | +| inter | int | Интервал между проверками на доступность сервера | +| rise | int | Кол-во попыток, после которых, сервер будет вновь включен в схему балансирования | +| fall | int | Кол-во неудачных попыток, после которых, сервер получит статус "unavailable" | +| slowstart | int | Интервал, в мс, в через который сервер получит статус "available" | +| maxconn | int | Кол-во соединений к северу, при достижении этого кол-ва, сервера выходит из схемы балансирования | +| maxqueue | int | Кол-во соедений в очереди к серверу | +| weight | int | Вес сервера для работы алгоритма балансирования по весу | + +### Описание структуры сервера +| Параметр | Тип | Описание | +| --- | --- | --- | +| address | string | Адрес сервера | +| check | string | Включены ли проверки | +| name | string | Имя сервера | +| port | int | Порт сервера | +| server_settings | [см. Описание структуры настроек](https://github.com/rudecs/terraform-provider-decort/wiki/06.01.36-Data-функция-decort_lb-получение-информации-о-балансировщике-нагрузки#Описание-структуры-настроек) | Настройки сервера | + +### Описание структуры фронтенда +| Параметр | Тип | Описание | +| --- | --- | --- | +| backend | string | Имя бекенда, к которому подключен фронтенд | +| name | string | Имя фронтенда | +| bindings | []Struct{} [см. ниже](https://github.com/rudecs/terraform-provider-decort/wiki/06.01.36-Data-функция-decort_lb-получение-информации-о-балансировщике-нагрузки#Описание-структуры-привязки-фронтенда) | Привязки фронтенда | + +### Описание структуры привязки фронтенда +| Параметр | Тип | Описание | +| --- | --- | --- | +| address | string | Адрес, к которому привязан фронтенд | +| name | string | Имя привязки | +| port | int | Порт привязки | + +### Описание структуры узлов +| Параметр | Тип | Описание | +| --- | --- | --- | +| backend_ip | string | IP адрес бекенда | +| compute_id | int | ID виртуальной машины | +| frontend_ip | string | IP адрес фронтенда | +| mgmt_ip | string | IP адрес | +| network_id | int | ID сети | + + + +## Пример использования +Пример вызова _resource_ функции **decort_lb**: +```terraform +resource "decort_lb" "lb" { + rg_id = 1111 + name = "tf-test-lb" + extnet_id = 6 + vins_id = 758 + start = true + #desc = "temp super lb for testing tf provider" + #enable = true + #restart = false + #config_reset = false + #permanently = false + #restore = true + +} +``` + +После успешного завершения такого вызова **decort_lb** в переменной `decort_lb.lb` будут сохранены возвращаемые значения. \ No newline at end of file