Files

203 lines
7.0 KiB
Terraform
Raw Normal View History

2024-07-25 14:33:38 +03:00
/*
Пример использования
Ресурса 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"
2024-08-23 16:55:50 +03:00
#controller_url = <DYNAMIX_CONTROLLER_URL>
2024-07-25 14:33:38 +03:00
controller_url = "https://ds1.digitalenergy.online"
2024-08-23 16:55:50 +03:00
#oauth2_url = <DYNAMIX_OAUTH2_URL>
2024-07-25 14:33:38 +03:00
oauth2_url = "https://sso.digitalenergy.online"
allow_unverified_ssl = true
}
resource "dynamix_vins" "vins" {
#имя создаваемого ресурса
#обязательный параметр
#тип - строка
2025-07-01 13:44:09 +03:00
#используется при создании
2024-07-25 14:33:38 +03:00
name = "Test_name"
#id ресурсной группы для создания ресурса
#опциональный параметр
#тип - целое число
2025-07-01 13:44:09 +03:00
#используется при создании
2024-07-25 14:33:38 +03:00
rg_id = 10101
#id аккаунта для создания ресурса
#опциональный параметр
#тип - целое число
2025-07-01 13:44:09 +03:00
#используется при создании
2024-07-25 14:33:38 +03:00
account_id = 2023
2024-08-23 16:55:50 +03:00
#блок правил extnet
2024-07-25 14:33:38 +03:00
#опциональный параметр
2024-08-23 16:55:50 +03:00
#тип - блок extnet
2025-07-01 13:44:09 +03:00
#ext_net = {
2024-08-23 16:55:50 +03:00
#id внешней сети для подключения к ней ресурса
#опциональный параметр
#тип - целое число
2025-07-01 13:44:09 +03:00
#используется при создании и обновлении
#ext_net_id = 2222
2024-07-25 14:33:38 +03:00
2024-08-23 16:55:50 +03:00
#ip внешней сети для подключения к нему ресурса
#опциональный параметр
#тип - строка
2025-07-01 13:44:09 +03:00
#используется при создании и обновлении
#ext_ip_addr = "1.1.1.1"
#}
2024-07-25 14:33:38 +03:00
#private network IP CIDR
#опциональный параметр
#тип - строка
2025-07-01 13:44:09 +03:00
#используется при создании
#ipcidr = "192.168.0.1"
2024-07-25 14:33:38 +03:00
#количество зарезервированных адресов на момент создания
#опциональный параметр
#значение по умолчанию 32
#тип - целое число
2025-07-01 13:44:09 +03:00
#используется при создании
#pre_reservations_num = 2
2024-07-25 14:33:38 +03:00
#grid (platform) ID
#опциональный параметр
#тип - целое число
2025-07-01 13:44:09 +03:00
#используется при создании
#gid = 2002
2024-07-25 14:33:38 +03:00
#описание
#опциональный параметр
#тип - строка
2025-07-01 13:44:09 +03:00
#используется при создании и обновлении
#desc = "Description"
2024-07-25 14:33:38 +03:00
#ручное подключение и отключение ресурса
#опциональный параметр
#тип - булев
2025-07-01 13:44:09 +03:00
#используется при создании и обновлении
#enable = true
2024-07-25 14:33:38 +03:00
#удаление навсегда
#опциональный параметр
#по умолчанию - true
#тип - булев
2025-07-01 13:44:09 +03:00
#используется при удалении
#permanently = true
2024-07-25 14:33:38 +03:00
#удаляет за собой все зависимые ресурсы
#опциональный параметр
#по умолчанию - true
#тип - булев
2025-07-01 13:44:09 +03:00
#используется при удалении
#force = true
2024-07-25 14:33:38 +03:00
2024-08-23 16:55:50 +03:00
#список для резервирования ip
2024-07-25 14:33:38 +03:00
#опциональный параметр
2024-08-23 16:55:50 +03:00
#тип - массив объектов ip
2025-07-01 13:44:09 +03:00
#используется при создании и обновлении
#ip = [{
2024-07-25 14:33:38 +03:00
#тип подключения
#обязательный параметр
#тип - строка
2025-07-01 13:44:09 +03:00
#type = "DHCP"
2024-07-25 14:33:38 +03:00
#ip который необходимо зарезервировать
#опциональный параметр
#тип - строка
2025-07-01 13:44:09 +03:00
#ip_addr = "192.168.5.5"
2024-07-25 14:33:38 +03:00
#mac который необходимо зарезервировать
#опциональный параметр
#тип - строка
2025-07-01 13:44:09 +03:00
#mac_addr = "ff:ff:ff:ff:ff:ff"
#}]
2024-07-25 14:33:38 +03:00
2024-08-23 16:55:50 +03:00
#список для резервирования ip
2024-07-25 14:33:38 +03:00
#опциональный параметр
2024-08-23 16:55:50 +03:00
#тип - массив объектов ip
2025-07-01 13:44:09 +03:00
#используется при создании и обновлении
#nat_rule = [{
2024-07-25 14:33:38 +03:00
#ip внутренний
#опциональный параметр
#тип - строка
2025-07-01 13:44:09 +03:00
#int_ip = "192.168.0.28"
2024-07-25 14:33:38 +03:00
#внутренний порт
#опциональный параметр
#тип - целое число
2025-07-01 13:44:09 +03:00
#int_port = 80
2024-07-25 14:33:38 +03:00
#начало диапазона внешних портов
#опциональный параметр
#тип - целое число
2025-07-01 13:44:09 +03:00
#ext_port_start = 8001
2024-07-25 14:33:38 +03:00
#конец диапазона внешних портов
#опциональный параметр
#тип - целое число
2025-07-01 13:44:09 +03:00
#ext_port_end = 8001
2024-07-25 14:33:38 +03:00
#протокол natRule
#опциональный параметр
#тип - строка
2025-07-01 13:44:09 +03:00
#proto = "tcp"
#}]
2024-07-25 14:33:38 +03:00
#восстановление ресурса
#опциональный параметр
#по умолчанию - true
#тип - булев
2025-07-01 13:44:09 +03:00
#используется при обновлении
#restore = true
2024-07-25 14:33:38 +03:00
#перезапуск vnfDev
#опциональный параметр
#тип - булев
2025-07-01 13:44:09 +03:00
#используется при обновлении
#vnfdev_restart = true
2024-07-25 14:33:38 +03:00
#редеплой vnfDev
#опциональный параметр
#тип - булев
2025-07-01 13:44:09 +03:00
#используется при обновлении
#vnfdev_redeploy = true
2024-07-25 14:33:38 +03:00
#список dns
#опциональный параметр
#применяется при создании и редактировании ресурса
#если при создании указать пустой список, то ресурс создается с полем vnfs.dhcp.config.dns, имеющим значение по умолчанию
#если при обновлении указать пустой список, то ресурс обновит в модели поле vnfs.dhcp.config.dns с текущего значения на пустой список
#тип - список строк
2025-07-01 13:44:09 +03:00
#используется при создании и обновлении
2024-07-25 14:33:38 +03:00
#dns = ["1.1.1.1", "2.2.2.2"]
}
output "test" {
value = dynamix_vins.vins
}