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

_Data source_ функция **decort_zone_list** служит для получения информации о доступных zone устройствах

## Аргументы

_Data source_ функция **decort_zone_list** принимает следующие аргументы:

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| by_id | int | :x: | Фильтр по ID устройства zone |
| gid | int | :x: | Фильтр по grid ID |
| name | string | :x: | Фильтр по наименованию zone |
| description | string | :x: | Фильтр по описанию |
| status | string | :x: | Фильтр по состоянию zone |
| deletable | bool | :x: | Фильтр для получения информации о зонах, которые были удалены |
| node_id | int | :x: | Фильтр по связанным узлам |
| sort_by | string | :x: | Отсортировать вывод по значениям поля. Формат +/-(field) |
| page | int | :x: | Номер страницы для вывода |
| size | int | :x: | Размер страницы для вывода |


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

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

| Параметр | Тип | Описание |
| --- | --- | --- |
| zone_id | uint64 | Уникальный идентификатор зоны |
| guid | uint64 | GUID |
| gid | uint64 | GID |
| name | string | Наименование зоны |
| description | string | Описание зоны |
| deletable | bool | Флаг, указывающий, удалена ли зона |
| status | string | Текущее состояние зоны |
| created_time | uint64 | Временная метка создания зоны |
| updatedTime | uint64 | Временная метка последнего обновления зоны |
| nodeIds | []uint64 | Список идентификаторов узлов (Node IDs), связанных с зоной |

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

Пример вызова _data source_ функции **decort_account_zone_list**:

```terraform
data "decort_cb_zone_list" "zone_list" {
  #фильтрация списка для получения информации о конкретном zone по его id
  #необязательный параметр
  #тип - целое число
  #by_id = 1

  #фильтрация списка для получения информации о zone, которые принадлежат к определенному GRID
  #необязательный параметр
  #тип - целое число
  #gid = 1

  #фильтрация списка для получения информации о конкретном zone по его имени
  #необязательный параметр
  #тип - строка
  #name = "alpha-cpu-04"

  #фильтрация списка для получения информации о конкретном zone по его описанию
  #необязательный параметр
  #тип - строка
  #description = "some"

  #фильтрация списка для получения информации о zone, которые имеют соответствующий статус
  #необязательный параметр
  #тип - строка
  #status = "ENABLED"

  #фильтрация списка для получения информации о zone, которые удалены
  #необязательный параметр
  #тип - булев
  #deletable = false

  #фильтрация списка для получения информации о zone с конкретными nodeId
  #необязательный параметр
  #тип - целое число
  #node_id = 1

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

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

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

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

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