# Модуль decort_osimage ## Обзор модуля decort_osimage Модуль decort_osimage предназначен для выполнения следующих действий над образами, созданными в облачной платформе DECORT: - шаблонные образы: - создать - получить информацию - изменить имя - удалить - виртуальные образы - создать - получить информацию - изменить - имя - целевой образ ## Параметры модуля decort_osimage Ниже приведен полный список параметров для модуля decort_osimage. | Параметр | Тип, допустимые значения | Описание | | ------ | ------ | ------ | | account_Id | (int) | Уникальный целочисленный идентификатор аккаунта. Используется для поиска образов, а тажке для их создания. | | account_name | (string) | Имя аккаунта. Используется для получения уникального целочисленного идентификатора аккаунта. | | app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_APP_ID`. | | app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения `DECORT_APP_SECRET`. | | authenticator | (str)
Значения:
`oauth2`
`jwt` | Режим аутентификации при подключении к контроллеру облачной платформы DECORT. Обязательный параметр. | | boottype | (string)
Default: `uefi` | Тип загрузки образа. Используется при создании образа.| | controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT, в рамках которого должен быть создан (или уже существует) образ. Данный параметр является обязательным. | | drivers | (string)
Default: `KVM_X86` | Тип виртуальных машин, подходящих для образа. Используется при создании образа.| | hotresize | (bool)
Default: `false` | Поддерживает ли образ "горячее" изменение размера. По умолчанию установлено `false`. Используется при создании образа операционной системы. | | image_id | (int) | Идентификатор шаблонного образа. | image_name | (str) | Имя шаблонного образа. | image_password | (string) | Опциональный пароль для образа. Используется при создании образа.| | image_username | (string) | Опциональное имя пользователя для образа. Используется при создании образа. | | imagetype | (string)
Default: `linux` | Тип образа. Используется при создании образа.| | jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt`. Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения `DECORT_JWT`.| | oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_OAUTH2_URL`. | | 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-адреса. Используется при создании образа. | | verify_ssl | (bool)
Default: `true` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. | | virt_id | (integer) | Уникальный целочисленный идентификатор виртуального образа. Может использоваться для получения информации о виртуальном образе, а также для привязки к нему другого образа.| | virt_name | (string) | Имя виртуального образа. Используется для получения `virt_id`, а в последствии информации о виртуальном образе, а также для создания виртуального образа и привязки к нему другого образа.| ## Возвращаемые значения модуля decort_osimage Модуль decort_osimage возвращает информацию об образе в виде словаря facts со следующими ключами: | Ключ | Тип данных | Описание | | ------ | ------ | ------ | | accountId | int | Идентификатор аккаунта. | id | int | Уникальный целочисленный идентификатор данного образа. | | linkto | int | Уникальный целочисленный идентификатор образа, который привязан к данному виртуальному. | | name | string | Имя образа. | | 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 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 ```