/* Пример использования Ресурса 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 #блок правил 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 }