/* Пример использования Ресурса 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 = "" } } } */ provider "dynamix" { authenticator = "decs3o" #controller_url = controller_url = "https://ds1.digitalenergy.online" #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 #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" } #блок для добавления natRule #опциональный параметр #тип - блок правил nat 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 }