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

_Resource_ функция **decort_image** служит для управления образом.

## Изменения в версии 3.4.0
- В возвращаемые значения добавлено поле present_to

## Аргументы

_Resource_ функция **decort_image** для создания образа принимает следующие аргументы:

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| name | string | :heavy_check_mark: | Имя образа<br/>При изменении - изменяет название образа |
| url | string | :heavy_check_mark: | Адрес образа |
| boot_type | string | :heavy_check_mark: | Тип загрузки образа,<br/>возможные варианты: "bios" или "uefi" |
| type | string | :heavy_check_mark: | Тип образа,<br />возможные варианты - "linux", "windows" |
| drivers | []string | :heavy_check_mark: | Драйвера,<br/>возможные варианты - ["KVM_X86", "SVA_KVM_X86"], ["KVM_X86"], ["SVA_KVM_X86"] |
| account_id | int | :heavy_check_mark: | ID аккаунта владельца образа,<br/>может быть использован как при создании, так и редактировании образа |
| username | string | :x: | Имя пользователя,<br/>может быть использован как при создании, так и редактировании образа |
| password | string | :x: | Пароль пользователя,<br/>может быть использован как при создании, так и редактировании образа |
| username_dl | string | :x: | Имя пользователя для загрузки бинарных данных,<br/>может быть использован как при создании, так и редактировании образа |
| password_dl | string | :x: | Пароль пользователя для загрузки бинарных данных,<br/>может быть использован как при создании, так и редактировании образа |
| sync | bool | :x: | Синхронное создание образа, используется при создании |
| sep_id | int | :x: | ID storage endpoint |
| pool_name | string | :x: | Пул для создания образа |
| architecture | string | :x: | Используется при создании, <br/>архитектура системы образа<br/>доступные значения: "X86_64"<br/>по умолчанию "X86_64" |
| enabled | bool | :x: | Доступность образа,<br/>используется при редактировании ресурса |
| shared_with | []int | :x: | Настройка доступа образа аккаунтам<br/>используется на уже созданном ресурсе,<br/>пустой маасив - удаление всех доступов, если они были |
| computeci_id | int | :x: | Установка computeci,<br/>используется на уже созданном ресурсе,<br/>чтобы сбросить, необходимо передать 0 |
| enabled_stacks | []string | :x: | Доступные стаки,<br/>используется на уже созданном ресурсе<br/>для удаления всех доступных стаков, необходимо передать пустой массив |

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

В случае успешного выполнения _resource_ функция **decort_image** возвращает в указанную при вызове переменную следующие значения:

| Параметр | Тип | Описание |
| --- | --- | --- |
| account_id | int | accountId привязки образа |
| architecture | string | Архитектура образа, возможен вариант X86_64 |
| boot_type | string | Тип запуска ОС - bios или uefi |
| bootable | bool | Является ли образ загрузочным |
| cd_presented_to | string | Соответствие между ID предоставленных образов и ID виртуальных машин |
| 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 | Пароль для загрузки двоичных файлов |
| pool_name | string | Пул, в котором был создан образ |
| provider_name | string | Наименование провайдера |
| purge_attempts | int | Попытки |
| present_to | map[string]int | Список ID ресурсов для который предоставлен образ |
| reference_id | string | ID ссылки |
| res_id | string | ID ресурса |
| res_name | string | Наименование ресурса |
| rescuecd | bool | cd или нет |
| sep_id | int | storage endpoint provider ID |
| size | int | Размер образа |
| snapshot_id | string | ID снапшота |
| status | string | Статус образа |
| tech_status | string | Технический статус |
| unc_path | string | unc path |
| url | string | Адрес, которого осуществлялась загрузка образа |
| username | string | Имя пользователя образа |
| username_dl | string | Имя пользователя для загрузки двоичных файлов |
| version | string | Версия |

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

Пример вызова _resource_ функции **decort_image**:

```terraform
resource "decort_image" "img" {
  #наименование образа
  #обязательный параметр
  #тип - строка
  #используется при создании и обновлении
  name = "image_name"

  #драйверы компьютов, подходящие для данного образа
  #обязательный параметр
  #тип - массив строк
  #используется при создании
  drivers = ["KVM_X86"]

  #тип образа (linux, windows и др.)
  #обязательный параметр
  #тип - строка
  #используется при создании
  type = "linux"

  #прямая ссылка на образ
  #обязательный параметр
  #тип - строка
  #используется при создании
  url = "https://dl-cdn.alpinelinux.org/alpine/v3.17/releases/x86_64/alpine-virt-3.17.3-x86_64.iso"

  #тип загрузчика (bios/uefi)
  #обязательный параметр
  #тип - строка
  #используется при создании
  boot_type = "bios"

  #id аккаунта
  #обязательный параметр
  #тип - целое число
  #используется при создании
  account_id = 138

  #поддержка hot resize
  #опциональный параметр
  #тип - булев
  #используется при создании
  #hot_resize = true

  #юзернейм для образа
  #опциональный параметр
  #тип - целое число
  #используется при создании
  #username = "userx"

  #пароль для образа
  #опциональный параметр
  #тип - строка
  #используется при создании
  #password = "passx"

  #юзернейм для загрузки binary media
  #опциональный параметр
  #тип - строка
  #используется при создании
  #username_dl = "userxdl"

  #пароль для загрузки binary media
  #опциональный параметр
  #тип - строка
  #используется при создании
  #password_dl = "passxdl"

  #storage endpoint provider ID
  #опциональный параметр
  #тип - целое число
  #используется при создании
  #sep_id = 1

  #pool для образа
  #опциональный параметр
  #тип - строка
  #используется при создании
  #pool_name = "pool"

  #архитектура образа (X86_64)
  #опциональный параметр
  #тип - строка
  #используется при создании
  #architecture = "X86_64"

  #наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот
  #опциональный параметр
  #тип - строка
  #используется при создании
  #network_interface_naming = "ens"
}
```

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