/*
Пример использования
Ресурса диска
*/

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

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

  #название диска диска
  #обязательный параметр
  #тип - строка
  disk_name = "super-disk-re"

  #максимальный размер диска
  #обязательный параметр
  #тип - целое число
  size_max = 20

  #тип диска
  #опциональный параметр
  #тип - строка
  #допустимые значения: "D", "B", "T"
  #значение по умолчанию: "D"
  #type = "d"

  #sep id
  #опциональный параметр
  #тип - целое число
  #значение по умолчанию 0
  #sep_id = 1

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

  #описание диска
  #опциональный параметр
  #тип - строка
  #desc = "description"

  #флаг поделиться диском
  #опциональный параметр
  #тип - булев
  #shareable = true

  #настройки лимитов операций записи/чтения с диска
  #опциональный параметр
  #тип - блок, тип вложенных полей - число
  iotune = {
    read_bytes_sec      = 0
    read_bytes_sec_max  = 0
    read_iops_sec       = 0
    read_iops_sec_max   = 0
    size_iops_sec       = 0
    total_bytes_sec     = 0
    total_bytes_sec_max = 0
    total_iops_sec      = 3000
    total_iops_sec_max  = 0
    write_bytes_sec     = 0
    write_bytes_sec_max = 0
    write_iops_sec      = 0
    write_iops_sec_max  = 0
  }

  #настройки для удаления диска

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

  #флаг отсоединения диска от машины перед удалением
  #опциональный параметр
  #тип - булев
  #detach = true
}

output "test" {
  value = dynamix_disk.disk
}
