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

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

## Аргументы

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

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| disk_id           | int   | :heavy_check_mark: | ID платформенного диска, из которого будет создан образ |            
| name | string | :heavy_check_mark: | Имя образа<br/>При изменении - изменяет название образа |
| boot_type | string | :heavy_check_mark: | Тип загрузки образа,<br/>возможные варианты: "bios" или "uefi" |
| image_type | string | :heavy_check_mark: | Тип образа,<br />возможные варианты - "linux", "windows" |
| architecture | string | :heavy_check_mark: | Архитектура образа,<br />возможные варианты - "X86_64" |
| drivers | []string | :heavy_check_mark: | Драйвера,<br/>возможные варианты - ["KVM_X86", "SVA_KVM_X86"] |
| account_id | int | :x: | ID аккаунта владельца образа |
| username | string | :x: | Имя пользователя |
| password | string | :x: | Пароль пользователя |
| sep_id | int | :x: | ID storage endpoint |
| pool_name | string | :x: | Пул для создания образа |  
| hot_resize | bool | :x: | Использует ли машина горячее изменение размера образа |
| async_mode | bool | :x: | Синхронное создание образа, используется при создании. Значение по умолчанию: false. |
| bootable | bool | :x: | Является ли образ загрузочным. Значение по умолчанию: true. |
| enabled | bool | :x: | Доступность образа,<br/>используется при редактировании ресурса |
| computeci_id | int | :x: | Установка computeci,<br/>используется на уже созданном ресурсе,<br/>чтобы сбросить, необходимо передать 0 |
| enabled_stacks | []int | :x: | Доступные стаки,<br/>используется на уже созданном ресурсе<br/>для удаления всех доступных стаков, необходимо передать пустой массив |
| shared_with | []int | :x: | Настройка доступа образа аккаунтам<br/>используется на уже созданном ресурсе,<br/>пустой массив - удаление всех доступов, если они были |
| accounts | []int | :x: | Список аккаунтов, которым будет предоставлен доступ к образу |
| network_interface_naming | string | :x: | Наименование сетевого интерфейса для вашего компьютера с Linux, eth - встроенный, ens - pci слот |

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

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

| Параметр | Тип | Описание |
| --- | --- | --- |
| account_id | int | accountId привязки образа |
| acl | []Struct [см. ниже](#Описание-структуры-acl) | Cписок Acces Control |
| architecture | string | Архитектура образа, возможен вариант X86_64 |
| boot_type | string | Тип запуска ОС - bios или uefi |
| bootable | bool | Является ли образ загрузочным |
| compute_ci_id | int | ID вычислительного ресурса |
| cd_presented_to | string | Подключение образа |
| deleted_time | int | Время удаления ресурса |
| 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 | Привязка к образу, используется в виртуальных образах |
| milestones | int | Вехи |
| name | string | Название образа |
| network_interface_naming | string | Название сетевого интерфейса |
| 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 |
| shared_with | []int | Список ресурсов, имеющих доступ к образу |
| size | int | Размер образа |
| status | string | Статус образа |
| tech_status | string | Технический статус |
| unc_path | string | unc path |
| url | string | Адрес, которого осуществлялась загрузка образа |
| version | string | Версия |

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

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

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

```terraform
resource "decort_cb_image_from_platform_disk" "my_image" {
  #id платформенного диска
  #используется для создания образа
  #обязательный параметр
  #тип - целое число
  disk_id = 1234

  #имя образа
  #используется для обновления и создания образа
  #обязательный параметр
  #тип - строка
  #при изменении - изменяет название созданного образа
  name = "test_image_rename"

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

  #тип образа
  #используется для создания образа
  #обязательный параметр
  #тип - строка
  #возможные варианты - "linux", "windows"
  image_type = "linux"

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

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

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

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

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

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

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

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

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

  #флаг для создания образа в асинхронном режиме
  #опциональный параметр
  #по умолчанию - false
  #тип - булев
  #async_mode = true

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

  #настройка доступа образа аккаунтам
  #опциональный параметр, используется на уже созданном ресурсе
  #тип - массив целых чисел
  #пустой массив - удаление всех доступов, если они были
  #shared_with = [28096, 57121]

  #установка computeci
  #опциональный параметр, используется на уже созданном ресурсе
  #тип - целое число
  #чтобы сбросить, необходимо передать 0
  #computeci_id = 1

  #доступные стаки
  #опциональный параметр, используется на уже созданном ресурсе
  #тип - массив целых чисел
  #для удаления всех доступных стаков, необходимо передать пустой массив
  #enabled_stacks = [9]

  #аккаунты, которым предоставляется доступ к образу
  #Используется для обновления и создания образа
  #опциональный параметр
  #тип - массив целых чисел
  #для удаления всех доступных аккаунтов, необходимо передать пустой массив
  #accounts = [9, 5]

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

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