#Раскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_image" "img" {
  #наименование образа
  #обязательный параметр
  #тип - строка
  image_name = "image_name"

  #grid ID платформы
  #обязательный параметр
  #тип - целое число
  gid = 2002

  #драйверы компьютов, подходящие для данного образа
  #обязательный параметр
  #тип - массив строк
  drivers = ["KVM_X86"]

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

  #прямая ссылка на образ
  #обязательный параметр
  #тип - строка
  url = "https://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/alpine-virt-3.17.3-x86_64.iso"

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

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

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

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

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

  #юзернейм для загрузки binary media
  #опциональный параметр
  #тип - строка
  #username_dl = "userxdl"

  #пароль для загрузки binary media
  #опциональный параметр
  #тип - строка
  #password_dl = "passxdl"

  #storage endpoint provider ID
  #опциональный параметр
  #тип - целая строка
  #sep_id = 1

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

  #архитектура образа (X86_64)
  #опциональный параметр
  #тип - строка
  #architecture = "X86_64"

  #флаг для моментального удаления образа
  #необязательный параметр
  #дефолтное значение - true
  #тип - булев
  #permanently = true
}

output "img_out" {
  value = dynamix_image.img
}
