# Модуль decort_osimage ## Обзор модуля decort_osimage Модуль decort_osimage предназначен для выполнения следующих действий над образами, созданными в облачной платформе DECORT: - шаблонные образы: - создать - получить информацию - изменить имя - удалить - виртуальные образы - создать - получить информацию - изменить - имя - целевой образ - удалить ## Параметры модуля decort_osimage Ниже приведен список параметров для модуля **decort_osimage** (за исключением [общих параметров авторизации](./введение.md#общие-параметры-модулей-для-авторизации)): | Параметр | Тип, допустимые значения | Описание | | ------ | ------ | ------ | | account_Id | (int) | Уникальный целочисленный идентификатор аккаунта. Используется для поиска образов, а тажке для их создания. | | account_name | (string) | Имя аккаунта. Используется для получения уникального целочисленного идентификатора аккаунта. | | boot | (dict) | Параметры загрузки.
Ключи словаря:
• `mode` (str) - режим загрузки, значения: `bios`, `uefi`, значение по умолчанию при создании: `bios`;
• `loader_type` (str) - тип загрузчика операционной системы, значения: `linux`, `windows`, `unknown`, значение по умолчанию при создании: `unknown`. | | drivers | (string)
Default: `KVM_X86` | Тип виртуальных машин, подходящих для образа. Используется при создании образа.| | hot_resize | (bool) | Поддержка изменения объёма ОЗУ и количества процессоров у запущенных ВМ, созданных на основе образа.
Значение по умолчанию при создании: `false`. | | image_id | (int) | Идентификатор шаблонного образа. | image_name | (str) | Имя шаблонного образа. | image_password | (string) | Опциональный пароль для образа. Используется при создании образа.| | image_username | (string) | Опциональное имя пользователя для образа. Используется при создании образа. | | network_interface_naming | (string)
Значения:
`ens`
`eth`| Шаблон именования сетевых интерфейсов в ОС Linux.
Значение по умолчанию при создании: `ens`. | | passwordDL | (string) | Пароль для скачивания по URL-адресу. Используется при создании образа. | | pool | (str) | Имя пула СХД. Используется для поиска существующего образа. | poolName | (string) | Имя пула СХД. Используется при создании образа. | | sepId | (integer) | Уникальный целочисленный идентификатор СХД. Используется при создании образа. | | sep_id | (int) | Идентификатор СХД. Используется для поиска существующего образа. | state | (string)
Значения:
`present`
`absent`
Default: `present` | Целевое состояние образа. `present` - существует, `absent` - удалён. | | url | (string) | URL-адрес, с которого будет загружен образ. Используется при создании образа.| | usernameDL | (string) | Имя пользователя для загрузки образа с заданного URL-адреса. Используется при создании образа. | | virt_id | (integer) | Уникальный целочисленный идентификатор виртуального образа. Может использоваться для получения информации о виртуальном образе, а также для привязки к нему другого образа.| | virt_name | (string) | Имя виртуального образа. Используется для получения `virt_id`, а в последствии информации о виртуальном образе, а также для создания виртуального образа и привязки к нему другого образа.| ## Возвращаемые значения модуля decort_osimage Модуль decort_osimage возвращает информацию об образе в виде словаря facts со следующими ключами: | Ключ | Тип данных | Описание | | ------ | ------ | ------ | | accountId | int | Идентификатор аккаунта. | | boot_mode | string | Режим загрузки. | | boot_loader_type | string | Тип загрузчика операционной системы. | | hot_resize | bool | Поддержка изменения объёма ОЗУ и количества процессоров у запущенной ВМ. | | id | int | Уникальный целочисленный идентификатор данного образа. | | linkto | int | Уникальный целочисленный идентификатор образа, который привязан к данному виртуальному. | | name | string | Имя образа. | | network_interface_naming | string | Шаблон именования сетевых интерфейсов в ОС Linux. | | pool | string | Имя пула на системе хранения данных, в котором находится данный образ.| | sep_id | int | Идентификатор системы хранения данных, на которой хранится данный образ. | | size | int | Размер образа в ГБ. | | state | string | Текущий статус образа. | | type | string | Тип образа. | ## Пример использования модуля decort_osimage Пример создания шаблонного образа с операционной системой Alpine Linux. ``` - name: Create template image decort_osimage: account_Id: 12345 app_id: "{{ my_app_id }}" app_secret: "{{ my_app_secret }}" authenticator: oauth2 controller_url: "https://ds1.digitalenergy.online" image_name: alpine_linux_3.19.1 url: https://dl-cdn.alpinelinux.org/alpine/v3.19/releases/cloud/nocloud_alpine-3.19.1-x86_64-uefi-cloudinit-r0.qcow2 verify_ssl: false boot: mode: uefi loader_type: linux network_interface_naming: eth hot_resize: true register: osimage ``` Пример получения информации о существующем шаблонном образе по его имени. ``` - name: Get template image decort_osimage: account_Id: 12345 app_id: "{{ my_app_id }}" app_secret: "{{ my_app_secret }}" authenticator: oauth2 controller_url: "https://ds1.digitalenergy.online" image_name: alpine_linux_3.19.1 verify_ssl: false register: osimage ``` Пример создания виртуального образа. Также в случае, если виртуальный образ уже существует, но к нему привязан другой шаблонный образ, он привяжет к себе указанный в примере шаблонный образ. ``` - name: Create virtual image decort_osimage: app_id: "{{ my_app_id }}" app_secret: "{{ my_app_secret }}" authenticator: oauth2 controller_url: "https://ds1.digitalenergy.online" image_name: alpine_linux_3.19.1 virt_name: alpine_last register: osimage ``` Обратите внимание, что в данном примере можно использовать как `image_name`, так и `image_id`. Также можно использовать либо `virt_name`, либо `virt_id`. Пример переименования образа. ``` - name: Rename template image decort_osimage: app_id: "{{ my_app_id }}" app_secret: "{{ my_app_secret }}" authenticator: oauth2 controller_url: "https://ds1.digitalenergy.online" image_name: alpine_linux_3.19.1_new_name image_id: 54321 register: osimage ``` Пример удаления образа ``` - name: Delete image decort_osimage: app_id: "{{ my_app_id }}" app_secret: "{{ my_app_secret }}" authenticator: oauth2 controller_url: "https://ds1.digitalenergy.online" image_id: 54321 state: absent ```