/*
Пример использования
Получение информации о списке пользователей группы доступа
*/

#Расскомментируйте этот код,
#и внесите необходимые правки в версию и путь,
#чтобы работать с установленным вручную (не через 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_sdn_access_group_user_list" "name" {
  #фильтр по идентификатору группы доступа
  #обязательный параметр
  #тип - строка
  access_group_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"

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

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

  #фильтр по включению
  #опциональный параметр
  #тип - булев
  #enabled = false

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

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

  #фильтр по логину пользователя
  #опциональный параметр
  #тип - строка
  #login = "login"

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

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

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

  #кто отключил пользователя
  #опциональный параметр
  #тип - строка
  #disabled_by = "name"

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

  #количество результатов на странице
  #опциональный параметр
  #тип - целое число
  #per_page = 2

  #сортировка по одному из поддерживаемых полей
  #опциональный параметр
  #тип - строка
  #возможные значения - display_name, email, phone, created_at, updated_at, deleted_at
  #sort_by = "created_at"

  #порядок сортировки
  #опциональный параметр
  #тип - строка
  #возможные значения - asc, desc
  #sort_order = "asc"

  #фильтр по нижней границе даты создания
  #опциональный параметр
  #тип - строка
  #значение по умолчанию - null
  #created_from = "2023-01-01T00:00:00Z"

  #фильтр по верхней границе даты создания
  #опциональный параметр
  #тип - строка
  #значение по умолчанию - null
  #created_to = "2023-01-01T00:00:00Z"
}

output "test" {
  value = data.decort_sdn_access_group_user_list.name
}

