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

_Data source_ функция **decort_cb_image_list_stacks** служит для получения информации об имеющихся в облачной платформе доступных образу stacks. Образы это дисковые ресурсы, уже содержащие некоторые данные, для которых реализован механизм быстрого клонирования/копирования в новый диск. Stacks - единица платформы, в которой хранятся в том числе и образы. Из других stacks к образу доступа нет.

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

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

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

| Параметр | Тип | Описание |
| --- | --- | --- |
| ckey | string | CKey |
| api_url | string | Адрес api |
| api_key | string | Ключ api |
| app_id | string | ID приложения |
| cpu_allocation_ratio | float | Отношение выделения CPU |
| desc | string | Описание |
| descr | string | Описание |
| drivers | []string | Список используемых драйверов |
| eco | string | Системные ошибки |
| error | int | Ошибка |
| gid | int | Идентификатор площадки (grid id) |
| guid | int | ID ресурса |
| id | int | ID вычислительного узла (stack) |
| images | []int | Список доступных образов на stack |
| login | string | Логин |
| mem_allocation_ratio | float | Коэффициент выделения оперативной памяти |
| name | string | Наименование stack |
| packages | []Struct [см. ниже](#описание-структуры-packages) | Информация о пакетах |
| passwd | string | Пароль |
| reference_id | string | ID ссылки |
| status | string | Статус stack |
| type | string | Тип stack |

### Описание структуры packages
| Параметр | Тип | Описание |
| --- | --- | --- |
| libvirt_bin | Struct [см. ниже](#описание-структуры-libvirt_bin) | Информация о пакете libvirt_bin |
| libvirt_daemon | Struct [см. ниже](#описание-структуры-libvirt_daemon) | Информация о пакете libvirt_daemon |
| lvm2_lockd | Struct [см. ниже](#описание-структуры-lvm2_lockd) | Информация о пакете lvm2_lockd |
| openvswitch_common | Struct [см. ниже](#описание-структуры-openvswitch_common) | Информация о пакете openvswitch_common |
| openvswitch_switch | Struct [см. ниже](#описание-структуры-openvswitch_switch) | Информация о пакете openvswitch_switch |
| qemu_system_x86 | Struct [см. ниже](#описание-структуры-qemu_system_x86) | Информация о пакете qemu_system_x86 |
| sanlock | Struct [см. ниже](#описание-структуры-sanlock) | Информация о пакете sanlock |

### Описание структуры libvirt_bin
| Параметр | Тип | Описание |
| --- | --- | --- |
| installed_size | string | Размер |
| ver | string | Версия |

### Описание структуры libvirt_daemon
| Параметр | Тип | Описание |
| --- | --- | --- |
| installed_size | string | Размер |
| ver | string | Версия |

### Описание структуры lvm2_lockd
| Параметр | Тип | Описание |
| --- | --- | --- |
| installed_size | string | Размер |
| ver | string | Версия |

### Описание структуры openvswitch_common
| Параметр | Тип | Описание |
| --- | --- | --- |
| installed_size | string | Размер |
| ver | string | Версия |

### Описание структуры openvswitch_switch
| Параметр | Тип | Описание |
| --- | --- | --- |
| installed_size | string | Размер |
| ver | string | Версия |

### Описание структуры qemu_system_x86
| Параметр | Тип | Описание |
| --- | --- | --- |
| installed_size | string | Размер |
| ver | string | Версия |

### Описание структуры sanlock
| Параметр | Тип | Описание |
| --- | --- | --- |
| installed_size | string | Размер |
| ver | string | Версия |

## Пример использования
Пример вызова _data source_ функции **decort_cb_image_list_stacks**:
```terraform
data "decort_cb_image_list_stacks" "ils" {
  #id образа
  #обязательный параметр
  #тип - целое число
  image_id = 6040

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

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

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

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

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

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

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

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