Функция доступна в провайдере версии 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: | Размер страницы           |

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

| Параметр       | Тип                                               | Описание                                 |
|----------------|---------------------------------------------------|------------------------------------------|
| ckey           | string                                            | CKey                                     |
| meta           | []string                                          | Мета информация о stack                  |
| 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" {
  image_id = 6040
  #name = "test"
  #status = "ENABLED"
  #type_image = "cdrom"
  #page = 2
  #size = 3
}
# once the above directive completes, image stacks will be accessible 
# as data.decort_cb_image_list_stacks.ils.items
```

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

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