/*
Ресурс образа из компьюта, созданного как blank позволяет:
1. Создавать
2. Редактировать
3. Удалять ресурс
*/

#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через hashicorp provider registry) провайдером
/*
terraform {
  required_providers {
    decort = {
      source = "basis/decort/decort"
      version = "<VERSION>"
    }
  }
}
*/

provider "decort" {
  authenticator = "decs3o"
  #controller_url = <DECORT_CONTROLLER_URL>
  controller_url = "https://ds1.digitalenergy.online"
  #oauth2_url = <DECORT_SSO_URL>
  oauth2_url           = "https://sso.digitalenergy.online"
  allow_unverified_ssl = true
}

resource "decort_image_from_blank_compute" "img" {
  #id виртуальной машины, созданной как blank
  #обязательный параметр
  #тип - целое число
  #используется при создании
  compute_id = 1234

  #наименование образа
  #обязательный параметр
  #тип - строка
  #используется при создании и обновлении
  name = "image_name"

  #тип загрузчика (bios/uefi)
  #обязательный параметр
  #тип - строка
  #используется при создании
  boot_type = "bios"

  #тип образа (linux, windows и др.)
  #обязательный параметр
  #тип - строка
  #используется при создании
  type = "linux"

  #юзернейм для образа
  #опциональный параметр
  #тип - строка
  #используется при создании
  #username = "userx"

  #пароль для образа
  #опциональный параметр
  #тип - строка
  #используется при создании
  #password = "passx"

  #id аккаунта
  #опциональный параметр
  #тип - целое число
  #используется при создании
  #account_id = 138

  #pool для образа
  #опциональный параметр
  #тип - строка
  #используется при создании
  #pool_name = "pool"

  #поддержка hot resize
  #опциональный параметр
  #тип - булев
  #используется при создании
  #hot_resize = true

  #флаг для создания образа в асинхронном режиме
  #опциональный параметр
  #по умолчанию - false
  #тип - булев
  #используется при создании
  #async_mode = true

}

output "img_out" {
  value = decort_image_from_blank_compute.img
}
