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,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
}