ngine_io.cloudstack.cs_template – Управляет шаблонами на основе Apache CloudStack.
Примечание
Этот плагин входит в состав коллекции ngine_io.cloudstack (версия 1.1.0).
Для его установки используйте: ansible-galaxy collection install ngine_io.cloudstack.
Для использования в playbook, укажите: 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.В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. Значение по умолчанию — get, если не указано. |
| api_key строка | API-ключ API CloudStack. Если не указано, используется переменная среды CLOUDSTACK_KEY.В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. | |
| api_region строка | Значение по умолчанию: "cloudstack" | Имя раздела ini в файле cloustack.ini.Если не указано, используется переменная среды CLOUDSTACK_REGION. |
| api_secret строка | Секретный ключ API CloudStack. Если не задано, используется переменная среды CLOUDSTACK_SECRET.В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. | |
| api_timeout целое число | Таймаут HTTP в секундах. Если не указано, используется переменная среды CLOUDSTACK_TIMEOUT.В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. Значение по умолчанию — 10 секунд, если не указано. | |
| api_url строка | URL API CloudStack, например, https://cloud.example.com/client/api. Если не указано, используется переменная среды CLOUDSTACK_ENDPOINT.В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. | |
| api_verify_ssl_cert строка | Файл сертификата CA-авторитета. Если не указано, используется переменная среды CLOUDSTACK_VERIFY.В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. Значение по умолчанию — null, если не указано. | |
| bits целое число |
64 | Поддержка 32 или 64 бит. |
| checksum строка | Значение контрольной суммы MD5 этого шаблона. Если задано, поиск ведётся по контрольной сумме вместо имени. | |
| cross_zones логический тип |
| Указывает, должен ли шаблон синхронизироваться или удаляться между зонами. Используется только если состояние равно present или absent. |
| details строка | Детали шаблона в формате ключ/значение. | |
| display_text строка | Текст для отображения шаблона. | |
| domain строка | Домен, к которому относится шаблон, снимок или виртуальная машина. | |
| format строка |
| Формат шаблона. Учитывается только если состояние=присутствует. |
| hypervisor строка | Имя гипервизора, который будет использоваться для создания нового шаблона. Актуально при использовании состояние=присутствует. Возможные значения: KVM, VMware, BareMetal, XenServer, LXC, HyperV, UCS, OVM, Simulator. | |
| is_dynamically_scalable логический тип |
| Зарегистрировать шаблон с установленным XS/VMware tools для поддержки динамического масштабирования ЦП/памяти виртуальной машины. Используется только если состояние равно present. |
| is_extractable логический тип |
| Разрешает извлечение шаблона или его производных. |
| is_featured логический тип |
| Зарегистрировать шаблон для отображения. Используется только если состояние равно present. |
| is_public логический тип |
| Зарегистрировать шаблон как общедоступный для всех пользователей. Используется только если состояние равно present. |
| is_routing логический тип |
| Устанавливает тип шаблона как маршрутизируемый, т.е. если шаблон используется для развертывания маршрутизаторов. Учитывается только если используется url. |
| mode строка |
| Режим извлечения шаблона. Используется только если состояние=извлечено. |
| name строка / обязательно | Имя шаблона. | |
| os_type строка | Тип ОС, наилучшим образом представляющий ОС этого шаблона. | |
| password_enabled логический тип |
| Включить поддержку сброса пароля шаблона. |
| poll_async логический тип |
| Проверить асинхронные задачи до завершения. |
| project строка | Имя проекта, в котором будет зарегистрирован шаблон. | |
| requires_hvm логический тип |
| Требуется ли шаблон HVM. Учитывается только при создании шаблона. |
| snapshot строка | Имя снимка, созданного из корневого тома виртуальной машины, из которого будет создан шаблон.
vm требуется вместе с этим аргументом. | |
| sshkey_enabled логический тип |
| Истина, если шаблон поддерживает функцию загрузки sshkey. Учитывается только если используется url (ограничение API). |
| state строка |
| Состояние шаблона. |
| tags список / элементы=словарь | Список тегов. Теги представляют собой список словарей, содержащих ключи ключ и значение. Чтобы удалить все теги, задайте пустой список, например, теги: []. псевдонимы: тег | |
| template_filter строка |
| Имя фильтра, используемого для поиска шаблона. Фильтр all был добавлен в версии 2.7. |
| template_find_options список / элементы=строка |
[] | Параметры для уникального поиска шаблона. Разрешено несколько. псевдонимы: параметр_поиска_шаблона |
| template_tag строка | Тег для этого шаблона. | |
| url строка | URL, где размещён шаблон при состояние=присутствует. URL, на который будет извлечён шаблон при состояние=извлечён. Взаимоисключительно с 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
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 строка | успех | Аккаунт, к которому относится шаблон. Пример: пример аккаунта |
| 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 строка | успех | Домен, к которому относится шаблон. Пример: пример домена |
| 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 строка | при state=extracted | Режим извлечения Пример: http_download |
| name строка | успех | Имя шаблона или извлеченного объекта. Пример: Debian 7 64-bit |
| os_type строка | если доступно | Тип ОС. Пример: CentOS 6.5 (64-bit) |
| password_enabled логическое | если доступно | True, если функция сброса пароля включена, иначе false. |
| project строка | успех | Имя проекта, к которому относится шаблон. Пример: Производство |
| sshkey_enabled логическое | если доступно | true, если шаблон поддерживает ssh-ключ, иначе false. |
| state строка | при state=extracted | Состояние извлеченного шаблона Пример: DOWNLOAD_URL_CREATED |
| status строка | успех | Статус шаблона или извлеченного объекта. Пример: Загрузка завершена |
| tags список / элементы=строка | если доступно | Список тегов ресурсов, связанных с шаблоном. Пример: [ { "key": "foo", "value": "bar" } ] |
| template_tag строка | если доступно | Тег шаблона, связанный с этим шаблоном. Пример: special |
| template_type строка | если доступно | Тип шаблона. Пример: USER |
| url строка | при state=extracted | URL, по которому шаблон извлекается Пример: http://1.2.3.4/userdata/eb307f13-4aca-45e8-b157-a414a14e6b04.ova |
| zone строка | успех | Имя зоны, в которой зарегистрирован шаблон. Пример: zuerich |
Авторы
- 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.10/collections/ngine_io/cloudstack/cs_template_module.html