/*
Пример использования
Получение списка доступных образов
*/

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


provider "dynamix" {
  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
}

data "dynamix_image_list" "il" {
  #фильтр по id sep
  #опциональный параметр
  #тип - целое число
  #sep_id = 1
  
  #фильтр по id образа
  #опциональный параметр
  #тип - целое число
  #by_id = 100

  #фильтр по имени образа
  #опциональный параметр
  #тип - строка
  #name = "test"

  #фильтр по статусу
  #опциональный параметр
  #тип - строка
  #status = "ENABLED"

  #фильтр по архитектуре
  #опциональный параметр
  #тип - строка
  #architecture = "x86_64"
  
  #фильтр по типу образа
  #опциональный параметр
  #тип - строка
  #type_image = "cdrom"

  #фильтр по размеру образа
  #опциональный параметр
  #тип - целое число
  #image_size = 100

  #фильтр по имени SEP 
  #опциональный параметр
  #тип - строка
  #sep_name = "test"

  #фильтр по имени Pool 
  #опциональный параметр
  #тип - строка
  #pool_name = "test"

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

  #фильтр по hot_resize
  #опциональный параметр
  #тип - булев
  #hot_resize = true

  #фильтр по bootable
  #опциональный параметр
  #тип - булев
  #bootable = true

  #сортировка по одному из поддерживаемых полей
  #опциональный параметр
  #тип - строка
  #формат - "+поле" по возрастанию / "-поле" по убыванию
  #sort_by = "+name"

  #номер страницы для отображения
  #опциональный параметр
  #тип - целое число
  #если не задан - выводятся все доступные данные
  #page = 2

  #размер страницы
  #опциональный параметр
  #тип - целое число
  #если не задан - выводятся все доступные данные
  #size = 3
}

output "test" {
  value = data.dynamix_image_list.il
}
