|
|
/*
|
|
|
Пример использования
|
|
|
Ресурса vins
|
|
|
Ресурс позволяет:
|
|
|
1. Создавать vins
|
|
|
2. Удалять vins
|
|
|
3. Восстанвливать vins
|
|
|
4. Добавлять и убирать подключение к внешней сети
|
|
|
5. Резервировать и освобождать ip для vins
|
|
|
6. Добавлять и удалять natrule
|
|
|
7. Перезапускать и редеплоить vnfdev
|
|
|
|
|
|
*/
|
|
|
|
|
|
#Расскомментируйте этот код,
|
|
|
#и внесите необходимые правки в версию и путь,
|
|
|
#чтобы работать с установленным вручную (не через 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
|
|
|
}
|
|
|
|
|
|
|
|
|
resource "decort_vins" "vins" {
|
|
|
#обязательный параметр
|
|
|
#имя создаваемого ресурса
|
|
|
#тип - строка
|
|
|
name = "Test_name"
|
|
|
|
|
|
#опциональный параметр
|
|
|
#id ресурсной группы для создаения ресруса
|
|
|
#тип - число
|
|
|
rg_id = 10101
|
|
|
|
|
|
#опциональный параметр
|
|
|
#id аккаунта для создаения ресруса
|
|
|
#тип - число
|
|
|
account_id = 2023
|
|
|
|
|
|
#опциональный параметр
|
|
|
#id внешней сети для подключения к ней ресруса
|
|
|
#тип - число
|
|
|
ext_net_id = 2222
|
|
|
|
|
|
#опциональный параметр
|
|
|
#ip внешней сети для подключения к нему ресруса
|
|
|
#тип - строка
|
|
|
ext_ip_addr = "1.1.1.1"
|
|
|
|
|
|
|
|
|
#опциональный параметр
|
|
|
#private network IP CIDR
|
|
|
#тип - строка
|
|
|
ipcidr = "192.168.0.1"
|
|
|
|
|
|
#опциональный параметр
|
|
|
#количество зарезервированных адресов на момент создания
|
|
|
#тип - число
|
|
|
#значение по умолчанию 32
|
|
|
pre_reservations_num = 2
|
|
|
|
|
|
#опциональный параметр
|
|
|
#grid (platform) ID
|
|
|
#тип - число
|
|
|
gid = 2002
|
|
|
|
|
|
#опциональный параметр
|
|
|
#Description
|
|
|
#тип - строка
|
|
|
desc = "Description"
|
|
|
|
|
|
#опциональный параметр
|
|
|
#ручное подключение и отключение ресурса
|
|
|
#тип - булев тип
|
|
|
enable = true
|
|
|
|
|
|
#опциональный параметр
|
|
|
#удаление навсегда
|
|
|
#тип - булев тип
|
|
|
permanently = true
|
|
|
|
|
|
#опциональный параметр
|
|
|
#удаляет за собой все зависимые ресурсы
|
|
|
#тип - булев тип
|
|
|
force = true
|
|
|
|
|
|
#опциональный параметр
|
|
|
#блок для резервирования ip
|
|
|
#тип - блок
|
|
|
ip {
|
|
|
#обязательный параметр
|
|
|
#тип подключения
|
|
|
#тип - строка
|
|
|
type = "DHCP"
|
|
|
|
|
|
#опциональный параметр
|
|
|
#ip который необходимо зарезервировать
|
|
|
#тип - строка
|
|
|
ip_addr = "192.168.5.5"
|
|
|
|
|
|
#опциональный параметр
|
|
|
#mac который необходимо зарезервировать
|
|
|
#тип - строка
|
|
|
mac_addr = "ff:ff:ff:ff:ff:ff"
|
|
|
}
|
|
|
|
|
|
#опциональный параметр
|
|
|
#блок для добавления natRule
|
|
|
#тип - блок
|
|
|
nat_rule {
|
|
|
#опциональный параметр
|
|
|
#ip внутренний
|
|
|
#тип - строка
|
|
|
int_ip = "192.168.0.28"
|
|
|
|
|
|
#опциональный параметр
|
|
|
#внутренний порт
|
|
|
#тип - число
|
|
|
int_port = 80
|
|
|
|
|
|
#опциональный параметр
|
|
|
#начало диапазона внешних портов
|
|
|
#тип - число
|
|
|
ext_port_start = 8001
|
|
|
|
|
|
#опциональный параметр
|
|
|
#конец диапазона внешних портов
|
|
|
#тип - число
|
|
|
ext_port_end = 8001
|
|
|
|
|
|
#опциональный параметр
|
|
|
#протокол natRule
|
|
|
#тип - строка
|
|
|
proto = "tcp"
|
|
|
}
|
|
|
|
|
|
#опциональный параметр
|
|
|
#восстановление ресурса
|
|
|
#тип - булев тип
|
|
|
restore = true
|
|
|
|
|
|
#опциональный параметр
|
|
|
#перезапуск vnfDev
|
|
|
##тип - булев тип
|
|
|
vnfdev_restart = true
|
|
|
|
|
|
#опциональный параметр
|
|
|
#редеплой vnfDev
|
|
|
#тип - булев тип
|
|
|
vnfdev_redeploy = true
|
|
|
}
|
|
|
|
|
|
output "test" {
|
|
|
value = decort_vins.vins
|
|
|
}
|