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

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

Основной сценарий использования таких ресурсов это создание каталогов образов операционных систем (ОС), на базе которых создаются загрузочные диски для _compute_. Также с их помощью можно хранить эталонную информацию, требующуюся для работы приложений, например, файлы баз данных.

Образ ОС является основной для создания новых виртуальных серверов, так как из него формируется загрузочный диск сервера. Как следствие, для создания виртуального сервера помимо других параметров требуется указать идентификатор нужного образа ОС. Для получения всех доступных идентификаторов можно воспользоваться _data source_ функцией **decort_image_list**.

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

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| sep_id | int | :x: | Фильтр по storage endpoint provider ID |
| by_id | int | :x: | Фильтр по ID |
| name | string | :x: | Фильтр по имени |
| status | string | :x: | Фильтр по статусу |
| architecture | string | :x: | Фильтр по архитектуре |
| type_image | string | :x: | Фильтр по типу |
| image_size | int | :x: | Фильтр по размеру образа |
| sep_name | string | :x: | Фильтр по имени SEP |
| pool | string | :x: | Фильтр по Pool |
| public | bool | :x: | Фильтр публичных/приватных образов |
| hot_resize | bool | :x: | Фильтр образов, разрешающих hot resize |
| bootable | bool | :x: | Фильтр загрузочных образов |
| page | int | :x: | Номер страниц |
| size | int | :x: | Размер страницы |
| sort_by | string | :x: | Фильтр по одному из поддерживаемых полей, формат: +или- название поля |

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

| Параметр | Тип | Описание |
| --- | --- | --- |
| account_id | int | accountId привязки образа |
| architecture | string | Архитектура образа, возможен вариант X86_64 или PPC64_LE |
| boot_type | string | Тип запуска ОС - bios или uefi |
| bootable | bool | Является ли образ загрузочным |
| computeci_id | int | ID вычислительного ресурса |
| desc | string | Описание образа |
| drivers | []string | Список используемых драйверов |
| enabled | bool | Доступность образа |
| gid | int | ID платформы, где образ будет создан |
| guid | int | Внутренний id образа, совпадает с image_id |
| history | object{id: int, guid: int, timestamp: int} | История обновлений образа |
| hot_resize | bool | Использует ли машина горячее изменение размера образа |
| image_type | string | Тип образа: linux, windows или другой |
| last_modified | int | Дата последнего изменения |
| link_to | int | Привязка к образу, используется в виртуальных образах |
| meta | []string | Мета информация об образе |
| milestones | int | Вехи |
| name | string | Название образа |
| network_interface_naming | string | Название сетевого интерфейса |
| password | string | Пароль для образа |
| password_dl | string | Пароль для загрузки двоичных файлов |
| permanently | bool | Удаление образа: мгновенное или нет |
| pool_name | string | Пул, в котором был создан образ |
| provider_name | string | Наименование провайдера |
| purge_attempts | int | Попытки |
| reference_id | string | ID ссылки |
| res_id | string | ID ресурса |
| res_name | string | Наименование ресурса |
| rescuecd | bool | CD или нет |
| sep_id | int | storage endpoint provider ID |
| size | int | Размер образа |
| status | string | Статус образа |
| tech_status | string | Технический статус |
| unc_path | string | unc path |
| url | string | Адрес, которого осуществлялась загрузка образа |
| username | string | Имя пользователя образа |
| username_dl | string | Имя пользователя для загрузки двоичных файлов |
| version | string | Версия |

## Пример использования
Пример вызова _data source_ функции **decort_image_list**:
```terraform
data "decort_image_list" "il" {
  #фильтр по id sep
  #опциональный параметр
  #тип - целое число
  #sep_id = 1
  
  #фильтр по id образа
  #опциональный параметр
  #тип - целое число
  #by_id = 100

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

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

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

  #фильтр по размеру образа
  #опциональный параметр
  #тип - целое число
  #image_size = 100

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

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

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

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

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

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

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

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

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

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