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

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

## Аргументы

_Resource_ функция **decort_cb_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"                                                                          |
| image_type     | string   | :heavy_check_mark: | Тип образа,<br />возможные варианты - "linux", "windows"                                                                                |
| drivers        | []string | :heavy_check_mark: | Драйвера,<br/>возможные варианты - ["KVM_X86", "SVA_KVM_X86"], ["KVM_X86"], ["SVA_KVM_X86"]                                             |
| hot_resize | bool     | :x: | Фильтр образов, разрешающих hot resize |
| username       | string   | :x:                | Имя пользователя,<br/>может быть использован как при создании, так и редактировании образа                                              |
| password       | string   | :x:                | Пароль пользователя,<br/>может быть использован как при создании, так и редактировании образа                                           |
| account_id     | int      | :x:                | ID аккаунта владельца образа,<br/>может быть использован как при создании, так и редактировании образа                                  |
| username_dl    | string   | :x:                | Имя пользователя для загрузки бинарных данных,<br/>может быть использован как при создании, так и редактировании образа                 |
| password_dl    | string   | :x:                | Пароль пользователя для загрузки бинарных данных,<br/>может быть использован как при создании, так и редактировании образа              |
| sep_id         | int      | :x:                | ID storage endpoint                                                                                                                     |
| pool_name      | string   | :x:                | Пул для создания образа                                                                                                                 |
| architecture   | string   | :x:                | Используется при создании, <br/>архитектура системы образа<br/>доступные значения: "X86_64"<br/>по-умолчанию "X86_64"                   |
| permanently    | bool     | :x:                | Мгновенное удаление<br/>можно использовать перед удалением                                                                              |
| bootable | bool     | :x: | Фильтр загрузочных образов |
| enabled        | bool     | :x:                | Доступность образа,<br/>используется при редактировании ресурса                                                                         |
| computeci_id   | int      | :x:                | Установка computeci,<br/>используется на уже созданном ресурсе,<br/>чтобы сбросить, необходимо передать 0                               |
| sync_mode           | bool     | :x:                | Синхронное создание образа, используется при создании                                                                                   |
| enabled_stacks | []int    | :x:                | Доступные стаки,<br/>используется на уже созданном ресурсе<br/>для удаления всех доступных стаков, необходимо передать пустой массив    |
| shared_with    | []int    | :x:                | Настройка доступа образа аккаунтам<br/>используется на уже созданном ресурсе,<br/>пустой маасив - удаление всех доступов, если они были |
| reason         | string   | :x:                | Причина удаления<br/>можно использовать перед удалением                                                                                 |

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

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

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

### Описание структуры acl
| Параметр | Тип | Описание |
| --- | --- | --- |
| explicit | bool | Явно ли указан доступ |
| guid | string | guid Ресурса |
| right | string | Права на ресурс |
| status | string | Статус ресурса |
| type | string | Тип ресурса |
| user_group_id | string | ID user group |

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

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

```terraform
resource "decort_cb_image" "my_image" {
  name = "test_image_rename"
  url = "<IMAGE_URL>"
  gid = 212
  boot_type = "bios"
  image_type = "linux"
  drivers = ["KVM_X86", "SVA_KVM_X86"]

  #hot_resize = true
  #account_id = 5725
  #password = "123"
  #username_dl = "Valera1"
  #password_dl = "1231"
  #sep_id       = 1206
  #pool_name    = "vmstor"
  #architecture = "X86_64"
  #enabled = true
  #bootable = true
  #sync_mode = true
  #shared_with = [28096, 57121]
  #computeci_id = 1
  #enabled_stacks = [9]
  #permanently = true
  #reason = "test"
}
# once the above directive completes, image id will be accessible
# as decort_cb_image.my_image.image_id
```

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

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