This commit is contained in:
2024-05-31 14:05:21 +03:00
parent 84b7a80e1b
commit db1760cb72
815 changed files with 58194 additions and 11049 deletions

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение информации о load balancer (балансировщик нагрузок)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_lb" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - целое число
lb_id = 238
}
output "test" {
value = data.decort_lb.lb
}

View File

@@ -0,0 +1,99 @@
/*
Пример использования
Получение списка load balancer (балансировщиков нагрузки)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_lb_list" "lbl" {
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени балансировщика нагрузки
#опциональный параметр
#тип - строка
#name = "test"
#id аккаунта для получения списка балансировщиков нагрузки
#опциональный параметр
#тип - целое число
#account_id = 11111
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#фильтр по IP front
#опциональный параметр
#тип - строка
#front_ip = "ENABLED"
#фильтр по IP back
#опциональный параметр
#тип - строка
#back_ip = "ENABLED"
#флаг влючения в результат удаленных балансировщиков нагрузки
#опциональный параметр
#тип - булев
#значение по-умолчанию - false
#если не задан - выводятся все доступные неудаленные балансировщики
#includedeleted = true
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "test" {
value = data.decort_lb_list.lbl
}

View File

@@ -0,0 +1,86 @@
/*
Пример использования
Получение списка удаленных load balancer (балансировщиков нагрузок)
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
data "decort_lb_list_deleted" "lbld" {
#фильтр по id балансировщика нагрузки
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени балансировщика нагрузки
#опциональный параметр
#тип - строка
#name = "test"
#id аккаунта для получения списка балансировщиков нагрузки
#опциональный параметр
#тип - целое число
#account_id = 11111
#фильтр по id ресурсной группы
#опциональный параметр
#тип - целое число
#rg_id = 100
#фильтр по техническому статусу
#опциональный параметр
#тип - строка
#tech_status = "STOPPED"
#фильтр по IP front
#опциональный параметр
#тип - строка
#front_ip = "ENABLED"
#фильтр по IP back
#опциональный параметр
#тип - строка
#back_ip = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#если не задан - выводятся все доступные данные
#size = 1
}
output "test" {
value = data.decort_lb_list_deleted.lbld
}

View File

@@ -0,0 +1,120 @@
/*
Пример использования
Управление балансировщиком нагрузки (load balancer)
Ресурс позволяет:
1. Создавать load balancer
2. Редактировать load balancer
3. Удалять load balancer
/*
#Расскомментируйте этот код
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_lb" "lb" {
#id ресурсной группы для со
#обязательный параметр
#тип - целое число
rg_id = 1111
#наименование load balancer
#обязательный параметр
#тип - строка
name = "tf-test-lb"
#id внешней сети
#опциональный параметр
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
#тип - целое число
extnet_id = 6
#id виртуальной сети
#опциональный параметр
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
#тип - целое число
vins_id = 758
#флаг запуска load balancer
#обязательный параметр
#если load balancer был в статусе "stopped" (start = false),
#то для успешного старта, он должен быть доступен (enable = true)
#по умолчанию - true
#тип - булев
start = true
#позволяет создать схему отказоустройчивой LB
#опциональный параметр
#тип - булев
ha_mode = true
#описание
#опциональный параметр
#тип - строка
desc = "temp super lb for testing tf provider"
#флаг доступности load balancer
#опциональный параметр
#тип - булев
enable = true
#флаг перезапуска load balancer
#перезагрузка срабатывает только при изменении флага с false на true
#опциональный параметр
#тип - булев
restart = false
#флаг сброса конфигурации load balancer
#сброс срабатывает только при изменении флага с false на true
#опциональный параметр
#тип - булев
config_reset = false
#флаг моментального удаления load balancer
#опциональный параметр
#применяется при выполнении команды terraform destroy
#по умолчанию - false
#тип - булев
permanently = false
#флаг восстановления load balancer
#опциональный параметр
#восстановить можно load balancer, удаленным с флагом permanently = false
#тип - булев
restore = true
#флаг используемый при рестарте load balancer
#опциональный параметр
#при значении "true" рестарт производится на обоих нодах в HA mode
#значение по умолчанию - true
#тип - булев
safe = true
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - список мап
sysctl_params = [{ text = "1", text = "some" }]
}
output "test" {
value = decort_lb.lb
}

View File

@@ -0,0 +1,116 @@
/*
Пример использования
Ресурса load balancer backend
Ресурс позволяет:
1. Создавать backend
2. Редактировать backend
3. Удалять backend
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_lb_backend" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - целое число
lb_id = 668
#имя бекенда для создания сервера
#обязательный параметр
#тип - строка
name = "testBackend"
#алгоритм балансировки
#опциональный параметр
#по умолчанию - "roundrobin"
#доступные значения - "roundrobin", "static-rr", "leastconn"
#тип - строка
lgorithm = "roundrobin"
#-------------------
#настройки для серверов по умолчанию
#-------------------
#интервал между проверками, в миллисекундах
#опциональный параметр
#по умолчанию - 5000
#тип - целое число
inter = 5000
#интервал между проверками доступности сервера после восстановления, в миллисекундах
#опциональный параметр
#по умолчанию - 1000
#тип - целое число
downinter = 1000
#кол-во проверок, которые сервер должен успешно пройти
#опциональный параметр
#по умолчанию - 2
#тип - целое число
rise = 2
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
#опциональный параметр
#по умолчанию - 2
#тип - целое число
fall = 2
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
#опциональный параметр
#по умолчанию - 60000
#тип - целое число
slowstart = 60000
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
#опциональный параметр
#по умолчанию - 250
#тип - целое число
maxconn = 250
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
#опциональный параметр
#по умолчанию - 256
#тип - целое число
maxqueue = 256
#вес сервера для балансировки
#опциональный параметр
#мин - 0
#макс - 255
#по умолчанию - 100
#тип - целое число
weight = 100
timeouts {
create = "5m"
read = "5m"
update = "5m"
delete = "5m"
}
}
output "test" {
value = decort_lb_backend.lb
}

View File

@@ -0,0 +1,127 @@
/*
Пример использования
Ресурса load balancer backend server
Ресурс позволяет:
1. Создавать server
2. Редактировать server
3. Удалять server
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_lb_backend_server" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - целое число
lb_id = 668
#имя бекенда для создания сервера
#обязательный параметр
#тип - строка
backend_name = "testBackend"
#имя сервера
#обязательный параметр
#тип - строка
name = "testServer"
#ip адрес сервера
#обязательный параметр
#тип - строка
address = "192.168.5.33"
#порт сервера
#обязательный параметр
#тип - целое число
port = 6553
#проверка доступности сервера
#опциональный параметр
#по умолчанию - "enabled"
#доступные значения - "disabled", "enabled"
#тип - строка
#check = "enabled"
#интервал между проверками, в миллисекундах
#опциональный параметр
#по умолчанию - 5000
#тип - целое число
#inter = 5000
#интервал между проверками доступности сервера после восстановления, в миллисекундах
#опциональный параметр
#по умолчанию - 1000
#тип - целое число
#downinter = 1000
#кол-во проверок, которые сервер должен успешно пройти
#опциональный параметр
#тип - целое число
#по умолчанию - 2
#rise = 2
#кол-во проверок, которые сервер может не пройти и после этого получить статус "unavailable"
#опциональный параметр
#по умолчанию - 2
#тип - целое число
#fall = 2
#кол-во миллисекунд - время между получением сервера статуса "available" и открытием соединений
#опциональный параметр
#по умолчанию - 60000
#тип - целое число
#slowstart = 60000
#максимальное кол-во соединений сервера, при достижении этого кол-ва, сервер выходит из схемы балансирования
#опциональный параметр
#по умолчанию - 250
#тип - целое число
#maxconn = 250
#максимальное кол-во соединений в очереди серевера, при достижении этого кол-ва, соединения будут перенаправлены на другой сервер
#опциональный параметр
#по умолчанию - 256
#тип - целое число
#maxqueue = 256
#вес сервера для балансировки
#опциональный параметр
#мин - 0
#макс - 255
#по умолчанию - 100
#тип - целое число
#weight = 100
timeouts {
create = "5m"
read = "5m"
update = "5m"
delete = "5m"
}
}
output "test" {
value = decort_lb_backend_server.lb
}

View File

@@ -0,0 +1,59 @@
/*
Пример использования
Ресурса load balancer frontend
Ресурс позволяет:
1. Создавать frontend
2. Удалять frontend
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_lb_frontend" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - целое число
lb_id = 668
#имя бекенда для создания фронтенда
#обязательный параметр
#тип - строка
backend_name = "testBackend"
#имя фронтенда
#обязательный параметр
#тип - строка
name = "testFrontend"
timeouts {
create = "5m"
read = "5m"
update = "5m"
delete = "5m"
}
}
output "test" {
value = decort_lb_frontend.lb
}

View File

@@ -0,0 +1,70 @@
/*
Пример использования
Ресурса load balancer frontend bind (привязка фронтенда балансировщика нагрузок)
Ресурс позволяет:
1. Создавать привязку
2. Редактировать привязку
3. Удалять привязку
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
source = "basis/decort/decort"
version = "<VERSION>"
}
}
}
*/
provider "decort" {
authenticator = "decs3o"
#controller_url = <DECORT_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_lb_frontend_bind" "lb" {
#id балансировщика нагрузок
#обязательный параметр
#тип - целое число
lb_id = 668
#имя фронтенда для создания привязки
#обязательный параметр
#тип - строка
frontend_name = "testFrontend"
#наименование привязки
#обязательный параметр
#тип - строка
name = "testBinding"
#адрес привязки фронтенда
#обязательный параметр
#тип - строка
address = "111.111.111.111"
#порт для привязки фронтенда
#обязательный параметр
#тип - целое число
port = 1111
timeouts {
create = "5m"
read = "5m"
update = "5m"
delete = "5m"
}
}
output "test" {
value = decort_lb_frontend_bind.lb
}