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

_Data source_ функция **decort_stack_list** служит для получения информации о списке всех доступных stack. Stack - вычислительный узел.

## Аргументы

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

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| by_id | int | :x: | фильтр по ID вычислительного узла (stack) |
| name | string | :x: | фильтр по наименованию stack |
| type | string | :x: | фильтр по типу stack |
| status | string | :x: | фильтр по статусу stack |
| sort_by | string | :x: | Фильтр по одному из поддерживаемых полей, формат: +или- название поля |
| page | int | :x: | Номер страницы для вывода |
| size | int | :x: | Размер страницы для вывода |

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

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

| Параметр | Тип | Описание |
| --- | --- | --- |
| stack_id | int | ID вычислительного узла (stack) |
| name | string | Наименование stack |
| status | string | Статус stack |
| type | string | Тип stack |

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

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

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

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

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

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

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

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

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

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

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