Функция доступна в провайдере версии 4.6.0 и выше.

*Data source* функция **decort_cb_user_list** служит для получения информации о списке всех доступных пользователей.

## Аргументы

*Data source* функция **decort_cb_user_list** принимает следующие аргументы:

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| by_id | string | :x: | Фильтр по ID пользователя |
| active | bool | :x: | Фильтр по активности user |
| service_account | bool | :x: | Фильтр по значению service account у искомого user |
| sort_by | string | :x: | Сортировка по одному из полей. Формат +/-(field) |
| page | int | :x: | Номер страницы для вывода |
| size | int | :x: | Размер страницы для вывода |

## Возвращаемые значения

В случае успешного выполнения *data source* функция **decort_cb_user_list** возвращает в указанную при вызове переменную, в поле *items*, массив, каждый элемент которого состоит из следующих параметров:

| Параметр | Тип | Описание |
| --- | --- | --- |
| ckey | string | Ckey |
| meta | string | Мета информация |
| active | bool | Флаг активности |
| apiaccess | map[string]string | Список групп доступа к API, в которые будет включен данный пользователь |
| authkey | string | Ключ сеанса |
| authkeys | []string | Список ключей сеанса |
| data | string | Установленные данные |
| description | string | Описание |
| domain | string | Имя домена |
| emails | []string | Список адресов электронной почты |
| gid | int | Grid ID |
| groups | []string | Список групп, в которые включен пользователь |
| guid | string | Guid пользователя |
| user_id | string | ID пользователя |
| last_check | int | Дата последней проверки |
| mobile | []string | Список мобильных номеров |
| password | string | Пароль пользователя |
| protected | bool | Protected |
| roles | []string | Список ролей |
| service_account | bool | Флаг, является ли аккаунт аккаунтом-обслуживания |
| xmpp | []string | Xmpp |

## Пример использования

Пример вызова *data source* функции **decort_cb_user_list**:

```terraform
data "decort_cb_user_list" "users" {    
  #фильтр по id пользователя
  #опциональный параметр
  #тип - строка
  #by_id = "test_user"

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

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

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

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

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

Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/wiki-terraform-provider-decort/src/branch/main/4.6.0/04.02-Инициализация-Terraform-провайдера-DECORT.md)).

После успешного завершения такого вызова **decort_cb_user_list** в переменной `data.decort_cb_user_list.users` будут сохранены возвращаемые значения.
