ngine_io.cloudstack.cs_template – Управляет шаблонами на облаках, основанных на Apache CloudStack.
Примечание
Этот плагин входит в коллекцию ngine_io.cloudstack (версия 2.0.0).
Для его установки используйте: ansible-galaxy collection install ngine_io.cloudstack.
Для использования в плейбуке укажите: ngine_io.cloudstack.cs_template.
Новое в версии 0.1.0: плагина ngine_io.cloudstack
Описание
- Регистрация шаблонов по URL.
- Создание шаблонов из корневого тома остановленной ВМ или её снимка.
- Обновление, извлечение и удаление шаблонов.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться данный модуль.
- python >= 2.6
- cs >= 0.9.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account строка | Аккаунт, к которому относится шаблон, снимок или ВМ. | |
| api_http_method строка |
| HTTP-метод, используемый для запроса к API-точке входа. Если не задано, используется переменная окружения CLOUDSTACK_METHOD. |
| api_key строка / обязательно | API-ключ CloudStack API. Если не задано, используется переменная окружения CLOUDSTACK_KEY. | |
| api_secret строка / обязательно | Секретный ключ CloudStack API. Если не задано, используется переменная окружения CLOUDSTACK_SECRET. | |
| api_timeout целое число | По умолчанию: 10 | Таймаут HTTP-запроса в секундах. Если не задано, используется переменная окружения CLOUDSTACK_TIMEOUT. |
| api_url строка / обязательно | URL CloudStack API, например, https://cloud.example.com/client/api. Если не задано, используется переменная окружения CLOUDSTACK_ENDPOINT. | |
| api_verify_ssl_cert строка | Проверка сертификата CA. Если не задано, используется переменная окружения CLOUDSTACK_VERIFY. | |
| bits целое число |
64 | Поддержка 32 или 64 бит. |
| checksum строка | Значение контрольной суммы MD5 этого шаблона. Если задано, поиск выполняется по контрольной сумме вместо имени. | |
| cross_zones логическое |
| Нужно ли синхронизировать или удалять шаблон по зонам. Используется только, если state равен present или absent. |
| details строка | Детали шаблона в формате ключ/значение. | |
| display_text строка | Текст отображения шаблона. | |
| domain строка | Домен, к которому относится шаблон, снимок или ВМ. | |
| format строка |
| Формат шаблона. Учитывается только при state=present. |
| hypervisor строка | Имя гипервизора, который будет использоваться для создания нового шаблона. Актуально при использовании state=present. Возможные значения: KVM, VMware, BareMetal, XenServer, LXC, HyperV, UCS, OVM, Simulator. | |
| is_dynamically_scalable логическое |
| Зарегистрировать шаблон с установленными инструментами XS/VMware для поддержки динамического масштабирования ЦП/памяти ВМ. Используется только, если state равен present. |
| is_extractable логическое |
| Разрешить извлечение шаблона или его производных. |
| is_featured логическое |
| Зарегистрировать шаблон в качестве рекомендуемого. Используется только, если state равен present. |
| is_public логическое |
| Зарегистрировать шаблон для общего доступа всем пользователям. Используется только, если state равен present. |
| is_routing логическое |
| Устанавливает тип шаблона как маршрутизируемый (например, если шаблон используется для развертывания маршрутизаторов). Учитывается только при использовании url. |
| mode строка |
| Режим извлечения шаблона. Используется только при state=extracted. |
| name строка / обязательно | Имя шаблона. | |
| os_type строка | Тип ОС, наиболее точно представляющий ОС этого шаблона. | |
| password_enabled логическое |
| Включить поддержку сброса пароля шаблона. |
| poll_async логическое |
| Следить за асинхронными задачами до их завершения. |
| project строка | Имя проекта, в котором должен быть зарегистрирован шаблон. | |
| requires_hvm логическое |
| Требуется ли шаблон для HVM или нет. Учитывается только при создании шаблона. |
| snapshot строка | Имя снимка, созданного из корневого тома ВМ, на основе которого будет создан шаблон.
vm требуется вместе с этим аргументом. | |
| sshkey_enabled логическое |
| Истина, если шаблон поддерживает функцию загрузки ключа ssh. Учитывается только при использовании url (ограничение API). |
| state строка |
| Состояние шаблона. |
| tags список / элементы=словарь | Список тегов. Теги представляют собой список словарей с ключами key и value. Для удаления всех тегов задайте пустой список, например, tags: []. псевдонимы: тег | |
| template_filter строка |
| Название фильтра, используемого для поиска шаблона. Фильтр all был добавлен в версии 2.7. |
| template_find_options список / элементы=строка |
[] | Параметры для уникального поиска шаблона. Разрешено более одного. псевдонимы: параметр_поиска_шаблона |
| template_tag строка | Тег для этого шаблона. | |
| url строка | URL, где размещён шаблон при state=present. URL, в который будет извлечён шаблон при state=extracted. Взаимоисключающее с vm. | |
| vm строка | Имя ВМ, на основе которой будет создан шаблон из её тома или снимка. ВМ должна быть в состоянии остановки, если создаётся из её тома. Взаимоисключающее с url. | |
| zone строка | Имя зоны, из которой вы хотите зарегистрировать или удалить шаблон. Необходимо при cross_zones равен no
|
Примечания
Примечание
- Подробное руководство по модулям cloudstack можно найти в Руководстве по облакам CloudStack.
- Этот модуль поддерживает режим проверки.
Примеры
- name: register a systemvm template
ngine_io.cloudstack.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
ngine_io.cloudstack.cs_template:
name: Debian 9 (64-bit) 20GB ({{ ansible_date_time.date }})
vm: debian-9-base-vm
os_type: Debian GNU/Linux 9 (64-bit)
zone: tokio-ix
password_enabled: yes
is_public: yes
# Note: Use template_find_option(s) when a template name is not unique
- name: Create a template from a stopped virtual machine's volume
ngine_io.cloudstack.cs_template:
name: Debian 9 (64-bit)
display_text: Debian 9 (64-bit) 20GB ({{ ansible_date_time.date }})
template_find_option: display_text
vm: debian-9-base-vm
os_type: Debian GNU/Linux 9 (64-bit)
zone: tokio-ix
password_enabled: yes
is_public: yes
- name: create a template from a virtual machine's root volume snapshot
ngine_io.cloudstack.cs_template:
name: Debian 9 (64-bit) Snapshot ROOT-233_2015061509114
snapshot: ROOT-233_2015061509114
os_type: Debian GNU/Linux 9 (64-bit)
zone: tokio-ix
password_enabled: yes
is_public: yes
- name: Remove a template
ngine_io.cloudstack.cs_template:
name: systemvm-4.2
cross_zones: yes
state: absent
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| account string | успех | Аккаунт, к которому относится шаблон. Пример: example account |
| checksum string | если доступно | MD5 контрольная сумма шаблона. Пример: 0b31bccccb048d20b551f70830bb7ad0 |
| created string | успех | Дата регистрации. Пример: 2015-03-29T14:57:06+0200 |
| cross_zones boolean | если доступно | true, если шаблон управляется во всех зонах, иначе false. |
| display_text string | если доступно | Текст отображения шаблона. Пример: Debian 7.7 64-bit minimal 2015-03-19 |
| domain string | успех | Домен, к которому относится шаблон. Пример: example domain |
| format string | если доступно | Формат шаблона. Пример: OVA |
| hypervisor string | если доступно | Гипервизор, связанный с этим шаблоном. Пример: VMware |
| id string | успех | UUID шаблона или извлечённого объекта. Пример: a6f7a5fc-43f8-11e5-a151-feff819cdc9f |
| is_extractable boolean | если доступно | True, если шаблон может быть извлечён. Пример: True |
| is_featured boolean | если доступно | True, если шаблон выделен. Пример: True |
| is_public boolean | если доступно | True, если шаблон публичный. Пример: True |
| is_ready boolean | если доступно | True, если шаблон готов к развертыванию. Пример: True |
| mode string | в состоянии state=extracted | Режим извлечения Пример: http_download |
| name string | успех | Имя шаблона или извлечённого объекта. Пример: Debian 7 64-bit |
| os_type string | если доступно | Тип ОС. Пример: CentOS 6.5 (64-bit) |
| password_enabled boolean | если доступно | True, если функция сброса пароля включена, иначе false. |
| project string | успех | Название проекта, к которому относится шаблон. Пример: Production |
| sshkey_enabled boolean | если доступно | true, если шаблон поддерживает ssh-ключ, иначе false. |
| state string | в состоянии state=extracted | Состояние извлечённого шаблона Пример: DOWNLOAD_URL_CREATED |
| status string | успех | Состояние шаблона или извлеченного объекта. Пример: Загрузка завершена |
| tags list / elements=string | если доступно | Список тегов ресурсов, связанных с шаблоном. Пример: [ { "key": "foo", "value": "bar" } ] |
| template_tag string | если доступно | Тег шаблона, связанный с этим шаблоном. Пример: special |
| template_type string | если доступно | Тип шаблона. Пример: USER |
| url string | в состоянии state=extracted | URL, на который извлечён шаблон Пример: http://1.2.3.4/userdata/eb307f13-4aca-45e8-b157-a414a14e6b04.ova |
| zone string | успех | Имя зоны, в которой зарегистрирован шаблон. Пример: zuerich |
Авторы
- René Moser (@resmo)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ngine_io/cloudstack/cs_template_module.html