cs_template — Управляет шаблонами в облаках на базе Apache CloudStack.
Новое в версии 2.0.
Обзор
- Регистрация шаблона по URL, создание шаблона из корневого тома остановленной ВМ или её моментальной копии, извлечение и удаление шаблонов.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- cs >= 0.6.10
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account | Аккаунт, к которому относится шаблон, моментальная копия или ВМ. | |
| api_http_method |
| HTTP-метод, используемый для запроса к API-точке. Если не указано, используется значение переменной среды CLOUDSTACK_METHOD. В качестве последнего варианта, значение берётся из конфигурационного файла ini, см. также примечания. Значение по умолчанию — get, если не указано. |
| api_key | API-ключ CloudStack API. Если не указано, используется значение переменной среды CLOUDSTACK_KEY. В качестве последнего варианта, значение берётся из конфигурационного файла ini, см. также примечания. | |
| api_region | По умолчанию: cloudstack | Имя раздела ini в файле cloustack.ini. Если не указано, используется значение переменной среды CLOUDSTACK_REGION. |
| api_secret | Секретный ключ CloudStack API. Если не задано, используется значение переменной среды CLOUDSTACK_SECRET. В качестве последнего варианта, значение берётся из конфигурационного файла ini, см. также примечания. | |
| api_timeout | Таймаут HTTP-запроса в секундах. Если не указано, используется значение переменной среды CLOUDSTACK_TIMEOUT. В качестве последнего варианта, значение берётся из конфигурационного файла ini, см. также примечания. Значение по умолчанию — 10 секунд, если не указано. | |
| api_url | URL CloudStack API, например, https://cloud.example.com/client/api. Если не указано, используется значение переменной среды CLOUDSTACK_ENDPOINT. В качестве последнего варианта, значение берётся из конфигурационного файла ini, см. также примечания. | |
| bits | По умолчанию: 64 | Поддержка 32 или 64 бит. |
| checksum | По умолчанию: no | Значение контрольной суммы MD5 этого шаблона. Если установлено, поиск производится по контрольной сумме вместо имени. |
| cross_zones | По умолчанию: no | Синхронизировать или удалить шаблон в зонах. Используется только, если state есть или отсутствует. |
| details | Детали шаблона в формате ключ/значение. | |
| display_text | Текст для отображения шаблона. | |
| domain | Домен, к которому относится шаблон, моментальная копия или ВМ. | |
| format |
| Формат шаблона. Актуально при использовании state=present. |
| hypervisor |
| Имя гипервизора, используемого для создания нового шаблона. Актуально при использовании state=present. |
| is_dynamically_scalable | По умолчанию: no | Зарегистрировать шаблон с установленными инструментами XS/VMWare для поддержки динамического масштабирования ЦП/памяти ВМ. Используется только, если state есть. |
| is_extractable | По умолчанию: no | Истина, если шаблон или его производные могут быть извлечены. |
| is_featured | По умолчанию: no | Зарегистрировать шаблон для показа. Используется только, если state есть. |
| is_public | По умолчанию: no | Зарегистрировать шаблон, чтобы он был доступен всем пользователям. Используется только, если state есть. |
| is_ready | По умолчанию: no | Этот флаг используется для поиска существующих шаблонов. Если установлено значение true, будут отображаться только шаблоны, готовые к развертыванию, например, успешно загруженные и установленные.Рекомендуется установить значение false. |
| is_routing | Истина, если тип шаблона — маршрутизация, то есть, если шаблон используется для развертывания маршрутизатора. Учитывается только, если используется url. | |
| mode |
| Режим извлечения шаблона. Используется только, если state=extracted. |
| name обязательно | Имя шаблона. | |
| os_type | Тип ОС, который лучше всего отражает ОС этого шаблона. | |
| password_enabled | По умолчанию: no | Истина, если шаблон поддерживает функцию сброса пароля. |
| poll_async | По умолчанию: yes | Ожидать завершения асинхронных заданий. |
| project | Имя проекта, в котором должен быть зарегистрирован шаблон. | |
| requires_hvm | По умолчанию: no | Истина, если этот шаблон требует HVM. |
| snapshot | Имя моментальной копии, созданной из корневого тома ВМ, из которого будет создан шаблон.
Требуется vm, вместе с этим аргументом. | |
| sshkey_enabled | По умолчанию: no | Истина, если шаблон поддерживает функцию загрузки ssh-ключа. |
| state |
| Состояние шаблона. |
| tags (добавлен в 2.4) | Список тегов. Теги — список словарей с ключами key и value. Для удаления всех тегов установите пустой список, например, tags: []. псевдонимы: tag | |
| template_filter |
| Имя фильтра, используемого для поиска шаблона. |
| template_tag | тег для этого шаблона. | |
| url | URL, где размещён шаблон на state=present. URL, на который будет извлечён шаблон на state=extracted. Взаимоисключающее с vm. | |
| vm | Имя ВМ, шаблон будет создан из её тома или, альтернативно, из моментальной копии. ВМ должна быть остановлена, если шаблон создаётся из её тома. Взаимоисключающее с url. | |
| zone | Имя зоны, в которой вы хотите зарегистрировать или удалить шаблон. Если не указано, используется первая найденная зона. |
Примечания
Примечание
- Ansible использует метод конфигурации библиотеки
cs, если учётные данные не предоставлены аргументамиapi_url,api_key,api_secret. Конфигурация считывается из нескольких мест в следующем порядке:CLOUDSTACK_ENDPOINT,CLOUDSTACK_KEY,CLOUDSTACK_SECRETиCLOUDSTACK_METHOD. Переменные средыCLOUDSTACK_TIMEOUT. Переменная средыCLOUDSTACK_CONFIG, указывающая на файл.ini. Файлcloudstack.iniв текущем каталоге. Файл.cloudstack.iniв домашнем каталоге пользователя. Допускается указание нескольких учётных данных и конечных точек с использованием разделов ini вcloudstack.ini. Используйте аргументapi_regionдля выбора имени раздела, раздел по умолчанию —cloudstack. Подробнее см. https://github.com/exoscale/cs. - Подробное руководство по модулям cloudstack можно найти в Руководстве по облаку CloudStack.
- Этот модуль поддерживает режим проверки.
Примеры
- name: register a systemvm template
local_action:
module: cs_template
name: systemvm-vmware-4.5
url: "http://packages.shapeblue.com/systemvmtemplate/4.5/systemvm64template-4.5-vmware.ova"
hypervisor: VMware
format: OVA
cross_zones: yes
os_type: Debian GNU/Linux 7(64-bit)
- name: create a template from a stopped virtual machine's volume
local_action:
module: cs_template
name: debian-base-template
vm: debian-base-vm
os_type: Debian GNU/Linux 7(64-bit)
zone: tokio-ix
password_enabled: yes
is_public: yes
- name: create a template from a virtual machine's root volume snapshot
local_action:
module: cs_template
name: debian-base-template
vm: debian-base-vm
snapshot: ROOT-233_2015061509114
os_type: Debian GNU/Linux 7(64-bit)
zone: tokio-ix
password_enabled: yes
is_public: yes
- name: Remove a template
local_action:
module: cs_template
name: systemvm-4.2
cross_zones: yes
state: absent
Значения возврата
Общие значения возврата документированы здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращённое значение | Описание |
|---|---|---|
| account строка | успех | Аккаунт, к которому относится шаблон. Пример: example account |
| checksum строка | успех | MD5 контрольная сумма шаблона. Пример: 0b31bccccb048d20b551f70830bb7ad0 |
| created строка | успех | Дата регистрации. Пример: 2015-03-29T14:57:06+0200 |
| cross_zones булево | успех | true, если шаблон управляется во всех зонах, иначе false. |
| display_text строка | успех | Текст для отображения шаблона. Пример: Debian 7.7 64-bit minimal 2015-03-19 |
| domain строка | успех | Домен, к которому относится шаблон. Пример: example domain |
| format строка | успех | Формат шаблона. Пример: OVA |
| hypervisor строка | успех | Гипервизор, связанный с этим шаблоном. Пример: VMware |
| id строка | успех | UUID шаблона. Пример: a6f7a5fc-43f8-11e5-a151-feff819cdc9f |
| is_extractable булево | успех | True, если шаблон может быть извлечен. Пример: True |
| is_featured булево | успех | True, если шаблон выделен. Пример: True |
| is_public булево | успех | True, если шаблон общедоступен. Пример: True |
| is_ready булево | успех | True, если шаблон готов к развертыванию. Пример: True |
| mode строка | успех | Режим извлечения Пример: http_download |
| name строка | успех | Название шаблона. Пример: Debian 7 64-bit |
| os_type строка | успех | Тип ОС. Пример: CentOS 6.5 (64-bit) |
| password_enabled булево | успех | True, если функция сброса пароля включена, иначе false. |
| project строка | успех | Название проекта, к которому относится шаблон. Пример: Production |
| sshkey_enabled булево | успех | true, если для шаблона включены ssh-ключи, иначе false. |
| state строка | успех | Состояние извлечённого шаблона Пример: DOWNLOAD_URL_CREATED |
| status строка | успех | Состояние шаблона. Пример: Загрузка завершена |
| tags словарь | успех | Список тегов ресурсов, связанных с шаблоном. Пример: [ { "key": "foo", "value": "bar" } ] |
| template_tag строка | успех | Тег шаблона, связанный с этим шаблоном. Пример: special |
| template_type строка | успех | Тип шаблона. Пример: USER |
| url строка | успех | URL, по которому извлекается шаблон Пример: http://1.2.3.4/userdata/eb307f13-4aca-45e8-b157-a414a14e6b04.ova |
| zone строка | успех | Имя зоны, в которой зарегистрирован шаблон. Пример: zuerich |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые со старыми версиями изменения в интерфейс.
Автор
- René Moser (@resmo)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/cs_template_module.html