You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

185 lines
5.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
Пример использования
Ресурса vins
Ресурс позволяет:
1. Создавать vins
2. Удалять vins
3. Восстанвливать vins
4. Добавлять и убирать подключение к внешней сети
5. Резервировать и освобождать ip для vins
6. Добавлять и удалять natrule
7. Перезапускать и редеплоить vnfdev
*/
#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
required_providers {
dynamix = {
source = "basistech.ru/tf/dynamix"
version = "<VERSION>"
}
}
}
*/
provider "dynamix" {
authenticator = "decs3o"
#controller_url = <DYNAMIX_CONTROLLER_URL>
controller_url = "https://ds1.digitalenergy.online"
#oauth2_url = <DYNAMIX_OAUTH2_URL>
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "dynamix_vins" "vins" {
#имя создаваемого ресурса
#обязательный параметр
#тип - строка
name = "Test_name"
#id ресурсной группы для создания ресурса
#опциональный параметр
#тип - целое число
rg_id = 10101
#id аккаунта для создания ресурса
#опциональный параметр
#тип - целое число
account_id = 2023
#блок правил extnet
#опциональный параметр
#тип - блок extnet
ext_net = {
#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
#описание
#опциональный параметр
#тип - строка
desc = "Description"
#ручное подключение и отключение ресурса
#опциональный параметр
#тип - булев
enable = true
#удаление навсегда
#опциональный параметр
#по умолчанию - true
#тип - булев
permanently = true
#удаляет за собой все зависимые ресурсы
#опциональный параметр
#по умолчанию - true
#тип - булев
force = true
#список для резервирования ip
#опциональный параметр
#тип - массив объектов ip
ip = [{
#тип подключения
#обязательный параметр
#тип - строка
type = "DHCP"
#ip который необходимо зарезервировать
#опциональный параметр
#тип - строка
ip_addr = "192.168.5.5"
#mac который необходимо зарезервировать
#опциональный параметр
#тип - строка
mac_addr = "ff:ff:ff:ff:ff:ff"
}]
#список для резервирования ip
#опциональный параметр
#тип - массив объектов ip
nat_rule = [{
#ip внутренний
#опциональный параметр
#тип - строка
int_ip = "192.168.0.28"
#внутренний порт
#опциональный параметр
#тип - целое число
int_port = 80
#начало диапазона внешних портов
#опциональный параметр
#тип - целое число
ext_port_start = 8001
#конец диапазона внешних портов
#опциональный параметр
#тип - целое число
ext_port_end = 8001
#протокол natRule
#опциональный параметр
#тип - строка
proto = "tcp"
}]
#восстановление ресурса
#опциональный параметр
#по умолчанию - true
#тип - булев
restore = true
#перезапуск vnfDev
#опциональный параметр
#тип - булев
vnfdev_restart = 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 = dynamix_vins.vins
}