/*
Пример использования
Получение списка storage policy
*/

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

data "decort_storage_policy_list" "lsp" {
   #фильтр по id аккаунта 
   #опциональный параметр
   #тип - целое число    
   #account_id = 1111

   #номер страницы результата 
   #опциональный параметр 
   #тип - целое число 
   #page = 1 

   #размер страницы результата   
   #опциональный параметр 
   #тип - целое число 
   #size = 1 

   #фильтр по id
   #опциональный параметр 
   #тип - целое число 
   #by_id = 1111

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

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

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

   #фильтр по лимиту iops     
   #опциональный параметр 
   #тип - целое число 
   #limit_iops = 1111

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

   #фильтр по id ресурсной группы     
   #опциональный параметр 
   #тип - целое число 
   #resgroup_id = 1111 

   #фильтр по id сеп
   #опциональный параметр 
   #тип - целое число 
   #sep_id = 1111 

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

   #сортировка по статусу SEP
   #опциональный параметр
   #тип - строка
   #возможные значения - ENABLED, DISABLED
   #sep_tech_status = "ENABLED"
}

output "test" {
  value = data.decort_storage_policy_list.lsp
}