203 lines
7.0 KiB
HCL
203 lines
7.0 KiB
HCL
/*
|
||
Пример использования
|
||
Ресурса 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
|
||
}
|