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

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

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

## Аргументы

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

| Аргумент       | Тип      | Обязательный       | Описание                                                                                                                                |
| -------------- | -------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| name           | string   | :heavy_check_mark: | Имя образа<br/>При изменении - изменяет название образа                                                                                 |
| url            | string   | :heavy_check_mark: | Адрес образа                                                                                                                            |
| gid            | int      | :heavy_check_mark: | Grid id образа                                                                                                                          |
| 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      | :x:                | 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/>для удаления всех доступных стаков, необходимо передать пустой массив    |
| permanently    | bool     | :x:                | Мгновенное удаление<br/>можно использовать перед удалением                                                                              |
| reason         | string   | :x:                | Причина удаления<br/>можно использовать перед удалением                                                                                 |

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

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

| Параметр       | Тип                                        | Описание                                                 |
| -------------- | ------------------------------------------ | -------------------------------------------------------- |
| 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                                     | Название образа                                          |
| password       | string                                     | Пароль для образа                                        |
| password_dl    | string                                     | Пароль для загрузки двоичных файлов                      |
| permanently    | bool                                       | Удаление образа: мгновенное или нет                      |
| pool_name      | string                                     | Пул, в котором был создан образ                          |
| provider_name  | string                                     | Наименование провайдера                                  |
| purge_attempts | int                                        | Попытки                                                  |
| present_to     | []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                                        | Размер образа                                            |
| 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" "my_image" {
  # Наименование образа
  # Обязательный параметр
  # string
  name = "image_name"

  # grid ID платформы
  # Обязательный параметр
  # int
  gid = 2002

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

  # Тип образа (linux, windows и др.)
  # Обязательный параметр
  # string
  type = "linux"

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

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

  # ID аккаунта
  # Опциональный параметр
  # int
  account_id = 138

  # Поддержка hot resize
  # Опциональный параметр
  # bool
  hot_resize = true

  # Юзернейм для образа
  # Опциональный параметр
  # string
  username = "userx"

  # Пароль для образа
  # Опциональный параметр
  # string
  password = "passx"

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

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

  # Storage endpoint provider ID
  # Опциональный параметр
  # int
  sep_id = 1

  # Pool для образа
  # Опциональный параметр
  # string
  pool_name = "pool"

  # Архитектура обраща (X86_64 / PPC64_LE)
  # Опциональный параметр
  # string
  architecture = "PPC64_LE"
}

# once the above directive completes,  will be accessible
# as decort_image.my_image
```

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