/* Пример использования Работа с ресурсом kvmvm (compute) Ресурс позволяет: 1. Создавать compute 2. Редактировать compute 3. Удалять compute */ #Расскомментируйте этот код, #и внесите необходимые правки в версию и путь, #чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером /* terraform { required_providers { decort = { version = "1.1" source = "digitalenergy.online/decort/decort" } } } */ provider "decort" { authenticator = "oauth2" #controller_url = controller_url = "https://ds1.digitalenergy.online" #oauth2_url = oauth2_url = "https://sso.digitalenergy.online" allow_unverified_ssl = true } resource "decort_kvmvm" "comp" { #имя compute #обязательный параметр #мб изменен #тип - строка name = "test-tf-compute-update-new" #id resource group #обязательный параметр #тип - число rg_id = 1111 #тип драйвера для compute #обязательный параметр #тип - строка driver = "KVM_X86" #число cpu #обязательный параметр #тип - число cpu = 1 #кол-во оперативной памяти, МБ #обязательный параметр #тип - число ram = 2048 #id образа диска для создания compute #обязательный параметр #тип - число image_id = 111 #размер загрузочного диска #обязательный параметр #тип - число boot_disk_size = 20 #описание compute #опциональный параметр #тип - строка description = "test update description in tf words update" #Создание и добавление диска дял compute #опциональный параметр #тип - список дисков disks { #Имя диска #Обязательный для диска параметр #Тип - строка disk_name = "disk_name" #Размер диска #Обязательный для диска параметр #Тип - число size = 5 #Тип диска #опциональный параметр #тип - строка disk_type = "D" #опциональный параметр #тип - число sep_id = 1 #Название пула #опциональный параметр #тип - строка pool = "data01" #Описание диска #опциональный параметр #тип - строка desc = "" #Айди образа #опциональный параметр #опциональный параметр image_id = 378 #Флаг для удаления диска #опциональный параметр #тип - bool permanently = false #правила affinity #опциональный параметр #может быть один, несколько или ни одного блока #тип - блок #affinity_rules { #тип правила #возможные значения - compute или node #обязательный параметр #тип - строка #topology = "compute" #строгость правила #возможные значения - RECOMMENDED и REQUIRED #обязательный параметр #тип - строка #policy = "RECOMMENDED" #режим проверки #возможные значения - ANY, EQ, NE #обязательный параметр #тип - строка #mode = "ANY" #ключ правила #обязательный параметр #тип строка #key = "testkey" #ключ правила #обязательный параметр #тип строка #value = "testvalue" #} #правила anti-affinity #опциональный параметр #может быть один, несколько или ни одного блока #тип - блок #anti_affinity_rules { #тип правила #возможные значения - compute или node #обязательный параметр #тип - строка #topology = "compute" #строгость правила #возможные значения - RECOMMENDED и REQUIRED #обязательный параметр #тип - строка #policy = "RECOMMENDED" #режим проверки #возможные значения - ANY, EQ, NE #обязательный параметр #тип - строка #mode = "ANY" #ключ правила #обязательный параметр #тип строка #key = "testkey" #ключ правила #обязательный параметр #тип строка #value = "testvalue" #} #Флаг доступности компьюта для проведения с ним операций #опицональный параметр #тип - bool #enable = true #установка метки для вм #опциональный параметр #тип - строка #affinity_label = "test4" #наименование системы #опциональный параметр #используется при создании вм #по умолчанию - не задан #тип - строка #is="" #назначение вм #опциональный параметр #используется при создании вм #по умолчанию - не задан #тип - строка #ipa_type = "" } } output "test" { value = decort_kvmvm.comp }