This commit is contained in:
2026-06-19 17:45:18 +03:00
parent c00c608ce9
commit 89c77ddcbe
1324 changed files with 199523 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
/*
Пример использования
Получение информации о внешней сети
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet" "ex" {
#id сети
#обязательный параметр
#тип - целое число
extnet_id = 13
}
output "ex_out" {
value = data.decort_cb_extnet.ex
}

View File

@@ -0,0 +1,35 @@
/*
Пример использования
Получение информации о доступной внешней сети по умолчанию
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet_default" "ed" {
#нет входных параметров
}
output "default_net_id_out" {
value = data.decort_cb_extnet_default.ed
}

View File

@@ -0,0 +1,91 @@
/*
Пример использования
Получение списка внешних сетей
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet_list" "ex_list" {
#id аккаунта для фильтрации результата
#опциональный параметр
#тип - целое число
#account_id = 1111111
#фильтр по id внешней сети
#опциональный параметр
#тип - целое число
#by_id = 100
#фильтр по имени внешней сети
#опциональный параметр
#тип - строка
#name = "test"
#фильтр по IP внешней сети
#опциональный параметр
#тип - строка
#network = "test"
#фильтр по id vlan
#опциональный параметр
#тип - целое число
#vlan_id = 100
#фильтр по id vnfDevices
#опциональный параметр
#тип - целое число
#vnfdev_id = 100
#фильтр по статусу
#опциональный параметр
#тип - строка
#status = "ENABLED"
#сортировка по одному из поддерживаемых полей
#опциональный параметр
#тип - строка
#формат - "+поле" по возрастанию / "-поле" по убыванию
#sort_by = "+name"
#номер страницы для отображения
#опциональный параметр
#тип - целое число
#page = 1
#размер страницы
#опциональный параметр
#тип - целое число
#size = 1
#id зоны
#опциональный параметр
#тип - целое число
#значение по умолчанию - 0
#zone_id = 11
}
output "ex_out" {
value = data.decort_cb_extnet_list.ex_list
}

View File

@@ -0,0 +1,43 @@
/*
Пример использования
Получение информации о зарезервированных IP адресах или пуле адресов
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet_reserved_ip_list" "ex_reserved_ip" {
#идентификатор аккаунта, для которого зарезервированны ресурсы
#обязательный параметр
#тип - целое число
account_id = 1111
#идентификатор сети
#опциональный параметр
#тип - целое число
#extnet_id = 1111
}
output "test" {
value = data.decort_cb_extnet_reserved_ip_list.ex_reserved_ip
}

View File

@@ -0,0 +1,43 @@
/*
Пример использования
Получение информации о static routes по id в данном extnet
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet_static_route" "route" {
#id extnet в котором добавлены routes
#обязательный параметр
#тип - целое число
extnet_id = 1111
#id route
#обязательный параметр
#тип - целое число
route_id = 1
}
output "route" {
value = data.decort_cb_extnet_static_route.route
}

View File

@@ -0,0 +1,38 @@
/*
Пример использования
Получение списка static routes в данном extnet
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
decort = {
version = "<VERSION>"
source = "basis/decort/decort"
}
}
}
*/
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_cb_extnet_static_route_list" "list" {
#id extnet в котором добавлены routes
#обязательный параметр
#тип - целое число
extnet_id = 1111
}
output "list" {
value = data.decort_cb_extnet_static_route_list.list
}

View File

@@ -0,0 +1,259 @@
/*
Пример использования
Ресурса extnet
Ресурс позволяет:
1. Создавать extnet
2. Удалять extnet
3. Получать информацию о extnet
4. Предоставлять доступ аккаунтов к extnet
5. Удалять доступ аккаунтов к extnet
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet" "new_extnet" {
#наименование внешней сети
#обязательный параметр
#тип - строка
#используется при создании
name = "test_extnet"
#id платформы
#обязательный параметр
#тип - целое число
#используется при создании
gid = 500
#cidr
#обязательный параметр
#тип - строка
#используется при создании
ipcidr = "192.168.0.0/24"
#id виртуальной локальной сети
#обязательный параметр
#тип - целое число
#используется при создании
vlan_id = 111
#ip-адрес шлюза внешней сети
#опциональный параметр
#тип - строка
#используется при создании
#gateway = "1.1.1.1"
#cписок DNS адресов
#опциональный параметр
#тип - массив строк
#используется при создании и обновлении
#dns = ["8.8.8.8", "9.9.9.9"]
#список NTP адресов
#опциональный параметр
#тип - массив строк
#используется при создании и обновлении
#ntp = ["ntp0.ntp-servers.net", "ntp1.ntp-servers.net"]
#ip-адреса для проверки доступности сети
#опциональный параметр
#тип - массив строк
#используется при создании
#check_ips = ["191.255.0.0,", "191.255.0.0,"]
#если true - DHCP-сервер создан не будет
#опциональный параметр
#тип - булев
#используется при создании
#virtual = true
#описание
#опциональный параметр
#тип - строка
#используется при создании и обновлении
#desc = "test desc"
#начало диапазона IP-адресов
#опциональный параметр
#тип - строка
#используется при создании
#start_ip = "191.255.0.0"
#окончание диапазона IP-адресов
#опциональный параметр
#тип - строка
#используется при создании
#end_ip = "191.255.0.40"
#IP для создания первичного vnfdev
#опциональный параметр
#тип - строка
#используется при создании
#vnfdev_ip = "191.255.0.20"
#количество предварительно созданных бронирований
#опциональный параметр
#тип - целое число
#по умолчанию - 128
#используется при создании
#pre_reservations_num = 128
#имя bridge Openvswitch для подключения к внешней сети
#опциональный параметр
#тип - строка
#используется при создании
#ovs_bridge = "some"
#включение/выключение внешней сети
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#enable = true
#сделать сеть сетью по умолчанию
#опциональный параметр
#тип - булев
#используется при обновлении
#set_default = true
#список исключенных IP адресов
#опциональный параметр
#тип - массив строк
#используется при создании и обновлении
#excluded_ips = ["192.168.0.4", "192.168.0.5"]
#диапазон исключенных IP адресов
#опциональный параметр
#тип - блок
#тип вложенных полей - строка
#используется при создании и обновлении
#excluded_ips_range {
#начало диапазона
#обязательный параметр
#тип - строка
#ip_start = "192.168.0.4"
#окончание диапазона
#обязательный параметр
#тип - строка
#ip_end = "192.168.0.50"
#}
#список id аккаунтов, которым предоставлен доступ к extnet
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#shared_with = [112, 123]
#изменение настроек ограничения трафика сети
#по умолчанию - 0, т.е. без ограничений
#опциональный параметр
#тип - блок,
#тип вложенных полей - целое число
#используется при обновлении
#default_qos {
#ограничение внутреннего трафика в кбит
#опциональный параметр
#тип - целое число
#in_rate = 0
#ограничение внутреннего burst трафика в кбит
#опциональный параметр
#тип - целое число
#in_burst = 0
#ограничение внешнего трафика в кбит
#опциональный параметр
#тип - целое число
#e_rate = 0
#}
#список зарезервированных IP или пула адресов
#опциональный параметр
#тип - блок
#используется при создании и обновлении
#reserved_ip {
#идентификатор аккаунта, для которого резервируются ресурсы
#обязательный параметр
#тип - целое число
#account_id = 11111
#количество резервируемых IP
#опциональный параметр
#тип - целое число
#ip_count = 15
#список резервируемых IP
#опциональный параметр
#тип - массив строк
#ips = ["192.168.10.10", "192.168.10.20"]
#}
#id node на который происходит миграция
#опциональный параметр
#тип - целое число
#используется при обновлении
#migrate = 1
#перезапустить сеть
#опциональный параметр
#тип - булев
#используется при обновлении
#restart = true
#идентификатор экземпляра zone
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#zone_id = 1111
#режим высокой доступности
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#highly_available = true
#IP для создания вторичного vnfdev
#опциональный параметр
#тип - строка
#используется при создании
#sec_vnfdev_ip = "191.255.0.20"
#mtu
#опциональный параметр
#тип - целое число
#используется при создании и обновлении
#mtu = 1500
#флаг, указывающий, включены ли группы безопасности для этой сети
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#значение по умолчанию - false
#enable_secgroups = false
}
output "extnet" {
value = decort_cb_extnet.new_extnet
}

View File

@@ -0,0 +1,69 @@
/*
Пример использования
Ресурса extnet static routes
Ресурс позволяет:
1. Создавать static routes
2. Удалять static routes
3. Получать информацию о всех static routes в данном extnet
4. Предоставлять доступ виртуальным машинам к static routes
5. Удалять доступ виртуальным машинам к static routes
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_cb_extnet_static_route" "sr" {
#id extnet
#обязательный параметр
#тип - целое число
#используется при создании
extnet_id = 1111
#destination network
#обязательный параметр
#тип - строка
#используется при создании
destination = "192.168.201.0"
#destination network mask
#обязательный параметр
#тип - строка
#используется при создании
netmask = "255.255.255.255"
#ip-адрес из пула свободных IP-адресов extnet ID
#обязательный параметр
#тип - строка
#используется при создании
gateway = "192.168.201.40"
#список виртуальных машин, которым будет предоставлен доступ к роуту
#опциональный параметр
#тип - массив целых чисел
#используется при создании и обновлении
#compute_ids = [111,222]
}
output "sr" {
value = decort_cb_extnet_static_route.sr
}