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,240 @@
/*
Пример использования
Ресурса vins
Ресурс позволяет:
1. Создавать vins
2. Удалять vins
3. Восстанвливать vins
4. Добавлять и убирать подключение к внешней сети
5. Резервировать и освобождать ip для vins
6. Добавлять и удалять natrule
7. Перезапускать и редеплоить vnfdev
*/
#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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://mr4.digitalenergy.online"
#oauth2_url = <DECORT_SSO_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "decort_cb_vins" "vins" {
#обязательный параметр
#имя создаваемого ресурса
#тип - строка
name = "Test_name"
#id аккаунта для создаения ресурса
#опциональный параметр
#внимание, для создания ресурса обязательно должен быть указан или rg_id, или account_id
#тип - целое число
account_id = 2023
#id ресурсной группы для создаения ресурса
#опциональный параметр
#внимание, для создания ресурса обязательно должен быть указан или rg_id, или account_id
#тип - целое число
rg_id = 10101
#id внешней сети для подключения к ней ресурса
#опциональный параметр
#тип - целое число
#ext_net_id = 2222
#ip внешней сети для подключения к нему ресурса
#опциональный параметр
#тип - строка
#ext_ip = "1.1.1.1"
#приватная сеть IP CIDR
#опциональный параметр
#тип - строка
#ipcidr = "192.168.0.1"
#количество зарезервированных адресов на момент создания
#опциональный параметр
#значение по умолчанию 32
#тип - целое число
#pre_reservations_num = 2
#grid (platform) ID
#опциональный параметр
#тип - целое число
#gid = 2002
#описание
#опциональный параметр
#тип - строка
#description = "Description"
#причина запроса
#опциональный параметр
#тип - строка
#reason = "test"
#блок для указания списка routes
#опциональный параметр
#тип - список routes
#routes = [{
#ip целевой сети
#опциональный параметр
#тип - строка
#destination = "DHCP"
#сетевая маска в формате 255.255.255.255
#опциональный параметр
#тип - строка
#netmask = "192.168.5.5"
#шлюз по умолчанию
#опциональный параметр
#тип - строка
#gateway = "192.168.5.5"
#}]
#default qos
#опциональный параметр
#блок для указания default_qos
#тип - список qos
#default_qos = {
#внутренний трафик, Кбит
#опциональный параметр
#тип - целое число
#in_rate = 1
#burst внутреннего трафика, Кбит
#опциональный параметр
#тип - целое число
#in_burst = 1
#rate внешнего трафика, Кбит
#опциональный параметр
#тип - целое число
#e_rate = 1
#}
#ручное подключение и отключение ресурса
#опциональный параметр
#тип - булев
#enable = true
#удаление навсегда
#опциональный параметр
#тип - булев
#permanently = true
#удаляет за собой все зависимые ресурсы
#опциональный параметр
#тип - булев
#force = true
#блок для резервирования ip
#опциональный параметр
#тип - список параметров ip
#ip {
#тип подключения
#обязательный параметр
#тип - строка
#type = "DHCP"
#ip который необходимо зарезервировать
#опциональный параметр
#тип - строка
#ip_addr = "192.168.5.5"
#mac который необходимо зарезервировать
#опциональный параметр
#тип - строка
#mac = "ff:ff:ff:ff:ff:ff"
#compute_id, ассоциируемый с типом DHCP
#опциональный параметр
#тип - целое число
#compute_id = 1234
#причина запроса
#опциональный параметр
#тип - строка
#reason = "one more reason"
#}
#блок для добавления natRule
#опциональный параметр
#тип - список параметров natRule
#nat_rule {
#ip внутренний
#обязательный параметр
#тип - строка
#int_ip = "192.168.0.28"
#внутренний порт
#опциональный параметр
#тип - целое число
#int_port = 80
#начало диапазона внешних портов
#обязательный параметр
#тип - целое число
#ext_port_start = 8001
#конец диапазона внешних портов
#опциональный параметр
#тип - целое число
#ext_port_end = 8001
#протокол natRule: разрешенные значения "tcp", "udp"
#опциональный параметр
#тип - строка
#proto = "tcp"
#}
#vnf dev start, stop
#опциональный параметр
#true: старт vnfDev; false: стоп vnfDev
#тип - булев
#vnfdev_start = true
#перезапуск vnfDev
#опциональный параметр
#тип - булев
#vnfdev_restart = true
#ресет vnfDev
#опциональный параметр
#тип - булев
#vnfdev_reset = true
#редеплой vnfDev
#опциональный параметр
#тип - булев
#vnfdev_redeploy = true
#список dns
#опциональный параметр
#применяется при создании и редактировании ресурса
#если при создании указать пустой список, то ресурс создается с полем vnfs.dhcp.config.dns, имеющим значение по умолчанию
#если при обновлении указать пустой список, то ресурс обновит в модели поле vnfs.dhcp.config.dns с текущего значения на пустой список
#тип - список строк
#dns = ["1.1.1.1", "2.2.2.2"]
}
output "test" {
value = decort_cb_vins.vins
}